JointJS:将链接箭头更改为圆形
JointJS: Change link arrows to circle
我正在使用jointJS创建关系图。库会创建链接,悬停时会显示用于移动/重新连接它们的箭头。我想把它们换成另一种颜色的小圆圈。
由于箭头是默认设计,我不知道应该显示哪些代码——这正是我的问题:如何更改默认设置/SVG布局?
我已经在当前项目中重新定义了默认链接"arrow"。这是图形代码:
var paper = new joint.dia.Paper({
el: $('#paper'),
perpendicularLinks: true,
gridSize: 1,
model: graph,
//snapLinks: { radius: 5 },
defaultLink: new joint.shapes.devs.Link({
attrs: {
'.marker-target': {
d: arrowheadShape
}
}
})
});
这就是保持实际形状定义的变量:
var arrowheadShape = 'M 10 0 L 0 5 L 10 10 z';
在这种情况下,我只调整了默认三角形的大小。您可以将其替换为所需的任意SVG路径。
编辑:我想我误解了你的问题。我的方法重新定义了链接头部的默认形状,而不是拖动链接末端时出现的其他图标。对不起,我的错。
似乎必须使用joint.dia.Link
类。
它有一个称为箭头标记的内部属性,它显然负责表示箭头标记(line 5828 @ joint.js v0.9.5
)
arrowheadMarkup: [
'<g class="marker-arrowhead-group marker-arrowhead-group-<%= end %>">',
'<path class="marker-arrowhead" end="<%= end %>" d="M 26 0 L 0 13 L 26 26 z" />',
'</g>'
].join('')
尝试将path.marker-arrowhead替换为您希望在子类中显示为箭头的任何SVG代码。
可能生成的代码看起来像这样:
var myPrettyLink = joint.dia.Link.extend({
...
arrowheadMarkup: [
'<g class="marker-arrowhead-group marker-arrowhead-group-<%= end %>">',
'<circle class="marker-arrowhead" cx="20" cy="20" r="15"></circle>',
'</g>'
].join('')
...
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 在JointJS中将一个链接链接到另一个
- JointJS:将链接箭头更改为圆形
- JointJS:使链接标签在链接本身上移动
- 如何在jointjs中获得链接上的事件工具选项
- 如何在JointJS中交互式地创建链接
- 如何在JointJs中以编程方式创建到端口的链接
- 把HTML代码放在JointJS链接