diff --git a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
index 1ec32cb3fd..c3bae3e079 100644
--- a/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
+++ b/packages/builder/src/components/backend/DataTable/RowFieldControl.svelte
@@ -1,4 +1,5 @@
+ {
+ const signatureFile = sigCanvas.toFile()
+
+ let attachRequest = new FormData()
+ attachRequest.append("file", signatureFile)
+
+ try {
+ const uploadReq = await API.uploadBuilderAttachment(attachRequest)
+ value = uploadReq
+ } catch (error) {
+ $notifications.error(error.message || "Failed to save signature")
+ value = []
+ }
+ }}
+ title={meta.name}
+ {value}
+ bind:this={signatureModal}
+/>
+
{#if type === "options" && meta.constraints.inclusion.length !== 0}
{:else if type === "attachment"}
-
+ {
+ value = e.detail
+ }}
+ />
+{:else if type === "attachment_single"}
+ {
+ value = e.detail?.[0]
+ }}
+ maximum={1}
+ />
+{:else if type === "signature"}
+
+
+
+ {#if value?.length}
+
{
+ value = []
+ }}
+ />
+ {:else}
+ {
+ signatureModal.show()
+ }}
+ >
+ Add signature
+
+ {/if}
+
+
{:else if type === "boolean"}
{:else if type === "array" && meta.constraints.inclusion.length !== 0}
@@ -95,3 +171,22 @@
{:else}
{/if}
+
+
diff --git a/packages/builder/src/components/common/Dropzone.svelte b/packages/builder/src/components/common/Dropzone.svelte
index a864e1d028..cac7da9bf1 100644
--- a/packages/builder/src/components/common/Dropzone.svelte
+++ b/packages/builder/src/components/common/Dropzone.svelte
@@ -35,4 +35,5 @@
{...$$restProps}
{processFiles}
{handleFileTooLarge}
+ on:change
/>