From 65cea92d839bcd25ea9094a0798190a4dc4bea35 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 17 May 2012 00:16:43 -0700 Subject: Adding a disabled property to the label-checkbox. Signed-off-by: Valerio Virgillito --- .../ui/label-checkbox.reel/label-checkbox.js | 22 +++++++++++++++++++++- .../properties.reel/sections/custom.reel/custom.js | 8 ++++---- 2 files changed, 25 insertions(+), 5 deletions(-) (limited to 'js') 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, { } }, + _enabled: { + enumerable: false, + value: true + }, + + enabled: { + enumerable: true, + serializable: true, + get: function() { + return this._enabled; + }, + set: function(value) { + if(value !== this._enabled) { + this._enabled = value; + this.needsDraw = true; + } + } + }, + value: { value: false }, @@ -52,7 +71,7 @@ exports.LabelCheckbox = Montage.create(Component, { e.initEvent("change", true, true); e.type = "change"; e.wasSetByCode = false; - this.value = e.value = this._checkbox.checked; + this.checked = this.value = e.value = this._checkbox.checked; this.dispatchEvent(e); } }, @@ -61,6 +80,7 @@ exports.LabelCheckbox = Montage.create(Component, { value: function() { this._labelText.value = this.label; this._checkbox.checked = this.checked; + this._checkbox.disabled = !this._enabled; } } 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, { if(aField.enabled.boundObject) { // TODO - For now, always bind to this.controls[someProperty] Object.defineBinding(obj, "enabled", { - boundObject: this.controls, - boundObjectPropertyPath: aField.enabled.boundProperty, - oneway: false - }); + boundObject: this.controls, + boundObjectPropertyPath: aField.enabled.boundProperty, + oneway: false + }); } else { obj.enabled = aField.enabled; } -- cgit v1.2.3