UNPKG

dockview

Version:

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

67 lines (66 loc) 2.38 kB
import { IDisposable, CompositeDisposable } from '../../lifecycle'; import { Event } from '../../events'; import { ITab } from '../tab'; import { IGroupPanel } from '../groupPanel'; import { IDockviewComponent } from '../../dockview/dockviewComponent'; import { GroupviewPanel } from '../groupviewPanel'; export interface TabDropIndexEvent { event: DragEvent; readonly index: number; } export interface ITabsContainer extends IDisposable { readonly element: HTMLElement; readonly panels: string[]; readonly size: number; height: number | undefined; delete: (id: string) => void; indexOf: (id: string) => number; at: (index: number) => ITab; onDrop: Event<TabDropIndexEvent>; setActive: (isGroupActive: boolean) => void; setActivePanel: (panel: IGroupPanel) => void; isActive: (tab: ITab) => boolean; closePanel: (panel: IGroupPanel) => void; openPanel: (panel: IGroupPanel, index?: number) => void; setActionElement(element: HTMLElement | undefined): void; show(): void; hide(): void; } export declare class TabsContainer extends CompositeDisposable implements ITabsContainer { private accessor; private group; private readonly _element; private readonly tabContainer; private readonly voidContainer; private readonly actionContainer; private readonly voidDropTarget; private tabs; private selectedIndex; private active; private activePanel; private actions; private _height; private readonly _onDrop; readonly onDrop: Event<TabDropIndexEvent>; get panels(): string[]; get size(): number; get height(): number | undefined; set height(value: number | undefined); show(): void; hide(): void; setActionElement(element: HTMLElement | undefined): void; get element(): HTMLElement; isActive(tab: ITab): boolean; at(index: number): ITab; indexOf(id: string): number; constructor(accessor: IDockviewComponent, group: GroupviewPanel, options: { tabHeight?: number; }); setActive(isGroupActive: boolean): void; private addTab; delete(id: string): void; setActivePanel(panel: IGroupPanel): void; openPanel(panel: IGroupPanel, index?: number): void; closePanel(panel: IGroupPanel): void; dispose(): void; }