GitHub

DaffConfigurableProductFacade

Facade

import { DaffConfigurableProductFacade } from '@daffodil/product-configurable/state'

A facade for interacting with the configurable product state. Exposes many parts of the state for easy access and allows dispatching of actions.

@Injectable()
class DaffConfigurableProductFacade<<T extends DaffConfigurableProduct = DaffConfigurableProduct>>  implements DaffConfigurableProductFacadeInterface<T> {
  configurableProductSelectors: DaffConfigurableProductAllSelectors<T> = getDaffConfigurableProductAllSelectors<T>()

  getAllAttributes(id: T["id"]): any
  getAllVariants(id: T["id"]): any
  getAppliedAttributes(id: T["id"]): any
  getMinimumPrice(id: T["id"]): any
  getMaximumPrice(id: T["id"]): any
  getMinimumDiscountedPrice(id: T["id"]): any
  getMaximumDiscountedPrice(id: T["id"]): any
  getMinimumPercentDiscount(id: T["id"]): any
  getMaximumPercentDiscount(id: T["id"]): any
  isPriceRanged(id: T["id"]): any
  hasDiscount(id: T["id"]): any
  getSelectableAttributes(id: T["id"]): any
  getMatchingVariants(id: T["id"]): any
  dispatch(action: Action<string>): void
}

() Methods

getAllAttributes
any

All attributes of a configurable product.

Parameters
Parameterid: T["id"]
Description
getAllVariants
any

All variants of a configurable product.

Parameters
Parameterid: T["id"]
Description
getAppliedAttributes
any

The applied attributes of a configurable product.

Parameters
Parameterid: T["id"]
Description
getMinimumPrice
any

Get the current minimum price possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
getMaximumPrice
any

Get the current maximum price possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
getMinimumDiscountedPrice
any

Get the current minimum discounted price possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
getMaximumDiscountedPrice
any

Get the current maximum discounted price possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
getMinimumPercentDiscount
any

Get the current minimum percent discount possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
getMaximumPercentDiscount
any

Get the current maximum percent discount possible based on the applied attributes and remaining variants.

Parameters
Parameterid: T["id"]
Description
isPriceRanged
any

Returns whether the possible price for the configurable product is a range of different prices

Parameters
Parameterid: T["id"]
Description
hasDiscount
any

Returns whether the variants of the configurable product have (a) discount(s)

Parameters
Parameterid: T["id"]
Description
getSelectableAttributes
any

Selectable configurable product attributes derived from the remaining variants and the order of currently applied attributes. The remaining variants of the product are derived from the currently applied attributes.

Parameters
Parameterid: T["id"]
Description
getMatchingVariants
any

The variants that match the applied attributes of a configurable product.

Parameters
Parameterid: T["id"]
Description
dispatch
void
Parameters
Parameteraction: Action
Description