File

libs/ngx-pfe/models/ngx-pfe-module-configuration.model.ts

Index

Properties

Properties

adobeUrl
adobeUrl: string
Type : string
Optional

example: //assets.adobedtm.com/launch-ENbf3ffc46febf4e06ada3b07090757976.min.js

appName
appName: string
Type : string
Optional

example: "mo" or "fnol". Do not use "mo-th" or "mo-at". Use the main application name without mentioning the OE.

customScript
customScript: string
Type : string
Optional
googleId
googleId: string
Type : string
Optional

example: GTM-PQTR458

import { InjectionToken } from '@angular/core';
import { PageDefinition } from '../services/pfe-page-mapping-service/page-definition';

export const NGX_PFE_CONFIGURATION: InjectionToken<NgxPfeModuleConfiguration> = new InjectionToken<NgxPfeModuleConfiguration>(
  'NGX_PFE_CONFIGURATION'
);

/**
 * This configuration needs to be set in the forRoot of the NGX-PFE module.
 * It contains all the necessary library configurations.
 *
 * @export
 */
export interface NgxPfeModuleConfiguration {
  /**
   * Maps the configuration attributes to a PageDefinition. This defines the available page types that can be used in the flow.
   */
  pageMapping: Map<string, PageDefinition>;
  /**
   * The tenant will be used to load the default page flow configuration.
   * It can be overwritten by the tenant URL parameter.
   */
  tenant?: string;
  /**
   * The applicationId will be used to load the default page flow configuration.
   * It can be overwritten by the applicationId URL parameter.
   */
  applicationId: string;
  /**
   * By default `NGX_PFE_CONFIG_API_FORMAT.CONFIG_SERVICE` if provided will try to take
   * the config from a different provider.
   * - CONFIG_SERVICE: The current method
   * - STATIC: Config created by the config aggregator
   */
  configApiFormat?: NGX_PFE_CONFIG_API_FORMAT;
  /**
   * The endpoint, that is used to retrieve the page flow configuration.
   * Has to be page-flow-config compatible.
   *
   * If the NGX_PFE_FLOW_CONFIGURATION injection token is provided, this will be ignored.
   */
  configApiEndpoint?: string;
  /**
   * The state service endpoint that is used to store and restore the current app state.
   */
  stateServiceEndpoint?: string;
  // TODO: Activate state payload for service activator
  /**
   * The base URL of service activator endpoint.
   * It will be composed with the service activator `path` to form a complete URL.
   * This complete URL is used when service activators make any HTTP calls.
   */
  serviceActivatorEndpoint: string;
  production: boolean;

  /**
   * To enable the Tracking Library for Analytics purposes,
   * you have to add the adobeUrl OR googleId properties.
   * The tracking configuration itself is optional.
   */
  tracking?: TrackifyConfig;

  /**
   * Set this value to true, to disable the state debugging hotkeys.
   */
  disableStateDebuggingHotkey?: boolean;

  /**
   * Update the remote state on every navigation.
   */
  enableAutomaticStateStorage?: boolean;

  /**
   * Should empty arrays in service-activator request/response expressions be ignored?
   * Set this to true if expressions evaluating to empty arrays should be omitted
   * from the request or response payload of service activators.
   *
   * @default false
   */
  ignoreEmptyArraysInServiceActivatorPayloads?: boolean;

  /**
   * Default body for a non-GET request. New default behavior
   * is an EMPTY request. The legacy behavior of FULL_STATE can be activated with this setting.
   */
  defaultRequestBody?: PFE_DEFAULT_REQUEST_BODY;
}

export interface TrackifyConfig {
  /**
   * example: //assets.adobedtm.com/launch-ENbf3ffc46febf4e06ada3b07090757976.min.js
   */
  adobeUrl?: string;

  /**
   * example: GTM-PQTR458
   */
  googleId?: string;

  customScript?: string;

  /**
   * example: "mo" or "fnol". Do not use "mo-th" or "mo-at". Use the main application name without mentioning the OE.
   */
  appName?: string;
}

export enum PFE_DEFAULT_REQUEST_BODY {
  EMPTY = 'EMPTY',
  FULL_STATE = 'FULL_STATE',
}

export enum NGX_PFE_CONFIG_API_FORMAT {
  CONFIG_SERVICE,
  STATIC,
}

results matching ""

    No results matching ""