Make previous languages have most recent in the beginning

This is already expected by the callers. Added addPreviousLanguage
to make updating the list easier.

Change-Id: Ie4f888235ea4de4a2ce6bf5a9f24955e423e8c48
This commit is contained in:
Niklas Laxström
2016-05-19 10:56:59 +02:00
parent e2cf4e5255
commit 4f82a8650a
3 changed files with 24 additions and 13 deletions

View File

@@ -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 );
};
/**