jordium-gantt-vue3
Version:
A Vue 3 Gantt chart component for project management, task scheduling, resource planning, calendar, resource usage and timeline visualization.
22 lines (21 loc) • 877 B
TypeScript
/**
* dragOverRegistry - 任务行拖拽悬停事件委托注册表
*
* 解决性能问题:原来每个可见 TaskRow 各自注册一个 window 'task-row-drag-over' 监听器,
* 拖拽时 CustomEvent 广播需逐一触发所有监听器(O(n) 开销)。
*
* 改进后:改为单一全局监听器 + Map 直接查找(O(1)),
* 监听器数量从 N 个(可见行数)降为 1 个。
*/
type DragOverCallback = (mouseEvent: MouseEvent) => void;
/**
* 注册任务行的拖拽悬停回调。
* 第一次注册时自动绑定全局 window 监听器。
*/
export declare function registerDragOver(taskId: number | string, handler: DragOverCallback): void;
/**
* 注销任务行的拖拽悬停回调。
* 最后一个注销时自动解绑全局 window 监听器。
*/
export declare function unregisterDragOver(taskId: number | string): void;
export {};