import { CommonModule } from '@angular/common'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { LOCALE_ID, NgModule } from '@angular/core'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { HttpModule } from '@angular/http'; import { MAT_DATE_LOCALE } from '@angular/material'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { environment } from '../environments/environment'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { HomepageComponent } from './homepage/homepage.component'; import { PageNotFoundComponent } from './not-found.component'; import { AuthService } from './services/auth/auth.service'; import { BreadCrumbResolverService } from './services/breadcrumb/breadcrumb-resolver.service'; import { DashboardService } from './services/dashboard/dashboard.service'; import { HelpContentService } from './services/help-content/help-content.service'; import { LanguageResolverService } from './services/language-resolver/language-resolver.service'; import { LanguageService } from './services/language/language.service'; import { AuthGuard } from './shared/guards/auth.guard'; import { AsideHelpContentComponent, HelpContentComponent } from './shared/help-content/help-content.component'; import { MaterialModule } from './shared/material/material.module'; import { SharedModule } from './shared/shared.module'; import { LoginModule } from './user-management/login.module'; import { B2AccessLoginComponent } from './user-management/login/b2access/b2access-login.component'; import { LoginOptions } from './user-management/utilties/LoginOptions'; import { RecentActivityComponent } from './users/activity/recent-activity.component'; import { BaseHttpService } from './utilities/cite-http-service-module/base-http.service'; import { BaseHttpModule } from './utilities/cite-http-service-module/cite-http.module'; import { CultureService } from './utilities/culture/culture-service'; import { UrlUtilities } from './utilities/UrlUtilities'; import { WelcomepageComponent } from './welcomepage/welcomepage.component'; @NgModule({ declarations: [ AppComponent, PageNotFoundComponent, HomepageComponent, RecentActivityComponent, WelcomepageComponent, HelpContentComponent, AsideHelpContentComponent, B2AccessLoginComponent, ], imports: [ BrowserModule, ReactiveFormsModule, FormsModule, HttpModule, HttpClientModule, BaseHttpModule.forRoot(), CommonModule, AppRoutingModule, BrowserAnimationsModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }), BrowserAnimationsModule, MaterialModule, SharedModule, LoginModule.forRoot({ loginProviders: [ LoginOptions.facebookOauth, LoginOptions.googleOauth, LoginOptions.linkedInOauth, LoginOptions.twitterOauth, LoginOptions.b2Access ], facebookConfiguration: { clientId: environment.loginProviders.facebookConfiguration.clientId }, googleConfiguration: { clientId: environment.loginProviders.googleConfiguration.clientId }, linkedInConfiguration: { clientId: environment.loginProviders.linkedInConfiguration.clientId, oauthUrl: environment.loginProviders.linkedInConfiguration.oauthUrl, redirectUri: environment.loginProviders.linkedInConfiguration.redirectUri, }, twitterConfiguration: { clientId: environment.loginProviders.twitterConfiguration.clientId, oauthUrl: environment.loginProviders.twitterConfiguration.oauthUrl }, b2accessConfiguration: { clientId: environment.loginProviders.b2accessConfiguration.clientId, oauthUrl: environment.loginProviders.b2accessConfiguration.oauthUrl, redirectUri: environment.loginProviders.b2accessConfiguration.redirectUri } }), ], providers: [ AuthGuard, AuthService, BaseHttpService, UrlUtilities, DashboardService, HelpContentService, LanguageService, LanguageResolverService, BreadCrumbResolverService, CultureService, { provide: MAT_DATE_LOCALE, deps: [CultureService], useFactory: (cultureService) => cultureService.getCurrentCulture() }, { provide: LOCALE_ID, deps: [CultureService], useFactory: (cultureService) => cultureService.getCurrentCulture() }, ], bootstrap: [AppComponent] }) export class AppModule { constructor() { } } export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json'); }