summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js')
-rw-r--r--www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js b/www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js
new file mode 100644
index 00000000..360739d1
--- /dev/null
+++ b/www/wiki/extensions/Translate/resources/js/ext.translate.recentgroups.js
@@ -0,0 +1,31 @@
+( function () {
+ '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 ) );
+ }
+ };
+}() );