Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
4 lines
No EOL
3.2 KiB
JavaScript
4 lines
No EOL
3.2 KiB
JavaScript
|
|
define('panels/languages/languages',['require','modules/settings_cache','shared/keyboard_helper','shared/language_list','modules/date_time'],function(require){'use strict';var SettingsCache=require('modules/settings_cache');var KeyboardHelper=require('shared/keyboard_helper');var LanguageList=require('shared/language_list');require('modules/date_time');var Languages=function(){};Languages.prototype={buildList:function(){LanguageList.get(function fillList(languages,currentLang){var options=document.createDocumentFragment();for(var lang in languages){var isCurrent=(lang===currentLang);var option=document.createElement('option');option.value=lang;option.innerHTML=LanguageList.wrapBidi(lang,languages[lang]);option.selected=isCurrent;options.appendChild(option);}
|
|
this.elements.langSel.innerHTML='';this.elements.langSel.appendChild(options);}.bind(this));},updateDateTime:function(){if(this.panel.children.length){var d=new Date();var dateString=d.toLocaleString(navigator.languages,{weekday:'long',day:'numeric',month:'long',year:'numeric'});var timeString=d.toLocaleString(navigator.languages,{hour12:navigator.mozHour12,hour:'numeric',minute:'numeric'});this.panel.querySelector('#region-date').textContent=dateString;this.panel.querySelector('#region-time').textContent=timeString;}},showMoreLanguages:function(){this.elements.moreLanguages.blur();SettingsCache.getSettings(function(result){var version=result['langpack.channel'];new window.MozActivity({name:'marketplace-category',data:{slug:'langpacks',fxos_version:version.split('.').slice(0,2).join('.')}});});},onInit:function(panel,elements){this.panel=panel;this.elements=elements;if(this.elements.moreLanguages.offsetParent){this.elements.moreLanguages.addEventListener('click',this.showMoreLanguages.bind(this));}
|
|
this.elements.langSel.addEventListener('blur',this.buildList.bind(this));},onLocalized:function(){var lang=document.documentElement.lang;KeyboardHelper.changeDefaultLayouts(lang);this.updateDateTime();}};return function ctor_languages(){return new Languages();};});define('panels/languages/panel',['require','modules/settings_panel','panels/languages/languages'],function(require){var SettingsPanel=require('modules/settings_panel');var Languages=require('panels/languages/languages');return function ctor_languages_panel(){var languages=Languages();var onLocalized=languages.onLocalized.bind(languages);var onAdditionalLanguagesChange=languages.buildList.bind(languages);return SettingsPanel({onBeforeShow:function(){languages.buildList();languages.updateDateTime();document.addEventListener('DOMRetranslated',onLocalized);navigator.mozSettings.addObserver('accessibility.screenreader',onAdditionalLanguagesChange);document.addEventListener('additionallanguageschange',onAdditionalLanguagesChange);},onBeforeHide:function(){document.removeEventListener('DOMRetranslated',onLocalized);navigator.mozSettings.removeObserver('accessibility.screenreader',onAdditionalLanguagesChange);document.removeEventListener('additionallanguageschange',onAdditionalLanguagesChange);},onInit:function(panel){var elements={moreLanguages:panel.querySelector('.menuItem-more-languages'),langSel:panel.querySelector('select[name="language.current"]')};languages.onInit(panel,elements);}});};}); |