@tolgee/ngx 5.7.0 → 5.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,8 +3,9 @@ import { getTranslateProps } from '@tolgee/web';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./translate.service";
5
5
  export class TranslatePipe {
6
- constructor(translateService) {
6
+ constructor(translateService, _cdr) {
7
7
  this.translateService = translateService;
8
+ this._cdr = _cdr;
8
9
  this.value = '';
9
10
  this.transform = (...args) => {
10
11
  // @ts-ignore
@@ -30,6 +31,7 @@ export class TranslatePipe {
30
31
  }
31
32
  unsubscribe() {
32
33
  this.subscription?.unsubscribe();
34
+ this.subscription = null;
33
35
  }
34
36
  translate(props) {
35
37
  this.value = this.translateService.instant({ ...props, orEmpty: true });
@@ -37,12 +39,13 @@ export class TranslatePipe {
37
39
  }
38
40
  subscribe(props) {
39
41
  this.unsubscribe();
40
- return this.translateService.translate(props).subscribe((r) => {
42
+ this.subscription = this.translateService.translate(props).subscribe((r) => {
41
43
  this.value = r;
44
+ this._cdr.markForCheck();
42
45
  });
43
46
  }
44
47
  }
45
- TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16)); };
48
+ TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16)); };
46
49
  TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type: TranslatePipe, pure: false });
47
50
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslatePipe, [{
48
51
  type: Pipe,
@@ -50,5 +53,5 @@ TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type
50
53
  name: 'translate',
51
54
  pure: false,
52
55
  }]
