Show step/tool form for currently active step in invocation view#22144
Show step/tool form for currently active step in invocation view#22144ahmedhamidawan wants to merge 4 commits intogalaxyproject:devfrom
Conversation
This is pretty cool, maybe call it "Rerun Job" though ? We don't really refer to tool form anywhere in the interface ?
That's still missing to close #21086, i think ? |
Sorry, I forgot to push the actual commits last night. Pushed them now.
And then I read this 🤦 . You're right, I'll pull the second change into a separate PR
Well, isn't this tool form being rendered below basically what we wanted there? |
|
…eters When viewing an active step in the invocation graph, tool steps that have a job associated with them now show a "Tool Form" toggle button in the step card header. Clicking it replaces the job summary with the full ToolForm pre-populated from the job's original inputs via job_id, giving users a clear view of exactly what parameters were used when the step ran — without having to navigate back to the workflow editor. The toggle is only shown when the invocation's history is the current active history. This is required because ToolForm needs access to the history's datasets to correctly populate data input fields; showing it against a non-current history would result in mismatched or unavailable dataset references. The form resets to hidden whenever the active step changes, so each step starts from a clean state.
c030ca3 to
dadb723
Compare
We would still potentially have a `tool_id` at the step, so it makes sense to render that.
|
I've made it so that we still render the step's form, even if there is no job id for the step (there is still possible a tool id to render the form). |
| class="invocation-tool-form pt-2" | ||
| :job_id="viewableJobId" | ||
| :history_id="props.invocation.history_id" /> | ||
| <BAlert v-else show>No job information available for this step.</BAlert> |
| showToolForm | ||
| ? 'Hide step form' | ||
| : viewableJobId | ||
| ? 'View exact run parameters and rerun this step' |
There was a problem hiding this comment.
That is so long and why would you say "exact" ? Noone thought this was not going to be exact until you said it 😆
Also noone knows what a step form or tool form is. Even reading the code I wouldn't know what showToolForm means since we have so many variants of it.
| ? 'View exact run parameters and rerun this step' | |
| ? 'Rerun this job' |
we don't even have a way to rerun a step, that's a different thing.
| </GButton> | ||
| </GButtonGroup> | ||
| <GButton | ||
| v-if="viewableToolId" |
There was a problem hiding this comment.
You can render non-tool step configs. I'd split this up into show step config and rerun job. Which are similar but distinct things.
There was a problem hiding this comment.
So, would it make sense to have an additional Rerun Job button in the same header (which exists if a job id exists) and clicking it opens the job rerun view (with the tool form)?
And then otherwise, we keep this button, which says Show Step Config and it displays the step config below; with the step config being exactly what you see in the editor.
There was a problem hiding this comment.
So, would it make sense to have an additional
Rerun Jobbutton in the same header (which exists if a job id exists) and clicking it opens the job rerun view (with the tool form)?
Would that not be better served in the job list ? I could go either way for the rerun.
The step config is really what I'd want to see, it also includes PJAs, labels etc
There was a problem hiding this comment.
Yeah, I think let's just render the step form for every step (except inputs and maybe subworkflows?)
dannon
left a comment
There was a problem hiding this comment.
Nice idea — being able to see step config without bouncing back to the editor is a clear win.
Agreeing with mvdbeek's direction here: the step config view (what you see in the editor — parameters, PJAs, labels) is the thing to show. The full ToolForm is an execution form, so using it as a "view parameters" display risks users accidentally rerunning jobs. Splitting "view config" from "rerun" is the right call.
A couple of small things I noticed in the current diff:
- The
v-elseBAlert at line 341 ("No job information available") is unreachable —showToolFormcan only be true whenviewableToolIdis truthy (the button is guarded byv-if="viewableToolId"), so thev-else-ifalways wins. - The
activeCardHeaderClasscomputed + z-index overrides (.tool-header,.multiselect__content-wrapper) are fighting ToolForm's internal layout. If you switch to a read-only step config view this should go away naturally.
|
thank you @dannon, those are great points, I'll fix those things. Yes, a readonly step config is exactly what we need. |

When viewing an active step in the invocation graph, tool steps that have a job associated with them now show a "Tool Form" toggle button in the step card header.
Clicking it replaces the job summary with the full ToolForm pre-populated from the job's original inputs via job_id, giving users a clear view of exactly what parameters were used when the step ran — without having to navigate back to the workflow editor.
toggle_step_display_in_invocation_view_TOOL_FORM.mp4
Fixes #21086
How to test the changes?
(Select all options that apply)
License