diff --git a/frontend/src/lib/components/triggers/postgres/PostgresTriggersPanel.svelte b/frontend/src/lib/components/triggers/postgres/PostgresTriggersPanel.svelte index ba0403f8490e8..7f6406591bbac 100644 --- a/frontend/src/lib/components/triggers/postgres/PostgresTriggersPanel.svelte +++ b/frontend/src/lib/components/triggers/postgres/PostgresTriggersPanel.svelte @@ -20,13 +20,14 @@ export let isEditor: boolean = false let postgresTriggerEditor: PostgresTriggerEditor + let openForm = true + let dontCloseOnLoad = false $: path && loadTriggers() const { triggersCount, selectedTrigger, defaultValues } = getContext('TriggerContext') - onMount(() => { if ( defaultValues && @@ -51,6 +52,7 @@ return { canWrite: canWrite(x.path, x.extra_perms!, $userStore), ...x } }) $triggersCount = { ...($triggersCount ?? {}), postgres_count: postgresTriggers?.length } + openForm = postgresTriggers?.length === 0 || dontCloseOnLoad } catch (err) { sendUserToast(`Could not load postgres triggers ${err.body}`, true) } @@ -75,24 +77,8 @@ database. Listening is done using Postgres's logical replication streaming protocol, ensuring efficient and low-latency triggering. - { - postgresTriggerEditor?.openNew(isFlow, path, e.detail.config) - }} - on:addPreprocessor - on:updateSchema - on:testWithArgs - cloudDisabled={false} - triggerType="postgres" - {isFlow} - {path} - {isEditor} - {canHavePreprocessor} - {hasPreprocessor} - {newItem} - /> - {#if !newItem} + + {#if !newItem && postgresTriggers && postgresTriggers.length > 0}
{#if postgresTriggers} @@ -126,5 +112,23 @@
{/if} + { + postgresTriggerEditor?.openNew(isFlow, path, e.detail.config) + }} + on:addPreprocessor + on:updateSchema + on:testWithArgs + cloudDisabled={false} + triggerType="postgres" + {isFlow} + {path} + {isEditor} + {canHavePreprocessor} + {hasPreprocessor} + {newItem} + {openForm} + /> {/if}