JointJS:将 link 箭头更改为圆形
JointJS: Change link arrows to circle
我正在使用 jointJS 创建图表。图书馆在悬停时创建链接,为 moving/reconnecting 显示箭头。
我想把它们换成另一种颜色的小圆圈。
由于箭头是默认设计,我不知道应该显示哪个代码 - 这正是我的问题:如何更改默认 setting/SVG 布局?
看来你得和joint.dia.Link
class一起工作了。
它有内部 属性 称为 arrowheadMarkup,它显然负责表示箭头标记 (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 替换为您希望在 child class.
中显示为箭头的任何 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('')
...
});
我在当前项目中重新定义了默认值link "arrowhead"。这是图形代码:
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 路径。
编辑:我想我误解了你的问题。我的方法重新定义了 link 头部的默认形状,而不是当您拖动 link 的末端时出现的其他图标。我的错,对不起。
我正在使用 jointJS 创建图表。图书馆在悬停时创建链接,为 moving/reconnecting 显示箭头。 我想把它们换成另一种颜色的小圆圈。
由于箭头是默认设计,我不知道应该显示哪个代码 - 这正是我的问题:如何更改默认 setting/SVG 布局?
看来你得和joint.dia.Link
class一起工作了。
它有内部 属性 称为 arrowheadMarkup,它显然负责表示箭头标记 (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 替换为您希望在 child class.
中显示为箭头的任何 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('')
...
});
我在当前项目中重新定义了默认值link "arrowhead"。这是图形代码:
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 路径。
编辑:我想我误解了你的问题。我的方法重新定义了 link 头部的默认形状,而不是当您拖动 link 的末端时出现的其他图标。我的错,对不起。