PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.5.0
GiveWP – Donation Plugin and Fundraising Platform v4.5.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 / Campaigns / Blocks / shared / components / CampaignSelector / Inspector.tsx
give / src / Campaigns / Blocks / shared / components / CampaignSelector Last commit date
images 1 year ago Inspector.tsx 1 year ago Selector.tsx 1 year ago index.tsx 1 year ago reactSelectStyles.ts 1 year ago styles.scss 1 year ago
Inspector.tsx
64 lines
1 import {__} from '@wordpress/i18n';
2 import {PanelBody, SelectControl} from '@wordpress/components';
3 import {InspectorControls} from '@wordpress/block-editor';
4 import {Campaign} from '@givewp/campaigns/admin/components/types';
5 import {getCampaignOptionsWindowData} from '@givewp/campaigns/utils';
6
7 type CampaignDropdownProps = {
8 campaignId: number;
9 campaigns: Campaign[],
10 hasResolved: boolean;
11 handleSelect: (id: number) => void;
12 inspectorControls?: JSX.Element | JSX.Element[];
13 }
14
15 export default function Inspector({campaignId, campaigns, hasResolved, handleSelect, inspectorControls = null}: CampaignDropdownProps) {
16 const campaignWindowData = getCampaignOptionsWindowData();
17 const options = (() => {
18 if (!hasResolved) {
19 return [{label: __('Loading...', 'give'), value: ''}];
20 }
21
22 if (campaigns.length) {
23 const campaignOptions = campaigns.map((campaign) => ({
24 label: `${campaign.title} ${campaign.status === 'draft' ? `(${__('Draft', 'give')})` : ''}`.trim(),
25 value: campaign.id.toString(),
26 }));
27
28 return [{label: __('Select...', 'give'), value: ''}, ...campaignOptions];
29 }
30
31 return [{label: __('No campaigns found.', 'give'), value: ''}];
32 })();
33
34 return (
35 <InspectorControls>
36 <PanelBody title={__('Campaign', 'give')} initialOpen={true}>
37 <SelectControl
38 label={__('Select a Campaign', 'give')}
39 value={campaignId?.toString()}
40 options={options}
41 onChange={(newValue: string) => handleSelect(parseInt(newValue))}
42 help={
43 <>
44 {__('Select a campaign to display.', 'give') + ` `}
45 {campaignId && (
46 <a
47 href={`${campaignWindowData.campaignsAdminUrl}&id=${campaignId}&tab=settings`}
48 target="_blank"
49 rel="noopener noreferrer"
50 className="givewp-campaign-cover-block__edit-campaign-link"
51 aria-label={__('Edit campaign settings in a new tab', 'give')}
52 >
53 {__('Edit campaign', 'give')}
54 </a>
55 )}
56 </>
57 }
58 />
59 {inspectorControls}
60 </PanelBody>
61 </InspectorControls>
62 );
63 }
64