/** * 2020.03.23-Modified from https://github.com/Bernardo-Castilho/dragdroptouch, license: MIT,reason:Converting .js file to .ts file */ export declare class DragDropTouch { static readonly THRESHOLD = 5; static readonly OPACITY = 0.5; static readonly DBLCLICK = 500; static readonly DRAG_OVER_TIME = 300; static readonly CTX_MENU = 900; static readonly IS_PRESS_HOLD_MODE = true; static readonly PRESS_HOLD_AWAIT = 400; static readonly PRESS_HOLD_MARGIN = 25; static readonly PRESS_HOLD_THRESHOLD = 0; static readonly DRAG_HANDLE_ATTR = "data-drag-handle-selector"; static readonly rmvAttrs: string[]; static readonly kbdProps: string[]; static readonly ptProps: string[]; private static instance; dataTransfer: DataTransfer; lastClick: number; lastTouch: TouchEvent; lastTarget: HTMLElement; dragSource: HTMLElement; ptDown: { x: number; y: number; }; isDragEnabled: boolean; isDropZone: boolean; pressHoldInterval: any; img: any; imgCustom: any; imgOffset: any; dragoverTimer: any; touchTarget: EventTarget; touchmoveListener: EventListener; touchendListener: EventListener; listenerOpt: boolean | EventListenerOptions; constructor(); /** * Gets a reference to the @see:DragDropTouch singleton. */ static getInstance(): DragDropTouch; static isTouchDevice(): any; bindTouchmoveTouchend(e: TouchEvent): void; removeTouchmoveTouchend(): void; touchstart: (e: TouchEvent) => void; touchmoveOnDocument: (e: any) => void; touchmove: (e: TouchEvent) => void; touchendOnDocument: (e: any) => void; touchend: (e: any) => void; shouldHandle(e: any): boolean; shouldHandleMove(e: any): boolean; shouldHandlePressHoldMove(e: any): any; shouldCancelPressHoldMove(e: any): boolean; shouldStartDragging(e: any): boolean; getDragHandle(): string; matchSelector(element: any, selector: any): any; reset(): void; getPoint(e: any, page?: any): { x: any; y: any; }; getDelta(e: any): number; getTarget(e: TouchEvent): HTMLElement; createImage(e: any): void; destroyImage(): void; moveImage(e: any): void; copyProps(dst: any, src: any, props: any): void; copyStyle(src: any, dst: any): void; dispatchEvent(e: any, type: any, target: any): boolean; closestDraggable(e: any): any; setDragoverInterval(e: any): void; clearDragoverInterval(): void; } export declare namespace DragDropTouch { /** * Object used to hold the data that is being dragged during drag and drop operations. * * It may hold one or more data items of different types. For more information about * drag and drop operations and data transfer objects, see * HTML Drag and Drop API. * * This object is created automatically by the @see:DragDropTouch singleton and is * accessible through the @see:dataTransfer property of all drag events. */ class DataTransfer implements DataTransfer { files: any; items: any; private _data; /** * Gets or sets the type of drag-and-drop operation currently selected. * The value must be 'none', 'copy', 'link', or 'move'. */ private _dropEffect; get dropEffect(): any; set dropEffect(value: any); /** * Gets or sets the types of operations that are possible. * Must be one of 'none', 'copy', 'copyLink', 'copyMove', 'link', * 'linkMove', 'move', 'all' or 'uninitialized'. */ private _effectAllowed; get effectAllowed(): any; set effectAllowed(value: any); /** * Gets an array of strings giving the formats that were set in the @see:dragstart event. */ private _types; get types(): string[]; constructor(); /** * Removes the data associated with a given type. * * The type argument is optional. If the type is empty or not specified, the data * associated with all types is removed. If data for the specified type does not exist, * or the data transfer contains no data, this method will have no effect. * * @param type Type of data to remove. */ clearData(type: any): void; /** * Retrieves the data for a given type, or an empty string if data for that type does * not exist or the data transfer contains no data. * * @param type Type of data to retrieve. */ getData(type: any): any; /** * Set the data for a given type. * * For a list of recommended drag types, please see * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Recommended_Drag_Types. * * @param type Type of data to add. * @param value Data to add. */ setData(type: any, value: any): void; /** * Set the image to be used for dragging if a custom one is desired. * * @param img An image element to use as the drag feedback image. * @param offsetX The horizontal offset within the image. * @param offsetY The vertical offset within the image. */ setDragImage(img: any, offsetX: any, offsetY: any): void; } }