diff options
author | Valerio Virgillito | 2012-06-12 23:04:07 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-06-12 23:04:07 -0700 |
commit | a75947d69f571d723552f926f94d195514a01cbd (patch) | |
tree | 978cbf419f481573b977820f57dc4f0dafb2ac58 /js/controllers/selection-controller.js | |
parent | 5c976cc4bbaa40315e77e6889b43fc7d7156e26f (diff) | |
download | ninja-a75947d69f571d723552f926f94d195514a01cbd.tar.gz |
fixed document switching issues
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'js/controllers/selection-controller.js')
-rwxr-xr-x | js/controllers/selection-controller.js | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/js/controllers/selection-controller.js b/js/controllers/selection-controller.js index 6d982e69..b327bea4 100755 --- a/js/controllers/selection-controller.js +++ b/js/controllers/selection-controller.js | |||
@@ -34,13 +34,14 @@ exports.SelectionController = Montage.create(Component, { | |||
34 | } | 34 | } |
35 | 35 | ||
36 | if(this._currentDocument && this._currentDocument.currentView === "design") { | 36 | if(this._currentDocument && this._currentDocument.currentView === "design") { |
37 | this.ignoreFlag = false; | ||
38 | this._currentDocument.model._selection = this.application.ninja.selectedElements; | 37 | this._currentDocument.model._selection = this.application.ninja.selectedElements; |
39 | // this._currentDocument.model.selectionContainer = this.application.ninja._currentSelectedContainer; | ||
40 | } | 38 | } |
41 | 39 | ||
42 | this._currentDocument = value; | 40 | this._currentDocument = value; |
43 | 41 | ||
42 | if(this._currentDocument && this._currentDocument.currentView === "design") { | ||
43 | this.selectedElements = this._currentDocument.model.selection; | ||
44 | } | ||
44 | /* | 45 | /* |
45 | if(!value) { | 46 | if(!value) { |
46 | } else if(this._currentDocument.currentView === "design") { | 47 | } else if(this._currentDocument.currentView === "design") { |
@@ -51,10 +52,6 @@ exports.SelectionController = Montage.create(Component, { | |||
51 | } | 52 | } |
52 | }, | 53 | }, |
53 | 54 | ||
54 | ignoreFlag: { | ||
55 | value: true | ||
56 | }, | ||
57 | |||
58 | _selectedElements: { | 55 | _selectedElements: { |
59 | value: null | 56 | value: null |
60 | }, | 57 | }, |
@@ -64,21 +61,17 @@ exports.SelectionController = Montage.create(Component, { | |||
64 | return this._selectedElements; | 61 | return this._selectedElements; |
65 | }, | 62 | }, |
66 | set: function(value) { | 63 | set: function(value) { |
67 | if(this.currentDocument && this.currentDocument.currentView === "code") return; | ||
68 | 64 | ||
69 | if(value) { | 65 | if(value) { |
70 | this._selectedElements = value; | 66 | this._selectedElements = value; |
71 | 67 | ||
72 | this.application.ninja.selectedElements = this._selectedElements; | 68 | this.application.ninja.selectedElements = this._selectedElements; |
73 | // this.application.ninja._currentSelectedContainer = this._selectionContainer = this.application.ninja.currentDocument.model.documentRoot; | ||
74 | 69 | ||
75 | if(this._selectedElements.length === 0) { | 70 | if(this._selectedElements.length === 0) { |
76 | this.executeSelectElement(); | 71 | this.executeSelectElement(); |
77 | } else { | 72 | } else { |
78 | this.executeSelectElement(this._selectedElements); | 73 | this.executeSelectElement(this._selectedElements); |
79 | } | 74 | } |
80 | |||
81 | |||
82 | } | 75 | } |
83 | } | 76 | } |
84 | }, | 77 | }, |
@@ -89,22 +82,6 @@ exports.SelectionController = Montage.create(Component, { | |||
89 | this.eventManager.addEventListener("elementsRemoved", this, false); | 82 | this.eventManager.addEventListener("elementsRemoved", this, false); |
90 | this.eventManager.addEventListener("elementReplaced", this, false); | 83 | this.eventManager.addEventListener("elementReplaced", this, false); |
91 | this.eventManager.addEventListener("selectAll", this, false); | 84 | this.eventManager.addEventListener("selectAll", this, false); |
92 | |||
93 | this.addPropertyChangeListener("currentDocument.model.domContainer", this); | ||
94 | } | ||
95 | }, | ||
96 | |||
97 | handleChange: { | ||
98 | value: function() { | ||
99 | if(this.ignoreFlag) { | ||
100 | if(this.currentDocument && this.currentDocument.model.getProperty("domContainer")) { | ||
101 | if(this.currentDocument.model.getProperty("domContainer") !== null) { | ||
102 | this.executeSelectElement(); | ||
103 | } | ||
104 | } | ||
105 | } else { | ||
106 | this.ignoreFlag = true; | ||
107 | } | ||
108 | } | 85 | } |
109 | }, | 86 | }, |
110 | 87 | ||
@@ -134,7 +111,7 @@ exports.SelectionController = Montage.create(Component, { | |||
134 | value: function(event) { | 111 | value: function(event) { |
135 | var selected = [], childNodes = [], self = this; | 112 | var selected = [], childNodes = [], self = this; |
136 | 113 | ||
137 | childNodes = this.application.ninja.currentDocument.model.documentRoot.childNodes; | 114 | childNodes = this.currentDocument.model.domContainer.childNodes; |
138 | childNodes = Array.prototype.slice.call(childNodes, 0); | 115 | childNodes = Array.prototype.slice.call(childNodes, 0); |
139 | childNodes.forEach(function(item) { | 116 | childNodes.forEach(function(item) { |
140 | if(self.isNodeTraversable(item)) { | 117 | if(self.isNodeTraversable(item)) { |