+ {pipeline?.name || pipelineId} +
+{error}
+ +No executions found
+| + Status + | ++ Execution ID + | ++ Job / Business + | ++ Stages + | ++ Started + | ++ Duration + | +
|---|---|---|---|---|---|
|
+ |
+
+
+ {execution.id.slice(0, 8)}...
+
+ |
+ + {execution.job_id ? ( + + {execution.job_id.slice(0, 8)}... + + ) : execution.business_id ? ( + + {execution.business_id} + + ) : ( + - + )} + | ++ + {execution.stages_completed.length} / {execution.stages_requested.length} + + {execution.error_message && ( + + (error) + + )} + | ++ {formatDate(execution.started_at)} + | ++ {formatDuration(execution.started_at, execution.completed_at)} + | +
+ {error || 'Pipeline not found'} +
+ + Back to Pipelines + +{pipeline.description}
++ Version: {pipeline.version} +
+
+ Input: {pipeline.input_type}
+
Stages:
+v{pipeline.version}
++ {pipeline.description} +
+ ++ Data processing pipelines for review analysis +
+{error}
+ +No pipelines registered
+{config.description}
+ )} +Unknown widget type: {config.type}
+| + {col.header} + | + ))} +
|---|
| + {formatCellValue(row[col.key], col.format)} + | + ))} +
| + {xValues.map((x) => ( + | + {x} + | + ))} +
|---|---|
| + {y} + | + {xValues.map((x) => { + const key = `${y}-${x}`; + const value = valueMap.get(key) || 0; + return ( ++ {heatmapConfig.show_values && ( + + {value.toLocaleString()} + + )} + | + ); + })} +
+ {formatValue(value, widgetConfig.format)} +
+ {trend !== undefined && ( +{error}
+