| export * from './lib/tl8.module'; | ||
| export * from './lib/pipes/tl8.pipe'; | ||
| export * from './lib/target-api'; | ||
| export * from './lib/interfaces/context-menu-params'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RsOC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvdGw4LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFyZ2V0LWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuIl19 |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvaW50ZXJmYWNlcy9jb250ZXh0LW1lbnUtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDb250ZXh0TWVudVBhcmFtcyA9XG4gIHwgVW50cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXNcbiAgfCBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW50cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMge1xuICBub2RlQ29udGVudDogc3RyaW5nIHwgbnVsbDtcbiAgbGFuZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMge1xuICBrZXk6IHN0cmluZztcbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xufVxuIl19 |
| import { ChangeDetectorRef, ElementRef, Pipe, } from '@angular/core'; | ||
| import { TranslatePipe, TranslateService } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, of } from 'rxjs'; | ||
| import { distinctUntilChanged, switchMap, tap } from 'rxjs/operators'; | ||
| import { TL8Service } from '../services/tl8.service'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "@ngx-translate/core"; | ||
| import * as i2 from "../services/tl8.service"; | ||
| export class TL8Pipe { | ||
| constructor(translateService, chDetectorRef, tl8Service, elementRef) { | ||
| this.translateService = translateService; | ||
| this.chDetectorRef = chDetectorRef; | ||
| this.tl8Service = tl8Service; | ||
| this.elementRef = elementRef; | ||
| this.currentKey$ = new BehaviorSubject(null); | ||
| this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef); | ||
| this.currentKey = null; | ||
| this.currentTranslation = null; | ||
| this.currentKey$ | ||
| .pipe(distinctUntilChanged(), switchMap((key) => { | ||
| if (key) { | ||
| return this.tl8Service.observeOverwrittenTranslation(key); | ||
| } | ||
| return of(null); | ||
| }), tap((translation) => { | ||
| this.chDetectorRef.markForCheck(); | ||
| this.currentTranslation = translation; | ||
| })) | ||
| .subscribe(); | ||
| } | ||
| ngOnDestroy() { | ||
| this.tPipe.ngOnDestroy(); | ||
| this.unregister(); | ||
| } | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
| transform(key, ...args) { | ||
| this.currentKey$.next(key); | ||
| if (this.currentKey !== key) { | ||
| this.unregister(); | ||
| this.currentKey = key; | ||
| this.register(); | ||
| } | ||
| if (this.currentTranslation === null) { | ||
| return this.tPipe.transform(key, ...args); | ||
| } | ||
| return this.translateService.parser.interpolate(this.currentTranslation, ...args); | ||
| } | ||
| get key() { | ||
| return this.currentKey; | ||
| } | ||
| get element() { | ||
| return this.elementRef.nativeElement; | ||
| } | ||
| get currentValue() { | ||
| if (this.currentTranslation === null) { | ||
| return this.initialValue; | ||
| } | ||
| return this.currentTranslation; | ||
| } | ||
| get initialValue() { | ||
| return this.translateService.instant(this.currentKey); | ||
| } | ||
| unregister() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.unregsiterElement(this); | ||
| } | ||
| } | ||
| register() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.registerElement(this); | ||
| } | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe }); } | ||
| static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, name: "tl8", pure: false }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'tl8', | ||
| pure: false, | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i2.TL8Service }, { type: i0.ElementRef }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3BpcGVzL3RsOC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUVWLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLE9BQU87SUFNbEIsWUFDVSxnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsVUFBbUM7UUFIbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVRyQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBUS9DLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBZTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzhHQWhGVSxPQUFPOzRHQUFQLE9BQU87OzJGQUFQLE9BQU87a0JBSm5CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRMOEVudHJ5LCBUTDhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0bDgnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSwgVEw4RW50cnkge1xuICBwcml2YXRlIGN1cnJlbnRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSB0UGlwZSA9IG5ldyBUcmFuc2xhdGVQaXBlKHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5jaERldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBjdXJyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VHJhbnNsYXRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNoRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdGw4U2VydmljZTogVEw4U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMuY3VycmVudEtleSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRsOFNlcnZpY2Uub2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50UGlwZS5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiBhbnkge1xuICAgIHRoaXMuY3VycmVudEtleSQubmV4dChrZXkpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRLZXkgIT09IGtleSkge1xuICAgICAgdGhpcy51bnJlZ2lzdGVyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRLZXkgPSBrZXk7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudFBpcGUudHJhbnNmb3JtKGtleSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UucGFyc2VyLmludGVycG9sYXRlKFxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNsYXRpb24sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGdldCBrZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VHJhbnNsYXRpb247XG4gIH1cblxuICBnZXQgaW5pdGlhbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRLZXkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5yZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UudW5yZWdzaXRlckVsZW1lbnQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UucmVnaXN0ZXJFbGVtZW50KHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19 |
| import { Injectable, NgZone } from '@angular/core'; | ||
| import { TL8TargetAPI, } from '../target-api'; | ||
| import * as i0 from "@angular/core"; | ||
| export class TargetService { | ||
| get gatewayOrThrow() { | ||
| return TL8TargetAPI(); | ||
| } | ||
| constructor(zone) { | ||
| this.zone = zone; | ||
| } | ||
| sendToHost(message, data) { | ||
| return this.gatewayOrThrow.sendToHost(message, data); | ||
| } | ||
| openContextMenu(params) { | ||
| return this.gatewayOrThrow.openContextMenu(params); | ||
| } | ||
| declareReady(config) { | ||
| return this.gatewayOrThrow.declareReady(config); | ||
| } | ||
| on(event, listener) { | ||
| this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data))); | ||
| } | ||
| get isHosted() { | ||
| try { | ||
| return !!this.gatewayOrThrow; | ||
| } | ||
| catch (error) { | ||
| return false; | ||
| } | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } | ||
| static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, providedIn: 'root' }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RhcmdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQUksY0FBYztRQUNoQixPQUFPLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFvQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFFcEMsVUFBVSxDQUFDLE9BQWUsRUFBRSxJQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQStCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEVBQUUsQ0FBVyxLQUFhLEVBQUUsUUFBa0M7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzhHQS9CVSxhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBpR2F0ZXdheSxcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFRMOFRhcmdldEFQSSxcbn0gZnJvbSAnLi4vdGFyZ2V0LWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUYXJnZXRTZXJ2aWNlIHtcbiAgZ2V0IGdhdGV3YXlPclRocm93KCk6IFRhcmdldEFwaUdhdGV3YXkge1xuICAgIHJldHVybiBUTDhUYXJnZXRBUEkoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIHNlbmRUb0hvc3QobWVzc2FnZTogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cuc2VuZFRvSG9zdChtZXNzYWdlLCBkYXRhKTtcbiAgfVxuXG4gIG9wZW5Db250ZXh0TWVudShwYXJhbXM6IENvbnRleHRNZW51UGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cub3BlbkNvbnRleHRNZW51KHBhcmFtcyk7XG4gIH1cblxuICBkZWNsYXJlUmVhZHkoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmdhdGV3YXlPclRocm93LmRlY2xhcmVSZWFkeShjb25maWcpO1xuICB9XG5cbiAgb248RGF0YVR5cGU+KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoZGF0YTogRGF0YVR5cGUpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmdhdGV3YXlPclRocm93Lm9uKGV2ZW50LCAoZGF0YTogRGF0YVR5cGUpID0+XG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IGxpc3RlbmVyKGRhdGEpKVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNIb3N0ZWQoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2F0ZXdheU9yVGhyb3c7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
| import { Inject, Injectable, NgZone } from '@angular/core'; | ||
| import { TranslateService } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, combineLatest } from 'rxjs'; | ||
| import { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators'; | ||
| import { TL8_CONFIG } from '../tl8-config.token'; | ||
| import { TargetService } from './target.service'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "@ngx-translate/core"; | ||
| import * as i2 from "./target.service"; | ||
| export class TL8Service { | ||
| get currentKeysInView$() { | ||
| return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => { | ||
| if (prev.includes(key)) { | ||
| return prev; | ||
| } | ||
| return [...prev, key]; | ||
| }, []))); | ||
| } | ||
| constructor(translate, target, tl8config, zone) { | ||
| this.translate = translate; | ||
| this.target = target; | ||
| this.tl8config = tl8config; | ||
| this.zone = zone; | ||
| this._state = new BehaviorSubject({ | ||
| overwrittenTranslations: {}, | ||
| currentEntries: new Set(), | ||
| }); | ||
| this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations)); | ||
| } | ||
| start() { | ||
| if (!this.target.isHosted) { | ||
| return; | ||
| } | ||
| this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => { | ||
| this.zone.run(() => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| }); | ||
| this.target.sendToHost('state:ready', this.tl8config); | ||
| this.target.declareReady(this.tl8config).then((overwrittenTranslations) => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| this.translate.onLangChange | ||
| .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang))) | ||
| .subscribe(); | ||
| combineLatest(this.tl8config.langs | ||
| .map(({ lang }) => lang) | ||
| .map((lang) => this.translate.getTranslation(lang))) | ||
| .pipe(tap(() => { | ||
| this.target.sendToHost('state:currentAppTranslations', this.translate.translations); | ||
| })) | ||
| .subscribe(); | ||
| this.target.on('selectLanguage', ({ value }) => { | ||
| this.translate.use(value); | ||
| }); | ||
| this.currentKeysInView$ | ||
| .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values))) | ||
| .subscribe(); | ||
| if (!this.tl8config.withoutContextMenu) { | ||
| window.addEventListener('contextmenu', (e) => { | ||
| const targets = window.document.elementsFromPoint(e.clientX, e.clientY); | ||
| const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) || | ||
| this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element)); | ||
| if (entry) { | ||
| const translatedContextMenuParams = { | ||
| key: entry.key, | ||
| currentValue: entry.currentValue, | ||
| initialValue: entry.initialValue, | ||
| }; | ||
| this.target.openContextMenu(translatedContextMenuParams); | ||
| } | ||
| else { | ||
| this.target.openContextMenu({ | ||
| nodeContent: e.target?.textContent, | ||
| lang: this.currentLang, | ||
| }); | ||
| } | ||
| e.preventDefault(); | ||
| }); | ||
| } | ||
| } | ||
| observeOverwrittenTranslation(key) { | ||
| return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => { | ||
| if (!translationsForLang) { | ||
| return null; | ||
| } | ||
| return translationsForLang[key] || null; | ||
| }), distinctUntilChanged()); | ||
| } | ||
| registerElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.add(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| unregsiterElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.delete(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| setOverwrittenTranslations(obj) { | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| overwrittenTranslations: obj, | ||
| }); | ||
| } | ||
| get currentLang() { | ||
| return this.translate.currentLang || this.translate.defaultLang; | ||
| } | ||
| get lang$() { | ||
| return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang)); | ||
| } | ||
| get currentEntriesAsArray() { | ||
| return Array.from(this._state.value.currentEntries.values()); | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: i2.TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } | ||
| static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, providedIn: 'root' }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TargetService }, { type: undefined, decorators: [{ | ||
| type: Inject, | ||
| args: [TL8_CONFIG] | ||
| }] }, { type: i0.NgZone }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RsOC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBaUJqRCxNQUFNLE9BQU8sVUFBVTtJQU1yQixJQUFZLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQixHQUFHLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFDM0Msb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDZCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUU7WUFDcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsRUFBRSxF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ZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlZENvbnRleHRNZW51UGFyYW1zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb250ZXh0LW1lbnUtcGFyYW1zJztcbmltcG9ydCB7XG4gIFRhcmdldEFwcGxpY2F0aW9uQ29uZmlnLFxuICBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyxcbn0gZnJvbSAnLi4vdGFyZ2V0LWFwaSc7XG5pbXBvcnQgeyBUTDhfQ09ORklHIH0gZnJvbSAnLi4vdGw4LWNvbmZpZy50b2tlbic7XG5pbXBvcnQgeyBUYXJnZXRTZXJ2aWNlIH0gZnJvbSAnLi90YXJnZXQuc2VydmljZSc7XG5cbmludGVyZmFjZSBUTDhTdGF0ZSB7XG4gIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucztcbiAgY3VycmVudEVudHJpZXM6IFNldDxUTDhFbnRyeT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVEw4RW50cnkge1xuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAga2V5OiBzdHJpbmc7XG4gIGN1cnJlbnRWYWx1ZTogc3RyaW5nO1xuICBpbml0aWFsVmFsdWU6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRMOFNlcnZpY2Uge1xuICBwcml2YXRlIF9zdGF0ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VEw4U3RhdGU+KHtcbiAgICBvdmVyd3JpdHRlblRyYW5zbGF0aW9uczoge30sXG4gICAgY3VycmVudEVudHJpZXM6IG5ldyBTZXQoKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBnZXQgY3VycmVudEtleXNJblZpZXckKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUucGlwZShcbiAgICAgIG1hcCgoeyBjdXJyZW50RW50cmllcyB9KSA9PiBjdXJyZW50RW50cmllcyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKChlbnRyaWVzKSA9PlxuICAgICAgICBBcnJheS5mcm9tKGVudHJpZXMudmFsdWVzKCkpLnJlZHVjZSgocHJldiwgeyBrZXkgfSkgPT4ge1xuICAgICAgICAgIGlmIChwcmV2LmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gWy4uLnByZXYsIGtleV07XG4gICAgICAgIH0sIFtdIGFzIHN0cmluZ1tdKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zJCA9IHRoaXMuX3N0YXRlLnBpcGUoXG4gICAgbWFwKCh7IG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zIH0pID0+IG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFyZ2V0OiBUYXJnZXRTZXJ2aWNlLFxuICAgIEBJbmplY3QoVEw4X0NPTkZJRykgcHJpdmF0ZSB0bDhjb25maWc6IFRhcmdldEFwcGxpY2F0aW9uQ29uZmlnLFxuICAgIHByaXZhdGUgem9uZTogTmdab25lXG4gICkge31cblxuICBzdGFydCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudGFyZ2V0LmlzSG9zdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudGFyZ2V0LmdhdGV3YXlPclRocm93Lm9uU2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMoXG4gICAgICAob3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKSA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMob3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMudGFyZ2V0LnNlbmRUb0hvc3QoJ3N0YXRlOnJlYWR5JywgdGhpcy50bDhjb25maWcpO1xuICAgIHRoaXMudGFyZ2V0LmRlY2xhcmVSZWFkeSh0aGlzLnRsOGNvbmZpZykudGhlbigob3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpID0+IHtcbiAgICAgIHRoaXMuc2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMob3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpO1xuICAgIH0pO1xuICAgIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0cnVlKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nKSxcbiAgICAgICAgdGFwKChsYW5nKSA9PiB0aGlzLnRhcmdldC5zZW5kVG9Ib3N0KCdzdGF0ZTpjdXJyZW50TGFuZ3VhZ2UnLCBsYW5nKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy50bDhjb25maWcubGFuZ3NcbiAgICAgICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpXG4gICAgICAgIC5tYXAoKGxhbmcpID0+IHRoaXMudHJhbnNsYXRlLmdldFRyYW5zbGF0aW9uKGxhbmcpKVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudGFyZ2V0LnNlbmRUb0hvc3QoXG4gICAgICAgICAgICAnc3RhdGU6Y3VycmVudEFwcFRyYW5zbGF0aW9ucycsXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS50cmFuc2xhdGlvbnNcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHRoaXMudGFyZ2V0Lm9uPHsgdmFsdWU6IHN0cmluZyB9Pignc2VsZWN0TGFuZ3VhZ2UnLCAoeyB2YWx1ZSB9KSA9PiB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZS51c2UodmFsdWUpO1xuICAgIH0pO1xuICAgIHRoaXMuY3VycmVudEtleXNJblZpZXckXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh2YWx1ZXMpID0+XG4gICAgICAgICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdCgnc3RhdGU6Y3VycmVudFZpc2libGVLZXlzJywgdmFsdWVzKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAoIXRoaXMudGw4Y29uZmlnLndpdGhvdXRDb250ZXh0TWVudSkge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgKGUpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0cyA9IHdpbmRvdy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChlLmNsaWVudFgsIGUuY2xpZW50WSk7XG4gICAgICAgIGNvbnN0IGVudHJ5ID1cbiAgICAgICAgICB0aGlzLmN1cnJlbnRFbnRyaWVzQXNBcnJheS5maW5kKChlbnRyeSkgPT5cbiAgICAgICAgICAgIEFycmF5LmZyb20odGFyZ2V0c1swXS5jaGlsZE5vZGVzKS5zb21lKChjKSA9PiBjID09PSBlbnRyeS5lbGVtZW50KVxuICAgICAgICAgICkgfHxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRFbnRyaWVzQXNBcnJheS5maW5kKChlbnRyeSkgPT5cbiAgICAgICAgICAgIEFycmF5LmZyb20odGFyZ2V0cykuc29tZSgoYykgPT4gYyA9PT0gZW50cnkuZWxlbWVudClcbiAgICAgICAgICApO1xuICAgICAgICBpZiAoZW50cnkpIHtcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXM6IFRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtcyA9IHtcbiAgICAgICAgICAgIGtleTogZW50cnkua2V5LFxuICAgICAgICAgICAgY3VycmVudFZhbHVlOiBlbnRyeS5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICBpbml0aWFsVmFsdWU6IGVudHJ5LmluaXRpYWxWYWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMudGFyZ2V0Lm9wZW5Db250ZXh0TWVudSh0cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudGFyZ2V0Lm9wZW5Db250ZXh0TWVudSh7XG4gICAgICAgICAgICBub2RlQ29udGVudDogKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8udGV4dENvbnRlbnQsXG4gICAgICAgICAgICBsYW5nOiB0aGlzLmN1cnJlbnRMYW5nLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9ic2VydmVPdmVyd3JpdHRlblRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW3RoaXMub3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMkLCB0aGlzLmxhbmckXSkucGlwZShcbiAgICAgIG1hcCgoW292ZXJ3cml0dGVuVHJhbnNsYXRpb25zLCBsYW5nXSkgPT4gb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnNbbGFuZ10pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIG1hcCgodHJhbnNsYXRpb25zRm9yTGFuZykgPT4ge1xuICAgICAgICBpZiAoIXRyYW5zbGF0aW9uc0ZvckxhbmcpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25zRm9yTGFuZ1trZXldIHx8IG51bGw7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgcmVnaXN0ZXJFbGVtZW50KGVudHJ5OiBUTDhFbnRyeSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyaWVzID0gbmV3IFNldCh0aGlzLl9zdGF0ZS52YWx1ZS5jdXJyZW50RW50cmllcyk7XG4gICAgY3VycmVudEVudHJpZXMuYWRkKGVudHJ5KTtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgY3VycmVudEVudHJpZXMsXG4gICAgfSk7XG4gIH1cblxuICB1bnJlZ3NpdGVyRWxlbWVudChlbnRyeTogVEw4RW50cnkpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50RW50cmllcyA9IG5ldyBTZXQodGhpcy5fc3RhdGUudmFsdWUuY3VycmVudEVudHJpZXMpO1xuICAgIGN1cnJlbnRFbnRyaWVzLmRlbGV0ZShlbnRyeSk7XG4gICAgdGhpcy5fc3RhdGUubmV4dCh7XG4gICAgICAuLi50aGlzLl9zdGF0ZS52YWx1ZSxcbiAgICAgIGN1cnJlbnRFbnRyaWVzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvYmo6IFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUubmV4dCh7XG4gICAgICAuLi50aGlzLl9zdGF0ZS52YWx1ZSxcbiAgICAgIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBvYmosXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBjdXJyZW50TGFuZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZyB8fCB0aGlzLnRyYW5zbGF0ZS5kZWZhdWx0TGFuZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGxhbmckKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLm9uTGFuZ0NoYW5nZS5waXBlKFxuICAgICAgbWFwKChlKSA9PiBlLmxhbmcpLFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY3VycmVudExhbmcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRFbnRyaWVzQXNBcnJheSgpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9zdGF0ZS52YWx1ZS5jdXJyZW50RW50cmllcy52YWx1ZXMoKSk7XG4gIH1cbn1cbiJdfQ== |
| export function startTl8Factory(tl8) { | ||
| return () => { | ||
| return tl8.start(); | ||
| }; | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdGw4LmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3N0YXJ0LXRsOC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBZTtJQUM3QyxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUTDhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90bDguc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFRsOEZhY3RvcnkodGw4OiBUTDhTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgcmV0dXJuIHRsOC5zdGFydCgpO1xuICB9XG59XG4iXX0= |
| export function TL8TargetAPI() { | ||
| return TL8_TARGET_API; | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGFyZ2V0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRNZW51UGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEFwaUdhdGV3YXkge1xuICBzZW5kVG9Ib3N0OiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUpID0+IHZvaWQ7XG4gIG9wZW5Db250ZXh0TWVudTogKHBhcmFtczogQ29udGV4dE1lbnVQYXJhbXMpID0+IHZvaWQ7XG4gIG9uOiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgY2I6IChkYXRhOiBEYXRhVHlwZSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgZGVjbGFyZVJlYWR5KFxuICAgIGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWdcbiAgKTogUHJvbWlzZTxXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucz47XG4gIG9uU2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IChcbiAgICBjYjogKG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4gdm9pZFxuICApID0+IHZvaWQ7XG59XG5cbmRlY2xhcmUgY29uc3QgVEw4X1RBUkdFVF9BUEk6IFRhcmdldEFwaUdhdGV3YXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBUTDhUYXJnZXRBUEkoKSB7XG4gIHJldHVybiBUTDhfVEFSR0VUX0FQSTtcbn1cblxuZXhwb3J0IHR5cGUgT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgPSB7XG4gIFtob3N0bmFtZTogc3RyaW5nXTogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyA9IHtcbiAgW2xhbmc6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAgbGFuZ3M6IHsgbGFuZzogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgd2l0aG91dENvbnRleHRNZW51PzogYm9vbGVhbjtcbn07XG4iXX0= |
| import { InjectionToken } from '@angular/core'; | ||
| export const TL8_CONFIG = new InjectionToken('TL8_CONFIG'); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4LWNvbmZpZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUTDhfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdUTDhfQ09ORklHJyk7XG4iXX0= |
| import { CommonModule } from '@angular/common'; | ||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||
| import { TranslateModule } from '@ngx-translate/core'; | ||
| import { TL8Pipe } from './pipes/tl8.pipe'; | ||
| import { TL8Service } from './services/tl8.service'; | ||
| import { startTl8Factory } from './start-tl8.factory'; | ||
| import { TL8_CONFIG } from './tl8-config.token'; | ||
| import * as i0 from "@angular/core"; | ||
| export class TL8Module { | ||
| static forRoot(config) { | ||
| return { | ||
| ngModule: TL8Module, | ||
| providers: [ | ||
| { provide: TL8_CONFIG, useValue: config }, | ||
| { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] } | ||
| ], | ||
| }; | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } | ||
| static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule, | ||
| CommonModule], exports: [TL8Pipe] }); } | ||
| static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, imports: [TranslateModule, | ||
| CommonModule] }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| declarations: [TL8Pipe], | ||
| imports: [ | ||
| TranslateModule, | ||
| CommonModule, | ||
| ], | ||
| exports: [TL8Pipe], | ||
| }] | ||
| }] }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBV2hELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDekMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTthQUMzRjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQVRVLFNBQVM7K0dBQVQsU0FBUyxpQkFQTCxPQUFPLGFBRXBCLGVBQWU7WUFDZixZQUFZLGFBRUosT0FBTzsrR0FFTixTQUFTLFlBTGxCLGVBQWU7WUFDZixZQUFZOzsyRkFJSCxTQUFTO2tCQVJyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVEw4UGlwZSB9IGZyb20gJy4vcGlwZXMvdGw4LnBpcGUnO1xuaW1wb3J0IHsgVEw4U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RhcnRUbDhGYWN0b3J5IH0gZnJvbSAnLi9zdGFydC10bDguZmFjdG9yeSc7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vdGFyZ2V0LWFwaSc7XG5pbXBvcnQgeyBUTDhfQ09ORklHIH0gZnJvbSAnLi90bDgtY29uZmlnLnRva2VuJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUTDhQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUTDhQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VEw4TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUTDhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBUTDhfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBzdGFydFRsOEZhY3RvcnksIG11bHRpOiB0cnVlLCBkZXBzOiBbVEw4U2VydmljZV0gfVxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0= |
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export * from './index'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy90bDgvc3JjL3RsOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ== |
+290
| import { CommonModule } from '@angular/common'; | ||
| import * as i0 from '@angular/core'; | ||
| import { InjectionToken, Injectable, Inject, Pipe, APP_INITIALIZER, NgModule } from '@angular/core'; | ||
| import * as i1 from '@ngx-translate/core'; | ||
| import { TranslatePipe, TranslateModule } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, combineLatest, of } from 'rxjs'; | ||
| import { map, distinctUntilChanged, startWith, tap, switchMap } from 'rxjs/operators'; | ||
| const TL8_CONFIG = new InjectionToken('TL8_CONFIG'); | ||
| function TL8TargetAPI() { | ||
| return TL8_TARGET_API; | ||
| } | ||
| class TargetService { | ||
| get gatewayOrThrow() { | ||
| return TL8TargetAPI(); | ||
| } | ||
| constructor(zone) { | ||
| this.zone = zone; | ||
| } | ||
| sendToHost(message, data) { | ||
| return this.gatewayOrThrow.sendToHost(message, data); | ||
| } | ||
| openContextMenu(params) { | ||
| return this.gatewayOrThrow.openContextMenu(params); | ||
| } | ||
| declareReady(config) { | ||
| return this.gatewayOrThrow.declareReady(config); | ||
| } | ||
| on(event, listener) { | ||
| this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data))); | ||
| } | ||
| get isHosted() { | ||
| try { | ||
| return !!this.gatewayOrThrow; | ||
| } | ||
| catch (error) { | ||
| return false; | ||
| } | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } | ||
| static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, providedIn: 'root' }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TargetService, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); | ||
| class TL8Service { | ||
| get currentKeysInView$() { | ||
| return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => { | ||
| if (prev.includes(key)) { | ||
| return prev; | ||
| } | ||
| return [...prev, key]; | ||
| }, []))); | ||
| } | ||
| constructor(translate, target, tl8config, zone) { | ||
| this.translate = translate; | ||
| this.target = target; | ||
| this.tl8config = tl8config; | ||
| this.zone = zone; | ||
| this._state = new BehaviorSubject({ | ||
| overwrittenTranslations: {}, | ||
| currentEntries: new Set(), | ||
| }); | ||
| this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations)); | ||
| } | ||
| start() { | ||
| if (!this.target.isHosted) { | ||
| return; | ||
| } | ||
| this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => { | ||
| this.zone.run(() => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| }); | ||
| this.target.sendToHost('state:ready', this.tl8config); | ||
| this.target.declareReady(this.tl8config).then((overwrittenTranslations) => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| this.translate.onLangChange | ||
| .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang))) | ||
| .subscribe(); | ||
| combineLatest(this.tl8config.langs | ||
| .map(({ lang }) => lang) | ||
| .map((lang) => this.translate.getTranslation(lang))) | ||
| .pipe(tap(() => { | ||
| this.target.sendToHost('state:currentAppTranslations', this.translate.translations); | ||
| })) | ||
| .subscribe(); | ||
| this.target.on('selectLanguage', ({ value }) => { | ||
| this.translate.use(value); | ||
| }); | ||
| this.currentKeysInView$ | ||
| .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values))) | ||
| .subscribe(); | ||
| if (!this.tl8config.withoutContextMenu) { | ||
| window.addEventListener('contextmenu', (e) => { | ||
| const targets = window.document.elementsFromPoint(e.clientX, e.clientY); | ||
| const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) || | ||
| this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element)); | ||
| if (entry) { | ||
| const translatedContextMenuParams = { | ||
| key: entry.key, | ||
| currentValue: entry.currentValue, | ||
| initialValue: entry.initialValue, | ||
| }; | ||
| this.target.openContextMenu(translatedContextMenuParams); | ||
| } | ||
| else { | ||
| this.target.openContextMenu({ | ||
| nodeContent: e.target?.textContent, | ||
| lang: this.currentLang, | ||
| }); | ||
| } | ||
| e.preventDefault(); | ||
| }); | ||
| } | ||
| } | ||
| observeOverwrittenTranslation(key) { | ||
| return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => { | ||
| if (!translationsForLang) { | ||
| return null; | ||
| } | ||
| return translationsForLang[key] || null; | ||
| }), distinctUntilChanged()); | ||
| } | ||
| registerElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.add(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| unregsiterElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.delete(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| setOverwrittenTranslations(obj) { | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| overwrittenTranslations: obj, | ||
| }); | ||
| } | ||
| get currentLang() { | ||
| return this.translate.currentLang || this.translate.defaultLang; | ||
| } | ||
| get lang$() { | ||
| return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang)); | ||
| } | ||
| get currentEntriesAsArray() { | ||
| return Array.from(this._state.value.currentEntries.values()); | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } | ||
| static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, providedIn: 'root' }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Service, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: TargetService }, { type: undefined, decorators: [{ | ||
| type: Inject, | ||
| args: [TL8_CONFIG] | ||
| }] }, { type: i0.NgZone }]; } }); | ||
| class TL8Pipe { | ||
| constructor(translateService, chDetectorRef, tl8Service, elementRef) { | ||
| this.translateService = translateService; | ||
| this.chDetectorRef = chDetectorRef; | ||
| this.tl8Service = tl8Service; | ||
| this.elementRef = elementRef; | ||
| this.currentKey$ = new BehaviorSubject(null); | ||
| this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef); | ||
| this.currentKey = null; | ||
| this.currentTranslation = null; | ||
| this.currentKey$ | ||
| .pipe(distinctUntilChanged(), switchMap((key) => { | ||
| if (key) { | ||
| return this.tl8Service.observeOverwrittenTranslation(key); | ||
| } | ||
| return of(null); | ||
| }), tap((translation) => { | ||
| this.chDetectorRef.markForCheck(); | ||
| this.currentTranslation = translation; | ||
| })) | ||
| .subscribe(); | ||
| } | ||
| ngOnDestroy() { | ||
| this.tPipe.ngOnDestroy(); | ||
| this.unregister(); | ||
| } | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
| transform(key, ...args) { | ||
| this.currentKey$.next(key); | ||
| if (this.currentKey !== key) { | ||
| this.unregister(); | ||
| this.currentKey = key; | ||
| this.register(); | ||
| } | ||
| if (this.currentTranslation === null) { | ||
| return this.tPipe.transform(key, ...args); | ||
| } | ||
| return this.translateService.parser.interpolate(this.currentTranslation, ...args); | ||
| } | ||
| get key() { | ||
| return this.currentKey; | ||
| } | ||
| get element() { | ||
| return this.elementRef.nativeElement; | ||
| } | ||
| get currentValue() { | ||
| if (this.currentTranslation === null) { | ||
| return this.initialValue; | ||
| } | ||
| return this.currentTranslation; | ||
| } | ||
| get initialValue() { | ||
| return this.translateService.instant(this.currentKey); | ||
| } | ||
| unregister() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.unregsiterElement(this); | ||
| } | ||
| } | ||
| register() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.registerElement(this); | ||
| } | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe }); } | ||
| static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, name: "tl8", pure: false }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Pipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'tl8', | ||
| pure: false, | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: TL8Service }, { type: i0.ElementRef }]; } }); | ||
| function startTl8Factory(tl8) { | ||
| return () => { | ||
| return tl8.start(); | ||
| }; | ||
| } | ||
| class TL8Module { | ||
| static forRoot(config) { | ||
| return { | ||
| ngModule: TL8Module, | ||
| providers: [ | ||
| { provide: TL8_CONFIG, useValue: config }, | ||
| { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] } | ||
| ], | ||
| }; | ||
| } | ||
| static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); } | ||
| static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule, | ||
| CommonModule], exports: [TL8Pipe] }); } | ||
| static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, imports: [TranslateModule, | ||
| CommonModule] }); } | ||
| } | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TL8Module, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| declarations: [TL8Pipe], | ||
| imports: [ | ||
| TranslateModule, | ||
| CommonModule, | ||
| ], | ||
| exports: [TL8Pipe], | ||
| }] | ||
| }] }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { TL8Module, TL8Pipe, TL8TargetAPI }; | ||
| //# sourceMappingURL=tl8.mjs.map |
| {"version":3,"file":"tl8.mjs","sources":["../../../../libs/tl8/src/lib/tl8-config.token.ts","../../../../libs/tl8/src/lib/target-api.ts","../../../../libs/tl8/src/lib/services/target.service.ts","../../../../libs/tl8/src/lib/services/tl8.service.ts","../../../../libs/tl8/src/lib/pipes/tl8.pipe.ts","../../../../libs/tl8/src/lib/start-tl8.factory.ts","../../../../libs/tl8/src/lib/tl8.module.ts","../../../../libs/tl8/src/tl8.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const TL8_CONFIG = new InjectionToken('TL8_CONFIG');\n","import { ContextMenuParams } from './interfaces/context-menu-params';\n\nexport interface TargetApiGateway {\n sendToHost: <DataType>(channel: string, data: DataType) => void;\n openContextMenu: (params: ContextMenuParams) => void;\n on: <DataType>(channel: string, cb: (data: DataType) => void) => void;\n declareReady(\n config: TargetApplicationConfig\n ): Promise<WebAppOverwrittenTranslations>;\n onSetOverwrittenTranslations: (\n cb: (overwrittenTranslations: WebAppOverwrittenTranslations) => void\n ) => void;\n}\n\ndeclare const TL8_TARGET_API: TargetApiGateway;\n\nexport function TL8TargetAPI() {\n return TL8_TARGET_API;\n}\n\nexport type OverwrittenTranslations = {\n [hostname: string]: WebAppOverwrittenTranslations;\n};\n\nexport type WebAppOverwrittenTranslations = {\n [lang: string]: { [key: string]: string };\n};\n\nexport type TargetApplicationConfig = {\n langs: { lang: string; label: string }[];\n withoutContextMenu?: boolean;\n};\n","import { Injectable, NgZone } from '@angular/core';\nimport { ContextMenuParams } from '../interfaces/context-menu-params';\nimport {\n TargetApiGateway,\n TargetApplicationConfig,\n TL8TargetAPI,\n} from '../target-api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TargetService {\n get gatewayOrThrow(): TargetApiGateway {\n return TL8TargetAPI();\n }\n\n constructor(private zone: NgZone) {}\n\n sendToHost(message: string, data: unknown): void {\n return this.gatewayOrThrow.sendToHost(message, data);\n }\n\n openContextMenu(params: ContextMenuParams) {\n return this.gatewayOrThrow.openContextMenu(params);\n }\n\n declareReady(config: TargetApplicationConfig) {\n return this.gatewayOrThrow.declareReady(config);\n }\n\n on<DataType>(event: string, listener: (data: DataType) => void): void {\n this.gatewayOrThrow.on(event, (data: DataType) =>\n this.zone.run(() => listener(data))\n );\n }\n\n get isHosted(): boolean {\n try {\n return !!this.gatewayOrThrow;\n } catch (error) {\n return false;\n }\n }\n}\n","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators';\nimport { TranslatedContextMenuParams } from '../interfaces/context-menu-params';\nimport {\n TargetApplicationConfig,\n WebAppOverwrittenTranslations,\n} from '../target-api';\nimport { TL8_CONFIG } from '../tl8-config.token';\nimport { TargetService } from './target.service';\n\ninterface TL8State {\n overwrittenTranslations: WebAppOverwrittenTranslations;\n currentEntries: Set<TL8Entry>;\n}\n\nexport interface TL8Entry {\n element: HTMLElement;\n key: string;\n currentValue: string;\n initialValue: string;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TL8Service {\n private _state = new BehaviorSubject<TL8State>({\n overwrittenTranslations: {},\n currentEntries: new Set(),\n });\n\n private get currentKeysInView$(): Observable<string[]> {\n return this._state.pipe(\n map(({ currentEntries }) => currentEntries),\n distinctUntilChanged(),\n map((entries) =>\n Array.from(entries.values()).reduce((prev, { key }) => {\n if (prev.includes(key)) {\n return prev;\n }\n return [...prev, key];\n }, [] as string[])\n )\n );\n }\n\n private overwrittenTranslations$ = this._state.pipe(\n map(({ overwrittenTranslations }) => overwrittenTranslations)\n );\n\n constructor(\n private translate: TranslateService,\n private target: TargetService,\n @Inject(TL8_CONFIG) private tl8config: TargetApplicationConfig,\n private zone: NgZone\n ) {}\n\n start(): void {\n if (!this.target.isHosted) {\n return;\n }\n this.target.gatewayOrThrow.onSetOverwrittenTranslations(\n (overwrittenTranslations: WebAppOverwrittenTranslations) => {\n this.zone.run(() => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n }\n );\n this.target.sendToHost('state:ready', this.tl8config);\n this.target.declareReady(this.tl8config).then((overwrittenTranslations) => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n this.translate.onLangChange\n .pipe(\n startWith(true),\n map(() => this.translate.currentLang || this.translate.defaultLang),\n tap((lang) => this.target.sendToHost('state:currentLanguage', lang))\n )\n .subscribe();\n combineLatest(\n this.tl8config.langs\n .map(({ lang }) => lang)\n .map((lang) => this.translate.getTranslation(lang))\n )\n .pipe(\n tap(() => {\n this.target.sendToHost(\n 'state:currentAppTranslations',\n this.translate.translations\n );\n })\n )\n .subscribe();\n this.target.on<{ value: string }>('selectLanguage', ({ value }) => {\n this.translate.use(value);\n });\n this.currentKeysInView$\n .pipe(\n tap((values) =>\n this.target.sendToHost('state:currentVisibleKeys', values)\n )\n )\n .subscribe();\n\n if (!this.tl8config.withoutContextMenu) {\n window.addEventListener('contextmenu', (e) => {\n const targets = window.document.elementsFromPoint(e.clientX, e.clientY);\n const entry =\n this.currentEntriesAsArray.find((entry) =>\n Array.from(targets[0].childNodes).some((c) => c === entry.element)\n ) ||\n this.currentEntriesAsArray.find((entry) =>\n Array.from(targets).some((c) => c === entry.element)\n );\n if (entry) {\n const translatedContextMenuParams: TranslatedContextMenuParams = {\n key: entry.key,\n currentValue: entry.currentValue,\n initialValue: entry.initialValue,\n };\n this.target.openContextMenu(translatedContextMenuParams);\n } else {\n this.target.openContextMenu({\n nodeContent: (e.target as HTMLElement)?.textContent,\n lang: this.currentLang,\n });\n }\n e.preventDefault();\n });\n }\n }\n\n observeOverwrittenTranslation(key: string): Observable<string | null> {\n return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(\n map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]),\n distinctUntilChanged(),\n map((translationsForLang) => {\n if (!translationsForLang) {\n return null;\n }\n return translationsForLang[key] || null;\n }),\n distinctUntilChanged()\n );\n }\n\n registerElement(entry: TL8Entry): void {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.add(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n\n unregsiterElement(entry: TL8Entry): void {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.delete(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n\n private setOverwrittenTranslations(obj: WebAppOverwrittenTranslations): void {\n this._state.next({\n ...this._state.value,\n overwrittenTranslations: obj,\n });\n }\n\n private get currentLang(): string {\n return this.translate.currentLang || this.translate.defaultLang;\n }\n\n private get lang$(): Observable<string> {\n return this.translate.onLangChange.pipe(\n map((e) => e.lang),\n startWith(this.currentLang)\n );\n }\n\n private get currentEntriesAsArray() {\n return Array.from(this._state.value.currentEntries.values());\n }\n}\n","import {\n ChangeDetectorRef,\n ElementRef,\n OnDestroy,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, of } from 'rxjs';\nimport { distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport { TL8Entry, TL8Service } from '../services/tl8.service';\n\n@Pipe({\n name: 'tl8',\n pure: false,\n})\nexport class TL8Pipe implements PipeTransform, OnDestroy, TL8Entry {\n private currentKey$ = new BehaviorSubject<string | null>(null);\n private tPipe = new TranslatePipe(this.translateService, this.chDetectorRef);\n private currentKey: string | null = null;\n private currentTranslation: string | null = null;\n\n constructor(\n private translateService: TranslateService,\n private chDetectorRef: ChangeDetectorRef,\n private tl8Service: TL8Service,\n private elementRef: ElementRef<HTMLElement>\n ) {\n this.currentKey$\n .pipe(\n distinctUntilChanged(),\n switchMap((key) => {\n if (key) {\n return this.tl8Service.observeOverwrittenTranslation(key);\n }\n return of(null);\n }),\n tap((translation) => {\n this.chDetectorRef.markForCheck();\n this.currentTranslation = translation;\n })\n )\n .subscribe();\n }\n\n ngOnDestroy(): void {\n this.tPipe.ngOnDestroy();\n this.unregister();\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n transform(key: string, ...args: unknown[]): any {\n this.currentKey$.next(key);\n if (this.currentKey !== key) {\n this.unregister();\n this.currentKey = key;\n this.register();\n }\n if (this.currentTranslation === null) {\n return this.tPipe.transform(key, ...args);\n }\n return this.translateService.parser.interpolate(\n this.currentTranslation,\n ...args\n );\n }\n\n get key() {\n return this.currentKey as string;\n }\n\n get element() {\n return this.elementRef.nativeElement;\n }\n\n get currentValue() {\n if (this.currentTranslation === null) {\n return this.initialValue;\n }\n return this.currentTranslation;\n }\n\n get initialValue() {\n return this.translateService.instant(this.currentKey as string);\n }\n\n private unregister(): void {\n if (this.currentKey) {\n this.tl8Service.unregsiterElement(this);\n }\n }\n\n private register(): void {\n if (this.currentKey) {\n this.tl8Service.registerElement(this);\n }\n }\n}\n","import { TL8Service } from './services/tl8.service';\n\nexport function startTl8Factory(tl8: TL8Service) {\n return () => {\n return tl8.start();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TL8Pipe } from './pipes/tl8.pipe';\nimport { TL8Service } from './services/tl8.service';\nimport { startTl8Factory } from './start-tl8.factory';\nimport { TargetApplicationConfig } from './target-api';\nimport { TL8_CONFIG } from './tl8-config.token';\n\n\n@NgModule({\n declarations: [TL8Pipe],\n imports: [\n TranslateModule,\n CommonModule,\n ],\n exports: [TL8Pipe],\n})\nexport class TL8Module {\n static forRoot(config: TargetApplicationConfig): ModuleWithProviders<TL8Module> {\n return {\n ngModule: TL8Module,\n providers: [\n { provide: TL8_CONFIG, useValue: config },\n { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] }\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TL8Service"],"mappings":"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"} |
@@ -1,2 +0,2 @@ | ||
| export declare type ContextMenuParams = UntranslatedContextMenuParams | TranslatedContextMenuParams; | ||
| export type ContextMenuParams = UntranslatedContextMenuParams | TranslatedContextMenuParams; | ||
| export interface UntranslatedContextMenuParams { | ||
@@ -3,0 +3,0 @@ nodeContent: string | null; |
@@ -10,6 +10,6 @@ import { ContextMenuParams } from './interfaces/context-menu-params'; | ||
| export declare function TL8TargetAPI(): TargetApiGateway; | ||
| export declare type OverwrittenTranslations = { | ||
| export type OverwrittenTranslations = { | ||
| [hostname: string]: WebAppOverwrittenTranslations; | ||
| }; | ||
| export declare type WebAppOverwrittenTranslations = { | ||
| export type WebAppOverwrittenTranslations = { | ||
| [lang: string]: { | ||
@@ -19,3 +19,3 @@ [key: string]: string; | ||
| }; | ||
| export declare type TargetApplicationConfig = { | ||
| export type TargetApplicationConfig = { | ||
| langs: { | ||
@@ -22,0 +22,0 @@ lang: string; |
+8
-14
| { | ||
| "name": "tl8", | ||
| "version": "5.0.1", | ||
| "version": "6.0.0", | ||
| "peerDependencies": { | ||
| "@angular/common": "^15.0.0", | ||
| "@angular/core": "^15.0.0", | ||
| "@ngx-translate/core": "^14.0.0", | ||
| "@angular/common": "^16.0.0", | ||
| "@angular/core": "^16.0.0", | ||
| "@ngx-translate/core": "^15.0.0", | ||
| "rxjs": "^7.0.0" | ||
@@ -13,7 +13,3 @@ }, | ||
| }, | ||
| "module": "fesm2015/tl8.mjs", | ||
| "es2020": "fesm2020/tl8.mjs", | ||
| "esm2020": "esm2020/tl8.mjs", | ||
| "fesm2020": "fesm2020/tl8.mjs", | ||
| "fesm2015": "fesm2015/tl8.mjs", | ||
| "module": "fesm2022/tl8.mjs", | ||
| "typings": "index.d.ts", | ||
@@ -26,7 +22,5 @@ "exports": { | ||
| "types": "./index.d.ts", | ||
| "esm2020": "./esm2020/tl8.mjs", | ||
| "es2020": "./fesm2020/tl8.mjs", | ||
| "es2015": "./fesm2015/tl8.mjs", | ||
| "node": "./fesm2015/tl8.mjs", | ||
| "default": "./fesm2020/tl8.mjs" | ||
| "esm2022": "./esm2022/tl8.mjs", | ||
| "esm": "./esm2022/tl8.mjs", | ||
| "default": "./fesm2022/tl8.mjs" | ||
| } | ||
@@ -33,0 +27,0 @@ }, |
| export * from './lib/tl8.module'; | ||
| export * from './lib/pipes/tl8.pipe'; | ||
| export * from './lib/target-api'; | ||
| export * from './lib/interfaces/context-menu-params'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RsOC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvdGw4LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFyZ2V0LWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuIl19 |
| export {}; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvaW50ZXJmYWNlcy9jb250ZXh0LW1lbnUtcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDb250ZXh0TWVudVBhcmFtcyA9XG4gIHwgVW50cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXNcbiAgfCBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW50cmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMge1xuICBub2RlQ29udGVudDogc3RyaW5nIHwgbnVsbDtcbiAgbGFuZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMge1xuICBrZXk6IHN0cmluZztcbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xufVxuIl19 |
| import { ChangeDetectorRef, ElementRef, Pipe, } from '@angular/core'; | ||
| import { TranslatePipe, TranslateService } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, of } from 'rxjs'; | ||
| import { distinctUntilChanged, switchMap, tap } from 'rxjs/operators'; | ||
| import { TL8Service } from '../services/tl8.service'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "@ngx-translate/core"; | ||
| import * as i2 from "../services/tl8.service"; | ||
| export class TL8Pipe { | ||
| constructor(translateService, chDetectorRef, tl8Service, elementRef) { | ||
| this.translateService = translateService; | ||
| this.chDetectorRef = chDetectorRef; | ||
| this.tl8Service = tl8Service; | ||
| this.elementRef = elementRef; | ||
| this.currentKey$ = new BehaviorSubject(null); | ||
| this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef); | ||
| this.currentKey = null; | ||
| this.currentTranslation = null; | ||
| this.currentKey$ | ||
| .pipe(distinctUntilChanged(), switchMap((key) => { | ||
| if (key) { | ||
| return this.tl8Service.observeOverwrittenTranslation(key); | ||
| } | ||
| return of(null); | ||
| }), tap((translation) => { | ||
| this.chDetectorRef.markForCheck(); | ||
| this.currentTranslation = translation; | ||
| })) | ||
| .subscribe(); | ||
| } | ||
| ngOnDestroy() { | ||
| this.tPipe.ngOnDestroy(); | ||
| this.unregister(); | ||
| } | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
| transform(key, ...args) { | ||
| this.currentKey$.next(key); | ||
| if (this.currentKey !== key) { | ||
| this.unregister(); | ||
| this.currentKey = key; | ||
| this.register(); | ||
| } | ||
| if (this.currentTranslation === null) { | ||
| return this.tPipe.transform(key, ...args); | ||
| } | ||
| return this.translateService.parser.interpolate(this.currentTranslation, ...args); | ||
| } | ||
| get key() { | ||
| return this.currentKey; | ||
| } | ||
| get element() { | ||
| return this.elementRef.nativeElement; | ||
| } | ||
| get currentValue() { | ||
| if (this.currentTranslation === null) { | ||
| return this.initialValue; | ||
| } | ||
| return this.currentTranslation; | ||
| } | ||
| get initialValue() { | ||
| return this.translateService.instant(this.currentKey); | ||
| } | ||
| unregister() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.unregsiterElement(this); | ||
| } | ||
| } | ||
| register() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.registerElement(this); | ||
| } | ||
| } | ||
| } | ||
| TL8Pipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| TL8Pipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, name: "tl8", pure: false }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'tl8', | ||
| pure: false, | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i2.TL8Service }, { type: i0.ElementRef }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3BpcGVzL3RsOC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUVWLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLE9BQU87SUFNbEIsWUFDVSxnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsVUFBbUM7UUFIbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVRyQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBUS9DLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBZTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOztvR0FoRlUsT0FBTztrR0FBUCxPQUFPOzJGQUFQLE9BQU87a0JBSm5CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRMOEVudHJ5LCBUTDhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0bDgnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSwgVEw4RW50cnkge1xuICBwcml2YXRlIGN1cnJlbnRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSB0UGlwZSA9IG5ldyBUcmFuc2xhdGVQaXBlKHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5jaERldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBjdXJyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VHJhbnNsYXRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNoRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdGw4U2VydmljZTogVEw4U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMuY3VycmVudEtleSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRsOFNlcnZpY2Uub2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50UGlwZS5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiBhbnkge1xuICAgIHRoaXMuY3VycmVudEtleSQubmV4dChrZXkpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRLZXkgIT09IGtleSkge1xuICAgICAgdGhpcy51bnJlZ2lzdGVyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRLZXkgPSBrZXk7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudFBpcGUudHJhbnNmb3JtKGtleSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UucGFyc2VyLmludGVycG9sYXRlKFxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNsYXRpb24sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGdldCBrZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VHJhbnNsYXRpb247XG4gIH1cblxuICBnZXQgaW5pdGlhbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRLZXkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5yZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UudW5yZWdzaXRlckVsZW1lbnQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UucmVnaXN0ZXJFbGVtZW50KHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19 |
| import { Injectable, NgZone } from '@angular/core'; | ||
| import { TL8TargetAPI, } from '../target-api'; | ||
| import * as i0 from "@angular/core"; | ||
| export class TargetService { | ||
| constructor(zone) { | ||
| this.zone = zone; | ||
| } | ||
| get gatewayOrThrow() { | ||
| return TL8TargetAPI(); | ||
| } | ||
| sendToHost(message, data) { | ||
| return this.gatewayOrThrow.sendToHost(message, data); | ||
| } | ||
| openContextMenu(params) { | ||
| return this.gatewayOrThrow.openContextMenu(params); | ||
| } | ||
| declareReady(config) { | ||
| return this.gatewayOrThrow.declareReady(config); | ||
| } | ||
| on(event, listener) { | ||
| this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data))); | ||
| } | ||
| get isHosted() { | ||
| try { | ||
| return !!this.gatewayOrThrow; | ||
| } | ||
| catch (error) { | ||
| return false; | ||
| } | ||
| } | ||
| } | ||
| TargetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TargetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RhcmdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUpwQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQsVUFBVSxDQUFDLE9BQWUsRUFBRSxJQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQStCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEVBQUUsQ0FBVyxLQUFhLEVBQUUsUUFBa0M7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzswR0EvQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBpR2F0ZXdheSxcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFRMOFRhcmdldEFQSSxcbn0gZnJvbSAnLi4vdGFyZ2V0LWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUYXJnZXRTZXJ2aWNlIHtcbiAgZ2V0IGdhdGV3YXlPclRocm93KCk6IFRhcmdldEFwaUdhdGV3YXkge1xuICAgIHJldHVybiBUTDhUYXJnZXRBUEkoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIHNlbmRUb0hvc3QobWVzc2FnZTogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cuc2VuZFRvSG9zdChtZXNzYWdlLCBkYXRhKTtcbiAgfVxuXG4gIG9wZW5Db250ZXh0TWVudShwYXJhbXM6IENvbnRleHRNZW51UGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cub3BlbkNvbnRleHRNZW51KHBhcmFtcyk7XG4gIH1cblxuICBkZWNsYXJlUmVhZHkoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmdhdGV3YXlPclRocm93LmRlY2xhcmVSZWFkeShjb25maWcpO1xuICB9XG5cbiAgb248RGF0YVR5cGU+KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoZGF0YTogRGF0YVR5cGUpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmdhdGV3YXlPclRocm93Lm9uKGV2ZW50LCAoZGF0YTogRGF0YVR5cGUpID0+XG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IGxpc3RlbmVyKGRhdGEpKVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNIb3N0ZWQoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2F0ZXdheU9yVGhyb3c7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== |
| import { Inject, Injectable, NgZone } from '@angular/core'; | ||
| import { TranslateService } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, combineLatest } from 'rxjs'; | ||
| import { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators'; | ||
| import { TL8_CONFIG } from '../tl8-config.token'; | ||
| import { TargetService } from './target.service'; | ||
| import * as i0 from "@angular/core"; | ||
| import * as i1 from "@ngx-translate/core"; | ||
| import * as i2 from "./target.service"; | ||
| export class TL8Service { | ||
| constructor(translate, target, tl8config, zone) { | ||
| this.translate = translate; | ||
| this.target = target; | ||
| this.tl8config = tl8config; | ||
| this.zone = zone; | ||
| this._state = new BehaviorSubject({ | ||
| overwrittenTranslations: {}, | ||
| currentEntries: new Set(), | ||
| }); | ||
| this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations)); | ||
| } | ||
| get currentKeysInView$() { | ||
| return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => { | ||
| if (prev.includes(key)) { | ||
| return prev; | ||
| } | ||
| return [...prev, key]; | ||
| }, []))); | ||
| } | ||
| start() { | ||
| if (!this.target.isHosted) { | ||
| return; | ||
| } | ||
| this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => { | ||
| this.zone.run(() => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| }); | ||
| this.target.sendToHost('state:ready', this.tl8config); | ||
| this.target.declareReady(this.tl8config).then((overwrittenTranslations) => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| this.translate.onLangChange | ||
| .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang))) | ||
| .subscribe(); | ||
| combineLatest(this.tl8config.langs | ||
| .map(({ lang }) => lang) | ||
| .map((lang) => this.translate.getTranslation(lang))) | ||
| .pipe(tap(() => { | ||
| this.target.sendToHost('state:currentAppTranslations', this.translate.translations); | ||
| })) | ||
| .subscribe(); | ||
| this.target.on('selectLanguage', ({ value }) => { | ||
| this.translate.use(value); | ||
| }); | ||
| this.currentKeysInView$ | ||
| .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values))) | ||
| .subscribe(); | ||
| if (!this.tl8config.withoutContextMenu) { | ||
| window.addEventListener('contextmenu', (e) => { | ||
| const targets = window.document.elementsFromPoint(e.clientX, e.clientY); | ||
| const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) || | ||
| this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element)); | ||
| if (entry) { | ||
| const translatedContextMenuParams = { | ||
| key: entry.key, | ||
| currentValue: entry.currentValue, | ||
| initialValue: entry.initialValue, | ||
| }; | ||
| this.target.openContextMenu(translatedContextMenuParams); | ||
| } | ||
| else { | ||
| this.target.openContextMenu({ | ||
| nodeContent: e.target?.textContent, | ||
| lang: this.currentLang, | ||
| }); | ||
| } | ||
| e.preventDefault(); | ||
| }); | ||
| } | ||
| } | ||
| observeOverwrittenTranslation(key) { | ||
| return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => { | ||
| if (!translationsForLang) { | ||
| return null; | ||
| } | ||
| return translationsForLang[key] || null; | ||
| }), distinctUntilChanged()); | ||
| } | ||
| registerElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.add(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| unregsiterElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.delete(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| setOverwrittenTranslations(obj) { | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| overwrittenTranslations: obj, | ||
| }); | ||
| } | ||
| get currentLang() { | ||
| return this.translate.currentLang || this.translate.defaultLang; | ||
| } | ||
| get lang$() { | ||
| return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang)); | ||
| } | ||
| get currentEntriesAsArray() { | ||
| return Array.from(this._state.value.currentEntries.values()); | ||
| } | ||
| } | ||
| TL8Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: i2.TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TL8Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TargetService }, { type: undefined, decorators: [{ | ||
| type: Inject, | ||
| args: [TL8_CONFIG] | ||
| }] }, { type: i0.NgZone }]; } }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RsOC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBaUJqRCxNQUFNLE9BQU8sVUFBVTtJQXlCckIsWUFDVSxTQUEyQixFQUMzQixNQUFxQixFQUNELFNBQWtDLEVBQ3RELElBQVk7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ0QsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTVCZCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVc7WUFDN0MsdUJBQXVCLEVBQUUsRUFBRTtZQUMzQixjQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBaUJLLDZCQUF3QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqRCxHQUFHLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQzlELENBQUM7SUFPQyxDQUFDO0lBeEJKLElBQVksa0JBQWtCO1FBQzVC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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zLFxufSBmcm9tICcuLi90YXJnZXQtYXBpJztcbmltcG9ydCB7IFRMOF9DT05GSUcgfSBmcm9tICcuLi90bDgtY29uZmlnLnRva2VuJztcbmltcG9ydCB7IFRhcmdldFNlcnZpY2UgfSBmcm9tICcuL3RhcmdldC5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFRMOFN0YXRlIHtcbiAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zO1xuICBjdXJyZW50RW50cmllczogU2V0PFRMOEVudHJ5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUTDhFbnRyeSB7XG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBrZXk6IHN0cmluZztcbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVEw4U2VydmljZSB7XG4gIHByaXZhdGUgX3N0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUTDhTdGF0ZT4oe1xuICAgIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiB7fSxcbiAgICBjdXJyZW50RW50cmllczogbmV3IFNldCgpLFxuICB9KTtcblxuICBwcml2YXRlIGdldCBjdXJyZW50S2V5c0luVmlldyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5waXBlKFxuICAgICAgbWFwKCh7IGN1cnJlbnRFbnRyaWVzIH0pID0+IGN1cnJlbnRFbnRyaWVzKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBtYXAoKGVudHJpZXMpID0+XG4gICAgICAgIEFycmF5LmZyb20oZW50cmllcy52YWx1ZXMoKSkucmVkdWNlKChwcmV2LCB7IGtleSB9KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBbLi4ucHJldiwga2V5XTtcbiAgICAgICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMkID0gdGhpcy5fc3RhdGUucGlwZShcbiAgICBtYXAoKHsgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgfSkgPT4gb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YXJnZXQ6IFRhcmdldFNlcnZpY2UsXG4gICAgQEluamVjdChUTDhfQ09ORklHKSBwcml2YXRlIHRsOGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YXJnZXQuaXNIb3N0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50YXJnZXQuZ2F0ZXdheU9yVGhyb3cub25TZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhcbiAgICAgIChvdmVyd3JpdHRlblRyYW5zbGF0aW9uczogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdCgnc3RhdGU6cmVhZHknLCB0aGlzLnRsOGNvbmZpZyk7XG4gICAgdGhpcy50YXJnZXQuZGVjbGFyZVJlYWR5KHRoaXMudGw4Y29uZmlnKS50aGVuKChvdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4ge1xuICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcgfHwgdGhpcy50cmFuc2xhdGUuZGVmYXVsdExhbmcpLFxuICAgICAgICB0YXAoKGxhbmcpID0+IHRoaXMudGFyZ2V0LnNlbmRUb0hvc3QoJ3N0YXRlOmN1cnJlbnRMYW5ndWFnZScsIGxhbmcpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnRsOGNvbmZpZy5sYW5nc1xuICAgICAgICAubWFwKCh7IGxhbmcgfSkgPT4gbGFuZylcbiAgICAgICAgLm1hcCgobGFuZykgPT4gdGhpcy50cmFuc2xhdGUuZ2V0VHJhbnNsYXRpb24obGFuZykpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdChcbiAgICAgICAgICAgICdzdGF0ZTpjdXJyZW50QXBwVHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy50YXJnZXQub248eyB2YWx1ZTogc3RyaW5nIH0+KCdzZWxlY3RMYW5ndWFnZScsICh7IHZhbHVlIH0pID0+IHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZSh2YWx1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jdXJyZW50S2V5c0luVmlldyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHZhbHVlcykgPT5cbiAgICAgICAgICB0aGlzLnRhcmdldC5zZW5kVG9Ib3N0KCdzdGF0ZTpjdXJyZW50VmlzaWJsZUtleXMnLCB2YWx1ZXMpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGlmICghdGhpcy50bDhjb25maWcud2l0aG91dENvbnRleHRNZW51KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gd2luZG93LmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTtcbiAgICAgICAgY29uc3QgZW50cnkgPVxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzWzBdLmNoaWxkTm9kZXMpLnNvbWUoKGMpID0+IGMgPT09IGVudHJ5LmVsZW1lbnQpXG4gICAgICAgICAgKSB8fFxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzKS5zb21lKChjKSA9PiBjID09PSBlbnRyeS5lbGVtZW50KVxuICAgICAgICAgICk7XG4gICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtczogVHJhbnNsYXRlZENvbnRleHRNZW51UGFyYW1zID0ge1xuICAgICAgICAgICAga2V5OiBlbnRyeS5rZXksXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IGVudHJ5LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogZW50cnkuaW5pdGlhbFZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHtcbiAgICAgICAgICAgIG5vZGVDb250ZW50OiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy50ZXh0Q29udGVudCxcbiAgICAgICAgICAgIGxhbmc6IHRoaXMuY3VycmVudExhbmcsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5vdmVyd3JpdHRlblRyYW5zbGF0aW9ucyQsIHRoaXMubGFuZyRdKS5waXBlKFxuICAgICAgbWFwKChbb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMsIGxhbmddKSA9PiBvdmVyd3JpdHRlblRyYW5zbGF0aW9uc1tsYW5nXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbnNGb3JMYW5nKSA9PiB7XG4gICAgICAgIGlmICghdHJhbnNsYXRpb25zRm9yTGFuZykge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnNGb3JMYW5nW2tleV0gfHwgbnVsbDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICByZWdpc3RlckVsZW1lbnQoZW50cnk6IFRMOEVudHJ5KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEVudHJpZXMgPSBuZXcgU2V0KHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzKTtcbiAgICBjdXJyZW50RW50cmllcy5hZGQoZW50cnkpO1xuICAgIHRoaXMuX3N0YXRlLm5leHQoe1xuICAgICAgLi4udGhpcy5fc3RhdGUudmFsdWUsXG4gICAgICBjdXJyZW50RW50cmllcyxcbiAgICB9KTtcbiAgfVxuXG4gIHVucmVnc2l0ZXJFbGVtZW50KGVudHJ5OiBUTDhFbnRyeSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyaWVzID0gbmV3IFNldCh0aGlzLl9zdGF0ZS52YWx1ZS5jdXJyZW50RW50cmllcyk7XG4gICAgY3VycmVudEVudHJpZXMuZGVsZXRlKGVudHJ5KTtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgY3VycmVudEVudHJpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKG9iajogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IG9iaixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGFuZyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAoKGUpID0+IGUubGFuZyksXG4gICAgICBzdGFydFdpdGgodGhpcy5jdXJyZW50TGFuZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3VycmVudEVudHJpZXNBc0FycmF5KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzLnZhbHVlcygpKTtcbiAgfVxufVxuIl19 |
| export function startTl8Factory(tl8) { | ||
| return () => { | ||
| return tl8.start(); | ||
| }; | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdGw4LmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3N0YXJ0LXRsOC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBZTtJQUM3QyxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUTDhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90bDguc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFRsOEZhY3RvcnkodGw4OiBUTDhTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgcmV0dXJuIHRsOC5zdGFydCgpO1xuICB9XG59XG4iXX0= |
| export function TL8TargetAPI() { | ||
| return TL8_TARGET_API; | ||
| } | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGFyZ2V0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRNZW51UGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEFwaUdhdGV3YXkge1xuICBzZW5kVG9Ib3N0OiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUpID0+IHZvaWQ7XG4gIG9wZW5Db250ZXh0TWVudTogKHBhcmFtczogQ29udGV4dE1lbnVQYXJhbXMpID0+IHZvaWQ7XG4gIG9uOiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgY2I6IChkYXRhOiBEYXRhVHlwZSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgZGVjbGFyZVJlYWR5KFxuICAgIGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWdcbiAgKTogUHJvbWlzZTxXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucz47XG4gIG9uU2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IChcbiAgICBjYjogKG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4gdm9pZFxuICApID0+IHZvaWQ7XG59XG5cbmRlY2xhcmUgY29uc3QgVEw4X1RBUkdFVF9BUEk6IFRhcmdldEFwaUdhdGV3YXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBUTDhUYXJnZXRBUEkoKSB7XG4gIHJldHVybiBUTDhfVEFSR0VUX0FQSTtcbn1cblxuZXhwb3J0IHR5cGUgT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgPSB7XG4gIFtob3N0bmFtZTogc3RyaW5nXTogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyA9IHtcbiAgW2xhbmc6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAgbGFuZ3M6IHsgbGFuZzogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgd2l0aG91dENvbnRleHRNZW51PzogYm9vbGVhbjtcbn07XG4iXX0= |
| import { InjectionToken } from '@angular/core'; | ||
| export const TL8_CONFIG = new InjectionToken('TL8_CONFIG'); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4LWNvbmZpZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUTDhfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdUTDhfQ09ORklHJyk7XG4iXX0= |
| import { CommonModule } from '@angular/common'; | ||
| import { APP_INITIALIZER, NgModule } from '@angular/core'; | ||
| import { TranslateModule } from '@ngx-translate/core'; | ||
| import { TL8Pipe } from './pipes/tl8.pipe'; | ||
| import { TL8Service } from './services/tl8.service'; | ||
| import { startTl8Factory } from './start-tl8.factory'; | ||
| import { TL8_CONFIG } from './tl8-config.token'; | ||
| import * as i0 from "@angular/core"; | ||
| export class TL8Module { | ||
| static forRoot(config) { | ||
| return { | ||
| ngModule: TL8Module, | ||
| providers: [ | ||
| { provide: TL8_CONFIG, useValue: config }, | ||
| { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] } | ||
| ], | ||
| }; | ||
| } | ||
| } | ||
| TL8Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| TL8Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule, | ||
| CommonModule], exports: [TL8Pipe] }); | ||
| TL8Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, imports: [TranslateModule, | ||
| CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| declarations: [TL8Pipe], | ||
| imports: [ | ||
| TranslateModule, | ||
| CommonModule, | ||
| ], | ||
| exports: [TL8Pipe], | ||
| }] | ||
| }] }); | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBV2hELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDekMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTthQUMzRjtTQUNGLENBQUM7SUFDSixDQUFDOztzR0FUVSxTQUFTO3VHQUFULFNBQVMsaUJBUEwsT0FBTyxhQUVwQixlQUFlO1FBQ2YsWUFBWSxhQUVKLE9BQU87dUdBRU4sU0FBUyxZQUxsQixlQUFlO1FBQ2YsWUFBWTsyRkFJSCxTQUFTO2tCQVJyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVEw4UGlwZSB9IGZyb20gJy4vcGlwZXMvdGw4LnBpcGUnO1xuaW1wb3J0IHsgVEw4U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RhcnRUbDhGYWN0b3J5IH0gZnJvbSAnLi9zdGFydC10bDguZmFjdG9yeSc7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vdGFyZ2V0LWFwaSc7XG5pbXBvcnQgeyBUTDhfQ09ORklHIH0gZnJvbSAnLi90bDgtY29uZmlnLnRva2VuJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUTDhQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUTDhQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VEw4TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUTDhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBUTDhfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBzdGFydFRsOEZhY3RvcnksIG11bHRpOiB0cnVlLCBkZXBzOiBbVEw4U2VydmljZV0gfVxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0= |
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export * from './index'; | ||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy90bDgvc3JjL3RsOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ== |
-285
| import { CommonModule } from '@angular/common'; | ||
| import * as i0 from '@angular/core'; | ||
| import { InjectionToken, Injectable, Inject, Pipe, APP_INITIALIZER, NgModule } from '@angular/core'; | ||
| import * as i1 from '@ngx-translate/core'; | ||
| import { TranslatePipe, TranslateModule } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, combineLatest, of } from 'rxjs'; | ||
| import { map, distinctUntilChanged, startWith, tap, switchMap } from 'rxjs/operators'; | ||
| const TL8_CONFIG = new InjectionToken('TL8_CONFIG'); | ||
| function TL8TargetAPI() { | ||
| return TL8_TARGET_API; | ||
| } | ||
| class TargetService { | ||
| constructor(zone) { | ||
| this.zone = zone; | ||
| } | ||
| get gatewayOrThrow() { | ||
| return TL8TargetAPI(); | ||
| } | ||
| sendToHost(message, data) { | ||
| return this.gatewayOrThrow.sendToHost(message, data); | ||
| } | ||
| openContextMenu(params) { | ||
| return this.gatewayOrThrow.openContextMenu(params); | ||
| } | ||
| declareReady(config) { | ||
| return this.gatewayOrThrow.declareReady(config); | ||
| } | ||
| on(event, listener) { | ||
| this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data))); | ||
| } | ||
| get isHosted() { | ||
| try { | ||
| return !!this.gatewayOrThrow; | ||
| } | ||
| catch (error) { | ||
| return false; | ||
| } | ||
| } | ||
| } | ||
| TargetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TargetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); | ||
| class TL8Service { | ||
| constructor(translate, target, tl8config, zone) { | ||
| this.translate = translate; | ||
| this.target = target; | ||
| this.tl8config = tl8config; | ||
| this.zone = zone; | ||
| this._state = new BehaviorSubject({ | ||
| overwrittenTranslations: {}, | ||
| currentEntries: new Set(), | ||
| }); | ||
| this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations)); | ||
| } | ||
| get currentKeysInView$() { | ||
| return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => { | ||
| if (prev.includes(key)) { | ||
| return prev; | ||
| } | ||
| return [...prev, key]; | ||
| }, []))); | ||
| } | ||
| start() { | ||
| if (!this.target.isHosted) { | ||
| return; | ||
| } | ||
| this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => { | ||
| this.zone.run(() => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| }); | ||
| this.target.sendToHost('state:ready', this.tl8config); | ||
| this.target.declareReady(this.tl8config).then((overwrittenTranslations) => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| this.translate.onLangChange | ||
| .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang))) | ||
| .subscribe(); | ||
| combineLatest(this.tl8config.langs | ||
| .map(({ lang }) => lang) | ||
| .map((lang) => this.translate.getTranslation(lang))) | ||
| .pipe(tap(() => { | ||
| this.target.sendToHost('state:currentAppTranslations', this.translate.translations); | ||
| })) | ||
| .subscribe(); | ||
| this.target.on('selectLanguage', ({ value }) => { | ||
| this.translate.use(value); | ||
| }); | ||
| this.currentKeysInView$ | ||
| .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values))) | ||
| .subscribe(); | ||
| if (!this.tl8config.withoutContextMenu) { | ||
| window.addEventListener('contextmenu', (e) => { | ||
| var _a; | ||
| const targets = window.document.elementsFromPoint(e.clientX, e.clientY); | ||
| const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) || | ||
| this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element)); | ||
| if (entry) { | ||
| const translatedContextMenuParams = { | ||
| key: entry.key, | ||
| currentValue: entry.currentValue, | ||
| initialValue: entry.initialValue, | ||
| }; | ||
| this.target.openContextMenu(translatedContextMenuParams); | ||
| } | ||
| else { | ||
| this.target.openContextMenu({ | ||
| nodeContent: (_a = e.target) === null || _a === void 0 ? void 0 : _a.textContent, | ||
| lang: this.currentLang, | ||
| }); | ||
| } | ||
| e.preventDefault(); | ||
| }); | ||
| } | ||
| } | ||
| observeOverwrittenTranslation(key) { | ||
| return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => { | ||
| if (!translationsForLang) { | ||
| return null; | ||
| } | ||
| return translationsForLang[key] || null; | ||
| }), distinctUntilChanged()); | ||
| } | ||
| registerElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.add(entry); | ||
| this._state.next(Object.assign(Object.assign({}, this._state.value), { currentEntries })); | ||
| } | ||
| unregsiterElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.delete(entry); | ||
| this._state.next(Object.assign(Object.assign({}, this._state.value), { currentEntries })); | ||
| } | ||
| setOverwrittenTranslations(obj) { | ||
| this._state.next(Object.assign(Object.assign({}, this._state.value), { overwrittenTranslations: obj })); | ||
| } | ||
| get currentLang() { | ||
| return this.translate.currentLang || this.translate.defaultLang; | ||
| } | ||
| get lang$() { | ||
| return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang)); | ||
| } | ||
| get currentEntriesAsArray() { | ||
| return Array.from(this._state.value.currentEntries.values()); | ||
| } | ||
| } | ||
| TL8Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TL8Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { | ||
| return [{ type: i1.TranslateService }, { type: TargetService }, { type: undefined, decorators: [{ | ||
| type: Inject, | ||
| args: [TL8_CONFIG] | ||
| }] }, { type: i0.NgZone }]; | ||
| } }); | ||
| class TL8Pipe { | ||
| constructor(translateService, chDetectorRef, tl8Service, elementRef) { | ||
| this.translateService = translateService; | ||
| this.chDetectorRef = chDetectorRef; | ||
| this.tl8Service = tl8Service; | ||
| this.elementRef = elementRef; | ||
| this.currentKey$ = new BehaviorSubject(null); | ||
| this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef); | ||
| this.currentKey = null; | ||
| this.currentTranslation = null; | ||
| this.currentKey$ | ||
| .pipe(distinctUntilChanged(), switchMap((key) => { | ||
| if (key) { | ||
| return this.tl8Service.observeOverwrittenTranslation(key); | ||
| } | ||
| return of(null); | ||
| }), tap((translation) => { | ||
| this.chDetectorRef.markForCheck(); | ||
| this.currentTranslation = translation; | ||
| })) | ||
| .subscribe(); | ||
| } | ||
| ngOnDestroy() { | ||
| this.tPipe.ngOnDestroy(); | ||
| this.unregister(); | ||
| } | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
| transform(key, ...args) { | ||
| this.currentKey$.next(key); | ||
| if (this.currentKey !== key) { | ||
| this.unregister(); | ||
| this.currentKey = key; | ||
| this.register(); | ||
| } | ||
| if (this.currentTranslation === null) { | ||
| return this.tPipe.transform(key, ...args); | ||
| } | ||
| return this.translateService.parser.interpolate(this.currentTranslation, ...args); | ||
| } | ||
| get key() { | ||
| return this.currentKey; | ||
| } | ||
| get element() { | ||
| return this.elementRef.nativeElement; | ||
| } | ||
| get currentValue() { | ||
| if (this.currentTranslation === null) { | ||
| return this.initialValue; | ||
| } | ||
| return this.currentTranslation; | ||
| } | ||
| get initialValue() { | ||
| return this.translateService.instant(this.currentKey); | ||
| } | ||
| unregister() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.unregsiterElement(this); | ||
| } | ||
| } | ||
| register() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.registerElement(this); | ||
| } | ||
| } | ||
| } | ||
| TL8Pipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| TL8Pipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, name: "tl8", pure: false }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'tl8', | ||
| pure: false, | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: TL8Service }, { type: i0.ElementRef }]; } }); | ||
| function startTl8Factory(tl8) { | ||
| return () => { | ||
| return tl8.start(); | ||
| }; | ||
| } | ||
| class TL8Module { | ||
| static forRoot(config) { | ||
| return { | ||
| ngModule: TL8Module, | ||
| providers: [ | ||
| { provide: TL8_CONFIG, useValue: config }, | ||
| { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] } | ||
| ], | ||
| }; | ||
| } | ||
| } | ||
| TL8Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| TL8Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule, | ||
| CommonModule], exports: [TL8Pipe] }); | ||
| TL8Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, imports: [TranslateModule, | ||
| CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| declarations: [TL8Pipe], | ||
| imports: [ | ||
| TranslateModule, | ||
| CommonModule, | ||
| ], | ||
| exports: [TL8Pipe], | ||
| }] | ||
| }] }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { TL8Module, TL8Pipe, TL8TargetAPI }; | ||
| //# sourceMappingURL=tl8.mjs.map | ||
| //# sourceMappingURL=tl8.mjs.map |
| {"version":3,"file":"tl8.mjs","sources":["../esm2020/lib/tl8-config.token.mjs","../esm2020/lib/target-api.mjs","../esm2020/lib/services/target.service.mjs","../esm2020/lib/services/tl8.service.mjs","../esm2020/lib/pipes/tl8.pipe.mjs","../esm2020/lib/start-tl8.factory.mjs","../esm2020/lib/tl8.module.mjs","../esm2020/tl8.mjs"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const TL8_CONFIG = new InjectionToken('TL8_CONFIG');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4LWNvbmZpZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUTDhfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdUTDhfQ09ORklHJyk7XG4iXX0=","export function TL8TargetAPI() {\n return TL8_TARGET_API;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGFyZ2V0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRNZW51UGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEFwaUdhdGV3YXkge1xuICBzZW5kVG9Ib3N0OiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUpID0+IHZvaWQ7XG4gIG9wZW5Db250ZXh0TWVudTogKHBhcmFtczogQ29udGV4dE1lbnVQYXJhbXMpID0+IHZvaWQ7XG4gIG9uOiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgY2I6IChkYXRhOiBEYXRhVHlwZSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgZGVjbGFyZVJlYWR5KFxuICAgIGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWdcbiAgKTogUHJvbWlzZTxXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucz47XG4gIG9uU2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IChcbiAgICBjYjogKG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4gdm9pZFxuICApID0+IHZvaWQ7XG59XG5cbmRlY2xhcmUgY29uc3QgVEw4X1RBUkdFVF9BUEk6IFRhcmdldEFwaUdhdGV3YXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBUTDhUYXJnZXRBUEkoKSB7XG4gIHJldHVybiBUTDhfVEFSR0VUX0FQSTtcbn1cblxuZXhwb3J0IHR5cGUgT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgPSB7XG4gIFtob3N0bmFtZTogc3RyaW5nXTogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyA9IHtcbiAgW2xhbmc6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAgbGFuZ3M6IHsgbGFuZzogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgd2l0aG91dENvbnRleHRNZW51PzogYm9vbGVhbjtcbn07XG4iXX0=","import { Injectable, NgZone } from '@angular/core';\nimport { TL8TargetAPI, } from '../target-api';\nimport * as i0 from \"@angular/core\";\nexport class TargetService {\n constructor(zone) {\n this.zone = zone;\n }\n get gatewayOrThrow() {\n return TL8TargetAPI();\n }\n sendToHost(message, data) {\n return this.gatewayOrThrow.sendToHost(message, data);\n }\n openContextMenu(params) {\n return this.gatewayOrThrow.openContextMenu(params);\n }\n declareReady(config) {\n return this.gatewayOrThrow.declareReady(config);\n }\n on(event, listener) {\n this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data)));\n }\n get isHosted() {\n try {\n return !!this.gatewayOrThrow;\n }\n catch (error) {\n return false;\n }\n }\n}\nTargetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nTargetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RhcmdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUpwQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQsVUFBVSxDQUFDLE9BQWUsRUFBRSxJQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQStCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEVBQUUsQ0FBVyxLQUFhLEVBQUUsUUFBa0M7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzswR0EvQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBpR2F0ZXdheSxcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFRMOFRhcmdldEFQSSxcbn0gZnJvbSAnLi4vdGFyZ2V0LWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUYXJnZXRTZXJ2aWNlIHtcbiAgZ2V0IGdhdGV3YXlPclRocm93KCk6IFRhcmdldEFwaUdhdGV3YXkge1xuICAgIHJldHVybiBUTDhUYXJnZXRBUEkoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIHNlbmRUb0hvc3QobWVzc2FnZTogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cuc2VuZFRvSG9zdChtZXNzYWdlLCBkYXRhKTtcbiAgfVxuXG4gIG9wZW5Db250ZXh0TWVudShwYXJhbXM6IENvbnRleHRNZW51UGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cub3BlbkNvbnRleHRNZW51KHBhcmFtcyk7XG4gIH1cblxuICBkZWNsYXJlUmVhZHkoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmdhdGV3YXlPclRocm93LmRlY2xhcmVSZWFkeShjb25maWcpO1xuICB9XG5cbiAgb248RGF0YVR5cGU+KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoZGF0YTogRGF0YVR5cGUpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmdhdGV3YXlPclRocm93Lm9uKGV2ZW50LCAoZGF0YTogRGF0YVR5cGUpID0+XG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IGxpc3RlbmVyKGRhdGEpKVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNIb3N0ZWQoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2F0ZXdheU9yVGhyb3c7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators';\nimport { TL8_CONFIG } from '../tl8-config.token';\nimport { TargetService } from './target.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-translate/core\";\nimport * as i2 from \"./target.service\";\nexport class TL8Service {\n constructor(translate, target, tl8config, zone) {\n this.translate = translate;\n this.target = target;\n this.tl8config = tl8config;\n this.zone = zone;\n this._state = new BehaviorSubject({\n overwrittenTranslations: {},\n currentEntries: new Set(),\n });\n this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations));\n }\n get currentKeysInView$() {\n return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => {\n if (prev.includes(key)) {\n return prev;\n }\n return [...prev, key];\n }, [])));\n }\n start() {\n if (!this.target.isHosted) {\n return;\n }\n this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => {\n this.zone.run(() => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n });\n this.target.sendToHost('state:ready', this.tl8config);\n this.target.declareReady(this.tl8config).then((overwrittenTranslations) => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n this.translate.onLangChange\n .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang)))\n .subscribe();\n combineLatest(this.tl8config.langs\n .map(({ lang }) => lang)\n .map((lang) => this.translate.getTranslation(lang)))\n .pipe(tap(() => {\n this.target.sendToHost('state:currentAppTranslations', this.translate.translations);\n }))\n .subscribe();\n this.target.on('selectLanguage', ({ value }) => {\n this.translate.use(value);\n });\n this.currentKeysInView$\n .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values)))\n .subscribe();\n if (!this.tl8config.withoutContextMenu) {\n window.addEventListener('contextmenu', (e) => {\n const targets = window.document.elementsFromPoint(e.clientX, e.clientY);\n const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) ||\n this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element));\n if (entry) {\n const translatedContextMenuParams = {\n key: entry.key,\n currentValue: entry.currentValue,\n initialValue: entry.initialValue,\n };\n this.target.openContextMenu(translatedContextMenuParams);\n }\n else {\n this.target.openContextMenu({\n nodeContent: e.target?.textContent,\n lang: this.currentLang,\n });\n }\n e.preventDefault();\n });\n }\n }\n observeOverwrittenTranslation(key) {\n return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => {\n if (!translationsForLang) {\n return null;\n }\n return translationsForLang[key] || null;\n }), distinctUntilChanged());\n }\n registerElement(entry) {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.add(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n unregsiterElement(entry) {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.delete(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n setOverwrittenTranslations(obj) {\n this._state.next({\n ...this._state.value,\n overwrittenTranslations: obj,\n });\n }\n get currentLang() {\n return this.translate.currentLang || this.translate.defaultLang;\n }\n get lang$() {\n return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang));\n }\n get currentEntriesAsArray() {\n return Array.from(this._state.value.currentEntries.values());\n }\n}\nTL8Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: i2.TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nTL8Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TargetService }, { type: undefined, decorators: [{\n type: Inject,\n args: [TL8_CONFIG]\n }] }, { type: i0.NgZone }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RsOC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBaUJqRCxNQUFNLE9BQU8sVUFBVTtJQXlCckIsWUFDVSxTQUEyQixFQUMzQixNQUFxQixFQUNELFNBQWtDLEVBQ3RELElBQVk7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ0QsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTVCZCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVc7WUFDN0MsdUJBQXVCLEVBQUUsRUFBRTtZQUMzQixjQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBaUJLLDZCQUF3QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqRCxHQUFHLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQzlELENBQUM7SUFPQyxDQUFDO0lBeEJKLElBQVksa0JBQWtCO1FBQzVC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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zLFxufSBmcm9tICcuLi90YXJnZXQtYXBpJztcbmltcG9ydCB7IFRMOF9DT05GSUcgfSBmcm9tICcuLi90bDgtY29uZmlnLnRva2VuJztcbmltcG9ydCB7IFRhcmdldFNlcnZpY2UgfSBmcm9tICcuL3RhcmdldC5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFRMOFN0YXRlIHtcbiAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zO1xuICBjdXJyZW50RW50cmllczogU2V0PFRMOEVudHJ5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUTDhFbnRyeSB7XG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBrZXk6IHN0cmluZztcbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVEw4U2VydmljZSB7XG4gIHByaXZhdGUgX3N0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUTDhTdGF0ZT4oe1xuICAgIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiB7fSxcbiAgICBjdXJyZW50RW50cmllczogbmV3IFNldCgpLFxuICB9KTtcblxuICBwcml2YXRlIGdldCBjdXJyZW50S2V5c0luVmlldyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5waXBlKFxuICAgICAgbWFwKCh7IGN1cnJlbnRFbnRyaWVzIH0pID0+IGN1cnJlbnRFbnRyaWVzKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBtYXAoKGVudHJpZXMpID0+XG4gICAgICAgIEFycmF5LmZyb20oZW50cmllcy52YWx1ZXMoKSkucmVkdWNlKChwcmV2LCB7IGtleSB9KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBbLi4ucHJldiwga2V5XTtcbiAgICAgICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMkID0gdGhpcy5fc3RhdGUucGlwZShcbiAgICBtYXAoKHsgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgfSkgPT4gb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YXJnZXQ6IFRhcmdldFNlcnZpY2UsXG4gICAgQEluamVjdChUTDhfQ09ORklHKSBwcml2YXRlIHRsOGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YXJnZXQuaXNIb3N0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50YXJnZXQuZ2F0ZXdheU9yVGhyb3cub25TZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhcbiAgICAgIChvdmVyd3JpdHRlblRyYW5zbGF0aW9uczogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdCgnc3RhdGU6cmVhZHknLCB0aGlzLnRsOGNvbmZpZyk7XG4gICAgdGhpcy50YXJnZXQuZGVjbGFyZVJlYWR5KHRoaXMudGw4Y29uZmlnKS50aGVuKChvdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4ge1xuICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcgfHwgdGhpcy50cmFuc2xhdGUuZGVmYXVsdExhbmcpLFxuICAgICAgICB0YXAoKGxhbmcpID0+IHRoaXMudGFyZ2V0LnNlbmRUb0hvc3QoJ3N0YXRlOmN1cnJlbnRMYW5ndWFnZScsIGxhbmcpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnRsOGNvbmZpZy5sYW5nc1xuICAgICAgICAubWFwKCh7IGxhbmcgfSkgPT4gbGFuZylcbiAgICAgICAgLm1hcCgobGFuZykgPT4gdGhpcy50cmFuc2xhdGUuZ2V0VHJhbnNsYXRpb24obGFuZykpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdChcbiAgICAgICAgICAgICdzdGF0ZTpjdXJyZW50QXBwVHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy50YXJnZXQub248eyB2YWx1ZTogc3RyaW5nIH0+KCdzZWxlY3RMYW5ndWFnZScsICh7IHZhbHVlIH0pID0+IHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZSh2YWx1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jdXJyZW50S2V5c0luVmlldyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHZhbHVlcykgPT5cbiAgICAgICAgICB0aGlzLnRhcmdldC5zZW5kVG9Ib3N0KCdzdGF0ZTpjdXJyZW50VmlzaWJsZUtleXMnLCB2YWx1ZXMpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGlmICghdGhpcy50bDhjb25maWcud2l0aG91dENvbnRleHRNZW51KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gd2luZG93LmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTtcbiAgICAgICAgY29uc3QgZW50cnkgPVxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzWzBdLmNoaWxkTm9kZXMpLnNvbWUoKGMpID0+IGMgPT09IGVudHJ5LmVsZW1lbnQpXG4gICAgICAgICAgKSB8fFxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzKS5zb21lKChjKSA9PiBjID09PSBlbnRyeS5lbGVtZW50KVxuICAgICAgICAgICk7XG4gICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtczogVHJhbnNsYXRlZENvbnRleHRNZW51UGFyYW1zID0ge1xuICAgICAgICAgICAga2V5OiBlbnRyeS5rZXksXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IGVudHJ5LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogZW50cnkuaW5pdGlhbFZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHtcbiAgICAgICAgICAgIG5vZGVDb250ZW50OiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy50ZXh0Q29udGVudCxcbiAgICAgICAgICAgIGxhbmc6IHRoaXMuY3VycmVudExhbmcsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5vdmVyd3JpdHRlblRyYW5zbGF0aW9ucyQsIHRoaXMubGFuZyRdKS5waXBlKFxuICAgICAgbWFwKChbb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMsIGxhbmddKSA9PiBvdmVyd3JpdHRlblRyYW5zbGF0aW9uc1tsYW5nXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbnNGb3JMYW5nKSA9PiB7XG4gICAgICAgIGlmICghdHJhbnNsYXRpb25zRm9yTGFuZykge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnNGb3JMYW5nW2tleV0gfHwgbnVsbDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICByZWdpc3RlckVsZW1lbnQoZW50cnk6IFRMOEVudHJ5KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEVudHJpZXMgPSBuZXcgU2V0KHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzKTtcbiAgICBjdXJyZW50RW50cmllcy5hZGQoZW50cnkpO1xuICAgIHRoaXMuX3N0YXRlLm5leHQoe1xuICAgICAgLi4udGhpcy5fc3RhdGUudmFsdWUsXG4gICAgICBjdXJyZW50RW50cmllcyxcbiAgICB9KTtcbiAgfVxuXG4gIHVucmVnc2l0ZXJFbGVtZW50KGVudHJ5OiBUTDhFbnRyeSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyaWVzID0gbmV3IFNldCh0aGlzLl9zdGF0ZS52YWx1ZS5jdXJyZW50RW50cmllcyk7XG4gICAgY3VycmVudEVudHJpZXMuZGVsZXRlKGVudHJ5KTtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgY3VycmVudEVudHJpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKG9iajogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IG9iaixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGFuZyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAoKGUpID0+IGUubGFuZyksXG4gICAgICBzdGFydFdpdGgodGhpcy5jdXJyZW50TGFuZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3VycmVudEVudHJpZXNBc0FycmF5KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzLnZhbHVlcygpKTtcbiAgfVxufVxuIl19","import { ChangeDetectorRef, ElementRef, Pipe, } from '@angular/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, of } from 'rxjs';\nimport { distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport { TL8Service } from '../services/tl8.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-translate/core\";\nimport * as i2 from \"../services/tl8.service\";\nexport class TL8Pipe {\n constructor(translateService, chDetectorRef, tl8Service, elementRef) {\n this.translateService = translateService;\n this.chDetectorRef = chDetectorRef;\n this.tl8Service = tl8Service;\n this.elementRef = elementRef;\n this.currentKey$ = new BehaviorSubject(null);\n this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef);\n this.currentKey = null;\n this.currentTranslation = null;\n this.currentKey$\n .pipe(distinctUntilChanged(), switchMap((key) => {\n if (key) {\n return this.tl8Service.observeOverwrittenTranslation(key);\n }\n return of(null);\n }), tap((translation) => {\n this.chDetectorRef.markForCheck();\n this.currentTranslation = translation;\n }))\n .subscribe();\n }\n ngOnDestroy() {\n this.tPipe.ngOnDestroy();\n this.unregister();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n transform(key, ...args) {\n this.currentKey$.next(key);\n if (this.currentKey !== key) {\n this.unregister();\n this.currentKey = key;\n this.register();\n }\n if (this.currentTranslation === null) {\n return this.tPipe.transform(key, ...args);\n }\n return this.translateService.parser.interpolate(this.currentTranslation, ...args);\n }\n get key() {\n return this.currentKey;\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n get currentValue() {\n if (this.currentTranslation === null) {\n return this.initialValue;\n }\n return this.currentTranslation;\n }\n get initialValue() {\n return this.translateService.instant(this.currentKey);\n }\n unregister() {\n if (this.currentKey) {\n this.tl8Service.unregsiterElement(this);\n }\n }\n register() {\n if (this.currentKey) {\n this.tl8Service.registerElement(this);\n }\n }\n}\nTL8Pipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe });\nTL8Pipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, name: \"tl8\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'tl8',\n pure: false,\n }]\n }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i2.TL8Service }, { type: i0.ElementRef }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3BpcGVzL3RsOC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUVWLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLE9BQU87SUFNbEIsWUFDVSxnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsVUFBbUM7UUFIbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVRyQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBUS9DLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBZTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOztvR0FoRlUsT0FBTztrR0FBUCxPQUFPOzJGQUFQLE9BQU87a0JBSm5CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRMOEVudHJ5LCBUTDhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0bDgnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSwgVEw4RW50cnkge1xuICBwcml2YXRlIGN1cnJlbnRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSB0UGlwZSA9IG5ldyBUcmFuc2xhdGVQaXBlKHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5jaERldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBjdXJyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VHJhbnNsYXRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNoRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdGw4U2VydmljZTogVEw4U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMuY3VycmVudEtleSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRsOFNlcnZpY2Uub2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50UGlwZS5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiBhbnkge1xuICAgIHRoaXMuY3VycmVudEtleSQubmV4dChrZXkpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRLZXkgIT09IGtleSkge1xuICAgICAgdGhpcy51bnJlZ2lzdGVyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRLZXkgPSBrZXk7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudFBpcGUudHJhbnNmb3JtKGtleSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UucGFyc2VyLmludGVycG9sYXRlKFxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNsYXRpb24sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGdldCBrZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VHJhbnNsYXRpb247XG4gIH1cblxuICBnZXQgaW5pdGlhbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRLZXkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5yZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UudW5yZWdzaXRlckVsZW1lbnQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UucmVnaXN0ZXJFbGVtZW50KHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19","export function startTl8Factory(tl8) {\n return () => {\n return tl8.start();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdGw4LmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3N0YXJ0LXRsOC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBZTtJQUM3QyxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUTDhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90bDguc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFRsOEZhY3RvcnkodGw4OiBUTDhTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgcmV0dXJuIHRsOC5zdGFydCgpO1xuICB9XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TL8Pipe } from './pipes/tl8.pipe';\nimport { TL8Service } from './services/tl8.service';\nimport { startTl8Factory } from './start-tl8.factory';\nimport { TL8_CONFIG } from './tl8-config.token';\nimport * as i0 from \"@angular/core\";\nexport class TL8Module {\n static forRoot(config) {\n return {\n ngModule: TL8Module,\n providers: [\n { provide: TL8_CONFIG, useValue: config },\n { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] }\n ],\n };\n }\n}\nTL8Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nTL8Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule,\n CommonModule], exports: [TL8Pipe] });\nTL8Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, imports: [TranslateModule,\n CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, decorators: [{\n type: NgModule,\n args: [{\n declarations: [TL8Pipe],\n imports: [\n TranslateModule,\n CommonModule,\n ],\n exports: [TL8Pipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBV2hELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDekMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTthQUMzRjtTQUNGLENBQUM7SUFDSixDQUFDOztzR0FUVSxTQUFTO3VHQUFULFNBQVMsaUJBUEwsT0FBTyxhQUVwQixlQUFlO1FBQ2YsWUFBWSxhQUVKLE9BQU87dUdBRU4sU0FBUyxZQUxsQixlQUFlO1FBQ2YsWUFBWTsyRkFJSCxTQUFTO2tCQVJyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVEw4UGlwZSB9IGZyb20gJy4vcGlwZXMvdGw4LnBpcGUnO1xuaW1wb3J0IHsgVEw4U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RhcnRUbDhGYWN0b3J5IH0gZnJvbSAnLi9zdGFydC10bDguZmFjdG9yeSc7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vdGFyZ2V0LWFwaSc7XG5pbXBvcnQgeyBUTDhfQ09ORklHIH0gZnJvbSAnLi90bDgtY29uZmlnLnRva2VuJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUTDhQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUTDhQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VEw4TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUTDhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBUTDhfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBzdGFydFRsOEZhY3RvcnksIG11bHRpOiB0cnVlLCBkZXBzOiBbVEw4U2VydmljZV0gfVxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy90bDgvc3JjL3RsOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i2.TargetService","i2.TL8Service"],"mappings":"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"} |
-291
| import { CommonModule } from '@angular/common'; | ||
| import * as i0 from '@angular/core'; | ||
| import { InjectionToken, Injectable, Inject, Pipe, APP_INITIALIZER, NgModule } from '@angular/core'; | ||
| import * as i1 from '@ngx-translate/core'; | ||
| import { TranslatePipe, TranslateModule } from '@ngx-translate/core'; | ||
| import { BehaviorSubject, combineLatest, of } from 'rxjs'; | ||
| import { map, distinctUntilChanged, startWith, tap, switchMap } from 'rxjs/operators'; | ||
| const TL8_CONFIG = new InjectionToken('TL8_CONFIG'); | ||
| function TL8TargetAPI() { | ||
| return TL8_TARGET_API; | ||
| } | ||
| class TargetService { | ||
| constructor(zone) { | ||
| this.zone = zone; | ||
| } | ||
| get gatewayOrThrow() { | ||
| return TL8TargetAPI(); | ||
| } | ||
| sendToHost(message, data) { | ||
| return this.gatewayOrThrow.sendToHost(message, data); | ||
| } | ||
| openContextMenu(params) { | ||
| return this.gatewayOrThrow.openContextMenu(params); | ||
| } | ||
| declareReady(config) { | ||
| return this.gatewayOrThrow.declareReady(config); | ||
| } | ||
| on(event, listener) { | ||
| this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data))); | ||
| } | ||
| get isHosted() { | ||
| try { | ||
| return !!this.gatewayOrThrow; | ||
| } | ||
| catch (error) { | ||
| return false; | ||
| } | ||
| } | ||
| } | ||
| TargetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TargetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TargetService, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); | ||
| class TL8Service { | ||
| constructor(translate, target, tl8config, zone) { | ||
| this.translate = translate; | ||
| this.target = target; | ||
| this.tl8config = tl8config; | ||
| this.zone = zone; | ||
| this._state = new BehaviorSubject({ | ||
| overwrittenTranslations: {}, | ||
| currentEntries: new Set(), | ||
| }); | ||
| this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations)); | ||
| } | ||
| get currentKeysInView$() { | ||
| return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => { | ||
| if (prev.includes(key)) { | ||
| return prev; | ||
| } | ||
| return [...prev, key]; | ||
| }, []))); | ||
| } | ||
| start() { | ||
| if (!this.target.isHosted) { | ||
| return; | ||
| } | ||
| this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => { | ||
| this.zone.run(() => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| }); | ||
| this.target.sendToHost('state:ready', this.tl8config); | ||
| this.target.declareReady(this.tl8config).then((overwrittenTranslations) => { | ||
| this.setOverwrittenTranslations(overwrittenTranslations); | ||
| }); | ||
| this.translate.onLangChange | ||
| .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang))) | ||
| .subscribe(); | ||
| combineLatest(this.tl8config.langs | ||
| .map(({ lang }) => lang) | ||
| .map((lang) => this.translate.getTranslation(lang))) | ||
| .pipe(tap(() => { | ||
| this.target.sendToHost('state:currentAppTranslations', this.translate.translations); | ||
| })) | ||
| .subscribe(); | ||
| this.target.on('selectLanguage', ({ value }) => { | ||
| this.translate.use(value); | ||
| }); | ||
| this.currentKeysInView$ | ||
| .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values))) | ||
| .subscribe(); | ||
| if (!this.tl8config.withoutContextMenu) { | ||
| window.addEventListener('contextmenu', (e) => { | ||
| const targets = window.document.elementsFromPoint(e.clientX, e.clientY); | ||
| const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) || | ||
| this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element)); | ||
| if (entry) { | ||
| const translatedContextMenuParams = { | ||
| key: entry.key, | ||
| currentValue: entry.currentValue, | ||
| initialValue: entry.initialValue, | ||
| }; | ||
| this.target.openContextMenu(translatedContextMenuParams); | ||
| } | ||
| else { | ||
| this.target.openContextMenu({ | ||
| nodeContent: e.target?.textContent, | ||
| lang: this.currentLang, | ||
| }); | ||
| } | ||
| e.preventDefault(); | ||
| }); | ||
| } | ||
| } | ||
| observeOverwrittenTranslation(key) { | ||
| return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => { | ||
| if (!translationsForLang) { | ||
| return null; | ||
| } | ||
| return translationsForLang[key] || null; | ||
| }), distinctUntilChanged()); | ||
| } | ||
| registerElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.add(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| unregsiterElement(entry) { | ||
| const currentEntries = new Set(this._state.value.currentEntries); | ||
| currentEntries.delete(entry); | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| currentEntries, | ||
| }); | ||
| } | ||
| setOverwrittenTranslations(obj) { | ||
| this._state.next({ | ||
| ...this._state.value, | ||
| overwrittenTranslations: obj, | ||
| }); | ||
| } | ||
| get currentLang() { | ||
| return this.translate.currentLang || this.translate.defaultLang; | ||
| } | ||
| get lang$() { | ||
| return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang)); | ||
| } | ||
| get currentEntriesAsArray() { | ||
| return Array.from(this._state.value.currentEntries.values()); | ||
| } | ||
| } | ||
| TL8Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); | ||
| TL8Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, providedIn: 'root' }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Service, decorators: [{ | ||
| type: Injectable, | ||
| args: [{ | ||
| providedIn: 'root', | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: TargetService }, { type: undefined, decorators: [{ | ||
| type: Inject, | ||
| args: [TL8_CONFIG] | ||
| }] }, { type: i0.NgZone }]; } }); | ||
| class TL8Pipe { | ||
| constructor(translateService, chDetectorRef, tl8Service, elementRef) { | ||
| this.translateService = translateService; | ||
| this.chDetectorRef = chDetectorRef; | ||
| this.tl8Service = tl8Service; | ||
| this.elementRef = elementRef; | ||
| this.currentKey$ = new BehaviorSubject(null); | ||
| this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef); | ||
| this.currentKey = null; | ||
| this.currentTranslation = null; | ||
| this.currentKey$ | ||
| .pipe(distinctUntilChanged(), switchMap((key) => { | ||
| if (key) { | ||
| return this.tl8Service.observeOverwrittenTranslation(key); | ||
| } | ||
| return of(null); | ||
| }), tap((translation) => { | ||
| this.chDetectorRef.markForCheck(); | ||
| this.currentTranslation = translation; | ||
| })) | ||
| .subscribe(); | ||
| } | ||
| ngOnDestroy() { | ||
| this.tPipe.ngOnDestroy(); | ||
| this.unregister(); | ||
| } | ||
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
| transform(key, ...args) { | ||
| this.currentKey$.next(key); | ||
| if (this.currentKey !== key) { | ||
| this.unregister(); | ||
| this.currentKey = key; | ||
| this.register(); | ||
| } | ||
| if (this.currentTranslation === null) { | ||
| return this.tPipe.transform(key, ...args); | ||
| } | ||
| return this.translateService.parser.interpolate(this.currentTranslation, ...args); | ||
| } | ||
| get key() { | ||
| return this.currentKey; | ||
| } | ||
| get element() { | ||
| return this.elementRef.nativeElement; | ||
| } | ||
| get currentValue() { | ||
| if (this.currentTranslation === null) { | ||
| return this.initialValue; | ||
| } | ||
| return this.currentTranslation; | ||
| } | ||
| get initialValue() { | ||
| return this.translateService.instant(this.currentKey); | ||
| } | ||
| unregister() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.unregsiterElement(this); | ||
| } | ||
| } | ||
| register() { | ||
| if (this.currentKey) { | ||
| this.tl8Service.registerElement(this); | ||
| } | ||
| } | ||
| } | ||
| TL8Pipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe }); | ||
| TL8Pipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, name: "tl8", pure: false }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Pipe, decorators: [{ | ||
| type: Pipe, | ||
| args: [{ | ||
| name: 'tl8', | ||
| pure: false, | ||
| }] | ||
| }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: TL8Service }, { type: i0.ElementRef }]; } }); | ||
| function startTl8Factory(tl8) { | ||
| return () => { | ||
| return tl8.start(); | ||
| }; | ||
| } | ||
| class TL8Module { | ||
| static forRoot(config) { | ||
| return { | ||
| ngModule: TL8Module, | ||
| providers: [ | ||
| { provide: TL8_CONFIG, useValue: config }, | ||
| { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] } | ||
| ], | ||
| }; | ||
| } | ||
| } | ||
| TL8Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); | ||
| TL8Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule, | ||
| CommonModule], exports: [TL8Pipe] }); | ||
| TL8Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, imports: [TranslateModule, | ||
| CommonModule] }); | ||
| i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TL8Module, decorators: [{ | ||
| type: NgModule, | ||
| args: [{ | ||
| declarations: [TL8Pipe], | ||
| imports: [ | ||
| TranslateModule, | ||
| CommonModule, | ||
| ], | ||
| exports: [TL8Pipe], | ||
| }] | ||
| }] }); | ||
| /** | ||
| * Generated bundle index. Do not edit. | ||
| */ | ||
| export { TL8Module, TL8Pipe, TL8TargetAPI }; | ||
| //# sourceMappingURL=tl8.mjs.map | ||
| //# sourceMappingURL=tl8.mjs.map |
| {"version":3,"file":"tl8.mjs","sources":["../esm2020/lib/tl8-config.token.mjs","../esm2020/lib/target-api.mjs","../esm2020/lib/services/target.service.mjs","../esm2020/lib/services/tl8.service.mjs","../esm2020/lib/pipes/tl8.pipe.mjs","../esm2020/lib/start-tl8.factory.mjs","../esm2020/lib/tl8.module.mjs","../esm2020/tl8.mjs"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const TL8_CONFIG = new InjectionToken('TL8_CONFIG');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LWNvbmZpZy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4LWNvbmZpZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUTDhfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdUTDhfQ09ORklHJyk7XG4iXX0=","export function TL8TargetAPI() {\n return TL8_TARGET_API;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGFyZ2V0LWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRNZW51UGFyYW1zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEFwaUdhdGV3YXkge1xuICBzZW5kVG9Ib3N0OiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgZGF0YTogRGF0YVR5cGUpID0+IHZvaWQ7XG4gIG9wZW5Db250ZXh0TWVudTogKHBhcmFtczogQ29udGV4dE1lbnVQYXJhbXMpID0+IHZvaWQ7XG4gIG9uOiA8RGF0YVR5cGU+KGNoYW5uZWw6IHN0cmluZywgY2I6IChkYXRhOiBEYXRhVHlwZSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgZGVjbGFyZVJlYWR5KFxuICAgIGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWdcbiAgKTogUHJvbWlzZTxXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucz47XG4gIG9uU2V0T3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IChcbiAgICBjYjogKG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4gdm9pZFxuICApID0+IHZvaWQ7XG59XG5cbmRlY2xhcmUgY29uc3QgVEw4X1RBUkdFVF9BUEk6IFRhcmdldEFwaUdhdGV3YXk7XG5cbmV4cG9ydCBmdW5jdGlvbiBUTDhUYXJnZXRBUEkoKSB7XG4gIHJldHVybiBUTDhfVEFSR0VUX0FQSTtcbn1cblxuZXhwb3J0IHR5cGUgT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgPSB7XG4gIFtob3N0bmFtZTogc3RyaW5nXTogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBXZWJBcHBPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyA9IHtcbiAgW2xhbmc6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59O1xuXG5leHBvcnQgdHlwZSBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyA9IHtcbiAgbGFuZ3M6IHsgbGFuZzogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgd2l0aG91dENvbnRleHRNZW51PzogYm9vbGVhbjtcbn07XG4iXX0=","import { Injectable, NgZone } from '@angular/core';\nimport { TL8TargetAPI, } from '../target-api';\nimport * as i0 from \"@angular/core\";\nexport class TargetService {\n constructor(zone) {\n this.zone = zone;\n }\n get gatewayOrThrow() {\n return TL8TargetAPI();\n }\n sendToHost(message, data) {\n return this.gatewayOrThrow.sendToHost(message, data);\n }\n openContextMenu(params) {\n return this.gatewayOrThrow.openContextMenu(params);\n }\n declareReady(config) {\n return this.gatewayOrThrow.declareReady(config);\n }\n on(event, listener) {\n this.gatewayOrThrow.on(event, (data) => this.zone.run(() => listener(data)));\n }\n get isHosted() {\n try {\n return !!this.gatewayOrThrow;\n }\n catch (error) {\n return false;\n }\n }\n}\nTargetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nTargetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TargetService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RhcmdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUpwQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBSUQsVUFBVSxDQUFDLE9BQWUsRUFBRSxJQUFhO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsTUFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQStCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEVBQUUsQ0FBVyxLQUFhLEVBQUUsUUFBa0M7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBYyxFQUFFLEVBQUUsQ0FDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSTtZQUNGLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDOUI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzswR0EvQlUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBpR2F0ZXdheSxcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFRMOFRhcmdldEFQSSxcbn0gZnJvbSAnLi4vdGFyZ2V0LWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUYXJnZXRTZXJ2aWNlIHtcbiAgZ2V0IGdhdGV3YXlPclRocm93KCk6IFRhcmdldEFwaUdhdGV3YXkge1xuICAgIHJldHVybiBUTDhUYXJnZXRBUEkoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIHNlbmRUb0hvc3QobWVzc2FnZTogc3RyaW5nLCBkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cuc2VuZFRvSG9zdChtZXNzYWdlLCBkYXRhKTtcbiAgfVxuXG4gIG9wZW5Db250ZXh0TWVudShwYXJhbXM6IENvbnRleHRNZW51UGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2F0ZXdheU9yVGhyb3cub3BlbkNvbnRleHRNZW51KHBhcmFtcyk7XG4gIH1cblxuICBkZWNsYXJlUmVhZHkoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLmdhdGV3YXlPclRocm93LmRlY2xhcmVSZWFkeShjb25maWcpO1xuICB9XG5cbiAgb248RGF0YVR5cGU+KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoZGF0YTogRGF0YVR5cGUpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLmdhdGV3YXlPclRocm93Lm9uKGV2ZW50LCAoZGF0YTogRGF0YVR5cGUpID0+XG4gICAgICB0aGlzLnpvbmUucnVuKCgpID0+IGxpc3RlbmVyKGRhdGEpKVxuICAgICk7XG4gIH1cblxuICBnZXQgaXNIb3N0ZWQoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAhIXRoaXMuZ2F0ZXdheU9yVGhyb3c7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Inject, Injectable, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, combineLatest } from 'rxjs';\nimport { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators';\nimport { TL8_CONFIG } from '../tl8-config.token';\nimport { TargetService } from './target.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-translate/core\";\nimport * as i2 from \"./target.service\";\nexport class TL8Service {\n constructor(translate, target, tl8config, zone) {\n this.translate = translate;\n this.target = target;\n this.tl8config = tl8config;\n this.zone = zone;\n this._state = new BehaviorSubject({\n overwrittenTranslations: {},\n currentEntries: new Set(),\n });\n this.overwrittenTranslations$ = this._state.pipe(map(({ overwrittenTranslations }) => overwrittenTranslations));\n }\n get currentKeysInView$() {\n return this._state.pipe(map(({ currentEntries }) => currentEntries), distinctUntilChanged(), map((entries) => Array.from(entries.values()).reduce((prev, { key }) => {\n if (prev.includes(key)) {\n return prev;\n }\n return [...prev, key];\n }, [])));\n }\n start() {\n if (!this.target.isHosted) {\n return;\n }\n this.target.gatewayOrThrow.onSetOverwrittenTranslations((overwrittenTranslations) => {\n this.zone.run(() => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n });\n this.target.sendToHost('state:ready', this.tl8config);\n this.target.declareReady(this.tl8config).then((overwrittenTranslations) => {\n this.setOverwrittenTranslations(overwrittenTranslations);\n });\n this.translate.onLangChange\n .pipe(startWith(true), map(() => this.translate.currentLang || this.translate.defaultLang), tap((lang) => this.target.sendToHost('state:currentLanguage', lang)))\n .subscribe();\n combineLatest(this.tl8config.langs\n .map(({ lang }) => lang)\n .map((lang) => this.translate.getTranslation(lang)))\n .pipe(tap(() => {\n this.target.sendToHost('state:currentAppTranslations', this.translate.translations);\n }))\n .subscribe();\n this.target.on('selectLanguage', ({ value }) => {\n this.translate.use(value);\n });\n this.currentKeysInView$\n .pipe(tap((values) => this.target.sendToHost('state:currentVisibleKeys', values)))\n .subscribe();\n if (!this.tl8config.withoutContextMenu) {\n window.addEventListener('contextmenu', (e) => {\n const targets = window.document.elementsFromPoint(e.clientX, e.clientY);\n const entry = this.currentEntriesAsArray.find((entry) => Array.from(targets[0].childNodes).some((c) => c === entry.element)) ||\n this.currentEntriesAsArray.find((entry) => Array.from(targets).some((c) => c === entry.element));\n if (entry) {\n const translatedContextMenuParams = {\n key: entry.key,\n currentValue: entry.currentValue,\n initialValue: entry.initialValue,\n };\n this.target.openContextMenu(translatedContextMenuParams);\n }\n else {\n this.target.openContextMenu({\n nodeContent: e.target?.textContent,\n lang: this.currentLang,\n });\n }\n e.preventDefault();\n });\n }\n }\n observeOverwrittenTranslation(key) {\n return combineLatest([this.overwrittenTranslations$, this.lang$]).pipe(map(([overwrittenTranslations, lang]) => overwrittenTranslations[lang]), distinctUntilChanged(), map((translationsForLang) => {\n if (!translationsForLang) {\n return null;\n }\n return translationsForLang[key] || null;\n }), distinctUntilChanged());\n }\n registerElement(entry) {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.add(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n unregsiterElement(entry) {\n const currentEntries = new Set(this._state.value.currentEntries);\n currentEntries.delete(entry);\n this._state.next({\n ...this._state.value,\n currentEntries,\n });\n }\n setOverwrittenTranslations(obj) {\n this._state.next({\n ...this._state.value,\n overwrittenTranslations: obj,\n });\n }\n get currentLang() {\n return this.translate.currentLang || this.translate.defaultLang;\n }\n get lang$() {\n return this.translate.onLangChange.pipe(map((e) => e.lang), startWith(this.currentLang));\n }\n get currentEntriesAsArray() {\n return Array.from(this._state.value.currentEntries.values());\n }\n}\nTL8Service.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, deps: [{ token: i1.TranslateService }, { token: i2.TargetService }, { token: TL8_CONFIG }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nTL8Service.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Service, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.TargetService }, { type: undefined, decorators: [{\n type: Inject,\n args: [TL8_CONFIG]\n }] }, { type: i0.NgZone }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3NlcnZpY2VzL3RsOC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBaUJqRCxNQUFNLE9BQU8sVUFBVTtJQXlCckIsWUFDVSxTQUEyQixFQUMzQixNQUFxQixFQUNELFNBQWtDLEVBQ3RELElBQVk7UUFIWixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ0QsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTVCZCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVc7WUFDN0MsdUJBQXVCLEVBQUUsRUFBRTtZQUMzQixjQUFjLEVBQUUsSUFBSSxHQUFHLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBaUJLLDZCQUF3QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqRCxHQUFHLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLENBQzlELENBQUM7SUFPQyxDQUFDO0lBeEJKLElBQVksa0JBQWtCO1FBQzVC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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVkQ29udGV4dE1lbnVQYXJhbXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbnRleHQtbWVudS1wYXJhbXMnO1xuaW1wb3J0IHtcbiAgVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gIFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zLFxufSBmcm9tICcuLi90YXJnZXQtYXBpJztcbmltcG9ydCB7IFRMOF9DT05GSUcgfSBmcm9tICcuLi90bDgtY29uZmlnLnRva2VuJztcbmltcG9ydCB7IFRhcmdldFNlcnZpY2UgfSBmcm9tICcuL3RhcmdldC5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFRMOFN0YXRlIHtcbiAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IFdlYkFwcE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zO1xuICBjdXJyZW50RW50cmllczogU2V0PFRMOEVudHJ5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUTDhFbnRyeSB7XG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBrZXk6IHN0cmluZztcbiAgY3VycmVudFZhbHVlOiBzdHJpbmc7XG4gIGluaXRpYWxWYWx1ZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVEw4U2VydmljZSB7XG4gIHByaXZhdGUgX3N0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUTDhTdGF0ZT4oe1xuICAgIG92ZXJ3cml0dGVuVHJhbnNsYXRpb25zOiB7fSxcbiAgICBjdXJyZW50RW50cmllczogbmV3IFNldCgpLFxuICB9KTtcblxuICBwcml2YXRlIGdldCBjdXJyZW50S2V5c0luVmlldyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZS5waXBlKFxuICAgICAgbWFwKCh7IGN1cnJlbnRFbnRyaWVzIH0pID0+IGN1cnJlbnRFbnRyaWVzKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICBtYXAoKGVudHJpZXMpID0+XG4gICAgICAgIEFycmF5LmZyb20oZW50cmllcy52YWx1ZXMoKSkucmVkdWNlKChwcmV2LCB7IGtleSB9KSA9PiB7XG4gICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBbLi4ucHJldiwga2V5XTtcbiAgICAgICAgfSwgW10gYXMgc3RyaW5nW10pXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMkID0gdGhpcy5fc3RhdGUucGlwZShcbiAgICBtYXAoKHsgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMgfSkgPT4gb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YXJnZXQ6IFRhcmdldFNlcnZpY2UsXG4gICAgQEluamVjdChUTDhfQ09ORklHKSBwcml2YXRlIHRsOGNvbmZpZzogVGFyZ2V0QXBwbGljYXRpb25Db25maWcsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIHN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50YXJnZXQuaXNIb3N0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50YXJnZXQuZ2F0ZXdheU9yVGhyb3cub25TZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhcbiAgICAgIChvdmVyd3JpdHRlblRyYW5zbGF0aW9uczogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdCgnc3RhdGU6cmVhZHknLCB0aGlzLnRsOGNvbmZpZyk7XG4gICAgdGhpcy50YXJnZXQuZGVjbGFyZVJlYWR5KHRoaXMudGw4Y29uZmlnKS50aGVuKChvdmVyd3JpdHRlblRyYW5zbGF0aW9ucykgPT4ge1xuICAgICAgdGhpcy5zZXRPdmVyd3JpdHRlblRyYW5zbGF0aW9ucyhvdmVyd3JpdHRlblRyYW5zbGF0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHRydWUpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcgfHwgdGhpcy50cmFuc2xhdGUuZGVmYXVsdExhbmcpLFxuICAgICAgICB0YXAoKGxhbmcpID0+IHRoaXMudGFyZ2V0LnNlbmRUb0hvc3QoJ3N0YXRlOmN1cnJlbnRMYW5ndWFnZScsIGxhbmcpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIGNvbWJpbmVMYXRlc3QoXG4gICAgICB0aGlzLnRsOGNvbmZpZy5sYW5nc1xuICAgICAgICAubWFwKCh7IGxhbmcgfSkgPT4gbGFuZylcbiAgICAgICAgLm1hcCgobGFuZykgPT4gdGhpcy50cmFuc2xhdGUuZ2V0VHJhbnNsYXRpb24obGFuZykpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy50YXJnZXQuc2VuZFRvSG9zdChcbiAgICAgICAgICAgICdzdGF0ZTpjdXJyZW50QXBwVHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnRyYW5zbGF0aW9uc1xuICAgICAgICAgICk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy50YXJnZXQub248eyB2YWx1ZTogc3RyaW5nIH0+KCdzZWxlY3RMYW5ndWFnZScsICh7IHZhbHVlIH0pID0+IHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLnVzZSh2YWx1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5jdXJyZW50S2V5c0luVmlldyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHZhbHVlcykgPT5cbiAgICAgICAgICB0aGlzLnRhcmdldC5zZW5kVG9Ib3N0KCdzdGF0ZTpjdXJyZW50VmlzaWJsZUtleXMnLCB2YWx1ZXMpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGlmICghdGhpcy50bDhjb25maWcud2l0aG91dENvbnRleHRNZW51KSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCAoZSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRzID0gd2luZG93LmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGUuY2xpZW50WCwgZS5jbGllbnRZKTtcbiAgICAgICAgY29uc3QgZW50cnkgPVxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzWzBdLmNoaWxkTm9kZXMpLnNvbWUoKGMpID0+IGMgPT09IGVudHJ5LmVsZW1lbnQpXG4gICAgICAgICAgKSB8fFxuICAgICAgICAgIHRoaXMuY3VycmVudEVudHJpZXNBc0FycmF5LmZpbmQoKGVudHJ5KSA9PlxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0YXJnZXRzKS5zb21lKChjKSA9PiBjID09PSBlbnRyeS5lbGVtZW50KVxuICAgICAgICAgICk7XG4gICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtczogVHJhbnNsYXRlZENvbnRleHRNZW51UGFyYW1zID0ge1xuICAgICAgICAgICAga2V5OiBlbnRyeS5rZXksXG4gICAgICAgICAgICBjdXJyZW50VmFsdWU6IGVudHJ5LmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIGluaXRpYWxWYWx1ZTogZW50cnkuaW5pdGlhbFZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHRyYW5zbGF0ZWRDb250ZXh0TWVudVBhcmFtcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy50YXJnZXQub3BlbkNvbnRleHRNZW51KHtcbiAgICAgICAgICAgIG5vZGVDb250ZW50OiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpPy50ZXh0Q29udGVudCxcbiAgICAgICAgICAgIGxhbmc6IHRoaXMuY3VycmVudExhbmcsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5vdmVyd3JpdHRlblRyYW5zbGF0aW9ucyQsIHRoaXMubGFuZyRdKS5waXBlKFxuICAgICAgbWFwKChbb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMsIGxhbmddKSA9PiBvdmVyd3JpdHRlblRyYW5zbGF0aW9uc1tsYW5nXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgbWFwKCh0cmFuc2xhdGlvbnNGb3JMYW5nKSA9PiB7XG4gICAgICAgIGlmICghdHJhbnNsYXRpb25zRm9yTGFuZykge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnNGb3JMYW5nW2tleV0gfHwgbnVsbDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICByZWdpc3RlckVsZW1lbnQoZW50cnk6IFRMOEVudHJ5KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudEVudHJpZXMgPSBuZXcgU2V0KHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzKTtcbiAgICBjdXJyZW50RW50cmllcy5hZGQoZW50cnkpO1xuICAgIHRoaXMuX3N0YXRlLm5leHQoe1xuICAgICAgLi4udGhpcy5fc3RhdGUudmFsdWUsXG4gICAgICBjdXJyZW50RW50cmllcyxcbiAgICB9KTtcbiAgfVxuXG4gIHVucmVnc2l0ZXJFbGVtZW50KGVudHJ5OiBUTDhFbnRyeSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRFbnRyaWVzID0gbmV3IFNldCh0aGlzLl9zdGF0ZS52YWx1ZS5jdXJyZW50RW50cmllcyk7XG4gICAgY3VycmVudEVudHJpZXMuZGVsZXRlKGVudHJ5KTtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgY3VycmVudEVudHJpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE92ZXJ3cml0dGVuVHJhbnNsYXRpb25zKG9iajogV2ViQXBwT3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZS5uZXh0KHtcbiAgICAgIC4uLnRoaXMuX3N0YXRlLnZhbHVlLFxuICAgICAgb3ZlcndyaXR0ZW5UcmFuc2xhdGlvbnM6IG9iaixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGFuZyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnBpcGUoXG4gICAgICBtYXAoKGUpID0+IGUubGFuZyksXG4gICAgICBzdGFydFdpdGgodGhpcy5jdXJyZW50TGFuZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY3VycmVudEVudHJpZXNBc0FycmF5KCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3N0YXRlLnZhbHVlLmN1cnJlbnRFbnRyaWVzLnZhbHVlcygpKTtcbiAgfVxufVxuIl19","import { ChangeDetectorRef, ElementRef, Pipe, } from '@angular/core';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { BehaviorSubject, of } from 'rxjs';\nimport { distinctUntilChanged, switchMap, tap } from 'rxjs/operators';\nimport { TL8Service } from '../services/tl8.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ngx-translate/core\";\nimport * as i2 from \"../services/tl8.service\";\nexport class TL8Pipe {\n constructor(translateService, chDetectorRef, tl8Service, elementRef) {\n this.translateService = translateService;\n this.chDetectorRef = chDetectorRef;\n this.tl8Service = tl8Service;\n this.elementRef = elementRef;\n this.currentKey$ = new BehaviorSubject(null);\n this.tPipe = new TranslatePipe(this.translateService, this.chDetectorRef);\n this.currentKey = null;\n this.currentTranslation = null;\n this.currentKey$\n .pipe(distinctUntilChanged(), switchMap((key) => {\n if (key) {\n return this.tl8Service.observeOverwrittenTranslation(key);\n }\n return of(null);\n }), tap((translation) => {\n this.chDetectorRef.markForCheck();\n this.currentTranslation = translation;\n }))\n .subscribe();\n }\n ngOnDestroy() {\n this.tPipe.ngOnDestroy();\n this.unregister();\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n transform(key, ...args) {\n this.currentKey$.next(key);\n if (this.currentKey !== key) {\n this.unregister();\n this.currentKey = key;\n this.register();\n }\n if (this.currentTranslation === null) {\n return this.tPipe.transform(key, ...args);\n }\n return this.translateService.parser.interpolate(this.currentTranslation, ...args);\n }\n get key() {\n return this.currentKey;\n }\n get element() {\n return this.elementRef.nativeElement;\n }\n get currentValue() {\n if (this.currentTranslation === null) {\n return this.initialValue;\n }\n return this.currentTranslation;\n }\n get initialValue() {\n return this.translateService.instant(this.currentKey);\n }\n unregister() {\n if (this.currentKey) {\n this.tl8Service.unregsiterElement(this);\n }\n }\n register() {\n if (this.currentKey) {\n this.tl8Service.registerElement(this);\n }\n }\n}\nTL8Pipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, deps: [{ token: i1.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i2.TL8Service }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Pipe });\nTL8Pipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, name: \"tl8\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Pipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'tl8',\n pure: false,\n }]\n }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i2.TL8Service }, { type: i0.ElementRef }]; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3BpcGVzL3RsOC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsVUFBVSxFQUVWLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFNL0QsTUFBTSxPQUFPLE9BQU87SUFNbEIsWUFDVSxnQkFBa0MsRUFDbEMsYUFBZ0MsRUFDaEMsVUFBc0IsRUFDdEIsVUFBbUM7UUFIbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQVRyQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUN2RCxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNyRSxlQUFVLEdBQWtCLElBQUksQ0FBQztRQUNqQyx1QkFBa0IsR0FBa0IsSUFBSSxDQUFDO1FBUS9DLElBQUksQ0FBQyxXQUFXO2FBQ2IsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRDtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxTQUFTLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBZTtRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7UUFDRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQzdDLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsR0FBRyxJQUFJLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxVQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBb0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOztvR0FoRlUsT0FBTztrR0FBUCxPQUFPOzJGQUFQLE9BQU87a0JBSm5CLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLEtBQUs7b0JBQ1gsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBQaXBlLFxuICBQaXBlVHJhbnNmb3JtLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRMOEVudHJ5LCBUTDhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0bDgnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSwgVEw4RW50cnkge1xuICBwcml2YXRlIGN1cnJlbnRLZXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSB0UGlwZSA9IG5ldyBUcmFuc2xhdGVQaXBlKHRoaXMudHJhbnNsYXRlU2VydmljZSwgdGhpcy5jaERldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBjdXJyZW50S2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBjdXJyZW50VHJhbnNsYXRpb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNoRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdGw4U2VydmljZTogVEw4U2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICkge1xuICAgIHRoaXMuY3VycmVudEtleSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKGtleSkgPT4ge1xuICAgICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRsOFNlcnZpY2Uub2JzZXJ2ZU92ZXJ3cml0dGVuVHJhbnNsYXRpb24oa2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKCh0cmFuc2xhdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuY2hEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9IHRyYW5zbGF0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy50UGlwZS5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMudW5yZWdpc3RlcigpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiBhbnkge1xuICAgIHRoaXMuY3VycmVudEtleSQubmV4dChrZXkpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRLZXkgIT09IGtleSkge1xuICAgICAgdGhpcy51bnJlZ2lzdGVyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRLZXkgPSBrZXk7XG4gICAgICB0aGlzLnJlZ2lzdGVyKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudFBpcGUudHJhbnNmb3JtKGtleSwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UucGFyc2VyLmludGVycG9sYXRlKFxuICAgICAgdGhpcy5jdXJyZW50VHJhbnNsYXRpb24sXG4gICAgICAuLi5hcmdzXG4gICAgKTtcbiAgfVxuXG4gIGdldCBrZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgZWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgY3VycmVudFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnRUcmFuc2xhdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbFZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VHJhbnNsYXRpb247XG4gIH1cblxuICBnZXQgaW5pdGlhbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmN1cnJlbnRLZXkgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5yZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UudW5yZWdzaXRlckVsZW1lbnQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50S2V5KSB7XG4gICAgICB0aGlzLnRsOFNlcnZpY2UucmVnaXN0ZXJFbGVtZW50KHRoaXMpO1xuICAgIH1cbiAgfVxufVxuIl19","export function startTl8Factory(tl8) {\n return () => {\n return tl8.start();\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtdGw4LmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RsOC9zcmMvbGliL3N0YXJ0LXRsOC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQUMsR0FBZTtJQUM3QyxPQUFPLEdBQUcsRUFBRTtRQUNWLE9BQU8sR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUTDhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90bDguc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFRsOEZhY3RvcnkodGw4OiBUTDhTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgcmV0dXJuIHRsOC5zdGFydCgpO1xuICB9XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TL8Pipe } from './pipes/tl8.pipe';\nimport { TL8Service } from './services/tl8.service';\nimport { startTl8Factory } from './start-tl8.factory';\nimport { TL8_CONFIG } from './tl8-config.token';\nimport * as i0 from \"@angular/core\";\nexport class TL8Module {\n static forRoot(config) {\n return {\n ngModule: TL8Module,\n providers: [\n { provide: TL8_CONFIG, useValue: config },\n { provide: APP_INITIALIZER, useFactory: startTl8Factory, multi: true, deps: [TL8Service] }\n ],\n };\n }\n}\nTL8Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nTL8Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, declarations: [TL8Pipe], imports: [TranslateModule,\n CommonModule], exports: [TL8Pipe] });\nTL8Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, imports: [TranslateModule,\n CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.3\", ngImport: i0, type: TL8Module, decorators: [{\n type: NgModule,\n args: [{\n declarations: [TL8Pipe],\n imports: [\n TranslateModule,\n CommonModule,\n ],\n exports: [TL8Pipe],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdGw4L3NyYy9saWIvdGw4Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBV2hELE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDekMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTthQUMzRjtTQUNGLENBQUM7SUFDSixDQUFDOztzR0FUVSxTQUFTO3VHQUFULFNBQVMsaUJBUEwsT0FBTyxhQUVwQixlQUFlO1FBQ2YsWUFBWSxhQUVKLE9BQU87dUdBRU4sU0FBUyxZQUxsQixlQUFlO1FBQ2YsWUFBWTsyRkFJSCxTQUFTO2tCQVJyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVEw4UGlwZSB9IGZyb20gJy4vcGlwZXMvdGw4LnBpcGUnO1xuaW1wb3J0IHsgVEw4U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGw4LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3RhcnRUbDhGYWN0b3J5IH0gZnJvbSAnLi9zdGFydC10bDguZmFjdG9yeSc7XG5pbXBvcnQgeyBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4vdGFyZ2V0LWFwaSc7XG5pbXBvcnQgeyBUTDhfQ09ORklHIH0gZnJvbSAnLi90bDgtY29uZmlnLnRva2VuJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUTDhQaXBlXSxcbiAgaW1wb3J0czogW1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtUTDhQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVEw4TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBUYXJnZXRBcHBsaWNhdGlvbkNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VEw4TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUTDhNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBUTDhfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBzdGFydFRsOEZhY3RvcnksIG11bHRpOiB0cnVlLCBkZXBzOiBbVEw4U2VydmljZV0gfVxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGw4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy90bDgvc3JjL3RsOC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i2.TargetService","i2.TL8Service"],"mappings":"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"} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
86393
-54.35%23
-8%715
-27.92%1
Infinity%