Custom Ports
Last updated
Was this helpful?
Was this helpful?
this.addPort(new DiamondPortModel(PortModelAlignment.TOP));
this.addPort(new DiamondPortModel(PortModelAlignment.LEFT));
this.addPort(new DiamondPortModel(PortModelAlignment.BOTTOM));
this.addPort(new DiamondPortModel(PortModelAlignment.RIGHT));export class DiamondPortModel extends PortModel {
...
constructor(alignment: PortModelAlignment) {
super({
type: 'diamond',
name: alignment,
alignment: alignment // <-- here
});
}
...
}class PortModel{
...
canLinkToPort(port: PortModel): boolean;
}class DefaultPortModel extends PortModel{
...
canLinkToPort(port: PortModel): boolean {
if (port instanceof DefaultPortModel) {
return this.options.in !== port.getOptions().in;
}
return true;
}
}class DefaultPortModel extends PortModel{
...
createLinkModel(): LinkModel{
return new DefaultLinkModel(); // <-- here we generate a DefaultLinkModel
}
}