Fix rendering of user-entered values in editable listbox-multiple TVs
What does it do?
Refactored the listbox-multiple render class to ensure values that are not in a TV’s pre-defined options are rendered properly. The code has been restructured to make it more intuitive, as the previous code had a rather convoluted way of collecting and separating the selected (saved) and unselected values.
Why is it needed?
User-entered values are saved to the database but are not subsequently rendered when reloading the Resource form.
How to test
- Create a listbox-multiple TV with Enable Type-Ahead on and Require Match set to “No.”
- Enter a set of Input Options for the TV.
- Make the TV available to a Resource and experiment with making selections from the dropdown, as well as entering ones directly in the field. Save the Resource and re-load it to verify all values show in the TV field as expected.
Related issue(s)/PR(s)
Resolves #15136.
@JoshuaLuckers - Quick note: Because this is a pretty major bug fix and not a new feature or just an improvement, I'd suggest changing the milestone to 3.0.2. (I'm actually surprised we haven't seen more complaints about the bug.) While I know I could change this myself, I thought maybe you had a particular reason for making it a minor release instead of a patch one.