diff options
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r-- | src/stores/ServicesStore.js | 11 |
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'; |
7 | import { debounce, remove } from 'lodash'; | 7 | import { debounce, remove } from 'lodash'; |
8 | import ms from 'ms'; | ||
8 | 9 | ||
9 | import Store from './lib/Store'; | 10 | import Store from './lib/Store'; |
10 | import Request from './lib/Request'; | 11 | import 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; |