11import React , { useEffect , useState } from "react" ;
2- import { useDispatch , useSelector } from "react-redux" ;
3- import { fetchGroupsAction } from "redux/reduxActions/orgActions" ;
2+ import { useSelector } from "react-redux" ;
43import { getUser } from "redux/selectors/usersSelectors" ;
54import styled from "styled-components" ;
65import GroupPermission from "./groupUsersPermission" ;
76import UsersPermission from "./orgUsersPermission" ;
8- import { getOrgGroups } from "redux/selectors/orgSelectors" ;
97import { useParams } from "react-router-dom" ;
10- import { fetchGroupUsrPagination , fetchOrgUsrPagination } from "@lowcoder-ee/util/pagination/axios" ;
8+ import { fetchGroupUsrPagination , fetchOrgGroups , fetchOrgUsrPagination } from "@lowcoder-ee/util/pagination/axios" ;
119import PaginationComp from "@lowcoder-ee/util/pagination/Pagination" ;
10+ import { OrgGroup } from "@lowcoder-ee/constants/orgConstants" ;
1211
1312const PermissionContent = styled . div `
1413 display: flex;
@@ -20,34 +19,42 @@ const PermissionContent = styled.div`
2019 width: 100%;
2120` ;
2221
23- const All_Users = "users" ;
22+ export default function PermissionSetting ( props : { currentPageProp : number , pageSizeProp : number } ) {
2423
25- export default function PermissionSetting ( ) { const user = useSelector ( getUser ) ;
26-
27- const [ elements , setElements ] = useState < any > ( { elements : [ ] , total : 0 , role : "" } ) ;
28- const [ orgMemberElements , setOrgMemberElements ] = useState < any > ( { elements : [ ] , total : 0 } )
24+ const { currentPageProp, pageSizeProp} = props ;
25+ const user = useSelector ( getUser ) ;
26+ const [ elements , setElements ] = useState < any > ( { elements : [ ] , total : 1 , role : "" } ) ;
27+ const [ group , setGrouop ] = useState < OrgGroup > ( ) ;
28+ const [ orgMemberElements , setOrgMemberElements ] = useState < any > ( { elements : [ ] , total : 1 } )
2929 const [ currentPage , setCurrentPage ] = useState ( 1 ) ;
3030 const [ pageSize , setPageSize ] = useState ( 10 ) ;
3131 const [ modify , setModify ] = useState ( false ) ;
3232
3333 const orgId = user . currentOrgId ;
34- const orgGroups = useSelector ( getOrgGroups ) ;
3534 const currentUser = useSelector ( getUser ) ;
36-
37- const groupIdMap = new Map ( orgGroups . map ( ( group ) => [ group . groupId , group ] ) ) ;
38- const dispatch = useDispatch ( ) ;
3935 const selectKey = useParams < { groupId : string } > ( ) . groupId ;
40- useEffect ( ( ) => {
41- if ( ! orgId ) {
42- return ;
43- }
44- dispatch ( fetchGroupsAction ( orgId ) ) ;
45- } , [ orgId ] ) ;
36+
37+ useEffect ( ( ) => {
38+ fetchOrgGroups (
39+ {
40+ pageNum : currentPageProp ,
41+ pageSize : pageSizeProp ,
42+ }
43+ ) . then ( result => {
44+ if ( result . success && ! ! result . data ) {
45+ setGrouop ( result . data . find ( group => group . groupId === selectKey ) )
46+ }
47+ else
48+ console . error ( "ERROR: fetchFolderElements" , result . error )
49+ } )
50+ } , [ currentPageProp , pageSizeProp ]
51+ )
52+
4653 useEffect ( ( ) => {
47- if ( selectKey !== "users" && ! ! groupIdMap . get ( selectKey ) )
54+ if ( selectKey !== "users" && selectKey )
4855 fetchGroupUsrPagination (
4956 {
50- groupId : groupIdMap . get ( selectKey ) ! . groupId ,
57+ groupId :selectKey ,
5158 pageNum : currentPage ,
5259 pageSize : pageSize ,
5360 }
@@ -77,7 +84,7 @@ export default function PermissionSetting() { const user = useSelector(getUser)
7784 )
7885 }
7986 } ,
80- [ currentPage , pageSize , modify , groupIdMap . get ( selectKey ) ]
87+ [ currentPage , pageSize , modify , selectKey ]
8188 )
8289
8390 if ( ! orgId ) {
@@ -86,7 +93,7 @@ export default function PermissionSetting() { const user = useSelector(getUser)
8693
8794 return (
8895 < PermissionContent key = { selectKey } >
89- { selectKey === All_Users ? (
96+ { selectKey === "users" ? (
9097 < >
9198 < UsersPermission
9299 orgId = { orgId }
@@ -99,10 +106,10 @@ export default function PermissionSetting() { const user = useSelector(getUser)
99106 < PaginationComp setCurrentPage = { setCurrentPage } setPageSize = { setPageSize } currentPage = { currentPage } pageSize = { pageSize } total = { orgMemberElements . total } />
100107 </ >
101108 ) : (
102- groupIdMap . has ( selectKey ) && (
109+ group && (
103110 < >
104111 < GroupPermission
105- group = { groupIdMap . get ( selectKey ) ! }
112+ group = { group }
106113 orgId = { orgId }
107114 groupUsers = { elements . elements }
108115 currentUserGroupRole = { elements . role }
0 commit comments