aboutsummaryrefslogtreecommitdiff
path: root/js/panels/PanelContainer.reel
diff options
context:
space:
mode:
authorJonathan Duran2012-06-26 13:28:59 -0700
committerJonathan Duran2012-06-26 13:28:59 -0700
commit42ea74de49cc9f06d8231b99c2ee6c65b0f8a61a (patch)
treead15f365ffae331ae76060a1ebdfc0f0f029725a /js/panels/PanelContainer.reel
parentcdb5af99be5fca15265e4940dd22870f4c5fef4b (diff)
parent87a8b62f71bb72274c3dd1fa389e88c12d482ebb (diff)
downloadninja-42ea74de49cc9f06d8231b99c2ee6c65b0f8a61a.tar.gz
Merge branch 'refs/heads/NINJAmaster' into TimelineUber
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;