diff --git a/komga-webui/src/components/Dialogs.vue b/komga-webui/src/components/Dialogs.vue index 339db3480..0d106dca3 100644 --- a/komga-webui/src/components/Dialogs.vue +++ b/komga-webui/src/components/Dialogs.vue @@ -70,6 +70,26 @@ :series="updateSeries" /> + + + + @@ -224,6 +244,20 @@ export default Vue.extend({ updateBulkBooks(): BookDto[] { return this.$store.state.updateBulkBooks }, + deleteBookDialog: { + get(): boolean { + return this.$store.state.deleteBookDialog + }, + set(val) { + this.$store.dispatch('dialogDeleteBookDisplay', val) + }, + }, + booksToDelete(): BookDto | BookDto[] { + return this.$store.state.deleteBooks + }, + booksToDeleteSingle(): boolean { + return !Array.isArray(this.booksToDelete) + }, // series updateSeriesDialog: { get(): boolean { @@ -236,6 +270,20 @@ export default Vue.extend({ updateSeries(): SeriesDto | SeriesDto[] { return this.$store.state.updateSeries }, + deleteSeriesDialog: { + get(): boolean { + return this.$store.state.deleteSeriesDialog + }, + set(val) { + this.$store.dispatch('dialogDeleteSeriesDisplay', val) + }, + }, + seriesToDelete(): SeriesDto | SeriesDto[] { + return this.$store.state.deleteSeries + }, + seriesToDeleteSingle(): boolean { + return !Array.isArray(this.seriesToDelete) + }, }, methods: { async deleteLibrary() { @@ -265,6 +313,26 @@ export default Vue.extend({ } } }, + async deleteSeries() { + const toUpdate = (this.seriesToDeleteSingle ? [this.seriesToDelete] : this.seriesToDelete) as SeriesDto[] + for (const b of toUpdate) { + try { + await this.$komgaSeries.deleteSeries(b.id) + } catch (e) { + this.$eventHub.$emit(ERROR, {message: e.message} as ErrorEvent) + } + } + }, + async deleteBooks() { + const toUpdate = (this.booksToDeleteSingle ? [this.booksToDelete] : this.booksToDelete) as BookDto[] + for (const b of toUpdate) { + try { + await this.$komgaBooks.deleteBook(b.id) + } catch (e) { + this.$eventHub.$emit(ERROR, {message: e.message} as ErrorEvent) + } + } + }, }, }) diff --git a/komga-webui/src/components/bars/MultiSelectBar.vue b/komga-webui/src/components/bars/MultiSelectBar.vue index 72089f1f1..aeed951b5 100644 --- a/komga-webui/src/components/bars/MultiSelectBar.vue +++ b/komga-webui/src/components/bars/MultiSelectBar.vue @@ -79,7 +79,7 @@ - +