Filters

How to provide a way to sort through a significant amount of data

 

Filters enable users to customise the display of data by limiting their results based on the users selected criteria, only showing results that are relevant for the user.

Use cases

Use when

The Filter pattern is used to sort through large amounts of data and with this pattern a user can scale data in the interface to meet the complexity of their task. Filters help with cognitive load, making the task easier to complete.

Don’t use when

The user is browsing or searching for an item, rather than surfacing an item. Consider using search or expanders instead, as these patterns are more accustomed to return fuzzy results and dealing with vertical space but still allowing users to browse. These patterns can be used alongside filters to supercharge the browsing experience by allowing users to search multiple characteristics rather than one. However, keep in mind that filters are exact match sensitive and users might need to know the result they’re looking for to use them effectively.


Anatomy

Filters are customisable and can be presented in a number of variations to suit the complexity of the data.

#

Name

Is Required?

Description

1

Quick Filters

Yes

Allows a user to filter by a main attribute of the result (e.g. title).

2

Advanced Filter Toggle

No

Toggle used for Advanced Filters to access better filter controls.

3

Filter Summary

Yes

Informs a user of the selected filters on the current page.

4

Filtered Result

Yes

Displays the items that are returned by the filter. They can be displayed in a list but can take other forms depending on the kind of information to display.

5

Advanced Filter Panel

No

Allows finer control of the filtered result through other queries.

6

Loading Bar

Yes

Indicates the filter is loading for the user.


Variations

Quick Filter

Use the quick filter when results only have one or two shared characteristics (e.g. title, environment). Limit quick filters to two per page as vertical space is limited.

  • Date quick filters include a default value (e.g. Last 30 Days)

Advanced Filter

Advanced filters allow multiple queries for a single dataset, returning more refined results. These filters are always able to be toggled via a side panel.

 

A single query (e.g. request to the backend) can consist of multiple filters. Using a MultiSelect, the user can select multiple items of the same type as part of a filter. This will return a result that matches either case 1 OR case 2, allowing for wider search.

Add multiple filters to return a case that matches at least one of the items in Input 1 AND one of the items in Input 2.

Only show filters that will be applied to the dataset.


Usage

Use filters in Drop-downs

Providing a filter in a dropdown allows the list to be searched, auto-completed and gives the user more control.

Use placeholders

To provide additional context around the data being searched.

Reset button

Within the Advanced filter panel users are able to add many filters at a time. Users would find a task repetitive if they had to clear all the filters one at a time. Use a reset button to enable bulk reset of the filter items.

Show the number of results

On large pages, consider showing the number of results. Doing so enables the user to see how far away their objective is. It’s best to show the number of matches displayed out of the total. On smaller elements (e.g. dropdown lists etc.) avoid cluttering the UI with results or the Filtered Summary.

When no results are returned

Return an empty state.