Filter and search
Searching across a tabular dataset can fuzzy match the subset of the dataset or the entire dataset. For example, the search could search just name and tags and not owner or price.
Filtering generally results in a chip/marker representing the filter applied. Allowing the user to quickly remove the filter or have an additional clear all filters action.
Usage
Inline Filtering - Enter a string to narrow the list of available tags. Select tags to add them to the filter query
Global Filtering - Filter by tags or search by keyword
Global Filtering - Hitting enter transforms the query into a chip and the filter is applied
Global Filtering - Any string can be transformed into a temporary filter tag
- Clicking either on the search icon or persistent search field should result in a cursor with suggestions dropdown.
- As the user types, the suggestions and filterable categories are filters to matching results
- Filtering and plain text search results in a label being added to the search field with a remove action.
- Remove all is achieved by clicking the global search close icon
Principles
Actionable
- Plain text search
- Search term matches a parameter to filter the search by the following text
- Toggle and clear filter
- Clear search
Flexible
Buttons can vary their verb according to the item selected
Discoverable
Buttons should be visible without scrolling if your items-list is long considered placing the buttons at the top, rather than the default bottom placement.
Do
Always provide a “Clear filters” action next to the markers:
Use real-world language
Filters should be modelled after the actual behaviour of users.
This pattern in use - real product examples
Salesforce
Depending on your context, you will either need a linked pill or a pill option inside of a list box.
Shopify
Use to allow merchants to add attributes to, and remove attributes from, an object.
AWS
EC2 Console - Instance Filtering
Jira
Advanced filter/search using query language (‘JQL’)
ZenHub
Board search and filtering
Luna
Use multi-select if users can select one or more keywords in their response.
Myntra
The search followed by verbose filter dropdowns
Airbnb
Zenhub
Wordpress
Key Components in Vanilla this pattern uses
Molecule
Search and filter
Atoms
Search box
Contextual menu
Labels (potentially can be renamed: Chips / Markers / Tags…)