31 lines
841 B
TypeScript
31 lines
841 B
TypeScript
|
|
/**
|
||
|
|
* EdgeScrollManager - Auto-scroll when dragging near edges
|
||
|
|
* Uses time-based scrolling with 2-zone system for variable speed
|
||
|
|
*/
|
||
|
|
import { IEventBus } from '../types/CalendarTypes';
|
||
|
|
export declare class EdgeScrollManager {
|
||
|
|
private eventBus;
|
||
|
|
private scrollableContent;
|
||
|
|
private timeGrid;
|
||
|
|
private draggedClone;
|
||
|
|
private scrollRAF;
|
||
|
|
private mouseY;
|
||
|
|
private isDragging;
|
||
|
|
private isScrolling;
|
||
|
|
private lastTs;
|
||
|
|
private rect;
|
||
|
|
private initialScrollTop;
|
||
|
|
private scrollListener;
|
||
|
|
private readonly OUTER_ZONE;
|
||
|
|
private readonly INNER_ZONE;
|
||
|
|
private readonly SLOW_SPEED_PXS;
|
||
|
|
private readonly FAST_SPEED_PXS;
|
||
|
|
constructor(eventBus: IEventBus);
|
||
|
|
private init;
|
||
|
|
private subscribeToEvents;
|
||
|
|
private startDrag;
|
||
|
|
private stopDrag;
|
||
|
|
private handleScroll;
|
||
|
|
private scrollTick;
|
||
|
|
}
|