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 /js/controllers/selection-controller.js | |
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.
Diffstat (limited to 'js/controllers/selection-controller.js')
-rwxr-xr-x | js/controllers/selection-controller.js | 17 |
1 files changed, 6 insertions, 11 deletions
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 | ||