diff --git a/lib/jquery.ime/jquery.ime.js b/lib/jquery.ime/jquery.ime.js index 852a10f1..8b14be8b 100644 --- a/lib/jquery.ime/jquery.ime.js +++ b/lib/jquery.ime/jquery.ime.js @@ -1,4 +1,4 @@ -/*! jquery.ime - v0.1.0+20130822 +/*! jquery.ime - v0.1.0+20130826 * https://github.com/wikimedia/jquery.ime * Copyright (c) 2013 Santhosh Thottingal; Licensed GPL, MIT */ ( function ( $ ) { @@ -1053,16 +1053,16 @@ * @return {string|bool} Selected input method id or false */ selectLanguage: function ( languageCode ) { - var ime, + var ime = this.$element.data( 'ime' ), imePref = $.ime.preferences.getIM( languageCode ), language = $.ime.languages[languageCode]; + this.setMenuTitle( this.getAutonym( languageCode ) ); + if ( !language ) { return false; } - ime = this.$element.data( 'ime' ); - if ( ime.getLanguage() === languageCode ) { // Nothing to do. It is same as the current language, // but check whether the input method changed. @@ -1076,7 +1076,6 @@ this.$menu.find( 'li.ime-lang' ).show(); this.$menu.find( 'li[lang=' + languageCode + ']' ).hide(); - this.$menu.find( '.ime-list-title' ).text( language.autonym ); this.prepareInputMethods( languageCode ); this.hide(); // And select the default inputmethod @@ -1087,6 +1086,25 @@ return $.ime.preferences.getIM( languageCode ); }, + /** + * Get the autonym by language code. + * + * @param {string} languageCode + * @return {string} The autonym + */ + getAutonym: function ( languageCode ) { + return $.ime.languages[languageCode].autonym; + }, + + /** + * Set the title of the selector menu. + * + * @param {string} title + */ + setMenuTitle: function ( title ) { + this.$menu.find( '.ime-list-title' ).text( title ); + }, + /** * Decide on initial language to select */ @@ -1111,7 +1129,7 @@ /** * Select an input method * - * @param inputmethodId + * @param {string} inputmethodId */ selectIM: function ( inputmethodId ) { var imeselector = this, @@ -1198,7 +1216,7 @@ $languageItem = $( '' ) .attr( 'href', '#' ) - .text( language.autonym ) + .text( this.getAutonym( languageCode ) ) .addClass( 'selectable-row-item' ); $language = $( '
  • ' ).attr( 'lang', languageCode ); $language.append( $languageItem ); @@ -1216,7 +1234,7 @@ /** * Prepare input methods in menu for the given language code * - * @param {String} languageCode + * @param {string} languageCode */ prepareInputMethods: function ( languageCode ) { var language = $.ime.languages[languageCode], @@ -1247,6 +1265,10 @@ } ); }, + /** + * Create a help link element. + * @return {jQuery} + */ helpLink: function () { return $( '