From 2df7c85e2dcc1eefcaec1d45e183ee1b0e7655fa Mon Sep 17 00:00:00 2001 From: Clement Zhang Date: Fri, 8 Nov 2024 13:41:30 +0100 Subject: [PATCH] result as string[] --- .../apps/components/inputs/AppMultiSelectV2.svelte | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/components/apps/components/inputs/AppMultiSelectV2.svelte b/frontend/src/lib/components/apps/components/inputs/AppMultiSelectV2.svelte index 852d9603a1..912a2aca77 100644 --- a/frontend/src/lib/components/apps/components/inputs/AppMultiSelectV2.svelte +++ b/frontend/src/lib/components/apps/components/inputs/AppMultiSelectV2.svelte @@ -37,7 +37,7 @@ components['multiselectcomponentv2'].initialData.configuration, configuration ) - const outputs = initOutput($worldStore, id, { result: [] as any[] }) + const outputs = initOutput($worldStore, id, { result: [] as string[] }) let options: ObjectOption[] = [] let selectedOptions: ObjectOption[] = [...new Set(findOptionsByValue(outputs?.result.peak()))] @@ -83,7 +83,14 @@ } selectedOptions = findOptionsByValue(values) - outputs?.result.set([...(selectedOptions.map((option) => option.value) ?? [])]) + outputs?.result.set([...toStringValues(selectedOptions)]) + } + + function toStringValues(options: ObjectOption[] | undefined) { + if (!options) { + return [] + } + return options.map((o) => (typeof o.value === 'string' ? o.value : JSON.stringify(o.value))) } function setOuterDivStyle(outerDiv: HTMLDivElement, portalRef: HTMLDivElement, style: string) { @@ -154,7 +161,7 @@ if (event?.detail?.type === 'removeAll') { outputs?.result.set([]) } else { - outputs?.result.set([...(selectedOptions.map((option) => option.value) ?? [])]) + outputs?.result.set([...toStringValues(selectedOptions)]) } }} on:open={() => {