ag-grid-community
Version:
Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue
48 lines (47 loc) • 1.96 kB
TypeScript
import { BeanStub } from "../context/beanStub";
/** Adds drag listening onto an element. In AG Grid this is used twice, first is resizing columns,
* second is moving the columns and column groups around (ie the 'drag' part of Drag and Drop. */
export declare class DragService extends BeanStub {
private loggerFactory;
private mouseEventService;
private currentDragParams;
private dragging;
private mouseStartEvent;
private touchLastTime;
private touchStart;
private logger;
private dragEndFunctions;
private dragSources;
private init;
private removeAllListeners;
private removeListener;
removeDragSource(params: DragListenerParams): void;
isDragging(): boolean;
addDragSource(params: DragListenerParams, includeTouch?: boolean): void;
private onTouchStart;
private onMouseDown;
private addTemporaryEvents;
private isEventNearStartEvent;
private getFirstActiveTouch;
private onCommonMove;
private onTouchMove;
private onMouseMove;
private isOverFormFieldElement;
onTouchUp(touchEvent: TouchEvent, el: HTMLElement): void;
onMouseUp(mouseEvent: MouseEvent, el: HTMLElement): void;
onUpCommon(eventOrTouch: MouseEvent | Touch, el: HTMLElement): void;
}
export interface DragListenerParams {
/** After how many pixels of dragging should the drag operation start. Default is 4px. */
dragStartPixels?: number;
/** Dom element to add the drag handling to */
eElement: HTMLElement;
/** Some places may wish to ignore certain events, eg range selection ignores shift clicks */
skipMouseEvent?: (mouseEvent: MouseEvent) => boolean;
/** Callback for drag starting */
onDragStart: (mouseEvent: MouseEvent | Touch) => void;
/** Callback for drag stopping */
onDragStop: (mouseEvent: MouseEvent | Touch) => void;
/** Callback for mouse move while dragging */
onDragging: (mouseEvent: MouseEvent | Touch) => void;
}