Introduce languages options to ULS

Default value of this option will be $.uls.data.autonyms().
It can be set to limit language selection to a set of languages.

Updated examples, used a config variable wgULSLanguages to set this.

Change-Id: Ia322cbdcdb14f08619d2e4df5b23e2702841d147
This commit is contained in:
Santhosh Thottingal
2012-08-11 20:32:40 +05:30
committed by Amir E. Aharoni
parent 032e5632bb
commit 85373c1ac1
3 changed files with 19 additions and 4 deletions

File diff suppressed because one or more lines are too long

View File

@@ -24,7 +24,7 @@
this.$element = $( element ); this.$element = $( element );
this.options = $.extend( {}, $.fn.uls.defaults, options ); this.options = $.extend( {}, $.fn.uls.defaults, options );
this.$menu = $( this.options.menu ); this.$menu = $( this.options.menu );
this.languages = this.$menu.data( 'languages' ); this.languages = this.options.languages;
for ( var code in this.languages ) { for ( var code in this.languages ) {
if ( $.uls.data.languages[code] === undefined ) { if ( $.uls.data.languages[code] === undefined ) {
window.console && console.log && console.log( "ULS: Unknown language " + code + "." ); window.console && console.log && console.log( "ULS: Unknown language " + code + "." );
@@ -104,7 +104,7 @@
that.$menu.on('keypress', $.proxy(this.keypress, this) ) that.$menu.on('keypress', $.proxy(this.keypress, this) )
.on('keyup', $.proxy(this.keyup, this) ); .on('keyup', $.proxy(this.keyup, this) );
if ( $.browser.webkit || $.browser.msie ) { if ( $.browser.webkit || $.browser.msie ) {
this.$menu.on( 'keydown', $.proxy( this.keypress, this ) ) this.$menu.on( 'keydown', $.proxy( this.keypress, this ) );
} }
lcd = that.$resultsView.lcd( { lcd = that.$resultsView.lcd( {
@@ -208,7 +208,8 @@
$.fn.uls.defaults = { $.fn.uls.defaults = {
menu: '.uls-menu', menu: '.uls-menu',
onSelect: null, // Callback function to be called when a language is selected onSelect: null, // Callback function to be called when a language is selected
searchAPI: null // Language search API searchAPI: null, // Language search API
languages: $.uls.data.autonyms() // Languages to be used for ULS, default is all languages
}; };
$.fn.uls.Constructor = ULS; $.fn.uls.Constructor = ULS;

View File

@@ -47,6 +47,20 @@
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language; return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
}; };
/**
* Returns all language codes and corresponding autonyms
* @return array
*/
$.uls.data.autonyms = function() {
var autonymsByCode = {};
for ( var language in $.uls.data.languages ) {
autonymsByCode[language] = $.uls.data.autonym( language );
}
return autonymsByCode;
};
/** /**
* Returns an array of all region codes. * Returns an array of all region codes.
* @return array * @return array