Beaware: This hook is still in a very early stage and not in a very active development.
The objective of this sails hook is to provide an easy way to create a simple CMS for your model's collections.
The hook reads the models schema to build simple CRUD operations and UI CMS.
Install using npm i sails-hook-cms
and then navigate to http://localhost:1337/admin
This hooks introduces a couple of routes to your application.
http://localhost:1337/admin
or homehttp://localhost:1337/admin/:model
A list of itemshttp://localhost:1337/admin/:model/create
The form to create a new itemhttp://localhost:1337/admin/:model/edit/:modelId
The form to edit an item
I want this hook to work as plug and play. However if you want more control over the CMS I want to be able to provide those configurations to set things up.
I decided not to make a config/cms.js
file yet since I think the model declaration could serve better for grain control configuraitons.
Having for example a model Book. We can start to modify how its /admin/:model
list view renders.
In this case we have overrided the model.name with a label Libro and removed the createdAt and updatedAt fields.
module.exports = {
//Setting this variable will tell the hook how to render
cms: {
//You can override the model name with label
label: "Libro",
//Sometimes you dont want to put your createdAt and updatedAt
//so we toggle them in the list view
createdAt:false,
updatedAt:false,
id:true
},
attributes: {
name: 'string',
description: 'text',
danum: 'integer',
dafloat: 'float',
dadate: 'date',
dadatetime: 'datetime',
dabool: 'boolean',
darray: 'array',
dajson: 'json'
}
};
I would like to have a minimal API but still have a decent flexibility.
Any suggestions are welcome on the issues page or in the gitter chat room.