| 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-languages-page' is the settings page | 6 * @fileoverview 'settings-languages-page' is the settings page |
| 7 * for language and input method settings. | 7 * for language and input method settings. |
| 8 */ | 8 */ |
| 9 cr.exportPath('settings'); | 9 cr.exportPath('settings'); |
| 10 | 10 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 this.showAddLanguagesDialog_ = true; | 85 this.showAddLanguagesDialog_ = true; |
| 86 this.async(function() { | 86 this.async(function() { |
| 87 var dialog = this.$$('settings-add-languages-dialog'); | 87 var dialog = this.$$('settings-add-languages-dialog'); |
| 88 dialog.addEventListener('close', function() { | 88 dialog.addEventListener('close', function() { |
| 89 this.showAddLanguagesDialog_ = false; | 89 this.showAddLanguagesDialog_ = false; |
| 90 }.bind(this)); | 90 }.bind(this)); |
| 91 }); | 91 }); |
| 92 }, | 92 }, |
| 93 | 93 |
| 94 /** | 94 /** |
| 95 * Used to determine which "Move" buttons to show for ordering enabled |
| 96 * languages. |
| 97 * @param {number} n |
| 98 * @param {!LanguageState} language |
| 99 * @return {boolean} True if |language| is at the |n|th index in the list of |
| 100 * enabled languages. |
| 101 * @private |
| 102 */ |
| 103 isNthLanguage_: function(n, language) { |
| 104 var compareLanguage = assert(this.languages.enabled[n]); |
| 105 return language.language == compareLanguage.language; |
| 106 }, |
| 107 |
| 108 /** |
| 95 * @param {!LanguageState} language | 109 * @param {!LanguageState} language |
| 96 * @return {boolean} True if |language| is first in the list of enabled | 110 * @return {boolean} True if the "Move to top" option for |language| should be |
| 97 * languages. Used to hide the "Move up" option. | 111 * visible. |
| 98 * @private | 112 * @private |
| 99 */ | 113 */ |
| 100 isFirstLanguage_: function(language) { | 114 showMoveUp_: function(language) { |
| 101 return language == this.languages.enabled[0]; | 115 // "Move up" is a no-op for the top language, and redundant with |
| 116 // "Move to top" for the 2nd language. |
| 117 return !this.isNthLanguage_(0, language) && |
| 118 !this.isNthLanguage_(1, language); |
| 102 }, | 119 }, |
| 103 | 120 |
| 104 /** | 121 /** |
| 105 * @param {!LanguageState} language | 122 * @param {!LanguageState} language |
| 106 * @return {boolean} True if |language| is first or second in the list of | 123 * @return {boolean} True if the "Move down" option for |language| should be |
| 107 * enabled languages. Used to hide the "Move to top" option. | 124 * visible. |
| 108 * @private | 125 * @private |
| 109 */ | 126 */ |
| 110 isFirstOrSecondLanguage_: function(language) { | 127 showMoveDown_: function(language) { |
| 111 return this.languages.enabled.slice(0, 2).includes(language); | 128 return !this.isNthLanguage_(this.languages.enabled.length - 1, language); |
| 112 }, | 129 }, |
| 113 | 130 |
| 114 /** | 131 /** |
| 115 * @param {!LanguageState} language | |
| 116 * @return {boolean} True if |language| is last in the list of enabled | |
| 117 * languages. Used to hide the "Move down" option. | |
| 118 * @private | |
| 119 */ | |
| 120 isLastLanguage_: function(language) { | |
| 121 return language == this.languages.enabled.slice(-1)[0]; | |
| 122 }, | |
| 123 | |
| 124 /** | |
| 125 * @param {!Object} change Polymer change object for languages.enabled.*. | 132 * @param {!Object} change Polymer change object for languages.enabled.*. |
| 126 * @return {boolean} True if there are less than 2 languages. | 133 * @return {boolean} True if there are less than 2 languages. |
| 127 */ | 134 */ |
| 128 isHelpTextHidden_: function(change) { | 135 isHelpTextHidden_: function(change) { |
| 129 return this.languages.enabled.length <= 1; | 136 return this.languages.enabled.length <= 1; |
| 130 }, | 137 }, |
| 131 | 138 |
| 132 /** | 139 /** |
| 133 * @param {!LanguageState} languageState | 140 * @param {!LanguageState} languageState |
| 134 * @param {string} prospectiveUILanguage The chosen UI language. | 141 * @param {string} prospectiveUILanguage The chosen UI language. |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 if (e.target.tagName == expandButtonTag) | 544 if (e.target.tagName == expandButtonTag) |
| 538 return; | 545 return; |
| 539 | 546 |
| 540 /** @type {!CrExpandButtonElement} */ | 547 /** @type {!CrExpandButtonElement} */ |
| 541 var expandButton = e.currentTarget.querySelector(expandButtonTag); | 548 var expandButton = e.currentTarget.querySelector(expandButtonTag); |
| 542 assert(expandButton); | 549 assert(expandButton); |
| 543 expandButton.expanded = !expandButton.expanded; | 550 expandButton.expanded = !expandButton.expanded; |
| 544 }, | 551 }, |
| 545 }); | 552 }); |
| 546 })(); | 553 })(); |
| OLD | NEW |