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