use svelte select

This commit is contained in:
Jan Prochazka
2021-03-11 21:00:25 +01:00
parent 2063005d5c
commit d6f9db48aa
5 changed files with 85 additions and 12 deletions

View File

@@ -0,0 +1,26 @@
<script lang="ts">
import { getFormContext } from '../forms/FormProviderCore.svelte';
import FormSelectField from '../forms/FormSelectField.svelte';
import { useDatabaseInfo, useDatabaseList } from '../utility/metadataLoaders';
import SvelteSelect from 'svelte-select';
export let conidName;
export let databaseName;
export let schemaName;
const { values } = getFormContext();
$: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: values[databaseName] });
$: tablesOptions = [...(($dbinfo && $dbinfo.tables) || []), ...(($dbinfo && $dbinfo.views) || [])]
.filter(x => !$values[schemaName] || x.schemaName == $values[schemaName])
.map(x => ({
value: x.pureName,
label: x.pureName,
}));
</script>
{#if tablesOptions.length == 0}
<div>Not available</div>
{:else}
<SvelteSelect {...$$restProps} items={tablesOptions} isMulti listOpen />
{/if}