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 labelForAria: 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 |