diff --git a/frontend/src/lib/components/FlowGraphViewer.svelte b/frontend/src/lib/components/FlowGraphViewer.svelte index 25652ed7dc..1ecef2943f 100644 --- a/frontend/src/lib/components/FlowGraphViewer.svelte +++ b/frontend/src/lib/components/FlowGraphViewer.svelte @@ -20,7 +20,7 @@ export let noSide = false export let download = false export let noGraph = false - + export let triggerNode = false export let stepDetail: FlowModule | string | undefined = undefined const dispatch = createEventDispatcher() @@ -33,6 +33,7 @@ class:overflow-auto={overflowAuto} > import Skeleton from '$lib/components/common/skeleton/Skeleton.svelte' import FlowGraphViewer from '$lib/components/FlowGraphViewer.svelte' - import { FlowService, type Flow } from '$lib/gen' + import type { ScheduleTrigger, TriggerContext } from '$lib/components/triggers' + import { FlowService, type Flow, type TriggersCount } from '$lib/gen' import { workspaceStore } from '$lib/stores' + import { setContext } from 'svelte' + import { writable } from 'svelte/store' export let path: string export let noSide = false let flow: Flow | undefined = undefined + + const selectedTriggerStore = writable<'webhooks' | 'emails' | 'schedules' | 'cli' | 'routes'>( + 'webhooks' + ) + const primaryScheduleStore = writable(undefined) + const triggersCount = writable(undefined) + setContext('TriggerContext', { + primarySchedule: primaryScheduleStore, + selectedTrigger: selectedTriggerStore, + triggersCount: triggersCount + }) + async function loadFlow(path: string) { flow = await FlowService.getFlowByPath({ workspace: $workspaceStore!, path }) + triggersCount.set( + await FlowService.getTriggersCountOfFlow({ workspace: $workspaceStore!, path }) + ) } $: path && loadFlow(path) @@ -17,7 +35,7 @@
{#if flow} - + {:else} {/if} diff --git a/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte index 7ba42ba4aa..9dee98e7c4 100644 --- a/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte +++ b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte @@ -14,7 +14,7 @@ drawer?.toggleDrawer()}> {#if $flowStore} - + {/if} diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte index 887f4d6504..6b23ba909b 100644 --- a/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte +++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaMap.svelte @@ -320,6 +320,7 @@
= writable( undefined ) + export let triggerNode = false let useDataflow: Writable = writable(false) @@ -178,9 +179,11 @@ $useDataflow, $selectedId, moving, - { - path - } + triggerNode + ? { + path + } + : undefined ) const nodes = writable([]) diff --git a/frontend/src/lib/components/graph/graphBuilder.ts b/frontend/src/lib/components/graph/graphBuilder.ts index 1ac26bc3ff..573d2da2d5 100644 --- a/frontend/src/lib/components/graph/graphBuilder.ts +++ b/frontend/src/lib/components/graph/graphBuilder.ts @@ -155,7 +155,7 @@ export default function graphBuilder( } } - if (extra.path) { + if (extra.path && triggerProps != undefined) { const triggerNode: Node = { id: 'Trigger', position: { x: -1, y: -1 }, diff --git a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte index 76ea250186..dfb55daff5 100644 --- a/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/get/[...path]/+page.svelte @@ -473,6 +473,7 @@
Flow details
- +