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

Fixes #1214
This commit is contained in:
metonym 2022-03-26 11:20:47 -07:00 committed by GitHub
commit 0e370dd575
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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);
} }