Vulcan/packages/telescope-singleday/lib/client/templates/single_day_nav.js

76 lines
2 KiB
JavaScript
Raw Normal View History

var getDateURL = function (moment) {
return Router.path('postsSingleDay', {
year: moment.year(),
month: moment.month() + 1,
day: moment.date()
});
};
2015-05-07 15:44:12 +09:00
Template.single_day_nav.onCreated(function(){
$(document).unbind('keyup'); //remove any potential existing bindings to avoid duplicates
var currentDate = moment(this.data.terms.date).startOf('day');
var today = moment(new Date()).startOf('day');
$(document).bind('keyup', function(event){
switch (event.which) {
// left arrow
case 37:
Router.go($('.prev-link').attr('href'));
currentDate.subtract(1, 'day');
break;
// right arrow
case 39:
if(Users.is.admin(Meteor.user()) || today.diff(currentDate, 'days') > 0) {
Router.go($('.next-link').attr('href'));
currentDate.add(1, 'day');
}
break;
}
event.preventDefault();
});
});
Template.single_day_nav.onDestroyed(function(){
$(document).unbind('keyup'); //clean up to prevent errors on other pages
});
2015-05-07 15:44:12 +09:00
Template.single_day_nav.helpers({
currentDate: function(){
var currentDate = moment(this.terms.date);
var today = moment(new Date()).startOf('day');
var diff = today.diff(currentDate, 'days');
if (diff === 0) {
return i18n.t("today");
}
if (diff === 1) {
return i18n.t("yesterday");
}
return currentDate.format("dddd, MMMM Do YYYY");
},
previousDateURL: function(){
var currentDate = moment(this.terms.date);
var newDate = currentDate.subtract(1, 'days');
return getDateURL(newDate);
},
showPreviousDate: function(){
// TODO
return true;
},
nextDateURL: function(){
var currentDate = moment(this.terms.date);
var newDate = currentDate.add(1, 'days');
return getDateURL(newDate);
},
showNextDate: function(){
var currentDate = moment(this.terms.date).startOf('day');
var today = moment(new Date()).startOf('day');
2015-04-27 17:14:07 +09:00
return Users.is.admin(Meteor.user()) || (today.diff(currentDate, 'days') > 0);
}
});