feat(editor): live step status on the graph during runs
Step run events were previously visible only on the run tab. Operators who triggered a run there and then switched to the graph tab saw a static graph — the canvas had no idea something was executing. Wire the run events through the FlowEditorController so all three tabs share the same status snapshot: - New StepRunStatus enum on the controller (idle / running / done / failed / awaiting). - controller.stepStatuses exposes the live map. - controller.updateStepStatus is called from the run tab's event handler — one source of truth, both views read it. - FlowCanvas drops its own stepStatuses parameter and pulls from the controller instead, so the canvas now shows the running pulse + done check + error cross + pause icon in each step's header live, in lockstep with the step list on the run tab. When a fresh run starts (controller.running = true) the status map is cleared so stale events from a previous run don't paint the new one. Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
parent
e7cd9ca13c
commit
6b70ba65fd
4 changed files with 57 additions and 13 deletions
|
|
@ -43,9 +43,9 @@ steps:
|
|||
outputs: {}
|
||||
''');
|
||||
final initialText = c.codeController.fullText;
|
||||
c.applyGraphEdit(c.graph.withStepAdded(
|
||||
const FlowStep(id: 'b', use: 'debug.echo@^0'),
|
||||
));
|
||||
c.applyGraphEdit(
|
||||
c.graph.withStepAdded(const FlowStep(id: 'b', use: 'debug.echo@^0')),
|
||||
);
|
||||
expect(c.codeController.fullText, isNot(initialText));
|
||||
expect(c.codeController.fullText, contains('id: b'));
|
||||
expect(c.graph.steps, hasLength(2));
|
||||
|
|
@ -61,9 +61,9 @@ steps:
|
|||
outputs: {}
|
||||
''');
|
||||
expect(c.isDirty, isFalse);
|
||||
c.applyGraphEdit(c.graph.withStepAdded(
|
||||
const FlowStep(id: 'b', use: 'debug.echo@^0'),
|
||||
));
|
||||
c.applyGraphEdit(
|
||||
c.graph.withStepAdded(const FlowStep(id: 'b', use: 'debug.echo@^0')),
|
||||
);
|
||||
expect(c.isDirty, isTrue);
|
||||
c.markSaved();
|
||||
expect(c.isDirty, isFalse);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue