@@ -4,16 +4,24 @@ import FormItem from 'antd/lib/form/FormItem';
4
4
import CheckboxGroup from 'antd/lib/checkbox/Group' ;
5
5
import { GetRoles } from 'src/services/user/dto/getRolesOuput' ;
6
6
import { L } from 'src/lib/abpUtility' ;
7
-
7
+ import { FormComponentProps } from 'antd/lib/form' ;
8
+ import rules from './createOrUpdateUser.validation' ;
8
9
9
10
const TabPane = Tabs . TabPane ;
10
- class CreateOrUpdateUser extends React . Component < any > {
11
- constructor ( props : any ) {
12
- super ( props ) ;
13
- }
11
+
12
+ export interface ICreateOrUpdateUserProps extends FormComponentProps {
13
+ visible : boolean ;
14
+ onCancel : ( ) => void ;
15
+ modalType : string ;
16
+ onCreate : ( ) => void ;
17
+ roles : GetRoles [ ] ;
18
+ }
19
+
20
+ class CreateOrUpdateUser extends React . Component < ICreateOrUpdateUserProps > {
14
21
state = {
15
22
confirmDirty : false ,
16
23
} ;
24
+
17
25
compareToFirstPassword = ( rule : any , value : any , callback : any ) => {
18
26
const form = this . props . form ;
19
27
if ( value && value !== form . getFieldValue ( 'password' ) ) {
@@ -30,9 +38,10 @@ class CreateOrUpdateUser extends React.Component<any> {
30
38
}
31
39
callback ( ) ;
32
40
} ;
41
+
33
42
render ( ) {
34
- const { roles} = this . props
35
-
43
+ const { roles } = this . props ;
44
+
36
45
const formItemLayout = {
37
46
labelCol : {
38
47
xs : { span : 6 } ,
@@ -51,48 +60,51 @@ class CreateOrUpdateUser extends React.Component<any> {
51
60
xxl : { span : 18 } ,
52
61
} ,
53
62
} ;
54
- const tailFormItemLayout = {
55
- labelCol : {
56
- xs : { span : 6 } ,
57
- sm : { span : 6 } ,
58
- md : { span : 6 } ,
59
- lg : { span : 6 } ,
60
- xl : { span : 6 } ,
61
- xxl : { span : 6 }
62
- } ,
63
+ const tailFormItemLayout = {
64
+ labelCol : {
65
+ xs : { span : 6 } ,
66
+ sm : { span : 6 } ,
67
+ md : { span : 6 } ,
68
+ lg : { span : 6 } ,
69
+ xl : { span : 6 } ,
70
+ xxl : { span : 6 } ,
71
+ } ,
63
72
wrapperCol : {
64
73
xs : { span : 18 } ,
65
74
sm : { span : 18 } ,
66
75
md : { span : 18 } ,
67
76
lg : { span : 18 } ,
68
77
xl : { span : 18 } ,
69
78
xxl : { span : 18 } ,
70
- } } ;
79
+ } ,
80
+ } ;
81
+
71
82
const { getFieldDecorator } = this . props . form ;
72
83
const { visible, onCancel, onCreate } = this . props ;
73
-
74
84
75
- const options = roles . map ( ( x :GetRoles ) => {
76
-
77
- var test = { label : x . displayName , value :x . normalizedName }
78
- return test ;
79
- } )
80
- return < Modal visible = { visible } cancelText = { L ( 'Cancel' ) } okText = { L ( 'OK' ) } onCancel = { onCancel } onOk = { onCreate } title = { 'User' } >
85
+ const options = roles . map ( ( x : GetRoles ) => {
86
+ var test = { label : x . displayName , value : x . normalizedName } ;
87
+ return test ;
88
+ } ) ;
89
+
90
+ return (
91
+ < Modal visible = { visible } cancelText = { L ( 'Cancel' ) } okText = { L ( 'OK' ) } onCancel = { onCancel } onOk = { onCreate } title = { 'User' } >
81
92
< Tabs defaultActiveKey = { 'userInfo' } size = { 'small' } tabBarGutter = { 64 } >
82
93
< TabPane tab = { 'User' } key = { 'user' } >
83
94
< FormItem label = { L ( 'Name' ) } { ...formItemLayout } >
84
- { getFieldDecorator ( 'name' , { rules : [ { required : true , message : 'Please input your name!' } ] } ) ( < Input /> ) }
95
+ { getFieldDecorator ( 'name' , { rules : rules . name } ) ( < Input /> ) }
85
96
</ FormItem >
86
97
< FormItem label = { L ( 'Surname' ) } { ...formItemLayout } >
87
- { getFieldDecorator ( 'surname' , { rules : [ { required : true , message : 'Please input your surname!' } ] } ) ( < Input /> ) }
98
+ { getFieldDecorator ( 'surname' , { rules : rules . surname } ) ( < Input /> ) }
88
99
</ FormItem >
89
- < FormItem label = { L ( 'UserName' ) } { ...formItemLayout } >
90
- { getFieldDecorator ( 'userName' , { rules : [ { required : true , message : 'Please input your username!' } ] } ) ( < Input /> ) }
100
+ < FormItem label = { L ( 'UserName' ) } { ...formItemLayout } >
101
+ { getFieldDecorator ( 'userName' , { rules : rules . userName } ) ( < Input /> ) }
91
102
</ FormItem >
92
- < FormItem label = { L ( 'Email' ) } { ...formItemLayout } >
93
- { getFieldDecorator ( 'emailAddress' , { rules : [ { required : true , message : 'Please input your email!' } ] } ) ( < Input /> ) }
103
+ < FormItem label = { L ( 'Email' ) } { ...formItemLayout } >
104
+ { getFieldDecorator ( 'emailAddress' , { rules : rules . emailAddress } ) ( < Input /> ) }
94
105
</ FormItem >
95
- { this . props . modalType == 'edit' ? < FormItem label = { L ( "Password" ) } { ...formItemLayout } >
106
+ { this . props . modalType == 'edit' ? (
107
+ < FormItem label = { L ( 'Password' ) } { ...formItemLayout } >
96
108
{ getFieldDecorator ( 'password' , {
97
109
rules : [
98
110
{
@@ -104,33 +116,36 @@ class CreateOrUpdateUser extends React.Component<any> {
104
116
} ,
105
117
] ,
106
118
} ) ( < Input type = "password" /> ) }
107
- </ FormItem > : null }
108
- { this . props . modalType == 'edit' ? < FormItem label = { L ( "ConfirmPassword" ) } { ...formItemLayout } >
119
+ </ FormItem >
120
+ ) : null }
121
+ { this . props . modalType == 'edit' ? (
122
+ < FormItem label = { L ( 'ConfirmPassword' ) } { ...formItemLayout } >
109
123
{ getFieldDecorator ( 'confirm' , {
110
124
rules : [
111
125
{
112
126
required : true ,
113
- message : 'Please confirm your password!' ,
127
+ message : L ( 'ConfirmPassword' ) ,
114
128
} ,
115
129
{
116
130
validator : this . compareToFirstPassword ,
117
131
} ,
118
132
] ,
119
133
} ) ( < Input type = "password" /> ) }
120
- </ FormItem > : null }
134
+ </ FormItem >
135
+ ) : null }
121
136
< FormItem label = { L ( 'IsActive' ) } { ...tailFormItemLayout } >
122
137
{ getFieldDecorator ( 'isActive' , { valuePropName : 'checked' } ) ( < Checkbox > Aktif</ Checkbox > ) }
123
138
</ FormItem >
124
139
</ TabPane >
125
- < TabPane tab = { L ( 'Roles' ) } key = { 'rol' } >
140
+ < TabPane tab = { L ( 'Roles' ) } key = { 'rol' } >
126
141
< FormItem { ...tailFormItemLayout } >
127
142
{ getFieldDecorator ( 'roleNames' , { valuePropName : 'value' } ) ( < CheckboxGroup options = { options } /> ) }
128
143
</ FormItem >
129
144
</ TabPane >
130
145
</ Tabs >
131
- </ Modal > ;
146
+ </ Modal >
147
+ ) ;
132
148
}
133
149
}
134
150
135
- const nwUserInfoCreateOrEdit = Form . create ( ) ( CreateOrUpdateUser ) ;
136
- export default nwUserInfoCreateOrEdit ;
151
+ export default Form . create ( ) ( CreateOrUpdateUser ) ;
0 commit comments