| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 /** | |
| 6 * @fileoverview 'settings-manage-languages-page' is a sub-page for enabling | |
| 7 * and disabling languages. | |
| 8 */ | |
| 9 Polymer({ | |
| 10 is: 'settings-manage-languages-page', | |
| 11 | |
| 12 properties: { | |
| 13 /** | |
| 14 * Preferences state. | |
| 15 */ | |
| 16 prefs: { | |
| 17 type: Object, | |
| 18 notify: true, | |
| 19 }, | |
| 20 | |
| 21 /** | |
| 22 * @type {!LanguagesModel|undefined} | |
| 23 */ | |
| 24 languages: { | |
| 25 type: Object, | |
| 26 notify: true, | |
| 27 }, | |
| 28 | |
| 29 /** @type {!LanguageHelper} */ | |
| 30 languageHelper: Object, | |
| 31 }, | |
| 32 | |
| 33 /** | |
| 34 * @param {!chrome.languageSettingsPrivate.Language} language | |
| 35 * @param {!Object} change Polymer change object (provided in the HTML so this | |
| 36 * gets called whenever languages.enabled.* changes). | |
| 37 * @return {boolean} | |
| 38 * @private | |
| 39 */ | |
| 40 isCheckboxChecked_: function(language, change) { | |
| 41 return this.languageHelper.isLanguageEnabled(language.code); | |
| 42 }, | |
| 43 | |
| 44 /** | |
| 45 * Determines whether a language must be enabled. If so, the checkbox in the | |
| 46 * available languages list should not be changeable. | |
| 47 * @param {!chrome.languageSettingsPrivate.Language} language | |
| 48 * @param {!Object} change Polymer change object (provided in the HTML so this | |
| 49 * gets called whenever languages.enabled.* changes). | |
| 50 * @return {boolean} | |
| 51 * @private | |
| 52 */ | |
| 53 isLanguageRequired_: function(language, change) { | |
| 54 // This check only applies to enabled languages. | |
| 55 if (!this.languageHelper.isLanguageEnabled(language.code)) | |
| 56 return false; | |
| 57 return !this.languageHelper.canDisableLanguage(language.code); | |
| 58 }, | |
| 59 | |
| 60 /** | |
| 61 * Handler for removing a language. | |
| 62 * @param {!{model: !{item: !LanguageState}}} e | |
| 63 * @private | |
| 64 */ | |
| 65 onRemoveLanguageTap_: function(e) { | |
| 66 this.languageHelper.disableLanguage(e.model.item.language.code); | |
| 67 }, | |
| 68 | |
| 69 /** | |
| 70 * Handler for checking or unchecking a language item. | |
| 71 * @param {!{model: !{item: !chrome.languageSettingsPrivate.Language}, | |
| 72 * target: !PaperCheckboxElement}} e | |
| 73 * @private | |
| 74 */ | |
| 75 onLanguageCheckboxChange_: function(e) { | |
| 76 var code = e.model.item.code; | |
| 77 if (e.target.checked) | |
| 78 this.languageHelper.enableLanguage(code); | |
| 79 else | |
| 80 this.languageHelper.disableLanguage(code); | |
| 81 }, | |
| 82 }); | |
| OLD | NEW |