dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
36 lines (35 loc) • 1.7 kB
TypeScript
import { IDisposable } from '../lifecycle';
import { Event } from '../events';
import { DroptargetEvent, DropTargetTargetModel, Position, WillShowOverlayEvent } from '../dnd/droptarget';
import { DockviewComponentOptions } from './options';
export interface IRootDropTargetHost {
readonly id: string;
readonly element: HTMLElement;
readonly options: DockviewComponentOptions;
isGridEmpty(): boolean;
rootDropTargetOverrideTarget(): DropTargetTargetModel | undefined;
/**
* Build, fire, and return the verdict for an unhandled-drag-over event.
* Implemented on the component side so the service stays free of
* circular imports with the event class declared in dockviewComponent.
*/
dispatchUnhandledDragOver(nativeEvent: DragEvent | PointerEvent, position: Position): boolean;
}
export interface IRootDropTargetService extends IDisposable {
/** Merged stream from both DnD backends. */
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
/** Merged stream from both DnD backends. */
readonly onDrop: Event<DroptargetEvent>;
/** Apply changed options (dndEdges). */
setOptions(options: Partial<DockviewComponentOptions>): void;
}
export declare class RootDropTargetService implements IRootDropTargetService {
private readonly _html5Target;
private readonly _pointerTarget;
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
readonly onDrop: Event<DroptargetEvent>;
constructor(host: IRootDropTargetHost);
setOptions(options: Partial<DockviewComponentOptions>): void;
dispose(): void;
}
export declare const RootDropTargetModule: import("./modules").DockviewModule<IRootDropTargetHost>;