#109 all tables button in export fixed + added All collections button for nosql

This commit is contained in:
Jan Prochazka
2021-04-29 20:44:46 +02:00
parent c4c2274488
commit 7d789d5712

View File

@@ -15,11 +15,7 @@
const { values, setFieldValue } = getFormContext(); const { values, setFieldValue } = getFormContext();
$: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: $values[databaseName] }); $: dbinfo = useDatabaseInfo({ conid: $values[conidName], database: $values[databaseName] });
$: tablesOptions = [ $: tablesOptions = _.compact([...($dbinfo?.tables || []), ...($dbinfo?.views || []), ...($dbinfo?.collections || [])])
...(($dbinfo && $dbinfo.tables) || []),
...(($dbinfo && $dbinfo.views) || []),
...(($dbinfo && $dbinfo.collections) || []),
]
.filter(x => !$values[schemaName] || x.schemaName == $values[schemaName]) .filter(x => !$values[schemaName] || x.schemaName == $values[schemaName])
.map(x => ({ .map(x => ({
value: x.pureName, value: x.pureName,
@@ -31,18 +27,20 @@
<FormSelectField {...$$restProps} {name} options={tablesOptions} isMulti templateProps={{ noMargin: true }} /> <FormSelectField {...$$restProps} {name} options={tablesOptions} isMulti templateProps={{ noMargin: true }} />
<div> <div>
<FormStyledButton {#each ['tables', 'views', 'collections'] as field}
type="button" {#if $dbinfo && $dbinfo[field]?.length > 0}
value="All tables" <FormStyledButton
on:click={() => type="button"
setFieldValue(name, _.uniq([...($values[name] || []), ...($dbinfo && $dbinfo.tables.map(x => x.pureName))]))} value={`All ${field}`}
/> on:click={() =>
<FormStyledButton setFieldValue(
type="button" name,
value="All views" _.compact(_.uniq([...($values[name] || []), ...($dbinfo[field]?.map(x => x.pureName) || [])]))
on:click={() => )}
setFieldValue(name, _.uniq([...($values[name] || []), ...($dbinfo && $dbinfo.views.map(x => x.pureName))]))} />
/> {/if}
{/each}
<FormStyledButton type="button" value="Remove all" on:click={() => setFieldValue(name, [])} /> <FormStyledButton type="button" value="Remove all" on:click={() => setFieldValue(name, [])} />
</div> </div>
</div> </div>