通过动态用户交互可以创建一个节点 and/or 链接到 cytoscape.js 吗?

Via dynamic user interaction can a node be created and/or linked in cytoscape.js?

是否可以在 cytoscape.js 中实现以下可用性概念?

  1. 用户可以通过左键单击空白处向网格添加新节点。
  2. 用户可以通过在 A 上按下鼠标左键并在 B 上释放鼠标左键来连接两个节点 A 和 B。(当用户按住鼠标左键时,A 和 B 之间会出现 "preview edge"当前鼠标位置。)

对于 (1),您可以使用 cy.on('tap', ...) 并根据事件的模型坐标确定网格 row/col。

截至 2016 年 8 月 19 日,有两个现有的扩展程序可帮助进行网格对齐 UI:

通常,扩展程序都有一个 demo.html,因此您可以探索它们的功能。有一个list in the docs,并且一直在添加新的(第一方和第三方)。

您可能还对 grid 布局感兴趣。

对于 (2),有一些扩展完全符合您提到的功能,每个扩展都有不同的额外功能和选项: