--- /dev/null
+/* Copyright (c) 2019 AT&T Intellectual Property. #\r
+# #\r
+# Licensed under the Apache License, Version 2.0 (the "License"); #\r
+# you may not use this file except in compliance with the License. #\r
+# You may obtain a copy of the License at #\r
+# #\r
+# http://www.apache.org/licenses/LICENSE-2.0 #\r
+# #\r
+# Unless required by applicable law or agreed to in writing, software #\r
+# distributed under the License is distributed on an "AS IS" BASIS, #\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #\r
+# See the License for the specific language governing permissions and #\r
+# limitations under the License. #\r
+##############################################################################*/\r
+\r
+\r
+import {CommonModule} from '@angular/common';\r
+import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http';\r
+import {NgModule} from '@angular/core';\r
+import {BrowserModule} from '@angular/platform-browser';\r
+import {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r
+import {TranslateLoader, TranslateModule} from '@ngx-translate/core';\r
+import {TranslateHttpLoader} from '@ngx-translate/http-loader';\r
+import {AppRoutingModule} from './app-routing.module';\r
+import {AppComponent} from './app.component';\r
+import {AuthGuard, AdminGuard, SharedPipesModule, PageHeaderModule} from './shared';\r
+import {FormsModule} from '@angular/forms';\r
+import {ListService} from './shared/services/list.service';\r
+import {MatButtonModule, MatDatepickerModule, MatDialogModule, MatIconModule, MatInputModule, MatRadioModule, MatMenu, MatMenuModule} from '@angular/material';\r
+import {AppGlobals} from './app.global';\r
+import {ErrorInterceptor} from './error.interceptor';\r
+import {CookieService} from 'ngx-cookie-service';\r
+import {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';\r
+import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io';\r
+import { FeathersService } from './shared/services/feathers.service';\r
+import { CoreModule } from './core/core.module';\r
+import { AbilityModule } from '@casl/angular'\r
+\r
+\r
+const config: SocketIoConfig = { url: '/', options: {transports: ['websocket']} };\r
+\r
+// AoT requires an exported function for factories\r
+export const createTranslateLoader = (http: HttpClient) => {\r
+ /* for development\r
+ return new TranslateHttpLoader(\r
+ http,\r
+ '/start-angular/SB-Admin-BS4-Angular-6/master/dist/assets/i18n/',\r
+ '.json'\r
+ ); */\r
+ return new TranslateHttpLoader(http, './assets/i18n/', '.json');\r
+};\r
+\r
+@NgModule({\r
+ imports: [\r
+ CommonModule,\r
+ BrowserModule,\r
+ FormsModule,\r
+ PageHeaderModule,\r
+ BrowserAnimationsModule,\r
+ HttpClientModule,\r
+ TranslateModule.forRoot({\r
+ loader: {\r
+ provide: TranslateLoader,\r
+ useFactory: createTranslateLoader,\r
+ deps: [HttpClient]\r
+ }\r
+ }),\r
+ AppRoutingModule,\r
+ SharedPipesModule,\r
+ NgxMaterialTimepickerModule.forRoot(),\r
+ MatButtonModule,\r
+ MatDialogModule,\r
+ MatRadioModule,\r
+ MatInputModule,\r
+ MatIconModule,\r
+ MatDatepickerModule,\r
+ SocketIoModule.forRoot(config),\r
+ CoreModule,\r
+ MatMenuModule,\r
+ AbilityModule.forRoot()\r
+ ],\r
+ declarations: [\r
+ AppComponent,\r
+ ],\r
+ providers: [\r
+ FeathersService, {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}, AuthGuard, AdminGuard, ListService, AppGlobals, CookieService],\r
+ bootstrap: [AppComponent]\r
+})\r
+export class AppModule {\r
+}\r