diff --git a/packages/client/src/components/app/forms/AttachmentField.svelte b/packages/client/src/components/app/forms/AttachmentField.svelte
index eff0b8c408..7ce1d21998 100644
--- a/packages/client/src/components/app/forms/AttachmentField.svelte
+++ b/packages/client/src/components/app/forms/AttachmentField.svelte
@@ -16,18 +16,14 @@
export let span
export let helpText = null
export let type = FieldType.ATTACHMENT
+ export let fieldApiMapper = {
+ get: value => value,
+ set: value => value,
+ }
let fieldState
let fieldApi
- $: isSingle = type === FieldType.ATTACHMENT_SINGLE
- $: value =
- isSingle && !Array.isArray(fieldState?.value)
- ? fieldState?.value
- ? [fieldState.value]
- : []
- : fieldState?.value
-
const { API, notificationStore } = getContext("sdk")
const formContext = getContext("form")
const BYTES_IN_MB = 1000000
@@ -73,10 +69,7 @@
}
const handleChange = e => {
- let value = e.detail
- if (isSingle) {
- value = value[0] || null
- }
+ const value = fieldApiMapper.set(e.detail)
const changed = fieldApi.setValue(value)
if (onChange && changed) {
onChange({ value })
@@ -99,7 +92,7 @@
>
{#if fieldState}
diff --git a/packages/client/src/components/app/forms/SingleAttachmentField.svelte b/packages/client/src/components/app/forms/SingleAttachmentField.svelte
index 4810f4e848..1eab255b9e 100644
--- a/packages/client/src/components/app/forms/SingleAttachmentField.svelte
+++ b/packages/client/src/components/app/forms/SingleAttachmentField.svelte
@@ -1,6 +1,16 @@
-
+