fullcalendar / fullcalendar

Full-sized drag & drop event calendar in JavaScript
https://fullcalendar.io
MIT License
18.58k stars 3.61k forks source link

Dragging an event to the bottom of the view after scrolling during the drag can make the scroll position jump #7285

Open developerEinpix opened 1 year ago

developerEinpix commented 1 year ago

Reduced Test Case

https://fullcalendar.io/docs/timeline-standard-view-demo

Do you understand that if a reduced test case is not provided, we will intentionally delay triaging of your ticket?

Which connector are you using (React/Angular/etc)?

No connector (vanilla JS)

Bug Description

In the above URL just arrange the events as below:

image

Then scroll the calendar to bottom and then try to move the event 2 and it will automatically jump to bottom.

Expected result: Calendar should not jump to the bottom automatically.

Video: https://www.loom.com/share/6a9ba47589904d49b71637b2e659cbf4

acerix commented 1 year ago

I tried the same but am not able to reproduce the issue. Is the browser Chrome?

If you can create a runnable demo with the events arranged so that it triggers the bug that would help.

developerEinpix commented 1 year ago

Hello @acerix, Thanks for the reply.

You can check the below link and follow the steps to re-produce the issue:

Demo Link: https://codepen.io/developerEinpix/pen/GRYWJWQ

Steps to re-produce: Take the task "event 4" and drag it down to the row "Auditorium T", use mouse scroll while dragging

Result: While scrolling around Auditorium U - Auditorium Z the screen jumps to top

Rarta commented 1 year ago

Dear @acerix,

Please take this issue very seriously because this is a core function to drag tasks from one row to another. I could reproduce the issue in 10 minutes by opening Calendar on your promo page (https://fullcalendar.io/docs/timeline-standard-view-demo). As well there was provided a video on how to reproduce it, so you should be able to reproduce it, just try to move tasks from top to bottom and then from bottom to top. Do it at an average user speed.

Note: We are using the latest Chrome version.

Thank you, we are looking forward to the fix very much.

acerix commented 1 year ago

Thanks for the details, I missed the scrolling during the dragging which seems to trigger the issue.

Rarta commented 1 year ago

Hello, can you please update us on the expected date to fix this issue?

linonetwo commented 1 year ago

You can try

/**
 * This prevent mouse wheel, but is necessary on mobile
 */
dragScroll: isMobile,

This fixes the issue for me in timeGridWeek, where when drag-to-create event, if you scroll using the mouse wheel, the position will jump back to where you starts dragging (can't move position using mouse wheel).

developerEinpix commented 1 year ago

@linonetwo No we could not use the dragScroll: false for web. It will prevent the calendar to scroll auto when someone wants to drag event on not visible area of the calendar.

linonetwo commented 1 year ago

But users can use the mouse wheel instead. (Though touch pad not working well)

Rarta commented 1 year ago

Hello. I understand that this could be a short-term workaround but as a professional product supplier, you should not recommend this solution as permanent. There are different users and they use different devices so we need a reliable and flexible solution for them.

I hope you understand, thanks.

Rarta commented 1 year ago

Hello. Any updates regarding this issue?