From 1d164984d426a51dd006dcefde70a7022c14d381 Mon Sep 17 00:00:00 2001 From: Sergio Betanzos Date: Wed, 24 Nov 2021 13:53:56 +0100 Subject: [PATCH] F #5637: Fix minor in VM template form (#1604) --- .../ExtraConfiguration/storage/DiskItem.js | 2 +- .../Steps/General/capacitySchema.js | 4 ++-- .../CreateForm/Steps/General/index.js | 3 ++- .../Forms/VmTemplate/CreateForm/index.js | 20 +++++++++++++------ .../Tabs/Common/AttributeCreateForm.js | 10 +++++----- src/fireedge/src/client/models/Helper.js | 2 +- 6 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/ExtraConfiguration/storage/DiskItem.js b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/ExtraConfiguration/storage/DiskItem.js index 4e74cd06a3..7a0273e48a 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/ExtraConfiguration/storage/DiskItem.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/ExtraConfiguration/storage/DiskItem.js @@ -74,7 +74,7 @@ const DiskItem = memo(({ ) : ( - + {`${NAME}: ${IMAGE}`} {isPersistent && } diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/capacitySchema.js b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/capacitySchema.js index 5a0fd9bb2a..05a71ca7e4 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/capacitySchema.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/capacitySchema.js @@ -56,7 +56,7 @@ export const MEMORY_MAX = { htmlType: enabledHr => enabledHr ? 'number' : INPUT_TYPES.HIDDEN, validation: commonValidation .when(ENABLE_HR_MEMORY.name, (enabledHr, schema) => - enabledHr ? schema.required() : schema.strip().notRequired() + enabledHr ? schema.required() : schema.notRequired() ), grid: { xs: 8, md: 6 } } @@ -101,7 +101,7 @@ export const VCPU_MAX = { htmlType: enabledHr => enabledHr ? 'number' : INPUT_TYPES.HIDDEN, validation: commonValidation .when(ENABLE_HR_VCPU.name, (enabledHr, schema) => - enabledHr ? schema.required() : schema.strip().notRequired() + enabledHr ? schema.required() : schema.notRequired() ), grid: { xs: 8, md: 6 } } diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/index.js b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/index.js index 86aa231678..6cc4e71ba6 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/index.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/Steps/General/index.js @@ -65,12 +65,13 @@ const Content = ({ isUpdate }) => { const General = initialValues => { const isUpdate = initialValues?.NAME + const initialHypervisor = initialValues?.TEMPLATE?.HYPERVISOR return { id: STEP_ID, label: T.General, resolver: formData => { - const hypervisor = formData?.[STEP_ID]?.HYPERVISOR + const hypervisor = formData?.[STEP_ID]?.HYPERVISOR ?? initialHypervisor return SCHEMA(hypervisor, isUpdate) }, optionsValidate: { abortEarly: false }, diff --git a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/index.js b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/index.js index ab7318d680..f16131cf4c 100644 --- a/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/index.js +++ b/src/fireedge/src/client/components/Forms/VmTemplate/CreateForm/index.js @@ -20,9 +20,16 @@ import PropTypes from 'prop-types' import { useForm, FormProvider } from 'react-hook-form' import { yupResolver } from '@hookform/resolvers/yup' +import { + useUserApi, + useVmGroupApi, + useVmTemplateApi, + useHostApi, + useImageApi, + useDatastoreApi +} from 'client/features/One' + import { useFetch } from 'client/hooks' -// import { useUserApi, useVmGroupApi, useVmTemplateApi } from 'client/features/One' -import { useVmTemplateApi, useHostApi, useImageApi, useDatastoreApi } from 'client/features/One' import FormStepper, { SkeletonStepsForm } from 'client/components/FormStepper' import Steps from 'client/components/Forms/VmTemplate/CreateForm/Steps' @@ -48,12 +55,13 @@ const CreateForm = ({ template, onSubmit }) => { } const PreFetchingForm = ({ templateId, onSubmit }) => { - // const { getUsers } = useUserApi() - // const { getVmGroups } = useVmGroupApi() + const { getUsers } = useUserApi() + const { getVmGroups } = useVmGroupApi() const { getHosts } = useHostApi() const { getImages } = useImageApi() const { getDatastores } = useDatastoreApi() const { getVmTemplate } = useVmTemplateApi() + const { fetchRequest, data } = useFetch( () => getVmTemplate(templateId, { extended: true }) ) @@ -63,8 +71,8 @@ const PreFetchingForm = ({ templateId, onSubmit }) => { getHosts() getImages() getDatastores() - // getUsers() - // getVmGroups() + getUsers() + getVmGroups() }, []) return (templateId && !data) diff --git a/src/fireedge/src/client/components/Tabs/Common/AttributeCreateForm.js b/src/fireedge/src/client/components/Tabs/Common/AttributeCreateForm.js index 2f5f9ccabb..e2a24bff02 100644 --- a/src/fireedge/src/client/components/Tabs/Common/AttributeCreateForm.js +++ b/src/fireedge/src/client/components/Tabs/Common/AttributeCreateForm.js @@ -38,7 +38,7 @@ const AttributeCreateForm = memo(({ handleAdd }) => { const nameInputKey = useMemo(() => `name-${key}`, [key]) const valueInputKey = useMemo(() => `value-${key}`, [key]) - const { handleSubmit, reset, control, formState } = useForm({ + const { handleSubmit, reset, control } = useForm({ defaultValues: { [nameInputKey]: '', [valueInputKey]: '' } }) @@ -59,8 +59,8 @@ const AttributeCreateForm = memo(({ handleAdd }) => { - + render={({ field, formState }) => + } /> @@ -69,8 +69,8 @@ const AttributeCreateForm = memo(({ handleAdd }) => { - + render={({ field, formState }) => + } /> { * @param {object} userInputs - List of user inputs in string format * @returns {UserInputObject[]} User input object */ -export const userInputsToArray = userInputs => { +export const userInputsToArray = (userInputs = {}) => { return Object .entries(userInputs) .map(([name, ui]) => ({ name, ...getUserInputParams(ui) }))