| | |
| | | import { useState, useEffect } from '@wordpress/element'; |
| | | import { MediaUpload, MediaUploadCheck } from '@wordpress/media-utils'; |
| | | import { MediaUpload } from '@wordpress/media-utils'; |
| | | import {MediaUploadCheck} from '@wordpress/block-editor'; |
| | | import { Button } from '@wordpress/components'; |
| | | import apiFetch from '@wordpress/api-fetch'; |
| | | |
| | |
| | | const UploadField = ({ field, value, onChange }) => { |
| | | const multiple = field.multiple || field.type === 'gallery'; |
| | | const ids = multiple ? (Array.isArray(value) ? value : []) : value; |
| | | const allowedTypes = SUBTYPE_MAP[field.subtype] ? [SUBTYPE_MAP[field.subtype]] : undefined; |
| | | const allowedTypes = SUBTYPE_MAP[field.subtype] ? [SUBTYPE_MAP[field.subtype]] : ''; |
| | | |
| | | const onSelect = (media) => onChange(multiple ? media.map((m) => m.id) : media.id); |
| | | |
| | |
| | | }; |
| | | |
| | | return ( |
| | | <div className="jvb-upload-field"> |
| | | <div className="jvb-upload-field" id={field.name}> |
| | | <p className="jvb-field-label">{field.label}</p> |
| | | |
| | | <div className={multiple ? 'jvb-upload-grid' : 'jvb-upload-single'}> |