在GoJS节点或graphObject中具有“可见溢出”

时间:2016-11-25 17:36:39

标签: javascript gojs

我希望在节点内部有一个形状,这部分地会超出节点的边界。含义,-10px父元素的顶部和左侧。

现在我在节点内部有一个矩形和一个圆圈,它看起来像这样:

enter image description here

如您所见,由于节点的大小已扩展,因此链接无法正确连接。我希望使用css术语的圆圈绝对定位,换句话说,我不希望它影响节点大小调整节点(显然,在此示例中不可见)。

我尝试了以下解决方案:

设置节点的宽度和高度。然后它裁剪圆圈,因为它超出了边界。

使用节点中的fromSpot和toSpot属性将链接连接到节点的中心。显然他们被布局覆盖了,我无法弄清楚如何禁用isLayoutPositioned

使用装饰品,但我根本不明白我应该如何使用它们。

搜索我是否可以以某种方式设置元素的溢出可见,或以某种方式影响边界,或类似的东西,但没有找到任何对我有用的东西。

这里适当的解决方案是什么?

1 个答案:

答案 0 :(得分:2)

节点设为“Spot”面板,通过为其分配 GraphObject.portId ,使节点的“main”元素成为“端口”,并定位通过设置 GraphObject.alignment 属性,相对于“main”元素的红色圆圈,在本例中为go.Spot.TopLeft。我也猜测分配 Node.locationObjectName 就是你想要的。

myDiagram.nodeTemplate = $(go.Node, "Spot", { locationSpot: go.Spot.Center, locationObjectName: "BODY" }, $(go.Shape, { name: "BODY", width: 50, height: 50, fill: "lightgreen", strokeWidth: 0, portId: "" }), $(go.Shape, "Circle", { alignment: go.Spot.TopLeft, width: 20, height: 20, fill: "transparent", stroke: "red" }) );

enter image description here

请在http://gojs.net/latest/intro/nodes.html了解详情。我建议不仅要阅读“入门”页面http://gojs.net/learn,还要阅读适用于您要创建的应用类型的所有“简介”页面http://gojs.net/intro

特别是,这些应该是有用的: