summaryrefslogtreecommitdiffstats
path: root/web/react/components/member_list.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/react/components/member_list.jsx')
-rw-r--r--web/react/components/member_list.jsx33
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
+};