aboutsummaryrefslogtreecommitdiff
path: root/js/panels/PanelContainer.reel
diff options
context:
space:
mode:
authorAnanya Sen2012-06-26 16:07:00 -0700
committerAnanya Sen2012-06-26 16:07:00 -0700
commit1d5372534d11c9c1b818ba5e7d67498c731e9ac6 (patch)
treebc09c9f08ac2faa955995a91a78337276a81eb77 /js/panels/PanelContainer.reel
parent3391a8e6fd5df0d464edaffd98c2b3fde23acf5a (diff)
parent46174eb0ce93d660c8d2e9276fbdc4f9a03f056a (diff)
downloadninja-1d5372534d11c9c1b818ba5e7d67498c731e9ac6.tar.gz
Merge branch 'refs/heads/ninja-internal-master' into bugfix-master
Conflicts: js/ninja.reel/ninja.html Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js/panels/PanelContainer.reel')
-rwxr-xr-xjs/panels/PanelContainer.reel/PanelContainer.html17
-rwxr-xr-xjs/panels/PanelContainer.reel/PanelContainer.js29
2 files changed, 37 insertions, 9 deletions
diff --git a/js/panels/PanelContainer.reel/PanelContainer.html b/js/panels/PanelContainer.reel/PanelContainer.html
index b22b3609..820348d2 100755
--- a/js/panels/PanelContainer.reel/PanelContainer.html
+++ b/js/panels/PanelContainer.reel/PanelContainer.html
@@ -74,8 +74,7 @@
74 }, 74 },
75 75
76 "panel_6": { 76 "panel_6": {
77 "module": "js/panels/Panel.reel", 77 "prototype": "js/panels/Panel.reel",
78 "name": "Panel",
79 "properties": { 78 "properties": {
80 "element": {"#": "panel_6"} 79 "element": {"#": "panel_6"}
81 }, 80 },
@@ -84,6 +83,16 @@
84 } 83 }
85 }, 84 },
86 85
86 "panel_7": {
87 "prototype": "js/panels/Panel.reel",
88 "properties": {
89 "element": {"#": "panel_7"}
90 },
91 "bindings": {
92 "currentDocument": {"<-": "@owner.currentDocument"}
93 }
94 },
95
87 "owner": { 96 "owner": {
88 "prototype": "js/panels/PanelContainer.reel", 97 "prototype": "js/panels/PanelContainer.reel",
89 "properties": { 98 "properties": {
@@ -95,7 +104,8 @@
95 "panel_3": {"@": "panel_3"}, 104 "panel_3": {"@": "panel_3"},
96 "panel_4": {"@": "panel_4"}, 105 "panel_4": {"@": "panel_4"},
97 "panel_5": {"@": "panel_5"}, 106 "panel_5": {"@": "panel_5"},
98 "panel_6": {"@": "panel_6"} 107 "panel_6": {"@": "panel_6"},
108 "panel_7": {"@": "panel_7"}
99 }, 109 },
100 "listeners": [ 110 "listeners": [
101 { 111 {
@@ -126,6 +136,7 @@
126 <article data-montage-id="panel_4"></article> 136 <article data-montage-id="panel_4"></article>
127 <article data-montage-id="panel_5"></article> 137 <article data-montage-id="panel_5"></article>
128 <article data-montage-id="panel_6"></article> 138 <article data-montage-id="panel_6"></article>
139 <article data-montage-id="panel_7"></article>
129 </article> 140 </article>
130 </section> 141 </section>
131</body> 142</body>
diff --git a/js/panels/PanelContainer.reel/PanelContainer.js b/js/panels/PanelContainer.reel/PanelContainer.js
index 5c733b92..e0e547f9 100755
--- a/js/panels/PanelContainer.reel/PanelContainer.js
+++ b/js/panels/PanelContainer.reel/PanelContainer.js
@@ -84,6 +84,18 @@ exports.PanelContainer = Montage.create(Component, {
84 value: [] 84 value: []
85 }, 85 },
86 86
87 panelsAvailable: {
88 value: function() {
89 var pAvail = [];
90 this.panels.forEach(function(obj) {
91 if (window.getComputedStyle(obj.element).display !== "none") {
92 pAvail.push(obj);
93 }
94 });
95 return pAvail;
96 }
97 },
98
87 currentPanelState: { 99 currentPanelState: {
88 value: {} 100 value: {}
89 }, 101 },
@@ -112,6 +124,8 @@ exports.PanelContainer = Montage.create(Component, {
112 this['panel_'+i].modulePath = p.modulePath; 124 this['panel_'+i].modulePath = p.modulePath;
113 this['panel_'+i].moduleName = p.moduleName; 125 this['panel_'+i].moduleName = p.moduleName;
114 this['panel_'+i].disabled = true; 126 this['panel_'+i].disabled = true;
127 this['panel_'+i].groups = p.groups;
128
115 129
116 this.currentPanelState[p.name] = {}; 130 this.currentPanelState[p.name] = {};
117 this.currentPanelState.version = "1.0"; 131 this.currentPanelState.version = "1.0";
@@ -185,15 +199,17 @@ exports.PanelContainer = Montage.create(Component, {
185 199
186 _setPanelsSizes: { 200 _setPanelsSizes: {
187 value: function(panelActivated) { 201 value: function(panelActivated) {
188 var len = this.panels.length, setLocked = true; 202 var availablePanels = this.panelsAvailable();
203 var len = availablePanels.length;
204 var setLocked = true;
189 205
190 for(var i = 0; i < len; i++) { 206 for(var i = 0; i < len; i++) {
191 if(this.panels[i] === panelActivated || panelActivated === null) { 207 if(availablePanels[i] === panelActivated || panelActivated === null) {
192 setLocked = false; 208 setLocked = false;
193 } 209 }
194 210
195 this.panels[i].locked = setLocked; 211 availablePanels[i].locked = setLocked;
196 this.panels[i].needsDraw = true; 212 availablePanels[i].needsDraw = true;
197 } 213 }
198 } 214 }
199 }, 215 },
@@ -201,7 +217,8 @@ exports.PanelContainer = Montage.create(Component, {
201 _redrawPanels: { 217 _redrawPanels: {
202 value: function(panelActivated, unlockPanels) { 218 value: function(panelActivated, unlockPanels) {
203 var maxHeight = this.element.offsetHeight, setLocked = true; 219 var maxHeight = this.element.offsetHeight, setLocked = true;
204 var len = this.panels.length; 220 var availablePanels = this.panelsAvailable();
221 var len = availablePanels.length;
205 222
206 if(unlockPanels === true) { 223 if(unlockPanels === true) {
207 setLocked = false; 224 setLocked = false;
@@ -215,7 +232,7 @@ exports.PanelContainer = Montage.create(Component, {
215 } 232 }
216 233
217 for(var i = 0; i < len; i++) { 234 for(var i = 0; i < len; i++) {
218 var obj = this['panel_'+i]; 235 var obj = availablePanels[i];
219 236
220 if(obj === panelActivated) { 237 if(obj === panelActivated) {
221 setLocked = false; 238 setLocked = false;