File

feature-libs/checkout/root/facade/checkout.facade.ts

Index

Methods

Methods

Abstract clearCheckoutData
clearCheckoutData()

Clear checkout data

Returns : void
Abstract clearCheckoutStep
clearCheckoutStep(stepNumber: number)

Clear checkout step

Parameters :
Name Type Optional Description
stepNumber number No

: the step number to be cleared

Returns : void
Abstract clearPlaceOrderState
clearPlaceOrderState()

Resets the place or schedule replenishment order's processing state

Returns : void
Abstract getCheckoutDetailsLoaded
getCheckoutDetailsLoaded()

Get status of checkout details loaded

Returns : Observable<boolean>
Abstract getCurrentOrderType
getCurrentOrderType()

Get current checkout order type

Abstract getOrderDetails
getOrderDetails()

Get order details

Returns : Observable<Order | ReplenishmentOrder>
Abstract getPlaceOrderError
getPlaceOrderError()

Returns the place or schedule replenishment order's error flag

Returns : Observable<boolean>
Abstract getPlaceOrderLoading
getPlaceOrderLoading()

Returns the place or schedule replenishment order's loading flag

Returns : Observable<boolean>
Abstract getPlaceOrderSuccess
getPlaceOrderSuccess()

Returns the place or schedule replenishment order's success flag

Returns : Observable<boolean>
Abstract isLoading
isLoading()

Check if checkout details are stable (no longer loading)

Returns : Observable<boolean>
Abstract loadCheckoutDetails
loadCheckoutDetails(cartId: string)

Load checkout details data

Parameters :
Name Type Optional Description
cartId string No

: string Cart ID of loaded cart

Returns : void
Abstract placeOrder
placeOrder(termsChecked: boolean)

Places an order

Parameters :
Name Type Optional
termsChecked boolean No
Returns : void
Abstract scheduleReplenishmentOrder
scheduleReplenishmentOrder(scheduleReplenishmentForm: ScheduleReplenishmentForm, termsChecked: boolean)

Schedule a replenishment order

Parameters :
Name Type Optional
scheduleReplenishmentForm ScheduleReplenishmentForm No
termsChecked boolean No
Returns : void
Abstract setOrderType
setOrderType(orderType: ORDER_TYPE)

Set checkout order type

Parameters :
Name Type Optional Description
orderType ORDER_TYPE No

: an enum of types of order we are placing

Returns : void
import { Injectable } from '@angular/core';
import {
  facadeFactory,
  Order,
  ORDER_TYPE,
  ReplenishmentOrder,
  ScheduleReplenishmentForm,
} from '@spartacus/core';
import { Observable } from 'rxjs';
import { CHECKOUT_CORE_FEATURE } from '../feature-name';

@Injectable({
  providedIn: 'root',
  useFactory: () =>
    facadeFactory({
      facade: CheckoutFacade,
      feature: CHECKOUT_CORE_FEATURE,
      methods: [
        'placeOrder',
        'scheduleReplenishmentOrder',
        'getPlaceOrderLoading',
        'getPlaceOrderSuccess',
        'getPlaceOrderError',
        'clearPlaceOrderState',
        'clearCheckoutData',
        'clearCheckoutStep',
        'loadCheckoutDetails',
        'getCheckoutDetailsLoaded',
        'isLoading',
        'getOrderDetails',
        'setOrderType',
        'getCurrentOrderType',
      ],
      async: true,
    }),
})
export abstract class CheckoutFacade {
  /**
   * Places an order
   */
  abstract placeOrder(termsChecked: boolean): void;

  /**
   * Schedule a replenishment order
   */
  abstract scheduleReplenishmentOrder(
    scheduleReplenishmentForm: ScheduleReplenishmentForm,
    termsChecked: boolean
  ): void;

  /**
   * Returns the place or schedule replenishment order's loading flag
   */
  abstract getPlaceOrderLoading(): Observable<boolean>;

  /**
   * Returns the place or schedule replenishment order's success flag
   */
  abstract getPlaceOrderSuccess(): Observable<boolean>;

  /**
   * Returns the place or schedule replenishment order's error flag
   */
  abstract getPlaceOrderError(): Observable<boolean>;

  /**
   * Resets the place or schedule replenishment order's processing state
   */
  abstract clearPlaceOrderState(): void;

  /**
   * Clear checkout data
   */
  abstract clearCheckoutData(): void;

  /**
   * Clear checkout step
   * @param stepNumber : the step number to be cleared
   */
  abstract clearCheckoutStep(stepNumber: number): void;

  /**
   * Load checkout details data
   * @param cartId : string Cart ID of loaded cart
   */
  abstract loadCheckoutDetails(cartId: string): void;

  /**
   * Get status of checkout details loaded
   */
  abstract getCheckoutDetailsLoaded(): Observable<boolean>;

  /**
   * Check if checkout details are stable (no longer loading)
   */
  abstract isLoading(): Observable<boolean>;

  /**
   * Get order details
   */
  abstract getOrderDetails(): Observable<Order | ReplenishmentOrder>;

  /**
   * Set checkout order type
   * @param orderType : an enum of types of order we are placing
   */
  abstract setOrderType(orderType: ORDER_TYPE): void;

  /**
   * Get current checkout order type
   */
  abstract getCurrentOrderType(): Observable<ORDER_TYPE>;
}

result-matching ""

    No results matching ""