Skip to content
Snippets Groups Projects
core.module.ts 999 B
Newer Older
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
import { NgModule, Optional, SkipSelf } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
import { MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
import { environment } from './../../environments/environment';
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed

import { SharedModule } from '../shared/shared.module';
import { NavigationComponent } from './navigation/navigation.component';
import { throwIfAlreadyLoaded } from './module-import-check';

@NgModule({
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
  imports: [
    CommonModule, // we use *ngFor
    RouterModule, // we use router-outlet and routerLink
    SharedModule,
  ],
  exports: [NavigationComponent],
  declarations: [NavigationComponent],
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
  providers: [
    {
      provide: MAT_SNACK_BAR_DEFAULT_OPTIONS,
      useValue: { duration: environment.snackbarDuration },
    },
  ],
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
})
export class CoreModule {
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
  constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
    throwIfAlreadyLoaded(parentModule, 'CoreModule');
  }
jvanboxtel@wisc.edu's avatar
jvanboxtel@wisc.edu committed
}