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

First prototype to show tasks on calendar and redirect to tasks app #1798

Merged
merged 11 commits into from
Apr 17, 2020

Conversation

bfritscher
Copy link
Contributor

This is a start to address issue #28 . Feedback is welcome.

image

@bfritscher
Copy link
Contributor Author

Currently changing the settings to display the tasks requires a refresh of the page. As the eventobjects of the current time ranges are already cached. Is there an easy way to force requery of the time ranges?

@georgehrke georgehrke added the 2. developing Work in progress label Jan 13, 2020
@georgehrke georgehrke added this to the 2.1.0 milestone Jan 13, 2020
@georgehrke
Copy link
Member

georgehrke commented Jan 13, 2020

Currently changing the settings to display the tasks requires a refresh of the page. As the eventobjects of the current time ranges are already cached. Is there an easy way to force requery of the time ranges?

There is a fetchedTimeRanges store. You will have to add a mutation to reset the entire store. After that, if you increment the modificationCount, it will force fullCalendar to rerender and since there are no time-ranges, it will fetch them from the server.

@georgehrke
Copy link
Member

@bfritscher Thank you very much for this pull-request :)
I will give this a proper in-depth review later today.

css/fullcalendar.scss Outdated Show resolved Hide resolved
src/models/calendarObject.js Outdated Show resolved Hide resolved
@jancborchardt
Copy link
Member

Only a superficial thing: It should be "Show tasks in calendar" (on → in) and it should be below "Enable birthday calendar" as it is sort of related since it adds a virtual kind of calendar.

@bfritscher
Copy link
Contributor Author

bfritscher commented Jan 15, 2020

Thanks for the feedback!
I agree that an icon would be good to indentify it as a task entry, instead of just a checkmark. Not sure that it should be a checkbox which will always be uncheckd except if complete. Complete is already shown by the fact that it has strikethrough and less opacity. Google also displays the same icon:
image
image

For the naming and position of the settings entry I am open to suggestions, enable... or show... It is worth mentioning to choose the phrasing that it is not only an additional virtual calendar. There are calendars with only events or only tasks, but there can also be calendars with events and tasks on the same calendar. In which case it could happend that no additional calendar is shown, and only new task entry appear on this calendar.

Thanks for the pointer on the timerange store.

@jancborchardt
Copy link
Member

Hmm ok, then maybe test with just the icon-checkmark (as per https://docs.nextcloud.com/server/17/developer_manual/design/icons.html) just so it looks like Nextcloud-style instead of Unicode. :)

@bpcurse
Copy link

bpcurse commented Jan 17, 2020

aCalendar (10Mio.+ downloads on gplay) uses unchecked checkboxes.
The checkmark might somehow be misleading to think that the task is done.

@jancborchardt
Copy link
Member

@bpcurse could you show a screenshot?

@bpcurse
Copy link

bpcurse commented Jan 19, 2020

@jancborchardt Sure, it looks like this (in dark mode):

Screenshot_aCalendar

Overdue items have a solid color (filled) checkbox with an exclamation mark in it.

@armaccloud
Copy link

Since tasks can have both a start- and a due date, it would be great if these task will actually occupy the space in the week view just like a calendar item does. This way you can visually see where in the day the task fits.

@jancborchardt
Copy link
Member

I’d agree with @bpcurse that using non-filled checkboxes or filled ones depending on state is best – just like the Tasks app indeed does, so we have symmetry there.

@armaccloud this seems like something for a follow-up pull request.

@PyLit
Copy link

PyLit commented Feb 3, 2020

I am looking forward to this feature. I hope it gets figured out soon. I saw the new separation of calendars with and without task lists. I assume this is related and it got me excited.

@georgehrke
Copy link
Member

Hey @bfritscher,
Could you give us a quick update on the status of this PR please? :)

@georgehrke
Copy link
Member

@bfritscher I would really like to include this in the next minor release.
Would you mind if i take over? :)

@bfritscher
Copy link
Contributor Author

@georgehrke I can set aside some time this evening to make an updated pull request.

Summary of the changes discussed above:

  • page refresh reset fetchedTimeRange store and increment modificaitonCount
  • icon show real state with a checkbox
  • "Show tasks in calendar" (did no get any other suggestion)
  • if available use start/end date
  • keep the current workaround for missing properties
  • resolve merge conflicts

@bfritscher bfritscher force-pushed the feature/28/tasks_on_calendar branch 2 times, most recently from eb9b14e to d171faa Compare March 10, 2020 20:29
@bfritscher
Copy link
Contributor Author

image

here a screenshot of second version with discussed changes

Copy link
Member

@juliusknorr juliusknorr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good to me now, except for the minor wording change.

@georgehrke
Copy link
Member

Yes, it looked good when i checked it earlier.
I'm planning to have a 2.0.3 early next week and afterwards i will merge it.

@Eye-Of-Agamotto
Copy link

Hey guys I am relatively new to github. Is it possible for normal users to pull requests such as this to our own nextcloud instances. I am very excited for this feature

@georgehrke georgehrke self-assigned this Apr 14, 2020
templates/main.php Outdated Show resolved Hide resolved
@georgehrke
Copy link
Member

As discussed further above, I improved the support for VTODO in calendar-js, so we no longer need the hack in /src/models/calendarObjects.js: nextcloud/calendar-js#131

I will take care of rebasing and resolving the small leftover ToDos tomorrow.

bfritscher and others added 5 commits April 16, 2020 10:18
- supports taks in mixed calendars or on task only calendars
- feature can be toggled in settings
- checkbox icon adapts to light and dark text and is checked if task is
done
- if start date is available event duration is set from start to due
date
- clicking on event redirects to task app

Signed-off-by: Boris Fritscher <[email protected]>
Signed-off-by: Boris Fritscher <[email protected]>
Signed-off-by: Georg Ehrke <[email protected]>
Signed-off-by: Georg Ehrke <[email protected]>
@georgehrke georgehrke added 3. to review Waiting for reviews and removed 2. developing Work in progress labels Apr 16, 2020
@georgehrke
Copy link
Member

@tcitworld Is this good to go from your side? :)

@georgehrke georgehrke linked an issue Apr 16, 2020 that may be closed by this pull request
6 tasks
@georgehrke georgehrke merged commit 30ca593 into nextcloud:master Apr 17, 2020
@georgehrke
Copy link
Member

@bfritscher Thanks a lot for this contribution!

@bfritscher
Copy link
Contributor Author

@georgehrke Thank you for the improvements and the merge!

@szaimen
Copy link
Contributor

szaimen commented Jun 2, 2020

When will the next calendar release happen? Would love to test this great new feature :)

@georgehrke
Copy link
Member

georgehrke commented Jun 2, 2020

2.1.0 will probably come end of June / early July. I had too many other things on my plate last month and didn't manage to work as much on the Calendar as i hoped to.

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

Successfully merging this pull request may close these issues.

Show tasks with DUE date in calendar [$380]