53
- }], function () { return [{ type: i1.TranslateService }]; }, null); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHL0QsT0FBTyxFQUFFLGlCQUFpQixFQUEyQyxNQUFNLGFBQWEsQ0FBQzs7O0FBTXpGLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBTGhELFVBQUssR0FBRyxFQUFFLENBQUM7UUFXVixjQUFTLEdBQTRDLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN4RSxhQUFhO1lBQ2IsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUMxQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDO1lBRXZCLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLE9BQU8sR0FBRyxDQUFDO2FBQ1o7WUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLEVBQUU7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQzthQUNuQjtZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO1lBRTVCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQztJQXpCeUQsQ0FBQztJQUU1RCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUF1Qk8sSUFBSSxDQUFDLEtBQXFCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBcUI7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQXFCO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswRUFuRFUsYUFBYTsrRUFBYixhQUFhO3VGQUFiLGFBQWE7Y0FKekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldFRyYW5zbGF0ZVByb3BzLCBURm5UeXBlLCBUcmFuc2xhdGVQcm9wcywgVHJhbnNsYXRpb25LZXkgfSBmcm9tICdAdG9sZ2VlL3dlYic7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSB2YWx1ZSA9ICcnO1xuICBwcml2YXRlIHByZXZpb3VzSGFzaDogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcmVhZG9ubHkgdHJhbnNmb3JtOiBURm5UeXBlPHN0cmluZywgc3RyaW5nLCBUcmFuc2xhdGlvbktleT4gPSAoLi4uYXJncykgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwYXJhbXMgPSBnZXRUcmFuc2xhdGVQcm9wcyguLi5hcmdzKTtcbiAgICBjb25zdCB7IGtleSB9ID0gcGFyYW1zO1xuXG4gICAgaWYgKCFrZXkgfHwga2V5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGtleTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdIYXNoID0gdGhpcy5oYXNoKHBhcmFtcyk7XG4gICAgaWYgKHRoaXMucHJldmlvdXNIYXNoID09PSBuZXdIYXNoKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnByZXZpb3VzSGFzaCA9IG5ld0hhc2g7XG5cbiAgICB0aGlzLnRyYW5zbGF0ZShwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYXNoKHByb3BzOiBUcmFuc2xhdGVQcm9wcykge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShbcHJvcHMsIHRoaXMudHJhbnNsYXRlU2VydmljZS50b2xnZWUuZ2V0TGFuZ3VhZ2UoKV0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlKHByb3BzOiBUcmFuc2xhdGVQcm9wcykge1xuICAgIHRoaXMudmFsdWUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh7IC4uLnByb3BzLCBvckVtcHR5OiB0cnVlIH0pO1xuICAgIHRoaXMuc3Vic2NyaWJlKHByb3BzKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlKHByb3BzOiBUcmFuc2xhdGVQcm9wcykge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZShwcm9wcykuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
56
+ }], function () { return [{ type: i1.TranslateService }, { type: i0.ChangeDetectorRef }]; }, null); })();
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBMkMsTUFBTSxhQUFhLENBQUM7OztBQU16RixNQUFNLE9BQU8sYUFBYTtJQU14QixZQUFzQixnQkFBa0MsRUFBVSxJQUF1QjtRQUFuRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFMakYsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQVdWLGNBQVMsR0FBNEMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO1lBQ3hFLGFBQWE7WUFDYixNQUFNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFFdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxHQUFHLENBQUM7YUFDWjtZQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sRUFBRTtnQkFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ25CO1lBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7WUFFNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDO0lBekIwRixDQUFDO0lBRTdGLFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQXVCTyxJQUFJLENBQUMsS0FBcUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUFxQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBcUI7UUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswRUFyRFUsYUFBYTsrRUFBYixhQUFhO3VGQUFiLGFBQWE7Y0FKekIsSUFBSTtlQUFDO2dCQUNKLElBQUksRUFBRSxXQUFXO2dCQUNqQixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRUcmFuc2xhdGVQcm9wcywgVEZuVHlwZSwgVHJhbnNsYXRlUHJvcHMsIFRyYW5zbGF0aW9uS2V5IH0gZnJvbSAnQHRvbGdlZS93ZWInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdmFsdWUgPSAnJztcbiAgcHJpdmF0ZSBwcmV2aW91c0hhc2g6IHN0cmluZztcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IHRyYW5zZm9ybTogVEZuVHlwZTxzdHJpbmcsIHN0cmluZywgVHJhbnNsYXRpb25LZXk+ID0gKC4uLmFyZ3MpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgcGFyYW1zID0gZ2V0VHJhbnNsYXRlUHJvcHMoLi4uYXJncyk7XG4gICAgY29uc3QgeyBrZXkgfSA9IHBhcmFtcztcblxuICAgIGlmICgha2V5IHx8IGtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3SGFzaCA9IHRoaXMuaGFzaChwYXJhbXMpO1xuICAgIGlmICh0aGlzLnByZXZpb3VzSGFzaCA9PT0gbmV3SGFzaCkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5wcmV2aW91c0hhc2ggPSBuZXdIYXNoO1xuXG4gICAgdGhpcy50cmFuc2xhdGUocGFyYW1zKTtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9O1xuXG4gIHByaXZhdGUgaGFzaChwcm9wczogVHJhbnNsYXRlUHJvcHMpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW3Byb3BzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudG9sZ2VlLmdldExhbmd1YWdlKCldKTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2xhdGUocHJvcHM6IFRyYW5zbGF0ZVByb3BzKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHsgLi4ucHJvcHMsIG9yRW1wdHk6IHRydWUgfSk7XG4gICAgdGhpcy5zdWJzY3JpYmUocHJvcHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmUocHJvcHM6IFRyYW5zbGF0ZVByb3BzKSB7XG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZShwcm9wcykuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gcjtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -143,8 +143,9 @@ TranslateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Transla
143
143
  })();
144
144
 
145
145
  class TranslatePipe {
146
- constructor(translateService) {
146
+ constructor(translateService, _cdr) {
147
147
  this.translateService = translateService;
148
+ this._cdr = _cdr;
148
149
  this.value = '';
149
150
  this.transform = (...args) => {
150
151
  // @ts-ignore
@@ -171,6 +172,7 @@ class TranslatePipe {
171
172
  unsubscribe() {
172
173
  var _a;
173
174
  (_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
175
+ this.subscription = null;
174
176
  }
175
177
  translate(props) {
176
178
  this.value = this.translateService.instant(Object.assign(Object.assign({}, props), { orEmpty: true }));
@@ -178,12 +180,13 @@ class TranslatePipe {
178
180
  }
179
181
  subscribe(props) {
180
182
  this.unsubscribe();
181
- return this.translateService.translate(props).subscribe((r) => {
183
+ this.subscription = this.translateService.translate(props).subscribe((r) => {
182
184
  this.value = r;
185
+ this._cdr.markForCheck();
183
186
  });
184
187
  }
185
188
  }
186
- TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(TranslateService, 16)); };
189
+ TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(TranslateService, 16), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16)); };
187
190
  TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type: TranslatePipe, pure: false });
188
191
  (function () {
189
192
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslatePipe, [{
@@ -192,7 +195,7 @@ TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type
192
195
  name: 'translate',
193
196
  pure: false,
194
197
  }]
195
- }], function () { return [{ type: TranslateService }]; }, null);
198
+ }], function () { return [{ type: TranslateService }, { type: i0.ChangeDetectorRef }]; }, null);
196
199
  })();
