From 1c73f7f4335b0bd36efe5bf5c3f5cb54c01879ac Mon Sep 17 00:00:00 2001 From: izzy Date: Tue, 13 Jan 2026 14:56:44 +0000 Subject: [PATCH] refactor: split delete event into two --- .../integrity/IntegrityReportTableItem.svelte | 4 ++-- web/src/lib/managers/event-manager.svelte.ts | 3 ++- web/src/lib/services/integrity.service.ts | 20 ++++++------------- .../integrity-report/[type]/+page.svelte | 16 ++------------- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/web/src/lib/components/maintenance/integrity/IntegrityReportTableItem.svelte b/web/src/lib/components/maintenance/integrity/IntegrityReportTableItem.svelte index cb3674ab3a..953fcb00ee 100644 --- a/web/src/lib/components/maintenance/integrity/IntegrityReportTableItem.svelte +++ b/web/src/lib/components/maintenance/integrity/IntegrityReportTableItem.svelte @@ -16,7 +16,7 @@ const { Download, Delete } = $derived(getIntegrityReportItemActions($t, id, reportType)); - function onIntegrityReportDelete({ + function onIntegrityReportDeleteStatus({ id: reportId, type, isDeleting, @@ -31,7 +31,7 @@ } - + {path} diff --git a/web/src/lib/managers/event-manager.svelte.ts b/web/src/lib/managers/event-manager.svelte.ts index 216d3c2971..dfa73dc4f6 100644 --- a/web/src/lib/managers/event-manager.svelte.ts +++ b/web/src/lib/managers/event-manager.svelte.ts @@ -65,7 +65,8 @@ export type Events = { SystemConfigUpdate: [SystemConfigDto]; - IntegrityReportDelete: [{ type?: IntegrityReportType; id?: string; isDeleting: boolean; isDeleted: boolean }]; + IntegrityReportDeleteStatus: [{ type?: IntegrityReportType; id?: string; isDeleting: boolean }]; + IntegrityReportDeleted: [{ type?: IntegrityReportType; id?: string }]; LibraryCreate: [LibraryResponseDto]; LibraryUpdate: [LibraryResponseDto]; diff --git a/web/src/lib/services/integrity.service.ts b/web/src/lib/services/integrity.service.ts index e741c23a33..9093888f93 100644 --- a/web/src/lib/services/integrity.service.ts +++ b/web/src/lib/services/integrity.service.ts @@ -89,27 +89,23 @@ export const handleRemoveAllIntegrityReportItems = async (reportType: IntegrityR } try { - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleteStatus', { type: reportType, isDeleting: true, - isDeleted: false, }); await createJob({ jobCreateDto: { name } }); toastManager.success($t('admin.job_created')); - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleted', { type: reportType, - isDeleting: false, - isDeleted: true, }); } catch (error) { handleError(error, $t('failed_to_delete_file')); - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleteStatus', { type: reportType, isDeleting: false, - isDeleted: false, }); } } @@ -123,28 +119,24 @@ export const handleRemoveIntegrityReportItem = async (reportId: string) => { if (confirm) { try { - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleteStatus', { id: reportId, isDeleting: true, - isDeleted: false, }); await deleteIntegrityReport({ id: reportId, }); - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleted', { id: reportId, - isDeleting: false, - isDeleted: true, }); } catch (error) { handleError(error, $t('failed_to_delete_file')); - eventManager.emit('IntegrityReportDelete', { + eventManager.emit('IntegrityReportDeleteStatus', { id: reportId, isDeleting: false, - isDeleted: false, }); } } diff --git a/web/src/routes/admin/maintenance/integrity-report/[type]/+page.svelte b/web/src/routes/admin/maintenance/integrity-report/[type]/+page.svelte index b8ef9efa7e..8a5bfe3df2 100644 --- a/web/src/routes/admin/maintenance/integrity-report/[type]/+page.svelte +++ b/web/src/routes/admin/maintenance/integrity-report/[type]/+page.svelte @@ -58,19 +58,7 @@ const { Download, Delete } = $derived(getIntegrityReportActions($t, data.type)); - function onIntegrityReportDelete({ - id, - type, - isDeleted, - }: { - id?: string; - type?: IntegrityReportType; - isDeleted: boolean; - }) { - if (!isDeleted) { - return; - } - + function onIntegrityReportDeleted({ id, type }: { id?: string; type?: IntegrityReportType }) { if (type === data.type) { integrityReport.items = []; integrityReport.nextCursor = undefined; @@ -80,7 +68,7 @@ } - +