Skip to content

digideskio/mithril-admin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Mithril.js based admin interface for RestFull web-services.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 90.5%
  • CSS 8.0%
  • HTML 1.5%