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

FilterAPIParams

Current filter parameters being built

filteredParams

FilterAPIParams

(Optional) Optional pre-filtered params to inspect for filter keys. Defaults to params

Returns:

FilterAPIParams

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;
    }
  };
});