重新设置父级时如何获取前面的链接

How to get the links to the front when reparenting

所有 cells/elements 都嵌入在其他单元格的顶部,但链接隐藏在元素后面。如何获取元素(父)

顶部的链接

这是Preview

我试过 link.toFront(),但没有用。下面是我的代码片段:

paper.on('cell:pointerdown', function (cellView, evt, x, y) {

                    var cell = cellView.model;
                    if (!cell.get('embeds') || cell.get('embeds').length === 0) {
                        // Show the dragged element above all the other cells (except when the
                        // element is a parent).
                        cell.toFront();
                        link.toFront();

                    }

                    if (cell.get('parent')) {
                        graph.getCell(cell.get('parent')).unembed(cell);
                    }
                });

如果您想将单元格放在最前面,并带有所有连接的链接,请尝试以下操作。

cell.toFront();
_.invoke(graph.getConnectedLinks(cell), 'toFront');

如果要将一个 parent 单元格及其所有嵌入单元格置于最前面,请使用 deep: true 选项调用 toFront 方法。方法确保单元格的所有后代(嵌入的链接和元素)也被带到前面,并且没有单元格隐藏在其 parent 后面(child z 索引总是高于z child 的索引 parent).

parent.toFront({ deep: true });

您还可以查看 embeddingModevalidateEmbedding 纸质选项,它们会自动为您执行(取消)嵌入/验证。

文档:

http://jointjs.com/api#joint.dia.Element:toFront

http://jointjs.com/api#joint.dia.Paper