OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // AddLanguageOverlay class: | 6 // AddLanguageOverlay class: |
7 | 7 |
8 /** | 8 /** |
9 * @typedef {{ | 9 * @typedef {{ |
10 * code: string, | 10 * code: string, |
11 * displayName: string, | 11 * displayName: string, |
12 * textDirection: string, | 12 * textDirection: string, |
13 * nativeDisplayName: string | 13 * nativeDisplayName: string |
14 * }} | 14 * }} |
15 */ | 15 */ |
16 options.LanguageData; | 16 options.LanguageData; |
17 | 17 |
18 cr.define('options', function() { | 18 cr.define('options', function() { |
19 /** @const */ var Page = cr.ui.pageManager.Page; | 19 /** @const */ var Page = cr.ui.pageManager.Page; |
20 /** @const */ var PageManager = cr.ui.pageManager.PageManager; | 20 /** @const */ var PageManager = cr.ui.pageManager.PageManager; |
21 | 21 |
22 /** | 22 /** |
23 * Encapsulated handling of ChromeOS add language overlay page. | 23 * Encapsulated handling of ChromeOS add language overlay page. |
24 * @constructor | 24 * @constructor |
25 * @extends {cr.ui.pageManager.Page} | 25 * @extends {cr.ui.pageManager.Page} |
26 */ | 26 */ |
27 function AddLanguageOverlay() { | 27 function AddLanguageOverlay() { |
28 Page.call(this, 'addLanguage', | 28 Page.call( |
29 loadTimeData.getString('addButton'), | 29 this, 'addLanguage', loadTimeData.getString('addButton'), |
30 'add-language-overlay-page'); | 30 'add-language-overlay-page'); |
31 } | 31 } |
32 | 32 |
33 cr.addSingletonGetter(AddLanguageOverlay); | 33 cr.addSingletonGetter(AddLanguageOverlay); |
34 | 34 |
35 AddLanguageOverlay.prototype = { | 35 AddLanguageOverlay.prototype = { |
36 // Inherit AddLanguageOverlay from Page. | 36 // Inherit AddLanguageOverlay from Page. |
37 __proto__: Page.prototype, | 37 __proto__: Page.prototype, |
38 | 38 |
39 /** @override */ | 39 /** @override */ |
40 initializePage: function() { | 40 initializePage: function() { |
41 Page.prototype.initializePage.call(this); | 41 Page.prototype.initializePage.call(this); |
42 | 42 |
43 // Set up the cancel button. | 43 // Set up the cancel button. |
44 $('add-language-overlay-cancel-button').onclick = function(e) { | 44 $('add-language-overlay-cancel-button').onclick = function(e) { |
45 PageManager.closeOverlay(); | 45 PageManager.closeOverlay(); |
46 }; | 46 }; |
47 | 47 |
48 // Create the language list with which users can add a language. | 48 // Create the language list with which users can add a language. |
49 var addLanguageList = $('add-language-overlay-language-list'); | 49 var addLanguageList = $('add-language-overlay-language-list'); |
50 | 50 |
51 /** | 51 /** |
52 * @type {!Array<!options.LanguageData>} | 52 * @type {!Array<!options.LanguageData>} |
53 * @see chrome/browser/ui/webui/options/language_options_handler.cc | 53 * @see chrome/browser/ui/webui/options/language_options_handler.cc |
54 */ | 54 */ |
55 var languageListData = /** @type {!Array<!options.LanguageData>} */( | 55 var languageListData = /** @type {!Array<!options.LanguageData>} */ ( |
56 loadTimeData.getValue('languageList')); | 56 loadTimeData.getValue('languageList')); |
57 for (var i = 0; i < languageListData.length; i++) { | 57 for (var i = 0; i < languageListData.length; i++) { |
58 var language = languageListData[i]; | 58 var language = languageListData[i]; |
59 var displayText = language.displayName; | 59 var displayText = language.displayName; |
60 // If the native name is different, add it. | 60 // If the native name is different, add it. |
61 if (language.displayName != language.nativeDisplayName) | 61 if (language.displayName != language.nativeDisplayName) |
62 displayText += ' - ' + language.nativeDisplayName; | 62 displayText += ' - ' + language.nativeDisplayName; |
63 | 63 |
64 var option = cr.doc.createElement('option'); | 64 var option = cr.doc.createElement('option'); |
65 option.value = language.code; | 65 option.value = language.code; |
66 option.textContent = displayText; | 66 option.textContent = displayText; |
67 addLanguageList.appendChild(option); | 67 addLanguageList.appendChild(option); |
68 } | 68 } |
69 }, | 69 }, |
70 }; | 70 }; |
71 | 71 |
72 return { | 72 return {AddLanguageOverlay: AddLanguageOverlay}; |
73 AddLanguageOverlay: AddLanguageOverlay | |
74 }; | |
75 }); | 73 }); |
OLD | NEW |