projects/storefrontlib/router/app-routing.module.ts
import { APP_INITIALIZER, NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { provideDefaultConfig } from '@spartacus/core';
import { defaultOnNavigateConfig } from './config/default-on-navigate-config';
import { OnNavigateService } from './on-navigate.service';
@NgModule({
imports: [
RouterModule.forRoot([], {
anchorScrolling: 'enabled',
relativeLinkResolution: 'corrected',
initialNavigation: 'enabled',
}),
],
providers: [
provideDefaultConfig(defaultOnNavigateConfig),
{
provide: APP_INITIALIZER,
useFactory: onNavigateFactory,
deps: [OnNavigateService],
multi: true,
},
],
})
export class AppRoutingModule {}
export function onNavigateFactory(
onNavigateService: OnNavigateService
): () => void {
const isReady = () => onNavigateService.initializeWithConfig();
return isReady;
}