15
15
// along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
17
17
import React , { Fragment , useEffect , useState } from "react" ;
18
- import { AddIcon , Button , HelpBox , IAMPoliciesIcon , PageLayout } from "mds" ;
19
- import { useNavigate } from "react-router-dom" ;
20
- import { Theme } from "@mui/material/styles" ;
21
- import createStyles from "@mui/styles/createStyles" ;
22
- import withStyles from "@mui/styles/withStyles" ;
23
- import Grid from "@mui/material/Grid" ;
24
-
25
18
import {
26
- actionsTray ,
27
- containerForHeader ,
28
- searchField ,
29
- } from "../Common/FormComponents/common/styleLibrary" ;
19
+ AddIcon ,
20
+ Button ,
21
+ DataTable ,
22
+ Grid ,
23
+ HelpBox ,
24
+ IAMPoliciesIcon ,
25
+ PageLayout ,
26
+ } from "mds" ;
27
+ import { useNavigate } from "react-router-dom" ;
28
+ import { actionsTray } from "../Common/FormComponents/common/styleLibrary" ;
30
29
import { ErrorResponseHandler } from "../../../common/types" ;
31
-
32
- import TableWrapper from "../Common/TableWrapper/TableWrapper" ;
33
30
import {
34
31
CONSOLE_UI_RESOURCE ,
35
32
createPolicyPermissions ,
@@ -44,42 +41,25 @@ import {
44
41
hasPermission ,
45
42
SecureComponent ,
46
43
} from "../../../common/SecureComponent" ;
47
- import SearchBox from "../Common/SearchBox" ;
48
-
49
- import withSuspense from "../Common/Components/withSuspense" ;
50
-
51
- import { encodeURLString } from "../../../common/utils" ;
52
- import { setErrorSnackMessage , setHelpName } from "../../../systemSlice" ;
53
- import { useAppDispatch } from "../../../store" ;
54
- import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper" ;
55
- import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper" ;
56
- import { api } from "../../../api" ;
57
44
import {
58
45
Error ,
59
46
HttpResponse ,
60
47
ListPoliciesResponse ,
61
48
Policy ,
62
49
} from "../../../api/consoleApi" ;
50
+ import { encodeURLString } from "../../../common/utils" ;
51
+ import { setErrorSnackMessage , setHelpName } from "../../../systemSlice" ;
52
+ import { useAppDispatch } from "../../../store" ;
53
+ import { api } from "../../../api" ;
54
+ import SearchBox from "../Common/SearchBox" ;
55
+ import withSuspense from "../Common/Components/withSuspense" ;
56
+ import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper" ;
57
+ import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper" ;
63
58
import HelpMenu from "../HelpMenu" ;
64
59
65
60
const DeletePolicy = withSuspense ( React . lazy ( ( ) => import ( "./DeletePolicy" ) ) ) ;
66
61
67
- const styles = ( theme : Theme ) =>
68
- createStyles ( {
69
- ...actionsTray ,
70
- ...searchField ,
71
- searchField : {
72
- ...searchField . searchField ,
73
- maxWidth : 380 ,
74
- } ,
75
- ...containerForHeader ,
76
- } ) ;
77
-
78
- interface IPoliciesProps {
79
- classes : any ;
80
- }
81
-
82
- const ListPolicies = ( { classes } : IPoliciesProps ) => {
62
+ const ListPolicies = ( ) => {
83
63
const dispatch = useAppDispatch ( ) ;
84
64
const navigate = useNavigate ( ) ;
85
65
@@ -194,7 +174,7 @@ const ListPolicies = ({ classes }: IPoliciesProps) => {
194
174
} , [ ] ) ;
195
175
196
176
return (
197
- < React . Fragment >
177
+ < Fragment >
198
178
{ deleteOpen && (
199
179
< DeletePolicy
200
180
deleteOpen = { deleteOpen }
@@ -204,14 +184,14 @@ const ListPolicies = ({ classes }: IPoliciesProps) => {
204
184
) }
205
185
< PageHeaderWrapper label = "IAM Policies" actions = { < HelpMenu /> } />
206
186
207
- < PageLayout className = { classes . pageContainer } >
208
- < Grid container spacing = { 1 } >
209
- < Grid item xs = { 12 } className = { classes . actionsTray } >
187
+ < PageLayout >
188
+ < Grid container sx = { { gap : 15 } } >
189
+ < Grid item xs = { 12 } sx = { actionsTray . actionsTray } >
210
190
< SearchBox
211
191
onChange = { setFilterPolicies }
212
192
placeholder = "Search Policies"
213
- overrideClass = { classes . searchField }
214
193
value = { filterPolicies }
194
+ sx = { { maxWidth : 380 } }
215
195
/>
216
196
217
197
< SecureComponent
@@ -242,19 +222,13 @@ const ListPolicies = ({ classes }: IPoliciesProps) => {
242
222
</ TooltipWrapper >
243
223
</ SecureComponent >
244
224
</ Grid >
245
- < Grid item xs = { 12 } className = { classes . tableBlock } >
225
+ < Grid item xs = { 12 } >
246
226
< SecureComponent
247
227
scopes = { [ IAM_SCOPES . ADMIN_LIST_USER_POLICIES ] }
248
228
resource = { CONSOLE_UI_RESOURCE }
249
229
errorProps = { { disabled : true } }
250
230
>
251
- < TableWrapper
252
- itemActions = { tableActions }
253
- columns = { [ { label : "Name" , elementKey : "name" } ] }
254
- isLoading = { loading }
255
- records = { filteredRecords }
256
- entityName = "Policies"
257
- idField = "name"
231
+ < TooltipWrapper
258
232
tooltip = {
259
233
canViewPolicy
260
234
? ""
@@ -263,10 +237,19 @@ const ListPolicies = ({ classes }: IPoliciesProps) => {
263
237
"view Policy details"
264
238
)
265
239
}
266
- />
240
+ >
241
+ < DataTable
242
+ itemActions = { tableActions }
243
+ columns = { [ { label : "Name" , elementKey : "name" } ] }
244
+ isLoading = { loading }
245
+ records = { filteredRecords }
246
+ entityName = "Policies"
247
+ idField = "name"
248
+ />
249
+ </ TooltipWrapper >
267
250
</ SecureComponent >
268
251
</ Grid >
269
- < Grid item xs = { 12 } >
252
+ < Grid item xs = { 12 } sx = { { marginTop : 15 } } >
270
253
< HelpBox
271
254
title = { "Learn more about IAM POLICIES" }
272
255
iconComponent = { < IAMPoliciesIcon /> }
@@ -301,8 +284,8 @@ const ListPolicies = ({ classes }: IPoliciesProps) => {
301
284
</ Grid >
302
285
</ Grid >
303
286
</ PageLayout >
304
- </ React . Fragment >
287
+ </ Fragment >
305
288
) ;
306
289
} ;
307
290
308
- export default withStyles ( styles ) ( ListPolicies ) ;
291
+ export default ListPolicies ;
0 commit comments