+ class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
+ >
+ data-id="modal_backdrop"
+ />
+ aria-hidden="true">
+ aria-labelledby="modal-headline"
+ >
-
+ class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
+ >
+
- {$_('attention')}
+ {$_("attention")}
{$_(
- 'do-you-want-to-delete-this-donor-with-all-related-donations'
+ "do-you-want-to-delete-this-donor-with-all-related-donations"
)}
-
- {$_('all-associated-donations-will-get-deleted-as-well')}
+
+ {$_("all-associated-donations-will-get-deleted-as-well")}
@@ -76,14 +77,16 @@
diff --git a/src/components/donors/DonorsOverview.svelte b/src/components/donors/DonorsOverview.svelte
index 69e10c71..099da4c1 100644
--- a/src/components/donors/DonorsOverview.svelte
+++ b/src/components/donors/DonorsOverview.svelte
@@ -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 @@
{
- 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}