diff options
Diffstat (limited to 'js/components')
-rwxr-xr-x | js/components/hottext.reel/hottext.js | 13 | ||||
-rwxr-xr-x | js/components/hottextunit.reel/hottextunit.js | 9 |
2 files changed, 17 insertions, 5 deletions
diff --git a/js/components/hottext.reel/hottext.js b/js/components/hottext.reel/hottext.js index 0480597a..93e6e745 100755 --- a/js/components/hottext.reel/hottext.js +++ b/js/components/hottext.reel/hottext.js | |||
@@ -121,13 +121,19 @@ var HotText = exports.HotText = Montage.create(SliderBase, { | |||
121 | value: 2000 | 121 | value: 2000 |
122 | }, | 122 | }, |
123 | 123 | ||
124 | // Flag used to dispatch a single change event if either or both of value and units are changed | ||
125 | _unitsModified: { | ||
126 | enumerable: false, | ||
127 | value: false | ||
128 | }, | ||
129 | |||
124 | value: { | 130 | value: { |
125 | serializable: true, | 131 | serializable: true, |
126 | enumerable: true, | 132 | enumerable: true, |
127 | get: function() { | 133 | get: function() { |
128 | return this._value; | 134 | return this._value; |
129 | }, | 135 | }, |
130 | set: function(value, fromInput) { | 136 | set: function(value) { |
131 | if (isNaN(value)) { | 137 | if (isNaN(value)) { |
132 | this._valueSyncedWithInputField = false; | 138 | this._valueSyncedWithInputField = false; |
133 | this.needsDraw = true; | 139 | this.needsDraw = true; |
@@ -149,6 +155,9 @@ var HotText = exports.HotText = Montage.create(SliderBase, { | |||
149 | this._valueSyncedWithInputField = false; | 155 | this._valueSyncedWithInputField = false; |
150 | this.needsDraw = true; | 156 | this.needsDraw = true; |
151 | this._dispatchActionEvent(); | 157 | this._dispatchActionEvent(); |
158 | } else if(this._unitsModified) { | ||
159 | // Need to dispatch change event if units changed | ||
160 | this._dispatchActionEvent(); | ||
152 | } | 161 | } |
153 | } | 162 | } |
154 | }, | 163 | }, |
@@ -164,7 +173,7 @@ var HotText = exports.HotText = Montage.create(SliderBase, { | |||
164 | enumerable: false, | 173 | enumerable: false, |
165 | value: function() { | 174 | value: function() { |
166 | this._setEventFlags("change", false); | 175 | this._setEventFlags("change", false); |
167 | Object.getPropertyDescriptor(this, "value").set.call(this, this.inputFunction(this.element.value), true); | 176 | this.value = this.inputFunction(this.element.value); |
168 | } | 177 | } |
169 | }, | 178 | }, |
170 | 179 | ||
diff --git a/js/components/hottextunit.reel/hottextunit.js b/js/components/hottextunit.reel/hottextunit.js index 448eb9d7..2a89db03 100755 --- a/js/components/hottextunit.reel/hottextunit.js +++ b/js/components/hottextunit.reel/hottextunit.js | |||
@@ -40,11 +40,14 @@ var HotTextUnit = exports.HotTextUnit = Montage.create(HotText, { | |||
40 | if(this._acceptableUnits.indexOf(value) !== -1) | 40 | if(this._acceptableUnits.indexOf(value) !== -1) |
41 | { | 41 | { |
42 | this._units = value; | 42 | this._units = value; |
43 | this._unitsModified = true; | ||
43 | this.needsDraw = true; | 44 | this.needsDraw = true; |
44 | 45 | ||
45 | this._setEventFlags("change", false); | 46 | this._setEventFlags("change", true); |
46 | this._dispatchActionEvent(); | 47 | this._dispatchActionEvent(); |
47 | } | 48 | } |
49 | } else { | ||
50 | this._unitsModified = false; | ||
48 | } | 51 | } |
49 | } | 52 | } |
50 | }, | 53 | }, |
@@ -89,13 +92,13 @@ var HotTextUnit = exports.HotTextUnit = Montage.create(HotText, { | |||
89 | var match = (unitsString.replace(noSpaces, "$2")).toLowerCase(); | 92 | var match = (unitsString.replace(noSpaces, "$2")).toLowerCase(); |
90 | if(match) | 93 | if(match) |
91 | { | 94 | { |
92 | Object.getPropertyDescriptor(this, "units").set.call(this, match); | 95 | this.units = match; |
93 | } | 96 | } |
94 | } | 97 | } |
95 | 98 | ||
96 | this._setEventFlags("change", false); | 99 | this._setEventFlags("change", false); |
97 | // Moving this call to after setting the value since value changes are dispatching events before units are set | 100 | // Moving this call to after setting the value since value changes are dispatching events before units are set |
98 | Object.getPropertyDescriptor(this, "value").set.call(this, this.inputFunction(inputString), false); | 101 | this.value = this.inputFunction(inputString); |
99 | } | 102 | } |
100 | }, | 103 | }, |
101 | 104 | ||