From 12896bd23eeba79884245c1c29fdc568cf21a7fa Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 14 Mar 2016 08:50:46 -0400 Subject: Converting to Webpack. Stage 1. --- web/react/components/popover_list_members.jsx | 200 -------------------------- 1 file changed, 200 deletions(-) delete mode 100644 web/react/components/popover_list_members.jsx (limited to 'web/react/components/popover_list_members.jsx') diff --git a/web/react/components/popover_list_members.jsx b/web/react/components/popover_list_members.jsx deleted file mode 100644 index 8f6948ee4..000000000 --- a/web/react/components/popover_list_members.jsx +++ /dev/null @@ -1,200 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import UserStore from '../stores/user_store.jsx'; -var Popover = ReactBootstrap.Popover; -var Overlay = ReactBootstrap.Overlay; -import * as Utils from '../utils/utils.jsx'; -import Constants from '../utils/constants.jsx'; - -import ChannelStore from '../stores/channel_store.jsx'; - -import {FormattedMessage} from 'mm-intl'; - -export default class PopoverListMembers extends React.Component { - constructor(props) { - super(props); - - this.handleShowDirectChannel = this.handleShowDirectChannel.bind(this); - this.closePopover = this.closePopover.bind(this); - } - - componentWillMount() { - this.setState({showPopover: false}); - } - - componentDidMount() { - const originalLeave = $.fn.popover.Constructor.prototype.leave; - $.fn.popover.Constructor.prototype.leave = function onLeave(obj) { - let selfObj; - if (obj instanceof this.constructor) { - selfObj = obj; - } else { - selfObj = $(obj.currentTarget)[this.type](this.getDelegateOptions()).data(`bs.${this.type}`); - } - originalLeave.call(this, obj); - - if (obj.currentTarget && selfObj.$tip) { - selfObj.$tip.one('mouseenter', function onMouseEnter() { - clearTimeout(selfObj.timeout); - selfObj.$tip.one('mouseleave', function onMouseLeave() { - $.fn.popover.Constructor.prototype.leave.call(selfObj, selfObj); - }); - }); - } - }; - } - - componentDidUpdate() { - $(ReactDOM.findDOMNode(this.refs.memebersPopover)).find('.popover-content').perfectScrollbar(); - } - - handleShowDirectChannel(teammate, e) { - e.preventDefault(); - - Utils.openDirectChannelToUser( - teammate, - (channel, channelAlreadyExisted) => { - Utils.switchChannel(channel); - if (channelAlreadyExisted) { - this.closePopover(); - } - }, - () => { - this.closePopover(); - } - ); - } - - closePopover() { - this.setState({showPopover: false}); - } - - render() { - const popoverHtml = []; - const members = this.props.members; - const teamMembers = UserStore.getProfilesUsernameMap(); - const currentUserId = UserStore.getCurrentId(); - const ch = ChannelStore.getCurrent(); - - if (members && teamMembers) { - members.sort((a, b) => { - const aName = Utils.displayUsername(a.id); - const bName = Utils.displayUsername(b.id); - - return aName.localeCompare(bName); - }); - - members.forEach((m, i) => { - let button = ''; - if (currentUserId !== m.id && ch.type !== 'D') { - button = ( - this.handleShowDirectChannel(m, e)} - > - - - ); - } - - let name = ''; - if (teamMembers[m.username]) { - name = Utils.displayUsername(teamMembers[m.username].id); - } - - if (name) { - popoverHtml.push( -
- - -
-
- {name} -
-
-
- {button} -
-
- ); - } - }); - } - - let count = this.props.memberCount; - let countText = '-'; - - // fall back to checking the length of the member list if the count isn't set - if (!count && members) { - count = members.length; - } - - if (count > Constants.MAX_CHANNEL_POPOVER_COUNT) { - countText = Constants.MAX_CHANNEL_POPOVER_COUNT + '+'; - } else if (count > 0) { - countText = count.toString(); - } - - const title = ( - - ); - return ( -
-
this.setState({popoverTarget: e.target, showPopover: !this.state.showPopover})} - > -
- {countText} -
-
- this.state.popoverTarget} - placement='bottom' - > - -
{popoverHtml}
-
-
-
- ); - } -} - -PopoverListMembers.propTypes = { - members: React.PropTypes.array.isRequired, - memberCount: React.PropTypes.number, - channelId: React.PropTypes.string.isRequired -}; -- cgit v1.2.3-1-g7c22