@gravity-ui/graph
Version:
Modern graph editor component
29 lines (28 loc) • 1 kB
TypeScript
import { Emitter } from "../utils/Emitter";
import { Layer } from "./Layer";
export declare class Layers extends Emitter {
$root?: HTMLDivElement;
private attached;
private rootSize;
protected layers: Set<Layer>;
constructor($root?: HTMLDivElement);
createLayer<T extends Constructor<Layer> = Constructor<Layer>>(layerCtor: T, props: T extends Constructor<Layer<infer Props>> ? Omit<Props, "root"> & {
root?: Props["root"];
} : never): InstanceType<T>;
detachLayer(layer: Layer): void;
getRootSize(): {
width: number;
height: number;
};
getLayers(): Layer[];
attach(root?: HTMLDivElement): void;
start(root?: HTMLDivElement): void;
detach(full?: boolean): void;
unmount(): void;
protected resizeObserver: ResizeObserver;
protected handleRootResize: import("lodash").DebouncedFunc<() => void>;
destroy(): void;
protected destroyLayers(): void;
updateSize: () => void;
private updateRootSize;
}