import { BaseHttpService } from '../utilities/cite-http-service-module/base-http.service'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; import { ProjectEditorComponent } from './editor/project-editor.component'; import { ProjectListingComponent } from './listing/project-listing.component'; import { ProjectRoutes } from './project.routes'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { SharedModule } from '../shared/shared.module'; import { NgModule, LOCALE_ID } from '@angular/core'; import { ProjectService } from '../services/project/project.service'; import { ProjectFileUploaderService } from '../services/files/project-file-uploader.service'; import { RouterModule } from '@angular/router'; import { BaseHttpModule } from '../utilities/cite-http-service-module/cite-http.module'; import { MaterialModule } from '../shared/material/material.module'; import { CultureService } from '../utilities/culture/culture-service'; import { MAT_DATE_LOCALE } from '@angular/material'; @NgModule({ imports: [ CommonModule, FormsModule, HttpClientModule, SharedModule, MaterialModule, RouterModule.forChild(ProjectRoutes), ReactiveFormsModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }), BaseHttpModule.forRoot() ], declarations: [ ProjectListingComponent, ProjectEditorComponent ], exports: [ ProjectListingComponent, ProjectEditorComponent, RouterModule ], providers: [ ProjectService, ProjectFileUploaderService, /* ProjectResolver */ ] }) export class ProjectsModule { constructor(private translate: TranslateService) { translate.setDefaultLang('en'); translate.use('en'); } } export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json'); }