The Binary datafilter was returning a single value where all parts of
the API expect an array of values. This was working in most places by
fluke as this value was a single-character string, so doing $value[0]
returned the value. However, it was not working when deciding which
option to mark as selected when re-displaying the filter.
This change makes the filter return an array containing a single integer
value to match the rest of the API, then internally selects that single
value for comparison when deciding if an option should be selected.
Autocomplete fields can now include disabled options in the suggestion
list. When calling .enchance() on a select list with disabled options,
those options will be added to the autocomplete suggestions with the
aria-disabled arribute set, and will not be selectable.
Datafilters using the autocomplete element can also hook into this by
including disabled options in their list of values.
A datafilter can now specify a subset of jointypes that it supports from
the default list of all, any or none. By default all options will be
available, but an individual filter can ovveride this to include just
those options that make sense for the filter. If only one option is
allowed, the select list will be hidden to simplify the UI.
This implementation will de-couple the participant filter from
core user to core so its easily usable to any api in core or any
community plugin. This removes the dependency from the core_user
and creates a nice api where it can produce filterable objects.
Co-Authored-By: Safat Shahin <safatshahin@catalyst-au.net>
Co-Authored-By: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
AMOS BEGIN
MOV [addcondition,core_user], [addcondition,core]
MOV [adverbfor_and,core_user], [operator_and,core]
MOV [adverbfor_andnot,core_user], [operator_andnot,core]
MOV [adverbfor_or,core_user], [operator_or,core]
MOV [applyfilters,core_user], [applyfilters,core]
MOV [clearfilterrow,core_user], [clearfilterrow,core]
MOV [clearfilters,core_user], [clearfilters,core]
MOV [filtersetmatchdescription,core_user], [filtersetmatchdescription,core]
MOV [filterrowlegend,core_user], [filterrowlegend,core]
MOV [filtertype,core_user], [filtertype,core]
MOV [match,core_user], [match,core]
MOV [matchofthefollowing,core_user], [matchofthefollowing,core]
MOV [placeholdertypeorselect,core_user], [placeholdertypeorselect,core]
MOV [selectfiltertype,core_user], [selectfiltertype,core]
AMOS END