dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
42 lines (41 loc) • 1.49 kB
TypeScript
import { DockviewPanelApi } from '../api/groupPanelApi';
import { Event } from '../events';
import { IDisposable } from '../lifecycle';
import { HeaderPartInitParameters } from './types';
import { IPanel, PanelInitParameters, PanelUpdateEvent, Parameters } from '../panel/types';
import { GroupviewPanel } from './groupviewPanel';
import { IGroupPanelView } from '../dockview/defaultGroupPanelView';
export interface IGroupPanelInitParameters extends PanelInitParameters, HeaderPartInitParameters {
view: IGroupPanelView;
}
export declare type GroupPanelUpdateEvent = PanelUpdateEvent<{
params?: Parameters;
title?: string;
suppressClosable?: boolean;
}>;
export interface IGroupPanel extends IDisposable, IPanel {
readonly view?: IGroupPanelView;
readonly group?: GroupviewPanel;
readonly api: DockviewPanelApi;
readonly title: string;
readonly suppressClosable: boolean;
updateParentGroup(group: GroupviewPanel, isGroupActive: boolean): void;
setDirty(isDirty: boolean): void;
close?(): Promise<boolean>;
init(params: IGroupPanelInitParameters): void;
onDidStateChange: Event<void>;
toJSON(): GroupviewPanelState;
update(event: GroupPanelUpdateEvent): void;
}
export interface GroupviewPanelState {
id: string;
view?: any;
title: string;
params?: {
[key: string]: any;
};
suppressClosable?: boolean;
state?: {
[key: string]: any;
};
}