aboutsummaryrefslogtreecommitdiff
path: root/js/panels/properties
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/properties')
-rwxr-xr-xjs/panels/properties/content.reel/content.js38
-rwxr-xr-xjs/panels/properties/sections/custom-rows/color-select.reel/color-select.html4
-rwxr-xr-xjs/panels/properties/sections/custom-rows/color-select.reel/color-select.js21
-rwxr-xr-xjs/panels/properties/sections/custom.reel/custom.js5
4 files changed, 67 insertions, 1 deletions
diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js
index 8fa33a75..72c02ffd 100755
--- a/js/panels/properties/content.reel/content.js
+++ b/js/panels/properties/content.reel/content.js
@@ -55,6 +55,7 @@ exports.Content = Montage.create(Component, {
55 } 55 }
56 56
57 this.eventManager.addEventListener("openDocument", this, false); 57 this.eventManager.addEventListener("openDocument", this, false);
58 this.eventManager.addEventListener("switchDocument", this, false);
58 } 59 }
59 }, 60 },
60 61
@@ -74,6 +75,21 @@ exports.Content = Montage.create(Component, {
74 } 75 }
75 }, 76 },
76 77
78 handleSwitchDocument: {
79 value: function(){
80 // For now always assume that the stage is selected by default
81 if(this.application.ninja.selectedElements.length === 0) {
82 this.displayStageProperties();
83 }else {
84 if(this.application.ninja.selectedElements.length === 1) {
85 this.displayElementProperties(this.application.ninja.selectedElements[0]._element);
86 } else {
87 this.displayGroupProperties(this.application.ninja.selectedElements);
88 }
89 }
90 }
91 },
92
77 /** 93 /**
78 * Blur and Key up to handle change in the Element ID field. 94 * Blur and Key up to handle change in the Element ID field.
79 */ 95 */
@@ -156,6 +172,17 @@ exports.Content = Montage.create(Component, {
156 this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width")); 172 this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(stage, "width"));
157 173
158 if(this.customPi !== stage.elementModel.pi) { 174 if(this.customPi !== stage.elementModel.pi) {
175 // We need to unregister color chips from the previous selection from the Color Model
176 var len = this.customSections.length;
177 for(var n = 0, controls; n < len; n++) {
178 controls = this.customSections[n].content.controls;
179 if(controls["colorSelect"]) {
180 controls["colorSelect"].destroy();
181 } else if(controls["stageBackground"]) {
182 controls["stageBackground"].destroy();
183 }
184 }
185
159 this.customPi = stage.elementModel.pi; 186 this.customPi = stage.elementModel.pi;
160 this.displayCustomProperties(stage, stage.elementModel.pi); 187 this.displayCustomProperties(stage, stage.elementModel.pi);
161 } 188 }
@@ -221,6 +248,17 @@ exports.Content = Montage.create(Component, {
221 248
222 // Custom Section 249 // Custom Section
223 if(this.customPi !== el.elementModel.pi) { 250 if(this.customPi !== el.elementModel.pi) {
251 // We need to unregister color chips from the previous selection from the Color Model
252 var len = this.customSections.length;
253 for(var n = 0, controls; n < len; n++) {
254 controls = this.customSections[n].content.controls;
255 if(controls["colorSelect"]) {
256 controls["colorSelect"].destroy();
257 } else if(controls["stageBackground"]) {
258 controls["stageBackground"].destroy();
259 }
260 }
261
224 this.customPi = el.elementModel.pi; 262 this.customPi = el.elementModel.pi;
225 this.displayCustomProperties(el, el.elementModel.pi); 263 this.displayCustomProperties(el, el.elementModel.pi);
226 } 264 }
diff --git a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html
index 9c2588b9..96cc4de7 100755
--- a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html
+++ b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.html
@@ -14,7 +14,9 @@
14 "properties" : { 14 "properties" : {
15 "element" : {"#": "section"}, 15 "element" : {"#": "section"},
16 "Stroke" : {"#": "Stroke"}, 16 "Stroke" : {"#": "Stroke"},
17 "Fill" : {"#": "Fill"} 17 "Fill" : {"#": "Fill"},
18 "strokeChip" : {"@": "colorChip"},
19 "fillChip" : {"@": "colorChip2"}
18 } 20 }
19 }, 21 },
20 22
diff --git a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js
index 60f8efef..3e81ff67 100755
--- a/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js
+++ b/js/panels/properties/sections/custom-rows/color-select.reel/color-select.js
@@ -17,6 +17,14 @@ exports.ColorSelect = Montage.create(Component, {
17 value: null 17 value: null
18 }, 18 },
19 19
20 strokeChip: {
21 value: null
22 },
23
24 fillChip: {
25 value: null
26 },
27
20 handleChange: { 28 handleChange: {
21 value: function(e) { 29 value: function(e) {
22 30
@@ -57,6 +65,19 @@ exports.ColorSelect = Montage.create(Component, {
57// } 65// }
58 66
59 } 67 }
68 },
69
70 destroy: {
71 value: function() {
72 if(this.strokeChip)
73 {
74 this.strokeChip.destroy();
75 }
76 if(this.fillChip)
77 {
78 this.fillChip.destroy();
79 }
80 }
60 } 81 }
61 82
62}); \ No newline at end of file 83}); \ No newline at end of file
diff --git a/js/panels/properties/sections/custom.reel/custom.js b/js/panels/properties/sections/custom.reel/custom.js
index a2b9b9fa..a537d323 100755
--- a/js/panels/properties/sections/custom.reel/custom.js
+++ b/js/panels/properties/sections/custom.reel/custom.js
@@ -59,6 +59,8 @@ exports.CustomSection = Montage.create(Component, {
59 if(obj1.visible === false) tmpRow.colorVisible = obj1.visible; 59 if(obj1.visible === false) tmpRow.colorVisible = obj1.visible;
60 if(obj2.visible === false) tmpRow.color2Visible = obj2.visible; 60 if(obj2.visible === false) tmpRow.color2Visible = obj2.visible;
61 61
62 // TODO - Hack for now to reference the color select object to unregister color chips
63 this.controls["colorSelect"] = tmpRow;
62 } 64 }
63 else 65 else
64 { 66 {
@@ -344,6 +346,9 @@ exports.CustomSection = Montage.create(Component, {
344 346
345 this.controls[aField.id] = obj; 347 this.controls[aField.id] = obj;
346 348
349 // TODO - Hack for now to reference the color select object to unregister color chips
350 this.controls["stageBackground"] = obj;
351
347 return obj; 352 return obj;
348 } 353 }
349 } 354 }