Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calendar updates - recurrence handling and monthly view #375

Closed
wants to merge 3 commits into from

Conversation

mbalfour
Copy link

The primary fix is to the handling of recurring events to make them show up correctly. There were multiple bugs that caused recurring events to break with exception dates and specific recurrence overrides.

There is also an addition of an optional monthly calendar view that shows calendar events on a monthly display instead of a list format.

MichMich and others added 3 commits July 12, 2016 15:55
The primary fix is to the handling of recurring events.  For recurrence
rules in iCal (RRULE), it's possible to have overrides for specific
recurrences, and "exception dates" (EXDATE) for dates that a recurrence
shouldn't happen.  ical.js was ignoring EXDATE and just overwriting
RRULE entries with the specific recurrence overrides.  Here are the
fixes:
- ical.js - added a recurrences[] array to store data about the specific
override.  added an exdate[] array to story data about exception dates.
(also added dtstamp, created, and lastmodified fields just for a bit
more completeness)
- calendarfetcher.js - changed the logic to handle the new recurrence
and exdate arrays correctly.  also added the ability to force a specific
start date to make testing easier. :)
- debug.js / node_helper.js - added pass-through code to pass the start
date override to calendarfetcher

Also added an optional monthly view to the calendar module (calendar.js
/ calendar.css).
@MichMich
Copy link
Collaborator

Could you please add some screenshots of the list format? To this conversation?

@mbalfour
Copy link
Author

image

The list format is the existing (unchanged) calendar view. Monthly is the new view. Here's a screenshot with both, with the startDate set to 12/03/2015 for a slightly more interesting screenshot.

NOTE: You can't currently use both simultaneously very easily like in this pic though, since the underlying calendarFetcher uses the same maxEntries and numDays across the views. That's something I'll look at separately a little later. :)

@MichMich
Copy link
Collaborator

I appreciate your effort, but currently I think your calendar overview isn't generic enough to implement into the default calendar module. Main contributor @KirAsh4 is already working on some other implementations. Feel free to join in on: https://forum.magicmirror.builders/topic/82/weekly-calendar/35

I suggest you modify you calendar to be used as a 3rd party module, and add it to the 3rd-party module list: https://github.com/MichMich/MagicMirror/wiki/MagicMirror²-Modules - This way others can still benefit from your work!

It would be great if you could send a new PR with only the recurrence handling bug fixes.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants