diff --git a/src/components/donations/AddDonationModal.svelte b/src/components/donations/AddDonationModal.svelte index 5d491104..9916693e 100644 --- a/src/components/donations/AddDonationModal.svelte +++ b/src/components/donations/AddDonationModal.svelte @@ -1,7 +1,7 @@ +{#if modal_open} +
{ + modal_open = false; + }} + > +
+ +
+{/if} + - -{#if modal_open} -
{ - modal_open = false; - }}> -
- -
-{/if} diff --git a/src/components/donations/AddDonationPaymentModal.svelte b/src/components/donations/AddDonationPaymentModal.svelte index eff9be7a..4c057bc0 100644 --- a/src/components/donations/AddDonationPaymentModal.svelte +++ b/src/components/donations/AddDonationPaymentModal.svelte @@ -4,11 +4,13 @@ import { DonationService } from "@odit/lfk-client-js"; import Toastify from "toastify-js"; + import { createEventDispatcher } from "svelte"; export let payment_modal_open = false; export let current_donations = []; export let editable = {}; export let original_data = {}; export let paid_amount_input = 0; + const dispatch = createEventDispatcher(); $:processed_last_submit=true; function focus(el) { el.focus(); @@ -52,8 +54,7 @@ duration: 500, backgroundColor: "linear-gradient(to right, #00b09b, #96c93d)", }).showToast(); - current_donations[current_donations.findIndex((c) => c.id === id)] = result; - current_donations = current_donations; + dispatch("created", {donation: response}) }) .catch((err) => { // diff --git a/src/components/donations/Donations.svelte b/src/components/donations/Donations.svelte index 629e65c1..eb8b2048 100644 --- a/src/components/donations/Donations.svelte +++ b/src/components/donations/Donations.svelte @@ -5,25 +5,33 @@ import DonationsOverview from "./DonationsOverview.svelte"; $: current_donations = []; export let modal_open = false; + let addDonations;
- {$_('donations')} - {#if store.state.jwtinfo.userdetails.permissions.includes('DONATION:CREATE')} + {$_("donations")} + {#if store.state.jwtinfo.userdetails.permissions.includes("DONATION:CREATE")} {/if} - +
-{#if store.state.jwtinfo.userdetails.permissions.includes('DONATION:CREATE')} - +{#if store.state.jwtinfo.userdetails.permissions.includes("DONATION:CREATE")} + { + console.log(event) + addDonations(event.detail.donations); + }} + bind:modal_open + /> {/if} diff --git a/src/components/donations/DonationsOverview.svelte b/src/components/donations/DonationsOverview.svelte index dc215c1a..5d3f7362 100644 --- a/src/components/donations/DonationsOverview.svelte +++ b/src/components/donations/DonationsOverview.svelte @@ -36,6 +36,13 @@ export let editable = {}; export let original_data = {}; export let paid_amount_input = 0; + export const addDonations = (donations) => { + current_donations = current_donations.concat(...donations); + options.update((options) => ({ + ...options, + data: current_donations, + })); + }; function open_payment_modal(donation) { editable = Object.assign({}, donation); @@ -104,7 +111,7 @@ accessorKey: "status", header: () => $_("status"), cell: (info) => { - return renderComponent(DonationStatus, {status: info.getValue()}); + return renderComponent(DonationStatus, { status: info.getValue() }); }, enableColumnFilter: false, },