mithril-admin
v0.2.7
Published
Mithril.js based admin interface for RestFull web-services.
Downloads
26
Maintainers
Readme
Mithril-Admin
An automatic Admin Interface for your RestFull web-service using mithril.js.
Installation
$ npm install kopa-app/mithril-admin
Run example
$ npm start
This will start an example app at http://localhost:4000.
Views it's source in the /example folder.
Checkout the full documentation or read below for a simple example.
Integrate in your (mithril) app
var admin = require('mithril-admin');
var app = admin({
basePath: '/admin', // default = '' base path for the router
restUrl: 'http://jsonplaceholder.typicode.com' // default = '/' base URL to your RestFul web-service
factory: function (resourceType, data) {
// return resource instance filled with data
// data may be undefined, then it is a new resource instance
// in our example it just passed data down
return data || {};
},
load: function (resource, query) {
// override load method here
// or reuse existing
return app.resource.load(resource, query);
}
});
app
.resource('Post', {
fields: {
title: { component: 'text', required: true },
body: { component: 'textarea', required: true },
userId: { component: 'relation', resource: 'User', relationType: 'belongsTo' }
},
listFields: ['title']
})
.resource('Comment', {
listFields: ['name']
})
.resource('User', {
fields: {
name: { component: 'text', required: true },
username: { component: 'text', required: true },
email: { component: 'email', required: true, validate: isEmail },
address: {
component: 'group',
fields: {
street: { component: 'text' },
// ...
}
}
},
listFields: ['name', 'email']
});
// mount into an existing DOM element
app.mount(document.getElementById('app'));
// or retrieve mithril routes you can use in m.route()
var routes = app.routes();
Hacking
Run tests
$ npm test