diff --git a/apps/admin/src/plugins/formBuilder.ts b/apps/admin/src/plugins/formBuilder.ts index d04961978c3..33076facc8e 100644 --- a/apps/admin/src/plugins/formBuilder.ts +++ b/apps/admin/src/plugins/formBuilder.ts @@ -13,6 +13,7 @@ import editorFieldNumber from "@webiny/app-form-builder/admin/plugins/editor/for import editorFieldRadioButtons from "@webiny/app-form-builder/admin/plugins/editor/formFields/radioButtons"; import editorFieldCheckboxes from "@webiny/app-form-builder/admin/plugins/editor/formFields/checkboxes"; import editorFieldDateTime from "@webiny/app-form-builder/admin/plugins/editor/formFields/dateTime"; +import editorFieldConditionGroup from "@webiny/app-form-builder/admin/plugins/editor/formFields/conditionGroup"; import editorFieldFirstName from "@webiny/app-form-builder/admin/plugins/editor/formFields/contact/firstName"; import editorFieldLastName from "@webiny/app-form-builder/admin/plugins/editor/formFields/contact/lastName"; import editorFieldEmail from "@webiny/app-form-builder/admin/plugins/editor/formFields/contact/email"; @@ -84,6 +85,7 @@ export default [ editorFieldRadioButtons, editorFieldCheckboxes, editorFieldDateTime, + editorFieldConditionGroup, editorFieldFirstName, editorFieldLastName, editorFieldEmail, diff --git a/apps/theme/layouts/forms/DefaultFormLayout.tsx b/apps/theme/layouts/forms/DefaultFormLayout.tsx index 537486e69da..5f39d8ee481 100644 --- a/apps/theme/layouts/forms/DefaultFormLayout.tsx +++ b/apps/theme/layouts/forms/DefaultFormLayout.tsx @@ -1,4 +1,4 @@ -import React, { useState } from "react"; +import React, { useState, useEffect } from "react"; import { Form } from "@webiny/form"; import { FormLayoutComponent } from "@webiny/app-form-builder/types"; import styled from "@emotion/styled"; @@ -48,6 +48,8 @@ const DefaultFormLayout: FormLayoutComponent = ({ submit, goToNextStep, goToPreviousStep, + validateStepConditions, + setFormState, isLastStep, isFirstStep, isMultiStepForm, @@ -65,6 +67,12 @@ const DefaultFormLayout: FormLayoutComponent = ({ // Is the form successfully submitted? const [formSuccess, setFormSuccess] = useState(false); + const [defData, setDefData] = useState(getDefaultValues()); + + useEffect(() => { + setDefData(getDefaultValues()); + }, [formData.fields]); + // All form fields - an array of rows where each row is an array that contain fields. const fields = getFields(currentStepIndex); @@ -89,7 +97,14 @@ const DefaultFormLayout: FormLayoutComponent = ({ return ( /* "onSubmit" callback gets triggered once all the fields are valid. */ /* We also pass the default values for all fields via the getDefaultValues callback. */ -