Enables all-day event drag and drop

Implements comprehensive drag and drop for all-day events, allowing movement within the header and conversion to timed events when dragged into the calendar grid.

Optimizes column detection with a cached bounding box strategy, improving performance and accuracy. Refactors event conversion logic and renames related event bus events for clarity.
This commit is contained in:
Janus C. H. Knudsen 2025-09-19 00:20:30 +02:00
parent f1d04ae12e
commit 0b7499521e
6 changed files with 338 additions and 106 deletions

View file

@ -133,7 +133,7 @@ eventBus.on('header:mouseover', (event) => {
if (draggedElement) {
console.log('🎯 Converting to all-day for date:', targetDate);
this.eventBus.emit('drag:convert-to-allday', {
this.eventBus.emit('drag:convert-to-allday_event', {
targetDate,
originalElement: draggedElement,
headerRenderer: (event as CustomEvent).detail.headerRenderer