summaryrefslogtreecommitdiffstats
path: root/webapp/stores/admin_store.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/stores/admin_store.jsx')
-rw-r--r--webapp/stores/admin_store.jsx27
1 files changed, 16 insertions, 11 deletions
diff --git a/webapp/stores/admin_store.jsx b/webapp/stores/admin_store.jsx
index 8d83dc360..2826e6ddf 100644
--- a/webapp/stores/admin_store.jsx
+++ b/webapp/stores/admin_store.jsx
@@ -13,6 +13,8 @@ const CONFIG_CHANGE_EVENT = 'config_change';
const ALL_TEAMS_EVENT = 'all_team_change';
const SERVER_COMPLIANCE_REPORT_CHANGE_EVENT = 'server_compliance_reports_change';
+import store from 'stores/redux_store.jsx';
+
class AdminStoreClass extends EventEmitter {
constructor() {
super();
@@ -21,8 +23,19 @@ class AdminStoreClass extends EventEmitter {
this.audits = null;
this.config = null;
this.clusterId = null;
- this.teams = {};
this.complianceReports = null;
+
+ this.entities = store.getState().entities.teams;
+
+ store.subscribe(() => {
+ const newEntities = store.getState().entities.teams;
+
+ if (newEntities.teams !== this.entities.teams) {
+ this.emitAllTeamsChange();
+ }
+
+ this.entities = newEntities;
+ });
}
emitLogChange() {
@@ -126,15 +139,11 @@ class AdminStoreClass extends EventEmitter {
}
getAllTeams() {
- return this.teams;
- }
-
- saveAllTeams(teams) {
- this.teams = teams;
+ return store.getState().entities.teams.teams;
}
getTeam(id) {
- return this.teams[id];
+ return this.getAllTeams()[id];
}
}
@@ -161,10 +170,6 @@ AdminStoreClass.dispatchToken = AppDispatcher.register((payload) => {
AdminStore.saveClusterId(action.clusterId);
AdminStore.emitConfigChange();
break;
- case ActionTypes.RECEIVED_ALL_TEAMS:
- AdminStore.saveAllTeams(action.teams);
- AdminStore.emitAllTeamsChange();
- break;
default:
}
});