197
200
 
198
201
  const _c0 = ["t", ""];
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n TranslationKey,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>, TranslationKey> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType<DefaultParamType, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps, TranslationKey } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams, TranslationKey } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: TranslationKey;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
1
+ {"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n TranslationKey,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>, TranslationKey> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType<DefaultParamType, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps, TranslationKey } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n this.subscription = null;\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n this.subscription = this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n this._cdr.markForCheck();\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams, TranslationKey } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: TranslationKey;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":";;;;;;;MAGa,eAAe,GAAG,IAAI,cAAc,CAC/C,iBAAiB;;MCUN,gBAAgB,CAAA;IAG3B,WACmC,CAAA,OAAuB,EAChD,OAAe,EAAA;AADU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;AAChD,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAuBzB;;AAEG;AACM,QAAA,IAAA,CAAA,SAAS,GAAkE,CAClF,GAAG,IAAI,KACL;;AAEF,YAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1C,YAAA,OAAO,IAAI,UAAU,CAAS,CAAC,UAAU,KAAI;AAC3C,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AAC3B,oBAAA,MAAM,WAAW,CAAC;oBAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,oBAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,iBAAC,CAAA,CAAC;;AAGF,gBAAA,SAAS,EAAE,CAAC;AAEZ,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM;qBAC7B,UAAU,CAAC,SAAS,CAAC;AACrB,qBAAA,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1B,gBAAA,OAAO,MAAK;oBACV,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACtC,YAAY,CAAC,WAAW,EAAE,CAAC;AAC7B,iBAAC,CAAC;AACJ,aAAC,CAAC,CAAC;AACL,SAAC,CAAC;AAEF;;;AAGG;AACa,QAAA,IAAA,CAAA,OAAO,GAAsD,CAAC,GAAG,IAAI,KAAI;;AAEvF,YAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/B,SAAC,CAAC;KA5DE;AAEJ,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED;;;;;;;;;AASG;IACU,KAAK,GAAA;;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AACjB,gBAAA,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC9B,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AA0CD;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KAClC;AAED;;;AAGG;AACH,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,UAAU,KAAI;YACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC3D,gBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/B,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED;;;;;AAKG;AACI,IAAA,cAAc,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KACzC;AAED;;;;;;;AAOG;AACH,IAAA,EAAE,CAAgC,KAAY,EAAA;AAC5C,QAAA,OAAO,IAAI,UAAU,CAAkC,CAAC,UAAU,KAAI;AACpE,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAI;AACnD,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;AACpB,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;AAChC,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB;IAEa,eAAe,GAAA;;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AACpD,oBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AAC3B,iBAAC,CAAC,CAAC;AACJ,aAAA;YACD,MAAM,IAAI,CAAC,UAAU,CAAC;SACvB,CAAA,CAAA;AAAA,KAAA;IAEO,KAAK,GAAA;AACX,QAAA,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;KACtC;;AAtIU,gBAAA,CAAA,IAAA,GAAA,SAAA,wBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,gBAAgB,cAIjB,eAAe,CAAA,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAA;sEAJd,gBAAgB,EAAA,OAAA,EAAhB,gBAAgB,CAAA,IAAA,EAAA,UAAA,EADH,MAAM,EAAA,CAAA,CAAA;;4EACnB,gBAAgB,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;8BAK7B,MAAM;+BAAC,eAAe,CAAA;;;;;MCTd,aAAa,CAAA;IAMxB,WAAsB,CAAA,gBAAkC,EAAU,IAAuB,EAAA;AAAnE,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AALjF,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAWV,QAAA,IAAA,CAAA,SAAS,GAA4C,CAAC,GAAG,IAAI,KAAI;;AAExE,YAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1C,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;YAEvB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,gBAAA,OAAO,GAAG,CAAC;AACZ,aAAA;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBACjC,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAE5B,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAEvB,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,SAAC,CAAC;KAzB2F;IAE7F,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAuBO,IAAA,IAAI,CAAC,KAAqB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;KAC5E;IAEO,WAAW,GAAA;;AACjB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;AAEO,IAAA,SAAS,CAAC,KAAqB,EAAA;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,KAAK,CAAE,EAAA,EAAA,OAAO,EAAE,IAAI,IAAG,CAAC;AACxE,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACvB;AAEO,IAAA,SAAS,CAAC,KAAqB,EAAA;QACrC,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACzE,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;;0EArDU,aAAa,EAAA,EAAA,CAAA,iBAAA,CAAAA,gBAAA,EAAA,EAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;+EAAb,aAAa,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4EAAb,aAAa,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,IAAI,EAAE,KAAK;iBACZ,CAAA;;;;;MCQY,UAAU,CAAA;IAgBrB,WACU,CAAA,GAAe,EACf,gBAAkC,EAAA;AADlC,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAbnC,QAAA,IAAM,CAAA,MAAA,GAAa,KAAK,CAAC;AAElC;;;AAGG;AACM,QAAA,IAAM,CAAA,MAAA,GAAa,KAAK,CAAC;KAQ9B;IAEJ,QAAQ,GAAA;;QAEN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,WAAW,GAAA;;QAET,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;IAEO,kBAAkB,GAAA;;AAExB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAA,EAAA,EAC3B,OAAO,EAAE,IAAI,IACb,CAAC;AACH,QAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;KACpC;IAEO,iBAAiB,GAAA;QACvB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,OAAO;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH;IAEO,WAAW,GAAA;;AACjB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;KAClC;IAEa,SAAS,GAAA;;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB;AACtC,iBAAA,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACnC,iBAAA,SAAS,CAAC,CAAC,UAAU,KAAI;AACxB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAC1B,aAAC,CAAC,CAAC;SACN,CAAA,CAAA;AAAA,KAAA;AAEO,IAAA,iBAAiB,CAAC,UAAkB,EAAA;QAC1C,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC;YACzC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,GAAG,UAAU,CAAC;KAC5C;IAEO,UAAU,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAA4B,CAAC;KAC9C;;oEA/EU,UAAU,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6DAAV,UAAU,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAA,mBAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4EAAV,UAAU,EAAA,CAAA;kBAJtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,QAAQ,EAAE,CAAE,CAAA;iBACb,CAAA;6FAEU,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;;MCpBK,eAAe,CAAA;;8EAAf,eAAe,GAAA,CAAA,EAAA,CAAA;kEAAf,eAAe,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,wBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YAHxB,EAAsD,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;AAAzB,YAAA,EAAkB,CAAA,UAAA,CAAA,WAAA,EAAA,GAAA,CAAA,IAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;4EAGtC,eAAe,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA;;AAET,EAAA,CAAA;iBACF,CAAA;oBAEU,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;;MCYK,eAAe,CAAA;;8EAAf,eAAe,GAAA,CAAA,EAAA,CAAA;iEAAf,eAAe,EAAA,CAAA,CAAA;AAXf,eAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,UAAU,EAAE,CAAC,OAAyB,KAAI;gBACxC,OAAO,MAAW,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,OAAA,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA,EAAA,CAAA,CAAC;aAC1C;YACD,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,CAAA,CAAA;;4EAEU,eAAe,EAAA,CAAA;kBAd3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,eAAe,CAAC;AAC1D,oBAAA,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;AACpC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,CAAC,OAAyB,KAAI;gCACxC,OAAO,MAAW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA,EAAC,OAAA,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA,EAAA,CAAA,CAAC;6BAC1C;4BACD,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;iBACF,CAAA;;;wFACY,eAAe,EAAA,EAAA,YAAA,EAAA,CAbX,aAAa,EAAE,UAAU,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAC/C,aAAa,EAAE,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA;;MCAxB,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAmB,OAAyB,EAAA;AAAzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;KAAI;AAE1C,IAAA,OAAO,CACX,KAA6B,EAAA;;YAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACpC,YAAA,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;SAChD,CAAA,CAAA;AAAA,KAAA;AAEO,IAAA,YAAY,CAAC,KAA6B,EAAA;;AAChD,QAAA,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,CAAC,IAAI,CACV,0EAA0E;AACxE,gBAAA,uFAAuF,CAC1F,CAAC;AACH,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;;kFAnBU,iBAAiB,EAAA,EAAA,CAAA,QAAA,CAAAA,gBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;uEAAjB,iBAAiB,EAAA,OAAA,EAAjB,iBAAiB,CAAA,IAAA,EAAA,UAAA,EADJ,MAAM,EAAA,CAAA,CAAA;;4EACnB,iBAAiB,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;;ACPlC;;AAEG;;ACFH;;AAEG;;;;"}
@@ -134,8 +134,9 @@ TranslateService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Transla
134
134
  }] }, { type: i0.NgZone }]; }, null); })();
