| 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 * Polymer class definition for 'oobe-i18n-dropdown'. | 6 * Polymer class definition for 'oobe-i18n-dropdown'. |
| 7 */ | 7 */ |
| 8 (function() { | 8 (function() { |
| 9 | 9 |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 * @type {!Array<I18nMenuItem>} | 23 * @type {!Array<I18nMenuItem>} |
| 24 */ | 24 */ |
| 25 items: { | 25 items: { |
| 26 type: Array, | 26 type: Array, |
| 27 observer: 'onItemsChanged_', | 27 observer: 'onItemsChanged_', |
| 28 }, | 28 }, |
| 29 | 29 |
| 30 /** | 30 /** |
| 31 * ARIA-label for the selection menu. | 31 * ARIA-label for the selection menu. |
| 32 */ | 32 */ |
| 33 ariaLabel: String, | 33 label: String, |
| 34 }, | 34 }, |
| 35 | 35 |
| 36 /** | 36 /** |
| 37 * Mapping from item id to item. | 37 * Mapping from item id to item. |
| 38 * @type {!Map<string,I18nMenuItem>} | 38 * @type {!Map<string,I18nMenuItem>} |
| 39 */ | 39 */ |
| 40 idToItem_: null, | 40 idToItem_: null, |
| 41 | 41 |
| 42 focus: function() { |
| 43 this.$.select.focus(); |
| 44 }, |
| 45 |
| 42 /** | 46 /** |
| 43 * @param {string} value Option value. | 47 * @param {string} value Option value. |
| 44 * @private | 48 * @private |
| 45 */ | 49 */ |
| 46 onSelected_: function(value) { | 50 onSelected_: function(value) { |
| 47 this.fire('select-item', this.idToItem_.get(value)); | 51 this.fire('select-item', this.idToItem_.get(value)); |
| 48 }, | 52 }, |
| 49 | 53 |
| 50 onItemsChanged_: function(items) { | 54 onItemsChanged_: function(items) { |
| 51 this.idToItem_ = new Map(); | 55 this.idToItem_ = new Map(); |
| 52 for (var i = 0; i < items.length; ++i) { | 56 for (var i = 0; i < items.length; ++i) { |
| 53 var item = items[i]; | 57 var item = items[i]; |
| 54 this.idToItem_.set(item.value, item); | 58 this.idToItem_.set(item.value, item); |
| 55 } | 59 } |
| 56 Oobe.setupSelect(this.$.select, | 60 Oobe.setupSelect(this.$.select, |
| 57 items, | 61 items, |
| 58 this.onSelected_.bind(this)); | 62 this.onSelected_.bind(this)); |
| 59 }, | 63 }, |
| 60 }); | 64 }); |
| 61 })(); | 65 })(); |
| OLD | NEW |