Content-Length: 7753 | pFad | http://github.com/lowcoder-org/lowcoder/pull/1696.diff
thub.com
diff --git a/client/packages/lowcoder/src/pages/setting/permission/groupUsersPermission.tsx b/client/packages/lowcoder/src/pages/setting/permission/groupUsersPermission.tsx
index 4ed3e0a3c8..189e147abc 100644
--- a/client/packages/lowcoder/src/pages/setting/permission/groupUsersPermission.tsx
+++ b/client/packages/lowcoder/src/pages/setting/permission/groupUsersPermission.tsx
@@ -45,11 +45,12 @@ type GroupPermissionProp = {
currentUser: User;
setModify?: any;
modify?: boolean;
+ loading?: boolean;
};
function GroupUsersPermission(props: GroupPermissionProp) {
const { Column } = TableStyled;
- const { group, orgId, groupUsers, currentUserGroupRole, currentUser , setModify, modify} = props;
+ const { group, orgId, groupUsers, currentUserGroupRole, currentUser, setModify, modify, loading } = props;
const adminCount = groupUsers.filter((user) => isGroupAdmin(user.role)).length;
const sortedGroupUsers = useMemo(() => {
return [...groupUsers].sort((a, b) => {
@@ -97,7 +98,7 @@ function GroupUsersPermission(props: GroupPermissionProp) {
dataSource={sortedGroupUsers}
rowKey="userId"
pagination={false}
- loading={groupUsers.length === 0}
+ loading={loading}
>
user.role === ADMIN_ROLE || user.role === SUPER_ADMIN_ROLE,
).length;
@@ -149,7 +150,7 @@ function OrgUsersPermission(props: UsersPermissionProp) {
dataSource={sortedOrgUsers}
rowKey="userId"
pagination={false}
- loading={orgUsers.length === 0}
+ loading={loading}
>
({ elements: [], total: 1, role: "" });
+ const [elements, setElements] = useState({ elements: [], total: 0, role: "" });
const [group, setGrouop] = useState();
- const [orgMemberElements, setOrgMemberElements] = useState({ elements: [], total: 1 })
+ const [orgMemberElements, setOrgMemberElements] = useState({ elements: [], total: 0 })
const [currentPage, setCurrentPage] = useState(1);
const [pageSize, setPageSize] = useState(10);
const [modify, setModify] = useState(false);
+ const [loading, setLoading] = useState(false);
+ const [error, setError] = useState(null);
const orgId = user.currentOrgId;
const currentUser = useSelector(getUser);
@@ -51,23 +53,36 @@ export default function PermissionSetting(props: {currentPageProp: number, pageS
)
useEffect( () => {
- if (selectKey !== "users" && selectKey)
+ if (selectKey !== "users" && selectKey) {
+ setLoading(true);
+ setError(null);
+
fetchGroupUsrPagination(
{
- groupId:selectKey,
+ groupId: selectKey,
pageNum: currentPage,
pageSize: pageSize,
}
- ).then(result => {
- if (result.success){
- setElements({elements: result.data || [], total: result.total || 1, role: result.visitorRole || ""})
- }
- else
- console.error("ERROR: fetchFolderElements", result.error)
+ ).then(result => {
+ setLoading(false);
+
+ if (result.success) {
+ setElements({
+ elements: result.data || [],
+ total: result.total || 0,
+ role: result.visitorRole || ""
+ });
+ } else {
+ setError("Failed to load group users. Please try again.");
}
- )
- else
- {
+ }).catch(err => {
+ setLoading(false);
+ setError("Failed to load group users. Please try again.");
+ });
+ } else {
+ setLoading(true);
+ setError(null);
+
fetchOrgUsrPagination(
{
orgId: orgId,
@@ -75,17 +90,22 @@ export default function PermissionSetting(props: {currentPageProp: number, pageS
pageSize: pageSize,
}
).then(result => {
- if (result.success){
- setOrgMemberElements({elements: result.data || [], total: result.total || 1})
- }
- else
- console.error("ERROR: fetchFolderElements", result.error)
+ setLoading(false);
+ if (result.success){
+ setOrgMemberElements({
+ elements: result.data || [],
+ total: result.total || 0
+ });
+ }
+ else {
+ setError("Failed to load organization users. Please try again.");
}
- )
+ }).catch(err => {
+ setLoading(false);
+ setError("Failed to load organization users. Please try again.");
+ });
}
- },
- [currentPage, pageSize, modify, selectKey]
- )
+ }, [currentPage, pageSize, modify, selectKey, orgId]);
if (!orgId) {
return null;
@@ -93,15 +113,21 @@ export default function PermissionSetting(props: {currentPageProp: number, pageS
return (
+ {error && (
+
+ {error}
+
+ )}
+
{selectKey === "users" ? (
<>
>
@@ -116,10 +142,10 @@ export default function PermissionSetting(props: {currentPageProp: number, pageS
currentUser={currentUser}
setModify={setModify}
modify={modify}
+ loading={loading}
/>
>
-
)
)}
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/lowcoder-org/lowcoder/pull/1696.diff
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy