diff options
-rwxr-xr-x | js/components/layout/bread-crumb.reel/bread-crumb.js | 42 | ||||
-rwxr-xr-x | js/controllers/elements/element-controller.js | 4 | ||||
-rwxr-xr-x | js/controllers/selection-controller.js | 38 | ||||
-rwxr-xr-x | js/document/document-html.js | 6 | ||||
-rwxr-xr-x | js/document/models/base.js | 3 | ||||
-rwxr-xr-x | js/document/models/html.js | 5 | ||||
-rwxr-xr-x | js/helper-classes/3D/snap-manager.js | 6 | ||||
-rwxr-xr-x | js/lib/NJUtils.js | 4 | ||||
-rwxr-xr-x | js/ninja.reel/ninja.html | 3 | ||||
-rwxr-xr-x | js/ninja.reel/ninja.js | 20 | ||||
-rw-r--r-- | js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js | 28 | ||||
-rwxr-xr-x | js/stage/layout.js | 6 | ||||
-rwxr-xr-x | js/stage/stage.reel/stage.js | 144 | ||||
-rwxr-xr-x | js/tools/Rotate3DToolBase.js | 2 | ||||
-rwxr-xr-x | js/tools/SelectionTool.js | 4 | ||||
-rwxr-xr-x | js/tools/ShapeTool.js | 6 | ||||
-rwxr-xr-x | js/tools/TranslateObject3DTool.js | 2 |
17 files changed, 198 insertions, 125 deletions
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js index ac131f2c..260922b3 100755 --- a/js/components/layout/bread-crumb.reel/bread-crumb.js +++ b/js/components/layout/bread-crumb.reel/bread-crumb.js | |||
@@ -51,22 +51,6 @@ exports.Breadcrumb = Montage.create(Component, { | |||
51 | } | 51 | } |
52 | }, | 52 | }, |
53 | 53 | ||
54 | _container:{ | ||
55 | value:null | ||
56 | }, | ||
57 | |||
58 | container: { | ||
59 | set: function(value) { | ||
60 | if(this._container !== value) { | ||
61 | this._container = value; | ||
62 | this.createContainerElements(); | ||
63 | } | ||
64 | }, | ||
65 | get: function() { | ||
66 | return this._container; | ||
67 | } | ||
68 | }, | ||
69 | |||
70 | containerElements: { | 54 | containerElements: { |
71 | value: [] | 55 | value: [] |
72 | }, | 56 | }, |
@@ -74,31 +58,37 @@ exports.Breadcrumb = Montage.create(Component, { | |||
74 | prepareForDraw: { | 58 | prepareForDraw: { |
75 | value: function() { | 59 | value: function() { |
76 | this.breadcrumbBt.addEventListener("action", this, false); | 60 | this.breadcrumbBt.addEventListener("action", this, false); |
61 | this.addPropertyChangeListener("currentDocument.model.domContainer", this) | ||
77 | } | 62 | } |
78 | }, | 63 | }, |
79 | 64 | ||
80 | createContainerElements: { | 65 | handleChange: { |
81 | value: function() { | 66 | value: function() { |
82 | var parentNode; | 67 | if(this.currentDocument && this.currentDocument.model.getProperty("domContainer")) { |
68 | this.createContainerElements(this.currentDocument.model.getProperty("domContainer")); | ||
69 | } | ||
70 | } | ||
71 | }, | ||
72 | |||
73 | createContainerElements: { | ||
74 | value: function(container) { | ||
83 | 75 | ||
84 | // delete this.containerElements; | 76 | // delete this.containerElements; |
85 | this.containerElements = []; | 77 | this.containerElements = []; |
86 | 78 | ||
87 | parentNode = this.container; | 79 | while(container !== this.currentDocument.model.documentRoot) { |
88 | 80 | this.containerElements.unshift({"node": container, "nodeUuid":container.uuid, "label": container.nodeName}); | |
89 | while(parentNode !== this.currentDocument.model.documentRoot) { | 81 | container = container.parentNode; |
90 | this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": parentNode.nodeName}); | ||
91 | parentNode = parentNode.parentNode; | ||
92 | } | 82 | } |
93 | 83 | ||
94 | // This is always the top container which is now hardcoded to body | 84 | // This is always the top container which is now hardcoded to body |
95 | this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": parentNode.nodeName}); | 85 | this.containerElements.unshift({"node": container, "nodeUuid":container.uuid, "label": container.nodeName}); |
96 | } | 86 | } |
97 | }, | 87 | }, |
98 | 88 | ||
99 | handleAction: { | 89 | handleAction: { |
100 | value: function(evt) { | 90 | value: function(evt) { |
101 | if(evt.target.value === this.container.uuid) { | 91 | if(evt.target.value === this.currentDocument.model.domContainer.uuid) { |
102 | return; | 92 | return; |
103 | } | 93 | } |
104 | 94 | ||
@@ -109,7 +99,7 @@ exports.Breadcrumb = Montage.create(Component, { | |||
109 | } | 99 | } |
110 | 100 | ||
111 | // TODO: This is bound 2 ways, update the internal property | 101 | // TODO: This is bound 2 ways, update the internal property |
112 | this.application.ninja.currentSelectedContainer = this.containerElements[i].node; | 102 | this.currentDocument.model.domContainer = this.containerElements[i].node; |
113 | } | 103 | } |
114 | } | 104 | } |
115 | }); | 105 | }); |
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js index 4a02e9a3..e40a646a 100755 --- a/js/controllers/elements/element-controller.js +++ b/js/controllers/elements/element-controller.js | |||
@@ -19,13 +19,13 @@ exports.ElementController = Montage.create(Component, { | |||
19 | var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID); | 19 | var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID); |
20 | 20 | ||
21 | if(selectedLayerIndex === 0) { | 21 | if(selectedLayerIndex === 0) { |
22 | this.application.ninja.currentSelectedContainer.appendChild(el); | 22 | this.application.ninja.currentDocument.model.domContainer.appendChild(el); |
23 | } else { | 23 | } else { |
24 | var element = this.application.ninja.timeline.arrLayers[selectedLayerIndex].layerData.elementsList[0]; | 24 | var element = this.application.ninja.timeline.arrLayers[selectedLayerIndex].layerData.elementsList[0]; |
25 | element.parentNode.insertBefore(el, element.nextSibling); | 25 | element.parentNode.insertBefore(el, element.nextSibling); |
26 | } | 26 | } |
27 | } else { | 27 | } else { |
28 | this.application.ninja.currentSelectedContainer.appendChild(el); | 28 | this.application.ninja.currentDocument.model.domContainer.appendChild(el); |
29 | } | 29 | } |
30 | 30 | ||
31 | if(styles) { | 31 | if(styles) { |
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js index 4bca0755..9ae1cfc9 100755 --- a/js/controllers/selection-controller.js +++ b/js/controllers/selection-controller.js | |||
@@ -35,7 +35,7 @@ exports.SelectionController = Montage.create(Component, { | |||
35 | 35 | ||
36 | if(this._currentDocument && this._currentDocument.currentView === "design") { | 36 | if(this._currentDocument && this._currentDocument.currentView === "design") { |
37 | this._currentDocument.model._selection = this.application.ninja.selectedElements; | 37 | this._currentDocument.model._selection = this.application.ninja.selectedElements; |
38 | this._currentDocument.model.selectionContainer = this.application.ninja._currentSelectedContainer; | 38 | // this._currentDocument.model.selectionContainer = this.application.ninja._currentSelectedContainer; |
39 | } | 39 | } |
40 | 40 | ||
41 | this._currentDocument = value; | 41 | this._currentDocument = value; |
@@ -65,7 +65,7 @@ exports.SelectionController = Montage.create(Component, { | |||
65 | this._selectedElements = value; | 65 | this._selectedElements = value; |
66 | 66 | ||
67 | this.application.ninja.selectedElements = this._selectedElements; | 67 | this.application.ninja.selectedElements = this._selectedElements; |
68 | this.application.ninja._currentSelectedContainer = this._selectionContainer = this.application.ninja.currentDocument.model.documentRoot; | 68 | // this.application.ninja._currentSelectedContainer = this._selectionContainer = this.application.ninja.currentDocument.model.documentRoot; |
69 | 69 | ||
70 | if(this._selectedElements.length === 0) { | 70 | if(this._selectedElements.length === 0) { |
71 | this.executeSelectElement(); | 71 | this.executeSelectElement(); |
@@ -78,30 +78,24 @@ exports.SelectionController = Montage.create(Component, { | |||
78 | } | 78 | } |
79 | }, | 79 | }, |
80 | 80 | ||
81 | // Bound property to the ninja currentSelectedContainer | ||
82 | _selectionContainer: { | ||
83 | value: null | ||
84 | }, | ||
85 | |||
86 | selectionContainer: { | ||
87 | get: function() { | ||
88 | return this._selectionContainer | ||
89 | }, | ||
90 | set: function(value) { | ||
91 | if(this._selectionContainer && this._selectionContainer !== value) { | ||
92 | this.executeSelectElement(); | ||
93 | } | ||
94 | |||
95 | this._selectionContainer = value; | ||
96 | } | ||
97 | }, | ||
98 | |||
99 | deserializedFromTemplate: { | 81 | deserializedFromTemplate: { |
100 | value: function() { | 82 | value: function() { |
101 | this.eventManager.addEventListener("elementAdded", this, false); | 83 | this.eventManager.addEventListener("elementAdded", this, false); |
102 | this.eventManager.addEventListener("elementsRemoved", this, false); | 84 | this.eventManager.addEventListener("elementsRemoved", this, false); |
103 | this.eventManager.addEventListener("elementReplaced", this, false); | 85 | this.eventManager.addEventListener("elementReplaced", this, false); |
104 | this.eventManager.addEventListener("selectAll", this, false); | 86 | this.eventManager.addEventListener("selectAll", this, false); |
87 | |||
88 | this.addPropertyChangeListener("currentDocument.model.domContainer", this); | ||
89 | } | ||
90 | }, | ||
91 | |||
92 | handleChange: { | ||
93 | value: function() { | ||
94 | if(this.currentDocument && this.currentDocument.model.getProperty("domContainer")) { | ||
95 | if(this.currentDocument.model.getProperty("domContainer") !== null) { | ||
96 | this.executeSelectElement(); | ||
97 | } | ||
98 | } | ||
105 | } | 99 | } |
106 | }, | 100 | }, |
107 | 101 | ||
@@ -175,12 +169,12 @@ exports.SelectionController = Montage.creat |