Vulcan/packages/nova-components/lib/comments/list/CommentNode.jsx
2016-02-18 21:39:33 +09:00

43 lines
No EOL
1 KiB
JavaScript

const CommentNode = React.createClass({
propTypes: {
comment: React.PropTypes.object.isRequired, // the current comment
currentUser: React.PropTypes.object, // the current user
},
renderComment(comment) {
({CommentItem} = Telescope.components);
return (
<CommentItem comment={comment} key={comment._id} currentUser={this.props.currentUser}/>
)
},
renderChildren(children) {
// ({CommentNode} = Telescope.components);
return (
<div className="comment-children">
{children.map(comment => <CommentNode comment={comment} key={comment._id} currentUser={this.props.currentUser}/>)}
</div>
)
},
render() {
const comment = this.props.comment;
const children = this.props.comment.childrenResults;
return (
<div className="comment-node" style={{borderLeft:"2px solid #eee", paddingLeft: "10px"}}>
{this.renderComment(comment)}
{children ? this.renderChildren(children) : ""}
</div>
)
}
});
module.exports = CommentNode;