aboutsummaryrefslogtreecommitdiff
path: root/js/panels/properties
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/properties')
-rw-r--r--js/panels/properties/content.reel/content.js32
-rw-r--r--js/panels/properties/sections/custom.reel/custom.js14
2 files changed, 35 insertions, 11 deletions
diff --git a/js/panels/properties/content.reel/content.js b/js/panels/properties/content.reel/content.js
index 34c38e70..0088447a 100644
--- a/js/panels/properties/content.reel/content.js
+++ b/js/panels/properties/content.reel/content.js
@@ -97,10 +97,24 @@ exports.Content = Montage.create(Component, {
97 value: function(event) { 97 value: function(event) {
98// console.log("Element Change PI ", event.detail.source); // If the event comes from the pi don't need to update 98// console.log("Element Change PI ", event.detail.source); // If the event comes from the pi don't need to update
99 if(event.detail.source && event.detail.source !== "pi") { 99 if(event.detail.source && event.detail.source !== "pi") {
100 this.positionSize.leftPosition = parseFloat(ElementsMediator.getProperty(this.application.ninja.selectedElements[0]._element, "left")); 100 // TODO - This should only update the properties that were changed.
101 this.positionSize.topPosition = parseFloat(ElementsMediator.getProperty(this.application.ninja.selectedElements[0]._element, "top")); 101 var el = this.application.ninja.selectedElements[0]._element || this.application.ninja.selectedElements[0];
102 this.positionSize.leftPosition = parseFloat(ElementsMediator.getProperty(el, "left"));
103 this.positionSize.topPosition = parseFloat(ElementsMediator.getProperty(el, "top"));
104 this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height"));
105 this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(el, "width"));
106
107 if(this.threeD.inGlobalMode)
108 {
109 this.threeD.x3D = ElementsMediator.get3DProperty(el, "x3D");
110 this.threeD.y3D = ElementsMediator.get3DProperty(el, "y3D");
111 this.threeD.z3D = ElementsMediator.get3DProperty(el, "z3D");
112 this.threeD.xAngle = ElementsMediator.get3DProperty(el, "xAngle");
113 this.threeD.yAngle = ElementsMediator.get3DProperty(el, "yAngle");
114 this.threeD.zAngle = ElementsMediator.get3DProperty(el, "zAngle");
102 } 115 }
103 } 116 }
117 }
104 }, 118 },
105 119
106 handleSelectionChange: { 120 handleSelectionChange: {
@@ -183,8 +197,11 @@ exports.Content = Montage.create(Component, {
183 197
184 if(control.type !== "color") { 198 if(control.type !== "color") {
185 currentValue = ElementsMediator.getProperty(el, control.prop, control.valueMutator); 199 currentValue = ElementsMediator.getProperty(el, control.prop, control.valueMutator);
186 currentValue ? currentValue = currentValue : currentValue = control.defaultValue; 200 if(currentValue === null)
187 this.customSections[0].content.controls[control.id] = currentValue; 201 {
202 currentValue = control.defaultValue;
203 }
204 this.customSections[i].content.controls[control.id] = currentValue;
188 } 205 }
189 else 206 else
190 { 207 {
@@ -198,7 +215,6 @@ exports.Content = Montage.create(Component, {
198 this.application.ninja.colorController.colorModel.input = "fill"; 215 this.application.ninja.colorController.colorModel.input = "fill";
199 } 216 }
200 217
201 debugger;
202 if(currentValue) 218 if(currentValue)
203 { 219 {
204 if(currentValue.mode === "gradient") 220 if(currentValue.mode === "gradient")
@@ -270,12 +286,6 @@ exports.Content = Montage.create(Component, {
270 286
271 e.units ? newValue = e.value + e.units : newValue = e.value; 287 e.units ? newValue = e.value + e.units : newValue = e.value;
272 288
273 if(e.prop === "border-width") {// || e.prop === "border-style") {
274 ElementsMediator.setProperty(this.application.ninja.selectedElements, "border-style", [this.customSections[0].content.controls.borderStyle], "Change", "pi");
275 } else if(e.prop === "border-style") {
276 ElementsMediator.setProperty(this.application.ninja.selectedElements, "border-width", [this.customSections[0].content.controls.borderWidth + "px"], "Change", "pi");
277 }
278
279 ElementsMediator.setProperty(this.application.ninja.selectedElements, e.prop, [newValue], "Change", "pi"); 289 ElementsMediator.setProperty(this.application.ninja.selectedElements, e.prop, [newValue], "Change", "pi");
280 290
281 } 291 }
diff --git a/js/panels/properties/sections/custom.reel/custom.js b/js/panels/properties/sections/custom.reel/custom.js
index 2b5b522a..992db8e6 100644
--- a/js/panels/properties/sections/custom.reel/custom.js
+++ b/js/panels/properties/sections/custom.reel/custom.js
@@ -186,6 +186,8 @@ exports.CustomSection = Montage.create(Component, {
186 if (aField.value) obj.value = aField.value; 186 if (aField.value) obj.value = aField.value;
187 if (aField.labelField) obj.labelField = aField.labelField; 187 if (aField.labelField) obj.labelField = aField.labelField;
188 if (aField.labelFunction) obj.labelFunction = aField.labelFunction; 188 if (aField.labelFunction) obj.labelFunction = aField.labelFunction;
189 if (aField.dataField) obj.dataField = aField.dataField;
190 if (aField.dataFunction) obj.dataFunction = aField.dataFunction;
189 if (aField.items) { 191 if (aField.items) {
190 if(aField.items.boundObject) { 192 if(aField.items.boundObject) {
191 obj.items = eval(aField.items.boundObject)[aField.items.boundProperty]; 193 obj.items = eval(aField.items.boundObject)[aField.items.boundProperty];
@@ -193,6 +195,18 @@ exports.CustomSection = Montage.create(Component, {
193 obj.items = aField.items; 195 obj.items = aField.items;
194 } 196 }
195 } 197 }
198 if (aField.enabled) {
199 if(aField.enabled.boundObject) {
200 // TODO - For now, always bind to this.controls[someProperty]
201 Object.defineBinding(obj, "enabled", {
202 boundObject: this.controls,
203 boundObjectPropertyPath: aField.enabled.boundProperty,
204 oneway: false
205 });
206 } else {
207 obj.enabled = aField.enabled;
208 }
209 }
196 210
197 obj.addEventListener("change", this, false); 211 obj.addEventListener("change", this, false);
198// 212//