@gravel-form/antd
Version:
A flexible middlewares driven json schema form with Ant Design
1 lines • 1.18 kB
Source Map (JSON)
{"version":3,"sources":["middlewares/FormMw.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkBnC,CAAC;AAEF,eAAe,IAAI,CAAC","file":"FormMw.d.ts","sourcesContent":["import * as React from 'react';\nimport { Form as AntdForm } from 'antd';\nimport { MiddlewareProps } from '../share';\n\nconst Form: React.FC<MiddlewareProps> = (props) => {\n const { onChange, formProps, next } = props;\n const { current: isControlled } = React.useRef(Object.hasOwnProperty.call(formProps, 'data'));\n const [data, setData] = React.useState(isControlled ? props.data : formProps.defaultData);\n const handleChange = (newData: unknown) => {\n if (!isControlled) {\n setData(newData);\n }\n onChange && onChange(newData);\n };\n\n const { colon, hideRequiredMark, labelAlign, labelCol, layout, name, size } = formProps;\n\n return (\n <AntdForm {...{ colon, hideRequiredMark, labelAlign, labelCol, layout, name, size }}>\n {next({ props, onChange: handleChange, data: isControlled ? props.data : data })}\n </AntdForm>\n );\n};\n\nexport default Form;\n"]}