@gravity-ui/graph
Version:
Modern graph editor component
44 lines (43 loc) • 1.65 kB
TypeScript
import { EventedComponent } from "../../components/canvas/EventedComponent/EventedComponent";
import { TGraphLayerContext } from "../../components/canvas/layers/graphLayer/GraphLayer";
import { Component } from "../../lib";
import { TComponentProps, TComponentState } from "../../lib/Component";
import { ComponentDescriptor } from "../../lib/CoreComponent";
export type TCameraProps = TComponentProps & {
root?: HTMLDivElement;
children: ComponentDescriptor[];
};
export declare class Camera extends EventedComponent<TCameraProps, TComponentState, TGraphLayerContext> {
private camera;
private ownerDocument;
private lastDragEvent?;
private removeAutoPanScheduler?;
private lastMouseEvent?;
constructor(props: TCameraProps, parent: Component);
private handleCameraStateChange;
protected handleClick: () => void;
protected setRoot(): void;
protected addWheelListener(root?: HTMLDivElement): void;
protected propsChanged(nextProps: TCameraProps): void;
protected unmount(): void;
private startAutoPanning;
private stopAutoPanning;
private handleMouseMoveForAutoPan;
private performAutoPan;
private handleMouseDownEvent;
private onDragStart;
private onDragUpdate;
private onDragEnd;
/**
* Handles trackpad swipe gestures for camera movement
*/
private handleTrackpadMove;
/**
* Handles zoom behavior for both trackpad pinch and mouse wheel
*/
private handleWheelZoom;
private handleWheelEvent;
protected moveWithEdges(deltaX: number, deltaY: number): void;
render(): void;
updateChildren(): ComponentDescriptor[];
}