From 21602f125f9afa87caa6fc5eae59e490915281bb Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Thu, 11 Sep 2025 08:54:05 +0000 Subject: [PATCH] fix scheduled poll --- .../flows/map/InsertModuleInner.svelte | 4 +- .../renderers/triggers/TriggersWrapper.svelte | 58 ++++++++++++------- .../triggers/AddTriggersButton.svelte | 6 -- 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/frontend/src/lib/components/flows/map/InsertModuleInner.svelte b/frontend/src/lib/components/flows/map/InsertModuleInner.svelte index b088fcd7ee..c2e887063a 100644 --- a/frontend/src/lib/components/flows/map/InsertModuleInner.svelte +++ b/frontend/src/lib/components/flows/map/InsertModuleInner.svelte @@ -1,6 +1,4 @@ diff --git a/frontend/src/lib/components/graph/renderers/triggers/TriggersWrapper.svelte b/frontend/src/lib/components/graph/renderers/triggers/TriggersWrapper.svelte index b07ab41833..acfa8547ba 100644 --- a/frontend/src/lib/components/graph/renderers/triggers/TriggersWrapper.svelte +++ b/frontend/src/lib/components/graph/renderers/triggers/TriggersWrapper.svelte @@ -7,6 +7,9 @@ import InsertModuleInner from '$lib/components/flows/map/InsertModuleInner.svelte' import AddTriggersButton from '$lib/components/triggers/AddTriggersButton.svelte' import { twMerge } from 'tailwind-merge' + import Portal from '$lib/components/Portal.svelte' + import { flip, offset } from 'svelte-floating-ui/dom' + import { createFloatingActions, type ComputeConfig } from 'svelte-floating-ui' interface Props { path: string @@ -41,9 +44,19 @@ let hover = $state(false) let addTriggersButton = $state(undefined) + + let floatingConfig: ComputeConfig = { + strategy: 'fixed', + // @ts-ignore + placement: 'bottom', + middleware: [offset(8), flip()], + autoUpdate: true + } + + const [floatingRef, floatingContent] = createFloatingActions(floatingConfig) -
+
-{#snippet triggerScriptPicker()} -
- { - dispatch('openScheduledPoll') - }} - on:close={() => { - addTriggersButton?.close() - }} - kind="trigger" - /> -
-{/snippet} +{#if showTriggerScriptPicker} + +
+ { + showTriggerScriptPicker = false + dispatch('new', e.detail) + }} + on:pickScript={(e) => { + showTriggerScriptPicker = false + dispatch('pickScript', e.detail) + }} + kind="trigger" + /> +
+
+{/if} diff --git a/frontend/src/lib/components/triggers/AddTriggersButton.svelte b/frontend/src/lib/components/triggers/AddTriggersButton.svelte index f10a54a99f..bacbbc6325 100644 --- a/frontend/src/lib/components/triggers/AddTriggersButton.svelte +++ b/frontend/src/lib/components/triggers/AddTriggersButton.svelte @@ -23,7 +23,6 @@ setDropdownWidthToButtonWidth = false, children, class: className, - triggerScriptPicker, placement = 'bottom', isEditor = false, onAddDraftTrigger, @@ -94,7 +93,6 @@ { displayName: 'Scheduled Poll', action: (e) => { - e.preventDefault() onAddDraftTrigger?.('poll') onAddScheduledPoll?.() }, @@ -126,7 +124,6 @@ class={className} customWidth={setDropdownWidthToButtonWidth ? triggersButtonWidth : undefined} usePointerDownOutside - customMenu={!!triggerScriptPicker} on:close={() => onClose?.()} > {#snippet buttonReplacement()} @@ -134,7 +131,4 @@ {@render children?.()}
{/snippet} - {#snippet menu()} - {@render triggerScriptPicker?.()} - {/snippet}