Home > widget-integration > FilterAPI > addFilterFlag
FilterAPI.addFilterFlag() method
Adds or removes filter flag based on presence of filter parameters.
Checks if any filter parameters (those starting with 'pf_') exist and adds a filter: true flag to indicate filters are active. If no filter params exist, removes the filter flag. This helps the API optimize query execution. Override to customize filter flag logic.
Signature:
protected addFilterFlag(params: FilterAPIParams, filteredParams?: FilterAPIParams): FilterAPIParams;
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
params |
Current filter parameters being built | |
|
filteredParams |
(Optional) Optional pre-filtered params to inspect for filter keys. Defaults to |
Returns:
Parameters with filter flag added if filter params exist, or with flag removed
Remarks
Filter Flag Behavior: - Detects filter params by checking for 'pf_' prefix (e.g., pf_st_color, pf_p_price) - Adds filter: true if any filter params found - Removes filter flag if no filter params (clean params) - API uses this flag to determine if filter optimization should be applied
Example
Override to add custom filter detection:
window.boostWidgetIntegration.extend('FilterAPI', (FilterAPI) => {
return class CustomFilterAPI extends FilterAPI {
protected addFilterFlag(params, filteredParams = params) {
const enhanced = super.addFilterFlag(params, filteredParams);
// Also detect custom filter formats
const hasCustomFilters = Object.keys(filteredParams).some(key =>
key.startsWith('custom_filter_')
);
if (hasCustomFilters) {
enhanced.filter = true;
enhanced.custom_filter_mode = true;
}
return enhanced;
}
};
});