Filtering LiveData: Unwanted Results for StaticList Fields

I found some possibly unwanted behavior in LiveData tables (I would create a Jira ticket if this isn’t a known issue or if it works as designed).

Steps to reproduce:

1. Create an AWM app with a static list (staticList1: Static List):

value1=First Choice|value2=Second Choice|value3=Third Choice|value33=No Choice

2. Add a LiveTable and a LiveData table to a new page:

{{velocity}}
#set ($columnsProperties = {'doc.title': {"link":"view"}, 'staticList1': {} })
#set ($options = {'className': 'Sandbox.FilterData.Code.FilterDataClass', 'translationPrefix': 'filterdata.livetable.'})
#set ($columns = ['doc.title', 'staticList1'])
#livetable('filtertest' $columns $columnsProperties $options)
{{/velocity}}

{{liveData properties="doc.title, staticList1" source="liveTable" sourceParameters="translationPrefix=platform.index.&className=Sandbox.FilterData.Code.FilterDataClass"}}{{/liveData}}

3. Add four entries covering all possible choices.

4. Filter the data by “Third Choice”:

Expected result:
Both tables should only display the entry for “Third Choice.”

Actual result:

It’s probably that for some reason Live Data uses a “contains” filter operator even for static list properties. To me, this doesn’t make much sense from a user’s point of view. It might be possible to change this by configuring the text filter on that property to have equals as defaultOperator in the property descriptors, but I’m not sure if this actually works, maybe @mleduc knows more. In any case, feel free to report a Jira issue if you can’t find an existing one.

I just created XWIKI-22970: Filtering LiveData: Unwanted Results for StaticList Fields.