如何在mxGraph javascript中获取顶点

时间:2016-09-16 14:22:51

标签: javascript mxgraph

我正在尝试使用mxCellOverlayaddCellOverlay以编程方式在现有顶点/顶点中添加新图标。如何获取我在工作室xml中的所有顶点,以便我可以在addCellOverlay参数中传递它,如下例所示。

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png',
16, 16), 'Overlay tooltip');
graph.addCellOverlay(allMyVertices, overlay);

参考:http://jgraph.github.io/mxgraph/javascript/examples/fixedicon.html

如果我在fixed var v1的fixedIcon.html(第72行)中添加此代码,则会为我提供一个新的勾选/检查图标。

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png',
16, 16), 'Overlay tooltip');

graph.addCellOverlay(v1, overlay);

2 个答案:

答案 0 :(得分:1)

如果只想获得一个级别的顶点(而不是边缘),我建议使用mxGraph.getChildVertices而不是mxgraph.getCells。但是您必须将父级mxCell传递给该函数。然后,您将获得此单元格的所有子顶点。例如如果要向默认父级的所有顶点添加覆盖,则可以执行以下操作:

var overlay = new mxCellOverlay(new mxImage('editors/images/overlays/check.png', 16, 16), 'Overlay tooltip');
var parent = graph.getDefaultParent();
var vertices = graph.getChildVertices(parent);
graph.addCellOverlay(vertices, overlay);

当然,如果需要每个级别的所有顶点,则可以递归实现。

有关更多信息: https://jgraph.github.io/mxgraph/docs/js-api/files/view/mxGraph-js.html#mxGraph.getChildVertices

答案 1 :(得分:0)

这是:

mxGraph.prototype.getCells = function(x,y,width,height,parent,result);