fix(tree-view): fix filter logic in expandNodes/collapseNodes

Fixes #1214
This commit is contained in:
Eric Liu 2022-03-26 11:13:01 -07:00
commit d1647adafe

View file

@ -67,7 +67,11 @@
*/ */
export function expandNodes(filterNode = (node) => false) { export function expandNodes(filterNode = (node) => false) {
expandedIds = nodes expandedIds = nodes
.filter((node) => !filterNode(node)) .filter(
(node) =>
filterNode(node) ||
node.children?.some((child) => filterNode(child) && child.children)
)
.map((node) => node.id); .map((node) => node.id);
} }
@ -78,7 +82,7 @@
*/ */
export function collapseNodes(filterNode = (node) => true) { export function collapseNodes(filterNode = (node) => true) {
expandedIds = nodes expandedIds = nodes
.filter((node) => !filterNode(node)) .filter((node) => expandedIds.includes(node.id) && !filterNode(node))
.map((node) => node.id); .map((node) => node.id);
} }