diff options
author | Valerio Virgillito | 2012-05-31 10:27:46 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-05-31 10:27:46 -0700 |
commit | e1fe603a7c002073f8ac13623f8cc8dc43efb59d (patch) | |
tree | 38d9f7e00cc4a7b181ebe0029eaadcb46c70afb8 /js/controllers | |
parent | 5b982abcfe51278062c06fde5fa7e5371f6aef54 (diff) | |
download | ninja-e1fe603a7c002073f8ac13623f8cc8dc43efb59d.tar.gz |
fixing selection when switching documents
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'js/controllers')
-rwxr-xr-x | js/controllers/document-controller.js | 16 | ||||
-rwxr-xr-x | js/controllers/selection-controller.js | 64 |
2 files changed, 58 insertions, 22 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 13ab33cc..c9557a57 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js | |||
@@ -53,9 +53,11 @@ exports.DocumentController = Montage.create(Component, { | |||
53 | document.getElementById("iframeContainer").style.display = "block"; | 53 | document.getElementById("iframeContainer").style.display = "block"; |
54 | document.getElementById("codeViewContainer").style.display = "block"; | 54 | document.getElementById("codeViewContainer").style.display = "block"; |
55 | } else if(this._currentDocument.currentView === "design") { | 55 | } else if(this._currentDocument.currentView === "design") { |
56 | 56 | this._currentDocument.model.currentView.show(); | |
57 | this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*'); | ||
57 | } else { | 58 | } else { |
58 | document.getElementById("iframeContainer").style.display = "none"; | 59 | document.getElementById("iframeContainer").style.display = "none"; |
60 | this._currentDocument.model.currentView.show(); | ||
59 | } | 61 | } |
60 | 62 | ||
61 | } | 63 | } |
@@ -354,14 +356,8 @@ exports.DocumentController = Montage.create(Component, { | |||
354 | if(currentDocument) { | 356 | if(currentDocument) { |
355 | if(currentDocument.currentView === "design") { | 357 | if(currentDocument.currentView === "design") { |
356 | currentDocument.serializeDocument(); | 358 | currentDocument.serializeDocument(); |
357 | this.application.ninja._currentSelectedContainer = this.application.ninja.selectionController._selectionContainer = null; | ||
358 | currentDocument.model.views.design.propertiesPanel.clear(); | ||
359 | } | 359 | } |
360 | 360 | ||
361 | currentDocument.model.isActive = false; | ||
362 | |||
363 | currentDocument.model.currentView.hide(); | ||
364 | |||
365 | if(currentDocument.model.parentContainer !== newDocument.model.parentContainer) { | 361 | if(currentDocument.model.parentContainer !== newDocument.model.parentContainer) { |
366 | currentDocument.model.parentContainer.style["display"] = "none"; | 362 | currentDocument.model.parentContainer.style["display"] = "none"; |
367 | newDocument.model.parentContainer.style["display"] = "block"; | 363 | newDocument.model.parentContainer.style["display"] = "block"; |
@@ -382,13 +378,9 @@ exports.DocumentController = Montage.create(Component, { | |||
382 | this.application.ninja.stage.hideRulers(); | 378 | this.application.ninja.stage.hideRulers(); |
383 | } | 379 | } |
384 | 380 | ||
385 | // this.application.ninja.stage.clearAllCanvas(); | ||
386 | |||
387 | if(didCreate) { | 381 | if(didCreate) { |
388 | // newDocument.model.currentView.show(); | ||
389 | |||
390 | if(newDocument.currentView === "design") { | 382 | if(newDocument.currentView === "design") { |
391 | NJevent("onOpenDocument", newDocument); | 383 | |
392 | } else { | 384 | } else { |
393 | newDocument.model.parentContainer.style["display"] = "block"; | 385 | newDocument.model.parentContainer.style["display"] = "block"; |
394 | } | 386 | } |
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js index 848355da..a219c597 100755 --- a/js/controllers/selection-controller.js +++ b/js/controllers/selection-controller.js | |||
@@ -20,6 +20,60 @@ exports.SelectionController = Montage.create(Component, { | |||
20 | } | 20 | } |
21 | }, | 21 | }, |
22 | 22 | ||
23 | _currentDocument: { | ||
24 | value : null | ||
25 | }, | ||
26 | |||
27 | currentDocument : { | ||
28 | get : function() { | ||
29 | return this._currentDocument; | ||
30 | }, | ||
31 | set : function(value) { | ||
32 | if (value === this._currentDocument) { | ||
33 | return; | ||
34 | } | ||
35 | |||
36 | if(this._currentDocument) { | ||
37 | this._currentDocument.model.selection = this.application.ninja.selectedElements; | ||
38 | this._currentDocument.model.selectionContainer = this.application.ninja._currentSelectedContainer; | ||
39 | } | ||
40 | |||
41 | this._currentDocument = value; | ||
42 | |||
43 | if(!value) { | ||
44 | } else if(this._currentDocument.currentView === "design") { | ||
45 | } else { | ||
46 | } | ||
47 | |||
48 | } | ||
49 | }, | ||
50 | |||
51 | _selectedElements: { | ||
52 | value: null | ||
53 | }, | ||
54 | |||
55 | selectedElements: { | ||
56 | get: function() { | ||
57 | return this._selectedElements; | ||
58 | }, | ||
59 | set: function(value) { | ||
60 | if(value) { | ||
61 | this._selectedElements = value; | ||
62 | |||
63 | this.application.ninja.selectedElements = this._selectedElements; | ||
64 | this.application.ninja._currentSelectedContainer = this._selectionContainer = this.application.ninja.currentDocument.model.documentRoot; | ||
65 | |||
66 | if(this._selectedElements.length === 0) { | ||
67 | this.executeSelectElement(); | ||
68 | } else { | ||
69 | this.executeSelectElement(this._selectedElements); | ||
70 | } | ||
71 | |||
72 | |||
73 | } | ||
74 | } | ||
75 | }, | ||
76 | |||
23 | // Bound property to the ninja currentSelectedContainer | 77 | // Bound property to the ninja currentSelectedContainer |
24 | _selectionContainer: { | 78 | _selectionContainer: { |
25 | value: null | 79 | value: null |
@@ -44,16 +98,6 @@ exports.SelectionController = Montage.create(Component, { | |||
44 | this.eventManager.addEventListener("elementsRemoved", this, false); | 98 | this.eventManager.addEventListener("elementsRemoved", this, false); |
45 | this.eventManager.addEventListener("elementReplaced", this, false); | 99 | this.eventManager.addEventListener("elementReplaced", this, false); |
46 | this.eventManager.addEventListener("selectAll", this, false); | 100 | this.eventManager.addEventListener("selectAll", this, false); |
47 | this.eventManager.addEventListener("switchDocument", this, false); | ||
48 | } | ||
49 | }, | ||
50 | |||
51 | handleSwitchDocument: { | ||
52 | value: function() { | ||
53 | // if(this.application.ninja.documentController.activeDocument.currentView === "design"){ | ||
54 | this._isDocument = this.application.ninja.selectedElements.length === 0; | ||
55 | NJevent("selectionChange", {"elements": this.application.ninja.selectedElements, "isDocument": this._isDocument} ); | ||
56 | // } | ||
57 | } | 101 | } |
58 | }, | 102 | }, |
59 | 103 | ||