dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
45 lines (44 loc) • 1.5 kB
TypeScript
import { Event } from '../events';
import { CompositeDisposable } from '../lifecycle';
import { IDockviewComponent } from '../dockview/dockviewComponent';
import { ITabRenderer } from './types';
import { IGroupPanel } from './groupPanel';
import { GroupviewPanel } from './groupviewPanel';
import { DroptargetEvent } from '../dnd/droptarget';
export declare enum MouseEventKind {
CLICK = "CLICK",
CONTEXT_MENU = "CONTEXT_MENU"
}
export interface LayoutMouseEvent {
kind: MouseEventKind;
event: MouseEvent;
panel?: IGroupPanel;
tab?: boolean;
}
export interface ITab {
panelId: string;
element: HTMLElement;
setContent: (element: ITabRenderer) => void;
onChanged: Event<LayoutMouseEvent>;
onDrop: Event<DroptargetEvent>;
setActive(isActive: boolean): void;
}
export declare class Tab extends CompositeDisposable implements ITab {
panelId: string;
private readonly accessor;
private group;
private _element;
private droptarget;
private content?;
private readonly _onChanged;
readonly onChanged: Event<LayoutMouseEvent>;
private readonly _onDropped;
readonly onDrop: Event<DroptargetEvent>;
private readonly panelTransfer;
get element(): HTMLElement;
private iframes;
constructor(panelId: string, accessor: IDockviewComponent, group: GroupviewPanel);
setActive(isActive: boolean): void;
setContent(part: ITabRenderer): void;
dispose(): void;
}