diff options
author | Stefan Malzner <stefan@adlk.io> | 2018-01-04 10:18:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-04 10:18:16 +0100 |
commit | fc8c5ff94a1f6525afb9f103666113ad80eb3a43 (patch) | |
tree | 494b19ddbcde51c44e5de6a468fb89cdeba5835f /src/stores/ServicesStore.js | |
parent | Fix typo with badges (diff) | |
parent | Merge pull request #517 from dannyqiu/service-cache-cleanup (diff) | |
download | ferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.tar.gz ferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.tar.zst ferdium-app-fc8c5ff94a1f6525afb9f103666113ad80eb3a43.zip |
Merge branch 'develop' into bug-fixes
Diffstat (limited to 'src/stores/ServicesStore.js')
-rw-r--r-- | src/stores/ServicesStore.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js index 66f37af26..87ee57a0d 100644 --- a/src/stores/ServicesStore.js +++ b/src/stores/ServicesStore.js | |||
@@ -16,6 +16,7 @@ export default class ServicesStore extends Store { | |||
16 | @observable updateServiceRequest = new Request(this.api.services, 'update'); | 16 | @observable updateServiceRequest = new Request(this.api.services, 'update'); |
17 | @observable reorderServicesRequest = new Request(this.api.services, 'reorder'); | 17 | @observable reorderServicesRequest = new Request(this.api.services, 'reorder'); |
18 | @observable deleteServiceRequest = new Request(this.api.services, 'delete'); | 18 | @observable deleteServiceRequest = new Request(this.api.services, 'delete'); |
19 | @observable clearCacheRequest = new Request(this.api.services, 'clearCache'); | ||
19 | 20 | ||
20 | @observable filterNeedle = null; | 21 | @observable filterNeedle = null; |
21 | 22 | ||
@@ -31,6 +32,7 @@ export default class ServicesStore extends Store { | |||
31 | this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); | 32 | this.actions.service.createFromLegacyService.listen(this._createFromLegacyService.bind(this)); |
32 | this.actions.service.updateService.listen(this._updateService.bind(this)); | 33 | this.actions.service.updateService.listen(this._updateService.bind(this)); |
33 | this.actions.service.deleteService.listen(this._deleteService.bind(this)); | 34 | this.actions.service.deleteService.listen(this._deleteService.bind(this)); |
35 | this.actions.service.clearCache.listen(this._clearCache.bind(this)); | ||
34 | this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); | 36 | this.actions.service.setWebviewReference.listen(this._setWebviewReference.bind(this)); |
35 | this.actions.service.focusService.listen(this._focusService.bind(this)); | 37 | this.actions.service.focusService.listen(this._focusService.bind(this)); |
36 | this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); | 38 | this.actions.service.focusActiveService.listen(this._focusActiveService.bind(this)); |
@@ -205,6 +207,13 @@ export default class ServicesStore extends Store { | |||
205 | gaEvent('Service', 'delete', service.recipe.id); | 207 | gaEvent('Service', 'delete', service.recipe.id); |
206 | } | 208 | } |
207 | 209 | ||
210 | @action async _clearCache({ serviceId }) { | ||
211 | this.clearCacheRequest.reset(); | ||
212 | const request = this.clearCacheRequest.execute(serviceId); | ||
213 | await request._promise; | ||
214 | gaEvent('Service', 'clear cache'); | ||
215 | } | ||
216 | |||
208 | @action _setActive({ serviceId }) { | 217 | @action _setActive({ serviceId }) { |
209 | const service = this.one(serviceId); | 218 | const service = this.one(serviceId); |
210 | 219 | ||
@@ -368,7 +377,7 @@ export default class ServicesStore extends Store { | |||
368 | const service = this.one(serviceId); | 377 | const service = this.one(serviceId); |
369 | service.resetMessageCount(); | 378 | service.resetMessageCount(); |
370 | 379 | ||
371 | service.webview.reload(); | 380 | service.webview.loadURL(service.url); |
372 | } | 381 | } |
373 | 382 | ||
374 | @action _reloadActive() { | 383 | @action _reloadActive() { |
@@ -497,12 +506,13 @@ export default class ServicesStore extends Store { | |||
497 | .reduce((a, b) => a + b, 0); | 506 | .reduce((a, b) => a + b, 0); |
498 | 507 | ||
499 | const unreadIndirectMessageCount = this.allDisplayed | 508 | const unreadIndirectMessageCount = this.allDisplayed |
500 | .filter(s => (showMessageBadgeWhenMuted || s.isIndirectMessageBadgeEnabled) && showMessageBadgesEvenWhenMuted && s.isBadgeEnabled) | 509 | .filter(s => (showMessageBadgeWhenMuted && showMessageBadgesEvenWhenMuted) && (s.isBadgeEnabled && s.isIndirectMessageBadgeEnabled)) |
501 | .map(s => s.unreadIndirectMessageCount) | 510 | .map(s => s.unreadIndirectMessageCount) |
502 | .reduce((a, b) => a + b, 0); | 511 | .reduce((a, b) => a + b, 0); |
503 | 512 | ||
504 | // We can't just block this earlier, otherwise the mobx reaction won't be aware of the vars to watch in some cases | 513 | // We can't just block this earlier, otherwise the mobx reaction won't be aware of the vars to watch in some cases |
505 | if (showMessageBadgesEvenWhenMuted) { | 514 | if (showMessageBadgesEvenWhenMuted) { |
515 | console.log('set badge', unreadDirectMessageCount, unreadIndirectMessageCount); | ||
506 | this.actions.app.setBadge({ | 516 | this.actions.app.setBadge({ |
507 | unreadDirectMessageCount, | 517 | unreadDirectMessageCount, |
508 | unreadIndirectMessageCount, | 518 | unreadIndirectMessageCount, |