如何使用 Visjs 获取可见节点

How to get visible nodes with Visjs

我用 vis-network 创建了这个大型网络:

单击节点时,我创建了集群。例如,如果我点击 2 个绿色框,结果是:

在这个新视图中,我有两个常规节点("Program #3289" 和 "Task #7300")和两个包含其子节点的集群("Project #3415" 和 "Project #3416")。

如果我使用 dataset.get() 它 returns 我所有的 106 个初始节点。 如果我使用 network.body.nodes 它 returns 我所有的 106 个初始节点 + 我的两个集群。

我想要的:一种只获取网络中可见节点的方法。在那种情况下,我应该只得到 2 个常规节点和 2 个集群。

我是不是错过了允许这样做的功能?

谢谢

我终于想到了以下解决方案:

var visibleNodes = [];  
for (var nodeId in visNetwork.body.nodes) {
  // we check if the node is inside a cluster
  if (!visNetwork.clustering.clusteredNodes[nodeId]) {
    visibleNodes.push(nodeId)
  }
}