This commit is contained in:
Jan Prochazka
2022-02-26 14:15:53 +01:00
parent 7b8c0be044
commit fbae2341d5
4 changed files with 28 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
<script lang="ts">
import { getFormContext } from './FormProviderCore.svelte';
import FormCheckboxFieldRaw from './FormCheckboxFieldRaw.svelte';
import { createEventDispatcher } from 'svelte';
export let label;
export let name;
@@ -8,7 +9,7 @@
export let templateProps = {};
const { template, setFieldValue, values } = getFormContext();
const dispatch = createEventDispatcher();
</script>
<svelte:component
@@ -17,7 +18,14 @@
{label}
{disabled}
{...templateProps}
labelProps={disabled ? { disabled: true } : { onClick: () => setFieldValue(name, !$values[name]) }}
labelProps={disabled
? { disabled: true }
: {
onClick: () => {
setFieldValue(name, !$values[name]);
dispatch('change');
},
}}
>
<FormCheckboxFieldRaw {name} {...$$restProps} {disabled} />
<FormCheckboxFieldRaw {name} {...$$restProps} {disabled} on:change />
</svelte:component>

View File

@@ -11,4 +11,4 @@
}
</script>
<CheckboxField {...$$restProps} checked={$values[name] ?? defaultValue} on:change={handleChange} />
<CheckboxField {...$$restProps} checked={$values[name] ?? defaultValue} on:change={handleChange} on:change />