diff options
author | Valerio Virgillito | 2012-05-10 22:41:47 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-05-10 22:41:47 -0700 |
commit | 063252524696261bc347e2c3fb1ca82db80183e0 (patch) | |
tree | 78d22ad99979c5305481fd20a5ba59f327f9f057 | |
parent | cba4e3615f9d922a4bee9a72b48db06694b9bb81 (diff) | |
parent | f6f722feecf88c8afe59327eaf8557ce4012abc7 (diff) | |
download | ninja-063252524696261bc347e2c3fb1ca82db80183e0.tar.gz |
Merge pull request #217 from mencio/dom-architecture
Dom architecture - Fixed the selection and timeline bugs.
-rwxr-xr-x | js/components/layout/documents-tab.reel/documents-tab.html | 24 | ||||
-rwxr-xr-x | js/controllers/document-controller.js | 4 | ||||
-rwxr-xr-x | js/controllers/elements/shapes-controller.js | 4 | ||||
-rwxr-xr-x | js/controllers/selection-controller.js | 17 | ||||
-rwxr-xr-x | js/mediators/element-mediator.js | 6 | ||||
-rwxr-xr-x | js/ninja.reel/ninja.js | 25 | ||||
-rw-r--r-- | js/panels/Timeline/Layer.reel/Layer.js | 4 | ||||
-rw-r--r-- | js/panels/Timeline/TimelineTrack.reel/TimelineTrack.js | 4 | ||||
-rwxr-xr-x | js/panels/properties.reel/properties.js | 6 |
9 files changed, 25 insertions, 69 deletions
diff --git a/js/components/layout/documents-tab.reel/documents-tab.html b/js/components/layout/documents-tab.reel/documents-tab.html index cf3dbbf5..304c8871 100755 --- a/js/components/layout/documents-tab.reel/documents-tab.html +++ b/js/components/layout/documents-tab.reel/documents-tab.html | |||
@@ -26,26 +26,10 @@ | |||
26 | "element": {"#": "document"} | 26 | "element": {"#": "document"} |
27 | }, | 27 | }, |
28 | "bindings": { | 28 | "bindings": { |
29 | "document": { | 29 | "document": {"<-": "@repetition1.objectAtCurrentIteration"}, |
30 | "boundObject": {"@": "repetition1"}, | 30 | "name": {"<-": "@repetition1.objectAtCurrentIteration.model.file.name"}, |
31 | "boundObjectPropertyPath": "objectAtCurrentIteration", | 31 | "saveFlag": {"<-": "@repetition1.objectAtCurrentIteration.model.needsSave"}, |
32 | "oneway": true | 32 | "active": {"<-": "@repetition1.objectAtCurrentIteration.model.isActive"} |
33 | }, | ||
34 | "name": { | ||
35 | "boundObject": {"@": "repetition1"}, | ||
36 | "boundObjectPropertyPath": "objectAtCurrentIteration.model.file.name", | ||
37 | "oneway": true | ||
38 | }, | ||
39 | "saveFlag": { | ||
40 | "boundObject": {"@": "repetition1"}, | ||
41 | "boundObjectPropertyPath": "objectAtCurrentIteration.model.needsSave", | ||
42 | "oneway": true | ||
43 | }, | ||
44 | "active": { | ||
45 | "boundObject": {"@": "repetition1"}, | ||
46 | "boundObjectPropertyPath": "objectAtCurrentIteration.model.isActive", | ||
47 | "oneway": true | ||
48 | } | ||
49 | } | 33 | } |
50 | }, | 34 | }, |
51 | 35 | ||
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 84e9f4fc..0fd13be2 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js | |||
@@ -235,7 +235,7 @@ if(this.activeDocument && this.application.ninja.coreIoApi.cloudAvailable()){ | |||
235 | fileSaveResult: { | 235 | fileSaveResult: { |
236 | value: function (result) { | 236 | value: function (result) { |
237 | if((result.status === 204) || (result.status === 404)){//204=>existing file || 404=>new file... saved | 237 | if((result.status === 204) || (result.status === 404)){//204=>existing file || 404=>new file... saved |
238 | this.activeDocument.needsSave = false; | 238 | this.activeDocument.model.needsSave = false; |
239 | if(this.application.ninja.currentDocument !== null){ | 239 | if(this.application.ninja.currentDocument !== null){ |
240 | //clear Dirty StyleSheets for the saved document | 240 | //clear Dirty StyleSheets for the saved document |
241 | this.application.ninja.stylesController.clearDirtyStyleSheets(this.application.ninja.currentDocument); | 241 | this.application.ninja.stylesController.clearDirtyStyleSheets(this.application.ninja.currentDocument); |
@@ -647,7 +647,7 @@ if(this.activeDocument && this.application.ninja.coreIoApi.cloudAvailable()){ | |||
647 | 647 | ||
648 | handleStyleSheetDirty:{ | 648 | handleStyleSheetDirty:{ |
649 | value:function(){ | 649 | value:function(){ |
650 | this.activeDocument.needsSave = true; | 650 | // this.activeDocument.model.needsSave = true; |
651 | } | 651 | } |
652 | }, | 652 | }, |
653 | 653 | ||
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js index e9a5f865..38f133b5 100755 --- a/js/controllers/elements/shapes-controller.js +++ b/js/controllers/elements/shapes-controller.js | |||
@@ -213,7 +213,7 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
213 | default: | 213 | default: |
214 | CanvasController.setProperty(el, p, value); | 214 | CanvasController.setProperty(el, p, value); |
215 | } | 215 | } |
216 | this.application.ninja.documentController.activeDocument.needsSave = true; | 216 | this.application.ninja.documentController.activeDocument.model.needsSave = true; |
217 | } | 217 | } |
218 | }, | 218 | }, |
219 | 219 | ||
@@ -559,7 +559,7 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
559 | } | 559 | } |
560 | } | 560 | } |
561 | el.elementModel.shapeModel.GLWorld.render(); | 561 | el.elementModel.shapeModel.GLWorld.render(); |
562 | this.application.ninja.documentController.activeDocument.needsSave = true; | 562 | this.application.ninja.documentController.activeDocument.model.needsSave = true; |
563 | } | 563 | } |
564 | }, | 564 | }, |
565 | 565 | ||
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js index a81cdf7f..6e40abb5 100755 --- a/js/controllers/selection-controller.js +++ b/js/controllers/selection-controller.js | |||
@@ -165,7 +165,7 @@ exports.SelectionController = Montage.create(Component, { | |||
165 | 165 | ||
166 | while(outerElement.parentNode && outerElement.parentNode.uuid !== this.selectionContainer.uuid) { | 166 | while(outerElement.parentNode && outerElement.parentNode.uuid !== this.selectionContainer.uuid) { |
167 | // If element is higher up than current container then return | 167 | // If element is higher up than current container then return |
168 | if(outerElement.id === "UserContent") return; | 168 | if(outerElement.nodeName === "BODY") return; |
169 | // else keep going up the chain | 169 | // else keep going up the chain |
170 | outerElement = outerElement.parentNode; | 170 | outerElement = outerElement.parentNode; |
171 | } | 171 | } |
@@ -246,25 +246,20 @@ exports.SelectionController = Montage.create(Component, { | |||
246 | } | 246 | } |
247 | }, | 247 | }, |
248 | 248 | ||
249 | /** | ||
250 | * Looks into the selectionObject for the item to be found using it's id | ||
251 | * | ||
252 | * @return: Item index in the selectionObject if found | ||
253 | * -1 if not found | ||
254 | */ | ||
255 | findSelectedElement: { | 249 | findSelectedElement: { |
256 | value: function(item) { | 250 | value: function(item) { |
257 | // TODO do the loop check in the select element and only use the index here | 251 | // TODO: Remove this function and use the stage selectable. Then only return a match in the array |
258 | // return this.application.ninja.selectedElements.indexOf(item); | 252 | //return this.application.ninja.selectedElements.indexOf(item); |
259 | 253 | ||
254 | //TODO: Make sure we don't need to loop back to the container element. | ||
260 | var itemUUID; | 255 | var itemUUID; |
261 | 256 | ||
262 | for(var i=0, uuid; this.application.ninja.selectedElements[i];i++) { | 257 | for(var i=0, uuid; this.application.ninja.selectedElements[i];i++) { |
263 | // Check for multiple selection and excluding inner elements | 258 | // Check for multiple selection and excluding inner elements |
264 | if(item.parentNode && item.parentNode.id !== "UserContent") { | 259 | if(item.parentNode && item.parentNode !== this.application.ninja.currentDocument.documentRoot) { |
265 | var outerElement = item.parentNode; | 260 | var outerElement = item.parentNode; |
266 | 261 | ||
267 | while(outerElement.parentNode && outerElement.parentNode.id !== "UserContent") { | 262 | while(outerElement.parentNode && outerElement.parentNode !== this.application.ninja.currentDocument.documentRoot) { |
268 | outerElement = outerElement.parentNode; | 263 | outerElement = outerElement.parentNode; |
269 | } | 264 | } |
270 | 265 | ||
diff --git a/js/mediators/element-mediator.js b/js/mediators/element-mediator.js index 06514076..483dacbc 100755 --- a/js/mediators/element-mediator.js +++ b/js/mediators/element-mediator.js | |||
@@ -48,7 +48,7 @@ exports.ElementMediator = Montage.create(Component, { | |||
48 | 48 | ||
49 | document.application.undoManager.add(undoLabel, this.removeElements, this, elements, notify); | 49 | document.application.undoManager.add(undoLabel, this.removeElements, this, elements, notify); |
50 | 50 | ||
51 | this.application.ninja.documentController.activeDocument.needsSave = true; | 51 | this.application.ninja.documentController.activeDocument.model.needsSave = true; |
52 | 52 | ||
53 | if(notify || notify === undefined) { | 53 | if(notify || notify === undefined) { |
54 | NJevent("elementAdded", elements); | 54 | NJevent("elementAdded", elements); |
@@ -77,7 +77,7 @@ exports.ElementMediator = Montage.create(Component, { | |||
77 | 77 | ||
78 | document.application.undoManager.add(undoLabel, this.addElements, this, elements, null, notify); | 78 | document.application.undoManager.add(undoLabel, this.addElements, this, elements, null, notify); |
79 | 79 | ||
80 | this.application.ninja.documentController.activeDocument.needsSave = true; | 80 | this.application.ninja.documentController.activeDocument.model.needsSave = true; |
81 | 81 | ||
82 | NJevent("elementsRemoved", elements); | 82 | NJevent("elementsRemoved", elements); |
83 | } | 83 | } |
@@ -92,7 +92,7 @@ exports.ElementMediator = Montage.create(Component, { | |||
92 | 92 | ||
93 | document.application.undoManager.add(undoLabel, this.replaceElement, this, oldChild, newChild); | 93 | document.application.undoManager.add(undoLabel, this.replaceElement, this, oldChild, newChild); |
94 | 94 | ||
95 | this.application.ninja.documentController.activeDocument.needsSave = true; | 95 | this.application.ninja.documentController.activeDocument.model.needsSave = true; |
96 | 96 | ||
97 | if(notify || notify === undefined) { | 97 | if(notify || notify === undefined) { |
98 | NJevent("elementReplaced", {type : "replaceElement", data: {"newChild": newChild, "oldChild": oldChild}}); | 98 | NJevent("elementReplaced", {type : "replaceElement", data: {"newChild": newChild, "oldChild": oldChild}}); |
diff --git a/js/ninja.reel/ninja.js b/js/ninja.reel/ninja.js index f518378a..3fcce925 100755 --- a/js/ninja.reel/ninja.js +++ b/js/ninja.reel/ninja.js | |||
@@ -346,31 +346,6 @@ exports.Ninja = Montage.create(Component, { | |||
346 | } | 346 | } |
347 | }, | 347 | }, |
348 | 348 | ||
349 | _handleAppLoaded: { | ||
350 | value: function(event){ | ||
351 | |||
352 | /* | ||
353 | Object.defineBinding(docBar, "type", { | ||
354 | boundObject: DocumentManagerModule.DocumentManager, | ||
355 | boundObjectPropertyPath: "activeDocument.documentType" | ||
356 | }); | ||
357 | |||
358 | Object.defineBinding(docBar, "currentView", { | ||
359 | boundObject: DocumentManagerModule.DocumentManager, | ||
360 | boundObjectPropertyPath: "activeDocument.currentView", | ||
361 | oneway: false | ||
362 | }); | ||
363 | |||
364 | Object.defineBinding(docBar, "zoomFactor", { | ||
365 | boundObject: DocumentManagerModule.DocumentManager, | ||
366 | boundObjectPropertyPath: "activeDocument.zoomFactor", | ||
367 | oneway: false | ||
368 | }); | ||
369 | */ | ||
370 | |||
371 | } | ||