Skip to content

Instantly share code, notes, and snippets.

@nucleartide
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nucleartide/0107462bc595e5a3d330 to your computer and use it in GitHub Desktop.
Save nucleartide/0107462bc595e5a3d330 to your computer and use it in GitHub Desktop.
Loading subapps based on user configuration in an app based on thejameskyle's marionette-wires
require('./plugins');
var Backbone = require('backbone');
var Application = require('./application/application');
var ModalService = require('./modal/service');
var HeaderService = require('mm-header');
var IndexRouter = require('./index/router');
var AvailsRouter = require('./avails/router');
var UserService = require('./user-service');
var app = new Application();
ModalService.setup({ container: app.layout.overlay });
HeaderService.setup({ container: app.layout.header });
UserService.get().then(function(config) {
//
// For example, `config` would be
//
// {
// "subapps": ['deals', 'report-builder', 'operator', 'user-admin']
// }
//
var subapps = config.subapps;
_.each(subapps, function(subapp) {
var SubappRouter = require('./' + subapp + '/router');
app[subapp] = new SubappRouter({ container: app.layout.content });
});
});
Backbone.history.start();
require('./plugins');
var Backbone = require('backbone');
var Application = require('./application/application');
var ModalService = require('./modal/service');
var HeaderService = require('mm-header');
var IndexRouter = require('./index/router');
var AvailsRouter = require('./avails/router');
var app = new Application();
ModalService.setup({ container: app.layout.overlay });
HeaderService.setup({ container: app.layout.header });
app.index = new IndexRouter({ container: app.layout.content });
app.frogs = new AvailsRouter({ container: app.layout.content });
Backbone.history.start();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment