aboutsummaryrefslogtreecommitdiff
path: root/js/panels/Panel.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/Panel.reel')
-rwxr-xr-xjs/panels/Panel.reel/Panel.html20
-rwxr-xr-xjs/panels/Panel.reel/Panel.js104
2 files changed, 81 insertions, 43 deletions
diff --git a/js/panels/Panel.reel/Panel.html b/js/panels/Panel.reel/Panel.html
index 04e2930a..43b87940 100755
--- a/js/panels/Panel.reel/Panel.html
+++ b/js/panels/Panel.reel/Panel.html
@@ -113,6 +113,21 @@
113 } 113 }
114 }, 114 },
115 115
116 "disabledCondition": {
117 "module": "montage/ui/condition.reel",
118 "name": "Condition",
119 "properties": {
120 "element": {"#": "disabledCondition"}
121 },
122 "bindings": {
123 "condition": {
124 "boundObject": {"@": "owner"},
125 "boundObjectPropertyPath": "disabled",
126 "oneway": true
127 }
128 }
129 },
130
116 "owner": { 131 "owner": {
117 "module": "js/panels/Panel.reel", 132 "module": "js/panels/Panel.reel",
118 "name": "Panel", 133 "name": "Panel",
@@ -136,9 +151,8 @@
136 </div> 151 </div>
137 <div class="panelBody"> 152 <div class="panelBody">
138 <div class="panelBodyContent"> 153 <div class="panelBodyContent">
139 <div id="panelObject" class="panelObjects"> 154 <div id="disabledCondition" class="panelDisabled"></div>
140 155 <div id="panelObject" class="panelObjects"></div>
141 </div>
142 </div> 156 </div>
143 </div> 157 </div>
144 <div id="resizeBar" class="resizeBar"></div> 158 <div id="resizeBar" class="resizeBar"></div>
diff --git a/js/panels/Panel.reel/Panel.js b/js/panels/Panel.reel/Panel.js
index e0bf3f18..33f9b3a7 100755
--- a/js/panels/Panel.reel/Panel.js
+++ b/js/panels/Panel.reel/Panel.js
@@ -9,31 +9,56 @@ var Component = require("montage/ui/component").Component;
9 9
10exports.Panel = Montage.create(Component, { 10exports.Panel = Montage.create(Component, {
11 11
12 name: { value: "Panel" }, 12 name: {
13 collapsedHeight: {value: 26}, 13 value: "Panel"
14 _collapsed: {value: false}, 14 },
15 _height: { value: 200 }, 15
16 minHeight: {value: 200 }, 16 _collapsed: {
17 maxHeight: { value: null}, 17 value: false
18 flexible: {value: true}, 18 },
19 _locked: { value: false}, 19
20 isResizing: {value: false }, 20 _height: {
21 resizer: {value: null }, 21 value: 200
22 modulePath: {value: null}, 22 },
23 moduleName: {value: null}, 23
24 _contentComponent: {value: null}, 24 minHeight: {
25 25 value: 200
26 contentComponent: { 26 },
27 get: function() { 27
28 return this._contentComponent; 28 maxHeight: {
29 }, 29 value: null
30 set: function(val) { 30 },
31 if (val !== null && val !== this._contentComponent) { 31
32 this.panelContent.content = val; 32 flexible: {
33 this.panelContent.needsDraw = true; 33 value: true
34 this._contentComponent = val; 34 },
35 } 35
36 } 36 _locked: {
37 value: false
38 },
39
40 isResizing: {
41 value: false
42 },
43
44 _resizedHeight: {
45 value: 0
46 },
47
48 resizer: {
49 value: null
50 },
51
52 modulePath: {
53 value: null
54 },
55
56 moduleName: {
57 value: null
58 },
59
60 disabled: {
61 value:false
37 }, 62 },
38 63
39 collapsed: { 64 collapsed: {
@@ -63,10 +88,6 @@ exports.Panel = Montage.create(Component, {
63 } 88 }
64 }, 89 },
65 90
66 _resizedHeight: {
67 value: 0
68 },
69
70 locked: { 91 locked: {
71 get: function() { 92 get: function() {
72 return this._locked; 93 return this._locked;
@@ -94,17 +115,20 @@ exports.Panel = Montage.create(Component, {
94 115
95 prepareForDraw: { 116 prepareForDraw: {
96 value: function() { 117 value: function() {
97 //TODO: This line should not be here this line hits each time a panel is loaded. Will Need to move to instance call; 118 if(this.name === "Color") {
98 this.application.ninja.colorController.colorView = this.application.ninja.colorController.colorPanelBase.create(); 119 this.application.ninja.colorController.colorView = this.application.ninja.colorController.colorPanelBase.create();
99 var myContent; 120 }
100 var that = this; 121
101 122 if(this.modulePath && this.moduleName) {
102 myContent = require.async(this.modulePath) 123 // Load the slot content
103 .then(function(panelContent) { 124 var that = this;
104 var componentRequire = panelContent[that.moduleName]; 125 require.async(this.modulePath)
105 that.contentComponent = componentRequire.create(); 126 .then(function(panelContent) {
106 }) 127 var componentRequire = panelContent[that.moduleName];
107 .end(); 128 that.panelContent.content = componentRequire.create();
129 })
130 .end();
131 }
108 } 132 }
109 }, 133 },
110 134