dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
57 lines (56 loc) • 2.05 kB
TypeScript
import { PanelOptions } from '../dockview/options';
declare class TransferObject {
constructor();
}
export declare class PanelTransfer extends TransferObject {
readonly viewId: string;
readonly groupId: string;
readonly panelId: string;
constructor(viewId: string, groupId: string, panelId: string);
}
export declare class PaneTransfer extends TransferObject {
readonly viewId: string;
readonly paneId: string;
constructor(viewId: string, paneId: string);
}
export declare const DATA_KEY = "splitview/transfer";
export declare const isPanelTransferEvent: (event: DragEvent) => boolean;
export declare enum DragType {
DOCKVIEW_TAB = "dockview_tab",
EXTERNAL = "external_group_drag"
}
export interface DragItem {
itemId: string;
groupId: string;
}
export interface ExternalDragItem extends PanelOptions {
}
export declare type DataObject = DragItem | ExternalDragItem;
/**
* Determine whether this data belong to that of an event that was started by
* dragging a tab component
*/
export declare const isTabDragEvent: (data: any) => data is DragItem;
/**
* Determine whether this data belong to that of an event that was started by
* a custom drag-enable component
*/
export declare const isCustomDragEvent: (data: any) => data is ExternalDragItem;
export declare const extractData: (event: DragEvent) => DataObject | null;
/**
* A singleton to store transfer data during drag & drop operations that are only valid within the application.
*/
export declare class LocalSelectionTransfer<T> {
private static readonly INSTANCE;
private data?;
private proto?;
private constructor();
static getInstance<T>(): LocalSelectionTransfer<T>;
hasData(proto: T): boolean;
clearData(proto: T): void;
getData(proto: T): T[] | undefined;
setData(data: T[], proto: T): void;
}
export declare function getPanelData(): PanelTransfer | undefined;
export declare function getPaneData(): PaneTransfer | undefined;
export {};