指定端口位置

时间:2018-09-25 19:46:11

标签: jointjs

我有一个正在使用的图表解决方案,它使用基于devs.Model的自定义元素,这些元素在运行时动态创建。每个元素可能具有一个或多个inPorts和outPorts。我正在尝试根据内容为每个端口指定位置的Y部分。

当前,我遍历正在绘制的对象,并为每个元素构造标记,并跟踪需要创建的inPort和outPort。构建完所需的标记后,我将实例化该元素,指定标记,大小,位置和端口组配置(到目前为止的颜色和大小)。

然后,我遍历已构建的inPort和outPort集合,并使用 el1.addOutPort(name) el1.addInPort(name)添加端口。在文档中,它是指可以传递的[opts]对象,但似乎尚不清楚其可以包含的内容,或者至少我看不到任何指定端口放置位置的信息。

这是我现在所得到的示例图像

Here's a sample image of what i get now

我正在尝试使它的两端(在这种情况下)的两个端口都显示在与文本“ process”相同的框中。

我希望这是我一直忽略的事情,谢谢您的反馈。

1 个答案:

答案 0 :(得分:1)

虽然这可能不是最佳解决方案,但这是我想到的。我正在发布答案,以防将来有人试图找出相同的问题。

我一直在使用

添加端口
el1.addOutPort(portName);

,并试图找到我可以添加到该代码的代码。

我回到了jointjs站点,并仔细阅读了他们的教程,直到看到一个专门放置端口并查看源代码的教程。在此基础上,经过一些实验,我想到了

el1.addPort({ group: 'out', id: portName, args: { y: yPosition+offset }});

这是结果

And here's the result (if someone could inline this image it would be appreciated)