Adds event resizing functionality to calendar

Introduces ResizeManager to handle dynamic event duration updates

Implements smooth height animation and grid-based snapping
Adds resize event tracking and timestamp display during resizing
Integrates resize handle creation and pointer event management
This commit is contained in:
Janus C. H. Knudsen 2025-12-10 22:16:40 +01:00
parent cacd312936
commit 026d83eb32
6 changed files with 314 additions and 1 deletions

View file

@ -9,6 +9,7 @@ import { DataSeeder } from '../workers/DataSeeder';
import { ViewConfig } from '../core/ViewConfig';
import { DragDropManager } from '../managers/DragDropManager';
import { EdgeScrollManager } from '../managers/EdgeScrollManager';
import { ResizeManager } from '../managers/ResizeManager';
export class DemoApp {
private animator!: NavigationAnimator;
@ -25,7 +26,8 @@ export class DemoApp {
private indexedDBContext: IndexedDBContext,
private dataSeeder: DataSeeder,
private dragDropManager: DragDropManager,
private edgeScrollManager: EdgeScrollManager
private edgeScrollManager: EdgeScrollManager,
private resizeManager: ResizeManager
) {}
async init(): Promise<void> {
@ -61,6 +63,9 @@ export class DemoApp {
const scrollableContent = this.container.querySelector('swp-scrollable-content') as HTMLElement;
this.edgeScrollManager.init(scrollableContent);
// Init resize
this.resizeManager.init(this.container);
// Setup event handlers
this.setupNavigation();
this.setupDrawerToggle();