Merge "When changing language first time, language code was shown"

This commit is contained in:
jenkins-bot
2015-03-27 08:37:45 +00:00
committed by Gerrit Code Review

View File

@@ -163,6 +163,27 @@
} ); } );
} }
/**
* Gets the name of the previously active language
* @param {string} code Language code of previously selected language.
* @return {jQuery.Promise}
*/
function getUndoAutonym( code ) {
var
deferred = $.Deferred(),
autonym = $.cookie( mw.uls.previousLanguageAutonymCookie );
if ( autonym ) {
deferred.resolve( autonym );
} else {
mw.loader.using( 'jquery.uls.data', function () {
deferred.resolve( $.uls.data.getAutonym( code ) );
} );
}
return deferred.promise();
}
/** /**
* The tooltip to be shown when language changed using ULS. * The tooltip to be shown when language changed using ULS.
* It also allows to undo the language selection. * It also allows to undo the language selection.
@@ -171,7 +192,6 @@
var ulsPosition = mw.config.get( 'wgULSPosition' ), var ulsPosition = mw.config.get( 'wgULSPosition' ),
currentLang = mw.config.get( 'wgUserLanguage' ), currentLang = mw.config.get( 'wgUserLanguage' ),
previousLang, previousLang,
previousLanguageAutonym,
$ulsTrigger, $ulsTrigger,
anonMode, anonMode,
rtlPage = $( 'body' ).hasClass( 'rtl' ), rtlPage = $( 'body' ).hasClass( 'rtl' ),
@@ -203,35 +223,34 @@
return; return;
} }
previousLanguageAutonym = $.cookie( mw.uls.previousLanguageAutonymCookie ) || getUndoAutonym( previousLang ).done( function( autonym ) {
previousLang; // Attach a tipsy tooltip to the trigger
$ulsTrigger.tipsy( {
gravity: tipsyGravity[ulsPosition],
delayOut: 3000,
html: true,
fade: true,
trigger: 'manual',
title: function () {
var link;
// Attach a tipsy tooltip to the trigger link = $( '<a>' ).text( autonym )
$ulsTrigger.tipsy( { .attr( {
gravity: tipsyGravity[ulsPosition], href: '#',
delayOut: 3000, 'class': 'uls-prevlang-link',
html: true, lang: previousLang,
fade: true, // We could get dir from uls.data,
trigger: 'manual', // but we are trying to avoid loading it
title: function () { // and 'auto' is safe enough in this context
var link; dir: 'auto'
} );
link = $( '<a>' ).text( previousLanguageAutonym ) // Get the html of the link by wrapping it in div first
.attr( { link = $( '<div>' ).html( link ).html();
href: '#',
'class': 'uls-prevlang-link',
lang: previousLang,
// We could get dir from uls.data,
// but we are trying to avoid loading it
// and 'auto' is safe enough in this context
dir: 'auto'
} );
// Get the html of the link by wrapping it in div first return mw.message( 'ext-uls-undo-language-tooltip-text', '$1' ).escaped().replace( '$1', link );
link = $( '<div>' ).html( link ).html(); }
} );
return mw.message( 'ext-uls-undo-language-tooltip-text', '$1' ).escaped().replace( '$1', link );
}
} ); } );
// Now that we set the previous languages, // Now that we set the previous languages,