UNPKG

ngx-diagrams

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.

97 lines (96 loc) 3.87 kB
import { ComponentFactoryResolver, ViewContainerRef, ComponentRef, RendererFactory2 } from '@angular/core'; import { AbstractNodeFactory } from '../factories/node.factory'; import { DiagramModel } from '../models/diagram.model'; import { NodeModel } from '../models/node.model'; import { AbstractLinkFactory } from '../factories/link.factory'; import { AbstractPortFactory } from '../factories/port.factory'; import { LinkModel } from '../models/link.model'; import { PortModel } from '../models/port.model'; import { BaseEntity } from '../base.entity'; import { AbstractLabelFactory } from '../factories/label.factory'; import { LabelModel } from '../models/label.model'; export declare class DiagramEngine { private resolver; private rendererFactory; private _renderer; private nodeFactories; private labelFactories; private linkFactories; private portFactories; private canvas$; diagramModel: DiagramModel; constructor(resolver: ComponentFactoryResolver, rendererFactory: RendererFactory2); createDiagram(): DiagramModel; registerDefaultFactories(): void; registerLabelFactory(labelFactory: AbstractLabelFactory): void; getLabelFactories(): { [s: string]: AbstractLabelFactory; }; getLabelFactory(type: string): AbstractLabelFactory; getFactoryForLabel(label: LabelModel): AbstractLabelFactory | null; generateWidgetForLabel(label: LabelModel, labelHost: ViewContainerRef): ComponentRef<LabelModel> | null; registerNodeFactory(nodeFactory: AbstractNodeFactory): void; getNodeFactories(): { [s: string]: AbstractNodeFactory; }; getNodeFactory(type: string): AbstractNodeFactory; getFactoryForNode(node: NodeModel): AbstractNodeFactory | null; generateWidgetForNode(node: NodeModel, nodesHost: ViewContainerRef): ComponentRef<NodeModel> | null; registerPortFactory(factory: AbstractPortFactory): void; getPortFactories(): { [s: string]: AbstractPortFactory<PortModel>; }; getPortFactory(type: string): AbstractPortFactory; getFactoryForPort(port: PortModel): AbstractPortFactory | null; generateWidgetForPort(port: PortModel, portsHost: ViewContainerRef): ComponentRef<PortModel> | null; getLinkFactories(): { [s: string]: AbstractLinkFactory; }; registerLinkFactory(factory: AbstractLinkFactory): void; getLinkFactory(type: string): AbstractLinkFactory; getFactoryForLink(link: LinkModel): AbstractLinkFactory | null; generateWidgetForLink(link: LinkModel, linksHost: ViewContainerRef): ComponentRef<LinkModel> | null; getNodeElement(node: NodeModel): HTMLElement; getNodePortElement(port: PortModel): HTMLElement; getPortCenter(port: PortModel): { x: number; y: number; }; /** * Calculate rectangular coordinates of the port passed in. */ getPortCoords(port: PortModel): { x: number; y: number; width: number; height: number; }; /** * Determine the width and height of the node passed in. * It currently assumes nodes have a rectangular shape, can be overriden for customised shapes. */ getNodeDimensions(node: NodeModel): { width: number; height: number; }; setCanvas(canvas: Element): void; getRelativeMousePoint(event: MouseEvent): { x: number; y: number; }; getRelativePoint(x: number, y: number): { x: number; y: number; }; getDiagramModel(): DiagramModel; isModelLocked(model: BaseEntity): boolean; /** * auto arrange the graph */ autoArrange(): void; /** * fit the canvas zoom levels to the elements contained. * @param additionalZoomFactor allow for further zooming out to make sure edges doesn't cut */ zoomToFit(additionalZoomFactor?: number): void; }