aboutsummaryrefslogtreecommitdiff
path: root/js/panels/PanelContainer.reel/PanelContainer.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/PanelContainer.reel/PanelContainer.js')
-rwxr-xr-xjs/panels/PanelContainer.reel/PanelContainer.js22
1 files changed, 13 insertions, 9 deletions
diff --git a/js/panels/PanelContainer.reel/PanelContainer.js b/js/panels/PanelContainer.reel/PanelContainer.js
index 51bd2df9..dd720bd3 100755
--- a/js/panels/PanelContainer.reel/PanelContainer.js
+++ b/js/panels/PanelContainer.reel/PanelContainer.js
@@ -58,7 +58,7 @@ exports.PanelContainer = Montage.create(Component, {
58 this.currentPanelState[p.name].collapsed = this['panel_'+i].collapsed; 58 this.currentPanelState[p.name].collapsed = this['panel_'+i].collapsed;
59 59
60 // Check if current panel is open when feature is enabled 60 // Check if current panel is open when feature is enabled
61 this.panels.push(p); 61 this.panels.push(this['panel_'+i]);
62 } 62 }
63 63
64 this.application.localStorage.setItem("panels", this.currentPanelState); 64 this.application.localStorage.setItem("panels", this.currentPanelState);
@@ -87,20 +87,24 @@ exports.PanelContainer = Montage.create(Component, {
87 87
88 handleDropped: { 88 handleDropped: {
89 value: function(e) { 89 value: function(e) {
90 var draggedIndex, droppedIndex = 0; 90 var draggedIndex, droppedIndex = 0, len = this.panels.length;
91 for(var i = 0; i< this.repeater.childComponents.length; i++ ) { 91
92 if (this.repeater.childComponents[i] === e._event.draggedComponent) { 92// console.log(e._event.draggedComponent);
93 draggedIndex = i; 93 for(var i = 0; i < len; i++) {
94 if(this.panels[i].name === e._event.draggedComponent.name) {
95 draggedIndex = i; // Actual component being dragged
94 } 96 }
95 97
96 if (this.repeater.childComponents[i] === e._event.droppedComponent) { 98 if(this.panels[i].name === e._target.name) {
97 droppedIndex = i; 99 droppedIndex = i;
98 } 100 }
99 } 101 }
100 102
101 var panelRemoved = this.panelController.content.splice(draggedIndex,1); 103 if(draggedIndex !== droppedIndex) {
102 this.panelController.content.splice(droppedIndex,0, panelRemoved[0]); 104 // switch panels
103 //console.log(draggedIndex, droppedIndex); 105 this.panels[droppedIndex].element.parentNode.insertBefore(this.panels[draggedIndex].element, this.panels[droppedIndex].element);
106 }
107
104 this._setPanelsSizes(null); 108 this._setPanelsSizes(null);
105 } 109 }
106 }, 110 },