diff --git a/src/components/scans/DeleteScansModal.svelte b/src/components/scans/DeleteScanModal.svelte similarity index 94% rename from src/components/scans/DeleteScansModal.svelte rename to src/components/scans/DeleteScanModal.svelte index 9d35c6f0..45ac2d0c 100644 --- a/src/components/scans/DeleteScansModal.svelte +++ b/src/components/scans/DeleteScanModal.svelte @@ -3,7 +3,13 @@ import { clickOutside } from "../base/outsideclick"; import { createEventDispatcher, onMount } from "svelte"; export let modal_open; - export let delete_scans = []; + export let delete_scan = { + id: 0, + runner: { + firstname: "", + lastname: "", + }, + }; const dispatch = createEventDispatcher(); onMount(() => { document.onkeydown = (e) => { @@ -20,7 +26,7 @@ }; }); async function submit() { - dispatch("delete", { scans: delete_scans }); + dispatch("delete", { id: delete_scan.id }); modal_open = false; } @@ -75,7 +81,7 @@ {$_("confirm-delete")}
- please confirm deletion of {delete_scans.length} scans + {$_("please-confirm-the-deletion-of-scan")} #{delete_scan.id}
diff --git a/src/components/scans/ScansOverview.svelte b/src/components/scans/ScansOverview.svelte index 1f3a6127..52fc0318 100644 --- a/src/components/scans/ScansOverview.svelte +++ b/src/components/scans/ScansOverview.svelte @@ -22,15 +22,14 @@ import { runnerFilter, statusFilter } from "../shared/tablefilters"; import CardRunner from "../cards/CardRunner.svelte"; import ScanValid from "./ScanValid.svelte"; - import DeleteScansModal from "./DeleteScansModal.svelte"; + import DeleteScanModal from "./DeleteScanModal.svelte"; $: selectedScans = $table?.getSelectedRowModel().rows.map((row) => row.original) || []; $: selected = $table?.getSelectedRowModel().rows.map((row) => row.index) || []; - $: delete_active = false; - $: active_deletes = []; + $: active_delete = undefined; export let current_scans = []; const scans_promise = ScanService.scanControllerGetAll().then((val) => { current_scans = val; @@ -123,12 +122,10 @@ return renderComponent(TableActions, { detailsLink: `./${info.row.original.id}`, deleteAction: () => { - active_deletes = [ + active_delete = current_scans[ current_scans.findIndex((r) => r.id == info.row.original.id) - ], - ]; - delete_active = true; + ]; }, deleteEnabled: store.state.jwtinfo.userdetails.permissions.includes("SCAN:DELETE"), @@ -158,41 +155,25 @@ }); const table = createSvelteTable(options); async function deleteScan(scan_id) { - // await ScanService.scanControllerRemove(scan_id, true); + await ScanService.scanControllerRemove(scan_id, true); current_scans = current_scans.filter((r) => r.id !== scan_id); - // options.update((options) => ({ - // ...options, - // data: current_scans, - // })); - // Toastify({ - // text: $_("scans-deleted"), - // duration: 3500, - // backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", - // }).showToast(); - } - async function deleteScans(scan_ids) { - scan_ids.forEach((scan_id) => { - deleteScan(scan_id); - }); - // // await ScanService.scanControllerRemove(scan_id, true); - // current_scans = current_scans.filter((r) => r.id !== scan_id); - // options.update((options) => ({ - // ...options, - // data: current_scans, - // })); - // Toastify({ - // text: $_("scans-deleted"), - // duration: 3500, - // backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", - // }).showToast(); + options.update((options) => ({ + ...options, + data: current_scans, + })); + Toastify({ + text: $_("scan-deleted"), + duration: 3500, + backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", + }).showToast(); } - { - deleteScans(event.detail.scans); + deleteScan(event.detail.id); }} /> {#if store.state.jwtinfo.userdetails.permissions.includes("SCAN:GET")} @@ -208,6 +189,36 @@ {#if current_scans.length === 0} {:else} + {#if selected.length > 0} + + {/if}
diff --git a/src/locales/de.json b/src/locales/de.json index 4c9a5479..c16502c2 100644 --- a/src/locales/de.json +++ b/src/locales/de.json @@ -478,6 +478,8 @@ "cards-deleted": "Karten gelöscht", "please-confirm-the-deletion-of-runner": "Bitte bestätige die Löschung der Läufer:in", "runner-deleted": "Läufer:in gelöscht", + "scan-deleted": "Scan gelöscht", + "please-confirm-the-deletion-of-scan": "Bitte bestätige die Löschung des Scans", "please-confirm-the-deletion-of-card": "Bitte bestätige die Löschung der Karte", "card": "Läuferkarte" } diff --git a/src/locales/en.json b/src/locales/en.json index ea733426..d82784a9 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -478,6 +478,8 @@ "cards-deleted": "Cards deleted", "please-confirm-the-deletion-of-runner": "Please confirm the deletion of this runner", "runner-deleted": "runner deleted", + "scan-deleted": "scan deleted", + "please-confirm-the-deletion-of-scan": "Please confirm the deletion of scan", "please-confirm-the-deletion-of-card": "Please confirm the deletion of this card", "card": "card" }