OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /////////////////////////////////////////////////////////////////////////////// | 5 /////////////////////////////////////////////////////////////////////////////// |
6 // PrefCheckbox class: | 6 // PrefCheckbox class: |
7 | 7 |
8 // Define a constructor that uses an input element as its underlying element. | 8 // Define a constructor that uses an input element as its underlying element. |
9 var PrefCheckbox = cr.ui.define('input'); | 9 var PrefCheckbox = cr.ui.define('input'); |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 | 21 |
22 // Listen to pref changes. | 22 // Listen to pref changes. |
23 Preferences.getInstance().addEventListener(this.pref, | 23 Preferences.getInstance().addEventListener(this.pref, |
24 function(event) { | 24 function(event) { |
25 self.checked = event.value; | 25 self.checked = event.value; |
26 }); | 26 }); |
27 | 27 |
28 // Listen to user events. | 28 // Listen to user events. |
29 this.addEventListener('click', | 29 this.addEventListener('click', |
30 function(e) { | 30 function(e) { |
31 Preferences.setBooleanPref(self.pref, | 31 Preferences.setBooleanPref(self.pref, self.checked); |
32 self.checked); | |
33 }); | 32 }); |
34 } | 33 } |
35 }; | 34 }; |
36 | 35 |
37 /** | 36 /** |
38 * The preference name. | 37 * The preference name. |
39 * @type {string} | 38 * @type {string} |
40 */ | 39 */ |
41 cr.defineProperty(PrefCheckbox, 'pref', cr.PropertyKind.ATTR); | 40 cr.defineProperty(PrefCheckbox, 'pref', cr.PropertyKind.ATTR); |
42 | 41 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 self.selectedIndex = i; | 99 self.selectedIndex = i; |
101 return; | 100 return; |
102 } | 101 } |
103 } | 102 } |
104 self.selectedIndex = -1; | 103 self.selectedIndex = -1; |
105 }); | 104 }); |
106 | 105 |
107 // Listen to user events. | 106 // Listen to user events. |
108 this.addEventListener('change', | 107 this.addEventListener('change', |
109 function(e) { | 108 function(e) { |
110 Preferences.setStringPref(self.pref, | 109 switch(self.dataType) { |
111 self.options[self.selectedIndex].value); | 110 case 'number': |
| 111 Preferences.setIntegerPref(self.pref, |
| 112 self.options[self.selectedIndex].value); |
| 113 break; |
| 114 case 'boolean': |
| 115 Preferences.setBooleanValue(self.pref, |
| 116 self.options[self.selectedIndex].value); |
| 117 break; |
| 118 case 'string': |
| 119 Preferences.setStringPref(self.pref, |
| 120 self.options[self.selectedIndex].value); |
| 121 break; |
| 122 } |
112 }); | 123 }); |
113 }, | 124 }, |
114 | 125 |
115 /** | 126 /** |
116 * Sets up options in select element. | 127 * Sets up options in select element. |
117 * @param {Array} options List of option and their display text. | 128 * @param {Array} options List of option and their display text. |
118 * Each element in the array is an array of length 2 which contains options | 129 * Each element in the array is an array of length 2 which contains options |
119 * value in the first element and display text in the second element. | 130 * value in the first element and display text in the second element. |
120 * | 131 * |
121 * TODO(zelidrag): move this to that i18n template classes. | 132 * TODO(zelidrag): move this to that i18n template classes. |
122 */ | 133 */ |
123 initializeValues: function(options) { | 134 initializeValues: function(options) { |
124 options.forEach(function (values) { | 135 options.forEach(function (values) { |
| 136 if (this.dataType == undefined) |
| 137 this.dataType = typeof values[0]; |
125 this.appendChild(new Option(values[1], values[0])); | 138 this.appendChild(new Option(values[1], values[0])); |
126 }, this); | 139 }, this); |
127 } | 140 } |
128 }; | 141 }; |
129 | 142 |
130 /** | 143 /** |
131 * The preference name. | 144 * The preference name. |
132 * @type {string} | 145 * @type {string} |
133 */ | 146 */ |
134 cr.defineProperty(PrefSelect, 'pref', cr.PropertyKind.ATTR); | 147 cr.defineProperty(PrefSelect, 'pref', cr.PropertyKind.ATTR); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 self.blur(); | 180 self.blur(); |
168 }); | 181 }); |
169 } | 182 } |
170 }; | 183 }; |
171 | 184 |
172 /** | 185 /** |
173 * The preference name. | 186 * The preference name. |
174 * @type {string} | 187 * @type {string} |
175 */ | 188 */ |
176 cr.defineProperty(PrefTextField, 'pref', cr.PropertyKind.ATTR); | 189 cr.defineProperty(PrefTextField, 'pref', cr.PropertyKind.ATTR); |
OLD | NEW |