From ced6a15d30e16f5f3d2570aa4ac252b4bd5c1194 Mon Sep 17 00:00:00 2001 From: Sergio Betanzos Date: Mon, 15 Nov 2021 13:45:51 +0100 Subject: [PATCH] M #~: Fix minor to merge provision & provider inputs (#1571) (cherry picked from commit 499ccb66d2d3d9f23fbc99735ea33f81dbe8b7ae) --- .../Provision/CreateForm/Steps/Inputs/index.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js index ef22d89d68..7376f677c0 100644 --- a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js +++ b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Inputs/index.js @@ -25,6 +25,7 @@ import { useProviderApi } from 'client/features/One' import FormWithSchema from 'client/components/Forms/FormWithSchema' import { EmptyCard } from 'client/components/Cards' import { T } from 'client/constants' +import { deepmerge } from 'client/utils' import { STEP_ID as PROVIDER_ID } from 'client/components/Forms/Provision/CreateForm/Steps/Provider' import { STEP_ID as TEMPLATE_ID } from 'client/components/Forms/Provision/CreateForm/Steps/Template' @@ -64,14 +65,16 @@ const Inputs = () => ({ const { [TEMPLATE_ID]: provisionTemplateSelected = [] } = watch() const { TEMPLATE: { PROVISION_BODY } = {} } = fetchData - const provisionTemplate = provisionTemplateSelected?.[0] + const templateInputs = provisionTemplateSelected?.[0]?.inputs ?? [] // MERGE INPUTS provision template + PROVISION_BODY.inputs (provider fetch) - inputs = provisionTemplate.inputs.map(templateInput => - PROVISION_BODY.inputs?.find( + inputs = templateInputs.map(templateInput => { + const providerInput = PROVISION_BODY.inputs?.find( providerInput => providerInput.name === templateInput.name - ) || templateInput - ) ?? [] + ) ?? {} + + return deepmerge(templateInput, providerInput) + }) setFields(FORM_FIELDS(inputs)) reset({ ...watch(), [STEP_ID]: STEP_FORM_SCHEMA(inputs).default() })