dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
67 lines (66 loc) • 2.38 kB
TypeScript
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;
}