ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
53 lines (52 loc) • 2.18 kB
TypeScript
import { Observable } from 'rxjs';
import { Coords } from '../interfaces/coords.interface';
import { SerializedLinkModel } from '../interfaces/serialization.interface';
import { DiagramEngine } from '../services/engine.service';
import { ID } from '../utils/tool-kit.util';
import { BaseModel } from './base.model';
import { DiagramModel } from './diagram.model';
import { LabelModel } from './label.model';
import { PointModel } from './point.model';
import { PortModel } from './port.model';
export declare class LinkModel extends BaseModel<DiagramModel> {
diagramEngine: DiagramEngine;
protected name: string;
protected sourcePort: PortModel | null;
protected targetPort: PortModel | null;
protected points: PointModel[];
protected extras: any;
protected label$: import("../state/state").ValueState<LabelModel>;
constructor(linkType?: string, id?: string, logPrefix?: string);
serialize(): SerializedLinkModel;
setName(name: string): void;
getName(): string;
getExtras(): any;
setExtras(extras: any): void;
destroy(): void;
doClone(lookupTable: {}, clone: any): void;
isLastPoint(point: PointModel): boolean;
getPointIndex(point: PointModel): number;
getPointModel(id: ID): PointModel | null;
getPortForPoint(point: PointModel): PortModel;
getPointForPort(port: PortModel): PointModel;
getFirstPoint(): PointModel;
getLastPoint(): PointModel;
setSourcePort(port: PortModel): void;
getSourcePort(): PortModel;
getTargetPort(): PortModel;
setTargetPort(port: PortModel): void;
point({ x, y }: Coords): PointModel;
getPoints(): PointModel[];
setPoints(points: PointModel[]): void;
setLabel(label: LabelModel): void;
selectLabel(): Observable<LabelModel | null>;
getLabel(): LabelModel;
resetLabel(): void;
removePoint(pointModel: PointModel): void;
removePointsBefore(pointModel: PointModel): void;
removePointsAfter(pointModel: PointModel): void;
removeMiddlePoints(): void;
addPoint<P extends PointModel>(pointModel: P, index?: number): P;
generatePoint({ x, y }: Coords): PointModel;
setLocked(locked?: boolean): void;
}