1 /* Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 # Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 # you may not use this file except in compliance with the License. #
\r
5 # You may obtain a copy of the License at #
\r
7 # http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 # Unless required by applicable law or agreed to in writing, software #
\r
10 # distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 # See the License for the specific language governing permissions and #
\r
13 # limitations under the License. #
\r
14 ##############################################################################*/
\r
17 import {CommonModule} from '@angular/common';
\r
18 import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http';
\r
19 import {NgModule} from '@angular/core';
\r
20 import {BrowserModule} from '@angular/platform-browser';
\r
21 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
\r
22 import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
\r
23 import {TranslateHttpLoader} from '@ngx-translate/http-loader';
\r
24 import {AppRoutingModule} from './app-routing.module';
\r
25 import {AppComponent} from './app.component';
\r
26 import {AuthGuard, AdminGuard, SharedPipesModule, PageHeaderModule} from './shared';
\r
27 import {FormsModule} from '@angular/forms';
\r
28 import {ListService} from './shared/services/list.service';
\r
29 import {MatButtonModule, MatDatepickerModule, MatDialogModule, MatIconModule, MatInputModule, MatRadioModule, MatMenu, MatMenuModule} from '@angular/material';
\r
30 import {AppGlobals} from './app.global';
\r
31 import {ErrorInterceptor} from './error.interceptor';
\r
32 import {CookieService} from 'ngx-cookie-service';
\r
33 import {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';
\r
34 import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io';
\r
35 import { FeathersService } from './shared/services/feathers.service';
\r
36 import { CoreModule } from './core/core.module';
\r
37 import { AbilityModule } from '@casl/angular'
\r
40 const config: SocketIoConfig = { url: '/', options: {transports: ['websocket']} };
\r
42 // AoT requires an exported function for factories
\r
43 export const createTranslateLoader = (http: HttpClient) => {
\r
45 return new TranslateHttpLoader(
\r
47 '/start-angular/SB-Admin-BS4-Angular-6/master/dist/assets/i18n/',
\r
50 return new TranslateHttpLoader(http, './assets/i18n/', '.json');
\r
59 BrowserAnimationsModule,
\r
61 TranslateModule.forRoot({
\r
63 provide: TranslateLoader,
\r
64 useFactory: createTranslateLoader,
\r
70 NgxMaterialTimepickerModule.forRoot(),
\r
76 MatDatepickerModule,
\r
77 SocketIoModule.forRoot(config),
\r
80 AbilityModule.forRoot()
\r
86 FeathersService, {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}, AuthGuard, AdminGuard, ListService, AppGlobals, CookieService],
\r
87 bootstrap: [AppComponent]
\r
89 export class AppModule {
\r