aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/controllers/elements/element-controller.js14
-rwxr-xr-xjs/mediators/element-mediator.js30
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js20
3 files changed, 52 insertions, 12 deletions
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 452d09f1..a7d99466 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -11,7 +11,19 @@ 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
24 }else{
25 this.application.ninja.currentDocument.documentRoot.appendChild(el);
26 }
15 // Nested elements - TODO make sure the CSS is correct before nesting elements 27 // Nested elements - TODO make sure the CSS is correct before nesting elements
16 // this.application.ninja.currentSelectedContainer.appendChild(el); 28 // this.application.ninja.currentSelectedContainer.appendChild(el);
17 if(styles) { 29 if(styles) {
diff --git a/js/mediators/element-mediator.js b/js/mediators/element-mediator.js
index 919aaec1..49a8e369 100755
--- a/js/mediators/element-mediator.js
+++ b/js/mediators/element-mediator.js
@@ -514,7 +514,35 @@ 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 reArrangeDOM:{
520 value:function(layersDraggedArray , layerDroppedAfter){
521
522 var documentRoot,length;
523
524 documentRoot = this.application.ninja.currentDocument.documentRoot;
525 length = layersDraggedArray.length;
526
527 for(i=0;documentRoot.children[i];i++){
528 if(documentRoot.children[i]===layerDroppedAfter.layerData.elementsList[0]){
529 if(length >0){
530 documentRoot.children[i].parentNode.insertBefore(layersDraggedArray[length-1].layerData.elementsList[0],documentRoot.children[i]);
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 }
518 546
519 547
520 548
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