selectfield using svelte select

This commit is contained in:
Jan Prochazka
2021-03-13 09:20:27 +01:00
parent d6f9db48aa
commit 4e16119835
9 changed files with 99 additions and 50 deletions

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import FormSelectField from '../forms/FormSelectField.svelte';
import FormSelectField from '../forms/FormSelectField.svelte';
import { useConnectionList } from '../utility/metadataLoaders';
@@ -10,8 +10,4 @@ import FormSelectField from '../forms/FormSelectField.svelte';
}));
</script>
{#if connectionOptions.length == 0}
<div>Not available</div>
{:else}
<FormSelectField {...$$restProps} options={connectionOptions} />
{/if}
<FormSelectField {...$$restProps} options={connectionOptions} />

View File

@@ -14,8 +14,4 @@
}));
</script>
{#if databaseOptions.length == 0}
<div>Not available</div>
{:else}
<FormSelectField {...$$restProps} options={databaseOptions} />
{/if}
<FormSelectField {...$$restProps} options={databaseOptions} />

View File

@@ -1,23 +1,20 @@
<script lang="ts">
import { getFormContext } from '../forms/FormProviderCore.svelte';
import FormSelectField from '../forms/FormSelectField.svelte';
import { useDatabaseInfo, useDatabaseList } from '../utility/metadataLoaders';
export let conidName;
export let databaseName;
const { values } = getFormContext();
$: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: values[databaseName] });
$: schemaOptions = (($dbinfo && $dbinfo.schemas) || []).map(schema => ({
value: schema.schemaName,
label: schema.schemaName,
}));
</script>
{#if schemaOptions.length == 0}
<div>Not available</div>
{:else}
<FormSelectField {...$$restProps} options={schemaOptions} />
{/if}
import { getFormContext } from '../forms/FormProviderCore.svelte';
import FormSelectField from '../forms/FormSelectField.svelte';
import { useDatabaseInfo, useDatabaseList } from '../utility/metadataLoaders';
export let conidName;
export let databaseName;
const { values } = getFormContext();
$: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: values[databaseName] });
$: schemaOptions = (($dbinfo && $dbinfo.schemas) || []).map(schema => ({
value: schema.schemaName,
label: schema.schemaName,
}));
</script>
{#if schemaOptions.length > 0}
<FormSelectField {...$$restProps} options={schemaOptions} />
{/if}

View File

@@ -2,14 +2,13 @@
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] });
$: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: $values[databaseName] });
$: tablesOptions = [...(($dbinfo && $dbinfo.tables) || []), ...(($dbinfo && $dbinfo.views) || [])]
.filter(x => !$values[schemaName] || x.schemaName == $values[schemaName])
@@ -19,8 +18,4 @@
}));
</script>
{#if tablesOptions.length == 0}
<div>Not available</div>
{:else}
<SvelteSelect {...$$restProps} items={tablesOptions} isMulti listOpen />
{/if}
<FormSelectField {...$$restProps} options={tablesOptions} isMulti />

View File

@@ -78,6 +78,7 @@
schemaName={schemaNameField}
databaseName={databaseNameField}
name={tablesField}
label="Tables / views"
/>
{/if}
{/if}