Obsidian Component DefinedValueField.Edit Doesn't Handle Multiple Configuration Options #5714
Closed
2 tasks done
Labels
Fixed in v16.4
Status: Confirmed
It's clear what the subject of the issue is about, and what the resolution should be.
Type: Bug
Confirmed bugs or reports that are very likely to be bugs.
Description
If you have an attribute that is a Defined Value field type and you select both "Allow Multiple" and "Enhance for Long Lists" in the configuration of the attribute. The obsidian edit component for the attribute does not work as expected.
This line appears to be the issue. The only options are to render a Checkbox List or a Dropdown List for single vs multiple selection functionality, however it is also rendering a dropdown list if "Enhance for Long Lists" is checked which forces single select behavior.
I believe ListBox should be added as one of the possible options for rendering the component and it should check first if both allow multiple and enhance for long lists are requested and render that before moving on to check for the other two possibilities. I made the change in our fork so far it appears to be working as expected.
I have not made a pull request yet because the version in the develop branch looks significantly different because it adds support for the "Add New Values" option. Wanted to check in before doing that.
Actual Behavior
In v13 the field always displays as a checkbox list if "Allow Multiple" is selected and it does not appear to support the "Enhance for Long Lists" option.
In v15 the field will always display as a Drop Down (single-select only) if "Enhance for Long Lists" is selected which doesn't allow you to select multiple items.
I didn't worry about it in v13 since I knew not everything obsidian was supported yet, but since the behavior from 13 to 15 creates a change in functionality it seems like it should be addressed so people who had both options selected don't lose the "allow multiple" functionality without knowing why.
Expected Behavior
If both options are supported (which you can create a Multi-Select field attribute with both options and have it render a ListBox so it appears that it is supported) then having both selected should render a ListBox for the control instead of a Checkbox List or a Dropdown List
Steps to Reproduce
I'll use Event Registration as an example, but this is more generic then event registrations.
Create an event registration.
Create a registrant attribute with field type "Defined Value"
Select both "Allow Multiple" and "Enhance for Long Lists" as configuration options.
Save the registration
Using the Obsidian Registration Entry, view the registration and see that you only get a single select drop down.
Issue Confirmation
Rock Version
13.4, 15.3, 16.1
Client Culture Setting
en-US
The text was updated successfully, but these errors were encountered: