From 93c78a672cca857632e186b709b84ab898730ccb Mon Sep 17 00:00:00 2001 From: Mark Cooper Date: Wed, 25 Aug 2021 19:15:00 -0500 Subject: [PATCH] Fix listener for audiobook updates in edit modal, add remove cover button --- client/components/modals/EditModal.vue | 16 +++-- client/components/modals/edit-tabs/Cover.vue | 37 ++++++++-- .../components/modals/edit-tabs/Details.vue | 1 - client/components/modals/edit-tabs/Match.vue | 3 +- client/package.json | 2 +- package.json | 2 +- server/Book.js | 10 ++- server/BookFinder.js | 69 ++++++++++--------- server/Scanner.js | 7 +- 9 files changed, 96 insertions(+), 51 deletions(-) diff --git a/client/components/modals/EditModal.vue b/client/components/modals/EditModal.vue index b4e337f4..441d115a 100644 --- a/client/components/modals/EditModal.vue +++ b/client/components/modals/EditModal.vue @@ -25,18 +25,21 @@ export default { return { selectedTab: 'details', processing: false, - audiobook: null + audiobook: null, + fetchOnShow: false } }, watch: { show: { handler(newVal) { if (newVal) { - if (this.audiobook && this.audiobook.id === this.selectedAudiobookId) return + if (this.audiobook && this.audiobook.id === this.selectedAudiobookId) { + if (this.fetchOnShow) this.fetchFull() + return + } + this.fetchOnShow = false this.audiobook = null this.init() - } else { - this.$store.commit('audiobooks/removeListener', 'edit-modal') } } } @@ -75,7 +78,10 @@ export default { this.selectedTab = tab }, audiobookUpdated() { - this.fetchFull() + if (!this.show) this.fetchOnShow = true + else { + this.fetchFull() + } }, init() { this.$store.commit('audiobooks/addListener', { meth: this.audiobookUpdated, id: 'edit-modal', audiobookId: this.selectedAudiobookId }) diff --git a/client/components/modals/edit-tabs/Cover.vue b/client/components/modals/edit-tabs/Cover.vue index 38ba5d60..201c6f89 100644 --- a/client/components/modals/edit-tabs/Cover.vue +++ b/client/components/modals/edit-tabs/Cover.vue @@ -1,7 +1,16 @@