From 36da8aec080742e13f23e1dee12b3954947f53dd Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sun, 4 May 2025 18:18:58 +0200 Subject: [PATCH] fix: improve MultiSelectWrapper behavior --- .../lib/components/apps/editor/SettingsPanel.svelte | 2 +- .../editor/settingsPanel/EventHandlerItem.svelte | 13 ++++++++----- .../multiselect/MultiSelectWrapper.svelte | 4 +++- .../(logged)/user/(user)/workspaces/+page.svelte | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/frontend/src/lib/components/apps/editor/SettingsPanel.svelte b/frontend/src/lib/components/apps/editor/SettingsPanel.svelte index ae4143dd34..b2e0a4b52e 100644 --- a/frontend/src/lib/components/apps/editor/SettingsPanel.svelte +++ b/frontend/src/lib/components/apps/editor/SettingsPanel.svelte @@ -293,7 +293,7 @@ tooltip="This event is triggered when the script runs successfully." items={Object.keys($runnableComponents).filter((_id) => _id !== id)} bind:value={ - () => hiddenInlineScript.script.recomputeIds, + () => hiddenInlineScript.script.recomputeIds ?? [], (v) => { if ($app.hiddenInlineScripts[hiddenInlineScript.index]) { $app.hiddenInlineScripts[hiddenInlineScript.index].recomputeIds = v diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/EventHandlerItem.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/EventHandlerItem.svelte index 41c29638e5..1bf94a76a4 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/EventHandlerItem.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/EventHandlerItem.svelte @@ -4,12 +4,15 @@ import MultiSelect from '$lib/components/multiselect/MultiSelectWrapper.svelte' import { twMerge } from 'tailwind-merge' - export let items: string[] - export let value: string[] | undefined = undefined - export let title: string - export let tooltip: string - let width = 0 + let { items, value = $bindable(), title, tooltip } = $props<{ + items: string[] + value: string[] | undefined + title: string + tooltip: string + }>() + + let width = $state(0) const inputWidth = 280 diff --git a/frontend/src/lib/components/multiselect/MultiSelectWrapper.svelte b/frontend/src/lib/components/multiselect/MultiSelectWrapper.svelte index 1687d5ec3b..3457c0c766 100644 --- a/frontend/src/lib/components/multiselect/MultiSelectWrapper.svelte +++ b/frontend/src/lib/components/multiselect/MultiSelectWrapper.svelte @@ -9,7 +9,7 @@ let { items, - value = $bindable([]), + value = $bindable(), placeholder = undefined, target = undefined, topPlacement = false, @@ -23,6 +23,8 @@ allowUserOptions?: boolean | 'append' }>() + $effect.pre(() => { if (value === undefined) value = [] }) + const [floatingRef, floatingContent] = createFloatingActions({ strategy: 'absolute', placement: topPlacement ? 'top-start' : 'bottom-start', diff --git a/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte b/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte index 016e923464..abf5ce563f 100644 --- a/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/user/(user)/workspaces/+page.svelte @@ -133,7 +133,7 @@ } else { await goto(rd ?? '/') } - console.log('Workspace selected, going to', rd) + console.log('Workspace selected going to ' + (rd ? `rd: ${rd}` : 'home')) } catch (e) { console.error('Error going to', rd, e) window.location.reload()