56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
|
|
import { IEventBus, IRenderContext } from '../types/CalendarTypes';
|
||
|
|
import { EventManager } from '../managers/EventManager';
|
||
|
|
import { IEventRenderer } from './EventRenderer';
|
||
|
|
import { DateService } from '../utils/DateService';
|
||
|
|
/**
|
||
|
|
* EventRenderingService - Render events i DOM med positionering using Strategy Pattern
|
||
|
|
* Håndterer event positioning og overlap detection
|
||
|
|
*/
|
||
|
|
export declare class EventRenderingService {
|
||
|
|
private eventBus;
|
||
|
|
private eventManager;
|
||
|
|
private strategy;
|
||
|
|
private dateService;
|
||
|
|
private dragMouseLeaveHeaderListener;
|
||
|
|
constructor(eventBus: IEventBus, eventManager: EventManager, strategy: IEventRenderer, dateService: DateService);
|
||
|
|
/**
|
||
|
|
* Render events in a specific container for a given period
|
||
|
|
*/
|
||
|
|
renderEvents(context: IRenderContext): Promise<void>;
|
||
|
|
private setupEventListeners;
|
||
|
|
/**
|
||
|
|
* Handle GRID_RENDERED event - render events in the current grid
|
||
|
|
*/
|
||
|
|
private handleGridRendered;
|
||
|
|
/**
|
||
|
|
* Handle VIEW_CHANGED event - clear and re-render for new view
|
||
|
|
*/
|
||
|
|
private handleViewChanged;
|
||
|
|
/**
|
||
|
|
* Setup all drag event listeners - moved from EventRenderer for better separation of concerns
|
||
|
|
*/
|
||
|
|
private setupDragEventListeners;
|
||
|
|
private setupDragStartListener;
|
||
|
|
private setupDragMoveListener;
|
||
|
|
private setupDragEndListener;
|
||
|
|
private setupDragColumnChangeListener;
|
||
|
|
private setupDragMouseLeaveHeaderListener;
|
||
|
|
private setupDragMouseEnterColumnListener;
|
||
|
|
private setupResizeEndListener;
|
||
|
|
private setupNavigationCompletedListener;
|
||
|
|
/**
|
||
|
|
* Re-render affected columns after drag to recalculate stacking/grouping
|
||
|
|
*/
|
||
|
|
private reRenderAffectedColumns;
|
||
|
|
/**
|
||
|
|
* Clear events in a single column's events layer
|
||
|
|
*/
|
||
|
|
private clearColumnEvents;
|
||
|
|
/**
|
||
|
|
* Render events for a single column
|
||
|
|
*/
|
||
|
|
private renderSingleColumn;
|
||
|
|
private clearEvents;
|
||
|
|
refresh(container?: HTMLElement): void;
|
||
|
|
}
|