@rosoftlab/core 1.0.0-alpha-4 → 1.0.0-alpha-6
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/base-components/base-form-edit.component.mjs +12 -10
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +4 -4
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +4 -4
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +4 -4
- package/esm2022/lib/index.mjs +1 -3
- package/esm2022/lib/interceptors/cache.interceptor.mjs +4 -4
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +4 -4
- package/esm2022/lib/pipes/input-error.pipe.mjs +4 -4
- package/esm2022/lib/providers.mjs +2 -2
- package/esm2022/lib/rsl-base-module.mjs +5 -5
- package/esm2022/lib/services/base-datastore.service.mjs +4 -4
- package/esm2022/lib/services/base.service.mjs +4 -4
- package/esm2022/lib/services/cache.service.mjs +4 -4
- package/esm2022/lib/services/datastore.service.mjs +4 -4
- package/esm2022/lib/services/dialog.service.mjs +2 -150
- package/esm2022/lib/services/translate-loader.service.mjs +4 -4
- package/fesm2022/rosoftlab-core.mjs +52 -302
- package/fesm2022/rosoftlab-core.mjs.map +1 -1
- package/lib/index.d.ts +0 -2
- package/lib/services/dialog.service.d.ts +1 -15
- package/package.json +5 -8
- package/esm2022/lib/directives/translated-content.directive.mjs +0 -97
- package/esm2022/lib/directives/translated-element.directive.mjs +0 -20
- package/lib/directives/translated-content.directive.d.ts +0 -21
- package/lib/directives/translated-element.directive.d.ts +0 -10
package/lib/index.d.ts
CHANGED
@@ -3,8 +3,6 @@ export * from './decorators/attribute.decorator';
|
|
3
3
|
export * from './decorators/base-datastore-config.decorator';
|
4
4
|
export * from './decorators/base-model-config.decorator';
|
5
5
|
export * from './decorators/custom.type.decorator';
|
6
|
-
export * from './directives/translated-content.directive';
|
7
|
-
export * from './directives/translated-element.directive';
|
8
6
|
export * from './interceptors';
|
9
7
|
export * from './interfaces/attribute-decorator-options.interface';
|
10
8
|
export * from './interfaces/datastore-config.interface';
|
@@ -1,21 +1,7 @@
|
|
1
1
|
import { Observable } from 'rxjs';
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Async modal dialog service
|
5
|
-
* DialogService makes this app easier to test by faking this service.
|
6
|
-
* TODO: better modal implementation that doesn't use window.confirm
|
7
|
-
*/
|
8
|
-
export declare class DialogService {
|
9
|
-
/**
|
10
|
-
* Ask user to confirm an action. `message` explains the action and choices.
|
11
|
-
* Returns observable resolving to `true`=confirm or `false`=cancel
|
12
|
-
*/
|
13
|
-
constructor();
|
2
|
+
export interface DialogService {
|
14
3
|
confirm(message?: string, text?: string, confirmButtonText?: string, cancelButtonText?: string): Observable<boolean>;
|
15
4
|
showSaveMessage(message?: string, title?: string): Observable<boolean>;
|
16
5
|
showRegisteredMessage(message?: string, title?: string): Observable<boolean>;
|
17
6
|
showErrorMessage(e: any, message?: string): Observable<boolean>;
|
18
|
-
getTextTranslation(translationKey: string): string;
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DialogService, never>;
|
20
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DialogService>;
|
21
7
|
}
|
package/package.json
CHANGED
@@ -1,18 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"name": "@rosoftlab/core",
|
3
|
-
"version": "1.0.0-alpha-
|
3
|
+
"version": "1.0.0-alpha-6",
|
4
4
|
"peerDependencies": {
|
5
|
-
"@angular/common": "^16.2.
|
6
|
-
"@angular/core": "^16.2.
|
5
|
+
"@angular/common": "^16.2.10",
|
6
|
+
"@angular/core": "^16.2.10",
|
7
7
|
"fast-json-patch": "^3.1.1",
|
8
8
|
"date-fns": "^2.30.0",
|
9
|
-
"@types/qs": "^6.9.
|
9
|
+
"@types/qs": "^6.9.9",
|
10
10
|
"@ngx-translate/core": "^15.0.0",
|
11
|
-
"@tinymce/tinymce-angular": "^7.0.0",
|
12
|
-
"tinymce": "^6.4.2",
|
13
11
|
"json-logic-js": "^2.0.2",
|
14
|
-
"
|
15
|
-
"@angular/cdk": "^16.2.1"
|
12
|
+
"@angular/cdk": "^16.2.9"
|
16
13
|
},
|
17
14
|
"dependencies": {
|
18
15
|
"tslib": "^2.3.1"
|
@@ -1,97 +0,0 @@
|
|
1
|
-
import { ChangeDetectorRef, ContentChildren, Directive, Input, QueryList, Renderer2, ViewContainerRef } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
|
-
import { BehaviorSubject, combineLatest, merge } from 'rxjs';
|
4
|
-
import { map, switchMap } from 'rxjs/operators';
|
5
|
-
import { TranslatedElementDirective } from './translated-element.directive';
|
6
|
-
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "@ngx-translate/core";
|
8
|
-
const TOKEN_START_DEMARC = '{{';
|
9
|
-
const TOKEN_END_DEMARC = '}}';
|
10
|
-
// adapted from @kasperlauge's solution in https://github.com/ngx-translate/core/issues/223
|
11
|
-
export class TranslatedContentDirective {
|
12
|
-
constructor(viewRef, renderer, translateService, changeDetectorRef) {
|
13
|
-
this.viewRef = viewRef;
|
14
|
-
this.renderer = renderer;
|
15
|
-
this.translateService = translateService;
|
16
|
-
this.changeDetectorRef = changeDetectorRef;
|
17
|
-
this.subs = [];
|
18
|
-
}
|
19
|
-
ngOnInit() {
|
20
|
-
this.rawTranslation = merge(this.translateService.get(this.translationKey), this.translateService.onLangChange.asObservable().pipe(switchMap(() => this.translateService.get(this.translationKey))));
|
21
|
-
}
|
22
|
-
ngAfterContentInit() {
|
23
|
-
// QueryList.changes doesn't re-emit after its initial value, which we have by now
|
24
|
-
// BehaviorSubjects re-emit their initial value on subscription, so we get what we need by merging
|
25
|
-
// the BehaviorSubject and the QueryList.changes observable
|
26
|
-
const elementsSubject = new BehaviorSubject(this.elements.toArray());
|
27
|
-
const elementsChanges = merge(elementsSubject, this.elements.changes);
|
28
|
-
this.translationData = combineLatest(this.rawTranslation, elementsChanges)
|
29
|
-
.pipe(map(([rawTranslation]) => {
|
30
|
-
return {
|
31
|
-
elements: this.elements.toArray(),
|
32
|
-
rawTranslation,
|
33
|
-
};
|
34
|
-
}));
|
35
|
-
this.subs.push(this.translationData.subscribe(this.render.bind(this)));
|
36
|
-
}
|
37
|
-
render(translationData) {
|
38
|
-
if (!translationData.rawTranslation || translationData.rawTranslation === this.translationKey) {
|
39
|
-
throw new Error(`No resource matching the key '${this.translationKey}'`);
|
40
|
-
}
|
41
|
-
while (this.viewRef.element.nativeElement.firstChild) {
|
42
|
-
this.renderer.removeChild(this.viewRef.element.nativeElement, this.viewRef.element.nativeElement.firstChild);
|
43
|
-
}
|
44
|
-
let lastTokenEnd = 0;
|
45
|
-
while (lastTokenEnd < translationData.rawTranslation.length) {
|
46
|
-
const tokenStartDemarc = translationData.rawTranslation.indexOf(TOKEN_START_DEMARC, lastTokenEnd);
|
47
|
-
if (tokenStartDemarc < 0) {
|
48
|
-
break;
|
49
|
-
}
|
50
|
-
const tokenStart = tokenStartDemarc + TOKEN_START_DEMARC.length;
|
51
|
-
const tokenEnd = translationData.rawTranslation.indexOf(TOKEN_END_DEMARC, tokenStart);
|
52
|
-
if (tokenEnd < 0) {
|
53
|
-
throw new Error(`Encountered unterminated token in translation string '${this.translationKey}'`);
|
54
|
-
}
|
55
|
-
const tokenEndDemarc = tokenEnd + TOKEN_END_DEMARC.length;
|
56
|
-
const precedingText = translationData.rawTranslation.substring(lastTokenEnd, tokenStartDemarc);
|
57
|
-
const precedingTextElement = this.renderer.createText(precedingText);
|
58
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, precedingTextElement);
|
59
|
-
const elementKey = translationData.rawTranslation.substring(tokenStart, tokenEnd);
|
60
|
-
const embeddedElementTemplate = translationData.elements.find(element => element.elementKey === elementKey);
|
61
|
-
if (embeddedElementTemplate) {
|
62
|
-
const embeddedElementView = embeddedElementTemplate.viewRef.createEmbeddedView(embeddedElementTemplate.templateRef);
|
63
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, embeddedElementView.rootNodes[0]);
|
64
|
-
}
|
65
|
-
else {
|
66
|
-
const missingTokenText = translationData.rawTranslation.substring(tokenStartDemarc, tokenEndDemarc);
|
67
|
-
const missingTokenElement = this.renderer.createText(missingTokenText);
|
68
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, missingTokenElement);
|
69
|
-
}
|
70
|
-
lastTokenEnd = tokenEndDemarc;
|
71
|
-
}
|
72
|
-
const trailingText = translationData.rawTranslation.substring(lastTokenEnd);
|
73
|
-
const trailingTextElement = this.renderer.createText(trailingText);
|
74
|
-
this.renderer.appendChild(this.viewRef.element.nativeElement, trailingTextElement);
|
75
|
-
// in case the rendering happens outside of a change detection event, this ensures that any translations in the
|
76
|
-
// embedded elements are rendered
|
77
|
-
this.changeDetectorRef.detectChanges();
|
78
|
-
}
|
79
|
-
ngOnDestroy() {
|
80
|
-
this.subs.forEach(sub => sub.unsubscribe());
|
81
|
-
}
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
83
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TranslatedContentDirective, selector: "[appTranslatedContent]", inputs: { translationKey: ["appTranslatedContent", "translationKey"] }, queries: [{ propertyName: "elements", predicate: TranslatedElementDirective }], ngImport: i0 }); }
|
84
|
-
}
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedContentDirective, decorators: [{
|
86
|
-
type: Directive,
|
87
|
-
args: [{
|
88
|
-
selector: '[appTranslatedContent]',
|
89
|
-
}]
|
90
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i1.TranslateService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { translationKey: [{
|
91
|
-
type: Input,
|
92
|
-
args: ['appTranslatedContent']
|
93
|
-
}], elements: [{
|
94
|
-
type: ContentChildren,
|
95
|
-
args: [TranslatedElementDirective]
|
96
|
-
}] } });
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy90cmFuc2xhdGVkLWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDYSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUMvRCxLQUFLLEVBQXFCLFNBQVMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQ2pFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDdkYsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBTzVFLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQ2hDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0FBRTlCLDJGQUEyRjtBQUkzRixNQUFNLE9BQU8sMEJBQTBCO0lBV3JDLFlBQ1UsT0FBeUIsRUFDekIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLGlCQUFvQztRQUhwQyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVJ0QyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQVM5QixDQUFDO0lBRUUsUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxD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SSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFFbkYsK0dBQStHO1FBQy9HLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFekMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQXBHVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwrSkFJcEIsMEJBQTBCOzsyRkFKaEMsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzhMQUdnQyxjQUFjO3NCQUE1QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFHckIsUUFBUTtzQkFEZixlQUFlO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSxcbiAgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vdHJhbnNsYXRlZC1lbGVtZW50LmRpcmVjdGl2ZSc7XG5cbmludGVyZmFjZSBUcmFuc2xhdGlvbkRhdGEge1xuICBlbGVtZW50czogVHJhbnNsYXRlZEVsZW1lbnREaXJlY3RpdmVbXTtcbiAgcmF3VHJhbnNsYXRpb246IHN0cmluZztcbn1cblxuY29uc3QgVE9LRU5fU1RBUlRfREVNQVJDID0gJ3t7JztcbmNvbnN0IFRPS0VOX0VORF9ERU1BUkMgPSAnfX0nO1xuXG4vLyBhZGFwdGVkIGZyb20gQGthc3BlcmxhdWdlJ3Mgc29sdXRpb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL25neC10cmFuc2xhdGUvY29yZS9pc3N1ZXMvMjIzXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwVHJhbnNsYXRlZENvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlZENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KCdhcHBUcmFuc2xhdGVkQ29udGVudCcpIHRyYW5zbGF0aW9uS2V5OiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUcmFuc2xhdGVkRWxlbWVudERpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBlbGVtZW50czogUXVlcnlMaXN0PFRyYW5zbGF0ZWRFbGVtZW50RGlyZWN0aXZlPjtcblxuICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgcmF3VHJhbnNsYXRpb246IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvbkRhdGE6IE9ic2VydmFibGU8VHJhbnNsYXRpb25EYXRhPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yYXdUcmFuc2xhdGlvbiA9IG1lcmdlKFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCh0aGlzLnRyYW5zbGF0aW9uS2V5KSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UuYXNPYnNlcnZhYmxlKCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCh0aGlzLnRyYW5zbGF0aW9uS2V5KSkpXG4gICAgKTtcbiAgfVxuXG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBRdWVyeUxpc3QuY2hhbmdlcyBkb2Vzbid0IHJlLWVtaXQgYWZ0ZXIgaXRzIGluaXRpYWwgdmFsdWUsIHdoaWNoIHdlIGhhdmUgYnkgbm93XG4gICAgLy8gQmVoYXZpb3JTdWJqZWN0cyByZS1lbWl0IHRoZWlyIGluaXRpYWwgdmFsdWUgb24gc3Vic2NyaXB0aW9uLCBzbyB3ZSBnZXQgd2hhdCB3ZSBuZWVkIGJ5IG1lcmdpbmdcbiAgICAvLyB0aGUgQmVoYXZpb3JTdWJqZWN0IGFuZCB0aGUgUXVlcnlMaXN0LmNoYW5nZXMgb2JzZXJ2YWJsZVxuICAgIGNvbnN0IGVsZW1lbnRzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5lbGVtZW50cy50b0FycmF5KCkpO1xuICAgIGNvbnN0IGVsZW1lbnRzQ2hhbmdlcyA9IG1lcmdlKGVsZW1lbnRzU3ViamVjdCwgdGhpcy5lbGVtZW50cy5jaGFuZ2VzKTtcblxuICAgIHRoaXMudHJhbnNsYXRpb25EYXRhID0gY29tYmluZUxhdGVzdCh0aGlzLnJhd1RyYW5zbGF0aW9uLCBlbGVtZW50c0NoYW5nZXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChbcmF3VHJhbnNsYXRpb25dKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVsZW1lbnRzOiB0aGlzLmVsZW1lbnRzLnRvQXJyYXkoKSxcbiAgICAgICAgICAgIHJhd1RyYW5zbGF0aW9uLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgdGhpcy5zdWJzLnB1c2godGhpcy50cmFuc2xhdGlvbkRhdGEuc3Vic2NyaWJlKHRoaXMucmVuZGVyLmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyKHRyYW5zbGF0aW9uRGF0YTogVHJhbnNsYXRpb25EYXRhKTogdm9pZCB7XG5cbiAgICBpZiAoIXRyYW5zbGF0aW9uRGF0YS5yYXdUcmFuc2xhdGlvbiB8fCB0cmFuc2xhdGlvbkRhdGEucmF3VHJhbnNsYXRpb24gPT09IHRoaXMudHJhbnNsYXRpb25LZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gcmVzb3VyY2UgbWF0Y2hpbmcgdGhlIGtleSAnJHt0aGlzLnRyYW5zbGF0aW9uS2V5fSdgKTtcbiAgICB9XG5cbiAgICB3aGlsZSAodGhpcy52aWV3UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMudmlld1JlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMudmlld1JlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCk7XG4gICAgfVxuXG4gICAgbGV0IGxhc3RUb2tlbkVuZCA9IDA7XG4gICAgd2hpbGUgKGxhc3RUb2tlbkVuZCA8IHRyYW5zbGF0aW9uRGF0YS5yYXdUcmFuc2xhdGlvbi5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRva2VuU3RhcnREZW1hcmMgPSB0cmFuc2xhdGlvbkRhdGEucmF3VHJhbnNsYXRpb24uaW5kZXhPZihUT0tFTl9TVEFSVF9ERU1BUkMsIGxhc3RUb2tlbkVuZCk7XG4gICAgICBpZiAodG9rZW5TdGFydERlbWFyYyA8IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCB0b2tlblN0YXJ0ID0gdG9rZW5TdGFydERlbWFyYyArIFRPS0VOX1NUQVJUX0RFTUFSQy5sZW5ndGg7XG4gICAgICBjb25zdCB0b2tlbkVuZCA9IHRyYW5zbGF0aW9uRGF0YS5yYXdUcmFuc2xhdGlvbi5pbmRleE9mKFRPS0VOX0VORF9ERU1BUkMsIHRva2VuU3RhcnQpO1xuICAgICAgaWYgKHRva2VuRW5kIDwgMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVuY291bnRlcmVkIHVudGVybWluYXRlZCB0b2tlbiBpbiB0cmFuc2xhdGlvbiBzdHJpbmcgJyR7dGhpcy50cmFuc2xhdGlvbktleX0nYCk7XG4gICAgICB9XG4gICAgICBjb25zdCB0b2tlbkVuZERlbWFyYyA9IHRva2VuRW5kICsgVE9LRU5fRU5EX0RFTUFSQy5sZW5ndGg7XG5cbiAgICAgIGNvbnN0IHByZWNlZGluZ1RleHQgPSB0cmFuc2xhdGlvbkRhdGEucmF3VHJhbnNsYXRpb24uc3Vic3RyaW5nKGxhc3RUb2tlbkVuZCwgdG9rZW5TdGFydERlbWFyYyk7XG4gICAgICBjb25zdCBwcmVjZWRpbmdUZXh0RWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChwcmVjZWRpbmdUZXh0KTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy52aWV3UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgcHJlY2VkaW5nVGV4dEVsZW1lbnQpO1xuXG4gICAgICBjb25zdCBlbGVtZW50S2V5ID0gdHJhbnNsYXRpb25EYXRhLnJhd1RyYW5zbGF0aW9uLnN1YnN0cmluZyh0b2tlblN0YXJ0LCB0b2tlbkVuZCk7XG4gICAgICBjb25zdCBlbWJlZGRlZEVsZW1lbnRUZW1wbGF0ZSA9IHRyYW5zbGF0aW9uRGF0YS5lbGVtZW50cy5maW5kKGVsZW1lbnQgPT4gZWxlbWVudC5lbGVtZW50S2V5ID09PSBlbGVtZW50S2V5KTtcbiAgICAgIGlmIChlbWJlZGRlZEVsZW1lbnRUZW1wbGF0ZSkge1xuICAgICAgICBjb25zdCBlbWJlZGRlZEVsZW1lbnRWaWV3ID0gZW1iZWRkZWRFbGVtZW50VGVtcGxhdGUudmlld1JlZi5jcmVhdGVFbWJlZGRlZFZpZXcoZW1iZWRkZWRFbGVtZW50VGVtcGxhdGUudGVtcGxhdGVSZWYpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMudmlld1JlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGVtYmVkZGVkRWxlbWVudFZpZXcucm9vdE5vZGVzWzBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1pc3NpbmdUb2tlblRleHQgPSB0cmFuc2xhdGlvbkRhdGEucmF3VHJhbnNsYXRpb24uc3Vic3RyaW5nKHRva2VuU3RhcnREZW1hcmMsIHRva2VuRW5kRGVtYXJjKTtcbiAgICAgICAgY29uc3QgbWlzc2luZ1Rva2VuRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlVGV4dChtaXNzaW5nVG9rZW5UZXh0KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLnZpZXdSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LCBtaXNzaW5nVG9rZW5FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgbGFzdFRva2VuRW5kID0gdG9rZW5FbmREZW1hcmM7XG4gICAgfVxuXG4gICAgY29uc3QgdHJhaWxpbmdUZXh0ID0gdHJhbnNsYXRpb25EYXRhLnJhd1RyYW5zbGF0aW9uLnN1YnN0cmluZyhsYXN0VG9rZW5FbmQpO1xuICAgIGNvbnN0IHRyYWlsaW5nVGV4dEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodHJhaWxpbmdUZXh0KTtcblxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy52aWV3UmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdHJhaWxpbmdUZXh0RWxlbWVudCk7XG5cbiAgICAvLyBpbiBjYXNlIHRoZSByZW5kZXJpbmcgaGFwcGVucyBvdXRzaWRlIG9mIGEgY2hhbmdlIGRldGVjdGlvbiBldmVudCwgdGhpcyBlbnN1cmVzIHRoYXQgYW55IHRyYW5zbGF0aW9ucyBpbiB0aGVcbiAgICAvLyBlbWJlZGRlZCBlbGVtZW50cyBhcmUgcmVuZGVyZWRcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gIH1cbn0iXX0=
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export class TranslatedElementDirective {
|
4
|
-
constructor(viewRef, templateRef) {
|
5
|
-
this.viewRef = viewRef;
|
6
|
-
this.templateRef = templateRef;
|
7
|
-
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedElementDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: TranslatedElementDirective, selector: "[translatedElement]", inputs: { elementKey: ["translatedElement", "elementKey"] }, ngImport: i0 }); }
|
10
|
-
}
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslatedElementDirective, decorators: [{
|
12
|
-
type: Directive,
|
13
|
-
args: [{
|
14
|
-
selector: '[translatedElement]',
|
15
|
-
}]
|
16
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { elementKey: [{
|
17
|
-
type: Input,
|
18
|
-
args: ['translatedElement']
|
19
|
-
}] } });
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlZC1lbGVtZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy90cmFuc2xhdGVkLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLaEYsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNrQixPQUF5QixFQUN6QixXQUE2QjtRQUQ3QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFDNUMsQ0FBQzs4R0FSTywwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQztpSUFJUSxVQUFVO3NCQURoQixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RyYW5zbGF0ZWRFbGVtZW50XScsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZWRFbGVtZW50RGlyZWN0aXZlIHtcblxuICBASW5wdXQoJ3RyYW5zbGF0ZWRFbGVtZW50JylcbiAgcHVibGljIGVsZW1lbnRLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlld1JlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICkge31cbn0iXX0=
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { AfterContentInit, ChangeDetectorRef, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export declare class TranslatedContentDirective implements OnInit, OnDestroy, AfterContentInit {
|
5
|
-
private viewRef;
|
6
|
-
private renderer;
|
7
|
-
private translateService;
|
8
|
-
private changeDetectorRef;
|
9
|
-
translationKey: string;
|
10
|
-
private elements;
|
11
|
-
private subs;
|
12
|
-
private rawTranslation;
|
13
|
-
private translationData;
|
14
|
-
constructor(viewRef: ViewContainerRef, renderer: Renderer2, translateService: TranslateService, changeDetectorRef: ChangeDetectorRef);
|
15
|
-
ngOnInit(): void;
|
16
|
-
ngAfterContentInit(): void;
|
17
|
-
private render;
|
18
|
-
ngOnDestroy(): void;
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TranslatedContentDirective, never>;
|
20
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TranslatedContentDirective, "[appTranslatedContent]", never, { "translationKey": { "alias": "appTranslatedContent"; "required": false; }; }, {}, ["elements"], never, false, never>;
|
21
|
-
}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { TemplateRef, ViewContainerRef } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
export declare class TranslatedElementDirective {
|
4
|
-
readonly viewRef: ViewContainerRef;
|
5
|
-
readonly templateRef: TemplateRef<any>;
|
6
|
-
elementKey: string;
|
7
|
-
constructor(viewRef: ViewContainerRef, templateRef: TemplateRef<any>);
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TranslatedElementDirective, never>;
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TranslatedElementDirective, "[translatedElement]", never, { "elementKey": { "alias": "translatedElement"; "required": false; }; }, {}, never, never, false, never>;
|
10
|
-
}
|