Home > widget-integration > CombinedProductListingsController > resolvePreOrderVariantOnChange

CombinedProductListingsController.resolvePreOrderVariantOnChange() method

Signature:

resolvePreOrderVariantOnChange(params: {
		previousVariantId: string | number | undefined;
		getVariantIdFromUrl: () => string;
		getSelectedVariant: () => PreOrderVariant | null;
		getFirstAvailableVariant: () => PreOrderVariant | null;
		getProductIdFromPage: () => string | number | null;
		getProductData: () => Record<string, unknown> | null;
		fetchProductData: (productId: string | number) => Promise<unknown>;
		getVariantById: (variantId: string | number) => PreOrderVariant | null;
		maxAttempts?: number;
		delayMs?: number;
	}): Promise<{
		variant: PreOrderVariant;
		currentVariantId: string;
		resolvedVariantSource: string;
	} | null>;

Parameters

Parameter

Type

Description

params

{ previousVariantId: string | number | undefined; getVariantIdFromUrl: () => string; getSelectedVariant: () => PreOrderVariant | null; getFirstAvailableVariant: () => PreOrderVariant | null; getProductIdFromPage: () => string | number | null; getProductData: () => Record<string, unknown> | null; fetchProductData: (productId: string | number) => Promise<unknown>; getVariantById: (variantId: string | number) => PreOrderVariant | null; maxAttempts?: number; delayMs?: number; }

Returns:

Promise<{ variant: PreOrderVariant; currentVariantId: string; resolvedVariantSource: string; } | null>