better quick search UX (preserves expanded state()

This commit is contained in:
Jan Prochazka
2021-09-25 13:07:38 +02:00
parent 7699cca6b9
commit 34fce0ef58
3 changed files with 21 additions and 16 deletions

View File

@@ -52,8 +52,9 @@
</div> </div>
{/if} {/if}
{#each filtered as item} {#each items as item}
<AppObjectListItem <AppObjectListItem
isHidden={!item.isMatched}
{...$$restProps} {...$$restProps}
{module} {module}
data={item.data} data={item.data}

View File

@@ -69,8 +69,9 @@
/> />
{/each} {/each}
{:else} {:else}
{#each filtered as data} {#each list as data}
<AppObjectListItem <AppObjectListItem
isHidden={!filtered.includes(data)}
{module} {module}
{subItemsComponent} {subItemsComponent}
{expandOnClick} {expandOnClick}

View File

@@ -10,6 +10,7 @@
import { tick } from 'svelte'; import { tick } from 'svelte';
import { plusExpandIcon } from '../icons/expandIcons'; import { plusExpandIcon } from '../icons/expandIcons';
export let isHidden;
export let filter; export let filter;
export let module; export let module;
export let data; export let data;
@@ -38,21 +39,23 @@
$: if (!expandable && isExpanded) isExpanded = false; $: if (!expandable && isExpanded) isExpanded = false;
</script> </script>
<svelte:component {#if !isHidden}
this={module.default} <svelte:component
{data} this={module.default}
on:click={handleExpand} {data}
on:expand={handleExpandButton} on:click={handleExpand}
expandIcon={getExpandIcon(expandable, subItemsComponent, isExpanded, expandIconFunc)} on:expand={handleExpandButton}
{checkedObjectsStore} expandIcon={getExpandIcon(expandable, subItemsComponent, isExpanded, expandIconFunc)}
{module} {checkedObjectsStore}
{disableContextMenu} {module}
/> {disableContextMenu}
/>
{#if isExpanded && subItemsComponent} {#if isExpanded && subItemsComponent}
<div class="subitems"> <div class="subitems">
<svelte:component this={subItemsComponent} {data} {filter} /> <svelte:component this={subItemsComponent} {data} {filter} />
</div> </div>
{/if}
{/if} {/if}
<style> <style>