From ffb002e6c3c4926cddd8588398ce5d273192a74c Mon Sep 17 00:00:00 2001 From: Vladyslav_Prykhodko Date: Tue, 30 Apr 2024 17:37:06 +0300 Subject: [PATCH] UI: Improvement translate loader and types --- ui-ngx/src/app/core/core.module.ts | 9 ++------- ui-ngx/src/app/core/settings/settings.utils.ts | 5 +++-- .../src/app/core/translate/translate-default-loader.ts | 2 ++ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ui-ngx/src/app/core/core.module.ts b/ui-ngx/src/app/core/core.module.ts index a72eb1ada7..032197057e 100644 --- a/ui-ngx/src/app/core/core.module.ts +++ b/ui-ngx/src/app/core/core.module.ts @@ -16,7 +16,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http'; +import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { StoreModule } from '@ngrx/store'; import { EffectsModule } from '@ngrx/effects'; import { StoreDevtoolsModule } from '@ngrx/store-devtools'; @@ -42,10 +42,6 @@ import { HotkeyModule } from 'angular2-hotkeys'; import { TranslateDefaultParser } from '@core/translate/translate-default-parser'; import { TranslateDefaultLoader } from '@core/translate/translate-default-loader'; -export function HttpLoaderFactory(http: HttpClient) { - return new TranslateDefaultLoader(http); -} - @NgModule({ imports: [ CommonModule, @@ -59,8 +55,7 @@ export function HttpLoaderFactory(http: HttpClient) { TranslateModule.forRoot({ loader: { provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient] + useClass: TranslateDefaultLoader }, missingTranslationHandler: { provide: MissingTranslationHandler, diff --git a/ui-ngx/src/app/core/settings/settings.utils.ts b/ui-ngx/src/app/core/settings/settings.utils.ts index e816bbffb0..3730878237 100644 --- a/ui-ngx/src/app/core/settings/settings.utils.ts +++ b/ui-ngx/src/app/core/settings/settings.utils.ts @@ -17,8 +17,9 @@ import { environment as env } from '@env/environment'; import { TranslateService } from '@ngx-translate/core'; import * as _moment from 'moment'; +import { Observable } from 'rxjs'; -export function updateUserLang(translate: TranslateService, userLang: string, translations = env.supportedLangs) { +export function updateUserLang(translate: TranslateService, userLang: string, translations = env.supportedLangs): Observable { let targetLang = userLang; if (!env.production) { console.log(`User lang: ${targetLang}`); @@ -33,8 +34,8 @@ export function updateUserLang(translate: TranslateService, userLang: string, tr if (!env.production) { console.log(`Detected supported lang: ${detectedSupportedLang}`); } - translate.use(detectedSupportedLang); _moment.locale([detectedSupportedLang]); + return translate.use(detectedSupportedLang); } function detectSupportedLang(targetLang: string, translations: string[]): string { diff --git a/ui-ngx/src/app/core/translate/translate-default-loader.ts b/ui-ngx/src/app/core/translate/translate-default-loader.ts index 7f26170c9c..a64ef48da0 100644 --- a/ui-ngx/src/app/core/translate/translate-default-loader.ts +++ b/ui-ngx/src/app/core/translate/translate-default-loader.ts @@ -17,7 +17,9 @@ import { TranslateLoader } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +@Injectable({ providedIn: 'root' }) export class TranslateDefaultLoader implements TranslateLoader { constructor(private http: HttpClient) {