From 0e370dd5754081210065e6ad6d9b3fcb39c484cb Mon Sep 17 00:00:00 2001 From: metonym Date: Sat, 26 Mar 2022 11:20:47 -0700 Subject: [PATCH] fix(tree-view): fix filter logic in expandNodes/collapseNodes (#1215) Fixes #1214 --- src/TreeView/TreeView.svelte | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/TreeView/TreeView.svelte b/src/TreeView/TreeView.svelte index f1620ae7..3ca0c7fb 100644 --- a/src/TreeView/TreeView.svelte +++ b/src/TreeView/TreeView.svelte @@ -67,7 +67,11 @@ */ export function expandNodes(filterNode = (node) => false) { expandedIds = nodes - .filter((node) => !filterNode(node)) + .filter( + (node) => + filterNode(node) || + node.children?.some((child) => filterNode(child) && child.children) + ) .map((node) => node.id); } @@ -78,7 +82,7 @@ */ export function collapseNodes(filterNode = (node) => true) { expandedIds = nodes - .filter((node) => !filterNode(node)) + .filter((node) => expandedIds.includes(node.id) && !filterNode(node)) .map((node) => node.id); }