我正在使用这个解决方案(联合.js两张纸之间的拖放元素(在两张纸上拖放,它工作得很好。
我想知道是否存在一种方法可以知道您是否将幽灵(即flyPaper图中的单元格(放在主图形中的单元格上,如果可能的话,我如何获得这个单元格。
实际上,我想根据单元格在主图中的放置位置执行不同的操作。例如,如果将单元格放在另一个单元格(具有精确类型(等上。
感谢您的帮助。
这称为"重定父级",JointJs 中的以下代码描述了如何在一篇论文中(而不是通过两篇论文(进行重定父级 - 重定父级
主要思想是将此单元格嵌入到父单元格中,这是使用以下代码完成的:
$('body').on('mouseup.fly', function(e) {
var x = e.pageX,
y = e.pageY,
target = paper.$el.offset();
// Dropped over paper ?
if (x > target.left && x < target.left + paper.$el.width() && y > target.top && y < target.top + paper.$el.height()) {
var s = flyShape.clone();
s.position(x - target.left - offset.x, y - target.top - offset.y);
graph.addCell(s);
//get the parent cell and embed the dragged cell with it
if (cellViewsBelow.length) {
var cellViewBelow;
for (var i = 0; i < cellViewsBelow.length; i++) {
if (cellViewsBelow[i].model.id !== s.id) {
cellViewBelow = cellViewsBelow[i];
}
}
// Prevent recursive embedding.
if (cellViewBelow && cellViewBelow.model.get('parent') !== s.id) {
cellViewBelow.model.embed(s);
}
}
}