From 85373c1ac172a0639a379f15a126100d3e01e434 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Sat, 11 Aug 2012 20:32:40 +0530 Subject: [PATCH] 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 --- examples/index.html | 2 +- src/jquery.uls.core.js | 7 ++++--- src/jquery.uls.data.utils.js | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/examples/index.html b/examples/index.html index 17748b5..774e856 100644 --- a/examples/index.html +++ b/examples/index.html @@ -48,7 +48,7 @@

-
+
diff --git a/src/jquery.uls.core.js b/src/jquery.uls.core.js index d536799..2299b0b 100644 --- a/src/jquery.uls.core.js +++ b/src/jquery.uls.core.js @@ -24,7 +24,7 @@ this.$element = $( element ); this.options = $.extend( {}, $.fn.uls.defaults, options ); this.$menu = $( this.options.menu ); - this.languages = this.$menu.data( 'languages' ); + this.languages = this.options.languages; for ( var code in this.languages ) { if ( $.uls.data.languages[code] === undefined ) { window.console && console.log && console.log( "ULS: Unknown language " + code + "." ); @@ -104,7 +104,7 @@ that.$menu.on('keypress', $.proxy(this.keypress, this) ) .on('keyup', $.proxy(this.keyup, this) ); 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( { @@ -208,7 +208,8 @@ $.fn.uls.defaults = { menu: '.uls-menu', 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; diff --git a/src/jquery.uls.data.utils.js b/src/jquery.uls.data.utils.js index 8a4c319..3466934 100644 --- a/src/jquery.uls.data.utils.js +++ b/src/jquery.uls.data.utils.js @@ -47,6 +47,20 @@ 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. * @return array