Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(289)

Side by Side Diff: chrome/browser/resources/options/pref_ui.js

Issue 3174032: Tweak preference code to work with or without the 'managed' property, makes f... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 cr.define('options', function() { 5 cr.define('options', function() {
6 6
7 var Preferences = options.Preferences; 7 var Preferences = options.Preferences;
8 ///////////////////////////////////////////////////////////////////////////// 8 /////////////////////////////////////////////////////////////////////////////
9 // PrefCheckbox class: 9 // PrefCheckbox class:
10 10
11 // Define a constructor that uses an input element as its underlying element. 11 // Define a constructor that uses an input element as its underlying element.
12 var PrefCheckbox = cr.ui.define('input'); 12 var PrefCheckbox = cr.ui.define('input');
13 13
14 PrefCheckbox.prototype = { 14 PrefCheckbox.prototype = {
15 // Set up the prototype chain 15 // Set up the prototype chain
16 __proto__: HTMLInputElement.prototype, 16 __proto__: HTMLInputElement.prototype,
17 17
18 /** 18 /**
19 * Initialization function for the cr.ui framework. 19 * Initialization function for the cr.ui framework.
20 */ 20 */
21 decorate: function() { 21 decorate: function() {
22 this.type = 'checkbox'; 22 this.type = 'checkbox';
23 var self = this; 23 var self = this;
24 24
25 // Listen to pref changes. 25 // Listen to pref changes.
26 Preferences.getInstance().addEventListener(this.pref, 26 Preferences.getInstance().addEventListener(this.pref,
27 function(event) { 27 function(event) {
28 self.managed = event.value['managed'] 28 self.checked = event.value['value'] ? event.value['value']
29 : event.value;
30 self.managed = event.value['managed'] ? event.value['managed']
31 : false;
29 self.disabled = self.managed; 32 self.disabled = self.managed;
30 self.checked = event.value['value'];
31 }); 33 });
32 34
33 // Listen to user events. 35 // Listen to user events.
34 this.addEventListener('click', 36 this.addEventListener('click',
35 function(e) { 37 function(e) {
36 Preferences.setBooleanPref(self.pref, self.checked); 38 Preferences.setBooleanPref(self.pref, self.checked);
37 }); 39 });
38 } 40 }
39 }; 41 };
40 42
(...skipping 16 matching lines...) Expand all
57 /** 59 /**
58 * Initialization function for the cr.ui framework. 60 * Initialization function for the cr.ui framework.
59 */ 61 */
60 decorate: function() { 62 decorate: function() {
61 this.type = 'radio'; 63 this.type = 'radio';
62 var self = this; 64 var self = this;
63 65
64 // Listen to pref changes. 66 // Listen to pref changes.
65 Preferences.getInstance().addEventListener(this.pref, 67 Preferences.getInstance().addEventListener(this.pref,
66 function(event) { 68 function(event) {
67 self.managed = event.value['managed'] 69 var value = event.value['value'] ? event.value['value']
70 : event.value;
71 self.managed = event.value['managed'] ? event.value['managed']
72 : false;
73 self.checked = String(value) == self.value;
68 self.disabled = self.managed; 74 self.disabled = self.managed;
69 self.checked = String(event.value['value']) == self.value;
70 }); 75 });
71 76
72 // Listen to user events. 77 // Listen to user events.
73 this.addEventListener('change', 78 this.addEventListener('change',
74 function(e) { 79 function(e) {
75 if(self.value == 'true' || self.value == 'false') { 80 if(self.value == 'true' || self.value == 'false') {
76 Preferences.setBooleanPref(self.pref, 81 Preferences.setBooleanPref(self.pref,
77 self.value == 'true'); 82 self.value == 'true');
78 } else { 83 } else {
79 Preferences.setIntegerPref(self.pref, 84 Preferences.setIntegerPref(self.pref,
(...skipping 29 matching lines...) Expand all
109 114
110 /** 115 /**
111 * Initialization function for the cr.ui framework. 116 * Initialization function for the cr.ui framework.
112 */ 117 */
113 decorate: function() { 118 decorate: function() {
114 var self = this; 119 var self = this;
115 120
116 // Listen to pref changes. 121 // Listen to pref changes.
117 Preferences.getInstance().addEventListener(this.pref, 122 Preferences.getInstance().addEventListener(this.pref,
118 function(event) { 123 function(event) {
119 self.managed = event.value['managed'] 124 self.value = event.value['value'] ? event.value['value']
125 : event.value;
126 self.managed = event.value['managed'] ? event.value['managed']
127 : false;
120 self.disabled = self.managed; 128 self.disabled = self.managed;
121 self.value = event.value['value'];
122 }); 129 });
123 130
124 // Listen to user events. 131 // Listen to user events.
125 this.addEventListener('change', 132 this.addEventListener('change',
126 function(e) { 133 function(e) {
127 Preferences.setIntegerPref(self.pref, self.value); 134 Preferences.setIntegerPref(self.pref, self.value);
128 }); 135 });
129 } 136 }
130 }; 137 };
131 138
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 __proto__: HTMLSelectElement.prototype, 191 __proto__: HTMLSelectElement.prototype,
185 192
186 /** 193 /**
187 * Initialization function for the cr.ui framework. 194 * Initialization function for the cr.ui framework.
188 */ 195 */
189 decorate: function() { 196 decorate: function() {
190 var self = this; 197 var self = this;
191 // Listen to pref changes. 198 // Listen to pref changes.
192 Preferences.getInstance().addEventListener(this.pref, 199 Preferences.getInstance().addEventListener(this.pref,
193 function(event) { 200 function(event) {
194 self.managed = event.value['managed'] 201 var value = event.value['value'] ? event.value['value']
202 : event.value;
203 self.managed = event.value['managed'] ? event.value['managed']
204 : false;
195 self.disabled = self.managed; 205 self.disabled = self.managed;
196 for (var i = 0; i < self.options.length; i++) { 206 for (var i = 0; i < self.options.length; i++) {
197 if (self.options[i].value == event.value['value']) { 207 if (self.options[i].value == value) {
198 self.selectedIndex = i; 208 self.selectedIndex = i;
199 return; 209 return;
200 } 210 }
201 } 211 }
202 // Item not found, select first item. 212 // Item not found, select first item.
203 self.selectedIndex = 0; 213 self.selectedIndex = 0;
204 }); 214 });
205 215
206 // Listen to user events. 216 // Listen to user events.
207 this.addEventListener('change', 217 this.addEventListener('change',
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 277
268 /** 278 /**
269 * Initialization function for the cr.ui framework. 279 * Initialization function for the cr.ui framework.
270 */ 280 */
271 decorate: function() { 281 decorate: function() {
272 var self = this; 282 var self = this;
273 283
274 // Listen to pref changes. 284 // Listen to pref changes.
275 Preferences.getInstance().addEventListener(this.pref, 285 Preferences.getInstance().addEventListener(this.pref,
276 function(event) { 286 function(event) {
277 self.managed = event.value['managed'] 287 self.value = event.value['value'] ? event.value['value']
288 : event.value;
289 self.managed = event.value['managed'] ? event.value['managed']
290 : false;
278 self.disabled = self.managed; 291 self.disabled = self.managed;
279 self.value = event.value['value'];
280 }); 292 });
281 293
282 // Listen to user events. 294 // Listen to user events.
283 this.addEventListener('change', 295 this.addEventListener('change',
284 function(e) { 296 function(e) {
285 Preferences.setStringPref(self.pref, self.value); 297 Preferences.setStringPref(self.pref, self.value);
286 }); 298 });
287 299
288 window.addEventListener('unload', 300 window.addEventListener('unload',
289 function() { 301 function() {
(...skipping 15 matching lines...) Expand all
305 PrefNumber: PrefNumber, 317 PrefNumber: PrefNumber,
306 PrefNumeric: PrefNumeric, 318 PrefNumeric: PrefNumeric,
307 PrefRadio: PrefRadio, 319 PrefRadio: PrefRadio,
308 PrefRange: PrefRange, 320 PrefRange: PrefRange,
309 PrefSelect: PrefSelect, 321 PrefSelect: PrefSelect,
310 PrefTextField: PrefTextField 322 PrefTextField: PrefTextField
311 }; 323 };
312 324
313 }); 325 });
314 326
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698