dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
41 lines (40 loc) • 1.61 kB
TypeScript
import { CompositeDisposable, IDisposable } from '../lifecycle';
export interface IDragAndDropObserverCallbacks {
onDragEnter: (e: DragEvent) => void;
onDragLeave: (e: DragEvent) => void;
onDrop: (e: DragEvent) => void;
onDragEnd: (e: DragEvent) => void;
onDragOver?: (e: DragEvent) => void;
}
export declare class DragAndDropObserver extends CompositeDisposable {
private element;
private callbacks;
private counter;
constructor(element: HTMLElement, callbacks: IDragAndDropObserverCallbacks);
private registerListeners;
}
export interface IDraggedCompositeData {
eventData: DragEvent;
dragAndDropData: any;
}
export interface ICompositeDragAndDropObserverCallbacks {
onDragEnter?: (e: IDraggedCompositeData) => void;
onDragLeave?: (e: IDraggedCompositeData) => void;
onDrop?: (e: IDraggedCompositeData) => void;
onDragOver?: (e: IDraggedCompositeData) => void;
onDragStart?: (e: IDraggedCompositeData) => void;
onDragEnd?: (e: IDraggedCompositeData) => void;
}
export declare class DragAndDrop extends CompositeDisposable {
private _onDragStart;
private _onDragEnd;
private static _instance;
static get INSTANCE(): DragAndDrop;
private transferData;
private constructor();
registerTarget(element: HTMLElement, callbacks: ICompositeDragAndDropObserverCallbacks): IDisposable;
registerDraggable(element: HTMLElement, draggedItemProvider: () => {
type: string;
id: string;
}, callbacks: ICompositeDragAndDropObserverCallbacks): IDisposable;
}