diff options
author | Saturnino Abril <saturnino.abril@gmail.com> | 2017-05-01 23:08:54 +0900 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2017-05-01 10:08:54 -0400 |
commit | 83f819451a80a767170b927eb2f0d5ed63f03239 (patch) | |
tree | d1a5e0ff5078c12c7c292e6ad9123c0e5bc4fb4e /webapp/components/profile_picture.jsx | |
parent | 597641545d1be04a1ba6c0b2d35c75fc2cfc8737 (diff) | |
download | chat-83f819451a80a767170b927eb2f0d5ed63f03239.tar.gz chat-83f819451a80a767170b927eb2f0d5ed63f03239.tar.bz2 chat-83f819451a80a767170b927eb2f0d5ed63f03239.zip |
[GH-5915] Clicking on @mention of a user in a post shows the profile popover (#6129)
* post message at-mention profile pop-over
* remove hover effect to special mentions
* make non-clickable the non-existing at-mention username
* fix "video call" position
* use usernameMap instead of initially defined liteUsernameMap
* update per comments
Diffstat (limited to 'webapp/components/profile_picture.jsx')
-rw-r--r-- | webapp/components/profile_picture.jsx | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/webapp/components/profile_picture.jsx b/webapp/components/profile_picture.jsx deleted file mode 100644 index b7ee08785..000000000 --- a/webapp/components/profile_picture.jsx +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. -import ProfilePopover from './profile_popover.jsx'; -import * as Utils from 'utils/utils.jsx'; - -import React from 'react'; -import StatusIcon from './status_icon.jsx'; -import {OverlayTrigger} from 'react-bootstrap'; - -export default class ProfilePicture extends React.Component { - constructor(props) { - super(props); - - this.hideProfilePopover = this.hideProfilePopover.bind(this); - } - shouldComponentUpdate(nextProps) { - if (!Utils.areObjectsEqual(nextProps.user, this.props.user)) { - return true; - } - - if (nextProps.src !== this.props.src) { - return true; - } - - if (nextProps.status !== this.props.status) { - return true; - } - - if (nextProps.width !== this.props.width) { - return true; - } - - if (nextProps.height !== this.props.height) { - return true; - } - - if (nextProps.isBusy !== this.props.isBusy) { - return true; - } - - return false; - } - - hideProfilePopover() { - this.refs.overlay.hide(); - } - - render() { - if (this.props.user) { - return ( - <OverlayTrigger - ref='overlay' - trigger='click' - placement='right' - rootClose={true} - overlay={ - <ProfilePopover - user={this.props.user} - src={this.props.src} - status={this.props.status} - isBusy={this.props.isBusy} - hide={this.hideProfilePopover} - /> - } - > - <span className='status-wrapper'> - <img - className='more-modal__image' - width={this.props.width} - height={this.props.width} - src={this.props.src} - /> - <StatusIcon status={this.props.status}/> - </span> - </OverlayTrigger> - ); - } - return ( - <span className='status-wrapper'> - <img - className='more-modal__image' - width={this.props.width} - height={this.props.width} - src={this.props.src} - /> - <StatusIcon status={this.props.status}/> - </span> - ); - } -} - -ProfilePicture.defaultProps = { - width: '36', - height: '36' -}; -ProfilePicture.propTypes = { - src: React.PropTypes.string.isRequired, - status: React.PropTypes.string, - width: React.PropTypes.string, - height: React.PropTypes.string, - user: React.PropTypes.object, - isBusy: React.PropTypes.bool -}; |