// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import $ from 'jquery'; import * as Utils from 'utils/utils.jsx'; import TimeSince from './time_since.jsx'; import * as GlobalActions from 'action_creators/global_actions.jsx'; import TeamStore from 'stores/team_store.jsx'; import UserStore from 'stores/user_store.jsx'; import Constants from 'utils/constants.jsx'; import {FormattedMessage} from 'react-intl'; import React from 'react'; export default class PostInfo extends React.Component { constructor(props) { super(props); this.dropdownPosition = this.dropdownPosition.bind(this); this.handlePermalink = this.handlePermalink.bind(this); this.removePost = this.removePost.bind(this); } dropdownPosition(e) { var position = $('#post-list').height() - $(e.target).offset().top; var dropdown = $(e.target).closest('.col__reply').find('.dropdown-menu'); if (position < dropdown.height()) { dropdown.addClass('bottom'); } } createDropdown() { var post = this.props.post; var isOwner = this.props.currentUser.id === post.user_id; var isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING || Utils.isPostEphemeral(post)) { return ''; } var type = 'Post'; if (post.root_id && post.root_id.length > 0) { type = 'Comment'; } var dropdownContents = []; var dataComments = 0; if (type === 'Post') { dataComments = this.props.commentCount; } if (this.props.allowReply === 'true') { dropdownContents.push(