Merge "Fix issue : Undo language tooltip present in all pages"

This commit is contained in:
Nikerabbit
2012-08-07 13:06:03 +00:00
committed by Gerrit Code Review

View File

@@ -21,13 +21,15 @@
"use strict"; "use strict";
$( document ).ready( function( ) { $( document ).ready( function( ) {
var $ulsTrigger = $( '.uls-trigger' ); var $ulsTrigger = $( '.uls-trigger' ),
previousLang = $.cookie( 'uls-previous-language' ),
currentLang = mw.config.get( 'wgUserLanguage' );
/** /**
* Change the language of wiki using setlang URL parameter * Change the language of wiki using setlang URL parameter
* @param {String} language * @param {String} language
*/ */
var changeLanguage = function( language ) { var changeLanguage = function( language ) {
$.cookie( 'uls-previous-language', mw.config.get( 'wgUserLanguage' ) ); $.cookie( 'uls-previous-language', currentLang );
var uri = new mw.Uri( window.location.href ); var uri = new mw.Uri( window.location.href );
uri.extend( { uri.extend( {
setlang: language setlang: language
@@ -42,6 +44,14 @@
searchAPI: mw.util.wikiScript( 'api' ) + "?action=languagesearch" searchAPI: mw.util.wikiScript( 'api' ) + "?action=languagesearch"
} ); } );
if ( !previousLang || previousLang === currentLang ) {
// Do not show tooltip.
return true;
}
var tipsyTimer;
// Current language is the cookie value for 'uls-previous-language'
$.cookie( 'uls-previous-language', currentLang );
// Attach a tipsy tooltip to the trigger // Attach a tipsy tooltip to the trigger
$ulsTrigger.tipsy( { $ulsTrigger.tipsy( {
gravity: 'n', gravity: 'n',
@@ -50,23 +60,14 @@
fade: true, fade: true,
trigger: 'manual', trigger: 'manual',
title: function() { title: function() {
var prevLang = $.cookie( 'uls-previous-language' ); var prevLangName = $.uls.data.autonym( previousLang ),
if ( !prevLang ) {
return '';
}
var prevLangName = $.uls.data.autonym( prevLang ),
linkClass = 'uls-lang-link', linkClass = 'uls-lang-link',
title = "Language changed from <a href='#' lang = '" + title = "Language changed from <a href='#' lang = '" +
prevLang + "' class = '" + linkClass + "' >" + previousLang + "' class = '" + linkClass + "' >" +
prevLangName + "</a>", prevLangName + "</a>";
currentLang = mw.config.get( 'wgUserLanguage' );
if ( !prevLang && prevLang === currentLang ) {
return '';
}
return title; return title;
} }
} ); } );
var tipsyTimer;
// Show the tipsy tooltip on page load. // Show the tipsy tooltip on page load.
$ulsTrigger.tipsy( 'show' ); $ulsTrigger.tipsy( 'show' );
tipsyTimer = setTimeout( function() { tipsyTimer = setTimeout( function() {