Basically, a filter consists of three parts: a left-hand side value, an operator or comparator, and a right-hand side value. So you will be able to compare a certain value (or values) on the left with another value (or values) on the right.
This way you can get a subset of all available records.
On the left, you can select a property of the currently selected model. This can either be a property of that model, or the property of a relation of that model. Based on the kind of this selected property we show a number of operators which are available for this kind of property. For example, when the property is of kind
string it makes sense of offering the
starts_with operator, but when the property is of kind
number it makes sense to offer an operator like
is after or at or
greater then. So each kind of property has its own logical operators.
As mentioned in the section about the left-hand side, we offer a set of operators for each kind of property.
On the right-hand side of a filter, you can select a property/variable/value to compare the left-hand side with.
When you have selected a date or datetime on the left-hand side, we offer relative values as well. Those can be:
Day before yesterday
Day after tomorrow
Three days ago
When one of those values is chosen, we will calculate the date / datetime at runtime and use it in your filter.
Applying multiple filters
Sometimes, or maybe often, filtering by just one property is not enough. Mostly, you will want to be able to set a more specific filter. Let's say, you want to see the tasks of one user for this week. You can’t do this with one filter, because it will give you the tasks of this week, or the tasks assigned to a particular user.
In that case, you can use another filter row. In even more complex filtering, you might even need groups with one or more filter rows each.
Multiple filter rules
As mentioned above, when you want to have a more specific filter, you can add more filter rules. Each rule will compare a property with a certain value. For example when you want to show the table with users with active accounts who created them (registered) after a certain date and time and have an admin role.
When multiple filter rules are still not enough, you can use filter groups. For example,
take these two filter groups: the data table will either show reminders that have been created after last month with the status of 'In progress' OR any reminder that has been created by an admin. Groups consist of one or more rules.
When using groups there is another operator which is important - the AND/OR operator. You can apply this operator between filter groups.
Then AND/OR operator can be used in between filter rules. It says to either meet the criteria in both rows or meet the criteria mentioned in one or both rows.
In this example, we set two rules for the condition step: to be able to proceed with the 'True' condition flow, users would need to have either one or a second email address.