dependencies dependencies cluster_PwaModule cluster_PwaModule_declarations cluster_PwaModule_exports cluster_PwaModule_imports AddToHomeScreenBannerComponent AddToHomeScreenBannerComponent PwaModule PwaModule AddToHomeScreenBannerComponent->PwaModule AddToHomeScreenBtnComponent AddToHomeScreenBtnComponent AddToHomeScreenBtnComponent->PwaModule AddToHomeScreenBannerComponent AddToHomeScreenBannerComponent PwaModule->AddToHomeScreenBannerComponent AddToHomeScreenBtnComponent AddToHomeScreenBtnComponent PwaModule->AddToHomeScreenBtnComponent I18nModule I18nModule I18nModule->PwaModule

File

projects/storefrontlib/cms-structure/pwa/pwa.module.ts

import { CommonModule } from '@angular/common';
import { APP_INITIALIZER, isDevMode, NgModule } from '@angular/core';
import {
  ServiceWorkerModule,
  SwRegistrationOptions,
} from '@angular/service-worker';
import { Config, I18nModule, provideDefaultConfig } from '@spartacus/core';
import { AddToHomeScreenBannerComponent } from './components/add-to-home-screen-banner/add-to-home-screen-banner.component';
import { AddToHomeScreenBtnComponent } from './components/add-to-home-screen-btn/add-to-home-screen-btn.component';
import { defaultPWAModuleConfig, PWAModuleConfig } from './pwa.module-config';
import { AddToHomeScreenService } from './services/add-to-home-screen.service';

export function pwaConfigurationFactory(
  pwaConfig: PWAModuleConfig
): SwRegistrationOptions {
  return { enabled: (!isDevMode() && pwaConfig.pwa.enabled) || false };
}

export function pwaFactory(addToHomeScreenService): any {
  const result = () => addToHomeScreenService;
  return result;
}

@NgModule({
  imports: [
    CommonModule,
    ServiceWorkerModule.register('ngsw-worker.js'),
    I18nModule,
  ],
  providers: [
    provideDefaultConfig(defaultPWAModuleConfig),
    {
      provide: SwRegistrationOptions,
      useFactory: pwaConfigurationFactory,
      deps: [Config],
    },
    {
      provide: APP_INITIALIZER,
      useFactory: pwaFactory,
      deps: [AddToHomeScreenService],
      multi: true,
    },
  ],
  declarations: [AddToHomeScreenBtnComponent, AddToHomeScreenBannerComponent],
  exports: [AddToHomeScreenBtnComponent, AddToHomeScreenBannerComponent],
})
export class PwaModule {}

result-matching ""

    No results matching ""