1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-25 02:50:08 +03:00

M #~: Fix minor to merge provision & provider inputs (#1571)

(cherry picked from commit 499ccb66d2d3d9f23fbc99735ea33f81dbe8b7ae)
This commit is contained in:
Sergio Betanzos 2021-11-15 13:45:51 +01:00 committed by Tino Vazquez
parent 9e56af866d
commit ced6a15d30

View File

@ -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() })