Miss any of our Open RFC calls?Watch the recordings here! »

schemaui

1.2.0 • Public • Published

Schema UI

NPM version Build Status codecov.io

Turn every mongoose schema, into a shiny, slick, good looking UI, that will help you manage fully CRUD operations to your registered models.

Installation

Just import SchemaUI package, register your models, and

Schema UI code

SchemaUI should be installed with few little steps:

  1. Import Schema UI
const SchemaUI = require('schemaui');
  1. Initialize Schema UI with options (TBD)
SchemaUI.init({});
  1. Register your model
SchemaUI.registerModel(YOUR_MODEL);
  1. Connect the middleware to your app
app.use('/schemaui', SchemaUI.middleware());

The result

Intuitive, responsive, generic CRM dashboard, that created to help you manage your models

SchemaUI Dashboard

Documentation

SchemaUI.init([options])

options (optional) - global options for SchemaUI instance (TBD)

SchemaUI.registerModel(Model, [options])

this method should be called multiple times, for every model that you wish to include in the admin UI

Model - A single mongoose model you wish to include in the generated UI

options (optional) - An object with properties, that define set of options per single model (collection)

Property Type Description
listFields String[] (optional) array of strings that defines which fields to display per item in the items view
fields Object (optional) define properties that exist in the schema for custom options per field
permissions Object (optional) set of permissions (read,create,edit,delete) with Boolean values.

Example

SchemaUI.registerModel(Image, {
    listFields: ['title', 'type', 'isActive'], // fields that present before expanding
    fields: { // define explicit options per field
        'description': {
            textarea: true // make the description field auto-expand, behave like textarea
        }
    },
    permissions: { // define permissions per model
        read: true, // readonly
        create: false,
        edit: false,
        delete: false
    }
});

SchemaUI.middleware()

Initiates express router that injects the admin UI into your existing app.

Schema UI middleware must be under /schemaui route, any other route will not be able to load SchemaUI's admin panel

Demo

Live demo & source code can be found here

Install

npm i schemaui

DownloadsWeekly Downloads

407

Version

1.2.0

License

MIT

Unpacked Size

1.29 MB

Total Files

22

Last publish

Collaborators

  • avatar