Improves all-day event drag and drop

Handles dragging of both timed events (converting to all-day) and existing all-day events to different days.

Refactors all-day height recalculation to support animated transitions for a smoother user experience when all-day event counts change.

Uses event delegation for header mouseover detection.

Updates ScrollManager to listen for header height changes.
This commit is contained in:
Janus Knudsen 2025-08-25 21:20:51 +02:00
parent 6ede297bb5
commit f2763ad826
6 changed files with 186 additions and 48 deletions

View file

@ -56,7 +56,7 @@ swp-header-spacer {
border-bottom: 1px solid var(--color-border);
z-index: 5; /* Higher than time-axis to cover it when scrolling */
position: relative;
transition: height 300ms ease; /* Smooth height transitions */
transition: height 150ms ease; /* Smooth height transitions */
}
@ -151,7 +151,7 @@ swp-calendar-header {
top: 0;
z-index: 3; /* Lower than header-spacer so it slides under during horizontal scroll */
height: calc(var(--header-height) + var(--all-day-row-height)); /* Same calculation as spacers */
transition: height 0.3s ease;
transition: height 150ms ease;
/* Force scrollbar to appear for alignment */
overflow-y: scroll;