aboutsummaryrefslogtreecommitdiffstats
path: root/src/features/utils/FeatureStore.js
diff options
context:
space:
mode:
authorLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-04-11 12:00:07 +0200
committerLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-04-11 12:00:07 +0200
commite43d6bd80b3d76aae627fa8174eea98c14016549 (patch)
treede1d0a3ba10100ce68d0cb1ed618095e362fe573 /src/features/utils/FeatureStore.js
parentimplements basic release announcement feature (diff)
parenthandle deleted services that are attached to workspaces (diff)
downloadferdium-app-e43d6bd80b3d76aae627fa8174eea98c14016549.tar.gz
ferdium-app-e43d6bd80b3d76aae627fa8174eea98c14016549.tar.zst
ferdium-app-e43d6bd80b3d76aae627fa8174eea98c14016549.zip
merge-in workspace feature
Diffstat (limited to 'src/features/utils/FeatureStore.js')
-rw-r--r--src/features/utils/FeatureStore.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/features/utils/FeatureStore.js b/src/features/utils/FeatureStore.js
new file mode 100644
index 000000000..66b66a104
--- /dev/null
+++ b/src/features/utils/FeatureStore.js
@@ -0,0 +1,21 @@
1import Reaction from '../../stores/lib/Reaction';
2
3export class FeatureStore {
4 _actions = null;
5
6 _reactions = null;
7
8 _listenToActions(actions) {
9 if (this._actions) this._actions.forEach(a => a[0].off(a[1]));
10 this._actions = [];
11 actions.forEach(a => this._actions.push(a));
12 this._actions.forEach(a => a[0].listen(a[1]));
13 }
14
15 _startReactions(reactions) {
16 if (this._reactions) this._reactions.forEach(r => r.stop());
17 this._reactions = [];
18 reactions.forEach(r => this._reactions.push(new Reaction(r)));
19 this._reactions.forEach(r => r.start());
20 }
21}