Filter Panel: Configuration, Customization, and Best Practices
How-to Guide
Author:
Yulia Andreyanova
Changed on:
30 May 2025
Key Points
This guide provides step-by-step instructions on setting up and customizing the Filter Panel component to filter data effectively, whether on standalone pages or embedded within the List component to filter an inner list.
Discover how to define data sources, integrate custom queries, and display query results seamlessly using descendant components.
Explore options to customize fields: modify field types, set default values, rearrange the field order, and remove unnecessary fields.
Unlock the component's key functionality—synchronizing filter data with the URL. This enables easy sharing of pre-filtered views through links.
Learn how to configure default filter values using settings for a streamlined and consistent user experience.
Removing Borders and Padding for Embedded Filter Panels
Use the `noCard` parameter to remove the border and padding when embedding the filter panel inside other components.
Result
Once configured, the filter panel will display all available default fields based on the page query or custom query.
Exclude Unnecessary Fields
If you see fields that you don’t need, exclude them by adding their names to the `exclude` property: `"exclude": ["createdon", "ref", "type", "onhand"]`.
Customize Fields Using Overrides
Using the `overrides` property, you can change the type, label, default values, or field order. Additionally, you can enable multi-select functionality for dropdowns, populate dropdown options dynamically, and customize the behavior of filters on the filter panel to align with specific business requirements
Format Filter Data with inputTemplate and outputTemplate
Use `outputTemplate` to define how filter values are formatted before being sent to the backend. This is especially important when the backend expects structured data, like objects or arrays, instead of plain strings.`inputTemplate` does the reverse—it transforms values from the URL or default values into a shape that the field understands when loading or refreshing the page.
Pairing outputTemplate and inputTemplate for Reliable Filter Behavior
These templates are defined per field using the `overrides` configuration. Both `outputTemplate` and `inputTemplate` must be used together to ensure proper two-way data transformation.
Recommended Practice: Using outputTemplate with Contextual Values
To pass structured data to the backend, you can use `outputTemplate` with references to other fields in the same filter panel.Use the `values` context to access values from other fields and `value` for the current field. See the example below.Important: The template can only processstring values. If `{{values.catalogue}}` from the example below (or any referenced value) returns an object or array, the template will break.