jointjs - 将元素粘贴到 Rappid 中的另一个图表中?

标签 jointjs rappid

我正在使用 JointsJS + Rappid 构建一个管理图表的管理工具。我正在尝试将粘贴元素从一篇论文 A 复制到另一篇论文 B(位于不同的浏览器选项卡上),但我面临以下问题:

  • 我可以将一组元素从 A 复制粘贴到 B(这很好)
  • 我什至可以粘贴几次(这仍然很好)
  • 但是如果我从 A 复制另一组元素,并尝试将其粘贴到 B 中,则会粘贴前一组元素,而不是新的元素
  • 我仍然可以将元素从 A 粘贴到 A,将 B 粘贴到 B,但不能再从一个粘贴到另一个。

看来这个行为在 Kitchen Sink Rappid demo 中是一样的:如果我在演示中打开 2 个选项卡,我会遇到完全相同的问题。您可以通过使用演示应用程序打开 2 个选项卡来轻松重现它。

这是我的一段代码(直接取自 Raappid 演示):

this.clipboard = new joint.ui.Clipboard();
this.selection = new joint.ui.Selection({
    paper: this.paper,
    handles: App.config.selection.handles,
    collection: new Backbone.Collection
});

this.keyboard = new joint.ui.Keyboard();
this.keyboard.on({
    'ctrl+c': function () {
        // Copy all selected elements and their associated links.
        this.clipboard.copyElements(this.selection.collection, this.graph);
    },
    'ctrl+v': function () {
        var pastedCells = this.clipboard.pasteCells(this.graph, {
            translate: {dx: 20, dy: 20},
            useLocalStorage: true
        });
        var elements = _.filter(pastedCells, function (cell) {
            return cell.isElement();
        });
        // Make sure pasted elements get selected immediately. This makes the UX better as
        // the user can immediately manipulate the pasted elements.
        this.selection.collection.reset(elements);
    },
}

Rappid 文档中指出:

"Additionally, clipboard is also able to copy cells from one paper and paste them to another. However, the determination of the targeted paper is left to the application layer."

我没有完全理解第二句话(“但是......”结束)。

我监控了本地存储,发现两篇论文可能使用相同的存储条目,这让我认为图间粘贴是受管理的。

现阶段,我正在努力寻找是否:

  • 我的代码应该执行图间复制粘贴,
  • 我做错了什么
  • Rappid 中存在一个错误(考虑到此行为在官方演示中是相同的)。

感谢您的帮助。

最佳答案

我已经从 Rappid 工作人员那里得到了答复,这是 Rappid 中的一个错误,正在修复中。

该修复将嵌入到下一个版本(可能是 2.5)中。

关于jointjs - 将元素粘贴到 Rappid 中的另一个图表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53636450/

相关文章:

javascript - 使用 RappidJS 如何动态地将新元素添加到渲染的模板中

javascript - 隐藏链接的默认悬停 CSS

javascript - 无法让 html 元素与联合 js 一起使用

javascript - 如何在Jointjs中禁用UML状态图中的链接删除?

jointjs - 在 JointJs 中单击时更改鼠标光标

javascript - 联合js链接圆形和三 Angular 形

javascript - 如何在 jointJS-Rappid 中的原子形状中心添加图像

javascript - IE11 - 对象不支持属性或方法 'contains'