import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { BaseHttpService } from './utilities/cite-http-service-module/base-http.service'; import { DashboardService } from './services/dashboard/dashboard.service'; import { AuthService } from './services/auth/auth.service'; import { MaterialModule } from './shared/material/material.module'; import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AppRoutingModule } from './app-routing.module'; import { CommonModule } from '@angular/common'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { HttpModule } from '@angular/http'; import { HostConfiguration } from './app.constants'; import { BaseHttpModule } from './utilities/cite-http-service-module/cite-http.module'; import { LoginOptions } from './user-management/utilties/LoginOptions'; import { LoginModule } from './user-management/login.module'; import { SharedModule } from './shared/shared.module'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { HomepageComponent } from './homepage/homepage.component'; import { PageNotFoundComponent } from './not-found.component'; import { AppComponent } from './app.component'; import { NgModule, LOCALE_ID } from '@angular/core'; import { WelcomepageComponent } from './welcomepage/welcomepage.component'; import { HelpContentService } from './services/help-content/help-content.service'; import { B2AccessLoginComponent } from './user-management/login/b2access/b2access-login.component'; import { RecentActivityComponent } from './users/activity/recent-activity.component'; import { LanguageResolverService } from './services/language-resolver/language-resolver.service'; import { LanguageService } from './services/language/language.service'; import { HelpContentComponent, AsideHelpContentComponent } from './shared/help-content/help-content.component'; import { AuthGuard } from './shared/guards/auth.guard'; import { UrlUtilities } from './utilities/UrlUtilities'; import { BreadCrumbResolverService } from './services/breadcrumb/breadcrumb-resolver.service'; import { MAT_DATE_LOCALE } from '@angular/material'; import { CultureService } from './utilities/culture/culture-service'; @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: '110586756143149' }, googleConfiguration: { clientId: '524432312250-sc9qsmtmbvlv05r44onl6l93ia3k9deo.apps.googleusercontent.com' }, linkedInConfiguration: { clientId: '86bl8vfk77clh9', oauthUrl: 'https://www.linkedin.com/oauth/v2/authorization', redirectUri: HostConfiguration.App + 'login/linkedin', accessTokenUri: 'https://www.linkedin.com/oauth/v2/accessToken', clientSecret: '2OCO9e3wKylW05Tt' }, twitterConfiguration: { clientId: 'HiR4hQH9HNubKC5iKQy0l4mAZ', oauthUrl: 'https://api.twitter.com/oauth/authenticate' }, b2accessConfiguration: { clientId: 'eudatdmptool', clientSecret: 'A3b*1*92', oauthUrl: 'https://b2access-integration.fz-juelich.de:443/oauth2-as/oauth2-authz', redirectUri: 'http://opendmp.eu/api/oauth/authorized/b2access', accessTokenUri: 'https://b2access-integration.fz-juelich.de:443/oauth2/token' } }), ], 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'); }