Merge "When changing language first time, language code was shown"
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user