Ok, you can try it in exclusivity. Beta tester, lol.
Instance the new filter called 'List',
Then, drop inside a N:m table relation :
- From the fields tree of your table (ex:Cities),
- Open a Xref node (ex : Visits), it should be a Pivot table
- Drag a table node (ex: Travellers), it is the Foreign table
Note : You can eventually open this Foreign Table node and choose the label field.
By default (when you don't specify the Foreign Table label), the label field will be the default field of the table (Yellow star)
Is it clear enough ?
Source code : Have a look in prepareQuery(), you will find the function :
$this->filterPivot('travellers');
Then follow all the cascad of code to understand how it works.
The Filter accept multiple values, and you can customize the logic behaviors (AND, OR, NOT), but this is not in the builder.
To custom the logic, just set the desired logic in the state var.
if the relation is : 'travellers', the logic state var will be :
$this->setState('filter.travellers.logic', 'OR');'
To place BEFORE getItems() of the model.
It accepts : AND|OR|NOT
The LIST filter will be improved. It will accept normal FK as well in future.
The SELECT filter will be improved as well to recieve N:1 relations.
Now, only the Multiselect over N:m is available (was for you), it was the most complicated to achieve. The rest will come in future mondays.
I need to go now, so I will finish the docs and the monday feature later tonight.