我想覆盖默认的链接行为。我有一个功能,处理根据一组规则连接到目标的链接。例如,LinkTypeA只能连接到ObjectType1和ObjectType2,而LinkTypeB只能连接ObjectType3。
如果用户正在创建LinkTypeA,并在单击ObjectType3时终止,则会为链接目标创建点(x,y)。
这是因为ObjectType1和ObjectType2通常嵌入在ObjectType3之上。
我有正确的行为,但当你抓住一个链接结束并拖动它时,当它放手时,它会运行一个内部函数,它允许它连接到ObjectType3。
我想覆盖它并让它调用我的自定义函数。我怎么能这样做?
答案 0 :(得分:2)
linkValidation
函数也应该处理它。在下面的示例中,只能链接具有相同类型的形状(rect与rect,circle with circle)。
var paper = new joint.dia.Paper({
el: $('#paper'),
width: 650,
height: 400,
model: graph,
linkPinning: false,
validateConnection: function(cellViewS, magnetS, cellViewT, magnetT, end, linkView) {
var source = cellViewS.model.get('type');
var target = cellViewT.model.get('type');
return source && source === target;
}
});