UNPKG

@spartacus/cart

Version:

`@spartacus/cart` is a package that you can include in your application, which allows you to use various cart features.

135 lines (134 loc) 4.72 kB
import { OnDestroy } from '@angular/core'; import { QuickOrderAddEntryEvent, QuickOrderFacade } from '@spartacus/cart/quick-order/root'; import { ActiveCartService, EventService, OrderEntry, Product, ProductAdapter, ProductSearchConnector } from '@spartacus/core'; import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export declare class QuickOrderService implements QuickOrderFacade, OnDestroy { protected activeCartService: ActiveCartService; protected productAdapter: ProductAdapter; protected eventService: EventService; protected productSearchConnector?: ProductSearchConnector | undefined; protected productAdded$: Subject<string>; protected entries$: BehaviorSubject<OrderEntry[]>; protected softDeletedEntries$: BehaviorSubject<Record<string, OrderEntry>>; protected nonPurchasableProductError$: BehaviorSubject<Product | null>; protected hardDeleteTimeout: number; protected quickOrderListLimit: number; protected clearDeleteTimeouts: Record<string, Subscription>; /** * @deprecated since version 4.2 * Use constructor(activeCartService: ActiveCartService, productAdapter: ProductAdapter, eventService: EventService, productSearchConnector: ProductSearchConnector); instead */ constructor(activeCartService: ActiveCartService, productAdapter: ProductAdapter, eventService: EventService); ngOnDestroy(): void; /** * Get entries */ getEntries(): BehaviorSubject<OrderEntry[]>; /** * @deprecated since 4.2 - use searchProducts instead * Search product using SKU */ search(productCode: string): Observable<Product>; /** * Search products using query */ searchProducts(query: string, maxProducts?: number): Observable<Product[]>; /** * Clear a list of added entries */ clearList(): void; /** * Get information about the possibility to add the next product */ canAdd(code?: string): Observable<boolean>; /** * Set quick order list limit property */ setListLimit(limit: number): void; /** * Load a list of entries */ loadEntries(entries?: OrderEntry[]): void; /** * Load a list of entries */ updateEntryQuantity(entryIndex: number, quantity: number): void; /** * Delete single entry from the list */ softDeleteEntry(index: number): void; /** * @deprecated since 4.2 - use softDeleteEntry instead */ removeEntry(index: number): void; /** * Add product to the quick order list */ addProduct(product: Product, quantity?: number): void; /** * Return product added subject */ getProductAdded(): Subject<string>; /** * Set product added subject */ setProductAdded(productCode: string): void; /** * Adding to cart all products from the list */ addToCart(): Observable<[OrderEntry[], QuickOrderAddEntryEvent[]]>; /** * Return soft deleted entries */ getSoftDeletedEntries(): Observable<Record<string, OrderEntry>>; /** * Restore soft deleted entry */ restoreSoftDeletedEntry(productCode: string): void; /** * Clear deleted entry from the list */ hardDeleteEntry(productCode: string): void; /** * Clear all deleted entries and timeout subscriptions */ clearDeletedEntries(): void; /** * Return non purchasable product error */ getNonPurchasableProductError(): Observable<Product | null>; /** * Set error that selected product is not purchasable */ setNonPurchasableProductError(product: Product): void; /** * Clear not purchasable product error */ clearNonPurchasableProductError(): void; /** * Add soft deleted entry to the cached list */ protected addSoftEntryDeletion(entry: OrderEntry, clearTimeout?: boolean): void; /** * Get soft deletion entry */ protected getSoftDeletedEntry(productCode: string): OrderEntry; /** * Generate Order Entry from Product */ protected generateOrderEntry(product: Product, quantity?: number): OrderEntry; /** * Add single entry to the list */ protected addEntry(entry: OrderEntry): void; /** * Verify if product is already on the list */ protected isProductOnTheList(productCode: string): boolean; protected isLimitExceeded(): boolean; private createQuickOrderResultEvent; protected clearDeleteTimeout(productCode: string): void; static ɵfac: i0.ɵɵFactoryDeclaration<QuickOrderService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<QuickOrderService>; }