[PM-2102] Fix broken access selector component #5433
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Type of change
Objective
Implement logic to keep row control enable/disable status in sync with the access item properties whenever the parent form group in the access selector is enabled/disabled.
Angular 15 introduced a breaking change that calls
setDisabledState()
whenever a CVA is added. While not a problem on its own, it did reveal a flaw in how the access selector component would enable/disable its internal form group. When thesetDisabledState()
is called it callsenable()
on the internal form group, which cascades to all of the child controls; effectively re-enabling all the internal form group rows (even those that should have remained disabled due to their read only status).Fixes #5328
Code changes
FormSelectionLists
controls and valuesBefore you submit