From d320e8eec6d0a348f075930e32c99d469e9a729a Mon Sep 17 00:00:00 2001 From: "kasia.oczkowska" Date: Thu, 19 Dec 2024 12:21:22 +0000 Subject: [PATCH] feat: disable inputs when data is loading --- .../PermissionCatalogFieldLoader/index.jsx | 4 +- .../PermissionCatalogField/index.ee.jsx | 5 +- .../web/src/pages/CreateRole/index.ee.jsx | 5 +- packages/web/src/pages/EditRole/index.ee.jsx | 50 ++++++++----------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/web/src/components/PermissionCatalogField/PermissionCatalogFieldLoader/index.jsx b/packages/web/src/components/PermissionCatalogField/PermissionCatalogFieldLoader/index.jsx index 50903dbf..e5752321 100644 --- a/packages/web/src/components/PermissionCatalogField/PermissionCatalogFieldLoader/index.jsx +++ b/packages/web/src/components/PermissionCatalogField/PermissionCatalogFieldLoader/index.jsx @@ -39,14 +39,14 @@ const PermissionCatalogFieldLoader = () => { {[...Array(5)].map((action, index) => ( - + ))} - + diff --git a/packages/web/src/components/PermissionCatalogField/index.ee.jsx b/packages/web/src/components/PermissionCatalogField/index.ee.jsx index 5f2bf909..21c89f81 100644 --- a/packages/web/src/components/PermissionCatalogField/index.ee.jsx +++ b/packages/web/src/components/PermissionCatalogField/index.ee.jsx @@ -21,13 +21,15 @@ const PermissionCatalogField = ({ name = 'permissions', disabled = false, syncIsCreator = false, + loading = false, }) => { const { data, isLoading: isPermissionCatalogLoading } = usePermissionCatalog(); const permissionCatalog = data?.data; const [dialogName, setDialogName] = React.useState(); - if (isPermissionCatalogLoading) return ; + if (isPermissionCatalogLoading || loading) + return ; return ( @@ -118,6 +120,7 @@ PermissionCatalogField.propTypes = { name: PropTypes.string, disabled: PropTypes.bool, syncIsCreator: PropTypes.bool, + loading: PropTypes.bool, }; export default PermissionCatalogField; diff --git a/packages/web/src/pages/CreateRole/index.ee.jsx b/packages/web/src/pages/CreateRole/index.ee.jsx index b5ff22c9..99a66901 100644 --- a/packages/web/src/pages/CreateRole/index.ee.jsx +++ b/packages/web/src/pages/CreateRole/index.ee.jsx @@ -25,7 +25,8 @@ export default function CreateRole() { const enqueueSnackbar = useEnqueueSnackbar(); const { mutateAsync: createRole, isPending: isCreateRolePending } = useAdminCreateRole(); - const { data: permissionCatalogData } = usePermissionCatalog(); + const { data: permissionCatalogData, isLoading: isPermissionCatalogLoading } = + usePermissionCatalog(); const defaultValues = React.useMemo( () => ({ @@ -91,6 +92,7 @@ export default function CreateRole() { label={formatMessage('roleForm.name')} fullWidth data-test="name-input" + disabled={isPermissionCatalogLoading} /> diff --git a/packages/web/src/pages/EditRole/index.ee.jsx b/packages/web/src/pages/EditRole/index.ee.jsx index 1ed4881c..92573e1e 100644 --- a/packages/web/src/pages/EditRole/index.ee.jsx +++ b/packages/web/src/pages/EditRole/index.ee.jsx @@ -1,6 +1,5 @@ import LoadingButton from '@mui/lab/LoadingButton'; import Grid from '@mui/material/Grid'; -import Skeleton from '@mui/material/Skeleton'; import Stack from '@mui/material/Stack'; import useEnqueueSnackbar from 'hooks/useEnqueueSnackbar'; import * as React from 'react'; @@ -30,7 +29,8 @@ export default function EditRole() { const { data: roleData, isLoading: isRoleLoading } = useRole({ roleId }); const { mutateAsync: updateRole, isPending: isUpdateRolePending } = useAdminUpdateRole(roleId); - const { data: permissionCatalogData } = usePermissionCatalog(); + const { data: permissionCatalogData, isLoading: isPermissionCatalogLoading } = + usePermissionCatalog(); const role = roleData?.data; const permissionCatalog = permissionCatalogData?.data; const enqueueSnackbar = useEnqueueSnackbar(); @@ -84,36 +84,30 @@ export default function EditRole() {
- {isRoleLoading && ( - <> - - - - )} - {!isRoleLoading && role && ( - <> - - - - - )} + +