diff --git a/src/scenario/scenario-store.js b/src/scenario/scenario-store.js index 75c77ee..be89e90 100644 --- a/src/scenario/scenario-store.js +++ b/src/scenario/scenario-store.js @@ -19,37 +19,14 @@ import ScenariosDataManager from './scenarios-data-manager'; import ArrayStore from '../common/array-store'; -//export default new ArrayStore('scenarios', ScenariosDataManager); - class ScenarioStore extends ArrayStore { constructor() { - super('scenarios', ScenariosDataManager); - } - - getInitialState() { - return { - state: super.getInitialState(), - users: null - }; + super('scenarios', ScenariosDataManager); } getUsers(token, id) { ScenariosDataManager.getUsers(token, id); } - - reduce(state, action) { - switch (action.type) { - case 'scenarios/users': - state.users = action.users; - return state; - case 'scenarios/users-error': - return state; - - default: - return super.reduce(state, action); - } - } - } export default new ScenarioStore(); \ No newline at end of file diff --git a/src/scenario/scenario.js b/src/scenario/scenario.js index 11c2739..b8e3f5a 100644 --- a/src/scenario/scenario.js +++ b/src/scenario/scenario.js @@ -43,11 +43,8 @@ import EditSignalMapping from "../signal/edit-signal-mapping"; import FileStore from "../file/file-store" import WidgetStore from "../widget/widget-store"; + class Scenario extends React.Component { - constructor(props) { - super(props); - this.getUsers = true; - } static getStores() { return [ ScenarioStore, ConfigStore, DashboardStore, ICStore, LoginStore, SignalStore, FileStore, WidgetStore]; @@ -65,22 +62,8 @@ class Scenario extends React.Component { token: sessionToken }); } - let users = null; - let sc = ScenarioStore.getState().users; - /* - if (sc) { - users = sc.users; - if (users == null && this.getUsers ) { - ScenarioStore.getUsers(sessionToken, props.match.params.scenario); - this.getUsers = false; - } - } - */ - - - // ScenariosDataManager.getUsers(sessionToken, props.match.params.scenario); - + let users = LoginStore.getState().scenarioUsers; // obtain all dashboards of a scenario let dashboards = DashboardStore.getState().filter(dashb => dashb.scenarioID === parseInt(props.match.params.scenario, 10)); @@ -132,7 +115,6 @@ class Scenario extends React.Component { } componentDidMount() { - // get users of scenario ScenarioStore.getUsers(this.state.sessionToken, this.state.scenario.id); //load selected scenario diff --git a/src/user/login-store.js b/src/user/login-store.js index 0b461e2..c5718db 100644 --- a/src/user/login-store.js +++ b/src/user/login-store.js @@ -30,7 +30,8 @@ class LoginStore extends ReduceStore { return { currentUser: null, token: null, - loginMessage: null + loginMessage: null, + scenarioUsers: null }; } @@ -76,7 +77,13 @@ class LoginStore extends ReduceStore { // If it was an error and hasn't been handled, the credentials must have been wrong. state = Object.assign({}, state, { loginMessage: 'Wrong credentials! Please try again.' }); } + return state; + case 'scenarios/users': + state.scenarioUsers = action.users; + return state; + + case 'scenarios/users-error': return state; default: