import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { InaxConfiguration, ProfileService, SignalrWindow, InaxSignalR, IHUBSERVICE_TOKEN, IHubService } from '../@inax/common'; import { IINAXCONFIGSERVICE_TOKEN } from '../@inax/common/src/interfaces/IInaxConfigService.interface'; import { AppComponent } from './components/app.component'; //services import { InaxLoggerService } from '../@inax/logger'; import { InaxFrontendService } from '../@inax/frontend'; import { InaxPlcService } from '../@inax/plc'; import { InaxSqlService } from '../@inax/sql'; import { InaxExcelService } from '../@inax/excel'; import { InaxTranslateService } from '../@inax/translate'; import { InaxScriptService } from '../@inax/script'; import { APP_ROUTES } from './app.routes'; import { TRANSLATIONS } from './resources/translations'; import { ToastsManager, ToastOptions } from 'ng2-toastr/ng2-toastr'; import { InaxTranslatePipe } from './../@inax/translate/src/pipe'; import { KeysPipe, SqlViewerComponent } from './components/sqlviewer/sqlviewer.component'; import { HomeComponent } from './components/home/home.component'; import { ServiceLoginComponent } from './components/serviceLogin/serviceLogin.component'; import { PlcViewerComponent } from './components/plcviewer/plcviewer.component'; import { ScriptViewerComponent } from './components/scriptviewer/scriptviewer.component'; import { ConfigurationViewerComponent } from './components/configurationviewer/configurationviewer.component'; import { TestPageComponent } from './components/testpage/testpage.component'; import { HistoricalAlarmListComponent } from './../@inax/alarmUi/src/alarmList/historical-alarm-list.component'; import { CommonUiModule } from './../@inax/commonUi/src/commonUi.module'; import { AlarmUiModule } from './../@inax/alarmUi/src/alarmUi.module'; import { TranslateModule } from './../@inax/translate/src/translate.module'; import { MotionUiModule } from '../@inax/motionUi/src/motionUi.module'; import { PlcUiModule } from '../@inax/plcUi/src/plcUi.module'; import { UserAuthenticationService } from '../@inax/userAuthentication/src/testuserauthenticationservice/UserAuthenticationService.service'; import { UserAuthStateService } from '../@inax/userAuthentication/src/userAuthState/UserAuthState.service'; import { UserAuthenticationModule } from '../@inax/userAuthentication/src/userAuthentication.module'; import { InaxConfigUiModule } from '../@inax/inaxConfigUi/src/inaxConfigUi.module'; import { DefaultMenuProvider } from '../@inax/menu/src/default/defaultMenuProvider'; import { ButtonMenuModule } from '../@inax/buttonMenuUi/src/buttonMenu.module'; import { DefaultMenuItem } from '../@inax/menu/src/default/defaultMenuItem'; import { IMenuItem } from '../@inax/menu/src/interfaces/menuItem'; import { RouterModule } from '@angular/router'; import { InaxAlarmService } from '../@inax/alarm/src/alarm'; import { ALARM_CONFIG_TOKEN } from '../@inax/alarm/src/config/alarmConfig'; import { DEFAULT_ALARM_SETTINGS } from '../@inax/alarm/src/config/default/defaultAlarmSettings'; import { RoutingDisablerService } from '../@inax/common/src/routing/RoutingDisablerService/RoutingDisabler.service'; import { DEFAULT_USER_AUTHENTICATION_PROVIDER_ENTRIES, DEFAULT_USER_AUTH_SERVICE_PROVIDER_ENTRY, DEFAULT_USER_AUTH_STATE_SERVICE_PROVIDER_ENTRY } from '../@inax/userAuthentication/src/provide'; import { APP_MENU } from './resources/menu'; import { PLC_HUBSERVICEPROVIDER_ENTRY } from '../@inax/plc/src/provider'; import { SCRIPT_HUBSERVICEPROVIDER_ENTRY } from '../@inax/script/src/provider'; import { DEFAULT_ALARM_PROVIDER_ENTRIES, ALARM_HUBSERVICEPROVIDER_ENTRY, ALARM_CONFIG_PROVIDER_ENTRY } from '../@inax/alarm/src/provider'; import { INAX_COMMON_PROVIDER_ENTRIES, SIGNALR_PROVIDER_ENTRY, INAX_CONFIG_PROVIDER_ENTRY, EXPANDABLE_PANEL_COLLECTION_ENTRY } from '../@inax/common/src/provider'; import { DEFAULT_MENU_PROVIDER_ENTRY } from '../@inax/menu/src/provider'; @NgModule({ imports: [ //Modules BrowserModule, FormsModule, HttpModule, RouterModule, APP_ROUTES, TranslateModule, AlarmUiModule, MotionUiModule, CommonUiModule, PlcUiModule, UserAuthenticationModule, ButtonMenuModule, InaxConfigUiModule ], declarations: [ //Components AppComponent, HomeComponent, ServiceLoginComponent, PlcViewerComponent, ScriptViewerComponent, SqlViewerComponent, ConfigurationViewerComponent, TestPageComponent, //Pipes KeysPipe ], providers: [ //Services //{ provide: SignalrWindow, useValue: window }, //{ provide: IHUBSERVICE_TOKEN, useClass: InaxPlcService, multi: true }, //{ provide: IHUBSERVICE_TOKEN, useClass: InaxScriptService, multi: true }, //{ provide: IHUBSERVICE_TOKEN, useClass: InaxAlarmService, multi: true }, //{ provide: IUSERAUTHENTICATIONSERVICE_TOKEN, useClass: UserAuthenticationService, multi: false }, //{ provide: IUSERAUTHSTATESERVICE_TOKEN, useClass: UserAuthStateService, multi: false }, //{ provide: IMENUPROVIDERSERVICE_TOKEN, useClass: DefaultMenuProvider, multi: false }, //{ provide: ALARM_CONFIG_TOKEN, useValue: DEFAULT_ALARM_SETTINGS, multi: false }, //{ provide: IINAXCONFIGSERVICE_TOKEN, useClass: InaxConfiguration, multi: false }, SIGNALR_PROVIDER_ENTRY, INAX_CONFIG_PROVIDER_ENTRY, PLC_HUBSERVICEPROVIDER_ENTRY, SCRIPT_HUBSERVICEPROVIDER_ENTRY, ALARM_HUBSERVICEPROVIDER_ENTRY, ALARM_CONFIG_PROVIDER_ENTRY, EXPANDABLE_PANEL_COLLECTION_ENTRY, DEFAULT_USER_AUTH_SERVICE_PROVIDER_ENTRY, DEFAULT_USER_AUTH_STATE_SERVICE_PROVIDER_ENTRY, DEFAULT_MENU_PROVIDER_ENTRY, /** declared in app */ APP_MENU, TRANSLATIONS, /**Services */ InaxConfiguration, InaxSignalR, InaxFrontendService, InaxLoggerService, InaxPlcService, InaxSqlService, ProfileService, ToastsManager, InaxTranslateService, InaxExcelService, InaxScriptService, RoutingDisablerService ], bootstrap: [AppComponent] }) export class AppModule { }