import { Components, getRawComponent, registerComponent, withList, withCurrentUser } from 'meteor/nova:core'; import React from 'react'; import Posts from 'meteor/nova:posts'; const PostsList = (props) => { const {results, loading, count, totalCount, loadMore, showHeader = true, networkStatus, currentUser} = props; const loadingMore = networkStatus === 2; if (results && results.length) { const hasMore = totalCount > results.length; return (
{showHeader ? : null}
{results.map(post => )}
{hasMore ? (loadingMore ? : ) : }
) } else if (loading) { return (
{showHeader ? : null}
) } else { return (
{showHeader ? : null}
) } }; PostsList.displayName = "PostsList"; PostsList.propTypes = { results: React.PropTypes.array, terms: React.PropTypes.object, hasMore: React.PropTypes.bool, loading: React.PropTypes.bool, count: React.PropTypes.number, totalCount: React.PropTypes.number, loadMore: React.PropTypes.func, showHeader: React.PropTypes.bool, }; const options = { collection: Posts, queryName: 'postsListQuery', fragmentName: 'PostsList', }; registerComponent('PostsList', PostsList, withCurrentUser, [withList, options]);