PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.14.2
GiveWP – Donation Plugin and Fundraising Platform v3.14.2
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 / image-control / index.js
give / src / MultiFormGoals / resources / js / components / image-control Last commit date
index.js 4 years ago
index.js
62 lines
1 /**
2 * Vendor dependencies
3 */
4 import PropTypes from 'prop-types';
5
6 /**
7 * WordPress dependencies
8 */
9 const {useInstanceId} = wp.compose;
10 const {BaseControl, Button} = wp.components;
11 const {MediaUpload} = wp.blockEditor;
12 import { __ } from '@wordpress/i18n'
13
14 const ImageControl = ({name, label, help, className, value, hideLabelFromVision, onChange}) => {
15 const instanceId = useInstanceId(ImageControl);
16 const id = `give-image-control-${name}-${instanceId}`;
17 return (
18 <BaseControl label={label} hideLabelFromVision={hideLabelFromVision} id={id} help={help} className={className}>
19 <MediaUpload
20 allowedTypes={['image']}
21 onSelect={(media) => onChange(media.sizes.full.url)}
22 render={({open}) => {
23 return value ? (
24 <div>
25 <img src={value} onClick={open} style={{cursor: 'pointer'}} />
26 <Button isPrimary isSmall onClick={open} id={id}>
27 {__('Change Image', 'give')}
28 </Button>
29 <Button isSecondary isSmall onClick={() => onChange('')} id={id}>
30 {__('Remove Image', 'give')}
31 </Button>
32 </div>
33 ) : (
34 <div>
35 <Button isPrimary onClick={open} id={id}>
36 {__('Select an Image', 'give')}
37 </Button>
38 </div>
39 );
40 }}
41 />
42 </BaseControl>
43 );
44 };
45
46 ImageControl.propTypes = {
47 label: PropTypes.string,
48 value: PropTypes.any.isRequired,
49 onChange: PropTypes.func,
50 name: PropTypes.string.isRequired,
51 help: PropTypes.string,
52 className: PropTypes.string,
53 hideLabelFromVision: PropTypes.bool,
54 };
55
56 ImageControl.defaultProps = {
57 onChange: null,
58 options: null,
59 };
60
61 export default ImageControl;
62