mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 14:16:01 +00:00
import files controls
This commit is contained in:
@@ -1,11 +1,19 @@
|
||||
<script lang="ts">
|
||||
import _ from 'lodash';
|
||||
import FormArchiveFilesSelect from '../forms/FormArchiveFilesSelect.svelte';
|
||||
|
||||
import FormArchiveFolderSelect from '../forms/FormArchiveFolderSelect.svelte';
|
||||
import FormArgumentList from '../forms/FormArgumentList.svelte';
|
||||
|
||||
import { getFormContext } from '../forms/FormProviderCore.svelte';
|
||||
import FormSelectField from '../forms/FormSelectField.svelte';
|
||||
|
||||
import FontIcon from '../icons/FontIcon.svelte';
|
||||
import { findFileFormat, getFileFormatDirections } from '../plugins/fileformats';
|
||||
import SqlEditor from '../query/SqlEditor.svelte';
|
||||
import { extensions } from '../stores';
|
||||
import { useArchiveFiles, useDatabaseInfo } from '../utility/metadataLoaders';
|
||||
import FilesInput from './FilesInput.svelte';
|
||||
import FormConnectionSelect from './FormConnectionSelect.svelte';
|
||||
import FormDatabaseSelect from './FormDatabaseSelect.svelte';
|
||||
import FormSchemaSelect from './FormSchemaSelect.svelte';
|
||||
@@ -20,6 +28,7 @@
|
||||
export let schemaNameField;
|
||||
export let tablesField = undefined;
|
||||
export let engine = undefined;
|
||||
export let setPreviewSource = undefined;
|
||||
|
||||
const { values, setFieldValue } = getFormContext();
|
||||
|
||||
@@ -82,6 +91,40 @@
|
||||
/>
|
||||
{/if}
|
||||
{/if}
|
||||
{#if storageType == 'query'}
|
||||
<div class="label">Query</div>
|
||||
<div class="sqlwrap">
|
||||
<SqlEditor
|
||||
value={$values.sourceSql}
|
||||
on:input={e => setFieldValue('sourceSql', e.detail)}
|
||||
{engine}
|
||||
focusOnCreate
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if storageType == 'archive'}
|
||||
<FormArchiveFolderSelect
|
||||
label="Archive folder"
|
||||
name={archiveFolderField}
|
||||
additionalFolders={_.compact([$values[archiveFolderField]])}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
{#if storageType == 'archive' && direction == 'source'}
|
||||
<FormArchiveFilesSelect label="Source files" folderName={$values[archiveFolderField]} name={tablesField} />
|
||||
{/if}
|
||||
|
||||
{#if format && direction == 'source'}
|
||||
<FilesInput {setPreviewSource} />
|
||||
{/if}
|
||||
|
||||
{#if format && format.args}
|
||||
<FormArgumentList
|
||||
args={format.args.filter(arg => !arg.direction || arg.direction == direction)}
|
||||
namePrefix={`${direction}_${format.storageType}_`}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
@@ -95,4 +138,19 @@
|
||||
margin: 10px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sqlwrap {
|
||||
position: relative;
|
||||
height: 100px;
|
||||
width: 20vw;
|
||||
margin-left: var(--dim-large-form-margin);
|
||||
margin-bottom: var(--dim-large-form-margin);
|
||||
}
|
||||
|
||||
.label {
|
||||
margin-left: var(--dim-large-form-margin);
|
||||
margin-top: var(--dim-large-form-margin);
|
||||
margin-bottom: 3px;
|
||||
color: var(--theme-font-3);
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user