From 1626a6de6f16ba0878160b0a7eae9f49b8d34d4f Mon Sep 17 00:00:00 2001
From: =Corey Hulen <corey@hulen.com>
Date: Wed, 23 Sep 2015 12:49:28 -0700
Subject: PLT-349 adding team mgt to admin console

---
 web/react/stores/admin_store.jsx | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

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

diff --git a/web/react/stores/admin_store.jsx b/web/react/stores/admin_store.jsx
index dd5b60a24..7b2aeb631 100644
--- a/web/react/stores/admin_store.jsx
+++ b/web/react/stores/admin_store.jsx
@@ -4,11 +4,14 @@
 var AppDispatcher = require('../dispatcher/app_dispatcher.jsx');
 var EventEmitter = require('events').EventEmitter;
 
+var BrowserStore = require('../stores/browser_store.jsx');
+
 var Constants = require('../utils/constants.jsx');
 var ActionTypes = Constants.ActionTypes;
 
 var LOG_CHANGE_EVENT = 'log_change';
 var CONFIG_CHANGE_EVENT = 'config_change';
+var ALL_TEAMS_EVENT = 'all_team_change';
 
 class AdminStoreClass extends EventEmitter {
     constructor() {
@@ -16,6 +19,7 @@ class AdminStoreClass extends EventEmitter {
 
         this.logs = null;
         this.config = null;
+        this.teams = null;
 
         this.emitLogChange = this.emitLogChange.bind(this);
         this.addLogChangeListener = this.addLogChangeListener.bind(this);
@@ -24,6 +28,10 @@ class AdminStoreClass extends EventEmitter {
         this.emitConfigChange = this.emitConfigChange.bind(this);
         this.addConfigChangeListener = this.addConfigChangeListener.bind(this);
         this.removeConfigChangeListener = this.removeConfigChangeListener.bind(this);
+
+        this.emitAllTeamsChange = this.emitAllTeamsChange.bind(this);
+        this.addAllTeamsChangeListener = this.addAllTeamsChangeListener.bind(this);
+        this.removeAllTeamsChangeListener = this.removeAllTeamsChangeListener.bind(this);
     }
 
     emitLogChange() {
@@ -50,6 +58,18 @@ class AdminStoreClass extends EventEmitter {
         this.removeListener(CONFIG_CHANGE_EVENT, callback);
     }
 
+    emitAllTeamsChange() {
+        this.emit(ALL_TEAMS_EVENT);
+    }
+
+    addAllTeamsChangeListener(callback) {
+        this.on(ALL_TEAMS_EVENT, callback);
+    }
+
+    removeAllTeamsChangeListener(callback) {
+        this.removeListener(ALL_TEAMS_EVENT, callback);
+    }
+
     getLogs() {
         return this.logs;
     }
@@ -65,6 +85,22 @@ class AdminStoreClass extends EventEmitter {
     saveConfig(config) {
         this.config = config;
     }
+
+    getAllTeams() {
+        return this.teams;
+    }
+
+    saveAllTeams(teams) {
+        this.teams = teams;
+    }
+
+    getSelectedTeams() {
+        return BrowserStore.getItem('seleted_teams');
+    }
+
+    saveSelectedTeams(teams) {
+        BrowserStore.setItem('seleted_teams', teams);
+    }
 }
 
 var AdminStore = new AdminStoreClass();
@@ -81,6 +117,10 @@ AdminStoreClass.dispatchToken = AppDispatcher.register((payload) => {
         AdminStore.saveConfig(action.config);
         AdminStore.emitConfigChange();
         break;
+    case ActionTypes.RECIEVED_ALL_TEAMS:
+        AdminStore.saveAllTeams(action.teams);
+        AdminStore.emitAllTeamsChange();
+        break;
     default:
     }
 });
-- 
cgit v1.2.3-1-g7c22

