File

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

Index

Methods

Methods

Abstract clearCheckoutDeliveryAddress
clearCheckoutDeliveryAddress()

Clear address already setup in last checkout process

Returns : void
Abstract clearCheckoutDeliveryDetails
clearCheckoutDeliveryDetails()

Clear address and delivery mode already setup in last checkout process

Returns : void
Abstract clearCheckoutDeliveryMode
clearCheckoutDeliveryMode()

Clear selected delivery mode setup in last checkout process

Returns : void
Abstract clearCheckoutDeliveryModes
clearCheckoutDeliveryModes()

Clear supported delivery modes loaded in last checkout process

Returns : void
Abstract createAndSetAddress
createAndSetAddress(address: Address)

Create and set a delivery address using the address param

Parameters :
Name Type Optional Description
address Address No

: the Address to be created and set

Returns : void
Abstract getDeliveryAddress
getDeliveryAddress()

Get delivery address

Returns : Observable<Address>
Abstract getLoadSupportedDeliveryModeProcess
getLoadSupportedDeliveryModeProcess()

Get status about of set supported Delivery Modes process

Returns : Observable<StateUtils.LoaderState<void>>
Abstract getSelectedDeliveryMode
getSelectedDeliveryMode()

Get selected delivery mode

Abstract getSelectedDeliveryModeCode
getSelectedDeliveryModeCode()

Get selected delivery mode code

Returns : Observable<string>
Abstract getSetDeliveryAddressProcess
getSetDeliveryAddressProcess()

Get status about successfully set Delivery Address

Returns : Observable<StateUtils.LoaderState<void>>
Abstract getSetDeliveryModeProcess
getSetDeliveryModeProcess()

Get status about of set Delivery Mode process

Returns : Observable<StateUtils.LoaderState<void>>
Abstract getSupportedDeliveryModes
getSupportedDeliveryModes()

Get supported delivery modes

Returns : Observable<DeliveryMode[]>
Abstract loadSupportedDeliveryModes
loadSupportedDeliveryModes()

Load supported delivery modes

Returns : void
Abstract resetLoadSupportedDeliveryModesProcess
resetLoadSupportedDeliveryModesProcess()

Clear info about process of setting Supported Delivery Modes

Returns : void
Abstract resetSetDeliveryAddressProcess
resetSetDeliveryAddressProcess()

Clear info about process of setting Delivery Address

Returns : void
Abstract resetSetDeliveryModeProcess
resetSetDeliveryModeProcess()

Clear info about process of setting Delivery Mode

Returns : void
Abstract setDeliveryAddress
setDeliveryAddress(address: Address)

Set delivery address

Parameters :
Name Type Optional Description
address Address No

: The address to be set

Returns : void
Abstract setDeliveryMode
setDeliveryMode(mode: string)

Set delivery mode

Parameters :
Name Type Optional Description
mode string No

: The delivery mode to be set

Returns : void
import { Injectable } from '@angular/core';
import {
  Address,
  DeliveryMode,
  facadeFactory,
  StateUtils,
} from '@spartacus/core';
import { Observable } from 'rxjs';
import { CHECKOUT_CORE_FEATURE } from '../feature-name';

@Injectable({
  providedIn: 'root',
  useFactory: () =>
    facadeFactory({
      facade: CheckoutDeliveryFacade,
      feature: CHECKOUT_CORE_FEATURE,
      methods: [
        'getSupportedDeliveryModes',
        'getSelectedDeliveryMode',
        'getSelectedDeliveryModeCode',
        'getDeliveryAddress',
        'getSetDeliveryAddressProcess',
        'resetSetDeliveryAddressProcess',
        'getSetDeliveryModeProcess',
        'resetSetDeliveryModeProcess',
        'resetLoadSupportedDeliveryModesProcess',
        'getLoadSupportedDeliveryModeProcess',
        'clearCheckoutDeliveryModes',
        'createAndSetAddress',
        'loadSupportedDeliveryModes',
        'setDeliveryMode',
        'setDeliveryAddress',
        'clearCheckoutDeliveryAddress',
        'clearCheckoutDeliveryMode',
        'clearCheckoutDeliveryDetails',
      ],
      async: true,
    }),
})
export abstract class CheckoutDeliveryFacade {
  /**
   * Get supported delivery modes
   */
  abstract getSupportedDeliveryModes(): Observable<DeliveryMode[]>;

  /**
   * Get selected delivery mode
   */
  abstract getSelectedDeliveryMode(): Observable<
    DeliveryMode | undefined | null
  >;

  /**
   * Get selected delivery mode code
   */
  abstract getSelectedDeliveryModeCode(): Observable<string>;

  /**
   * Get delivery address
   */
  abstract getDeliveryAddress(): Observable<Address>;

  /**
   * Get status about successfully set Delivery Address
   */
  abstract getSetDeliveryAddressProcess(): Observable<
    StateUtils.LoaderState<void>
  >;

  /**
   * Clear info about process of setting Delivery Address
   */
  abstract resetSetDeliveryAddressProcess(): void;

  /**
   * Get status about of set Delivery Mode process
   */
  abstract getSetDeliveryModeProcess(): Observable<
    StateUtils.LoaderState<void>
  >;

  /**
   * Clear info about process of setting Delivery Mode
   */
  abstract resetSetDeliveryModeProcess(): void;

  /**
   * Clear info about process of setting Supported Delivery Modes
   */
  abstract resetLoadSupportedDeliveryModesProcess(): void;

  /**
   * Get status about of set supported Delivery Modes process
   */
  abstract getLoadSupportedDeliveryModeProcess(): Observable<
    StateUtils.LoaderState<void>
  >;

  /**
   * Clear supported delivery modes loaded in last checkout process
   */
  abstract clearCheckoutDeliveryModes(): void;

  /**
   * Create and set a delivery address using the address param
   * @param address : the Address to be created and set
   */
  abstract createAndSetAddress(address: Address): void;

  /**
   * Load supported delivery modes
   */
  abstract loadSupportedDeliveryModes(): void;

  /**
   * Set delivery mode
   * @param mode : The delivery mode to be set
   */
  abstract setDeliveryMode(mode: string): void;

  /**
   * Set delivery address
   * @param address : The address to be set
   */
  abstract setDeliveryAddress(address: Address): void;

  /**
   * Clear address already setup in last checkout process
   */
  abstract clearCheckoutDeliveryAddress(): void;

  /**
   * Clear selected delivery mode setup in last checkout process
   */
  abstract clearCheckoutDeliveryMode(): void;

  /**
   * Clear address and delivery mode already setup in last checkout process
   */
  abstract clearCheckoutDeliveryDetails(): void;
}

result-matching ""

    No results matching ""