- {#if innerModules.length > 0}
-
Flow result
- {/if}
- {#if isListJob}
- {#if (flowJobIds?.flowJobs.length ?? 0) > 20}
-
- For performance reasons, only the last 20 items are shown.
-
- {/if}
- {#if render}
-
-
-
- {/if}
- {:else if render}
-
0 ? 'border rounded-md shadow p-2' : ''}>
-
- {#if `result` in job}
-
-
-
- {:else if job.flow_status?.modules?.[job?.flow_status?.step]?.type === FlowStatusModule.type.WAITING_FOR_EVENTS}
-
- {:else if job.logs}
-
- {:else if innerModules?.length > 0}
-
- {#each innerModules as mod, i (mod.id)}
- {#if mod.type == FlowStatusModule.type.IN_PROGRESS}
- {@const rawMod = job.raw_flow?.modules[i]}
-
-
{mod.id}
-
- {#if !emptyString(rawMod?.summary)}
- {rawMod?.summary ?? ''}
- {:else if rawMod?.value.type == 'script'}
- {rawMod.value.path ?? ''}
- {:else if rawMod?.value.type}
- {rawMod?.value.type}
- {/if}
-
-
-
- {/if}
- {/each}
-
- {/if}
-
- {/if}
- {#if render}
- {#if innerModules.length > 0 && !isListJob}
-
- Graph
-
- Details
-
- {/if}
- {/if}
- {#if render && selected == 'timeline'}
-
- {/if}
-
- {#if isListJob}
-
- Embedded flows: ({flowJobIds?.flowJobs.length} items)
-
- {#if (flowJobIds?.flowJobs.length ?? 0) > 20}
-
- For performance reasons, only the last 20 items are shown.
-
- {/if}
- {#each (flowJobIds?.flowJobs.length ?? 0) > 20 ? flowJobIds?.flowJobs?.slice(showEmbeddeds) ?? [] : flowJobIds?.flowJobs ?? [] as loopJobId, j}
- {#if render}
-
- {/if}
-
- {
- if (flowJobIds?.moduleId) {
- if (flowState?.[flowJobIds.moduleId]) {
- if (
- !flowState[flowJobIds.moduleId].previewResult ||
- !Array.isArray(flowState[flowJobIds.moduleId]?.previewResult)
- ) {
- flowState[flowJobIds.moduleId].previewResult = []
- }
- flowState[flowJobIds.moduleId].previewResult[j] = e.detail.result
- flowState[flowJobIds.moduleId].previewArgs = e.detail.args
- jobResults[j] =
- e.detail.type == 'QueuedJob' ? 'Job in progress ...' : e.detail.result
- jobFailures[j] = e.detail.success === false
- }
- if (e.detail.type == 'QueuedJob') {
- localFlowModuleStates[flowJobIds.moduleId] = {
- type: FlowStatusModule.type.IN_PROGRESS,
- started_at: e.detail.started_at
- ? new Date(e.detail.started_at).getTime()
- : undefined,
- logs: e.detail.logs,
- job_id: e.detail.id,
- args: e.detail.args,
- iteration_total: flowJobIds?.flowJobs.length
- }
- } else {
- localFlowModuleStates[flowJobIds.moduleId] = {
- started_at: e.detail.started_at
- ? new Date(e.detail.started_at).getTime()
- : undefined,
- args: e.detail.args,
- type: e.detail.success
- ? FlowStatusModule.type.SUCCESS
- : FlowStatusModule.type.FAILURE,
- logs: 'All jobs completed',
- result: jobResults,
- job_id: e.detail.id,
- iteration_total: flowJobIds?.flowJobs.length,
- duration_ms: e.detail.duration_ms
- }
- }
- }
- }}
- />
-
- {/each}
- {:else if innerModules.length > 0}
-
-
- Step-by-step results
-
-
- {#each innerModules as mod, i}
- {#if render}
-
-
- {#if job?.raw_flow?.modules && i < job?.raw_flow?.modules.length}
- Step
-
- {i + 1}
-
- out of
- {job?.raw_flow?.modules.length}
- {#if job.raw_flow?.modules[i]?.summary}
- :
- {job.raw_flow?.modules[i]?.summary ?? ''}
-
- {/if}
- {:else}
- Failure module
- {/if}
-
-
- {/if}
- -
- {#if [FlowStatusModule.type.IN_PROGRESS, FlowStatusModule.type.SUCCESS, FlowStatusModule.type.FAILURE].includes(mod.type)}
- {#if job.raw_flow?.modules[i]?.value.type == 'flow'}
- onJobsLoaded(mod, e.detail)}
- />
- {:else}
- onJobsLoaded(mod, e.detail)}
- />
- {/if}
- {:else}
-
- {/if}
-
- {/each}
-
- {/if}
-
-
- {#if render}
- {#if job.raw_flow && !isListJob}
-