PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.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 / Campaigns / Blocks / CampaignComments / resources / edit.tsx
give / src / Campaigns / Blocks / CampaignComments / resources Last commit date
shared 7 months ago app.tsx 1 year ago edit.tsx 1 year ago index.ts 1 year ago types.ts 1 year ago
edit.tsx
88 lines
1 import {InspectorControls, useBlockProps} from '@wordpress/block-editor';
2 import {BlockEditProps} from '@wordpress/blocks';
3 import {PanelBody, TextControl, ToggleControl} from '@wordpress/components';
4 import {__} from '@wordpress/i18n';
5 import CampaignComments from './shared/components/CampaignComments';
6 import useCampaign from '../../shared/hooks/useCampaign';
7 import CampaignSelector from '../../shared/components/CampaignSelector';
8 import {useEffect} from 'react';
9 import {Attributes} from './types';
10
11 export default function Edit({attributes, setAttributes, clientId}: BlockEditProps<Attributes>) {
12 const blockProps = useBlockProps();
13 const {campaign, hasResolved} = useCampaign(attributes?.campaignId);
14
15 useEffect(() => {
16 if (!attributes.blockId) {
17 setAttributes({blockId: clientId});
18 }
19 }, []);
20
21 const {title = __('Share your support', 'give'), readMoreText = __('Read More', 'give')} = attributes;
22
23 return (
24 <figure {...blockProps}>
25 <CampaignSelector
26 campaignId={attributes.campaignId}
27 handleSelect={(campaignId: number) => setAttributes({campaignId})}
28 >
29 <CampaignComments attributes={attributes} secondaryColor={campaign?.secondaryColor} />
30 </CampaignSelector>
31
32 {hasResolved && campaign?.id && (
33 <InspectorControls>
34 <PanelBody title={__('Display Elements', 'give')} initialOpen={true}>
35 <TextControl
36 label={__('Title', 'give')}
37 value={title}
38 onChange={(value: string) => setAttributes({title: value})}
39 />
40 <ToggleControl
41 label={__('Show Anonymous', 'give')}
42 checked={attributes.showAnonymous}
43 onChange={(value: boolean) => setAttributes({showAnonymous: value})}
44 />
45 <ToggleControl
46 label={__('Show Avatar', 'give')}
47 checked={attributes.showAvatar}
48 onChange={(value: boolean) => setAttributes({showAvatar: value})}
49 />
50 <ToggleControl
51 label={__('Show Date', 'give')}
52 checked={attributes.showDate}
53 onChange={(value: boolean) => setAttributes({showDate: value})}
54 />
55 <ToggleControl
56 label={__('Show Name', 'give')}
57 checked={attributes.showName}
58 onChange={(value: boolean) => setAttributes({showName: value})}
59 />
60 </PanelBody>
61 <PanelBody title={__('Comment Settings', 'give')} initialOpen={true}>
62 <TextControl
63 label={__('Comment Length', 'give')}
64 help={__(
65 'Limits the amount of characters to be displayed on donations with comments.',
66 'give'
67 )}
68 value={String(attributes.commentLength)}
69 onChange={(value: string) => setAttributes({commentLength: Number(value)})}
70 />
71 <TextControl
72 label={__('Read More Text', 'give')}
73 value={readMoreText}
74 onChange={(value: string) => setAttributes({readMoreText: value})}
75 />
76 <TextControl
77 label={__('Comments Per Page', 'give')}
78 help={__('Set the number of comments to be displayed on the first page load.', 'give')}
79 value={String(attributes.commentsPerPage)}
80 onChange={(value: string) => setAttributes({commentsPerPage: Number(value)})}
81 />
82 </PanelBody>
83 </InspectorControls>
84 )}
85 </figure>
86 );
87 }
88