import React, { PropTypes } from 'react' import ProfileImage from 'boost/components/ProfileImage' import api from 'boost/api' const IDLE = 'IDLE' const DELETE = 'DELETE' export default class MemberRow extends React.Component { constructor (props) { super(props) this.state = { mode: IDLE } } handleMemberRoleChange (e) { let input = { name: this.props.member.name, role: e.target.value } api.setMember(this.props.team.id, input) .then(res => { console.log(res.body) }) .catch(err => { if (err.status != null) throw err else console.error(err) }) } handleDeleteButtonClick (e) { this.setState({mode: DELETE}) } handleCancelButtonClick (e) { this.setState({mode: IDLE}) } handleDeleteConfirmButtonClick (e) { let input = { name: this.props.member.name } api.deleteMember(this.props.team.id, input) .then(res => { console.log(res.body) }) .catch(err => { if (err.status != null) throw err else console.error(err) }) } render () { let member = this.props.member let currentUser = this.props.currentUser let isDisabled = (currentUser.id === member.id) switch (this.state.mode) { case DELETE: return (
  • Are you sure to remove {member.profileName} ?
  • ) case IDLE: default: return (
  • {`${member.profileName} (${member.name})`}
    {member.email}
  • ) } } } MemberRow.propTypes = { member: PropTypes.shape(), currentUser: PropTypes.shape(), team: PropTypes.shape({ id: PropTypes.number }) }