UNPKG

dockview

Version:

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

132 lines (131 loc) 5.82 kB
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; }