@@ -85,21 +85,21 @@ export default React.createClass({
85
85
86
86
if ( _ . isEmpty ( crew ) ) return null ;
87
87
88
- const onChange = oldVolunteerID => newVolunteerID => {
88
+ const addMember = ( ) => {
89
+ crew . push ( { status : 'none' , volunteer : _ . uniqueId ( ) } ) ;
90
+ this . setState ( { mission } ) ;
91
+ } ;
92
+
93
+ const changeMember = oldVolunteerID => newVolunteerID => {
89
94
const assignment = _ . find ( mission . crew , a => a . volunteer === oldVolunteerID ) ;
90
95
assignment . status = 'none' ;
91
96
assignment . volunteer = newVolunteerID ;
92
97
this . setState ( { mission } ) ;
93
98
} ;
94
99
95
- const onRemove = volunteerID => ( ) => {
100
+ const removeMember = volunteerID => ( ) => {
96
101
_ . remove ( crew , n => n . volunteer === volunteerID ) ;
97
- this . setState ( { mission } ) ;
98
- } ;
99
-
100
- const addMember = ( ) => {
101
- crew . push ( { status : 'none' , volunteer : _ . uniqueId ( ) } ) ;
102
- this . setState ( { mission } ) ;
102
+ this . setState ( { mission } , ( crew . length ? _ . noop : addMember ) ) ;
103
103
} ;
104
104
105
105
return (
@@ -118,8 +118,8 @@ export default React.createClass({
118
118
key = { assignment . volunteer }
119
119
assignment = { assignment }
120
120
mission = { this . state . mission }
121
- onChange = { onChange ( assignment . volunteer ) }
122
- onRemove = { onRemove ( assignment . volunteer ) }
121
+ onChange = { changeMember ( assignment . volunteer ) }
122
+ onRemove = { removeMember ( assignment . volunteer ) }
123
123
/>
124
124
) }
125
125
</ tbody >
0 commit comments