OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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-add-languages-dialog' is a dialog for enabling | 6 * @fileoverview 'settings-add-languages-dialog' is a dialog for enabling |
7 * languages. | 7 * languages. |
8 */ | 8 */ |
9 Polymer({ | 9 Polymer({ |
10 is: 'settings-add-languages-dialog', | 10 is: 'settings-add-languages-dialog', |
11 | 11 |
12 behaviors: [ | |
13 CrScrollableBehavior, | |
14 ], | |
15 | |
16 properties: { | 12 properties: { |
17 /** @type {!LanguagesModel|undefined} */ | 13 /** @type {!LanguagesModel|undefined} */ |
18 languages: { | 14 languages: { |
19 type: Object, | 15 type: Object, |
20 notify: true, | 16 notify: true, |
21 }, | 17 }, |
22 | 18 |
23 /** @type {!LanguageHelper} */ | 19 /** @type {!LanguageHelper} */ |
24 languageHelper: Object, | 20 languageHelper: Object, |
25 | 21 |
26 /** @private {!Set<string>} */ | 22 /** @private {!Set<string>} */ |
27 languagesToAdd_: { | 23 languagesToAdd_: { |
28 type: Object, | 24 type: Object, |
29 value: function() { | 25 value: function() { return new Set(); }, |
30 return new Set(); | |
31 }, | |
32 }, | 26 }, |
33 | 27 |
34 /** @private */ | 28 /** @private */ |
35 disableActionButton_: { | 29 disableActionButton_: { |
36 type: Boolean, | 30 type: Boolean, |
37 value: true, | 31 value: true, |
38 }, | 32 }, |
39 | 33 |
40 /** @private */ | 34 /** @private */ |
41 filterValue_: { | 35 filterValue_: { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 this.filterValue_.toLowerCase()); | 71 this.filterValue_.toLowerCase()); |
78 }.bind(this)); | 72 }.bind(this)); |
79 }, | 73 }, |
80 | 74 |
81 /** | 75 /** |
82 * @param {!chrome.languageSettingsPrivate.Language} language | 76 * @param {!chrome.languageSettingsPrivate.Language} language |
83 * @return {string} The text to be displayed. | 77 * @return {string} The text to be displayed. |
84 * @private | 78 * @private |
85 */ | 79 */ |
86 getDisplayText_: function(language) { | 80 getDisplayText_: function(language) { |
87 var displayText = language.displayName; | 81 var displayText = language.displayName; |
88 // If the native name is different, add it. | 82 // If the native name is different, add it. |
89 if (language.displayName != language.nativeDisplayName) | 83 if (language.displayName != language.nativeDisplayName) |
90 displayText += ' - ' + language.nativeDisplayName; | 84 displayText += ' - ' + language.nativeDisplayName; |
91 return displayText; | 85 return displayText; |
92 }, | 86 }, |
93 | 87 |
94 /** | 88 /** |
95 * True if the user has chosen to add this language (checked its checkbox). | 89 * True if the user has chosen to add this language (checked its checkbox). |
96 * @param {string} languageCode | 90 * @param {string} languageCode |
97 * @return {boolean} | 91 * @return {boolean} |
98 * @private | 92 * @private |
99 */ | 93 */ |
100 willAdd_: function(languageCode) { | 94 willAdd_: function(languageCode) { |
101 return this.languagesToAdd_.has(languageCode); | 95 return this.languagesToAdd_.has(languageCode); |
(...skipping 28 matching lines...) Expand all Loading... |
130 * Enables the checked languages. | 124 * Enables the checked languages. |
131 * @private | 125 * @private |
132 */ | 126 */ |
133 onActionButtonTap_: function() { | 127 onActionButtonTap_: function() { |
134 this.$.dialog.close(); | 128 this.$.dialog.close(); |
135 this.languagesToAdd_.forEach(function(languageCode) { | 129 this.languagesToAdd_.forEach(function(languageCode) { |
136 this.languageHelper.enableLanguage(languageCode); | 130 this.languageHelper.enableLanguage(languageCode); |
137 }.bind(this)); | 131 }.bind(this)); |
138 }, | 132 }, |
139 }); | 133 }); |
OLD | NEW |