telerik / kendo-ux

UX assets for Kendo UI
Apache License 2.0
28 stars 21 forks source link

Scheduler week view multi-day events #10

Open danielkaradachki opened 5 years ago

danielkaradachki commented 5 years ago

Currently the multi-day events are rendered in the all day slots. Seems to be a common requirement to render them in the times content which arises two questions:

  1. How to indicate that the rendered element continues in the next/previous slot.
  2. How to layout the events so that it is obvious that they are the same.

Based on the current design and layout the result looks a bit strange: multiday

Will appreciate any suggestions on how to improve it. cc @tsvetomir @lkarakoleva

tsvetomir commented 5 years ago

Maybe we can center the up/down arrows, as it doesn't make sense to have a resize handle there anyway.

Outlook and Google Calendar put multi-day events in the all-day slot, possibly to avoid this problem precisely :)

lkarakoleva commented 5 years ago

The up/down arrow indicator is better to be center aligned, as @tsvetomir mentioned, it is not necessary to have resize handler there.

ASP.NET AJAX scheduler has multi-days events with up/down arrow indication.

tsvetomir commented 5 years ago

Whether or not the event goes to the all-day slot will be up to the developer. If the isAllDay flag is true it will be rendered there regardless of it's start and end dates.

The mixed case where only part of middle section goes in the all-day leads to excessive fragmentation. Maybe we can indicate the beginning of the event by scaling it to occupy only a portion of the all-day slot in the first and last days:

01.01 02.01 03.01
=== ====== =
lkarakoleva commented 5 years ago

I agree, if we show all multi-day events in all-day slot, it is an intuitive indication to scale the event according to the portion of the day it takes.

tsvetomir commented 5 years ago

Revisiting this issue, I think that scaling events in the all-day slots has a fundamental problem. It reduces the real estate of the event element, potentially down to a few pixels (isAllDay = true, 23:55 - 00:05).

Maybe the approach with printing out the start time is not so bad and can be easily customized through templates.