dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
132 lines (131 loc) • 5.82 kB
TypeScript
import { IDockviewComponent, SerializedDockview } from '../dockview/dockviewComponent';
import { AddGroupOptions, AddPanelOptions, MovementOptions } from '../dockview/options';
import { Direction, GroupChangeEvent } from '../gridview/baseComponentGridview';
import { AddComponentOptions, IGridviewComponent, SerializedGridview } from '../gridview/gridviewComponent';
import { GridviewPanel, IGridviewPanel } from '../gridview/gridviewPanel';
import { IGroupPanel } from '../groupview/groupPanel';
import { AddPaneviewCompponentOptions, SerializedPaneview, IPaneviewComponent } from '../paneview/paneviewComponent';
import { IPaneviewPanel } from '../paneview/paneviewPanel';
import { AddSplitviewComponentOptions, ISplitviewComponent, SerializedSplitview, SplitviewComponentUpdateOptions } from '../splitview/splitviewComponent';
import { Orientation, Sizing } from '../splitview/core/splitview';
import { ISplitviewPanel } from '../splitview/splitviewPanel';
import { GroupviewPanel } from '../groupview/groupviewPanel';
import { Event } from '../events';
import { IDisposable } from '../lifecycle';
export interface CommonApi {
readonly height: number;
readonly width: number;
readonly onDidLayoutChange: Event<void>;
focus(): void;
layout(width: number, height: number): void;
resizeToFit(): void;
}
export declare class SplitviewApi implements CommonApi {
private readonly component;
get minimumSize(): number;
get maximumSize(): number;
get height(): number;
get width(): number;
get length(): number;
get onDidLayoutChange(): Event<void>;
get orientation(): Orientation;
constructor(component: ISplitviewComponent);
updateOptions(options: SplitviewComponentUpdateOptions): void;
removePanel(panel: ISplitviewPanel, sizing?: Sizing): void;
setVisible(panel: ISplitviewPanel, isVisible: boolean): void;
getPanels(): ISplitviewPanel[];
focus(): void;
getPanel(id: string): ISplitviewPanel | undefined;
setActive(panel: ISplitviewPanel): void;
layout(width: number, height: number): void;
addPanel(options: AddSplitviewComponentOptions): void;
resizeToFit(): void;
movePanel(from: number, to: number): void;
fromJSON(data: SerializedSplitview, deferComponentLayout?: boolean): void;
toJSON(): SerializedSplitview;
}
export declare class PaneviewApi implements CommonApi {
private readonly component;
get width(): number;
get height(): number;
get minimumSize(): number;
get maximumSize(): number;
get onDidLayoutChange(): Event<void>;
constructor(component: IPaneviewComponent);
getPanels(): IPaneviewPanel[];
removePanel(panel: IPaneviewPanel): void;
getPanel(id: string): IPaneviewPanel | undefined;
movePanel(from: number, to: number): void;
focus(): void;
layout(width: number, height: number): void;
addPanel(options: AddPaneviewCompponentOptions): IDisposable;
resizeToFit(): void;
fromJSON(data: SerializedPaneview, deferComponentLayout?: boolean): void;
toJSON(): SerializedPaneview;
}
export declare class GridviewApi implements CommonApi {
private readonly component;
get width(): number;
get height(): number;
get minimumHeight(): number;
get maximumHeight(): number;
get minimumWidth(): number;
get maximumWidth(): number;
get onGridEvent(): Event<GroupChangeEvent>;
get onDidLayoutChange(): Event<void>;
get panels(): GridviewPanel[];
get orientation(): Orientation;
set orientation(value: Orientation);
constructor(component: IGridviewComponent);
focus(): void;
layout(width: number, height: number, force?: boolean): void;
addPanel(options: AddComponentOptions): void;
removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
movePanel(panel: IGridviewPanel, options: {
direction: Direction;
reference: string;
size?: number;
}): void;
resizeToFit(): void;
getPanel(id: string): GridviewPanel | undefined;
toggleVisibility(panel: IGridviewPanel): void;
setVisible(panel: IGridviewPanel, visible: boolean): void;
setActive(panel: IGridviewPanel): void;
fromJSON(data: SerializedGridview, deferComponentLayout?: boolean): void;
toJSON(): SerializedGridview;
}
export declare class DockviewApi implements CommonApi {
private readonly component;
get width(): number;
get height(): number;
get minimumHeight(): number;
get maximumHeight(): number;
get minimumWidth(): number;
get maximumWidth(): number;
get size(): number;
get totalPanels(): number;
get onGridEvent(): Event<GroupChangeEvent>;
get onDidLayoutChange(): Event<void>;
get panels(): IGroupPanel[];
get groups(): GroupviewPanel[];
get activePanel(): IGroupPanel | undefined;
get activeGroup(): GroupviewPanel | undefined;
constructor(component: IDockviewComponent);
getTabHeight(): number | undefined;
setTabHeight(height: number | undefined): void;
focus(): void;
getPanel(id: string): IGroupPanel | undefined;
setActivePanel(panel: IGroupPanel): void;
layout(width: number, height: number, force?: boolean): void;
addPanel(options: AddPanelOptions): IGroupPanel;
removePanel(panel: IGroupPanel): void;
addEmptyGroup(options?: AddGroupOptions): void;
moveToNext(options?: MovementOptions): void;
moveToPrevious(options?: MovementOptions): void;
closeAllGroups(): Promise<boolean>;
removeGroup(group: GroupviewPanel): void;
resizeToFit(): void;
getGroup(id: string): GroupviewPanel | undefined;
fromJSON(data: SerializedDockview): void;
toJSON(): SerializedDockview;
}