| | |
| | | import Fields from "./Fields"; |
| | | import { useEntityProp } from '@wordpress/core-data'; |
| | | |
| | | const Section = ({id, name, isOpen = false}) => { |
| | | const Section = ({id, name, fields, meta, setMeta, isOpen = false}) => { |
| | | |
| | | const { content, fields, sections, base } = window.jvbFieldConfig || {}; |
| | | const [meta, setMeta] = useEntityProp('postType', content, 'meta'); |
| | | |
| | | id = 'jvb-section-'+id; |
| | | const setField = (name, value) => setMeta({ ...meta, [name]: value }); |
| | | console.log(fields, 'fields'); |
| | | return ( |
| | | <PanelBody name={'jvb-'+id} title={name} initialOpen={isOpen}> |
| | | <PanelBody name={id} title={name} initialOpen={isOpen}> |
| | | { |
| | | fields.map((field) => ( |
| | | <Fields |
| | | fields.map((field) => { |
| | | return <Fields |
| | | key={field.name} |
| | | field={field} |
| | | value={meta?.[field.name]} |
| | | onChange={(value) => setField(field.name, value)} |
| | | /> |
| | | )) |
| | | meta={meta} |
| | | />; |
| | | }) |
| | | } |
| | | </PanelBody> |
| | | ); |