dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
66 lines (65 loc) • 2.08 kB
TypeScript
import { DockviewApi } from '../api/component.api';
import { DockviewGroupPanelApi } from '../api/dockviewGroupPanelApi';
import { DockviewPanelApi } from '../api/dockviewPanelApi';
import { PanelParameters } from '../framwork';
import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
import { DockviewGroupLocation } from './dockviewGroupPanelModel';
import { IDockviewPanel } from './dockviewPanel';
import { DockviewHeaderPosition } from './options';
import { ITabGroup } from './tabGroup';
export interface IGroupPanelBaseProps<T extends {
[index: string]: any;
} = any> extends PanelParameters<T> {
api: DockviewPanelApi;
containerApi: DockviewApi;
}
export type TabLocation = 'header' | 'headerOverflow';
export type IDockviewPanelHeaderProps<T extends {
[index: string]: any;
} = any> = IGroupPanelBaseProps<T> & {
tabLocation: TabLocation;
};
export type IDockviewPanelProps<T extends {
[index: string]: any;
} = any> = IGroupPanelBaseProps<T>;
export interface IDockviewHeaderActionsProps {
api: DockviewGroupPanelApi;
containerApi: DockviewApi;
panels: IDockviewPanel[];
activePanel: IDockviewPanel | undefined;
isGroupActive: boolean;
group: DockviewGroupPanel;
headerPosition: DockviewHeaderPosition;
location?: DockviewGroupLocation;
}
export interface IGroupHeaderProps {
api: DockviewGroupPanelApi;
containerApi: DockviewApi;
group: IDockviewGroupPanel;
}
export interface IWatermarkPanelProps {
containerApi: DockviewApi;
group?: IDockviewGroupPanel;
}
export interface DockviewReadyEvent {
api: DockviewApi;
}
export interface ITabGroupChipRenderer {
readonly element: HTMLElement;
init(params: {
tabGroup: ITabGroup;
api: DockviewApi;
}): void;
update?(params: {
tabGroup: ITabGroup;
}): void;
dispose(): void;
}
export interface IGroupDragGhostRenderer {
readonly element: HTMLElement;
init(params: {
group: IDockviewGroupPanel;
api: DockviewApi;
}): void;
dispose?(): void;
}