| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // TODO(jhawkins): Add dialog-pref support to all preference controls. | 5 // TODO(jhawkins): Add dialog-pref support to all preference controls. |
| 6 | 6 |
| 7 cr.define('options', function() { | 7 cr.define('options', function() { |
| 8 | 8 |
| 9 var Preferences = options.Preferences; | 9 var Preferences = options.Preferences; |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 if (el.disabled && (Object.keys(el.disabledReasons).length == 0)) { | 24 if (el.disabled && (Object.keys(el.disabledReasons).length == 0)) { |
| 25 // The element has been previously disabled without a reason, so we add | 25 // The element has been previously disabled without a reason, so we add |
| 26 // one to keep it disabled. | 26 // one to keep it disabled. |
| 27 el.disabledReasons['other'] = true; | 27 el.disabledReasons['other'] = true; |
| 28 } | 28 } |
| 29 if (!el.disabled) { | 29 if (!el.disabled) { |
| 30 // If the element is not disabled, there should be no reason, except for | 30 // If the element is not disabled, there should be no reason, except for |
| 31 // 'other'. | 31 // 'other'. |
| 32 delete el.disabledReasons['other']; | 32 delete el.disabledReasons['other']; |
| 33 if (Object.keys(el.disabledReasons).length > 0) | 33 if (Object.keys(el.disabledReasons).length > 0) |
| 34 console.error("Element is not disabled but should be"); | 34 console.error('Element is not disabled but should be'); |
| 35 } | 35 } |
| 36 if (disabled) { | 36 if (disabled) { |
| 37 el.disabledReasons[reason] = true; | 37 el.disabledReasons[reason] = true; |
| 38 } else { | 38 } else { |
| 39 delete el.disabledReasons[reason]; | 39 delete el.disabledReasons[reason]; |
| 40 } | 40 } |
| 41 el.disabled = Object.keys(el.disabledReasons).length > 0; | 41 el.disabled = Object.keys(el.disabledReasons).length > 0; |
| 42 } | 42 } |
| 43 | 43 |
| 44 /** | 44 /** |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 updateElementState_(self, event); | 96 updateElementState_(self, event); |
| 97 }); | 97 }); |
| 98 | 98 |
| 99 // Listen to user events. | 99 // Listen to user events. |
| 100 this.addEventListener( | 100 this.addEventListener( |
| 101 'change', | 101 'change', |
| 102 function(e) { | 102 function(e) { |
| 103 if (self.customChangeHandler(e)) | 103 if (self.customChangeHandler(e)) |
| 104 return; | 104 return; |
| 105 var value = self.inverted_pref ? !self.checked : self.checked; | 105 var value = self.inverted_pref ? !self.checked : self.checked; |
| 106 switch(self.valueType) { | 106 switch (self.valueType) { |
| 107 case 'number': | 107 case 'number': |
| 108 Preferences.setIntegerPref(self.pref, | 108 Preferences.setIntegerPref(self.pref, |
| 109 Number(value), self.metric); | 109 Number(value), self.metric); |
| 110 break; | 110 break; |
| 111 case 'boolean': | 111 case 'boolean': |
| 112 Preferences.setBooleanPref(self.pref, | 112 Preferences.setBooleanPref(self.pref, |
| 113 value, self.metric); | 113 value, self.metric); |
| 114 break; | 114 break; |
| 115 } | 115 } |
| 116 }); | 116 }); |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 }); | 536 }); |
| 537 | 537 |
| 538 // Listen to user events. | 538 // Listen to user events. |
| 539 this.addEventListener('change', | 539 this.addEventListener('change', |
| 540 function(e) { | 540 function(e) { |
| 541 if (!self.dataType) { | 541 if (!self.dataType) { |
| 542 console.error('undefined data type for <select> pref'); | 542 console.error('undefined data type for <select> pref'); |
| 543 return; | 543 return; |
| 544 } | 544 } |
| 545 | 545 |
| 546 switch(self.dataType) { | 546 switch (self.dataType) { |
| 547 case 'number': | 547 case 'number': |
| 548 Preferences.setIntegerPref(self.pref, | 548 Preferences.setIntegerPref(self.pref, |
| 549 self.options[self.selectedIndex].value, self.metric); | 549 self.options[self.selectedIndex].value, self.metric); |
| 550 break; | 550 break; |
| 551 case 'double': | 551 case 'double': |
| 552 Preferences.setDoublePref(self.pref, | 552 Preferences.setDoublePref(self.pref, |
| 553 self.options[self.selectedIndex].value, self.metric); | 553 self.options[self.selectedIndex].value, self.metric); |
| 554 break; | 554 break; |
| 555 case 'boolean': | 555 case 'boolean': |
| 556 var option = self.options[self.selectedIndex]; | 556 var option = self.options[self.selectedIndex]; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 622 function(event) { | 622 function(event) { |
| 623 self.value = event.value && event.value['value'] != undefined ? | 623 self.value = event.value && event.value['value'] != undefined ? |
| 624 event.value['value'] : event.value; | 624 event.value['value'] : event.value; |
| 625 | 625 |
| 626 updateElementState_(self, event); | 626 updateElementState_(self, event); |
| 627 }); | 627 }); |
| 628 | 628 |
| 629 // Listen to user events. | 629 // Listen to user events. |
| 630 this.addEventListener('change', | 630 this.addEventListener('change', |
| 631 function(e) { | 631 function(e) { |
| 632 switch(self.dataType) { | 632 switch (self.dataType) { |
| 633 case 'number': | 633 case 'number': |
| 634 Preferences.setIntegerPref(self.pref, self.value, self.metric); | 634 Preferences.setIntegerPref(self.pref, self.value, self.metric); |
| 635 break; | 635 break; |
| 636 case 'double': | 636 case 'double': |
| 637 Preferences.setDoublePref(self.pref, self.value, self.metric); | 637 Preferences.setDoublePref(self.pref, self.value, self.metric); |
| 638 break; | 638 break; |
| 639 case 'url': | 639 case 'url': |
| 640 Preferences.setURLPref(self.pref, self.value, self.metric); | 640 Preferences.setURLPref(self.pref, self.value, self.metric); |
| 641 break; | 641 break; |
| 642 default: | 642 default: |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 745 PrefNumber: PrefNumber, | 745 PrefNumber: PrefNumber, |
| 746 PrefNumeric: PrefNumeric, | 746 PrefNumeric: PrefNumeric, |
| 747 PrefRadio: PrefRadio, | 747 PrefRadio: PrefRadio, |
| 748 PrefRange: PrefRange, | 748 PrefRange: PrefRange, |
| 749 PrefSelect: PrefSelect, | 749 PrefSelect: PrefSelect, |
| 750 PrefTextField: PrefTextField, | 750 PrefTextField: PrefTextField, |
| 751 PrefButton: PrefButton | 751 PrefButton: PrefButton |
| 752 }; | 752 }; |
| 753 | 753 |
| 754 }); | 754 }); |
| OLD | NEW |