{#if job}
{#if innerModules.length > 0}

Flow result

{/if} {#if isListJob} {#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}
{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 isListJob}

Embedded flows: ({flowJobIds?.flowJobs.length} items)

{#each 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, logs: e.detail.logs, job_id: e.detail.id, args: e.detail.args, iteration_total: flowJobIds?.flowJobs.length } } else { localFlowModuleStates[flowJobIds.moduleId] = { 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 } } } }} />
{/each} {:else if innerModules.length > 0} {/if}
{#if render} {#if job.raw_flow && !isListJob}
{#each Object.values(retry_status) as count} Retry in progress, # of failed attempts: {count} {/each} {#if suspend_status} Flow suspended, waiting for {pluralize(suspend_status, 'approval')} {/if}
{ if (typeof e.detail == 'string') { if (e.detail == 'Input') { selectedNode = 'start' } else if (e.detail == 'Result') { selectedNode = 'end' } else { selectedNode = e.detail } } else { selectedNode = e.detail.id } }} modules={job.raw_flow?.modules ?? []} failureModule={job.raw_flow?.failure_module} />
{#if selectedNode} {@const node = localFlowModuleStates[selectedNode]} {#if selectedNode == 'end'} {:else if selectedNode == 'start'} {#if job.args}
{:else}

No arguments

{/if} {:else if node}
{#if node.job_id} {/if}
{:else}

The execution of this node has no information attached to it. The job likely did not run yet

{/if} {:else}

Select a node to see its details here

{/if}
{/if} {/if} {:else} Job loading... {/if}