UNPKG

dockview

Version:

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

35 lines (34 loc) 1.01 kB
import { State } from '../api/panelApi'; import { IDisposable } from '../lifecycle'; import { LayoutPriority } from '../splitview/core/splitview'; /** * A key-value object of anything that is a valid JavaScript Object. */ export interface Parameters { [key: string]: any; } export interface PanelInitParameters { params: Parameters; state?: State; } export interface PanelUpdateEvent<T extends Parameters = Parameters> { params: Partial<T>; } export interface IPanel extends IDisposable { readonly id: string; init(params: PanelInitParameters): void; layout(width: number, height: number): void; update(event: PanelUpdateEvent<Parameters>): void; toJSON(): object; focus(): void; } export interface IFrameworkPart extends IDisposable { update(params: Parameters): void; } export interface BaseComponentOptions { id: string; component: string; params?: Parameters; snap?: boolean; priority?: LayoutPriority; }