Home > widget-integration > FilterAPI > addAndConditionFlags

FilterAPI.addAndConditionFlags() method

Adds AND condition flags for filter options that require it.

Checks filter options in state for useAndCondition flag and adds corresponding _and_condition parameters. This allows multiple filter values within the same option to use AND logic instead of OR logic (e.g., products must have BOTH tags). Override to customize AND condition logic or add custom boolean operators.

Signature:

protected addAndConditionFlags(params: FilterAPIParams): FilterAPIParams;

Parameters

Parameter

Type

Description

params

FilterAPIParams

Current filter parameters being built

Returns:

FilterAPIParams

Enhanced parameters with AND condition flags for applicable filter options

Remarks

AND Condition Behavior: - Only adds flags for options with useAndCondition: true in filter state - Flag format: {filterOptionId}_and_condition: true - API interprets these flags to apply AND logic instead of OR - Default behavior (without flag) is OR logic

Example

Override to add custom boolean operators:

window.boostWidgetIntegration.extend('FilterAPI', (FilterAPI) => {
  return class CustomFilterAPI extends FilterAPI {
    protected addAndConditionFlags(params) {
      const enhanced = super.addAndConditionFlags(params);
      // Add NOT condition support for exclusion filters
      const options = this.store.getState().filter?.options || [];
      options.forEach(option => {
        if (option.useNotCondition) {
          enhanced[`${option.filterOptionId}_not_condition`] = true;
        }
      });
      return enhanced;
    }
  };
});