Each configurable entity is filterable by one or more of its fields. The filter can be implemented on either the client or server.
We need configuration to specify the set of filterable fields, the name of each filter, and if the entity will be filtered on the client or server.
Approach
We can modify the entity list configuration to specify a filter configuration.
The filter configuration will contain:
An indicator for filterType e.g CLIENT or SERVER.
A list of filters.
The filter list contains:
The column key for the filter (name of the column as specified in the column config).
The type of filter. This is an enum value that currently only has "INCLUDES_SOME" (other values will come). For example:
Need
Each configurable entity is filterable by one or more of its fields. The filter can be implemented on either the client or server. We need configuration to specify the set of filterable fields, the name of each filter, and if the entity will be filtered on the client or server.
Approach
We can modify the entity list configuration to specify a filter configuration.
The filter configuration will contain:
filterType
e.gCLIENT
orSERVER
.The filter list contains:
When drawing an entity list, iterate over the filter configs and use them to display the list of filters.
Definition of Done (Why this is called "Part 1")