fix - don't call for DB list when searching in connections list

This commit is contained in:
Jan Prochazka
2024-11-22 11:25:46 +01:00
parent 4f838e0ae3
commit c8d2031d24
3 changed files with 16 additions and 3 deletions

View File

@@ -36,6 +36,9 @@ export function extractShellApiFunctionName(functionName) {
} }
export function findEngineDriver(connection, extensions: ExtensionsDirectory): EngineDriver { export function findEngineDriver(connection, extensions: ExtensionsDirectory): EngineDriver {
if (!extensions) {
return null;
}
if (_isString(connection)) { if (_isString(connection)) {
return extensions.drivers.find(x => x.engine == connection); return extensions.drivers.find(x => x.engine == connection);
} }

View File

@@ -61,7 +61,13 @@
{#if (isExpanded || isExpandedBySearch) && subItemsComponent} {#if (isExpanded || isExpandedBySearch) && subItemsComponent}
<div class="subitems"> <div class="subitems">
<svelte:component this={subItemsComponent} {data} {filter} {passProps} /> <svelte:component
this={subItemsComponent}
{data}
{filter}
{passProps}
isExpandedOnlyBySearch={isExpandedBySearch && !isExpanded}
/>
</div> </div>
{/if} {/if}
{/if} {/if}

View File

@@ -5,17 +5,21 @@
import AppObjectList from './AppObjectList.svelte'; import AppObjectList from './AppObjectList.svelte';
import * as databaseAppObject from './DatabaseAppObject.svelte'; import * as databaseAppObject from './DatabaseAppObject.svelte';
import { volatileConnectionMapStore } from '../utility/api'; import { volatileConnectionMapStore } from '../utility/api';
import { getLocalStorage } from '../utility/storageCache';
export let filter; export let filter;
export let data; export let data;
export let passProps; export let passProps;
$: databases = useDatabaseList({ conid: data._id }); export let isExpandedOnlyBySearch;
$: databases = useDatabaseList({ conid: isExpandedOnlyBySearch ? null : data._id });
$: dbList = isExpandedOnlyBySearch ? getLocalStorage(`database_list_${data._id}`) || [] : $databases || [];
</script> </script>
<AppObjectList <AppObjectList
list={_.sortBy( list={_.sortBy(
($databases || []).filter(x => filterName(filter, x.name)), dbList.filter(x => filterName(filter, x.name)),
x => x.sortOrder ?? x.name x => x.sortOrder ?? x.name
).map(db => ({ ...db, connection: data }))} ).map(db => ({ ...db, connection: data }))}
module={databaseAppObject} module={databaseAppObject}