135
135
 
136
136
  class TranslatePipe {
137
- constructor(translateService) {
137
+ constructor(translateService, _cdr) {
138
138
  this.translateService = translateService;
139
+ this._cdr = _cdr;
139
140
  this.value = '';
140
141
  this.transform = (...args) => {
141
142
  // @ts-ignore
@@ -161,6 +162,7 @@ class TranslatePipe {
161
162
  }
162
163
  unsubscribe() {
163
164
  this.subscription?.unsubscribe();
165
+ this.subscription = null;
164
166
  }
165
167
  translate(props) {
166
168
  this.value = this.translateService.instant({ ...props, orEmpty: true });
@@ -168,12 +170,13 @@ class TranslatePipe {
168
170
  }
169
171
  subscribe(props) {
170
172
  this.unsubscribe();
171
- return this.translateService.translate(props).subscribe((r) => {
173
+ this.subscription = this.translateService.translate(props).subscribe((r) => {
172
174
  this.value = r;
175
+ this._cdr.markForCheck();
173
176
  });
174
177
  }
175
178
  }
176
- TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(TranslateService, 16)); };
179
+ TranslatePipe.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(i0.ɵɵdirectiveInject(TranslateService, 16), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef, 16)); };
177
180
  TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type: TranslatePipe, pure: false });
