1
1
import 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" ;
4
3
import { getUser } from "redux/selectors/usersSelectors" ;
5
4
import styled from "styled-components" ;
6
5
import GroupPermission from "./groupUsersPermission" ;
7
6
import UsersPermission from "./orgUsersPermission" ;
8
- import { getOrgGroups } from "redux/selectors/orgSelectors" ;
9
7
import { 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" ;
11
9
import PaginationComp from "@lowcoder-ee/util/pagination/Pagination" ;
10
+ import { OrgGroup } from "@lowcoder-ee/constants/orgConstants" ;
12
11
13
12
const PermissionContent = styled . div `
14
13
display: flex;
@@ -20,34 +19,42 @@ const PermissionContent = styled.div`
20
19
width: 100%;
21
20
` ;
22
21
23
- const All_Users = "users" ;
22
+ export default function PermissionSetting ( props : { currentPageProp : number , pageSizeProp : number } ) {
24
23
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 } )
29
29
const [ currentPage , setCurrentPage ] = useState ( 1 ) ;
30
30
const [ pageSize , setPageSize ] = useState ( 10 ) ;
31
31
const [ modify , setModify ] = useState ( false ) ;
32
32
33
33
const orgId = user . currentOrgId ;
34
- const orgGroups = useSelector ( getOrgGroups ) ;
35
34
const currentUser = useSelector ( getUser ) ;
36
-
37
- const groupIdMap = new Map ( orgGroups . map ( ( group ) => [ group . groupId , group ] ) ) ;
38
- const dispatch = useDispatch ( ) ;
39
35
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
+
46
53
useEffect ( ( ) => {
47
- if ( selectKey !== "users" && ! ! groupIdMap . get ( selectKey ) )
54
+ if ( selectKey !== "users" && selectKey )
48
55
fetchGroupUsrPagination (
49
56
{
50
- groupId : groupIdMap . get ( selectKey ) ! . groupId ,
57
+ groupId :selectKey ,
51
58
pageNum : currentPage ,
52
59
pageSize : pageSize ,
53
60
}
@@ -77,7 +84,7 @@ export default function PermissionSetting() { const user = useSelector(getUser)
77
84
)
78
85
}
79
86
} ,
80
- [ currentPage , pageSize , modify , groupIdMap . get ( selectKey ) ]
87
+ [ currentPage , pageSize , modify , selectKey ]
81
88
)
82
89
83
90
if ( ! orgId ) {
@@ -86,7 +93,7 @@ export default function PermissionSetting() { const user = useSelector(getUser)
86
93
87
94
return (
88
95
< PermissionContent key = { selectKey } >
89
- { selectKey === All_Users ? (
96
+ { selectKey === "users" ? (
90
97
< >
91
98
< UsersPermission
92
99
orgId = { orgId }
@@ -99,10 +106,10 @@ export default function PermissionSetting() { const user = useSelector(getUser)
99
106
< PaginationComp setCurrentPage = { setCurrentPage } setPageSize = { setPageSize } currentPage = { currentPage } pageSize = { pageSize } total = { orgMemberElements . total } />
100
107
</ >
101
108
) : (
102
- groupIdMap . has ( selectKey ) && (
109
+ group && (
103
110
< >
104
111
< GroupPermission
105
- group = { groupIdMap . get ( selectKey ) ! }
112
+ group = { group }
106
113
orgId = { orgId }
107
114
groupUsers = { elements . elements }
108
115
currentUserGroupRole = { elements . role }
0 commit comments