ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
70 lines (69 loc) • 2.44 kB
TypeScript
import { Observable } from 'rxjs';
import { EntityMap, ID } from '../utils';
import { BaseModel } from './base.model';
import { LinkModel } from './link.model';
import { NodeModel } from './node.model';
export declare class PortModel extends BaseModel<NodeModel> {
protected name: string;
protected maximumLinks: number;
protected linkType: string;
protected links$: import("../state/state").EntityState<LinkModel>;
protected x$: import("../state/state").ValueState<number>;
protected y$: import("../state/state").ValueState<number>;
protected width$: import("../state/state").ValueState<number>;
protected height$: import("../state/state").ValueState<number>;
protected magnetic$: import("../state/state").ValueState<boolean>;
protected canCreateLinks$: import("../state/state").ValueState<boolean>;
constructor(name: string, type?: string, id?: string, maximumLinks?: number, linkType?: string, magnetic?: boolean, logPrefix?: string);
serialize(): {
x: number;
y: number;
name: string;
linkType: string;
maximumLinks: number;
type: string;
magnetic: boolean;
height: number;
width: number;
canCreateLinks: boolean;
id: string;
locked: boolean;
};
getNode(): NodeModel<PortModel>;
getName(): string;
getCanCreateLinks(): boolean;
getCoords(): {
x: number;
y: number;
};
selectCanCreateLinks(): Observable<boolean>;
setCanCreateLinks(value: boolean): void;
getMagnetic(): boolean;
selectMagnetic(): Observable<boolean>;
setMagnetic(magnetic: boolean): void;
selectX(): Observable<number>;
selectY(): Observable<number>;
getY(): number;
getX(): number;
getHeight(): number;
getWidth(): number;
getMaximumLinks(): number;
setMaximumLinks(maximumLinks: number): void;
getLinkType(): string;
setLinkType(type: string): void;
removeLink(linkOrId: ID | LinkModel): void;
addLink(link: LinkModel): void;
getLinks(): EntityMap<LinkModel>;
getLinksArray(): LinkModel[];
selectLinks(): Observable<EntityMap<LinkModel>>;
updateCoords({ x, y, width, height }: {
x: number;
y: number;
width: number;
height: number;
}): void;
canLinkToPort(port: PortModel): boolean;
isLocked(): boolean;
createLinkModel(): LinkModel;
destroy(): void;
}