diff options
Diffstat (limited to 'web/react/components/member_list.jsx')
-rw-r--r-- | web/react/components/member_list.jsx | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/web/react/components/member_list.jsx b/web/react/components/member_list.jsx index 69da5cfc3..f8b07e05b 100644 --- a/web/react/components/member_list.jsx +++ b/web/react/components/member_list.jsx @@ -3,32 +3,45 @@ var MemberListItem = require('./member_list_item.jsx'); -module.exports = React.createClass({ - render: function() { +export default class MemberList extends React.Component { + constructor(props) { + super(props); + } + + render() { var members = []; - if (this.props.memberList != null) { + if (this.props.memberList !== null) { members = this.props.memberList; } - var message = ""; - if (members.length === 0) + var message = ''; + if (members.length === 0) { message = <span>No users to add.</span>; + } return ( - <div className="member-list-holder"> - {members.map(function(member) { - return <MemberListItem + <div className='member-list-holder'> + {members.map(function mymembers(member) { + return (<MemberListItem key={member.id} member={member} isAdmin={this.props.isAdmin} handleInvite={this.props.handleInvite} handleRemove={this.props.handleRemove} handleMakeAdmin={this.props.handleMakeAdmin} - />; + />); }, this)} {message} </div> ); } -}); +} + +MemberList.propTypes = { + memberList: React.PropTypes.array, + isAdmin: React.PropTypes.bool, + handleInvite: React.PropTypes.func, + handleRemove: React.PropTypes.func, + handleMakeAdmin: React.PropTypes.func +}; |