mirror of
https://github.com/projectstorm/react-diagrams.git
synced 2025-08-15 09:19:05 +08:00
30 lines
755 B
TypeScript
30 lines
755 B
TypeScript
import * as _ from "lodash";
|
|
import { LinkModel } from "../../src/models/LinkModel";
|
|
import { DiagramEngine } from "../../src/DiagramEngine";
|
|
import { PortModel } from "../../src/models/PortModel";
|
|
import { DefaultLinkModel } from "../../src/defaults/models/DefaultLinkModel";
|
|
|
|
export class DiamondPortModel extends PortModel {
|
|
position: string | "top" | "bottom" | "left" | "right";
|
|
|
|
constructor(pos: string = "top") {
|
|
super(pos, "diamond");
|
|
this.position = pos;
|
|
}
|
|
|
|
serialize() {
|
|
return _.merge(super.serialize(), {
|
|
position: this.position
|
|
});
|
|
}
|
|
|
|
deSerialize(data: any, engine: DiagramEngine) {
|
|
super.deSerialize(data, engine);
|
|
this.position = data.position;
|
|
}
|
|
|
|
createLinkModel(): LinkModel {
|
|
return new DefaultLinkModel();
|
|
}
|
|
}
|