diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Deployment/FlowStepDetail.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Deployment/FlowStepDetail.razor index ce941dea..1f74b668 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Deployment/FlowStepDetail.razor +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Deployment/FlowStepDetail.razor @@ -3,6 +3,7 @@ @using System.Text.Json @using ZB.MOM.WW.ScadaBridge.Commons.Types.Debugging @inject NavigationManager Navigation +@inject IJSRuntime Js @* Flow Debugger step detail (design 2026-09-05 §4): tabs Input · Output · Attribute writes · Timing plus a "Where this ran" column with drill-ins. @@ -11,7 +12,9 @@ System / Connection / List + "Delivered by" facts. Follow-ups (plan 2026-09-06 D2/D5, Task 6): an "Open in …" deep link to the report page for a correlated outbound step, and Retry / Discard buttons on a Parked one when the owner - supplies the callbacks. *@ + supplies the callbacks. + Step logs (plan 2026-09-09 D8, Task 12): a Log tab after Output carrying the step's thrown exception + and the log lines folded onto it, level-filtered, with a hint to sibling steps of the same execution. *@
@Pretty(Step.OutputJson)break; + case "Log": + @if (HasException) + { +
@Step.ErrorDetail+ +
| Time (UTC) | Level | Source | Message |
|---|---|---|---|
| @line.OccurredAtUtc.ToUniversalTime().ToString("HH:mm:ss.fff", CultureInfo.InvariantCulture) | +@line.Level | +@line.Source | +
+ @line.Message
+ @if (!string.IsNullOrEmpty(line.ExceptionMessage))
+ {
+
+ @line.ExceptionMessage
+ @if (!string.IsNullOrEmpty(line.ExceptionDetail))
+ {
+
+ }
+
+
+ }
+ detail+@line.ExceptionDetail+ |
+