Adds drag-drop support for calendar events

Introduces comprehensive drag-drop functionality for calendar events
- Implements DragDropManager to handle event dragging
- Adds new CoreEvents for drag-drop interactions
- Supports smooth interpolation and grid snapping
- Provides flexible event handling with ghost element strategy
This commit is contained in:
Janus C. H. Knudsen 2025-12-10 17:07:03 +01:00
parent a2b95515fd
commit 159b023f60
6 changed files with 334 additions and 2 deletions

View file

@ -7,6 +7,7 @@ import { HeaderDrawerManager } from '../core/HeaderDrawerManager';
import { IndexedDBContext } from '../storage/IndexedDBContext';
import { DataSeeder } from '../workers/DataSeeder';
import { ViewConfig } from '../core/ViewConfig';
import { DragDropManager } from '../managers/DragDropManager';
export class DemoApp {
private animator!: NavigationAnimator;
@ -21,7 +22,8 @@ export class DemoApp {
private scrollManager: ScrollManager,
private headerDrawerManager: HeaderDrawerManager,
private indexedDBContext: IndexedDBContext,
private dataSeeder: DataSeeder
private dataSeeder: DataSeeder,
private dragDropManager: DragDropManager
) {}
async init(): Promise<void> {
@ -50,6 +52,9 @@ export class DemoApp {
// Init header drawer
this.headerDrawerManager.init(this.container);
// Init drag-drop
this.dragDropManager.init(this.container);
// Setup event handlers
this.setupNavigation();
this.setupDrawerToggle();