Table user filters are identified by a key. If such a filter is added to a table, any existing filter with the same key is automatically removed first (but without triggering an event). For each filter added to the table, the TableTileGridMediator creates a corresponding tile filter. If multiple table filters with the same key (e.g. TableTextUserFilter) are added, the previous tile filter was not correctly removed.
This is apparent in the following situation:
Switch a table to the tile mode
Enter a value in the filter field in the table footer -> filter is correctly applied (both table rows and tiles are filtered)
Enter a different value in the filter field -> filter is also applied
Remove the filter text -> filter is correctly removed from the table (all rows are visible again), but not from the tile. The first added text filter seems to remain forever.
To fix the problem, the tile filters created by the mediator have to be stored in a list. This allows the mediator to identify and remove table user filters later, similar to Table#addFilter.
Table user filters are identified by a key. If such a filter is added to a table, any existing filter with the same key is automatically removed first (but without triggering an event). For each filter added to the table, the TableTileGridMediator creates a corresponding tile filter. If multiple table filters with the same key (e.g. TableTextUserFilter) are added, the previous tile filter was not correctly removed.
This is apparent in the following situation:
To fix the problem, the tile filters created by the mediator have to be stored in a list. This allows the mediator to identify and remove table user filters later, similar to Table#addFilter.
387837