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

use FullCalendar navLinks #796

Closed
jficz opened this issue Apr 11, 2018 · 20 comments · Fixed by #1705
Closed

use FullCalendar navLinks #796

jficz opened this issue Apr 11, 2018 · 20 comments · Fixed by #1705
Labels
3. to review Waiting for reviews enhancement New feature request
Milestone

Comments

@jficz
Copy link

jficz commented Apr 11, 2018

All newly created events are set to "All day Event" by default.

I don't know how about you, but a vast majority of my calendar events are not All day events.

I'd like the All day event to be unchecked when creating a new event.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Mannshoch
Copy link

Have the same Problem. In my opinian I would like to have the Posibility to modify the template for new events. e.g. I need around two remembertimes. one 1h before start and one around 26h before start.

@georgehrke
Copy link
Member

@Mannshoch please see #184

@georgehrke
Copy link
Member

@cptMikky You are aware that in the day and week view, you can just drag to create a time-range?

Furthermore you can just click the disabled time input, without disabling all-day first.

@jficz
Copy link
Author

jficz commented Apr 23, 2018

@georgehrke I personally mostly use Month view and even though clicking seems to do what you describe, it's rather non-intuitive and doesn't work with keyboard, i.e. you cannot "tab" into the field.

@jficz
Copy link
Author

jficz commented Apr 23, 2018

It would, however, be quite neat to have the same drag capability in month view :) Just a narrow column in each day cell where one could simply drag in a pre-defined interval and steps (say 9-17, 30min steps, you get the point). The cells are big enough for this.

@georgehrke
Copy link
Member

It would, however, be quite neat to have the same drag capability in month view :)

You do have the same capability to create multi day events.

Just a narrow column in each day cell where one could simply drag in a pre-defined interval and steps (say 9-17, 30min steps, you get the point). The cells are big enough for this.

What about events outside 9-17? what if you have only three events 10-10:15 10:15-10:30 10:30-10:45 10:45 - 11? They would be barely readable if you had that grid.

doesn't work with keyboard, i.e. you cannot "tab" into the field.

Maybe we should introduce a keyboard shortcut.

cc @nextcloud/designers

@jancborchardt
Copy link
Member

Default in day and week view should be starting time wherever you click. Full day event is fine forr month view, since you click the whole day. And this is how it works right now.

@jficz
Copy link
Author

jficz commented Apr 24, 2018

@georgehrke

Just a narrow column in each day cell where one could simply drag in a pre-defined interval and steps (say 9-17, 30min steps, you get the point). The cells are big enough for this.

What about events outside 9-17? what if you have only three events 10-10:15 10:15-10:30 10:30-10:45 10:45 - 11? They would be barely readable if you had that grid.

You misunderstood - the narrow columnt would be just an input element, see the pink rectangle in the pictures below- one could click-drag inside the rectangle to create a timespan just like in day view, only smaller. An instant tooltip would probably be needed whenever one hovers above it with the time the current cursor position represent within that day.

before
after

Maybe we should introduce a keyboard shortcut.

wouldn't it be much easier to just leave the All-Day checkbox unchecked?

@jancborchardt
Not even multi-day events usualy start and end at midnight on the respective starting and ending days. Also, I have yet to encounter a calendar client that would behave like this. Not a single app I have used, except Nextcloud/ownCloud calendar, forces all-day events on multiweek/month view and I don't see how would one expect such a behavior. I mean, how many times does one create end-to-end all day events, ever?

@georgehrke
Copy link
Member

Maybe we should introduce a keyboard shortcut.

wouldn't it be much easier to just leave the All-Day checkbox unchecked?

I see absolutely no issue with keyboard usage, because the tabulator index is the following:

  1. Title
  2. Calendar
  3. All-Day checkbox
  4. Start Date
  5. Start Time
  6. End Date
  7. End Time

So if you want to create a timed event, you can simply hit the space key when you reach the all day check box while tabbing.


I mean, how many times does one create end-to-end all day events, ever?

I create them rather often. And if i create a timed event, i have to set a custom time anyway, so i don't see how one could save time here.


one could click-drag inside the rectangle to create a timespan just like in day view, only smaller. An instant tooltip would probably be needed whenever one hovers above it with the time the current cursor position represent within that day.

I'm not sure about that proposal. Any input @nextcloud/designers ?

