dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
39 lines (38 loc) • 1.83 kB
TypeScript
import { IDisposable } from '../lifecycle';
import { DockviewGroupPanel } from './dockviewGroupPanel';
import { EdgeGroupPosition } from './dockviewShell';
/**
* EdgeGroupService is a pure registry: it tracks which positions are
* occupied and owns each edge group's per-instance cleanup disposable.
*
* The ShellManager (layout infrastructure) and the addEdgeGroup
* orchestration remain on DockviewComponent.
*/
export interface IEdgeGroupServiceHost {
}
export interface IEdgeGroupService extends IDisposable {
add(position: EdgeGroupPosition, group: DockviewGroupPanel, autoCollapseDisposable: IDisposable): void;
remove(position: EdgeGroupPosition): void;
get(position: EdgeGroupPosition): DockviewGroupPanel | undefined;
has(position: EdgeGroupPosition): boolean;
hasAny(): boolean;
entries(): IterableIterator<[EdgeGroupPosition, DockviewGroupPanel]>;
includes(group: DockviewGroupPanel): boolean;
findPositionOf(group: DockviewGroupPanel): EdgeGroupPosition | undefined;
disposeAll(): void;
}
export declare class EdgeGroupService implements IEdgeGroupService {
private readonly _edgeGroups;
private readonly _edgeGroupDisposables;
add(position: EdgeGroupPosition, group: DockviewGroupPanel, autoCollapseDisposable: IDisposable): void;
remove(position: EdgeGroupPosition): void;
get(position: EdgeGroupPosition): DockviewGroupPanel | undefined;
has(position: EdgeGroupPosition): boolean;
hasAny(): boolean;
entries(): IterableIterator<[EdgeGroupPosition, DockviewGroupPanel]>;
includes(group: DockviewGroupPanel): boolean;
findPositionOf(group: DockviewGroupPanel): EdgeGroupPosition | undefined;
disposeAll(): void;
dispose(): void;
}
export declare const EdgeGroupModule: import("./modules").DockviewModule<IEdgeGroupServiceHost>;