aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/components/ui/label-checkbox.reel/label-checkbox.js22
-rwxr-xr-xjs/panels/properties.reel/sections/custom.reel/custom.js8
2 files changed, 25 insertions, 5 deletions
diff --git a/js/components/ui/label-checkbox.reel/label-checkbox.js b/js/components/ui/label-checkbox.reel/label-checkbox.js
index 82c01262..21b72cb5 100755
--- a/js/components/ui/label-checkbox.reel/label-checkbox.js
+++ b/js/components/ui/label-checkbox.reel/label-checkbox.js
@@ -42,6 +42,25 @@ exports.LabelCheckbox = Montage.create(Component, {
42 } 42 }
43 }, 43 },
44 44
45 _enabled: {
46 enumerable: false,
47 value: true
48 },
49
50 enabled: {
51 enumerable: true,
52 serializable: true,
53 get: function() {
54 return this._enabled;
55 },
56 set: function(value) {
57 if(value !== this._enabled) {
58 this._enabled = value;
59 this.needsDraw = true;
60 }
61 }
62 },
63
45 value: { 64 value: {
46 value: false 65 value: false
47 }, 66 },
@@ -52,7 +71,7 @@ exports.LabelCheckbox = Montage.create(Component, {
52 e.initEvent("change", true, true); 71 e.initEvent("change", true, true);
53 e.type = "change"; 72 e.type = "change";
54 e.wasSetByCode = false; 73 e.wasSetByCode = false;
55 this.value = e.value = this._checkbox.checked; 74 this.checked = this.value = e.value = this._checkbox.checked;
56 this.dispatchEvent(e); 75 this.dispatchEvent(e);
57 } 76 }
58 }, 77 },
@@ -61,6 +80,7 @@ exports.LabelCheckbox = Montage.create(Component, {
61 value: function() { 80 value: function() {
62 this._labelText.value = this.label; 81 this._labelText.value = this.label;
63 this._checkbox.checked = this.checked; 82 this._checkbox.checked = this.checked;
83 this._checkbox.disabled = !this._enabled;
64 } 84 }
65 85
66 } 86 }
diff --git a/js/panels/properties.reel/sections/custom.reel/custom.js b/js/panels/properties.reel/sections/custom.reel/custom.js
index 3ab32888..49b4414e 100755
--- a/js/panels/properties.reel/sections/custom.reel/custom.js
+++ b/js/panels/properties.reel/sections/custom.reel/custom.js
@@ -262,10 +262,10 @@ exports.CustomSection = Montage.create(Component, {
262 if(aField.enabled.boundObject) { 262 if(aField.enabled.boundObject) {
263 // TODO - For now, always bind to this.controls[someProperty] 263 // TODO - For now, always bind to this.controls[someProperty]
264 Object.defineBinding(obj, "enabled", { 264 Object.defineBinding(obj, "enabled", {
265 boundObject: this.controls, 265 boundObject: this.controls,
266 boundObjectPropertyPath: aField.enabled.boundProperty, 266 boundObjectPropertyPath: aField.enabled.boundProperty,
267 oneway: false 267 oneway: false
268 }); 268 });
269 } else { 269 } else {
270 obj.enabled = aField.enabled; 270 obj.enabled = aField.enabled;
271 } 271 }