| | |
| | | |
| | | const UploadField = ({ field, value, onChange }) => { |
| | | const multiple = field.multiple || field.type === 'gallery'; |
| | | const ids = multiple ? (Array.isArray(value) ? value : []) : value; |
| | | const ids = multiple |
| | | ? (typeof value === 'string' && value ? value.split(',').map(Number) : []) |
| | | : value; |
| | | const allowedTypes = SUBTYPE_MAP[field.subtype] ? [SUBTYPE_MAP[field.subtype]] : ''; |
| | | |
| | | const onSelect = (media) => onChange(multiple ? media.map((m) => m.id) : media.id); |
| | | const onSelect = (media) => |
| | | onChange(multiple ? media.map((m) => m.id).join(',') : media.id); |
| | | |
| | | const onRemove = (id) => { |
| | | onChange(multiple ? ids.filter((existing) => existing !== id) : 0); |
| | | onChange(multiple ? ids.filter((existing) => existing !== id).join(',') : 0); |
| | | }; |
| | | |
| | | return ( |