mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 01:51:40 -05:00
added date in url to digest view
This commit is contained in:
parent
721e1fb02d
commit
ad9fca0d4a
6 changed files with 85 additions and 57 deletions
|
@ -85,11 +85,14 @@ SimpleRouter = FilteredRouter.extend({
|
|||
routes: {
|
||||
'': 'top',
|
||||
'top':'top',
|
||||
'top/':'top',
|
||||
'top/:page':'top',
|
||||
'new':'new',
|
||||
'new/':'new',
|
||||
'new/:page':'new',
|
||||
'digest/:year/:month/:day':'digest',
|
||||
'digest':'digest',
|
||||
'digest/:page':'digest',
|
||||
'digest/':'digest',
|
||||
'test':'test',
|
||||
'signin':'signin',
|
||||
'signup':'signup',
|
||||
|
@ -126,10 +129,31 @@ SimpleRouter = FilteredRouter.extend({
|
|||
this.goto('posts_new');
|
||||
}
|
||||
},
|
||||
digest: function(page){
|
||||
digest: function(year, month, day){
|
||||
|
||||
if(canView(Meteor.user(), 'replace')) {
|
||||
var page = (typeof page === 'undefined') ? 1 : page;
|
||||
Session.set('currentPageNumber', page);
|
||||
if(typeof day === 'undefined'){
|
||||
var date = new Date();
|
||||
var mDate = moment(date);
|
||||
this.navigate(getDigestURL(mDate));
|
||||
}else{
|
||||
var date=new Date(year, month-1, day);
|
||||
var mDate = moment(date);
|
||||
}
|
||||
|
||||
sessionSetObject('currentDate', date);
|
||||
var postsPerPage=5;
|
||||
var postsView={
|
||||
find: {submitted: {$gte: mDate.startOf('day').valueOf(), $lt: mDate.endOf('day').valueOf()}},
|
||||
sort: {score: -1},
|
||||
skip:0,
|
||||
postsPerPage: postsPerPage,
|
||||
limit: postsPerPage
|
||||
}
|
||||
sessionSetObject('postsView', postsView);
|
||||
|
||||
this.goto('posts_digest');
|
||||
}
|
||||
},
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="controls">
|
||||
{{#each categories}}
|
||||
<label class="radio inline">
|
||||
<input id="category_{{_id}}" type="checkbox" value="{{name}}" name="category" {{#if isChecked }} checked {{/if}}/> {{name}}
|
||||
<input id="category_{{_id}}" type="radio" value="{{name}}" name="category" {{#if isChecked }} checked {{/if}}/> {{name}}
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
|
@ -1,3 +1,14 @@
|
|||
Template.post_page.created = function(){
|
||||
var postsView={
|
||||
find: {_id:Session.get('selectedPostId')},
|
||||
sort: {},
|
||||
skip:0,
|
||||
postsPerPage:1,
|
||||
limit:1
|
||||
}
|
||||
sessionSetObject('postsView', postsView);
|
||||
};
|
||||
|
||||
Template.post_page.helpers({
|
||||
post: function(){
|
||||
var post = Posts.findOne(Session.get('selectedPostId'));
|
||||
|
|
|
@ -2,8 +2,13 @@
|
|||
<div class="grid">
|
||||
<div class="grid-block">
|
||||
The top 5 posts of each day. |
|
||||
<a href="#" class="prev-link" data-increment="-1">Previous Day</a> |
|
||||
<a href="#" class="next-link" data-increment="1">Next Day</a>
|
||||
{{#if showPreviousDate}}
|
||||
<a href="{{previousDateURL}}" class="prev-link" data-increment="-1">Previous Day</a> |
|
||||
{{/if}}
|
||||
{{currentDate}} |
|
||||
{{#if showNextDate}}
|
||||
<a href="{{nextDateURL}}" class="next-link" data-increment="1">Next Day</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="posts grid list">
|
||||
|
|
|
@ -1,55 +1,30 @@
|
|||
getDateRange= function(pageNumber){
|
||||
var now = moment(new Date());
|
||||
var dayToDisplay=now.subtract('days', pageNumber-1);
|
||||
var range={};
|
||||
range.start = dayToDisplay.startOf('day').valueOf();
|
||||
range.end = dayToDisplay.endOf('day').valueOf();
|
||||
console.log("after: ", dayToDisplay.startOf('day').format("dddd, MMMM Do YYYY, h:mm:ss a"));
|
||||
console.log("before: ", dayToDisplay.endOf('day').format("dddd, MMMM Do YYYY, h:mm:ss a"));
|
||||
return range;
|
||||
}
|
||||
|
||||
Template.posts_digest.posts = function(){
|
||||
var postsView=sessionGetObject('postsView');
|
||||
console.log('postsView:: ',postsView);
|
||||
var collection=Posts.find(postsView.find);
|
||||
console.log('collection ', collection.fetch());
|
||||
return collection;
|
||||
};
|
||||
|
||||
Template.posts_digest.created = function(){
|
||||
var postsPerPage=5;
|
||||
var pageNumber=Session.get('currentPageNumber') || 1;
|
||||
var range=getDateRange(pageNumber);
|
||||
var postsView={
|
||||
find: {submitted: {$gte: range.start, $lt: range.end}},
|
||||
sort: {score: -1},
|
||||
skip:0,
|
||||
postsPerPage: postsPerPage,
|
||||
limit: postsPerPage,
|
||||
page: pageNumber
|
||||
}
|
||||
sessionSetObject('postsView', postsView);
|
||||
}
|
||||
|
||||
Template.posts_digest.events({
|
||||
'click .prev-link': function(e) {
|
||||
e.preventDefault();
|
||||
Template.posts_digest.helpers({
|
||||
posts: function(){
|
||||
var postsView=sessionGetObject('postsView');
|
||||
postsView.page++;
|
||||
var range=getDateRange(postsView.page);
|
||||
postsView.find={submitted: {$gte: range.start, $lt: range.end}}
|
||||
sessionSetObject('postsView', postsView);
|
||||
var collection=Posts.find(postsView.find);
|
||||
return collection;
|
||||
},
|
||||
'click .next-link': function(e) {
|
||||
e.preventDefault();
|
||||
var postsView=sessionGetObject('postsView');
|
||||
if(postsView.page>1){
|
||||
postsView.page--;
|
||||
var range=getDateRange(postsView.page);
|
||||
postsView.find={submitted: {$gte: range.start, $lt: range.end}}
|
||||
console.log(postsView.page);
|
||||
sessionSetObject('postsView', postsView);
|
||||
}
|
||||
currentDate: function(){
|
||||
return moment(sessionGetObject('currentDate')).format("dddd, MMMM Do YYYY");
|
||||
},
|
||||
previousDateURL: function(){
|
||||
var currentDate=moment(sessionGetObject('currentDate'));
|
||||
var newDate=currentDate.subtract('days', 1);
|
||||
return getDigestURL(newDate);
|
||||
},
|
||||
showPreviousDate: function(){
|
||||
// TODO
|
||||
return true;
|
||||
},
|
||||
nextDateURL: function(){
|
||||
var currentDate=moment(sessionGetObject('currentDate'));
|
||||
var newDate=currentDate.add('days', 1);
|
||||
return getDigestURL(newDate);
|
||||
},
|
||||
showNextDate: function(){
|
||||
var currentDate=moment(sessionGetObject('currentDate'));
|
||||
var nextDate=currentDate.add('days', 1);
|
||||
var today=moment(new Date());
|
||||
return today.diff(nextDate, 'days') > 0
|
||||
}
|
||||
});
|
||||
});
|
|
@ -29,3 +29,16 @@ getAuthorName = function(item){
|
|||
scrollPageTo = function(selector){
|
||||
$('body').scrollTop($(selector).offset().top);
|
||||
}
|
||||
getDigestURL = function(moment){
|
||||
return '/digest/'+moment.year()+'/'+(moment.month()+1)+'/'+moment.date()
|
||||
}
|
||||
getDateRange= function(pageNumber){
|
||||
var now = moment(new Date());
|
||||
var dayToDisplay=now.subtract('days', pageNumber-1);
|
||||
var range={};
|
||||
range.start = dayToDisplay.startOf('day').valueOf();
|
||||
range.end = dayToDisplay.endOf('day').valueOf();
|
||||
// console.log("after: ", dayToDisplay.startOf('day').format("dddd, MMMM Do YYYY, h:mm:ss a"));
|
||||
// console.log("before: ", dayToDisplay.endOf('day').format("dddd, MMMM Do YYYY, h:mm:ss a"));
|
||||
return range;
|
||||
}
|
Loading…
Add table
Reference in a new issue