UNPKG

dockview-core

Version:

Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript

39 lines (38 loc) 1.83 kB
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>;