DaffConfigurableProductMemoizedSelectors

An interface describing all selectors unique to configurable products including ranged pricing, configurable attributes, and product variants.

Properties

Name Type Description
selectAllConfigurableProductAttributes (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, Dictionary<string[]>> Selects all possible attributes of a configurable product.
selectAllConfigurableProductVariants (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, DaffConfigurableProductVariant[]> Selects all variants of the configurable product.
selectMatchingConfigurableProductVariants (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, DaffConfigurableProductVariant[]> Selects the configurable product variants that match the currently applied attributes.
selectConfigurableProductPrices (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number[]> Selects all prices for the configurable product variants that match the currently applied attributes.
selectConfigurableProductDiscountedPrices (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number[]> Selects all discounted prices for the configurable product variant that match the currently applied attributes.
selectConfigurableProductPercentDiscounts (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number[]> Selects all percent discounts for the configurable product variants that match the currently applied attributes.
selectConfigurableProductHasDiscount (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, boolean> Selects whether or not any variants that match the currently applied attributes have a discount.
selectConfigurableProductMinimumPrice (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the minimum possible price of the configurable product variants that match the currently applied attributes.
selectConfigurableProductMaximumPrice (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the maximum possible price of the configurable product variants that match the currently applied attributes.
selectConfigurableProductMinimumDiscountedPrice (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the minimum possible discounted price of the configurable product variants that match the currently applied attributes.
selectConfigurableProductMaximumDiscountedPrice (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the maximum possible discounted price of the configurable product variants that match the currently applied attributes.
selectConfigurableProductMinimumPercentDiscount (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the minimum possible percent discount of the configurable product variants that match the currently applied attributes.
selectConfigurableProductMaximumPercentDiscount (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, number> Selects the maximum possible percent discount of the configurable product variants that match the currently applied attributes.
isConfigurablePriceRanged (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, boolean> Selects whether or not the currently applied attributes result in more than one possible price.
selectSelectableConfigurableProductAttributes (productId: T['id']) => MemoizedSelector<DaffConfigurableProductStateRootSlice<T>, Dictionary<string[]>> Selects the available/selectable configurable product attributes derived from the order of currently applied attributes and the remaining variants (determined by the currently applied attributes). An attribute might not be selectable if none of the matching variants have that particular attribute.
Graycore, LLC © 2018 - 2024. Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.