/* List of movies. Wrapped with the "withList" and "withCurrentUser" containers. */ import React, { PropTypes, Component } from 'react'; import { Button } from 'react-bootstrap'; import gql from 'graphql-tag'; import Movies from '../collection.js'; import { Components, registerComponent, ModalTrigger, withList, withCurrentUser } from 'meteor/nova:core'; const LoadMore = props => {e.preventDefault(); props.loadMore();}}>Load More ({props.count}/{props.totalCount}) class MoviesList extends Component { renderNew() { const component = (
Add Movie} >
) return !!this.props.currentUser ? component : null; } render() { const canCreateNewMovie = Movies.options.mutations.new.check(this.props.currentUser); if (this.props.loading) { return } else { const hasMore = this.props.totalCount > this.props.results.length; return (
{canCreateNewMovie ? this.renderNew() : null} {this.props.results.map(movie => )} {hasMore ? :

No more movies

}
) } } } MoviesList.displayName = 'MoviesList'; export const MoviesListFragment = gql` fragment moviesItemFragment on Movie { _id name year createdAt user { displayName } } `; const listOptions = { collection: Movies, queryName: 'moviesListQuery', fragment: MoviesListFragment, limit: 5, }; registerComponent('MoviesList', MoviesList, withList(listOptions), withCurrentUser);