aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/workspaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/workspaces')
-rw-r--r--src/features/workspaces/index.ts22
-rw-r--r--src/features/workspaces/store.js8
2 files changed, 1 insertions, 29 deletions
diff --git a/src/features/workspaces/index.ts b/src/features/workspaces/index.ts
index ecca64b41..25975936a 100644
--- a/src/features/workspaces/index.ts
+++ b/src/features/workspaces/index.ts
@@ -1,28 +1,8 @@
1import { reaction } from 'mobx';
2import WorkspacesStore from './store'; 1import WorkspacesStore from './store';
3import { resetApiRequests } from './api';
4
5const debug = require('debug')('Ferdi:feature:workspaces');
6 2
7export const workspaceStore = new WorkspacesStore(); 3export const workspaceStore = new WorkspacesStore();
8 4
9export default function initWorkspaces(stores, actions) { 5export default function initWorkspaces(stores, actions) {
10 stores.workspaces = workspaceStore; 6 stores.workspaces = workspaceStore;
11 const { features } = stores; 7 workspaceStore.start(stores, actions);
12
13 // Toggle workspace feature
14 reaction(
15 () => features.features.isWorkspaceEnabled,
16 isEnabled => {
17 if (isEnabled && !workspaceStore.isFeatureActive) {
18 debug('Initializing `workspaces` feature');
19 workspaceStore.start(stores, actions);
20 } else if (workspaceStore.isFeatureActive) {
21 debug('Disabling `workspaces` feature');
22 workspaceStore.stop();
23 resetApiRequests();
24 }
25 },
26 { fireImmediately: true },
27 );
28} 8}
diff --git a/src/features/workspaces/store.js b/src/features/workspaces/store.js
index 0fa43b723..17ec17b3a 100644
--- a/src/features/workspaces/store.js
+++ b/src/features/workspaces/store.js
@@ -18,8 +18,6 @@ import { KEEP_WS_LOADED_USID } from '../../config';
18const debug = require('debug')('Ferdi:feature:workspaces:store'); 18const debug = require('debug')('Ferdi:feature:workspaces:store');
19 19
20export default class WorkspacesStore extends FeatureStore { 20export default class WorkspacesStore extends FeatureStore {
21 @observable isFeatureEnabled = true;
22
23 @observable isFeatureActive = false; 21 @observable isFeatureActive = false;
24 22
25 @observable activeWorkspace = null; 23 @observable activeWorkspace = null;
@@ -97,7 +95,6 @@ export default class WorkspacesStore extends FeatureStore {
97 95
98 this._allReactions = createReactions([ 96 this._allReactions = createReactions([
99 this._openDrawerWithSettingsReaction, 97 this._openDrawerWithSettingsReaction,
100 this._setFeatureEnabledReaction,
101 this._cleanupInvalidServiceReferences, 98 this._cleanupInvalidServiceReferences,
102 this._setActiveServiceOnWorkspaceSwitchReaction, 99 this._setActiveServiceOnWorkspaceSwitchReaction,
103 this._activateLastUsedWorkspaceReaction, 100 this._activateLastUsedWorkspaceReaction,
@@ -251,11 +248,6 @@ export default class WorkspacesStore extends FeatureStore {
251 248
252 // Reactions 249 // Reactions
253 250
254 _setFeatureEnabledReaction = () => {
255 const { isWorkspaceEnabled } = this.stores.features.features;
256 this.isFeatureEnabled = isWorkspaceEnabled;
257 };
258
259 _setWorkspaceBeingEditedReaction = () => { 251 _setWorkspaceBeingEditedReaction = () => {
260 const { pathname } = this.stores.router.location; 252 const { pathname } = this.stores.router.location;
261 const match = matchRoute('/settings/workspaces/edit/:id', pathname); 253 const match = matchRoute('/settings/workspaces/edit/:id', pathname);