// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. var UserStore = require('../stores/user_store.jsx'); var utils = require('../utils/utils.jsx'); var Constants = require('../utils/constants.jsx'); var Tooltip = ReactBootstrap.Tooltip; var OverlayTrigger = ReactBootstrap.OverlayTrigger; export default class PostInfo extends React.Component { constructor(props) { super(props); this.state = {}; } createDropdown() { var post = this.props.post; var isOwner = UserStore.getCurrentId() === post.user_id; var isAdmin = utils.isAdmin(UserStore.getCurrentUser().roles); if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING || post.state === Constants.POST_DELETED) { 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 (isOwner) { dropdownContents.push(
  • Edit
  • ); } if (isOwner || isAdmin) { dropdownContents.push(
  • Delete
  • ); } if (this.props.allowReply === 'true') { dropdownContents.push(
  • Reply
  • ); } if (dropdownContents.length === 0) { return ''; } return (
    {this.props.commentCount} ); } var dropdown = this.createDropdown(); let tooltip = {`${utils.displayDate(post.create_at)} at ${utils.displayTime(post.create_at)}`}; return ( ); } } PostInfo.defaultProps = { post: null, commentCount: 0, isLastComment: false, allowReply: false }; PostInfo.propTypes = { post: React.PropTypes.object, commentCount: React.PropTypes.number, isLastComment: React.PropTypes.bool, allowReply: React.PropTypes.string, handleCommentClick: React.PropTypes.func };