mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 05:26:00 +00:00
macro parameters
This commit is contained in:
27
packages/web/src/forms/FormArgument.svelte
Normal file
27
packages/web/src/forms/FormArgument.svelte
Normal file
@@ -0,0 +1,27 @@
|
||||
<script lang="ts">
|
||||
import _ from 'lodash';
|
||||
|
||||
import FormCheckboxField from './FormCheckboxField.svelte';
|
||||
import FormSelectField from './FormSelectField.svelte';
|
||||
import FormTextField from './FormTextField.svelte';
|
||||
|
||||
export let arg;
|
||||
export let namePrefix;
|
||||
|
||||
$: name = `${namePrefix}${arg.name}`;
|
||||
</script>
|
||||
|
||||
{#if arg.type == 'text'}
|
||||
<FormTextField label={arg.label} {name} />
|
||||
{:else if arg.type == 'checkbox'}
|
||||
<FormCheckboxField label={arg.label} {name} defaultValue={arg.default} />
|
||||
{:else if arg.type == 'select'}
|
||||
<FormSelectField
|
||||
label={arg.label}
|
||||
isNative
|
||||
{name}
|
||||
options={arg.options.map(opt =>
|
||||
_.isString(opt) ? { label: opt, value: opt } : { label: opt.name, value: opt.value }
|
||||
)}
|
||||
/>
|
||||
{/if}
|
||||
12
packages/web/src/forms/FormArgumentList.svelte
Normal file
12
packages/web/src/forms/FormArgumentList.svelte
Normal file
@@ -0,0 +1,12 @@
|
||||
<script lang="ts">
|
||||
import FormArgument from './FormArgument.svelte';
|
||||
|
||||
export let namePrefix;
|
||||
export let args: any[];
|
||||
</script>
|
||||
|
||||
<div>
|
||||
{#each args as arg (arg.name)}
|
||||
<FormArgument {arg} {namePrefix} />
|
||||
{/each}
|
||||
</div>
|
||||
@@ -9,10 +9,12 @@
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import FormFieldTemplateLarge from '../modals/FormFieldTemplateLarge.svelte';
|
||||
|
||||
import keycodes from '../utility/keycodes';
|
||||
|
||||
export let values;
|
||||
export let template;
|
||||
export let template = FormFieldTemplateLarge;
|
||||
|
||||
const setFieldValue = (name, value) => {
|
||||
values.update(x => ({ ...x, [name]: value }));
|
||||
|
||||
Reference in New Issue
Block a user