Home > widget-integration > CartDrawerRecommendationService > sortVariantsByAvailability
CartDrawerRecommendationService.sortVariantsByAvailability() method
Sort variants so that available (in-stock) variants come first.
This ensures the default variant selection (first in the list) prioritizes in-stock variants, preventing users from being defaulted to an OOS variant.
Override this method to customize variant sort order.
Signature:
protected sortVariantsByAvailability(variants: RawRecommendationVariant[]): RawRecommendationVariant[];
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
variants |
Raw variants from product |
Returns:
Variants sorted with available ones first, preserving original order within each group
Example
Override to also sort by price within each availability group:
window.boostWidgetIntegration.extend('CartDrawerRecommendationService', (Base) => {
return class extends Base {
sortVariantsByAvailability(variants) {
return super.sortVariantsByAvailability(variants)
.sort((a, b) => {
if (a.available === b.available) return (a.price || 0) - (b.price || 0);
return 0;
});
}
};
});