@agentlab/rjsf-antd
Version:
Ant Design theme, fields and widgets for react-jsonschema-form
25 lines • 1.5 kB
JavaScript
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