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:
parent
9e56af866d
commit
ced6a15d30
@ -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() })
|
||||
|
Loading…
x
Reference in New Issue
Block a user