| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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 * @fileoverview 'settings-manage-languages-page' is a sub-page for enabling | 6 * @fileoverview 'settings-manage-languages-page' is a sub-page for enabling |
| 7 * and disabling languages. | 7 * and disabling languages. |
| 8 */ | 8 */ |
| 9 Polymer({ | 9 Polymer({ |
| 10 is: 'settings-manage-languages-page', | 10 is: 'settings-manage-languages-page', |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 /** | 44 /** |
| 45 * Handler for removing a language. | 45 * Handler for removing a language. |
| 46 * @param {!{model: !{item: !LanguageInfo}}} e | 46 * @param {!{model: !{item: !LanguageInfo}}} e |
| 47 * @private | 47 * @private |
| 48 */ | 48 */ |
| 49 onRemoveLanguageTap_: function(e) { | 49 onRemoveLanguageTap_: function(e) { |
| 50 this.languageHelper_.disableLanguage(e.model.item.language.code); | 50 this.languageHelper_.disableLanguage(e.model.item.language.code); |
| 51 }, | 51 }, |
| 52 | 52 |
| 53 /** | 53 /** |
| 54 * Handler for adding a language. | 54 * Handler for checking or unchecking a language item. |
| 55 * @param {!{model: {item: !chrome.languageSettingsPrivate.Language}}} e | 55 * @param {!{model: !{item: !chrome.languageSettingsPrivate.Language}, |
| 56 * target: !PaperCheckboxElement}} e |
| 56 * @private | 57 * @private |
| 57 */ | 58 */ |
| 58 onAddLanguageTap_: function(e) { | 59 onLanguageCheckboxChange_: function(e) { |
| 59 this.languageHelper_.enableLanguage(e.model.item.code); | 60 var code = e.model.item.code; |
| 61 if (e.target.checked) |
| 62 this.languageHelper_.enableLanguage(code); |
| 63 else |
| 64 this.languageHelper_.disableLanguage(code); |
| 60 }, | 65 }, |
| 61 | 66 |
| 62 /** | 67 /** |
| 63 * True if a language is not the current or prospective UI language. | 68 * True if a language is not the current or prospective UI language, ie, |
| 69 * it could be disabled. |
| 64 * @param {string} languageCode | 70 * @param {string} languageCode |
| 65 * @param {string} prospectiveUILanguageCode | 71 * @param {string} prospectiveUILanguageCode |
| 66 * @return {boolean} | 72 * @return {boolean} |
| 67 * @private | 73 * @private |
| 68 */ | 74 */ |
| 69 canRemoveLanguage_: function(languageCode, prospectiveUILanguageCode) { | 75 canRemoveLanguage_: function(languageCode, prospectiveUILanguageCode) { |
| 70 if (languageCode == navigator.language || | 76 if (languageCode == navigator.language || |
| 71 languageCode == prospectiveUILanguageCode) { | 77 languageCode == prospectiveUILanguageCode) { |
| 72 return false; | 78 return false; |
| 73 } | 79 } |
| 74 assert(this.languages.enabledLanguages.length > 1); | |
| 75 return true; | 80 return true; |
| 76 }, | 81 }, |
| 77 | 82 |
| 78 /** | 83 /** |
| 79 * Updates the available languages that are bound to the iron-list. | 84 * Updates the available languages that are bound to the iron-list. |
| 80 * @private | 85 * @private |
| 81 */ | 86 */ |
| 82 enabledLanguagesChanged_: function() { | 87 enabledLanguagesChanged_: function() { |
| 83 if (!this.availableLanguages_) { | 88 if (!this.availableLanguages_) { |
| 84 var availableLanguages = []; | 89 var availableLanguages = []; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 96 } else { | 101 } else { |
| 97 // Update the available languages in place. | 102 // Update the available languages in place. |
| 98 for (var i = 0; i < this.availableLanguages_.length; i++) { | 103 for (var i = 0; i < this.availableLanguages_.length; i++) { |
| 99 this.set('availableLanguages_.' + i + '.enabled', | 104 this.set('availableLanguages_.' + i + '.enabled', |
| 100 this.languageHelper_.isLanguageEnabled( | 105 this.languageHelper_.isLanguageEnabled( |
| 101 this.availableLanguages_[i].code)); | 106 this.availableLanguages_[i].code)); |
| 102 } | 107 } |
| 103 } | 108 } |
| 104 }, | 109 }, |
| 105 }); | 110 }); |
| OLD | NEW |