From c4d8eeec073a9d46e5849d06dc9bf17b42aa822a Mon Sep 17 00:00:00 2001 From: HugoCasa Date: Wed, 9 Apr 2025 00:41:49 +0200 Subject: [PATCH] fix: improve app image picker UX (#5589) --- .../src/lib/components/S3FilePicker.svelte | 14 +++++++++-- .../settingsPanel/InputsSpecEditor.svelte | 25 +++++++++++++------ .../inputEditor/UploadInputEditor.svelte | 21 +++++++++++----- 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/frontend/src/lib/components/S3FilePicker.svelte b/frontend/src/lib/components/S3FilePicker.svelte index a4d3acf3b2..3fd2e3a309 100644 --- a/frontend/src/lib/components/S3FilePicker.svelte +++ b/frontend/src/lib/components/S3FilePicker.svelte @@ -50,7 +50,9 @@ let csvSeparatorChar: string = ',' let csvHasHeader: boolean = true - let dispatch = createEventDispatcher() + let dispatch = createEventDispatcher<{ + close: { s3: string; storage: string | undefined } | undefined + }>() let drawer: Drawer @@ -466,7 +468,15 @@ { - dispatch('close') + dispatch( + 'close', + selectedFileKey?.s3 + ? { + s3: selectedFileKey.s3, + storage: storage + } + : undefined + ) }} size="1200px" > diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecEditor.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecEditor.svelte index d73763c98f..bbc342e5e2 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/InputsSpecEditor.svelte @@ -64,11 +64,15 @@ let s3FilePicker: S3FilePicker | undefined let s3PickerSelection: { s3: string; storage?: string } | undefined = undefined let s3FolderPrefix: string = '' - $: s3PickerSelection && updateSelectedS3File() function updateSelectedS3File() { if (s3PickerSelection) { - componentInput['value'] = `s3://${s3PickerSelection.s3}` + // @ts-ignore + componentInput = { + ...componentInput, + type: 'static', + value: `s3://${s3PickerSelection.s3}` + } } } @@ -125,8 +129,8 @@ {customTitle ? customTitle : shouldCapitalize - ? capitalize(addWhitespaceBeforeCapitals(key)) - : key} + ? capitalize(addWhitespaceBeforeCapitals(key)) + : key} {#if loading} @@ -235,7 +239,12 @@ {:else if componentInput?.type === 'uploadS3'}
- +
{ + s3PickerSelection = e.detail + updateSelectedS3File() + }} readOnlyMode={false} regexFilter={/\.(png|jpg|jpeg|svg|webp)$/i} /> diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte index 1c3496f3bf..4758d1f357 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/UploadInputEditor.svelte @@ -1,11 +1,16 @@