From 0e221e80eb41bbe770c195838373b9e27de54c7a Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Tue, 6 Mar 2012 16:11:52 -0800 Subject: IKNINJA-1207: added check for design view to fix js error Signed-off-by: Ananya Sen --- js/stage/layout.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'js/stage/layout.js') diff --git a/js/stage/layout.js b/js/stage/layout.js index de4c67c1..ab2daf9b 100755 --- a/js/stage/layout.js +++ b/js/stage/layout.js @@ -65,8 +65,9 @@ exports.Layout = Montage.create(Component, { handleOpenDocument: { value: function() { // Initial elements to draw is the entire node list - this.elementsToDraw = this.application.ninja.documentController.activeDocument._liveNodeList; - + if(typeof this.application.ninja.documentController.activeDocument._liveNodeList !== "undefined"){//only for designer view + this.elementsToDraw = this.application.ninja.documentController.activeDocument._liveNodeList; + } // Draw the elements and the 3d info this.draw(); this.draw3DInfo(false); @@ -104,8 +105,9 @@ exports.Layout = Montage.create(Component, { } // Make an array copy of the line node list which is not an array like object - this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); - + if(typeof this.application.ninja.documentController.activeDocument._liveNodeList !== "undefined"){//only for designer view + this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); + } // Clear the elements to draw this.elementsToDraw.length = 0; -- cgit v1.2.3 From 250420d8c6154172b27fe53aff30e78c227e8a67 Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Wed, 7 Mar 2012 14:26:37 -0800 Subject: minor fixes Signed-off-by: Ananya Sen --- js/stage/layout.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'js/stage/layout.js') diff --git a/js/stage/layout.js b/js/stage/layout.js index ab2daf9b..8a53a08b 100755 --- a/js/stage/layout.js +++ b/js/stage/layout.js @@ -65,7 +65,7 @@ exports.Layout = Montage.create(Component, { handleOpenDocument: { value: function() { // Initial elements to draw is the entire node list - if(typeof this.application.ninja.documentController.activeDocument._liveNodeList !== "undefined"){//only for designer view + if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view this.elementsToDraw = this.application.ninja.documentController.activeDocument._liveNodeList; } // Draw the elements and the 3d info @@ -105,7 +105,7 @@ exports.Layout = Montage.create(Component, { } // Make an array copy of the line node list which is not an array like object - if(typeof this.application.ninja.documentController.activeDocument._liveNodeList !== "undefined"){//only for designer view + if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); } // Clear the elements to draw -- cgit v1.2.3 From b4d3bf155e38e6554f05bb3cbaddd2f3bf799e90 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Tue, 13 Mar 2012 18:12:48 -0700 Subject: Fixing the layout to only draw one level and stage resize when the panels are collapsed. Fixing the following bugs: IKNINJA-1068 Signed-off-by: Valerio Virgillito --- js/stage/layout.js | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) (limited to 'js/stage/layout.js') diff --git a/js/stage/layout.js b/js/stage/layout.js index 8a53a08b..6be2df1d 100755 --- a/js/stage/layout.js +++ b/js/stage/layout.js @@ -64,31 +64,17 @@ exports.Layout = Montage.create(Component, { handleOpenDocument: { value: function() { - // Initial elements to draw is the entire node list - if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view - this.elementsToDraw = this.application.ninja.documentController.activeDocument._liveNodeList; + // Initial elements to draw are the childrens of the root element + if(this.application.ninja.documentController.activeDocument.currentView === "design") { + this.elementsToDraw = this.application.ninja.documentController.activeDocument.documentRoot.childNodes; } + // Draw the elements and the 3d info this.draw(); this.draw3DInfo(false); } }, - // No need to keep track of the added elements. We now have a live node list of the dom - handleElementAdded: { - value: function(event) { - // this.domTree.push(event.detail); - // this.draw(); - // this.draw3DInfo(false); - } - }, - - handleElementDeleted: { - value: function(event) { - //this.domTree.splice(this.domTree.indexOf(event.detail), 1); - } - }, - // Redraw stage only once after all deletion is completed handleDeleteSelection: { value: function(event) { @@ -99,14 +85,25 @@ exports.Layout = Montage.create(Component, { handleSelectionChange: { value: function(event) { + var containerIndex; if(this.application.ninja.documentController.activeDocument === null){ return; } - // Make an array copy of the line node list which is not an array like object - if(this.application.ninja.documentController.activeDocument.currentView === "design"){//only for designer view + if(this.application.ninja.documentController.activeDocument.currentView === "design"){ + // Make an array copy of the line node list which is not an array like object this.domTree = Array.prototype.slice.call(this.application.ninja.documentController.activeDocument._liveNodeList, 0); + // Index of the current container + containerIndex = this.domTree.indexOf(this.application.ninja.currentSelectedContainer); + + if(containerIndex < 0) { + // Stage is the container. + this.domTree = Array.prototype.slice.call(this.application.ninja.currentSelectedContainer.childNodes, 0); + } else { + // Child nodes of the container + this.domTree = Array.prototype.slice.call(this.domTree[containerIndex].childNodes, 0); + } } // Clear the elements to draw this.elementsToDraw.length = 0; @@ -119,10 +116,10 @@ exports.Layout = Montage.create(Component, { return (tmp.indexOf(value) === -1); }); } else { - this.elementsToDraw = this.domTree; + this.elementsToDraw = Array.prototype.slice.call(this.domTree, 0); } - this.draw(); // Not a reel yet :) + this.draw(); // Not a reel yet this.draw3DInfo(false); // Clear the domTree copy -- cgit v1.2.3