dockview-core
Version:
Zero dependency layout manager supporting tabs, grids and splitviews
86 lines (85 loc) • 3.35 kB
TypeScript
import { IDisposable, CompositeDisposable } from '../../../lifecycle';
import { Event } from '../../../events';
import { Tab } from '../tab/tab';
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
import { IDockviewPanel } from '../../dockviewPanel';
import { DockviewComponent } from '../../dockviewComponent';
import { WillShowOverlayLocationEvent } from '../../dockviewGroupPanelModel';
export interface TabDropIndexEvent {
readonly event: DragEvent;
readonly index: number;
}
export interface TabDragEvent {
readonly nativeEvent: DragEvent;
readonly panel: IDockviewPanel;
}
export interface GroupDragEvent {
readonly nativeEvent: DragEvent;
readonly group: DockviewGroupPanel;
}
export interface ITabsContainer extends IDisposable {
readonly element: HTMLElement;
readonly panels: string[];
readonly size: number;
readonly onDrop: Event<TabDropIndexEvent>;
readonly onTabDragStart: Event<TabDragEvent>;
readonly onGroupDragStart: Event<GroupDragEvent>;
readonly onWillShowOverlay: Event<WillShowOverlayLocationEvent>;
hidden: boolean;
delete(id: string): void;
indexOf(id: string): number;
setActive(isGroupActive: boolean): void;
setActivePanel(panel: IDockviewPanel): void;
isActive(tab: Tab): boolean;
closePanel(panel: IDockviewPanel): void;
openPanel(panel: IDockviewPanel, index?: number): void;
setRightActionsElement(element: HTMLElement | undefined): void;
setLeftActionsElement(element: HTMLElement | undefined): void;
setPrefixActionsElement(element: HTMLElement | undefined): void;
show(): void;
hide(): void;
}
export declare class TabsContainer extends CompositeDisposable implements ITabsContainer {
private readonly accessor;
private readonly group;
private readonly _element;
private readonly tabs;
private readonly rightActionsContainer;
private readonly leftActionsContainer;
private readonly preActionsContainer;
private readonly voidContainer;
private rightActions;
private leftActions;
private preActions;
private _hidden;
private dropdownPart;
private _overflowTabs;
private readonly _dropdownDisposable;
private readonly _onDrop;
readonly onDrop: Event<TabDropIndexEvent>;
get onTabDragStart(): Event<TabDragEvent>;
private readonly _onGroupDragStart;
readonly onGroupDragStart: Event<GroupDragEvent>;
private readonly _onWillShowOverlay;
readonly onWillShowOverlay: Event<WillShowOverlayLocationEvent>;
get panels(): string[];
get size(): number;
get hidden(): boolean;
set hidden(value: boolean);
get element(): HTMLElement;
constructor(accessor: DockviewComponent, group: DockviewGroupPanel);
show(): void;
hide(): void;
setRightActionsElement(element: HTMLElement | undefined): void;
setLeftActionsElement(element: HTMLElement | undefined): void;
setPrefixActionsElement(element: HTMLElement | undefined): void;
isActive(tab: Tab): boolean;
indexOf(id: string): number;
setActive(_isGroupActive: boolean): void;
delete(id: string): void;
setActivePanel(panel: IDockviewPanel): void;
openPanel(panel: IDockviewPanel, index?: number): void;
closePanel(panel: IDockviewPanel): void;
private updateClassnames;
private toggleDropdown;
}