diff --git a/packages/web/src/appobj/AppObjectList.svelte b/packages/web/src/appobj/AppObjectList.svelte index b17349a3d..d2d100101 100644 --- a/packages/web/src/appobj/AppObjectList.svelte +++ b/packages/web/src/appobj/AppObjectList.svelte @@ -25,6 +25,15 @@ }) : null; + $: childrenMatched = !groupFunc + ? list.filter(data => { + const matcher = module.createChildMatcher && module.createChildMatcher(data); + if (matcher && !matcher(filter)) return false; + return true; + }) + : null; + + // let filtered = []; // $: { @@ -82,6 +91,7 @@ {checkedObjectsStore} {disableContextMenu} {filter} + isExpandedBySearch={childrenMatched.includes(data)} /> {/each} {/if} diff --git a/packages/web/src/appobj/AppObjectListItem.svelte b/packages/web/src/appobj/AppObjectListItem.svelte index b4ff22bee..3f1623138 100644 --- a/packages/web/src/appobj/AppObjectListItem.svelte +++ b/packages/web/src/appobj/AppObjectListItem.svelte @@ -20,6 +20,7 @@ export let expandIconFunc = plusExpandIcon; export let checkedObjectsStore = null; export let disableContextMenu = false; + export let isExpandedBySearch = false; let isExpanded = false; @@ -45,13 +46,13 @@ {data} on:click={handleExpand} on:expand={handleExpandButton} - expandIcon={getExpandIcon(expandable, subItemsComponent, isExpanded, expandIconFunc)} + expandIcon={getExpandIcon(!isExpandedBySearch && expandable, subItemsComponent, isExpanded, expandIconFunc)} {checkedObjectsStore} {module} {disableContextMenu} /> - {#if isExpanded && subItemsComponent} + {#if (isExpanded || isExpandedBySearch) && subItemsComponent}