@jficz
Copy link
Author

jficz commented Apr 25, 2018

I see absolutely no issue with keyboard usage, because the tabulator index is the following:
...
So if you want to create a timed event, you can simply hit the space key when you reach the all day check box while tabbing.

I didn't know that unitl you pointed it out as there is no visual clue (at least in Firefox 59 and Chromium 66) that the checkbox is actually selected and the tab order is different from visual order which makes it even more counter-intuitive.

Also this doesn't make the problem go away, it just trades extraneous clicks for extraneous key presses while the original issue remains.

I mean, how many times does one create end-to-end all day events, ever?

I create them rather often. And if i create a timed event, i have to set a custom time anyway, so i don't see how one could save time here.

I don't, which ironcially makes the default being wrong in average case anyway.

@jancborchardt
Copy link
Member

The proposal seems very finnicky and more confusing than discoverable.

How do Google Calendar and iOS Calendar do it?

@jficz
Copy link
Author

jficz commented Apr 25, 2018

The clickdrag proposal was just a wild idea.

Anyway, speaking of Google Calendar - it has different UI with reversed logic but it does something even better: it opens a day in Day View when clicking on the date. Nextcloud, on the other hand, immediately creates a new event regardless where in the day cell you click, which, together with default all-day, makes long-term planning a PITA.

If Nextcloud did this, the default all-day would be much less of an issue.

@jancborchardt
Copy link
Member

How about in the month view we simply remember what was chosen last?

  • By default it’s all-day events
  • If in the new event dialog you uncheck »All day« the default is switched to the time – say 10:00 – 11:00 by default.
  • When you create another event and check »All day« again, the default is switched to all day again.

@jficz
Copy link
Author

jficz commented Jun 4, 2018

Sounds reasonable.

I like the Gmail date-click feature too though but I guess it deserves its own issue.

@newhinton
Copy link
Contributor

newhinton commented Jul 14, 2018

@cptMikky @jancborchardt @georgehrke What is the state of this issue? I also have the same problem with the current behaviour. I would try to implement the changes mentioned by @jancborchardt if nobody has done so. Should i open a PR for it?

@jancborchardt
Copy link
Member

@newhinton yes, that sounds great! :)

Are you coming to our conference in Berlin end of August btw? https://nextcloud.com/conf – there’s possibility of travel funding for contributors, infos on the page. :)

@newhinton
Copy link
Contributor

@jancborchardt Yeah, a trip to berlin would be cool :D I will come over for a few days! :)

@newhinton
Copy link
Contributor

newhinton commented Jul 24, 2018

@georgehrke I am currently stuck at implementing this. I propagate the state from the backend to javascript, via a div-tag (which in itself is a workaround, but i'd suggest that we take a look at this in my future-pull-request). After that i toggle the all-day-checkbox appropriately.
Sadly, this does not work. My research showed that the eventsettings are stored in $scope.properties. If i edit those values, the ui changes accordingly. However, it does get buggy after storing them, the values are changing after the save.

I am observing the following:

  • open the edit/new-popover
  • check console-log where the current properties are shown
  • keep values from default and save
  • check console-log where the updated properties are shown
    -> those two objects are the same
  • reopen the same entry
    -> now the object changed and the date- and allday-value to different ones

Do you have any clue why this happens and what i am doing wrong?

Branch i'm working on

@georgehrke
Copy link
Member

FullCalendar 4 implemented a great new feature: navLinks
https://fullcalendar.io/docs/navLinks

This allows you to click the week number / day number and it will automatically take you into the day view, where you can create the event with a specified time.

@georgehrke georgehrke changed the title do not default new events "All day Event" use FullCalendar navLinks Sep 13, 2019
@georgehrke georgehrke added enhancement New feature request 1. to develop Accepted and waiting to be taken care of and removed enhancement-proposed labels Sep 13, 2019
@georgehrke georgehrke added this to the 2.0.0 beta4 milestone Sep 13, 2019
@georgehrke
Copy link
Member

We will have to implement navLinkDayClick and navLinkWeekClick to properly work with routing

@georgehrke georgehrke added 3. to review Waiting for reviews and removed 1. to develop Accepted and waiting to be taken care of labels Dec 5, 2019
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 enhancement New feature request
Projects
None yet
5 participants