Refactor execution input dialog
In prevision for the addition of the workers selection feature, I started refactoring the execution input dialog since it is a rather complex component.
The MR is threefold:
- Encapsulate things better.
- Move all execution inputs components/models in a dedicated folders (0a7c3ccc)
- Then, move stuff out of the
ExecutionInputDialog
so that we can better distinguish functional blocks (da513f02, 659917c1, 8f115905)
-
Rework
ExecutionInputTableRow
type that is at the heart ofExecutionInputDialog
. (4c699305)
- The type does not need to be close to the actual API call but must instead only contain fields that are actually relevant to the
ExecutionInputDialog
features. - Notably, I added a field
target
that holds the input target as'All nodes' | 'All input nodes' | {id: string}
to encompass all current usecases. It can easily be extended for future usecases (by label, by task identifier).
-
Add tests for the
ExecutionInputDialog
. (4eedb931)
- I had to add a bunch of
aria-label
to be able to find components in the Cypress tests. -
⚠ This uncovered an important bug that needs to be fixed in a future MR: input of typenumber
are still JSON serialized asstring
.
Tell me if these refactorings make sense to you. It might easier to review commit by commit.
Edited by Loic Huder