1
0
Fork 0
mirror of synced 2024-06-30 12:00:31 +12:00
budibase/packages/standard-components/src/forms/AttachmentField.svelte

46 lines
920 B
Svelte
Raw Normal View History

2021-01-30 02:22:38 +13:00
<script>
import Field from "./Field.svelte"
2021-01-30 02:22:38 +13:00
import Dropzone from "../attachments/Dropzone.svelte"
import { onMount } from "svelte"
2021-01-30 02:22:38 +13:00
export let field
export let label
export let disabled = false
2021-01-30 02:22:38 +13:00
let fieldState
let fieldApi
// Update form value from bound value after we've mounted
let value
let mounted = false
$: mounted && fieldApi?.setValue(value)
// Get the fields initial value after initialising
onMount(() => {
value = $fieldState?.value
mounted = true
})
2021-01-30 02:22:38 +13:00
</script>
<Field
{label}
{field}
{disabled}
type="attachment"
bind:fieldState
bind:fieldApi
defaultValue={[]}>
{#if mounted}
<div class:disabled={$fieldState.disabled}>
<Dropzone bind:files={value} />
</div>
2021-01-30 02:22:38 +13:00
{/if}
</Field>
<style>
div.disabled :global(> *) {
background-color: var(--spectrum-global-color-gray-200) !important;
pointer-events: none !important;
}
</style>