Cytoscape.js在导出为json时未设置复合节点属性

时间:2019-05-23 13:50:37

标签: javascript cytoscape.js

我目前正在尝试将我的Cytoscape.js图导出为json,以便以后将其导入Cytoscape应用程序中。对于某些节点,我需要在布局过程之后添加一个复合节点,因此它们不包括在布局过程中,并且不影响节点位置。

布局后,我通过cy.add()添加父节点,并通过ele.move()将子节点添加到父节点。

当我调试节点时,会设置属性autoHeight和autoWidth,但在读取它们时会导致未定义,并且不会根据其子节点设置位置。

var json = cy.json();
var jsonNodes = json.elements.nodes;
var graphNodes = cy.nodes(':parent');

jsonNodes.forEach(jsonNode => {
          graphNodes.forEach(graphNode => {
                        if (jsonNode.data['id'] == graphNode._private.data['id']){
                            if(graphNode._private['autoHeight'] != undefined) {
                                let height = graphNode._private['autoHeight'];
                                let width = graphNode._private['autoWidth'];
                                jsonNode.data['height'] = height;
                                jsonNode.data['width'] = width;
                                jsonNode.data['opacity'] = 70;
                            }
                        }
                    }
                )
            });

我希望json包含父级的宽度,高度和位置(根据其子节点的位置)。

0 个答案:

没有答案