Vulcan/packages/nova-base-components/lib/posts/PostsDay.jsx

52 lines
1.3 KiB
React
Raw Normal View History

2016-03-22 10:22:46 +09:00
import React, { PropTypes, Component } from 'react';
import { ListContainer } from "meteor/utilities:react-list-container";
import moment from 'moment';
2016-03-30 10:52:40 +09:00
class PostsDay extends Component {
render() {
const {date, number} = this.props;
const terms = {
view: "top",
date: date,
after: moment(date).format("YYYY-MM-DD"),
before: moment(date).format("YYYY-MM-DD"),
enableCache: number <= 15 ? true : false, // only cache first 15 days
listId: `posts.list.${moment(date).format("YYYY-MM-DD")}`
};
({selector, options} = Posts.parameters.get(terms));
2016-06-07 09:43:23 +09:00
const postsPerPage = Telescope.settings.get("postsPerPage", 10);
return (
<div className="posts-day">
<h4 className="posts-day-heading">{moment(date).format("dddd, MMMM Do YYYY")}</h4>
<ListContainer
collection={Posts}
publication="posts.list"
selector={selector}
options={options}
terms={terms}
joins={Posts.getJoins()}
component={Telescope.components.PostsList}
componentProps={{showHeader: false}}
listId={terms.listId}
2016-06-07 09:43:23 +09:00
limit={postsPerPage}
/>
</div>
)
}
2016-03-22 10:22:46 +09:00
}
2016-04-14 10:12:35 +09:00
PostsDay.propTypes = {
2016-03-22 10:22:46 +09:00
date: React.PropTypes.object,
number: React.PropTypes.number
}
2016-04-14 10:12:35 +09:00
module.exports = PostsDay;
export default PostsDay;