File
|
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;
};
}