From 2078bfa96afaef40acb4edac99848ba55e808ef1 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 3 May 2012 15:15:21 -0700 Subject: Refactor creating elements. Removed makeNJElement and separated the model creation Signed-off-by: Valerio Virgillito --- js/models/element-model.js | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'js/models/element-model.js') diff --git a/js/models/element-model.js b/js/models/element-model.js index 72d61806..966158e4 100755 --- a/js/models/element-model.js +++ b/js/models/element-model.js @@ -32,24 +32,38 @@ exports.ElementModel = Montage.create(Montage, { shapeModel: { value: null }, isIn2DSnapCache : { value: false }, + isComponent: { value: false }, + fill: { value: null }, stroke: { value: null }, initialize: { - value: function(el, isShape) { + value: function(el, isShape, selection, isComponent) { var elementName, controller; elementName = el.nodeName.toLowerCase(); - controller = this.elementNameToController(elementName); this.type = el.nodeName; - this.selection = elementName; - this.controller = ControllerFactory.getController(controller); - this.pi = this.elementNameToPi(elementName); + this.selection = selection ? selection : elementName; + + if(isComponent) { + controller = "component"; + this.pi = this.elementNameToPi(selection.replace(/\s+/g, '')); + this.isComponent = true; + } else { + controller = this.elementNameToController(elementName); + this.pi = this.elementNameToPi(elementName); + } + this.props3D = Montage.create(Properties3D); - //shapeModel: { value: shapeProps}, -// isShape: { value: isShape} + if(isShape) { + this.controller = ControllerFactory.getController("shape"); + this.shapeModel = Montage.create(ShapeModel); + this.isShape = true; + } else { + this.controller = ControllerFactory.getController(controller); + } return this; -- cgit v1.2.3