PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / MultiFormGoals / resources / js / components / multi-select-control / index.js
give / src / MultiFormGoals / resources / js / components / multi-select-control Last commit date
index.js 1 year ago style.scss 4 years ago
index.js
80 lines
1 /**
2 * Vendor dependencies
3 */
4 import PropTypes from 'prop-types';
5 import Select from 'react-select';
6
7 /**
8 * WordPress dependencies
9 */
10 const {useInstanceId} = wp.compose;
11 const {BaseControl} = wp.components;
12 import { __ } from '@wordpress/i18n'
13
14 /**
15 * Styles
16 */
17 import './style.scss';
18
19 const MultiSelectControl = ({
20 name,
21 label = null,
22 help,
23 className,
24 value = null,
25 placeholder = `${__('Select', 'give')}...`,
26 hideLabelFromVision,
27 isLoading,
28 isDisabled,
29 onChange = null,
30 options = null,
31 }) => {
32 const instanceId = useInstanceId(MultiSelectControl);
33 const id = `give-multi-select-control-${name}-${instanceId}`;
34
35 if (options && options.length < 1) {
36 return null;
37 }
38 return (
39 <BaseControl label={label} hideLabelFromVision={hideLabelFromVision} id={id} help={help} className={className}>
40 <Select
41 isLoading={isLoading}
42 inputId={id}
43 value={value}
44 onChange={(selectedOptions) => onChange(selectedOptions)}
45 options={options}
46 maxMenuHeight="200px"
47 isDisabled={isDisabled}
48 placeholder={placeholder}
49 isMulti={true}
50 theme={(theme) => ({
51 ...theme,
52 colors: {
53 ...theme.colors,
54 primary: '#007cba',
55 primary75: '#31a6e0',
56 primary50: '#5dbae8',
57 primary25: '#9edaf7',
58 },
59 })}
60 />
61 </BaseControl>
62 );
63 };
64
65 MultiSelectControl.propTypes = {
66 label: PropTypes.string,
67 value: PropTypes.any.isRequired,
68 onChange: PropTypes.func,
69 options: PropTypes.array.isRequired,
70 name: PropTypes.string.isRequired,
71 help: PropTypes.string,
72 className: PropTypes.string,
73 hideLabelFromVision: PropTypes.bool,
74 isLoading: PropTypes.bool,
75 isDisabled: PropTypes.bool,
76 placeholder: PropTypes.string,
77 };
78
79 export default MultiSelectControl;
80