PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.1
GiveWP – Donation Plugin and Fundraising Platform v3.14.1
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Donors / resources / components / DonorsRowActions.tsx
give / src / Donors / resources / components Last commit date
DonorsListTable.tsx 2 years ago DonorsRowActions.module.scss 3 years ago DonorsRowActions.tsx 2 years ago style.scss 3 years ago
DonorsRowActions.tsx
68 lines
1 import {__} from '@wordpress/i18n';
2 import {useSWRConfig} from 'swr';
3 import RowAction from '@givewp/components/ListTable/RowAction';
4 import ListTableApi from '@givewp/components/ListTable/api';
5 import {useContext} from 'react';
6 import {ShowConfirmModalContext} from '@givewp/components/ListTable/ListTablePage';
7 import styles from './DonorsRowActions.module.scss';
8 import {Interweave} from 'interweave';
9 import './style.scss';
10
11 const donorsApi = new ListTableApi(window.GiveDonors);
12
13 export function DonorsRowActions({item, setUpdateErrors, parameters}) {
14 const showConfirmModal = useContext(ShowConfirmModalContext);
15 const {mutate} = useSWRConfig();
16
17 const fetchAndUpdateErrors = async (parameters, endpoint, id, method) => {
18 const deleteDonations = document.querySelector('#giveDonorsTableDeleteDonations') as HTMLInputElement;
19 const response = await donorsApi.fetchWithArgs(
20 endpoint,
21 {ids: [id], deleteDonationsAndRecords: deleteDonations.checked},
22 method
23 );
24 setUpdateErrors(response);
25 await mutate(parameters);
26 return response;
27 };
28
29 const deleteDonor = async (selected) => await fetchAndUpdateErrors(parameters, '/delete', item.id, 'DELETE');
30
31 const confirmDeleteDonor = (selected) => (
32 <div>
33 <p>{__('Really delete the follow donor?', 'give')}</p>
34 <Interweave attributes={{className: 'donorBulkModalContent'}} content={item?.donorInformation} />
35 <br></br>
36 <input id="giveDonorsTableDeleteDonations" type="checkbox" defaultChecked={true} />
37 <label htmlFor="giveDonorsTableDeleteDonations">
38 {__('Delete all associated donations and records', 'give')}
39 </label>
40 </div>
41 );
42
43 const confirmModal = (event) => {
44 showConfirmModal(__('Delete', 'give'), confirmDeleteDonor, deleteDonor, 'danger');
45 };
46
47 return (
48 <div className={styles.container}>
49 <RowAction
50 className={styles.action}
51 href={
52 window.GiveDonors.adminUrl +
53 `edit.php?post_type=give_forms&page=give-donors&view=overview&id=${item.id}`
54 }
55 displayText={__('Edit', 'give')}
56 />
57 <RowAction
58 className={styles.action}
59 onClick={confirmModal}
60 actionId={item.id}
61 displayText={__('Delete', 'give')}
62 hiddenText={item.name}
63 highlight
64 />
65 </div>
66 );
67 }
68