From bf61c1745719807c430577f16fd83a3013b82c57 Mon Sep 17 00:00:00 2001 From: Sergio Betanzos Date: Tue, 23 Mar 2021 10:10:35 +0100 Subject: [PATCH] F #3951: Fix provider form after submit (#1012) --- .../src/client/containers/Providers/Form/Create/index.js | 3 ++- .../src/client/containers/Provisions/Form/Create/index.js | 4 ++-- src/fireedge/src/client/utils/helpers.js | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/fireedge/src/client/containers/Providers/Form/Create/index.js b/src/fireedge/src/client/containers/Providers/Form/Create/index.js index 8b4df0fced..70b9ef30b1 100644 --- a/src/fireedge/src/client/containers/Providers/Form/Create/index.js +++ b/src/fireedge/src/client/containers/Providers/Form/Create/index.js @@ -25,7 +25,7 @@ function ProviderCreateForm () { const { data, fetchRequest, loading, error } = useFetch(getProvider) const { steps, defaultValues, resolvers } = Steps({ isUpdate }) - const { showError } = useGeneral() + const { showError, changeLoading } = useGeneral() const methods = useForm({ mode: 'onSubmit', @@ -92,6 +92,7 @@ function ProviderCreateForm () { } const onSubmit = formData => { + changeLoading(true) isUpdate ? callUpdateProvider(formData) : callCreateProvider(formData) } diff --git a/src/fireedge/src/client/containers/Provisions/Form/Create/index.js b/src/fireedge/src/client/containers/Provisions/Form/Create/index.js index 4ec728bed4..76f432e329 100644 --- a/src/fireedge/src/client/containers/Provisions/Form/Create/index.js +++ b/src/fireedge/src/client/containers/Provisions/Form/Create/index.js @@ -13,7 +13,7 @@ import DebugLog from 'client/components/DebugLog' import { useProvision, useSocket, useFetch } from 'client/hooks' import { PATH } from 'client/router/provision' -import { set, mapUserInputs } from 'client/utils' +import { set, cloneObject, mapUserInputs } from 'client/utils' import { Translate } from 'client/components/HOC' import { T } from 'client/constants' @@ -43,7 +43,7 @@ function ProvisionCreateForm () { const providerName = provider?.[0]?.NAME // clone object from redux store - const provisionTemplateSelected = JSON.parse(JSON.stringify(template?.[0] ?? {})) + const provisionTemplateSelected = cloneObject(template?.[0] ?? {}) // update provider name if changed during form if (provisionTemplateSelected.defaults?.provision?.provider_name) { diff --git a/src/fireedge/src/client/utils/helpers.js b/src/fireedge/src/client/utils/helpers.js index f1427e2686..1a41e841fa 100644 --- a/src/fireedge/src/client/utils/helpers.js +++ b/src/fireedge/src/client/utils/helpers.js @@ -109,3 +109,5 @@ export const groupBy = (array, key) => return objectsByKeyValue }, {}) + +export const cloneObject = obj => JSON.parse(JSON.stringify(obj))