UNPKG

ngx-diagrams

Version:

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

83 lines (82 loc) 2.54 kB
import { BehaviorSubject, Observable } from 'rxjs'; import { NodeModel } from './node.model'; import { LinkModel } from './link.model'; import { BaseEntity, BaseEntityType } from '../base.entity'; import { DiagramEngine } from '../services/engine.service'; import { BaseModel } from './base.model'; import { Coords } from '../interfaces/coords.interface'; import { ID } from '../utils/tool-kit.util'; export declare class DiagramModel extends BaseEntity { private diagramEngine; links$: BehaviorSubject<{ [s: string]: LinkModel; }>; nodes$: BehaviorSubject<{ [s: string]: NodeModel; }>; zoom$: BehaviorSubject<number>; offsetX$: BehaviorSubject<number>; offsetY$: BehaviorSubject<number>; gridSize$: BehaviorSubject<number>; constructor(diagramEngine: DiagramEngine, id?: string); getNodes(): { [s: string]: NodeModel; }; getNode(id: ID): NodeModel | null; getLink(id: ID): LinkModel | null; getLinks(): { [s: string]: LinkModel; }; /** * Add a node to the diagram * @returns Inserted Node */ addNode(node: NodeModel): NodeModel; /** * Delete a node from the diagram */ deleteNode(nodeOrId: NodeModel | string): void; /** * Get nodes behaviour subject, use `.getValue()` for snapshot */ selectNodes(): Observable<{ [s: string]: NodeModel; }>; /** * Add link * @returns Newly created link */ addLink(link: LinkModel): LinkModel; /** * Delete link */ deleteLink(linkOrId: LinkModel | string): void; /** * Get links behaviour subject, use `.getValue()` for snapshot */ selectLinks(): Observable<{ [s: string]: LinkModel; }>; /** * Serialize the diagram model * @returns diagram model as a string */ /** * Load into the diagram model a serialized diagram */ setOffset(x: number, y: number): void; setOffsetX(x: number): void; getOffsetX(): number; selectOffsetX(): Observable<number>; setOffsetY(y: number): void; getOffsetY(): number; selectOffsetY(): Observable<number>; setZoomLevel(z: number): void; getZoomLevel(): number; selectZoomLevel(): Observable<number>; getDiagramEngine(): DiagramEngine; clearSelection(ignore?: BaseModel | null): void; getGridPosition({ x, y }: Coords): Coords; getSelectedItems(...filters: BaseEntityType[]): BaseModel[]; addAll(...models: BaseModel[]): BaseModel<BaseEntity>[]; }