aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rwxr-xr-xjs/controllers/elements/element-controller.js13
-rwxr-xr-xjs/mediators/element-mediator.js28
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js20
3 files changed, 47 insertions, 14 deletions
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 452d09f1..ea5fe4af 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -11,7 +11,18 @@ exports.ElementController = Montage.create(Component, {
11 11
12 addElement: { 12 addElement: {
13 value: function(el, styles) { 13 value: function(el, styles) {
14 this.application.ninja.currentDocument.documentRoot.appendChild(el); 14 if(this.application.ninja.timeline.currentLayerSelected) {
15 var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID);
16
17 if(selectedLayerIndex === 0) {
18 this.application.ninja.currentDocument.documentRoot.appendChild(el);
19 } else {
20 var element = this.application.ninja.timeline.arrLayers[selectedLayerIndex].layerData.elementsList[0];
21 element.parentNode.insertBefore(el, element.nextSibling);
22 }
23 } else {
24 this.application.ninja.currentDocument.documentRoot.appendChild(el);
25 }
15 // Nested elements - TODO make sure the CSS is correct before nesting elements 26 // Nested elements - TODO make sure the CSS is correct before nesting elements
16 // this.application.ninja.currentSelectedContainer.appendChild(el); 27 // this.application.ninja.currentSelectedContainer.appendChild(el);
17 if(styles) { 28 if(styles) {
diff --git a/js/mediators/element-mediator.js b/js/mediators/element-mediator.js
index 919aaec1..06514076 100755
--- a/js/mediators/element-mediator.js
+++ b/js/mediators/element-mediator.js
@@ -514,11 +514,33 @@ exports.ElementMediator = Montage.create(Component, {
514 var str = this.getProperty(el, "-webkit-transform"); 514 var str = this.getProperty(el, "-webkit-transform");
515 return str && str.length; 515 return str && str.length;
516 } 516 }
517 } 517 },
518
519 518
519 reArrangeDOM:{
520 value: function(layersDraggedArray, layerDroppedAfter) {
521 var documentRoot,length;
520 522
523 documentRoot = this.application.ninja.currentDocument.documentRoot;
524 length = layersDraggedArray.length;
521 525
522 //-------------------------------------------------------------------------------------------------------- 526 for(var i=0; documentRoot.children[i]; i++) {
527 if(documentRoot.children[i] === layerDroppedAfter.layerData.elementsList[0]) {
528 if(length >0){
529 documentRoot.children[i].parentNode.insertBefore(layersDraggedArray[length-1].layerData.elementsList[0], documentRoot.children[i]);
530 }
523 531
532 /* Will require for Multiple Drag n Drop */
533 //length = length-1;
534 //index = i;
535 //if(length>0) {
536 //while(layersDraggedArray[length]) {
537 //documentRoot.children[index].parentNode.insertBefore(layersDraggedArray[length-1].layerData.elementsList[0],documentRoot.children[k].nextSibling);
538 //length--;
539 //index++;
540 //}
541 //}
542 }
543 }
544 }
545 }
524}); \ No newline at end of file 546}); \ No newline at end of file
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index 70e04b4c..66ef1b97 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -278,6 +278,12 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
278 _dragLayerID : { 278 _dragLayerID : {
279 value: null 279 value: null
280 }, 280 },
281
282 layersDragged:{
283 value:[],
284 writable:true
285 },
286
281 dragLayerID : { 287 dragLayerID : {
282 get: function() { 288 get: function() {
283 return this._dragLayerID; 289 return this._dragLayerID;
@@ -302,6 +308,8 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
302 var dragLayerIndex = this.getLayerIndexByID(this.dragLayerID), 308 var dragLayerIndex = this.getLayerIndexByID(this.dragLayerID),
303 dropLayerIndex = this.getLayerIndexByID(this.dropLayerID), 309 dropLayerIndex = this.getLayerIndexByID(this.dropLayerID),
304 dragLayer = this.arrLayers[dragLayerIndex]; 310 dragLayer = this.arrLayers[dragLayerIndex];
311 this.layersDragged.push(dragLayer);
312 this._layerDroppedInPlace = this.arrLayers[dropLayerIndex];
305 313
306 this.arrLayers.splice(dragLayerIndex, 1); 314 this.arrLayers.splice(dragLayerIndex, 1);
307 this.arrLayers.splice(dropLayerIndex, 0, dragLayer); 315 this.arrLayers.splice(dropLayerIndex, 0, dragLayer);
@@ -403,6 +411,8 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
403 this._deleteHelper = false; 411 this._deleteHelper = false;
404 } 412 }
405 } 413 }
414 this.application.ninja.elementMediator.reArrangeDOM(this.layersDragged , this._layerDroppedInPlace);
415 this.layersDragged =[];
406 } 416 }
407 } 417 }
408 }, 418 },
@@ -903,15 +913,6 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
903 } 913 }
904 }, 914 },
905 915
906
907
908
909
910
911
912
913
914
915 deselectTweens:{ 916 deselectTweens:{
916 value:function () { 917 value:function () {
917 for (var i = 0; i < this.selectedTweens.length; i++) { 918 for (var i = 0; i < this.selectedTweens.length; i++) {
@@ -1038,7 +1039,6 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
1038 1039
1039 this._openDoc = false; 1040 this._openDoc = false;
1040 1041
1041
1042 } 1042 }
1043 }, 1043 },
1044 1044