在我的图表中,每个节点都代表一个状态,并允许边缘在这些状态之间转换。我还允许在从一个状态转换到另一个状态时执行动作,因此动作附加到两个状态之间的边缘。我试图想出一种可视化边缘动作的方法。似乎唯一可以放在边缘的是使用样式content
的标签。我曾希望我可以将content
设置为函数以允许我返回一些html内容,但这似乎不起作用。还有另外一种方法吗?我还想过可能在状态节点之间创建节点,但是只有一个nodes
集合,这些新节点将与实际节点混合并使事情复杂化。我也使用了上下文菜单,因此我可以弹出"查看操作"在边缘,但我仍然需要一种方法来直观地显示边缘上存在的动作。如果有人对如何形象化有想法,请告诉我!
谢谢!
答案 0 :(得分:0)
HTML内容无法在画布中呈现。标签仅使用context.fillText()
绘制。
如果要显示HTML内容,则需要将该内容放在页面的HTML中。您可以创建一个Cytoscape.js扩展,以使代码更容易或更简洁,但组织完全是您的选择。
我会创建一个扩展,使用Cytoscape.js画布顶部的div渲染HTML标签。您可以使用viewport
个事件同步这些位置。如果采用这种方法,您可能希望与John Wehr协调,John Wehr已经开始扩展以实现这一目标:https://github.com/wehriam/cytoscape-css-renderer
您可能也会对此讨论感兴趣:https://github.com/cytoscape/cytoscape.js/issues/305