Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
parent
93e3a48004
commit
b38dea0597
25901 changed files with 9982925 additions and 369 deletions
69
gaia/apps/settings/js/panels/root/language_item.js
Executable file
69
gaia/apps/settings/js/panels/root/language_item.js
Executable file
|
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* The moudle supports displaying language information on an element.
|
||||
*
|
||||
* @module panels/root/language_item
|
||||
*/
|
||||
define(function(require) {
|
||||
'use strict';
|
||||
|
||||
var LanguageList = require('shared/language_list');
|
||||
|
||||
/**
|
||||
* @alias module:panels/root/language_item
|
||||
* @class LanguageItem
|
||||
* @param {HTMLElement} element
|
||||
The element displaying the language information
|
||||
* @returns {LanguageItem}
|
||||
*/
|
||||
function LanguageItem(element) {
|
||||
this._enabled = false;
|
||||
this._boundRefreshText = this._refreshText.bind(this, element);
|
||||
}
|
||||
|
||||
LanguageItem.prototype = {
|
||||
/**
|
||||
* Refresh the text based on the language setting.
|
||||
*
|
||||
* @access private
|
||||
* @memberOf LanguageItem.prototype
|
||||
* @param {HTMLElement} element
|
||||
The element displaying the language information
|
||||
*/
|
||||
_refreshText: function l_refeshText(element) {
|
||||
// display the current locale in the main panel
|
||||
LanguageList.get(function displayLang(languages, currentLanguage) {
|
||||
element.textContent = LanguageList.wrapBidi(
|
||||
currentLanguage, languages[currentLanguage]);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* The value indicates whether the module is responding.
|
||||
*
|
||||
* @access public
|
||||
* @memberOf LanguageItem.prototype
|
||||
* @type {Boolean}
|
||||
*/
|
||||
get enabled() {
|
||||
return this._enabled;
|
||||
},
|
||||
|
||||
set enabled(value) {
|
||||
if (this._enabled === value || !document.l10n) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._enabled = value;
|
||||
if (this._enabled) {
|
||||
document.addEventListener('DOMRetranslated', this._boundRefreshText);
|
||||
this._boundRefreshText();
|
||||
} else {
|
||||
document.removeEventListener('DOMRetranslated', this._boundRefreshText);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return function ctor_languageItem(element) {
|
||||
return new LanguageItem(element);
|
||||
};
|
||||
});
|
||||
Loading…
Reference in a new issue