@antv/x6
Version:
JavaScript diagramming library that uses SVG and HTML for rendering
98 lines (97 loc) • 5.89 kB
TypeScript
import { Dom } from '../../common';
import { type RectangleLike } from '../../geometry';
import { Cell } from '../../model/cell';
import type { Edge } from '../../model/edge';
import type { Node } from '../../model/node';
import type { Label, Port } from '../../model/port';
import type { CellAttrs, PortLayoutResult } from '../../registry';
import { CellView } from '../cell';
import type { EdgeView } from '../edge';
import { type MarkupJSONMarkup } from '../markup';
import type { EventDataMovingTargetNode, NodeViewEventArgs, NodeViewMouseEventArgs, NodeViewOptions, NodeViewPortCache, NodeViewPositionEventArgs } from './type';
export * from './type';
export declare class NodeView<Entity extends Node = Node, Options extends NodeViewOptions = NodeViewOptions> extends CellView<Entity, Options> {
protected portsCache: {
[id: string]: NodeViewPortCache;
};
static isNodeView(instance: any): instance is NodeView;
protected get [Symbol.toStringTag](): string;
protected getContainerClassName(): string;
protected updateClassName(e: Dom.MouseEnterEvent): void;
isNodeView(): this is NodeView;
confirmUpdate(flag: number, options?: any): number;
update(partialAttrs?: CellAttrs): void;
protected renderMarkup(): void;
protected renderJSONMarkup(markup: MarkupJSONMarkup | MarkupJSONMarkup[]): void;
render(): this;
resize(): void;
translate(): void;
rotate(): void;
protected getTranslationString(): string;
protected getRotationString(): string;
protected updateTransform(): void;
findPortElem(portId?: string, selector?: string): Element;
protected cleanPortsCache(): void;
protected removePorts(): void;
protected renderPorts(): void;
protected updateConnectedEdges(): void;
protected appendPorts(ports: Port[], zIndex: number, refs: Element[]): void;
protected getPortElement(port: Port): Element;
protected createPortElement(port: Port): Element;
protected updatePorts(): void;
protected updatePortGroup(groupName?: string): void;
protected applyPortTransform(element: Element, layout: PortLayoutResult, initialAngle?: number): void;
protected getPortMarkup(port: Port): import("../markup").MarkupType;
protected getPortLabelMarkup(label: Label): import("../markup").MarkupType;
protected existPortLabel(port: Port): import("../../registry").ComplexAttrs;
protected getEventArgs<E>(e: E): NodeViewMouseEventArgs<E>;
protected getEventArgs<E>(e: E, x: number, y: number): NodeViewPositionEventArgs<E>;
protected getPortEventArgs<E>(e: E, port: string, pos?: {
x: number;
y: number;
}): NodeViewPositionEventArgs<E> | NodeViewMouseEventArgs<E>;
notifyMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void;
notifyMouseMove(e: Dom.MouseMoveEvent, x: number, y: number): void;
notifyMouseUp(e: Dom.MouseUpEvent, x: number, y: number): void;
notifyPortEvent(name: string, e: Dom.EventObject, pos?: {
x: number;
y: number;
}): void;
onClick(e: Dom.ClickEvent, x: number, y: number): void;
onDblClick(e: Dom.DoubleClickEvent, x: number, y: number): void;
onContextMenu(e: Dom.ContextMenuEvent, x: number, y: number): void;
onMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void;
onMouseMove(e: Dom.MouseMoveEvent, x: number, y: number): void;
onMouseUp(e: Dom.MouseUpEvent, x: number, y: number): void;
onMouseOver(e: Dom.MouseOverEvent): void;
onMouseOut(e: Dom.MouseOutEvent): void;
onMouseEnter(e: Dom.MouseEnterEvent): void;
onMouseLeave(e: Dom.MouseLeaveEvent): void;
onMouseWheel(e: Dom.EventObject, x: number, y: number, delta: number): void;
onMagnetClick(e: Dom.MouseUpEvent, magnet: Element, x: number, y: number): void;
onMagnetDblClick(e: Dom.DoubleClickEvent, magnet: Element, x: number, y: number): void;
onMagnetContextMenu(e: Dom.ContextMenuEvent, magnet: Element, x: number, y: number): void;
onMagnetMouseDown(e: Dom.MouseDownEvent, magnet: Element, x: number, y: number): void;
onCustomEvent(e: Dom.MouseDownEvent, name: string, x: number, y: number): void;
protected prepareEmbedding(e: Dom.MouseMoveEvent): void;
processEmbedding(e: Dom.MouseMoveEvent, data: EventDataMovingTargetNode): void;
clearEmbedding(data: EventDataMovingTargetNode): void;
finalizeEmbedding(e: Dom.MouseUpEvent, data: EventDataMovingTargetNode): void;
getDelegatedView(): NodeView<Node<import("../../model/node").NodeProperties>, NodeViewOptions>;
protected validateMagnet(cellView: CellView, magnet: Element, e: Dom.MouseDownEvent | Dom.MouseEnterEvent): boolean;
protected startMagnetDragging(e: Dom.MouseDownEvent, x: number, y: number): void;
protected startConnectting(e: Dom.MouseDownEvent, magnet: Element, x: number, y: number): void;
protected getDefaultEdge(sourceView: CellView, sourceMagnet: Element): Edge;
protected createEdgeFromMagnet(magnet: Element, x: number, y: number): EdgeView;
protected dragMagnet(e: Dom.MouseMoveEvent, x: number, y: number): void;
protected stopMagnetDragging(e: Dom.MouseUpEvent, x: number, y: number): void;
protected notifyUnhandledMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void;
protected notifyNodeMove<Key extends keyof NodeViewEventArgs>(name: Key, e: Dom.MouseMoveEvent | Dom.MouseUpEvent, x: number, y: number, cell: Cell): void;
protected getRestrictArea(view?: NodeView): RectangleLike | null;
protected startNodeDragging(e: Dom.MouseDownEvent, x: number, y: number): void;
protected dragNode(e: Dom.MouseMoveEvent, x: number, y: number): void;
protected autoOffsetNode(): void;
protected stopNodeDragging(e: Dom.MouseUpEvent, x: number, y: number): void;
protected autoScrollGraph(x: number, y: number): void;
}
export declare const NodeViewToStringTag: string;