Skip to content

Bootstraped Admin GUI addon for mongoose, jugglingdb, or just as a form generator

License

Notifications You must be signed in to change notification settings

leonardoalifraco/formage

This branch is 37 commits ahead of, 263 commits behind node4good/formage:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0181d3b · Feb 26, 2014
Feb 12, 2014
Feb 24, 2014
Jan 20, 2014
Feb 24, 2014
Feb 24, 2014
Jan 22, 2014
Jan 20, 2014
Nov 25, 2013
Nov 1, 2013
Jan 22, 2014
Jan 21, 2014
Jan 21, 2014
Jan 22, 2014
Jan 20, 2014
Dec 4, 2013
Aug 7, 2013
Feb 26, 2014
Jan 22, 2014
Feb 24, 2014

Repository files navigation

Formage

Bootstraped Admin GUI addon for Mongoose, JugglingDB, or just as a form generator. Originally forked from mongoose-admin.

Build Status

Example Usage

var express = require('express'),
    app = express();

require('formage').init(app, express, models]);

Look at the \example directory.

Options

// Site-wide options, and their default values
require('formage').init(app, express, models, {
    title: 'Admin',
    root: '/admin',
    default_section: 'main',
    username: 'admin',
    password: 'admin',
    admin_users_gui: true
});

Model options

var model = new mongoose.model('songs', schema);

// external files specific to this model
model.header_lines = [
   '<script src="/js/songs.js"></script>',
   '<style href="/css/songs.css"></style>'
];

model.formage = {
    // one-document models
    is_single: true,

    // labels
    label: 'My Songs',
    singular: 'Song',

    filters: ['artist', 'year'],

    // additional actions on this model
    actions: [
       {
          id: 'release',
          label: 'Release',
          func: function (user, ids, callback) {
             console.log('You just released songs ' + ids);
             callback();
          }
       }
    ],

    // list of fields to be displayed by formage for this model
    list: ['number', 'title', 'album', 'artist', 'year'],
    
    // order documents, save order in this field (type: Number)
    sortable: 'order',

    // list of order fields
    order_by: ['-year', 'album', 'number'],

    // list of fields that must be populated
    // (see http://mongoosejs.com/docs/api.html#document_Document-populate)
    list_populate: ['album'],

    // list of fields on which full-text search is available
    search: ['title', 'album', 'artist']
};

Fields

Formage comes with the following built-in fields, but custom fields can be written if needed.

You can pass options to the underlying fields and widgets:

var schema = new mongoose.Schema({
    artist: { type: String, label: 'Who made it?' },
    location: { type: Schema.Types.GeoPoint, widget_options: { lang: 'nl' }}
});

(The map widget lang setting is a two-letter ISO 639-1 code.)

Hmm

License

MIT

Sponsor

Bitdeli Badge githalytics.com alpha

About

Bootstraped Admin GUI addon for mongoose, jugglingdb, or just as a form generator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.1%
  • CSS 2.9%