makes other vis now too

This commit is contained in:
Peter Cottle 2013-05-26 15:18:36 -07:00
parent 9173e75c1a
commit 29d401e701
4 changed files with 147 additions and 18 deletions

View file

@ -18,6 +18,7 @@ var VisEdgeCollection = require('../visuals/visEdge').VisEdgeCollection;
function GitVisuals(options) {
options = options || {};
this.options = options;
this.visualization = options.visualization;
this.commitCollection = options.commitCollection;
this.branchCollection = options.branchCollection;
this.visNodeMap = {};
@ -91,6 +92,10 @@ GitVisuals.prototype.assignGitEngine = function(gitEngine) {
this.deferFlush();
};
GitVisuals.prototype.getVisualization = function() {
return this.visualization;
};
GitVisuals.prototype.initHeadBranch = function() {
// it's unfortaunte we have to do this, but the head branch
// is an edge case because it's not part of a collection so

View file

@ -49,7 +49,8 @@ var Visualization = Backbone.View.extend({
branchCollection: this.branchCollection,
paper: this.paper,
noClick: this.options.noClick,
smallCanvas: this.options.smallCanvas
smallCanvas: this.options.smallCanvas,
visualization: this
});
var GitEngine = require('../git').GitEngine;
@ -85,6 +86,24 @@ var Visualization = Backbone.View.extend({
this.customEvents.trigger('paperReady');
},
makeOrigin: function(options) {
// oh god, here we go. We basically do a bizarre form of composition here,
// where this visualization actually contains another one of itself.
this.originVis = new Visualization(_.extend(
{},
// copy all of our options over, except...
this.options,
{
// never accept keyboard input or clicks
noKeyboardInput: true,
noClick: true,
treeString: JSON.stringify(options.tree)
}
));
// return the newly created gitEngine
return this.originVis.gitEngine;
},
setTreeIndex: function(level) {
$(this.paper.canvas).css('z-index', level);
},