aboutsummaryrefslogtreecommitdiffstats
path: root/src/stores/ServicesStore.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r--src/stores/ServicesStore.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index efd57a09d..69e616f0c 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -5,6 +5,7 @@ import {
5 observable, 5 observable,
6} from 'mobx'; 6} from 'mobx';
7import { debounce, remove } from 'lodash'; 7import { debounce, remove } from 'lodash';
8import ms from 'ms';
8 9
9import Store from './lib/Store'; 10import Store from './lib/Store';
10import Request from './lib/Request'; 11import Request from './lib/Request';
@@ -43,6 +44,7 @@ export default class ServicesStore extends Store {
43 this.actions.service.deleteService.listen(this._deleteService.bind(this)); 44 this.actions.service.deleteService.listen(this._deleteService.bind(this));
44 this.actions.service.clearCache.listen(this._clearCache.bind(this)); 45 this.actions.service.clearCache.listen(this._clearCache.bind(this));
45 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); 46 this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this));
47 this.actions.service.detachService.listen(this._detachService.bind(this));
46 this.actions.service.focusService.listen(this._focusService.bind(this)); 48 this.actions.service.focusService.listen(this._focusService.bind(this));
47 this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); 49 this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this));
48 this.actions.service.toggleService.listen(this._toggleService.bind(this)); 50 this.actions.service.toggleService.listen(this._toggleService.bind(this));
@@ -340,6 +342,11 @@ export default class ServicesStore extends Store {
340 service.isAttached = true; 342 service.isAttached = true;
341 } 343 }
342 344
345 @action _detachService({ service }) {
346 service.webview = null;
347 service.isAttached = false;
348 }
349
343 @action _focusService({ serviceId }) { 350 @action _focusService({ serviceId }) {
344 const service = this.one(serviceId); 351 const service = this.one(serviceId);
345 352
@@ -679,7 +686,7 @@ export default class ServicesStore extends Store {
679 _initRecipePolling(serviceId) { 686 _initRecipePolling(serviceId) {
680 const service = this.one(serviceId); 687 const service = this.one(serviceId);
681 688
682 const delay = 2000; 689 const delay = ms('2s');
683 690
684 if (service) { 691 if (service) {
685 if (service.timer !== null) { 692 if (service.timer !== null) {
@@ -700,7 +707,7 @@ export default class ServicesStore extends Store {
700 707
701 _reorderAnalytics = debounce(() => { 708 _reorderAnalytics = debounce(() => {
702 gaEvent('Service', 'order'); 709 gaEvent('Service', 'order');
703 }, 5000); 710 }, ms('5s'));
704 711
705 _wrapIndex(index, delta, size) { 712 _wrapIndex(index, delta, size) {
706 return (((index + delta) % size) + size) % size; 713 return (((index + delta) % size) + size) % size;