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() {