diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-03-03 15:15:56 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-03-03 15:15:56 -0500 |
commit | a413c8ffa684b72840f116380c04a61f1d9cf524 (patch) | |
tree | 287e855db2906058928f1916cbd3fa84857fdcc3 /web/react/components/member_list_item.jsx | |
parent | bc2768fd254e82b6ca39a916436ab4747898578e (diff) | |
parent | 449f1000e999c409f754724cb998f0b9f90cdd59 (diff) | |
download | chat-a413c8ffa684b72840f116380c04a61f1d9cf524.tar.gz chat-a413c8ffa684b72840f116380c04a61f1d9cf524.tar.bz2 chat-a413c8ffa684b72840f116380c04a61f1d9cf524.zip |
Merge pull request #2318 from hmhealey/plt1090
PLT-1090 Refactored modals that display users
Diffstat (limited to 'web/react/components/member_list_item.jsx')
-rw-r--r-- | web/react/components/member_list_item.jsx | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/web/react/components/member_list_item.jsx b/web/react/components/member_list_item.jsx deleted file mode 100644 index 88b98738d..000000000 --- a/web/react/components/member_list_item.jsx +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import UserStore from '../stores/user_store.jsx'; -import * as Utils from '../utils/utils.jsx'; - -import {FormattedMessage} from 'mm-intl'; - -export default class MemberListItem extends React.Component { - constructor(props) { - super(props); - - this.handleInvite = this.handleInvite.bind(this); - this.handleRemove = this.handleRemove.bind(this); - this.handleMakeAdmin = this.handleMakeAdmin.bind(this); - } - handleInvite(e) { - e.preventDefault(); - this.props.handleInvite(this.props.member.id); - } - handleRemove(e) { - e.preventDefault(); - this.props.handleRemove(this.props.member.id); - } - handleMakeAdmin(e) { - e.preventDefault(); - this.props.handleMakeAdmin(this.props.member.id); - } - render() { - var member = this.props.member; - var isAdmin = this.props.isAdmin; - var isMemberAdmin = Utils.isAdmin(member.roles); - var timestamp = UserStore.getCurrentUser().update_at; - - var invite; - if (this.props.handleInvite) { - invite = ( - <a - onClick={this.handleInvite} - className='btn btn-sm btn-primary' - > - <i className='glyphicon glyphicon-envelope'/> - <FormattedMessage - id='member_item.add' - defaultMessage=' Add' - /> - </a> - ); - } else if (isAdmin && !isMemberAdmin && (member.id !== UserStore.getCurrentId())) { - var self = this; - - let makeAdminOption = null; - if (this.props.handleMakeAdmin) { - makeAdminOption = ( - <li role='presentation'> - <a - href='' - role='menuitem' - onClick={self.handleMakeAdmin} - > - <FormattedMessage - id='member_item.makeAdmin' - defaultMessage='Make Admin' - /> - </a> - </li>); - } - - let handleRemoveOption = null; - if (this.props.handleRemove) { - handleRemoveOption = ( - <li role='presentation'> - <a - href='' - role='menuitem' - onClick={self.handleRemove} - > - <FormattedMessage - id='member_item.removeMember' - defaultMessage='Remove Member' - /> - </a> - </li>); - } - - invite = ( - <div className='dropdown member-drop'> - <a - href='#' - className='dropdown-toggle theme' - type='button' - data-toggle='dropdown' - aria-expanded='true' - > - <span className='fa fa-pencil'></span> - <span className='text-capitalize'> - {member.roles || - <FormattedMessage - id='member_item.member' - defaultMessage='Member' - /> - } - </span> - </a> - <ul - className='dropdown-menu member-menu' - role='menu' - > - {makeAdminOption} - {handleRemoveOption} - </ul> - </div> - ); - } else { - invite = (<div className='member-role text-capitalize'><span className='fa fa-pencil hidden'></span>{member.roles || <FormattedMessage id='member_item.member'/>}</div>); - } - - return ( - <tr> - <td className='direct-channel'> - <img - className='profile-img pull-left' - src={'/api/v1/users/' + member.id + '/image?time=' + timestamp + '&' + Utils.getSessionIndex()} - height='36' - width='36' - /> - <div className='more-name'>{Utils.displayUsername(member.id)}</div> - <div className='more-description'>{member.email}</div> - </td> - <td className='td--action lg'>{invite}</td> - </tr> - ); - } -} - -MemberListItem.propTypes = { - handleInvite: React.PropTypes.func, - handleRemove: React.PropTypes.func, - handleMakeAdmin: React.PropTypes.func, - member: React.PropTypes.object, - isAdmin: React.PropTypes.bool -}; |