argos/dmp-frontend/src/app/core/services/language/server.loader.ts

23 lines
697 B
TypeScript

import { Language } from '@app/core/model/language/language';
import { TranslateLoader } from '@ngx-translate/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { nameof } from 'ts-simple-nameof';
import { LanguageHttpService } from './language.http.service';
export class TranslateServerLoader implements TranslateLoader {
constructor(
private languageHttpService: LanguageHttpService
) {
}
getTranslation(lang: string): Observable<any> {
return this.languageHttpService.getSingleWithCode(lang, [
nameof<Language>(x => x.id),
nameof<Language>(x => x.code),
nameof<Language>(x => x.payload),
]).pipe(map(x => JSON.parse(x.payload)));
}
}