antvis / layout

Layout algorithms for graphs.
193 stars 55 forks source link

fix: common util func handleSingleNodeGraph #224

Open ayu-exorcist opened 1 month ago

ayu-exorcist commented 1 month ago

comboCombined 调用 handleSingleNodeGraph 函数的前提是: 移除了 _isCombo 状态的 nodes 的个数 <= 1

https://github.com/antvis/layout/blob/3a70d6314865a8ebb0f9750787e491e74bbeac26/packages/layout/src/comboCombined.ts#L93-L104

但是 handleSingleNodeGraph 函数内部处理时, 获取到的是包含 _isCombo 状态的 nodes.

https://github.com/antvis/layout/blob/3a70d6314865a8ebb0f9750787e491e74bbeac26/packages/layout/src/util/common.ts#L10-L43

这会导致使用 combo-combined 布局时, 存在某些异常->handleSingleNodeGraph 函数返回 undefined, 异常数据如下所示:

{
  nodes: [{id: 'node1'}, {id: 'node2', combo: 'combo1'}, {id: 'node3', combo: 'combo1'}],
  combos: [{id: 'combo1'}],
}