aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js')
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js37
1 files changed, 28 insertions, 9 deletions
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index a1e320c4..033d0f79 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -318,7 +318,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
318 "newLayer", 318 "newLayer",
319 "deleteLayer", 319 "deleteLayer",
320 "elementAdded", 320 "elementAdded",
321 "elementDeleted", 321 "elementsRemoved",
322 "selectionChange"], 322 "selectionChange"],
323 i, 323 i,
324 arrEventsLength = arrEvents.length; 324 arrEventsLength = arrEvents.length;
@@ -826,7 +826,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
826 for(var index=0;index<arrLayerLength;index++){ 826 for(var index=0;index<arrLayerLength;index++){
827 if(this.arrLayers[index].layerData.layerID===dLayer[hashVariable].layerID){ 827 if(this.arrLayers[index].layerData.layerID===dLayer[hashVariable].layerID){
828 dLayer[hashVariable].deleted = true; 828 dLayer[hashVariable].deleted = true;
829 ElementMediator.deleteElements(dLayer[hashVariable].elementsList); 829 ElementMediator.removeElements(dLayer[hashVariable].elementsList);
830 this.arrLayers.splice(index, 1); 830 this.arrLayers.splice(index, 1);
831 break; 831 break;
832 } 832 }
@@ -861,18 +861,37 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
861 } 861 }
862 }, 862 },
863 863
864 handleElementDeleted:{ 864 handleElementsRemoved:{
865 value:function (event) { 865 value:function (event) {
866 var length,lengthVal; 866 var length,lengthVal;
867 this.deleteElement = event.detail; 867 this.deleteElement = event.detail;
868 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1; 868
869 for (length = lengthVal ;length >= 0 ;length--) { 869 // Handling deletion of multiple elements.
870 if (this.currentLayerSelected.layerData.elementsList[length] === this.deleteElement) { 870 // TODO: Optimize this double array loop
871 this.currentLayerSelected.layerData.elementsList.splice(length, 1); 871 if(Array.isArray(this.deleteElement)) {
872 break; 872 this.deleteElement = Array.prototype.slice.call(this.deleteElement, 0);
873 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1;
874 this.deleteElement.forEach(function(element) {
875 for (length = lengthVal ;length >= 0 ;length--) {
876 if (this.currentLayerSelected.layerData.elementsList[length] === element) {
877 this.currentLayerSelected.layerData.elementsList.splice(length, 1);
878 break;
879 }
880 //length--;
881 }
882 }, this);
883 } else {
884 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1;
885 for (length = lengthVal ;length >= 0 ;length--) {
886 if (this.currentLayerSelected.layerData.elementsList[length] === this.deleteElement) {
887 this.currentLayerSelected.layerData.elementsList.splice(length, 1);
888 break;
889 }
890 //length--;
873 } 891 }
874 //length--;
875 } 892 }
893
894
876 } 895 }
877 }, 896 },
878 897