PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6.1
GiveWP – Donation Plugin and Fundraising Platform v4.16.6.1
4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 / Donations / resources / components / DonationRowActions.tsx
give / src / Donations / resources / components Last commit date
DonationRowActions.tsx 9 months ago DonationsListTable.tsx 9 months ago ListTable.module.scss 10 months ago
DonationRowActions.tsx
79 lines
1 import {useContext} from 'react';
2 import {ShowConfirmModalContext} from '@givewp/components/ListTable/ListTablePage';
3 import {__, sprintf} from '@wordpress/i18n';
4 import RowAction from '@givewp/components/ListTable/RowAction';
5 import { useSWRConfig } from 'swr';
6
7 /**
8 * @since 4.12.0 Revert delete action to use Donation Actions API and add trash and restore actions.
9 * @since 4.6.0 Soft delete donations with Donation v3 API.
10 */
11 export const DonationRowActions = ({item, removeRow, setUpdateErrors, parameters, listTableApi}) => {
12 const showConfirmModal = useContext(ShowConfirmModalContext);
13 const {mutate} = useSWRConfig();
14
15 const fetchAndUpdateErrors = async (parameters, endpoint, id, method) => {
16 const response = await listTableApi.fetchWithArgs(endpoint, {ids: [id]}, method);
17 setUpdateErrors(response);
18 await mutate(parameters);
19 return response;
20 };
21
22 const deleteItem = async () => await fetchAndUpdateErrors(parameters, '/delete', item.id, 'DELETE');
23 const trashItem = async () => await fetchAndUpdateErrors(parameters, '/trash', item.id, 'DELETE');
24 const restoreItem = async () => await fetchAndUpdateErrors(parameters, '/untrash', item.id, 'POST');
25
26 const confirmDelete = () => <p>{sprintf(__('Really delete donation #%d?', 'give'), item.id)}</p>;
27 const confirmTrash = () => <p>{sprintf(__('Trash the following donation #%d?', 'give'), item.id)}</p>;
28 const confirmRestore = () => <p>{sprintf(__('Restore the following donation #%d?', 'give'), item.id)}</p>;
29
30 const confirmDeleteModal = () => {
31 showConfirmModal(__('Delete', 'give'), confirmDelete, deleteItem, 'danger');
32 };
33
34 const confirmTrashModal = () => {
35 showConfirmModal(__('Trash', 'give'), confirmTrash, trashItem, 'warning');
36 };
37
38 const confirmRestoreModal = () => {
39 showConfirmModal(__('Restore', 'give'), confirmRestore, restoreItem, 'normal');
40 };
41
42 return (
43 <>
44 {parameters?.status?.includes('trash') ? (
45 <>
46 <RowAction
47 onClick={confirmRestoreModal}
48 actionId={item.id}
49 displayText={__('Restore', 'give')}
50 />
51 <RowAction
52 onClick={confirmDeleteModal}
53 actionId={item.id}
54 displayText={__('Delete', 'give')}
55 hiddenText={item.name}
56 highlight
57 />
58 </>
59 ) : (
60 <>
61 <RowAction
62 href={`${window.GiveDonations.adminUrl}edit.php?post_type=give_forms&page=give-payment-history&id=${item.id}`}
63 displayText={__('Edit', 'give')}
64 ariaLabel={sprintf(__('Edit donation #%d.', 'give'), item.id)}
65 />
66 <RowAction
67 onClick={confirmTrashModal}
68 actionId={item.id}
69 displayText={__('Trash', 'give')}
70 ariaLabel={sprintf(__('Move donation #%d to trash.', 'give'), item.id)}
71 hiddenText={item.name}
72 highlight
73 />
74 </>
75 )}
76 </>
77 );
78 };
79