2015-09-23 19:01:52 +09:00
|
|
|
var getDays = function (daysCount) {
|
|
|
|
var daysArray = [];
|
|
|
|
// var days = this.days;
|
|
|
|
for (var i = 0; i < daysCount; i++) {
|
|
|
|
daysArray.push({
|
|
|
|
date: moment().subtract(i, 'days').startOf('day').toDate(),
|
|
|
|
index: i
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return daysArray;
|
|
|
|
};
|
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
Posts.fastRenderSubscribe = function (params) {
|
2015-07-08 16:00:27 +09:00
|
|
|
|
2015-09-23 19:01:52 +09:00
|
|
|
var fr = this;
|
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
// generate cat array
|
|
|
|
var categories = [];
|
|
|
|
var index = 0;
|
|
|
|
while (!!params.query["cat["+index+"]"]) {
|
|
|
|
categories.push(params.query["cat["+index+"]"]);
|
|
|
|
delete params.query["cat["+index+"]"];
|
|
|
|
index++;
|
|
|
|
}
|
2015-10-09 14:03:00 +09:00
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
if (categories.length) {
|
|
|
|
params.query.cat = categories;
|
|
|
|
}
|
2015-09-23 19:01:52 +09:00
|
|
|
|
2015-10-09 14:03:00 +09:00
|
|
|
if (!params.query.limit) {
|
|
|
|
params.query.limit = Settings.get('postsPerPage', 10);
|
|
|
|
}
|
|
|
|
|
2015-09-23 19:01:52 +09:00
|
|
|
// special case for daily view
|
|
|
|
if (params.query.view === "daily") {
|
|
|
|
|
|
|
|
var daysCount = params.days ? params.days : 5;
|
|
|
|
var days = getDays(daysCount);
|
|
|
|
|
|
|
|
days.forEach(function (day) {
|
|
|
|
|
|
|
|
var subscriptionTerms = {
|
|
|
|
view: "top",
|
|
|
|
date: day.date,
|
|
|
|
after: moment(day.date).format("YYYY-MM-DD"),
|
|
|
|
before: moment(day.date).format("YYYY-MM-DD")
|
|
|
|
};
|
|
|
|
|
|
|
|
fr.subscribe('postsList', subscriptionTerms);
|
|
|
|
fr.subscribe('postsListUsers', subscriptionTerms);
|
2015-07-08 16:00:27 +09:00
|
|
|
|
2015-09-23 19:01:52 +09:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
fr.subscribe('postsList', params.query);
|
|
|
|
fr.subscribe('postsListUsers', params.query);
|
|
|
|
|
|
|
|
}
|
2015-09-23 15:43:22 +09:00
|
|
|
};
|
|
|
|
|
|
|
|
Meteor.startup(function () {
|
2015-09-23 19:01:52 +09:00
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
FastRender.route("/", Posts.fastRenderSubscribe);
|
2015-09-23 19:01:52 +09:00
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
FastRender.route("/posts/:_id/:slug?", function (params) {
|
|
|
|
var postId = params._id;
|
|
|
|
this.subscribe('singlePost', postId);
|
|
|
|
this.subscribe('postUsers', postId);
|
|
|
|
this.subscribe('commentsList', {view: 'postComments', postId: postId});
|
|
|
|
});
|
2015-09-23 19:01:52 +09:00
|
|
|
|
2015-09-23 15:43:22 +09:00
|
|
|
});
|