PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.13.0
GiveWP – Donation Plugin and Fundraising Platform v4.13.0
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 1 year ago EventTicketsRowActions.tsx 2 years ago index.tsx 1 year ago types.ts 2 years ago
index.tsx
106 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}build/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 /**
82 * EventTicketsListTable
83 *
84 * @since 3.20.0 Add wrapper class for the EventTicketsListTable
85 * @since 3.6.0
86 */
87 export default function EventTicketsListTable() {
88 return (
89 <div className={styles.listTable}>
90 <Feedback />
91 <ListTablePage
92 title={__('Events', 'give')}
93 singleName={__('event', 'give')}
94 pluralName={__('events', 'give')}
95 apiSettings={window.GiveEventTickets}
96 filterSettings={filters}
97 bulkActions={bulkActions}
98 rowActions={EventTicketsRowActions}
99 listTableBlankSlate={ListTableBlankSlate()}
100 >
101 <CreateEventModal />
102 </ListTablePage>
103 </div>
104 );
105 }
106