UNPKG

dockview

Version:

Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support

57 lines (56 loc) 2.05 kB
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 {};