@mescius/dspdfviewer
Version:
Document Solutions PDF Viewer
37 lines (36 loc) • 1.38 kB
TypeScript
//@ts-ignore
/// <reference types="react" />
/**
* A helper class to manage drag-and-drop operations for ranges in a list.
* This class encapsulates all the logic needed to handle pointer events,
* detect collisions, and move ranges visually and logically within a container.
*
* @example
* // Initialize the helper with a callback to handle the range movement
* const helper = new RangeDragDropHelper((sourceIndex, targetIndex) => {
* console.log(`Move range from ${sourceIndex} to ${targetIndex}`);
* });
*
* // Attach event listeners to a range container
* <div
* onPointerDown={(event) => helper.onPointerDown(event, rangeIndex, isTouchEvent)}
* />
*
* @export
*/
export declare class RangeDragDropHelper {
private movePagesRange;
constructor(movePagesRange: (sourceIndex: number, targetIndex: number) => void);
private _dragStartInfo?;
private _waitTouchStartTimeout;
private _pointerupHandler;
private _pointerMoveHandler;
private _targetRangeElem;
private _targetRangeIndex;
private _rangesElementToReplace;
private _targetPlaceElement;
//@ts-ignore
onPointerDown(event: React.PointerEvent<HTMLDivElement> | React.TouchEvent<HTMLDivElement>, rangeIndex: number, isTouchEvent: boolean): void;
private _activatePagesRangeDrag;
private _removeInternalEventListeners;
}