diff options
Diffstat (limited to 'MLEB/Translate/resources/js/ext.translate.recentgroups.js')
-rw-r--r-- | MLEB/Translate/resources/js/ext.translate.recentgroups.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/MLEB/Translate/resources/js/ext.translate.recentgroups.js b/MLEB/Translate/resources/js/ext.translate.recentgroups.js new file mode 100644 index 00000000..678916a2 --- /dev/null +++ b/MLEB/Translate/resources/js/ext.translate.recentgroups.js @@ -0,0 +1,31 @@ +( function ( $, mw ) { + 'use strict'; + + mw.translate = mw.translate || {}; + + /** + * Simple wrapper for storing recent groups for an user. + * + * @class mw.translate.recentGroups + * @singleton + * @since 2016.03 + */ + + mw.translate.recentGroups = { + get: function () { + return JSON.parse( mw.storage.get( 'translate-recentgroups' ) ) || []; + }, + + append: function ( value ) { + var items = this.get(); + + items.unshift( value ); + items = items.filter( function ( item, index, array ) { + return array.indexOf( item ) === index; + } ); + items = items.slice( 0, 5 ); + + mw.storage.set( 'translate-recentgroups', JSON.stringify( items ) ); + } + }; +}( jQuery, mediaWiki ) ); |