From cf7a05f80f68b5b1c8bcc0089679dd497cec2506 Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Sun, 14 Jun 2015 23:53:32 -0800 Subject: first commit --- web/react/components/member_list_item.jsx | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 web/react/components/member_list_item.jsx (limited to 'web/react/components/member_list_item.jsx') diff --git a/web/react/components/member_list_item.jsx b/web/react/components/member_list_item.jsx new file mode 100644 index 000000000..f0bbff8bd --- /dev/null +++ b/web/react/components/member_list_item.jsx @@ -0,0 +1,67 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +var ChannelStore = require('../stores/channel_store.jsx'); +var UserStore = require('../stores/user_store.jsx'); + +module.exports = React.createClass({ + handleInvite: function() { + this.props.handleInvite(this.props.member.id); + }, + handleRemove: function() { + this.props.handleRemove(this.props.member.id); + }, + handleMakeAdmin: function() { + this.props.handleMakeAdmin(this.props.member.id); + }, + render: function() { + + var member = this.props.member; + var isAdmin = this.props.isAdmin; + var isMemberAdmin = member.roles.indexOf("admin") > -1; + + if (member.roles === '') { + member.roles = 'Member'; + } else { + member.roles = member.roles.charAt(0).toUpperCase() + member.roles.slice(1); + } + + var invite; + if (member.invited && this.props.handleInvite) { + invite = Added; + } else if (this.props.handleInvite) { + invite = Add; + } else if (isAdmin && !isMemberAdmin && (member.id != UserStore.getCurrentId())) { + var self = this; + invite = ( +
+ + {member.roles} + + + +
+ ); + } else { + invite =
{member.roles}
; + } + + var email = member.email.length > 0 ? member.email : ""; + + return ( +
+ + {member.username} + {email} + { invite } +
+ ); + } +}); -- cgit v1.2.3-1-g7c22