ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
54 lines (53 loc) • 2.49 kB
TypeScript
import { Observable } from 'rxjs';
import { Coords } from '../interfaces/coords.interface';
import { Dimensions } from '../interfaces/dimensions.interface';
import { SerializedNodeModel } from '../interfaces/serialization.interface';
import { DiagramEngine } from '../services/engine.service';
import { ID } from '../utils/tool-kit.util';
import { EntityMap, HashMap } from '../utils/types';
import { BaseModel } from './base.model';
import { DiagramModel } from './diagram.model';
import { PortModel } from './port.model';
export declare class NodeModel<P extends PortModel = PortModel> extends BaseModel<DiagramModel> {
protected diagramEngine$: import("../state/state").ValueState<DiagramEngine>;
protected extras$: import("../state/state").ValueState<any>;
protected ports$: import("../state/state").EntityState<P>;
protected coords$: import("../state/state").ValueState<Coords>;
protected dimensions$: import("../state/state").ValueState<Dimensions>;
constructor(nodeType?: string, id?: string, extras?: HashMap<any>, x?: number, y?: number, width?: number, height?: number, logPrefix?: string);
getDiagramEngine(): DiagramEngine;
selectDiagramEngine(): Observable<DiagramEngine>;
setDiagramEngine(diagramEngine: DiagramEngine): void;
getCoords(): Coords;
setCoords({ x, y }: Coords): void;
serialize(): SerializedNodeModel;
getSelectedEntities(): BaseModel<import("../base.entity").BaseEntity>[];
coordsChanges(): Observable<Coords>;
selectCoords(): Observable<Coords>;
selectX(): Observable<number>;
selectY(): Observable<number>;
/**
* Assign a port to the node and set the node as its getParent
* @returns the inserted port
*/
addPort(port: P): P;
removePort(portOrId: ID | P): string;
getPort(id: ID): P;
selectPorts(selector?: () => boolean | ID | ID[]): Observable<P[]>;
getPorts(): EntityMap<P>;
getPortsArray(): P[];
setDimensions(dimensions: Partial<Dimensions>): void;
getDimensions(): Dimensions;
dimensionChanges(): Observable<Dimensions>;
getHeight(): number;
setHeight(height: number): void;
getWidth(): number;
setWidth(width: number): void;
selectWidth(): Observable<number>;
selectHeight(): Observable<number>;
setExtras(extras: any): void;
getExtras(): any;
selectExtras<E = any>(selector?: (extra: E) => E[keyof E] | string | string[]): Observable<E>;
destroy(): void;
removeAllPorts(): void;
}