Overview
This show/hide feature is a "soft" hiding of the fieldsets meant to present something simple. Advanced user would still have access to all the fieldsets with a "Show all" or progressive expand/collapse is they want to.
This story depends on story #12187 for new workflow configuration panel.
Functional overview
Tracker administrator point of view, configuration
By default, all fieldsets are displayed (current state) and there is a new section in the workflow transition configuration to select the fieldsets that are hidden.
It only applies on Fieldsets "containers" (it's not possible to hide a given field or a column for instance).
It's configured as a "Post Action", it means that the fieldset will be hidden after an artifact reach a given state.
In order to keep a clear UI and not make it confusing, this post-action can only be added once per state. After adding it once, when you try to add this type of post-action again, then the selectbox for post-action type will show a disabled option.
End user point of view, usage
On page load (either artifact view or Angular Modal) fieldsets that are hidden by configuration are not displayed.
There is a button in the interface "Show all fields" (or equivalent, like in "Chrome" configuration "Advanced mode") that shows all the fieldsets. The load shall not loose user work if she already started to work/modify the artifact.
It's not possible to switch back to "hide fields" once "Show all fields" has been clicked but next load of the artifact will hide fieldsets by default.
Edge cases:
- Mandatory fields: a field might be mandatory, hidden and empty. In that case, the containing fieldset will be displayed regardless of the configuration made by tracker admin.
- Field dependencies: when 2 fields are connected with a field dependency, both fields must be in a fieldset with the same status: either both are displayed or both as hidden. When at least one is displayed, the other one's fieldset is automatically displayed as well regardless of the configuration made by tracker admin.
- Email notifications: emails are not impacted by this change and are sent with all values.
Technical overview
- Hidden fieldsets are added in REST routes (esp. /artifacts/:id for modal)
- Configuration must be exported/imported with tracker XML format
- Configuration must be duplicated at tracker / project creation.