fix: fix flow viewer renderer outside of flow details and editor context
This commit is contained in:
@@ -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}
|
||||
>
|
||||
<FlowGraphV2
|
||||
{triggerNode}
|
||||
path={flow?.path}
|
||||
{download}
|
||||
minHeight={400}
|
||||
|
||||
@@ -945,6 +945,7 @@
|
||||
</div>
|
||||
|
||||
<FlowGraphV2
|
||||
triggerNode={true}
|
||||
download={!hideDownloadInGraph}
|
||||
minHeight={wrapperHeight}
|
||||
success={jobId != undefined && isSuccess(job?.['success'])}
|
||||
|
||||
@@ -1,15 +1,33 @@
|
||||
<script lang="ts">
|
||||
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<ScheduleTrigger | undefined | false>(undefined)
|
||||
const triggersCount = writable<TriggersCount | undefined>(undefined)
|
||||
setContext<TriggerContext>('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 @@
|
||||
|
||||
<div class="flex flex-col flex-1 h-full overflow-auto">
|
||||
{#if flow}
|
||||
<FlowGraphViewer {noSide} {flow} />
|
||||
<FlowGraphViewer triggerNode={true} {noSide} {flow} />
|
||||
{:else}
|
||||
<Skeleton layout={[[40]]} />
|
||||
{/if}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<Drawer bind:this={drawer} size="800px">
|
||||
<DrawerContent title="OpenFlow" on:close={() => drawer?.toggleDrawer()}>
|
||||
{#if $flowStore}
|
||||
<FlowViewer flow={cleanInputs($flowStore)} tab="raw" />
|
||||
<FlowViewer triggerNode={false} flow={cleanInputs($flowStore)} tab="raw" />
|
||||
{/if}
|
||||
</DrawerContent>
|
||||
</Drawer>
|
||||
|
||||
@@ -320,6 +320,7 @@
|
||||
|
||||
<div class="z-10 flex-auto grow bg-surface-secondary" bind:clientHeight={minHeight}>
|
||||
<FlowGraphV2
|
||||
triggerNode={true}
|
||||
path={$pathStore}
|
||||
{newFlow}
|
||||
{disableAi}
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
export let flowInputsStore: Writable<FlowInput | undefined> = writable<FlowInput | undefined>(
|
||||
undefined
|
||||
)
|
||||
export let triggerNode = false
|
||||
|
||||
let useDataflow: Writable<boolean | undefined> = writable<boolean | undefined>(false)
|
||||
|
||||
@@ -178,9 +179,11 @@
|
||||
$useDataflow,
|
||||
$selectedId,
|
||||
moving,
|
||||
{
|
||||
path
|
||||
}
|
||||
triggerNode
|
||||
? {
|
||||
path
|
||||
}
|
||||
: undefined
|
||||
)
|
||||
|
||||
const nodes = writable<Node[]>([])
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -473,6 +473,7 @@
|
||||
</div>
|
||||
<div class="mt-8">
|
||||
<FlowGraphViewer
|
||||
triggerNode={true}
|
||||
download
|
||||
{flow}
|
||||
overflowAuto
|
||||
|
||||
@@ -287,6 +287,7 @@
|
||||
<h2 class="mt-10">Flow details</h2>
|
||||
<div class="border border-gray-700">
|
||||
<FlowGraphV2
|
||||
triggerNode={false}
|
||||
modules={job.raw_flow?.modules}
|
||||
failureModule={job.raw_flow?.failure_module}
|
||||
preprocessorModule={job.raw_flow?.preprocessor_module}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
: { modules: [], failureModule: undefined, preprocessorModule: undefined }
|
||||
</script>
|
||||
|
||||
<FlowGraphV2 {modules} {failureModule} {preprocessorModule} />
|
||||
<FlowGraphV2 triggerNode={false} {modules} {failureModule} {preprocessorModule} />
|
||||
<a
|
||||
download="flow.json"
|
||||
href={'data:text/json;charset=utf-8,' +
|
||||
|
||||
Reference in New Issue
Block a user