mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 14:36:01 +00:00
option to skip table save confirmation #329
This commit is contained in:
36
packages/web/src/forms/TemplatedCheckboxField.svelte
Normal file
36
packages/web/src/forms/TemplatedCheckboxField.svelte
Normal file
@@ -0,0 +1,36 @@
|
||||
<script lang="ts">
|
||||
import { getFormContext } from './FormProviderCore.svelte';
|
||||
import { createEventDispatcher } from 'svelte';
|
||||
|
||||
export let label;
|
||||
export let name;
|
||||
export let disabled = false;
|
||||
export let templateProps = {};
|
||||
export let checked: boolean;
|
||||
|
||||
let refInput;
|
||||
|
||||
const { template, setFieldValue, values } = getFormContext();
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
function handleChange() {
|
||||
dispatch('change', refInput.checked);
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:component
|
||||
this={template}
|
||||
type="checkbox"
|
||||
{label}
|
||||
{disabled}
|
||||
{...templateProps}
|
||||
labelProps={disabled
|
||||
? { disabled: true }
|
||||
: {
|
||||
onClick: () => {
|
||||
dispatch('change', !refInput.checked);
|
||||
},
|
||||
}}
|
||||
>
|
||||
<input bind:this={refInput} {checked} type="checkbox" {...$$restProps} on:change={handleChange} />
|
||||
</svelte:component>
|
||||
Reference in New Issue
Block a user