Nikerabbit has uploaded a new change for review.
https://gerrit.wikimedia.org/r/199875
Change subject: Refactor showULSTooltip
......................................................................
Refactor showULSTooltip
Makes the code easier to understand and fixes T52743
Bug: T52743
Change-Id: If508f26b5133284f3059b50d420066a8b4fefb07
---
M resources/js/ext.uls.interface.js
1 file changed, 18 insertions(+), 18 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector
refs/changes/75/199875/1
diff --git a/resources/js/ext.uls.interface.js
b/resources/js/ext.uls.interface.js
index 4618060..6e1e8f7 100644
--- a/resources/js/ext.uls.interface.js
+++ b/resources/js/ext.uls.interface.js
@@ -189,37 +189,37 @@
* It also allows to undo the language selection.
*/
function showULSTooltip() {
- var ulsPosition = mw.config.get( 'wgULSPosition' ),
+ var previousLang, $ulsTrigger, anonMode, showUndo, newLanguage,
previousLanguages,
+ ulsPosition = mw.config.get( 'wgULSPosition' ),
currentLang = mw.config.get( 'wgUserLanguage' ),
- previousLang,
- $ulsTrigger,
- anonMode,
rtlPage = $( 'body' ).hasClass( 'rtl' ),
tipsyGravity = {
personal: 'n',
interlanguage: rtlPage ? 'e' : 'w'
- },
- previousLanguages = mw.uls.getPreviousLanguages() || [];
-
- previousLang = previousLanguages.slice( -1 )[0];
+ };
$ulsTrigger = ( ulsPosition === 'interlanguage' ) ?
$( '.uls-settings-trigger' ) :
$( '.uls-trigger' );
- if ( previousLang === currentLang ) {
- $ulsTrigger.tipsy( { gravity: rtlPage ? 'e' : 'w' } );
+ previousLanguages = mw.uls.getPreviousLanguages() || [];
+ previousLang = previousLanguages.slice( -1 )[0];
- return;
+ // Whether we see current language for the first time
+ newLanguage = currentLang !== previousLang;
+ // Whether user is able to change language
+ anonMode = ( mw.user.isAnon() && !mw.config.get(
'wgULSAnonCanChangeLanguage' ) );
+ // Whether user is able to change language, and just did so
+ showUndo = !anonMode && newLanguage && previousLang !==
undefined;
+
+ if ( newLanguage ) {
+ previousLanguages.push( currentLang );
+ mw.uls.setPreviousLanguages( previousLanguages );
}
- previousLanguages.push( currentLang );
- mw.uls.setPreviousLanguages( previousLanguages );
-
- anonMode = ( mw.user.isAnon() && !mw.config.get(
'wgULSAnonCanChangeLanguage' ) );
-
- if ( anonMode || !previousLang ) {
- // Do not show tooltip
+ if ( !showUndo ) {
+ // In interlanguage mode, we will have normal tooltip,
make it look same using tipsy
+ $ulsTrigger.tipsy( { gravity: tipsyGravity[ulsPosition]
} );
return;
}
--
To view, visit https://gerrit.wikimedia.org/r/199875
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If508f26b5133284f3059b50d420066a8b4fefb07
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits