opt-cc/static/src/app/shared.module.ts

69 lines
1.9 KiB
TypeScript

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, MatSlideToggleModule, MatFormFieldModule, MatOptionModule, MatSelectModule,
MatInputModule} 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,
MatSlideToggleModule,
MatFormFieldModule,
MatOptionModule,
MatSelectModule,
MatInputModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
],
exports: [
FormsModule,
ReactiveFormsModule,
MatButtonToggleModule,
MatButtonModule,
MatIconModule,
MatSlideToggleModule,
MatFormFieldModule,
MatOptionModule,
MatSelectModule,
MatInputModule,
ShowErrorComponent,
ListFilterComponent,
SearchFieldComponent,
MatTooltipModule,
TranslateModule
],
})
export class SharedModule {
}