UNPKG

@agentlab/rjsf-antd

Version:

Ant Design theme, fields and widgets for react-jsonschema-form

25 lines 1.5 kB
import React from 'react'; import ObjectFieldTemplateContext from './ObjectFieldTemplateContext'; import { getUiOptions } from 'react-jsonschema-form/lib/utils'; const ObjectFieldTemplate = (props) => { const { DescriptionField, description, TitleField, title, properties, required, schema, uiSchema, idSchema } = props; return (React.createElement(ObjectFieldTemplateContext.Consumer, null, (templates) => { const objectFieldTemplate = uiSchema['ui:template']; if (objectFieldTemplate && templates.hasOwnProperty(objectFieldTemplate)) { if (templates instanceof Array) { const ObjectFieldTemplate = templates[objectFieldTemplate]; return React.createElement(ObjectFieldTemplate, Object.assign({}, props)); } } const uiOptions = getUiOptions(uiSchema); let displayLabel = true; if (uiOptions === undefined || uiOptions.label === undefined) displayLabel = false; return (React.createElement(React.Fragment, null, displayLabel && (uiSchema['ui:title'] || title) && (React.createElement(TitleField, { id: `${idSchema.$id}-title`, title: title, required: required })), description && React.createElement(DescriptionField, { id: `${idSchema.$id}-description`, description: description }), properties.map((element) => element.content))); })); }; export default ObjectFieldTemplate; //# sourceMappingURL=ObjectFieldTemplate.js.map