// Copyright (c) 2015 Spinpunch, 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'); module.exports = React.createClass({ getInitialState: function() { return { }; }, render: function() { var post = this.props.post; var isOwner = UserStore.getCurrentId() === post.user_id; var isAdmin = UserStore.getCurrentUser().roles.indexOf('admin') > -1; var type = 'Post'; if (post.root_id && post.root_id.length > 0) { type = 'Comment'; } var comments = ''; var lastCommentClass = ' comment-icon__container__hide'; if (this.props.isLastComment) { lastCommentClass = ' comment-icon__container__show'; } if (this.props.commentCount >= 1 && post.state !== Constants.POST_FAILED && post.state !== Constants.POST_LOADING) { comments = {this.props.commentCount}; } var showDropdown = isOwner || (this.props.allowReply === 'true' && type !== 'Comment'); if (post.state === Constants.POST_FAILED || post.state === Constants.POST_LOADING) { showDropdown = false; } var dropdownContents = []; var dropdown; if (showDropdown) { 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
  • ); } dropdown = (