dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
45 lines (44 loc) • 1.94 kB
TypeScript
import { Emitter, Event } from '../events';
import { GridviewPanelApiImpl, GridviewPanelApi } from './gridviewPanelApi';
import { IGroupPanel } from '../groupview/groupPanel';
import { GroupviewPanel } from '../groupview/groupviewPanel';
export interface TitleEvent {
readonly title: string;
}
export interface SuppressClosableEvent {
readonly suppressClosable: boolean;
}
export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' | 'visible'> {
readonly group: GroupviewPanel | undefined;
readonly isGroupActive: boolean;
readonly title: string;
readonly suppressClosable: boolean;
readonly onDidDirtyChange: Event<boolean>;
close: () => Promise<boolean>;
interceptOnCloseAction(interceptor: () => Promise<boolean>): void;
setTitle(title: string): void;
}
export declare class DockviewPanelApiImpl extends GridviewPanelApiImpl implements DockviewPanelApi {
private panel;
private _group;
private _interceptor;
readonly _onDidDirtyChange: Emitter<boolean>;
readonly onDidDirtyChange: Event<boolean>;
readonly _onDidTitleChange: Emitter<TitleEvent>;
readonly onDidTitleChange: Event<TitleEvent>;
readonly _titleChanged: Emitter<TitleEvent>;
readonly titleChanged: Event<TitleEvent>;
readonly _suppressClosableChanged: Emitter<SuppressClosableEvent>;
readonly suppressClosableChanged: Event<SuppressClosableEvent>;
get tryClose(): undefined | (() => Promise<boolean>);
get title(): string;
get suppressClosable(): boolean;
get isGroupActive(): boolean;
set group(value: GroupviewPanel | undefined);
get group(): GroupviewPanel | undefined;
constructor(panel: IGroupPanel, group: GroupviewPanel | undefined);
setTitle(title: string): void;
close(): Promise<boolean>;
interceptOnCloseAction(interceptor: () => Promise<boolean>): void;
dispose(): void;
}