nextcloud / tasks

:white_check_mark: Tasks app for Nextcloud
https://apps.nextcloud.com/apps/tasks
GNU Affero General Public License v3.0
571 stars 99 forks source link

Use calendar-js #1739

Open raimund-schluessler opened 3 years ago

raimund-schluessler commented 3 years ago

For proper repeating tasks #34 and timezone support #1233, it is probably better to use calendar-js instead of reinventing the wheel here.

Extarys commented 3 years ago

Do you mean use the calendar-js library to calculate the date/time properly according to the timezone of the user?

I'm not sure what is the link between repeating tasks and calendar-js though, as repeating tasks options are VCALENDAR parameters that are sent by the client. Or do you mean using calendar-js as the datetime picker when editing a task?

Note that I'm not familiar with this app yet, I cloned it today and took a quick look. Any enlightenment you can provide will be appreciated.

raimund-schluessler commented 3 years ago

calendar-js is kind of the backbone of the Calendar app and is used to parse the CalDAV data coming from the server. It takes care of the timezone handling, but also of recurrence calculations, i.e. create events on the respective days given the rules in the CalDAV data. Using calendar-js for Tasks as well would help in implementing repeating tasks support, as the necessary calculations are implemented in calendar-js already (although some adjustments might be necessary).

calendar-js would be used to replace / enhance the current task model: https://github.com/nextcloud/tasks/blob/master/src/models/task.js