@@ -27,12 +27,19 @@ const Error = ({ name }) => {
27
27
return dirty && error ? < span styleName = "error" > { error } </ span > : null ;
28
28
} ;
29
29
30
- function EditRoleForm ( { submitForm , role } ) {
30
+ function EditRoleForm ( { onChange , role } ) {
31
31
const [ startMonthVisible , setStartMonthVisible ] = useState ( false ) ;
32
+ const onRoleChange = ( state ) => {
33
+ if ( state . hasValidationErrors ) {
34
+ onChange ( false ) ;
35
+ } else {
36
+ onChange ( true , state . values ) ;
37
+ }
38
+ } ;
32
39
33
40
return (
34
41
< Form
35
- onSubmit = { submitForm }
42
+ onSubmit = { ( ) => { } }
36
43
mutators = { {
37
44
clearField : ( [ fieldName ] , state , { changeValue } ) => {
38
45
changeValue ( state , fieldName , ( ) => undefined ) ;
@@ -41,15 +48,13 @@ function EditRoleForm({ submitForm, role }) {
41
48
validate = { validator }
42
49
>
43
50
{ ( {
44
- handleSubmit,
45
- hasValidationErrors,
46
51
form : {
47
52
mutators : { clearField } ,
48
53
getState,
49
54
} ,
50
55
} ) => {
51
56
return (
52
- < div styleName = "modal-body " >
57
+ < div styleName = "table-container " >
53
58
< table styleName = "table" >
54
59
< tr >
55
60
< th > # of resources</ th >
@@ -59,15 +64,18 @@ function EditRoleForm({ submitForm, role }) {
59
64
< tr styleName = "role-row" >
60
65
< td >
61
66
< Field
62
- validate = { composeValidators ( validateExists , validateMin ( 1 ) ) }
67
+ validate = { composeValidators ( validateExists , validateMin ( 1 , 'should be greater then 1' ) ) }
63
68
name = "numberOfResources"
64
69
initialValue = { role . numberOfResources }
65
70
>
66
71
{ ( { input, meta } ) => (
67
72
< NumberInput
68
73
name = { input . name }
69
74
value = { input . value }
70
- onChange = { input . onChange }
75
+ onChange = { ( v ) => {
76
+ input . onChange ( v ) ;
77
+ onRoleChange ( getState ( ) ) ;
78
+ } }
71
79
onBlur = { input . onBlur }
72
80
onFocus = { input . onFocus }
73
81
min = "1"
@@ -79,15 +87,18 @@ function EditRoleForm({ submitForm, role }) {
79
87
</ td >
80
88
< td >
81
89
< Field
82
- validate = { composeValidators ( validateExists , validateMin ( 4 ) ) }
90
+ validate = { composeValidators ( validateExists , validateMin ( 4 , 'Talent as a Service engagements have a 4 week minimum commitment.' ) ) }
83
91
name = "durationWeeks"
84
92
initialValue = { role . durationWeeks }
85
93
>
86
94
{ ( { input, meta } ) => (
87
95
< NumberInput
88
96
name = { input . name }
89
97
value = { input . value }
90
- onChange = { input . onChange }
98
+ onChange = { ( v ) => {
99
+ input . onChange ( v ) ;
100
+ onRoleChange ( getState ( ) ) ;
101
+ } }
91
102
onBlur = { input . onBlur }
92
103
onFocus = { input . onFocus }
93
104
min = "4"
@@ -105,7 +116,10 @@ function EditRoleForm({ submitForm, role }) {
105
116
< MonthPicker
106
117
name = { props . input . name }
107
118
value = { props . input . value }
108
- onChange = { props . input . onChange }
119
+ onChange = { ( v ) => {
120
+ props . input . onChange ( v ) ;
121
+ onRoleChange ( getState ( ) ) ;
122
+ } }
109
123
onBlur = { props . input . onBlur }
110
124
onFocus = { props . input . onFocus }
111
125
/>
@@ -130,14 +144,6 @@ function EditRoleForm({ submitForm, role }) {
130
144
</ td >
131
145
</ tr >
132
146
</ table >
133
- < Button
134
- type = "primary"
135
- size = "medium"
136
- onClick = { handleSubmit }
137
- disabled = { hasValidationErrors }
138
- >
139
- Save
140
- </ Button >
141
147
</ div >
142
148
) ;
143
149
} }
0 commit comments