in radlab-ui/webapp/src/components/forms/PublishCreateForm.tsx [106:174]
message: t("publish-error"),
type: ALERT_TYPE.ERROR,
})
}
})
.catch((error) => {
console.error(error)
setAlert({
message: error.message,
type: ALERT_TYPE.ERROR,
})
})
.finally(() => {
setSubmitLoading(false)
handleLoading(false)
})
}
// To set matching deafult setting variables as default
const setDefaultSettingVariables = () => {
const initialFormVarData = initialFormikData(currentVarsData.variables)
const indexPublishedModuleVars = payloadVariables.findIndex(
(item) => item.name === currentVarsData.moduleName,
)
const updateFormData = payloadVariables[indexPublishedModuleVars]!.variables
// Remove emptry strings as values so merging works
return mergeAllSafe([
defaultSettingVariables,
initialFormVarData,
updateFormData,
])
}
useEffect(() => {
const initialFormVariable = setDefaultSettingVariables()
setInitialData(initialFormVariable)
setFormData([currentVarsData.variables])
}, [currentVarsData.variables])
return (
<div className="w-full">
{formData.length && initialFormData && (
<>
<ul className="steps w-full mb-4 text-sm">
{Object.keys(formVariables).map((child: string, index) => (
<li
key={child}
className={classNames(
"step cursor-pointer",
step + 1 > index || completed ? "step-primary" : "",
)}
onClick={() => setStep(() => index)}
>
{startCase(formVariables[index]?.moduleName)}
</li>
))}
</ul>
<Formik
enableReinitialize
initialValues={initialFormData}
onSubmit={async (values, action) => {
await onSubmit(values, action)
}}
validateOnMount
>
{({ isSubmitting, isValid }) => (
<Form autoComplete="off">
{Object.keys(formData).map((grpId, index) => {