File

projects/apttus/ecommerce/src/lib/modules/catalog/services/product-option.service.ts

Extends

ProductService

Index

Properties
Methods

Methods

getListOfProducts
getListOfProducts(productId: Array)
Parameters :
Name Type Optional
productId Array<string> No
Returns : Observable<Array<BundleProduct>>
getProductOptions
getProductOptions(product: BundleProduct)
Decorators :
@MemoizeAll()
Parameters :
Name Type Optional
product BundleProduct No
Returns : Array<ProductOptionComponent>
getProductOptionsForGroup
getProductOptionsForGroup(product: BundleProduct, group: ProductOptionGroup)

This method returns list of ProductOptionComponent filters out ProductOptionComponent which is not associated with the group parameter.

Parameters :
Name Type Optional Description
product BundleProduct No
group ProductOptionGroup No

Instance of a product option group

Returns : Array<ProductOptionComponent>
getProductOptionTree
getProductOptionTree(productId: string, relatedTo?: CartItem | QuoteLineItem | AssetLineItem | OrderLineItem, applyFilter: "none" | "items" | "changes", changes?: Array)
Parameters :
Name Type Optional Default value Description
productId string No
relatedTo CartItem | QuoteLineItem | AssetLineItem | OrderLineItem Yes

Related primary line item

applyFilter "none" | "items" | "changes" No 'none'
changes Array<CartItem> Yes

Changes associated with the product

Method takes a bundle product record and organizes the attributes and options into it's tree structure. Will filter out any attributes or option groups that are empty and associate related cart items with each option

Returns : Observable<BundleProduct>
getRequiredOptions
getRequiredOptions(productOptionComponents: Array, cartItems: Array)

This method returns a list of product options components that must be checked to add a bundle configuration to the cart.

Parameters :
Name Type Optional Description
productOptionComponents Array<ProductOptionComponent> No

List of all product option components in a bundle.

cartItems Array<CartItem> No

List of selected line items in the configuration.

Returns : Array<ProductOptionComponent>
getRequiredUncheckedOptions
getRequiredUncheckedOptions(allOptions: Array)

Function that returns all the options that are Required but selected from UI.

Parameters :
Name Type Optional Description
allOptions Array<ProductOptionComponent> No

All product options

Returns : Array<ProductOptionComponent>
groupOptionGroups
groupOptionGroups(p: BundleProduct, attributeValue: ProductAttributeValue, relatedItems: Array, applyFilter: "none" | "items" | "changes", metadata: any, parentItem?: CartItem | QuoteLineItem | AssetLineItem | OrderLineItem)
Parameters :
Name Type Optional Default value
p BundleProduct No
attributeValue ProductAttributeValue No
relatedItems Array<CartItem | QuoteLineItem | AssetLineItem | OrderLineItem> No
applyFilter "none" | "items" | "changes" No 'none'
metadata any No
parentItem CartItem | QuoteLineItem | AssetLineItem | OrderLineItem Yes
Returns : BundleProduct

Properties

Protected assetService
Type : AssetService
Default value : this.injector.get(AssetService)
Protected cartItemService
Type : CartItemService
Default value : this.injector.get(CartItemService)
Protected lineItemService
Type : LineItemService
Default value : this.injector.get(LineItemService)
Protected productAttributeValueService
Default value : this.injector.get(ProductAttributeValueService)
Protected productService
Type : ProductService
Default value : this.injector.get(ProductService)
type
Default value : BundleProduct

result-matching ""

    No results matching ""