/**
* ULS-based display settings panel
*
* Copyright (C) 2012 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris,
* Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other
* contributors. See CREDITS for a list.
*
* UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't
* have to do anything special to choose one license or the other and you don't
* have to notify anyone which license you are using. You are free to use
* UniversalLanguageSelector in commercial projects as long as the copyright
* header is left intact. See files GPL-LICENSE and MIT-LICENSE for details.
*
* @file
* @ingroup Extensions
* @licence GNU General Public Licence 2.0 or later
* @licence MIT License
*/
( function( $ ) {
"use strict";
var template = '
Display Settings
'
+ '
Language used for menus
'
+ '
'
+ '
'
+ '
Font Settings
'
+ '
'
+ ''
+ '
'
+ '
Set your preferred fonts to use
'
+ '
'
+ ''
+ '
'
+ ''
+ ''
+ '
'
+ ''
+ ''
+ '
'; // FIXME i18n and too much hardcoding.
var DisplaySettings = function () {
this.name = "Display";
this.description = "Set the languages of menus and fonts";
this.$template = $( template );
this.language = this.currentLanguage();
this.$webfonts = null;
};
DisplaySettings.prototype = {
Constructor: DisplaySettings,
/**
* Render the module into a given target
* @param $target
*/
render: function ( $target ) {
$target.empty();
this.$webfonts = $( 'body' ).data( 'webfonts' );
$target.append( this.$template );
this.prepareLanguages();
this.prepareFonts();
this.listen();
},
/**
* Prepare the UI language chooser
*/
prepareLanguages: function () {
var $languages = $( 'div.uls-ui-languages' );
$languages.empty();
var previousLanguages = this.previousLanguages();
var languages = [this.language];
$.merge( languages, previousLanguages);
$.unique( languages );
for ( var i = 0; i < 3; i++ ) {
var language = languages[i];
var $button = $( '