From bf8f0c92bcbe68359bc2225f6880a7660543df76 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Sat, 23 Mar 2024 16:41:59 +0100 Subject: [PATCH] improve flow rendering --- .../src/lib/components/FlowJobResult.svelte | 18 +++++++++++++++--- .../components/FlowStatusViewerInner.svelte | 18 +++++++++++++----- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/frontend/src/lib/components/FlowJobResult.svelte b/frontend/src/lib/components/FlowJobResult.svelte index f89f5dbc51..787ef86c0a 100644 --- a/frontend/src/lib/components/FlowJobResult.svelte +++ b/frontend/src/lib/components/FlowJobResult.svelte @@ -13,25 +13,37 @@ export let filename: string | undefined = undefined export let jobId: string | undefined = undefined export let workspaceId: string | undefined = undefined + export let refreshLog: boolean = false $: jobId && logs == undefined && getLogs() + let logOffset = 0 async function getLogs() { if (jobId) { const getUpdate = await JobService.getJobUpdates({ workspace: workspaceId ?? $workspaceStore!, id: jobId, running: loading, - logOffset: 0 + logOffset: logOffset == 0 ? (logs?.length ? logs?.length + 1 : 0) : logOffset }) - logs = getUpdate.new_logs + logs = (logs ?? '').concat(getUpdate.new_logs ?? '') + logOffset = getUpdate.log_offset ?? 0 + } + if (refreshLog) { + setTimeout(() => { + if (refreshLog) { + getLogs() + } + }, 1000) } }
Result diff --git a/frontend/src/lib/components/FlowStatusViewerInner.svelte b/frontend/src/lib/components/FlowStatusViewerInner.svelte index 3e06076328..d5d268933b 100644 --- a/frontend/src/lib/components/FlowStatusViewerInner.svelte +++ b/frontend/src/lib/components/FlowStatusViewerInner.svelte @@ -199,6 +199,7 @@ } let errorCount = 0 + let logOffset = 0 async function loadJobInProgress() { if (jobId != '00000000-0000-0000-0000-000000000000') { try { @@ -225,6 +226,7 @@ async function updateJobId() { if (jobId !== job?.id) { + logOffset = 0 $localModuleStates = {} $localDurationStatuses = {} flowTimeline?.reset() @@ -429,7 +431,7 @@

{/if} {#if render} -
+
{/if} @@ -453,7 +455,9 @@ {:else if job.flow_status?.modules?.[job?.flow_status?.step]?.type === FlowStatusModule.type.WAITING_FOR_EVENTS} {:else if job.logs} -
+
{job.logs}
{:else if innerModules?.length > 0} @@ -676,7 +680,9 @@ failureModule={job.raw_flow?.failure_module} />
-
+
Timeline Details @@ -689,7 +695,7 @@ durationStatuses={localDurationStatuses} /> {:else if rightColumnSelect == 'detail'} -
+
{#if selectedNode} {@const node = $localModuleStates[selectedNode]} @@ -743,7 +749,9 @@ workspaceId={job?.workspace_id} jobId={node.job_id} noBorder - loading={false} + loading={node.type != FlowStatusModule.type.SUCCESS && + node.type != FlowStatusModule.type.FAILURE} + refreshLog={node.type == FlowStatusModule.type.IN_PROGRESS} col result={node.result} logs={node.logs}