From d1fab8449fb06d1b5d61e3fa797b0807b86a78de Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 26 Jan 2024 00:53:28 +0100 Subject: [PATCH] fix setTab expr --- .../apps/components/helpers/RunnableWrapper.svelte | 12 +++++++++--- .../components/apps/editor/component/components.ts | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte index 8f7454fef5..856ce66974 100644 --- a/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte +++ b/frontend/src/lib/components/apps/components/helpers/RunnableWrapper.svelte @@ -29,7 +29,10 @@ configuration: { gotoUrl: { url: (() => string) | string | undefined; newTab: boolean | undefined } setTab: { - setTab: { id: string; index: number }[] | undefined + setTab: + | (() => { id: string; index: number }[]) + | { id: string; index: number }[] + | undefined } sendToast?: { message: (() => string) | string | undefined @@ -135,8 +138,11 @@ switch (sideEffect.selected) { case 'setTab': - const setTab = sideEffect?.configuration.setTab?.setTab - + let setTab = sideEffect?.configuration.setTab?.setTab + if (!setTab) return + if (typeof setTab === 'function') { + setTab = await setTab() + } if (Array.isArray(setTab)) { setTab.forEach((tab) => { if (tab) { diff --git a/frontend/src/lib/components/apps/editor/component/components.ts b/frontend/src/lib/components/apps/editor/component/components.ts index f0baa3429e..616144404f 100644 --- a/frontend/src/lib/components/apps/editor/component/components.ts +++ b/frontend/src/lib/components/apps/editor/component/components.ts @@ -503,7 +503,8 @@ const onErrorClick = { value: [] as Array<{ id: string; index: number }>, fieldType: 'array', subFieldType: 'tab-select', - tooltip: 'Set the tabs id and index to go to on error' + tooltip: 'Set the tabs id and index to go to on error', + onDemandOnly: true } }, sendErrorToast: {