Vulcan/client/views/users/profile/user_downvoted_posts.js

46 lines
1.3 KiB
JavaScript
Raw Normal View History

2014-12-08 14:53:26 +09:00
Template[getTemplate('userDownvotedPosts')].created = function () {
2014-12-08 18:03:30 +09:00
var user = this.data;
2014-12-08 18:03:30 +09:00
var instance = this;
// initialize the terms and posts local reactive variables
instance.terms = new ReactiveVar({
view: 'userDownvotedPosts',
userId: user._id,
limit: 5
});
instance.posts = new ReactiveVar({});
// will re-run when the "terms" local reactive variable changes
Tracker.autorun(function () {
2014-12-08 18:03:30 +09:00
// get the new terms and generate new parameters from them
var terms = instance.terms.get();
var parameters = getPostsParameters(terms);
// subscribe to the userPosts publication
coreSubscriptions.subscribe('userDownvotedPosts', terms);
2014-12-08 18:03:30 +09:00
// update the instance's "posts" cursor
instance.posts.set(Posts.find(parameters.find, parameters.options));
});
2014-12-08 14:53:26 +09:00
};
Template[getTemplate('userDownvotedPosts')].helpers({
2014-12-08 18:03:30 +09:00
posts: function () {
return Template.instance().posts.get();
2014-12-08 14:53:26 +09:00
},
2014-12-08 18:03:30 +09:00
hasMorePosts: function () {
return Template.instance().posts.get().count() >= Session.get('postsShown');
2014-12-08 14:53:26 +09:00
}
});
Template[getTemplate('userDownvotedPosts')].events({
'click .downvotedposts-more': function (e) {
e.preventDefault();
2014-12-08 18:03:30 +09:00
var terms = Template.instance().terms.get();
terms.limit += 5;
Template.instance().terms.set(terms)
2014-12-08 14:53:26 +09:00
}
});