From 9e9321ab0069e488c238aead8c80a4e2ab4d1dc8 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Wed, 19 Jan 2022 22:23:40 -0700 Subject: [PATCH] Fixed issue where storage class resets when changing between tabs (#1418) Signed-off-by: Benjamin Perez --- .../Steps/TenantResources/NameTenantMain.tsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx index 30a334d49..d93d6b8cd 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx @@ -121,10 +121,6 @@ const NameTenantMain = ({ // Storage classes retrieval const getNamespaceInformation = useCallback(() => { setShowCreateButton(false); - updateField("selectedStorageClass", ""); - - setStorageClassesList([]); - // Empty tenantValidation api .invoke("GET", `/api/v1/namespaces/${namespace}/tenants`) @@ -157,14 +153,24 @@ const NameTenantMain = ({ }); setStorageClassesList(newStorage); - if (newStorage.length > 0) { + + const stExists = newStorage.findIndex( + (storageClass) => storageClass.value === selectedStorageClass + ); + + if (newStorage.length > 0 && stExists === -1) { updateField("selectedStorageClass", newStorage[0].value); + } else if (newStorage.length === 0) { + updateField("selectedStorageClass", ""); + setStorageClassesList([]); } setLoadingNamespaceInfo(false); }) .catch((err: ErrorResponseHandler) => { setLoadingNamespaceInfo(false); setShowCreateButton(true); + updateField("selectedStorageClass", ""); + setStorageClassesList([]); console.error("Namespace error: ", err); }); }) @@ -180,6 +186,7 @@ const NameTenantMain = ({ setModalErrorSnackMessage, setStorageClassesList, updateField, + selectedStorageClass, ]); const debounceNamespace = useMemo(