Fix event positionning in the grid.

This commit is contained in:
Daru13 2018-11-24 03:09:19 +01:00
parent 504044b1cf
commit b2dabd1dc4

View file

@ -1,7 +1,10 @@
// Based on https://stackoverflow.com/a/15289883 // Based on https://stackoverflow.com/a/15289883
function computeDateDifferenceInHours (date1, date2) { function computeDateDifferenceInHours (date1, date2) {
d1 = new Date(date1.getYear(), date1.getMonth(), date1.getDate(), date1.getHours());
d2 = new Date(date2.getYear(), date2.getMonth(), date2.getDate(), date2.getHours());
const msPerHour = 60 * 60 * 1000; const msPerHour = 60 * 60 * 1000;
return Math.floor(Math.abs(date2.getTime() - date1.getTime()) / msPerHour); return Math.abs(d2.getTime() - d1.getTime()) / msPerHour;
} }
@ -87,7 +90,8 @@ class Calendar {
this.startHourToDisplay = this.startDate.getHours(); this.startHourToDisplay = this.startDate.getHours();
this.endHourToDisplay = this.endDate.getHours(); this.endHourToDisplay = this.endDate.getHours();
this.nbHoursToDisplay = computeDateDifferenceInHours(this.startDate, this.endDate); this.nbHoursToDisplay = Math.floor(computeDateDifferenceInHours(this.startDate, this.endDate));
}
} }
@ -484,7 +488,7 @@ class Event {
return 1; return 1;
} }
return 1 + computeDateDifferenceInHours(this.calendar.startDate, this.startDate); return 1 + Math.floor(computeDateDifferenceInHours(this.calendar.startDate, this.startDate));
} }
// Assuming the events can appear in the calendar // Assuming the events can appear in the calendar
@ -493,8 +497,10 @@ class Event {
return 1 + this.calendar.nbHoursToDisplay; return 1 + this.calendar.nbHoursToDisplay;
} }
let shiftedEndDate = new Date(this.endDate.getTime() + 1000 * 60 * 59);
return 1 + this.calendar.nbHoursToDisplay return 1 + this.calendar.nbHoursToDisplay
- computeDateDifferenceInHours(this.endDate, this.calendar.endDate); - Math.ceil(computeDateDifferenceInHours(shiftedEndDate, this.calendar.endDate));
} }
updatePositionInGrid () { updatePositionInGrid () {