diff --git a/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsForm.js b/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsForm.js index 49e4c2cc14..882a48f8db 100644 --- a/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsForm.js +++ b/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsForm.js @@ -20,6 +20,7 @@ const ObjectsApiOptionsForm = ({index, name, label, schema, formData, onChange}) const {objectsApiGroup} = schema.properties; const apiGroupChoices = getChoicesFromSchema(objectsApiGroup.enum, objectsApiGroup.enumNames); const numErrors = filterErrors(name, validationErrors).length; + const defaultGroup = apiGroupChoices.length === 1 ? apiGroupChoices[0][0] : undefined; return ( @@ -76,10 +77,7 @@ const ObjectsApiOptionsForm = ({index, name, label, schema, formData, onChange}) initialValues={{ ...formData, // Ensure that if there's only one option, it is automatically selected. - objectsApiGroup: - formData.objectsApiGroup ?? apiGroupChoices.length === 1 - ? apiGroupChoices[0][0] - : undefined, + objectsApiGroup: formData.objectsApiGroup ?? defaultGroup, }} onSubmit={(values, actions) => { onChange({formData: values}); diff --git a/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsFormFields.stories.js b/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsFormFields.stories.js index 66b3f257c8..b595bc5d70 100644 --- a/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsFormFields.stories.js +++ b/src/openforms/js/components/admin/form_design/registrations/objectsapi/ObjectsApiOptionsFormFields.stories.js @@ -2,8 +2,10 @@ import {expect, fn, userEvent, waitFor, within} from '@storybook/test'; import {Form, Formik} from 'formik'; import selectEvent from 'react-select-event'; -import {ValidationErrorsDecorator} from 'components/admin/form_design/story-decorators'; -import {FeatureFlagsDecorator} from 'components/admin/form_design/story-decorators'; +import { + FeatureFlagsDecorator, + ValidationErrorsDecorator, +} from 'components/admin/form_design/story-decorators'; import ObjectsApiOptionsFormFields from './ObjectsApiOptionsFormFields'; import { diff --git a/src/openforms/js/components/admin/form_design/registrations/objectsapi/V2ConfigFields.js b/src/openforms/js/components/admin/form_design/registrations/objectsapi/V2ConfigFields.js index bc17525b5a..7d579edbab 100644 --- a/src/openforms/js/components/admin/form_design/registrations/objectsapi/V2ConfigFields.js +++ b/src/openforms/js/components/admin/form_design/registrations/objectsapi/V2ConfigFields.js @@ -6,7 +6,6 @@ import Fieldset from 'components/admin/forms/Fieldset'; import ErrorBoundary from 'components/errors/ErrorBoundary'; import { - CatalogueSelect, DocumentTypesFieldet, LegacyDocumentTypesFieldet, ObjectTypeSelect, diff --git a/src/openforms/js/components/admin/form_design/registrations/objectsapi/fields/ObjectsAPIGroup.js b/src/openforms/js/components/admin/form_design/registrations/objectsapi/fields/ObjectsAPIGroup.js index 030ec4dfab..3c80ab27b7 100644 --- a/src/openforms/js/components/admin/form_design/registrations/objectsapi/fields/ObjectsAPIGroup.js +++ b/src/openforms/js/components/admin/form_design/registrations/objectsapi/fields/ObjectsAPIGroup.js @@ -9,19 +9,18 @@ import ReactSelect from 'components/admin/forms/ReactSelect'; const ObjectsAPIGroup = ({apiGroupChoices, onChangeCheck}) => { const [{onChange: onChangeFormik, ...fieldProps}, , {setValue}] = useField('objectsApiGroup'); - const {values, setValues} = useFormikContext(); + const {setValues} = useFormikContext(); const {value} = fieldProps; // reset the objecttype specific-configuration whenever the API group changes useUpdateEffect(() => { - const newValues = { - ...values, + setValues(prevValues => ({ + ...prevValues, objecttype: '', objecttypeVersion: undefined, variablesMapping: [], - }; - setValues(newValues); - }, [setValues, value]); // deliberately excluding values! + })); + }, [setValues, value]); const options = apiGroupChoices.map(([value, label]) => ({value, label})); return (