Nope I havent…
var go$ = go.GraphObject.make;
myDiagram.model.nodeDataArray = [];
my Node template is :
<span =“apple-tab-span”="" style=“white-space:pre”> go$(go.Node, “Spot”, nodeStyle(),
new go.Binding(“location”, “loc”, go.Point.parse).makeTwoWay(go.Point.stringify),
new go.Binding(“desiredSize”, “size”, go.Size.parse).makeTwoWay(go.Size.stringify),
go$(go.Panel, “Auto”,
go$(go.Picture, { source: “”, name: “pic”, desiredSize: new go.Size(50, 50) },
new go.Binding(“source”, “key”, fnConvertKeyImage),
new go.Binding(“desiredSize”, “size”, go.Size.parse).makeTwoWay(go.Size.stringify))),
makePort(“L”, go.Spot.Left, true, true),
makePort(“R”, go.Spot.Right, true, true));
myDiagram.linkTemplate =
go$(go.Link,
{routing: go.Link.AvoidsNodes,
curve: go.Link.JumpOver,
corner: 5, toShortLength: 4,
relinkableFrom: true, relinkableTo: true, reshapable: true
},
new go.Binding(“points”).makeTwoWay(),
go$(go.Shape,
{ isPanelMain: true,
strokeWidth: 3,
stroke: “black”
}),
go$(go.Shape, // the arrowhead
{fromArrow: “StretchedDiamond”,
fill: “white”, strokeWidth: 1
}),
go$(go.Shape, // the arrowhead
{toArrow: “StretchedDiamond”,
fill: “white”, strokeWidth: 1
}),
go$(go.Panel, “Auto”,
{ visible: false, name: “Link”, segmentIndex: 2, segmentFraction: 0.5 },
new go.Binding(“visible”, “visible”).makeTwoWay(),
go$(go.Shape, “RoundedRectangle”,
{fill: “#F8F8F8”, stroke: null })));
<textarea id=“textareaID”>
{ “class”: “go.GraphLinksModel”,
“linkFromPortIdProperty”: “fromPort”,
“linkToPortIdProperty”: “toPort”,
“nodeDataArray”: [],
“linkDataArray”:[]
}