scan delete working
This commit is contained in:
parent
17217dae76
commit
c7dcf7c66d
@ -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;
|
||||
}
|
||||
</script>
|
||||
@ -75,7 +81,7 @@
|
||||
{$_("confirm-delete")}
|
||||
</h3>
|
||||
<div class="mt-2 mb-6">
|
||||
please confirm deletion of {delete_scans.length} scans
|
||||
{$_("please-confirm-the-deletion-of-scan")} #{delete_scan.id}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -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();
|
||||
}
|
||||
</script>
|
||||
|
||||
<DeleteScansModal
|
||||
delete_scans={active_deletes}
|
||||
modal_open={delete_active}
|
||||
<DeleteScanModal
|
||||
delete_scan={active_delete}
|
||||
modal_open={active_delete != undefined}
|
||||
on:delete={(event) => {
|
||||
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}
|
||||
<ScansEmptyState />
|
||||
{:else}
|
||||
{#if selected.length > 0}
|
||||
<button
|
||||
type="button"
|
||||
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm inline-flex"
|
||||
id="options-menu"
|
||||
on:click={async () => {
|
||||
const prom = [];
|
||||
for (const scan of selectedScans) {
|
||||
prom.push(deleteScan(scan.id));
|
||||
}
|
||||
await Promise.all(prom);
|
||||
}}
|
||||
>
|
||||
{$_("delete-cards")}
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="1.5"
|
||||
stroke="currentColor"
|
||||
class="w-5 h-5"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
{/if}
|
||||
<div class="overflow-x-auto">
|
||||
<table class="w-full">
|
||||
<thead>
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user