2015-11-09 47 views
1

我有一个cytoscape.js视口,用户可以在其中设置特定节点的颜色(和形状)。这些网络以及用户选择的颜色,我想导出。Cytoscape.js:如何将节点颜色/形状/大小导出到json?

cy.json()和cy.style()。json()返回节点的初始状态。

现在我每次更改颜色时都会向节点添加一个新属性“current_color”,该属性由cy.json()导出。

有没有更好的方法来做到这一点?

回答

1

如果您使用mappers并将自定义颜色等放入ele.data(),则应该是能够轻松导入/导出所有内容。

+0

看来,目前看来,这是最直接的解决方案。 – SePro

0

你试穿ele.renderedStyle(name)

根据documentation这将

获取特定的呈现样式属性值

我看到这个功能不会对整个图形工作。也许你可以导出json,然后通过替换ele.renderedStyle('background-color')中的值来处理结果字符串。

+0

'ele.renderedStyle(name)'不起作用,尽管'ele.style(name)'给了我当前的背景颜色。 目前最有效的解决方案是,在导出之前,运行每个元素并使用'ele.data('current_color',ele.style('background-color'));将样式添加到json对象;'' – SePro

+1

听起来像'renderedStyle()'仅适用于当前的数值。如果您为此创建github问题,则可能会添加对其他类型的支持。谢谢! – maxkfranz

+0

关于GitHub上提交的这个问题 – SePro