From b42728334b65120ac968791e17d4f031cdc22cf2 Mon Sep 17 00:00:00 2001 From: Santhosh Thottingal Date: Tue, 7 Aug 2012 15:23:30 +0530 Subject: [PATCH] Fix issue : Undo language tooltip present in all pages Show only in next page after language change. Change-Id: I044001366328c7a87af6c0f274d9372a9211818c --- resources/ext.uls.init.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/resources/ext.uls.init.js b/resources/ext.uls.init.js index 92ee8a69..7ad120df 100644 --- a/resources/ext.uls.init.js +++ b/resources/ext.uls.init.js @@ -21,13 +21,15 @@ "use strict"; $( 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 * @param {String} 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 ); uri.extend( { setlang: language @@ -42,6 +44,14 @@ 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 $ulsTrigger.tipsy( { gravity: 'n', @@ -50,23 +60,14 @@ fade: true, trigger: 'manual', title: function() { - var prevLang = $.cookie( 'uls-previous-language' ); - if ( !prevLang ) { - return ''; - } - var prevLangName = $.uls.data.autonym( prevLang ), + var prevLangName = $.uls.data.autonym( previousLang ), linkClass = 'uls-lang-link', title = "Language changed from " + - prevLangName + "", - currentLang = mw.config.get( 'wgUserLanguage' ); - if ( !prevLang && prevLang === currentLang ) { - return ''; - } + previousLang + "' class = '" + linkClass + "' >" + + prevLangName + ""; return title; } } ); - var tipsyTimer; // Show the tipsy tooltip on page load. $ulsTrigger.tipsy( 'show' ); tipsyTimer = setTimeout( function() {