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 |
Current filter parameters being built |
Returns:
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;
}
};
});