PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.12.3
GiveWP – Donation Plugin and Fundraising Platform v3.12.3
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 / EventTickets / resources / admin / components / EventTicketsListTable / index.tsx
give / src / EventTickets / resources / admin / components / EventTicketsListTable Last commit date
EventTicketsListTable.module.scss 2 years ago EventTicketsRowActions.tsx 2 years ago index.tsx 2 years ago types.ts 2 years ago
index.tsx
100 lines
1 import {__} from '@wordpress/i18n';
2 import {ListTablePage} from '@givewp/components';
3 import ListTableApi from '@givewp/components/ListTable/api';
4 import {BulkActionsConfig, FilterConfig} from '@givewp/components/ListTable/ListTablePage';
5 import {IdBadge} from '@givewp/components/ListTable/TableCell';
6 import {Interweave} from 'interweave';
7 import {EventTicketsRowActions} from './EventTicketsRowActions';
8 import styles from './EventTicketsListTable.module.scss';
9 import {GiveEventTickets} from './types';
10 import CreateEventModal from '../CreateEventModal';
11 import Feedback from '../../feedback';
12
13 declare global {
14 interface Window {
15 GiveEventTickets: GiveEventTickets;
16 }
17 }
18
19 const API = new ListTableApi(window.GiveEventTickets);
20
21 const filters: Array<FilterConfig> = [
22 {
23 name: 'search',
24 type: 'search',
25 inlineSize: '14rem',
26 text: __('Search by keyword', 'give'),
27 ariaLabel: __('search events', 'give'),
28 },
29 ];
30
31 const bulkActions: Array<BulkActionsConfig> = [
32 {
33 label: __('Delete', 'give'),
34 value: 'delete',
35 type: 'danger',
36 action: async (selected) => {
37 return await API.fetchWithArgs('', {ids: selected.join(',')}, 'DELETE');
38 },
39 confirm: (selected, names) => (
40 <>
41 <p>{__('Really delete the following events?', 'give')}</p>
42 <ul role="document" tabIndex={0}>
43 {selected.map((eventId, index) => (
44 <li key={eventId}>
45 <IdBadge id={eventId} />{' '}
46 <span>
47 {__('from ', 'give')} <Interweave content={names[index]} />
48 </span>
49 </li>
50 ))}
51 </ul>
52 </>
53 ),
54 },
55 ];
56
57 /**
58 * Displays a blank slate for the EventTickets table.
59 *
60 * @since 3.6.0
61 */
62 const ListTableBlankSlate = () => {
63 const imagePath = `${window.GiveEventTickets.pluginUrl}/assets/dist/images/list-table/blank-slate-events-icon.svg`;
64 return (
65 <div className={styles.container}>
66 <img src={imagePath} alt={__('No event created yet', 'give')} />
67 <h3>{__('No event created yet', 'give')}</h3>
68 <p className={styles.helpMessage}>{__('Don’t worry, let’s help you setup your first event.', 'give')}</p>
69 <p>
70 <a
71 href={`${window.GiveEventTickets.adminUrl}edit.php?post_type=give_forms&page=give-event-tickets&new=event`}
72 className={`button button-primary ${styles.button}`}
73 >
74 {__('Create event', 'give')}
75 </a>
76 </p>
77 </div>
78 );
79 };
80
81 export default function EventTicketsListTable() {
82 return (
83 <>
84 <Feedback />
85 <ListTablePage
86 title={__('Events', 'give')}
87 singleName={__('event', 'give')}
88 pluralName={__('events', 'give')}
89 apiSettings={window.GiveEventTickets}
90 filterSettings={filters}
91 bulkActions={bulkActions}
92 rowActions={EventTicketsRowActions}
93 listTableBlankSlate={ListTableBlankSlate()}
94 >
95 <CreateEventModal />
96 </ListTablePage>
97 </>
98 );
99 }
100