feat(donorsoverview): Implemented delete confirmation with datatable

This commit is contained in:
2023-04-19 16:49:54 +02:00
parent d98fb0d5b2
commit 7aec050419
2 changed files with 56 additions and 40 deletions

View File

@@ -73,7 +73,7 @@
);
return renderComponent(DonorDonations, { donations });
},
filterFn: `includesString`,
enableColumnFilter: false,
},
{
accessorKey: "donationAmount",
@@ -83,7 +83,7 @@
.toFixed(2)
.toLocaleString("de-DE", { valute: "EUR" })}€`;
},
filterFn: `group`,
enableColumnFilter: false,
},
{
accessorKey: "paidDonationAmount",
@@ -102,10 +102,9 @@
return renderComponent(TableActions, {
detailsLink: `./${info.row.original.id}`,
deleteAction: () => {
active_deletes =
current_donors[
current_donors.findIndex((r) => r.id == info.row.original.id)
];
active_deletes = current_donors.filter(
(r) => r.id == info.row.original.id
);
},
deleteEnabled:
store.state.jwtinfo.userdetails.permissions.includes(
@@ -169,12 +168,26 @@
<ConfirmDonorDeletion
on:cancelDelete={(event) => {
modal_open = false;
active_deletes[event.detail.id] = false;
active_deletes = active_deletes.filter((a) => a.id !== event.detail.id);
}}
bind:modal_open
bind:delete_donor
on:delete={async (event) => {
await DonorService.donorControllerRemove(event.detail.id, true);
Toastify({
text: $_("donor-deleted"),
duration: 500,
backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)",
}).showToast();
current_donors = current_donors.filter((d) => d.id !== event.detail.id);
active_deletes = active_deletes.filter((a) => a.id !== event.detail.id);
options.update((options) => ({
...options,
data: current_donors,
}));
}}
modal_open={active_deletes.length > 0}
delete_donor={active_deletes[0]}
/>
{active_deletes.length}
{#if store.state.jwtinfo.userdetails.permissions.includes("DONOR:GET")}
{#if !dataLoaded}
<div