UNPKG

@docsvision/webclient

Version:

Type definitions for DocsVision WebClient scripts and extensions.

50 lines (49 loc) 2.1 kB
import React, { DragEvent as ReactDragEvent, DragEventHandler as ReactDragEventHandler } from 'react'; export declare type TDropEffects = 'copy' | 'move' | 'link' | 'none'; export interface IFileDropProps { className?: string; targetClassName?: string; draggingOverFrameClassName?: string; draggingOverTargetClassName?: string; frame?: HTMLElement | Document; onFrameDragEnter?: (event: DragEvent) => void; onFrameDragLeave?: (event: DragEvent) => void; onFrameDrop?: (event: DragEvent) => void; onDragOver?: ReactDragEventHandler<HTMLDivElement>; onDragLeave?: ReactDragEventHandler<HTMLDivElement>; onDrop?: (files: FileList | null, event: ReactDragEvent<HTMLDivElement>) => any; dropEffect?: TDropEffects; } export interface IFileDropState { draggingOverFrame: boolean; draggingOverTarget: boolean; } declare class FileDrop extends React.PureComponent<IFileDropProps, IFileDropState> { static defaultProps: { dropEffect: TDropEffects; frame: Document; className: string; targetClassName: string; draggingOverFrameClassName: string; draggingOverTargetClassName: string; }; frameDragCounter: number; constructor(props: IFileDropProps); static isIE: () => boolean; static eventHasFiles: (event: DragEvent | ReactDragEvent<HTMLElement>) => boolean; resetDragging: () => void; handleWindowDragOverOrDrop: (event: DragEvent) => void; handleFrameDrag: (event: DragEvent) => void; handleFrameDrop: (event: DragEvent) => void; handleDragOver: ReactDragEventHandler<HTMLDivElement>; handleDragLeave: ReactDragEventHandler<HTMLDivElement>; handleDrop: ReactDragEventHandler<HTMLDivElement>; handleMouseOver: (event: any) => void; stopFrameListeners: (frame: IFileDropProps['frame']) => void; startFrameListeners: (frame: IFileDropProps['frame']) => void; componentWillReceiveProps(nextProps: IFileDropProps): void; componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element; } export default FileDrop;