File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed
src/client/src/pages/UserManagement/Components Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ import {
2
+ FormControlLabel ,
3
+ Radio ,
4
+ RadioGroup ,
5
+ } from "@material-ui/core" ;
6
+ import React from "react" ;
7
+
8
+ const UserRoles = {
9
+ Admin : "admin" ,
10
+ User : "user" ,
11
+ } ;
12
+
13
+ const options = [
14
+ {
15
+ label : "Admin" ,
16
+ value : UserRoles . Admin ,
17
+ } ,
18
+ {
19
+ label : "User" ,
20
+ value : UserRoles . User ,
21
+ } ,
22
+ ] ;
23
+
24
+ export default function RolesRadioGroup ( props ) {
25
+ const { register, user } = props ;
26
+ const [ selectedRole , setSelectedRole ] = React . useState ( user ? user . role : undefined ) ;
27
+
28
+ React . useEffect ( ( ) => {
29
+ setSelectedRole ( user ? user . role : null ) ;
30
+ } , [ user ] ) ;
31
+
32
+ const generateRadioOptions = ( ) => {
33
+ return options . map ( ( option ) => (
34
+ < FormControlLabel
35
+ key = { option . value }
36
+ value = { option . value }
37
+ label = { option . label }
38
+ control = { < Radio /> }
39
+ checked = { selectedRole === option . value }
40
+ onClick = { ( ( ) => setSelectedRole ( option . value ) ) }
41
+ { ...register ( "role" ) }
42
+ />
43
+ ) ) ;
44
+ } ;
45
+
46
+ return (
47
+ < RadioGroup
48
+ row
49
+ name = "role"
50
+ { ...register ( "role" ) }
51
+ >
52
+ { generateRadioOptions ( ) }
53
+ </ RadioGroup >
54
+ ) ;
55
+ } ;
You can’t perform that action at this time.
0 commit comments