PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.22.3
GiveWP – Donation Plugin and Fundraising Platform v2.22.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 / MultiFormGoals / resources / js / blocks / progress-bar / edit / inspector.js
give / src / MultiFormGoals / resources / js / blocks / progress-bar / edit Last commit date
index.js 4 years ago inspector.js 4 years ago
inspector.js
89 lines
1 /**
2 * WordPress dependencies
3 */
4 import { __ } from '@wordpress/i18n'
5 const {InspectorControls} = wp.blockEditor;
6 const {PanelBody, TextControl} = wp.components;
7
8 /**
9 * Internal dependencies
10 */
11
12 import MultiSelectControl from '../../../components/multi-select-control';
13 import ColorControl from '../../../components/color-control';
14 import DateTimeControl from '../../../components/date-time-control';
15 import {useFormOptions, useTagOptions, useCategoryOptions} from '../data/utils';
16
17 /* eslint-disable-next-line no-undef */
18 const editorColorPalette = giveProgressBarThemeSupport.editorColorPalette;
19
20 /**
21 * Render Inspector Controls
22 */
23
24 const Inspector = ({attributes, setAttributes}) => {
25 const {ids, categories, tags, goal, enddate, color} = attributes;
26 const formOptions = useFormOptions();
27 const tagOptions = useTagOptions();
28 const categoryOptions = useCategoryOptions();
29 const saveSetting = (name, value) => {
30 setAttributes({
31 [name]: value,
32 });
33 };
34 return (
35 <InspectorControls key="inspector">
36 <PanelBody title={__('Goal', 'give')} initialOpen={true}>
37 <TextControl
38 name="goal"
39 label={__('Goal amount', 'give')}
40 type="number"
41 onChange={(value) => saveSetting('goal', value)}
42 value={goal}
43 />
44 <DateTimeControl
45 name="enddate"
46 label={__('Goal end date', 'give')}
47 value={enddate}
48 onChange={(value) => saveSetting('enddate', value)}
49 />
50 <ColorControl
51 colors={editorColorPalette}
52 name="color"
53 label={__('Progress bar color', 'give')}
54 onChange={(value) => saveSetting('color', value)}
55 value={color}
56 />
57 </PanelBody>
58 <PanelBody title={__('Filters', 'give')} initialOpen={false}>
59 <MultiSelectControl
60 name="ids"
61 label={__('Filter by forms', 'give')}
62 value={formOptions.filter((option) => ids.includes(option.value))}
63 placeholder={`${__('All forms', 'give')}...`}
64 options={formOptions}
65 onChange={(value) => saveSetting('ids', value ? value.map((option) => option.value) : [])}
66 />
67 <MultiSelectControl
68 name="categories"
69 label={__('Filter by categories', 'give')}
70 value={categoryOptions.filter((option) => categories.includes(option.value))}
71 placeholder={`${__('All categories', 'give')}...`}
72 options={categoryOptions}
73 onChange={(value) => saveSetting('categories', value ? value.map((option) => option.value) : [])}
74 />
75 <MultiSelectControl
76 name="tags"
77 label={__('Filter by tags', 'give')}
78 value={tagOptions.filter((option) => tags.includes(option.value))}
79 placeholder={`${__('All tags', 'give')}...`}
80 options={tagOptions}
81 onChange={(value) => saveSetting('tags', value ? value.map((option) => option.value) : [])}
82 />
83 </PanelBody>
84 </InspectorControls>
85 );
86 };
87
88 export default Inspector;
89