Relink is not working after setting portId to ""


#1

Hello, walter.

I set portId of a node type of A to empty string.

After that, the relinkingtool is not working for this node type of A. (fig1)

  • fig1
    image

I’ve added a picture while relinking tools is okay. (fig2)


#2

Is toLinkable true for the port of node A2?


#3

The node type of A already has toLinkable and fromLinkable to be true.
(A1, A2, A3 is all node tyoe of A.)

    diagram.nodeTemplate = $(go.Node, 'Spot',
        {
            selectionAdorned: false,
            fromLinkable: true,
            toLinkable: true,
            fromLinkableSelfNode: false,
            toLinkableSelfNode: false,
            zOrder: 1,
            groupable: true,
            ...
        },
        ...
    );

And the link template has relinkableFrom and relinkableTo to be true.

    diagram.linkTemplate = $$(go.Link,
        {
            curve: go.Link.Bezier,
            isLayoutPositioned: false,
            reshapable: true,
            resegmentable: true,
            relinkableFrom: true,
            relinkableTo: true,
            zOrder: _DEFAULT_ZORDER + 1,
            ...
        },
        ...
    );

#4

walter,

I’ve recognized that relinking from a node type of B(portId is not set) to a node type of A(portId set set to empty string) is still working well.


#5

My guess is that you have set portId on some object that is not the whole Node and have not moved the port-related properties (“from…” and “to…”) from the Node to that object.

In general you have to set or bind all port-related properties on each object for which portId is a string.