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
TypeScript
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>[];
}