mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-27 08:28:50 +02:00
multiveiw work
This commit is contained in:
parent
4eeedfc137
commit
cb0a492da6
6 changed files with 185 additions and 8 deletions
|
@ -1,14 +1,59 @@
|
|||
var GitError = require('../util/errors').GitError;
|
||||
var _ = require('underscore');
|
||||
var Backbone = require('backbone');
|
||||
var Q = require('q');
|
||||
// horrible hack to get localStorage Backbone plugin
|
||||
var Backbone = (!require('../util').isBrowser()) ? require('backbone') : window.Backbone;
|
||||
|
||||
var ModalTerminal = require('../views').ModalTerminal;
|
||||
var ContainedBase = require('../views').ContainedBase;
|
||||
var ConfirmCancelView = require('../views').ConfirmCancelView;
|
||||
var LeftRightView = require('../views').LeftRightView;
|
||||
var ModalAlert = require('../views').ModalAlert;
|
||||
|
||||
var MultiView = Backbone.View.extend({
|
||||
tagName: 'div',
|
||||
className: 'multiView',
|
||||
typeToConstructor: {
|
||||
ModalAlert: ModalAlert
|
||||
},
|
||||
initialize: function(options) {
|
||||
options = options || {};
|
||||
if (!options.childViews) {
|
||||
options.childViews = [{
|
||||
type: 'ModalAlert',
|
||||
options: {
|
||||
markdown: 'Woah wtf!!'
|
||||
}
|
||||
}, {
|
||||
type: 'ModalAlert',
|
||||
options: {
|
||||
markdown: 'Im second'
|
||||
}
|
||||
}];
|
||||
}
|
||||
this.childViewJSONs = options.childViews;
|
||||
this.childViews = [];
|
||||
this.render();
|
||||
},
|
||||
|
||||
createChildView: function(viewJSON) {
|
||||
var type = viewJSON.type;
|
||||
if (!this.typeToConstructor[type]) {
|
||||
throw new Error('wut');
|
||||
}
|
||||
var view = new this.typeToConstructor[type](viewJSON.options);
|
||||
this.childViews.push(view);
|
||||
view.show();
|
||||
},
|
||||
|
||||
render: function() {
|
||||
// go through each and render... show the first
|
||||
_.each(this.childViewJSONs, function(childView) {
|
||||
this.createChildView(childView);
|
||||
}, this);
|
||||
}
|
||||
});
|
||||
|
||||
exports.MultiView = MultiView;
|
||||
|
||||
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue