UNPKG

@infordata-web/portal-common-component-lib

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.

45 lines 7.71 kB
import { ApplicationRef, Injectable } from '@angular/core'; import { defer, Observable, Subject } from 'rxjs'; import { map, shareReplay, switchMap, tap } from 'rxjs/operators'; import { HttpClient } from '@angular/common/http'; import { ConfigurationService } from '../configuration/configuration-service'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "../configuration/configuration-service"; export class TranslateService { constructor(http, appRef, configurationService) { this.http = http; this.appRef = appRef; this.configurationService = configurationService; this.traduzioniLib$ = new Observable(); this.communicatoreConEsterno$ = new Subject(); this.i18nApiUrl = this.configurationService.servicePaths.get("I18N_MS_API_URL"); console.log('[DAG_I18N_MS_URL]', this.i18nApiUrl); this.traduzioniLib$ = this.configurationService.lingua$.pipe(switchMap(language => this.getBundleTraduzioni$(language)), tap(_ => setTimeout(() => this.appRef.tick(), 0)), shareReplay()); } getTraduzione$(codice) { return defer(() => this.traduzioniLib$.pipe(map(bundle => bundle.get(codice) || codice))); } getBundleTraduzioni$(language) { const url = this.i18nApiUrl + '/v1/labels/' + this.configurationService.nameApp + '/' + language; return this.http.get(url).pipe(map(this.reduceLabels), tap(_ => this.communicatoreConEsterno$.next(true))); } reduceLabels(labels) { const reduced = labels.reduce((acc, label) => { return acc.set(label["codiceLabel"], label["label"]); }, new Map()); return reduced; } } TranslateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateService_Factory() { return new TranslateService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i2.ConfigurationService)); }, token: TranslateService, providedIn: "root" }); TranslateService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; TranslateService.ctorParameters = () => [ { type: HttpClient }, { type: ApplicationRef }, { type: ConfigurationService } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovUHJvZ2V0dGkvREFHL3NvcmdlbnRpL2dpdGxhYi1zb2Z0d2FyZWZhY3RvcnkvY29tbW9uLWNvbXBvbmVudC1saWIvcHJvamVjdHMvcG9ydGFsLWNvbW1vbi1jb21wb25lbnQtbGliL3NyYy8iLCJzb3VyY2VzIjpbImxpYi90cmFuc2xhdGUvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFLOUUsTUFBTSxPQUFPLGdCQUFnQjtJQU81QixZQUFvQixJQUFnQixFQUMzQixNQUFzQixFQUN0QixvQkFBMEM7UUFGL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBUDVDLG1CQUFjLEdBQUcsSUFBSSxVQUFVLEVBQXVCLENBQUM7UUFDdkQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQVFwRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDM0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzFELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2pELFdBQVcsRUFBRSxDQUNiLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDNUIsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNaLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUM1QixDQUNELENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUFRO1FBQ3BDLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUN6RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFrQjtRQUN0QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBd0IsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNqRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ3JELENBQUMsRUFDQSxJQUFJLEdBQUcsRUFBa0IsQ0FBQyxDQUFDO1FBRTVCLE9BQU8sT0FBTyxDQUFDO0lBQ2hCLENBQUM7Ozs7WUEvQ0QsVUFBVSxTQUFDO2dCQUNYLFVBQVUsRUFBRSxNQUFNO2FBQ2xCOzs7WUFMUSxVQUFVO1lBSFYsY0FBYztZQUlkLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlZmVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG5cclxuXHRwdWJsaWMgdHJhZHV6aW9uaUxpYiQgPSBuZXcgT2JzZXJ2YWJsZTxNYXA8c3RyaW5nLCBzdHJpbmc+PigpO1xyXG5cdHB1YmxpYyBjb21tdW5pY2F0b3JlQ29uRXN0ZXJubyQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblx0bG9hZGluZ0xpbmd1YWdlOiBib29sZWFuO1xyXG5cdGkxOG5BcGlVcmw7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuXHRcdHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XHJcblxyXG5cdFx0dGhpcy5pMThuQXBpVXJsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5zZXJ2aWNlUGF0aHMuZ2V0KFwiSTE4Tl9NU19BUElfVVJMXCIpO1xyXG5cdFx0Y29uc29sZS5sb2coJ1tEQUdfSTE4Tl9NU19VUkxdJywgdGhpcy5pMThuQXBpVXJsKTtcclxuXHJcblx0XHR0aGlzLnRyYWR1emlvbmlMaWIkID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5saW5ndWEkLnBpcGUoXHJcblx0XHRcdHN3aXRjaE1hcChsYW5ndWFnZSA9PiB0aGlzLmdldEJ1bmRsZVRyYWR1emlvbmkkKGxhbmd1YWdlKSksXHJcblx0XHRcdHRhcChfID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hcHBSZWYudGljaygpLCAwKSksXHJcblx0XHRcdHNoYXJlUmVwbGF5KClcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRUcmFkdXppb25lJChjb2RpY2U6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcblx0XHRyZXR1cm4gZGVmZXIoKCkgPT4gdGhpcy50cmFkdXppb25pTGliJC5waXBlKFxyXG5cdFx0XHRtYXAoYnVuZGxlID0+XHJcblx0XHRcdFx0YnVuZGxlLmdldChjb2RpY2UpIHx8IGNvZGljZVxyXG5cdFx0XHQpXHJcblx0XHQpKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0QnVuZGxlVHJhZHV6aW9uaSQobGFuZ3VhZ2UpOiBPYnNlcnZhYmxlPE1hcDxzdHJpbmcsIHN0cmluZz4+IHtcclxuXHRcdGNvbnN0IHVybDogc3RyaW5nID0gdGhpcy5pMThuQXBpVXJsICsgJy92MS9sYWJlbHMvJyArIHRoaXMuY29uZmlndXJhdGlvblNlcnZpY2UubmFtZUFwcCArICcvJyArIGxhbmd1YWdlO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS5waXBlKFxyXG5cdFx0XHRtYXAodGhpcy5yZWR1Y2VMYWJlbHMpLFxyXG5cdFx0XHR0YXAoXyA9PiB0aGlzLmNvbW11bmljYXRvcmVDb25Fc3Rlcm5vJC5uZXh0KHRydWUpKVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVkdWNlTGFiZWxzKGxhYmVsczogQXJyYXk8YW55Pik6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xyXG5cdFx0Y29uc3QgcmVkdWNlZCA9IGxhYmVscy5yZWR1Y2UoKGFjYzogTWFwPHN0cmluZywgc3RyaW5nPiwgbGFiZWwpID0+IHtcclxuXHRcdFx0cmV0dXJuIGFjYy5zZXQobGFiZWxbXCJjb2RpY2VMYWJlbFwiXSwgbGFiZWxbXCJsYWJlbFwiXSlcclxuXHRcdH0sXHJcblx0XHRcdG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xyXG5cclxuXHRcdHJldHVybiByZWR1Y2VkO1xyXG5cdH1cclxuXHJcbn1cclxuIl19