// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import UserProfile from './user_profile.jsx'; import FileAttachmentList from './file_attachment_list.jsx'; import PendingPostOptions from 'components/post_view/components/pending_post_options.jsx'; import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; import * as GlobalActions from 'actions/global_actions.jsx'; import * as TextFormatting from 'utils/text_formatting.jsx'; import * as Utils from 'utils/utils.jsx'; import Client from 'utils/web_client.jsx'; import Constants from 'utils/constants.jsx'; import {FormattedMessage, FormattedDate} from 'react-intl'; import loadingGif from 'images/load.gif'; import React from 'react'; export default class RhsComment extends React.Component { constructor(props) { super(props); this.handlePermalink = this.handlePermalink.bind(this); this.state = {}; } handlePermalink(e) { e.preventDefault(); GlobalActions.showGetPostLinkModal(this.props.post); } shouldComponentUpdate(nextProps) { if (nextProps.compactDisplay !== this.props.compactDisplay) { return true; } if (nextProps.useMilitaryTime !== this.props.useMilitaryTime) { return true; } if (!Utils.areObjectsEqual(nextProps.post, this.props.post)) { return true; } return false; } createDropdown() { var post = this.props.post; if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING || post.state === Constants.POST_DELETED) { return ''; } const isOwner = this.props.currentUser.id === post.user_id; var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); const isSystemMessage = post.type && post.type.startsWith(Constants.SYSTEM_MESSAGE_PREFIX); var dropdownContents = []; if (!Utils.isMobile()) { dropdownContents.push(
  • ); } if (isOwner && !isSystemMessage) { dropdownContents.push(
  • ); } if (isOwner || isAdmin) { dropdownContents.push(
  • GlobalActions.showDeletePostModal(post, 0)} >
  • ); } if (dropdownContents.length === 0) { return ''; } return (