File

libs/ngx-pfe/pfe-actions/navigate-external/navigate-external.service.ts

Index

Properties

Properties

Public navigate
Default value : () => {...}
router
Default value : inject(Router)
import { Injectable, inject } from '@angular/core';
import { Router } from '@angular/router';
import { AngularNavigationExtrasPFE } from '../../services/pfe-navigation-service/pfe-navigation-extras';
import { PfeNavigationUtilService } from '../../services/pfe-navigation-service/navigation-util.service';
import { PfeNavigateExternalActionConfig } from './navigate-external.model';

@Injectable()
export class PfeNavigateExternalService {
  router = inject(Router);
  private pfeNavigationUtilService = inject(PfeNavigationUtilService);

  public navigate = async (actionConfig: PfeNavigateExternalActionConfig): Promise<boolean> => {
    const currentNavigationPFEExtras = this.router.currentNavigation()?.extras as AngularNavigationExtrasPFE;
    if (currentNavigationPFEExtras?.state?.pfe?.navigatingToErrorPage) {
      return true;
    }

    this.pfeNavigationUtilService.navigateExternal({
      external: true,
      conditions: actionConfig.conditions,
      nextPageId: actionConfig.url,
      externalNavigationPathParams: actionConfig.navigationPathParams,
      externalPathParamPropagations: actionConfig.pathParamPropagations,
    });
    return false;
  };
}

results matching ""

    No results matching ""