| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 (function() { | 5 (function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 cr.define('cr.translateInternals', function() { | 8 cr.define('cr.translateInternals', function() { |
| 9 | 9 |
| 10 var detectionLogs_ = null; | 10 var detectionLogs_ = null; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 if (tabpanelIds.indexOf(id) == -1) | 53 if (tabpanelIds.indexOf(id) == -1) |
| 54 return; | 54 return; |
| 55 | 55 |
| 56 $(id).selected = true; | 56 $(id).selected = true; |
| 57 }; | 57 }; |
| 58 | 58 |
| 59 window.onhashchange = activateTabByHash; | 59 window.onhashchange = activateTabByHash; |
| 60 activateTabByHash(); | 60 activateTabByHash(); |
| 61 } | 61 } |
| 62 | 62 |
| 63 /* |
| 64 * Creates a button to dismiss an item. |
| 65 * |
| 66 * @param {Function} func Callback called when the button is clicked. |
| 67 */ |
| 68 function createDismissingButton(func) { |
| 69 var button = document.createElement('button'); |
| 70 button.textContent = 'X'; |
| 71 button.classList.add('dismissing'); |
| 72 button.addEventListener('click', function(e) { |
| 73 e.preventDefault(); |
| 74 func(); |
| 75 }, false); |
| 76 return button; |
| 77 } |
| 78 |
| 63 /** | 79 /** |
| 64 * Creates a new LI element with a button to dismiss the item. | 80 * Creates a new LI element with a button to dismiss the item. |
| 65 * | 81 * |
| 66 * @param {string} text The lable of the LI element. | 82 * @param {string} text The lable of the LI element. |
| 67 * @param {Function} func Callback called when the button is clicked. | 83 * @param {Function} func Callback called when the button is clicked. |
| 68 */ | 84 */ |
| 69 function createLIWithDismissingButton(text, func) { | 85 function createLIWithDismissingButton(text, func) { |
| 70 var span = document.createElement('span'); | 86 var span = document.createElement('span'); |
| 71 span.textContent = text; | 87 span.textContent = text; |
| 72 | 88 |
| 73 var li = document.createElement('li'); | 89 var li = document.createElement('li'); |
| 74 li.appendChild(span); | 90 li.appendChild(span); |
| 75 | 91 li.appendChild(createDismissingButton(func)); |
| 76 var button = document.createElement('button'); | |
| 77 button.textContent = 'X'; | |
| 78 button.addEventListener('click', function(e) { | |
| 79 e.preventDefault(); | |
| 80 func(); | |
| 81 }, false); | |
| 82 | |
| 83 li.appendChild(button); | |
| 84 return li; | 92 return li; |
| 85 } | 93 } |
| 86 | 94 |
| 87 /** | 95 /** |
| 88 * Formats the language name to a human-readable text. For example, if | 96 * Formats the language name to a human-readable text. For example, if |
| 89 * |langCode| is 'en', this may return 'en (English)'. | 97 * |langCode| is 'en', this may return 'en (English)'. |
| 90 * | 98 * |
| 91 * @param {string} langCode ISO 639 language code. | 99 * @param {string} langCode ISO 639 language code. |
| 92 * @return {string} The formatted string. | 100 * @return {string} The formatted string. |
| 93 */ | 101 */ |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 formatLanguageCode(toLangCode); | 207 formatLanguageCode(toLangCode); |
| 200 | 208 |
| 201 var li = createLIWithDismissingButton(text, function() { | 209 var li = createLIWithDismissingButton(text, function() { |
| 202 chrome.send('removePrefItem', | 210 chrome.send('removePrefItem', |
| 203 ['whitelists', fromLangCode, toLangCode]); | 211 ['whitelists', fromLangCode, toLangCode]); |
| 204 }); | 212 }); |
| 205 ul.appendChild(li); | 213 ul.appendChild(li); |
| 206 }); | 214 }); |
| 207 } | 215 } |
| 208 | 216 |
| 209 var p = document.querySelector('#prefs-dump p'); | 217 var p = $('prefs-too-often-denied'); |
| 218 p.classList.toggle('prefs-setting-disabled', |
| 219 !detail['translate_too_often_denied']); |
| 220 p.appendChild(createDismissingButton( |
| 221 chrome.send.bind(null, 'removePrefItem', ['too_often_denied']))); |
| 222 |
| 223 p = document.querySelector('#prefs-dump p'); |
| 210 var content = JSON.stringify(detail, null, 2); | 224 var content = JSON.stringify(detail, null, 2); |
| 211 p.textContent = content; | 225 p.textContent = content; |
| 212 } | 226 } |
| 213 | 227 |
| 214 /** | 228 /** |
| 215 * Handles the message of 'supportedLanguagesUpdated' from the browser. | 229 * Handles the message of 'supportedLanguagesUpdated' from the browser. |
| 216 * | 230 * |
| 217 * @param {Object} details the object which represents the supported | 231 * @param {Object} details the object which represents the supported |
| 218 * languages by the Translate server. | 232 * languages by the Translate server. |
| 219 */ | 233 */ |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 431 /** | 445 /** |
| 432 * The entry point of the UI. | 446 * The entry point of the UI. |
| 433 */ | 447 */ |
| 434 function main() { | 448 function main() { |
| 435 cr.doc.addEventListener('DOMContentLoaded', | 449 cr.doc.addEventListener('DOMContentLoaded', |
| 436 cr.translateInternals.initialize); | 450 cr.translateInternals.initialize); |
| 437 } | 451 } |
| 438 | 452 |
| 439 main(); | 453 main(); |
| 440 })(); | 454 })(); |
| OLD | NEW |