From d7cdcf082fab6c0cb7c2fe4bed821bd1a8000e69 Mon Sep 17 00:00:00 2001
From: Christopher Speller <crspeller@gmail.com>
Date: Mon, 8 Feb 2016 07:26:10 -0500
Subject: Convering client to react-router.

---
 web/react/stores/localization_store.jsx | 60 +++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 web/react/stores/localization_store.jsx

(limited to 'web/react/stores/localization_store.jsx')

diff --git a/web/react/stores/localization_store.jsx b/web/react/stores/localization_store.jsx
new file mode 100644
index 000000000..0e3a63724
--- /dev/null
+++ b/web/react/stores/localization_store.jsx
@@ -0,0 +1,60 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import AppDispatcher from '../dispatcher/app_dispatcher.jsx';
+import EventEmitter from 'events';
+import Constants from '../utils/constants.jsx';
+const ActionTypes = Constants.ActionTypes;
+
+const CHANGE_EVENT = 'change';
+
+class LocalizationStoreClass extends EventEmitter {
+    constructor() {
+        super();
+
+        this.currentLocale = 'en';
+        this.currentTranslations = null;
+    }
+
+    emitChange() {
+        this.emit(CHANGE_EVENT);
+    }
+
+    addChangeListener(callback) {
+        this.on(CHANGE_EVENT, callback);
+    }
+
+    removeChangeListener(callback) {
+        this.removeListener(CHANGE_EVENT, callback);
+    }
+
+    setCurrentLocale(locale, translations) {
+        this.currentLocale = locale;
+        this.currentTranslations = translations;
+    }
+
+    getLocale() {
+        return this.currentLocale;
+    }
+
+    getTranslations() {
+        return this.currentTranslations;
+    }
+}
+
+var LocalizationStore = new LocalizationStoreClass();
+LocalizationStore.setMaxListeners(0);
+
+LocalizationStore.dispatchToken = AppDispatcher.register((payload) => {
+    var action = payload.action;
+
+    switch (action.type) {
+    case ActionTypes.RECEIVED_LOCALE:
+        LocalizationStore.setCurrentLocale(action.locale, action.translations);
+        LocalizationStore.emitChange();
+        break;
+    default:
+    }
+});
+
+export default LocalizationStore;
-- 
cgit v1.2.3-1-g7c22

