Show cards in calendar

This commit is contained in:
Nicu Tofan 2018-06-26 22:11:51 +03:00
parent 226d25ca94
commit 18467dfe40
No known key found for this signature in database
GPG key ID: 7EE66E95E64FD0B7
5 changed files with 87 additions and 1 deletions

View file

@ -85,3 +85,4 @@ cfs:gridfs
browser-policy
eluck:accounts-lockout
rzymek:fullcalendar
momentjs:moment@2.22.2

View file

@ -103,7 +103,7 @@ mixmax:smart-disconnect@0.0.4
mobile-status-bar@1.0.14
modules@0.11.0
modules-runtime@0.9.1
momentjs:moment@2.8.4
momentjs:moment@2.22.2
mongo@1.3.1
mongo-dev-server@1.1.0
mongo-id@1.0.6

View file

@ -25,3 +25,5 @@ template(name="boardBody")
+swimlane(this)
if isViewLists
+listsGroup
if isViewCalendar
+fullcalendar(calendarOptions)

View file

@ -114,6 +114,62 @@ BlazeComponent.extendComponent({
}
},
calendarOptions() {
return {
id: 'calendar-view',
defaultView: 'basicWeek',
header: {
left: 'title',
center: 'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,timelineMonth timelineYear',
right: 'today prev,next',
},
views: {
basic: {
// options apply to basicWeek and basicDay views
},
agenda: {
// options apply to agendaWeek and agendaDay views
},
week: {
// options apply to basicWeek and agendaWeek views
},
day: {
// options apply to basicDay and agendaDay views
},
},
themeSystem: 'jquery-ui',
height: 'parent',
/* TODO: lists as resources: https://fullcalendar.io/docs/vertical-resource-view */
navLinks: true,
nowIndicator: true,
businessHours: {
// days of week. an array of zero-based day of week integers (0=Sunday)
dow: [ 1, 2, 3, 4, 5 ], // Monday - Thursday
start: '8:00',
end: '18:00',
},
locale: TAPi18n.getLanguage(),
events(start, end, timezone, callback) {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const events = [];
currentBoard.cardsInInterval(start.toDate(), end.toDate()).forEach(function(card){
events.push({
id: card.id,
title: card.title,
start: card.startAt,
end: card.endAt,
url: FlowRouter.url('card', {
boardId: currentBoard._id,
slug: currentBoard.slug,
cardId: card._id,
}),
});
});
callback(events);
},
};
},
events() {
return [{
// XXX The board-overlay div should probably be moved to the parent

View file

@ -284,6 +284,33 @@ Boards.helpers({
return Cards.find(query, projection);
},
cardsInInterval(start, end) {
return Cards.find({
$or: [
{
startAt: {
$lte: start,
}, endAt: {
$gte: start,
},
}, {
startAt: {
$lte: end,
}, endAt: {
$gte: end,
},
}, {
startAt: {
$gte: start,
}, endAt: {
$lte: end,
},
},
],
});
},
});
Boards.mutations({