import {NgModule} from '@angular/core'; import {FormsModule, ReactiveFormsModule} from '@angular/forms'; import {ShowErrorComponent} from './common/show-error/show-error.component'; import {CommonModule} from '@angular/common'; import {ListFilterComponent} from './common/user-interface/list-filter/list-filter.component'; import {SearchFieldComponent} from './common/user-interface/search-field/search-field.component'; import {MatButtonToggleModule, MatTooltipModule} from '@angular/material'; import {MatButtonModule} from '@angular/material/button'; import {MatIconModule} from '@angular/material/icon'; import {TranslateLoader, TranslateModule} from '@ngx-translate/core'; import {HttpClient} from '@angular/common/http'; import {TranslateHttpLoader} from '@ngx-translate/http-loader'; export function createTranslateLoader(http: HttpClient) { return new TranslateHttpLoader(http, './assets/i18n/app/', '.json'); } @NgModule({ declarations: [ ShowErrorComponent, ListFilterComponent, SearchFieldComponent ], imports: [ CommonModule, FormsModule, ReactiveFormsModule, MatButtonToggleModule, MatButtonModule, MatIconModule, MatTooltipModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }) ], exports: [ FormsModule, ReactiveFormsModule, MatButtonToggleModule, MatButtonModule, MatIconModule, ShowErrorComponent, ListFilterComponent, SearchFieldComponent, MatTooltipModule, TranslateModule ], }) export class SharedModule { }