aboutsummaryrefslogtreecommitdiff
path: root/js/components/radio.reel/radio.js
diff options
context:
space:
mode:
authorAnanya Sen2012-05-21 16:43:01 -0700
committerAnanya Sen2012-05-21 16:43:01 -0700
commitaa1cf81d980f20d532ae33575503b67fb5d68b7c (patch)
tree69b31eead4c1885827590c10c0fb55948b71af3e /js/components/radio.reel/radio.js
parent2cc8e58f6bb9f64a7473e62aecd013fa55167231 (diff)
parent10471fc02fa75040baf337bc62ff683854793f81 (diff)
downloadninja-aa1cf81d980f20d532ae33575503b67fb5d68b7c.tar.gz
Merge branch 'refs/heads/master-dom-architecture' into dom-architecture
Diffstat (limited to 'js/components/radio.reel/radio.js')
-rwxr-xr-xjs/components/radio.reel/radio.js24
1 files changed, 15 insertions, 9 deletions
diff --git a/js/components/radio.reel/radio.js b/js/components/radio.reel/radio.js
index c661ec11..cec4f52e 100755
--- a/js/components/radio.reel/radio.js
+++ b/js/components/radio.reel/radio.js
@@ -62,7 +62,7 @@ exports.RadioGroup = Montage.create(Component, {
62 { 62 {
63 value:function(radio) 63 value:function(radio)
64 { 64 {
65 radio.element.setAttribute("name", this.name); 65 radio.radioField.setAttribute("name", this.name);
66 radio.addEventListener("change", this, false); 66 radio.addEventListener("change", this, false);
67 this.radios.push(radio); 67 this.radios.push(radio);
68 } 68 }
@@ -104,6 +104,14 @@ exports.Radio = Montage.create(Component, {
104 value: null 104 value: null
105 }, 105 },
106 106
107 labelField: {
108 value: null
109 },
110
111 radioField: {
112 value: null
113 },
114
107 _checked: { 115 _checked: {
108 enumerable: false, 116 enumerable: false,
109 value: false 117 value: false
@@ -140,13 +148,13 @@ exports.Radio = Montage.create(Component, {
140 { 148 {
141 this._valueSyncedWithInputField = true; 149 this._valueSyncedWithInputField = true;
142 this._wasSetByCode = false; 150 this._wasSetByCode = false;
143 this.checked = this.element.checked; 151 this.checked = this.radioField.checked;
144 } 152 }
145 }, 153 },
146 handleClick: { 154 handleClick: {
147 value: function() { 155 value: function() {
148 this._wasSetByCode = false; 156 this._wasSetByCode = false;
149 this.checked = !this.element.checked; 157 this.checked = !this.radioField.checked;
150 } 158 }
151 }, 159 },
152 160
@@ -154,7 +162,7 @@ exports.Radio = Montage.create(Component, {
154 value: function() { 162 value: function() {
155 if(!this._valueSyncedWithInputField) 163 if(!this._valueSyncedWithInputField)
156 { 164 {
157 this.element.checked = this._checked; 165 this.radioField.checked = this._checked;
158 } 166 }
159 this._valueSyncedWithInputField = false; 167 this._valueSyncedWithInputField = false;
160 } 168 }
@@ -163,15 +171,13 @@ exports.Radio = Montage.create(Component, {
163 prepareForDraw: { 171 prepareForDraw: {
164 value: function() { 172 value: function() {
165 if (this.label !== null) { 173 if (this.label !== null) {
166 var b = document.createElement("label"); 174 this.labelField.innerHTML = this.label;
167 b.innerHTML = this.label;
168 this.element.appendChild(b);
169 b.addEventListener("click", this, false);
170 } 175 }
176 this.element.addEventListener("click", this, false);
171 if (this.group !== null) { 177 if (this.group !== null) {
172 this.group.addRadio(this); 178 this.group.addRadio(this);
173 } 179 }
174 this.element.addEventListener("change", this, false); 180 this.radioField.addEventListener("change", this, false);
175 } 181 }
176 } 182 }
177 183