diff options
Diffstat (limited to 'src/features/workspaces/store.js')
-rw-r--r-- | src/features/workspaces/store.js | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js index 4b4e729ed..2b6d55cc7 100644 --- a/src/features/workspaces/store.js +++ b/src/features/workspaces/store.js | |||
@@ -1,6 +1,7 @@ | |||
1 | import { observable, reaction } from 'mobx'; | 1 | import { observable, reaction } from 'mobx'; |
2 | import Store from '../../stores/lib/Store'; | 2 | import Store from '../../stores/lib/Store'; |
3 | import CachedRequest from '../../stores/lib/CachedRequest'; | 3 | import CachedRequest from '../../stores/lib/CachedRequest'; |
4 | import Workspace from '../../models/Workspace'; | ||
4 | 5 | ||
5 | const debug = require('debug')('Franz:feature:workspaces'); | 6 | const debug = require('debug')('Franz:feature:workspaces'); |
6 | 7 | ||
@@ -18,12 +19,20 @@ export default class WorkspacesStore extends Store { | |||
18 | 19 | ||
19 | reaction( | 20 | reaction( |
20 | () => this.allWorkspacesRequest.result, | 21 | () => this.allWorkspacesRequest.result, |
21 | workspaces => this.setWorkspaces(workspaces), | 22 | workspaces => this._setWorkspaces(workspaces), |
23 | ); | ||
24 | reaction( | ||
25 | () => this.allWorkspacesRequest.isExecuting, | ||
26 | isExecuting => this._setIsLoading(isExecuting), | ||
22 | ); | 27 | ); |
23 | } | 28 | } |
24 | 29 | ||
25 | setWorkspaces = (workspaces) => { | 30 | _setWorkspaces = (workspaces) => { |
26 | debug('setting user workspaces', workspaces.slice()); | 31 | debug('setting user workspaces', workspaces.slice()); |
27 | this.state.workspaces = workspaces; | 32 | this.state.workspaces = workspaces.map(data => new Workspace(data)); |
33 | }; | ||
34 | |||
35 | _setIsLoading = (isLoading) => { | ||
36 | this.state.isLoading = isLoading; | ||
28 | }; | 37 | }; |
29 | } | 38 | } |