0.2.7 • Published 9 years ago

mithril-admin v0.2.7

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

Build Status Join the chat at https://gitter.im/kopa-app/mithril-admin

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
0.2.7

9 years ago

0.2.6

9 years ago

0.2.5

9 years ago

0.2.4

9 years ago

0.2.2

9 years ago

0.2.1

9 years ago

0.2.0

10 years ago

0.1.6

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago