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

Side by Side Diff: chrome/browser/resources/settings/languages_page/manage_languages_page.js

Issue 2252323002: MD Settings: reduce complexity and overhead of Languages singleton (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@RemoveLanguageInputMethods
Patch Set: Reduce diff Created 4 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
OLDNEW
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',
11 11
12 properties: { 12 properties: {
13 /** 13 /**
14 * Preferences state. 14 * Preferences state.
15 */ 15 */
16 prefs: { 16 prefs: {
17 type: Object, 17 type: Object,
18 notify: true, 18 notify: true,
19 }, 19 },
20 20
21 /** 21 /**
22 * @type {!LanguagesModel|undefined} 22 * @type {!LanguagesModel|undefined}
23 */ 23 */
24 languages: { 24 languages: {
25 type: Object, 25 type: Object,
26 notify: true, 26 notify: true,
27 }, 27 },
28 28
29 /** @private {!LanguageHelper} */ 29 /** @type {!LanguageHelper} */
30 languageHelper_: Object, 30 languageHelper: Object,
31 },
32
33 /** @override */
34 created: function() {
35 this.languageHelper_ = LanguageHelperImpl.getInstance();
36 }, 31 },
37 32
38 /** 33 /**
39 * @param {!chrome.languageSettingsPrivate.Language} language 34 * @param {!chrome.languageSettingsPrivate.Language} language
40 * @param {!Object} change Polymer change object (provided in the HTML so this 35 * @param {!Object} change Polymer change object (provided in the HTML so this
41 * gets called whenever languages.enabled.* changes). 36 * gets called whenever languages.enabled.* changes).
42 * @return {boolean} 37 * @return {boolean}
43 * @private 38 * @private
44 */ 39 */
45 isCheckboxChecked_: function(language, change) { 40 isCheckboxChecked_: function(language, change) {
46 return this.languageHelper_.isLanguageEnabled(language.code); 41 return this.languageHelper.isLanguageEnabled(language.code);
47 }, 42 },
48 43
49 /** 44 /**
50 * Determines whether a language must be enabled. If so, the checkbox in the 45 * Determines whether a language must be enabled. If so, the checkbox in the
51 * available languages list should not be changeable. 46 * available languages list should not be changeable.
52 * @param {!chrome.languageSettingsPrivate.Language} language 47 * @param {!chrome.languageSettingsPrivate.Language} language
53 * @param {!Object} change Polymer change object (provided in the HTML so this 48 * @param {!Object} change Polymer change object (provided in the HTML so this
54 * gets called whenever languages.enabled.* changes). 49 * gets called whenever languages.enabled.* changes).
55 * @return {boolean} 50 * @return {boolean}
56 * @private 51 * @private
57 */ 52 */
58 isLanguageRequired_: function(language, change) { 53 isLanguageRequired_: function(language, change) {
59 // This check only applies to enabled languages. 54 // This check only applies to enabled languages.
60 if (!this.languageHelper_.isLanguageEnabled(language.code)) 55 if (!this.languageHelper.isLanguageEnabled(language.code))
61 return false; 56 return false;
62 return !this.languageHelper_.canDisableLanguage(language.code); 57 return !this.languageHelper.canDisableLanguage(language.code);
63 }, 58 },
64 59
65 /** 60 /**
66 * Handler for removing a language. 61 * Handler for removing a language.
67 * @param {!{model: !{item: !LanguageState}}} e 62 * @param {!{model: !{item: !LanguageState}}} e
68 * @private 63 * @private
69 */ 64 */
70 onRemoveLanguageTap_: function(e) { 65 onRemoveLanguageTap_: function(e) {
71 this.languageHelper_.disableLanguage(e.model.item.language.code); 66 this.languageHelper.disableLanguage(e.model.item.language.code);
72 }, 67 },
73 68
74 /** 69 /**
75 * Handler for checking or unchecking a language item. 70 * Handler for checking or unchecking a language item.
76 * @param {!{model: !{item: !chrome.languageSettingsPrivate.Language}, 71 * @param {!{model: !{item: !chrome.languageSettingsPrivate.Language},
77 * target: !PaperCheckboxElement}} e 72 * target: !PaperCheckboxElement}} e
78 * @private 73 * @private
79 */ 74 */
80 onLanguageCheckboxChange_: function(e) { 75 onLanguageCheckboxChange_: function(e) {
81 var code = e.model.item.code; 76 var code = e.model.item.code;
82 if (e.target.checked) 77 if (e.target.checked)
83 this.languageHelper_.enableLanguage(code); 78 this.languageHelper.enableLanguage(code);
84 else 79 else
85 this.languageHelper_.disableLanguage(code); 80 this.languageHelper.disableLanguage(code);
86 }, 81 },
87 }); 82 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698