import { NgModule, Injector } from '@angular/core'; import { CommonModule } from '@angular/common'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { WptButtonModule } from '@arrow/warpaint/button'; import { WptDialogModule } from '@arrow/warpaint/dialog'; import { WptIconModule } from '@arrow/warpaint/icon'; import { PermissionsService } from './permissions/permissions.service'; import { UserService } from './user/user.service'; import { UserService2 } from './user/user.service2'; import { SocketsProvider } from './sockets/sockets.service.provider'; import { ModalService } from './modal.service'; import { StoreService } from './store.service'; import { AnalyticsService } from './analytics.service'; import { ArrowService } from './arrow.service'; import { Utils } from './utils.service'; import { MultiEmailValidatorDirective } from './multi-email-validator.directive'; import { ObjOwnPropsPipe } from './obj-own-props/obj-own-props.pipe'; import { Entity2textPipe } from './entity-to-text.pipe'; import { CartHandoverService } from './cart-handover/cart-handover.service'; import { DialogService } from './dialog/dialog.service'; import { AlertComponent } from './dialog/alert/alert.component'; import { ConfirmComponent } from './dialog/confirm/confirm.component'; import { PromptComponent } from './dialog/prompt/prompt.component'; import { AppSessionService } from './app-session.service'; import { BomService } from './bom.service'; import { BomItemService } from './item.service'; import { WINDOW_PROVIDERS } from './window/window.service'; import { AuthInterceptorService } from './auth-interceptor.service'; import { AuthTokenService } from './auth-token.service'; import { AuthService } from './auth.service'; import { LoggerModule } from '@arrow/bom/logger'; import { DownloadService } from './download.service'; import { WptSnackBarModule } from '@arrow/warpaint/snack-bar'; import { BomNotificationService } from './bom-notification.service'; import { setAppInjector } from './locator.service'; import { UploadService } from './upload.service'; @NgModule({ imports: [ HttpClientModule, CommonModule, WptButtonModule, WptDialogModule, WptIconModule, WptSnackBarModule, LoggerModule ], providers: [ UploadService, PermissionsService, UserService, UserService2, SocketsProvider, ModalService, StoreService, AnalyticsService, ArrowService, Utils, CartHandoverService, DialogService, Entity2textPipe, AppSessionService, BomService, BomItemService, WINDOW_PROVIDERS, AuthTokenService, AuthService, { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptorService, multi: true }, DownloadService, BomNotificationService ], declarations: [ ObjOwnPropsPipe, Entity2textPipe, MultiEmailValidatorDirective, AlertComponent, ConfirmComponent, PromptComponent ], exports: [ObjOwnPropsPipe, Entity2textPipe, MultiEmailValidatorDirective], entryComponents: [AlertComponent, ConfirmComponent, PromptComponent] }) export class CoreModule { constructor(private injector: Injector) { setAppInjector(this.injector); } }