import Telescope from 'meteor/nova:lib'; import React from 'react'; import {FormattedMessage } from 'react-intl'; import { ModalTrigger, withCurrentUser, withList } from 'meteor/nova:core'; import Comments from 'meteor/nova:comments'; import gql from 'graphql-tag'; const PostsCommentsThread = (props, context) => { const {loading, terms: { postId }, results} = props; if (loading) { return
} else { const commentCount = results.length; const resultsClone = _.map(results, _.clone); // we don't want to modify the objects we got from props const nestedComments = Telescope.utils.unflatten(resultsClone, '_id', 'parentCommentId'); return (

{ props.currentUser ?

:
}>
}
); } }; PostsCommentsThread.displayName = "PostsCommentsThread"; PostsCommentsThread.propTypes = { currentUser: React.PropTypes.object }; const fragment = gql` fragment commentsListFragment on Comment { _id postId parentCommentId topLevelCommentId body htmlBody postedAt user { _id __displayName __emailHash __slug } } `; const options = { collection: Comments, queryName: 'commentsListQuery', fragmentName: 'commentsListFragment', fragment: fragment, limit: 0, options: { variables: { postId: { type: 'String', usedForTotal: true } } }, }; Telescope.registerComponent('PostsCommentsThread', PostsCommentsThread, withCurrentUser, withList(options));