diff --git a/packages/web/src/impexp/FormTablesSelect.svelte b/packages/web/src/impexp/FormTablesSelect.svelte index 2757ab6fe..12c3004c9 100644 --- a/packages/web/src/impexp/FormTablesSelect.svelte +++ b/packages/web/src/impexp/FormTablesSelect.svelte @@ -15,11 +15,7 @@ const { values, setFieldValue } = getFormContext(); $: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: $values[databaseName] }); - $: tablesOptions = [ - ...(($dbinfo && $dbinfo.tables) || []), - ...(($dbinfo && $dbinfo.views) || []), - ...(($dbinfo && $dbinfo.collections) || []), - ] + $: tablesOptions = _.compact([...($dbinfo?.tables || []), ...($dbinfo?.views || []), ...($dbinfo?.collections || [])]) .filter(x => !$values[schemaName] || x.schemaName == $values[schemaName]) .map(x => ({ value: x.pureName, @@ -31,18 +27,20 @@
- - setFieldValue(name, _.uniq([...($values[name] || []), ...($dbinfo && $dbinfo.tables.map(x => x.pureName))]))} - /> - - setFieldValue(name, _.uniq([...($values[name] || []), ...($dbinfo && $dbinfo.views.map(x => x.pureName))]))} - /> + {#each ['tables', 'views', 'collections'] as field} + {#if $dbinfo && $dbinfo[field]?.length > 0} + + setFieldValue( + name, + _.compact(_.uniq([...($values[name] || []), ...($dbinfo[field]?.map(x => x.pureName) || [])])) + )} + /> + {/if} + {/each} + setFieldValue(name, [])} />