Skip to content

Commit b349aab

Browse files
committed
if the last member of a team is removed, add a new blank one #33
1 parent af1d76a commit b349aab

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

client/components/MissionForm.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,21 +85,21 @@ export default React.createClass({
8585

8686
if (_.isEmpty(crew)) return null;
8787

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 => {
8994
const assignment = _.find(mission.crew, a => a.volunteer === oldVolunteerID);
9095
assignment.status = 'none';
9196
assignment.volunteer = newVolunteerID;
9297
this.setState({ mission });
9398
};
9499

95-
const onRemove = volunteerID => () => {
100+
const removeMember = volunteerID => () => {
96101
_.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));
103103
};
104104

105105
return (
@@ -118,8 +118,8 @@ export default React.createClass({
118118
key={assignment.volunteer}
119119
assignment={assignment}
120120
mission={this.state.mission}
121-
onChange={onChange(assignment.volunteer)}
122-
onRemove={onRemove(assignment.volunteer)}
121+
onChange={changeMember(assignment.volunteer)}
122+
onRemove={removeMember(assignment.volunteer)}
123123
/>
124124
)}
125125
</tbody>

0 commit comments

Comments
 (0)