178
181
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslatePipe, [{
179
182
  type: Pipe,
@@ -181,7 +184,7 @@ TranslatePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type
181
184
  name: 'translate',
182
185
  pure: false,
183
186
  }]
184
- }], function () { return [{ type: TranslateService }]; }, null); })();
187
+ }], function () { return [{ type: TranslateService }, { type: i0.ChangeDetectorRef }]; }, null); })();
185
188
 
186
189
  const _c0 = ["t", ""];
187
190
  class TComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n TranslationKey,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>, TranslationKey> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType<DefaultParamType, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps, TranslationKey } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams, TranslationKey } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: TranslationKey;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
1
+ {"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n TranslationKey,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>, TranslationKey> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType<DefaultParamType, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { ChangeDetectorRef, OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps, TranslationKey } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService, private _cdr: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string, string, TranslationKey> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n this.subscription = null;\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n this.subscription = this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n this._cdr.markForCheck();\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams, TranslationKey } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: TranslationKey;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import { OnDestroy, PipeTransform } from '@angular/core';
1
+ import { ChangeDetectorRef, OnDestroy, PipeTransform } from '@angular/core';
2
2
  import { TranslateService } from './translate.service';
3
3
  import { TFnType, TranslationKey } from '@tolgee/web';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TranslatePipe implements PipeTransform, OnDestroy {
6
6
  protected translateService: TranslateService;
7
+ private _cdr;
7
8
  private value;
8
9
  private previousHash;
9
10
  private subscription;
10
- constructor(translateService: TranslateService);
11
+ constructor(translateService: TranslateService, _cdr: ChangeDetectorRef);
11
12
  ngOnDestroy(): void;
12
13
  readonly transform: TFnType<string, string, TranslationKey>;
13
14
  private hash;
package/package.json CHANGED
@@ -6,10 +6,10 @@
6
6
  "url": "https://github.com/tolgee/tolgee-js"
7
7
  },
8
8
  "dependencies": {
9
- "@tolgee/web": "5.7.0",
9
+ "@tolgee/web": "5.7.2",
10
10
  "tslib": "^2.3.0"
11
11
  },
12
- "version": "5.7.0",
12
+ "version": "5.7.2",
13
13
  "publishConfig": {
14
14
  "directory": "../../dist/ngx-tolgee",
15
15
  "access": "public"