Merge "Make previous languages have most recent in the beginning"
This commit is contained in:
@@ -121,13 +121,8 @@
|
||||
* @param {string} language language code
|
||||
*/
|
||||
onSelect: function ( language ) {
|
||||
var previousLanguages = mw.uls.getPreviousLanguages();
|
||||
|
||||
self.$trigger.removeClass( 'selector-open' );
|
||||
|
||||
previousLanguages.push( language );
|
||||
previousLanguages = unique( previousLanguages );
|
||||
mw.uls.setPreviousLanguages( previousLanguages );
|
||||
mw.uls.addPreviousLanguage( language );
|
||||
location.href = self.interlanguageList[ language ].href;
|
||||
},
|
||||
onVisible: function () {
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
try {
|
||||
localStorage.setItem(
|
||||
mw.uls.previousLanguagesStorageKey,
|
||||
JSON.stringify( previousLanguages.slice( -5 ) )
|
||||
JSON.stringify( previousLanguages.slice( 0, 5 ) )
|
||||
);
|
||||
} catch ( e ) {}
|
||||
};
|
||||
@@ -87,7 +87,24 @@
|
||||
);
|
||||
} catch ( e ) {}
|
||||
|
||||
return previousLanguages.slice( -5 );
|
||||
return previousLanguages.slice( 0, 5 );
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a selected language to the list of previously selected languages.
|
||||
*
|
||||
* @param {string} language Language code.
|
||||
* @since 2016.05
|
||||
*/
|
||||
mw.uls.addPreviousLanguage = function ( language ) {
|
||||
var languages = mw.uls.getPreviousLanguages();
|
||||
|
||||
// Avoid duplicates
|
||||
languages = $.map( languages, function ( element ) {
|
||||
return element === language ? undefined : element;
|
||||
} );
|
||||
languages.unshift( language );
|
||||
mw.uls.setPreviousLanguages( languages );
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -203,14 +203,14 @@
|
||||
}
|
||||
|
||||
function userHasChangedLanguage() {
|
||||
var previousLang = mw.uls.getPreviousLanguages().slice( -1 )[ 0 ],
|
||||
var previousLang = mw.uls.getPreviousLanguages()[ 0 ],
|
||||
currentLang = mw.config.get( 'wgUserLanguage' );
|
||||
|
||||
// Changed language is saved in showUndoTooltip, which is never
|
||||
// called if previousLang is not defined, which will never be
|
||||
// defined unless we do it now.
|
||||
if ( previousLang === undefined ) {
|
||||
mw.uls.setPreviousLanguages( [ currentLang ] );
|
||||
mw.uls.addPreviousLanguage( currentLang );
|
||||
}
|
||||
|
||||
return previousLang && previousLang !== currentLang;
|
||||
@@ -275,10 +275,9 @@
|
||||
}
|
||||
|
||||
previousLanguages = mw.uls.getPreviousLanguages();
|
||||
previousLang = previousLanguages.slice( -1 )[ 0 ];
|
||||
previousLang = previousLanguages[ 0 ];
|
||||
|
||||
previousLanguages.push( currentLang );
|
||||
mw.uls.setPreviousLanguages( previousLanguages );
|
||||
mw.uls.addPreviousLanguage( currentLang );
|
||||
|
||||
getUndoAutonym( previousLang ).done( function ( autonym ) {
|
||||
// Attach a tipsy tooltip to the trigger
|
||||
|
||||
Reference in New Issue
Block a user