Read the statement by Michael Teeuw here.
module calendar showing full day events one day to long
-
@lavolp3 thank’s a lot man, you are much faster and way more skilled than me :-)
Just a little discussion: your code only adds the if clause to check if it’s longer than a day to prevent single full day events to be displayed as two day. But what about a multi day event beeing displayed one day to long (which is also happening right now)? -
@andurii
Yeah that’s what is still missing and why i said this is still only some type of workaround.
However, the if-clause will be needed in the end because for a full one-day event you do not want to be shown an endDate. As soon as the full-day-event is longer than one day, you may want it again.
E.g.
Mario’s birthday Nov 16th
(and NOT Nov 16th - Nov 16th)
Luigi’s Holiday Nov 16th - Nov 23rdWhat you’re pointing at is the root cause and it lies somewhere else. I’m sure it can be solved. Give me one weekend ;-)
-
So I guess I have found a “solution”.
This is in fact a systemic problem.A full day event is given by the ical source as starting at 0:00 on a day and ending at 0:00, but one day ahead. The duration is exactly a multiple of 24h.
There is a one-liner as workaround, but I’d invite everyone to find a more gentle solution.
The workaround: subtract one second from the endDate time:
Include this line into calendar.js just at the beginning of the if clause in line 262:event.endDate -= 1000;
So it looks like this:
if (event.fullDayEvent) { event.endDate -= 1000; if (event.today) {
This should solve the issue. It worked for me at least.
-
@lavolp3 great, your fix worked. Only thing I noticed is if the date is tomorrow it still shows ‘Tomorrow - Nov. 22’
Now I still have to fiddle a few glitches in the calendar module:- Having a event with start and end time it will be displayed like ‘in 3 days - 18:00’. It would be better to include starting time ‘in 3 days 15:00 - 18:00’
- For a ongoing event it keeps the end time, but start time gets relative for how long it still goes on ‘1 hour left - 18:00’ (hope my translation is correct, my mirror is german). Maybe this could be changed to ‘for 4 hours - 18:00’ or similiar.
-
@andurii I agree with you on both points and I’m working on it :-)
Basically the implementation of showEnd is quite messed up.
I’m trying to use my freshly gained JS beginner skills on this :-)Have send a PR for the fulldayevent fix and I expect this to be included in the next release.