Skip to content

Commit

Permalink
fix: fixed required fields handling inside forms (#6)
Browse files Browse the repository at this point in the history
Co-authored-by: fedepini <[email protected]>
  • Loading branch information
fedepini and fedepini authored Feb 3, 2025
1 parent 2ae900b commit 959a015
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/components/Widgets/FormGenerator/FormGenerator.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,17 @@ const FormGenerator = ({title, description, descriptionTooltip = false, fieldsEn
const {data, isLoading, isFetching, isSuccess, isError, error} = useGetContentQuery({endpoint: fieldsEndpoint?.replace("/form/", "/forms/")});
const [formData, setFormData] = useState<any>("idle");
const fieldsData: {type: string, name: string}[] = [];
const [requiredFields, setRequiredFields] = useState<string[]>([])

// old form
const [formEndpoint, setFormEndpoint] = useState<string>();

useEffect(() => {
if (isSuccess) { // set root node
if (data?.status?.content?.schema?.required) {
setRequiredFields(data?.status?.content?.schema?.required)
}

if (data?.status?.content?.schema?.properties) {
// old form
setFormData(data.status.content.schema.properties)
Expand All @@ -64,7 +69,7 @@ const FormGenerator = ({title, description, descriptionTooltip = false, fieldsEn
return parseData(node.properties[k], currentName)
} else {
// return field
const required = Array.isArray(node?.required) && node.required.indexOf(k) > -1;
const required = (Array.isArray(node?.required) && node.required.indexOf(k) > -1) || requiredFields.indexOf(k) > -1
fieldsData.push({type: node.properties[k].type, name: currentName});
return renderField(k, currentName, node.properties[k], required);
}
Expand Down

0 comments on commit 959a015

Please sign in to comment.