@rosoftlab/core 1.0.0-alpha-0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +27 -0
- package/esm2022/lib/base-components/base-form-edit.component.mjs +239 -0
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +15 -0
- package/esm2022/lib/base-components/index.mjs +4 -0
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +15 -0
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +12 -0
- package/esm2022/lib/configurations.mjs +8 -0
- package/esm2022/lib/constants/symbols.mjs +3 -0
- package/esm2022/lib/converters/date/date.converter.mjs +20 -0
- package/esm2022/lib/core.mjs +8 -0
- package/esm2022/lib/decorators/attribute.decorator.mjs +87 -0
- package/esm2022/lib/decorators/base-datastore-config.decorator.mjs +7 -0
- package/esm2022/lib/decorators/base-model-config.decorator.mjs +10 -0
- package/esm2022/lib/decorators/custom.type.decorator.mjs +11 -0
- package/esm2022/lib/directives/translated-content.directive.mjs +97 -0
- package/esm2022/lib/directives/translated-element.directive.mjs +20 -0
- package/esm2022/lib/grid-layout-format.enum.mjs +15 -0
- package/esm2022/lib/index.mjs +26 -0
- package/esm2022/lib/interceptors/cache.interceptor.mjs +52 -0
- package/esm2022/lib/interceptors/index.mjs +2 -0
- package/esm2022/lib/interfaces/attribute-decorator-options.interface.mjs +2 -0
- package/esm2022/lib/interfaces/datastore-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/model-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/overrides.interface.mjs +2 -0
- package/esm2022/lib/interfaces/property-converter.interface.mjs +2 -0
- package/esm2022/lib/models/base-meta.model.mjs +7 -0
- package/esm2022/lib/models/base-query-data.mjs +13 -0
- package/esm2022/lib/models/base.model.mjs +158 -0
- package/esm2022/lib/models/error-response.model.mjs +9 -0
- package/esm2022/lib/models/rule.mjs +6 -0
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +21 -0
- package/esm2022/lib/pipes/input-error.pipe.mjs +38 -0
- package/esm2022/lib/providers.mjs +12 -0
- package/esm2022/lib/resolvers/dynamically-class-resolver.mjs +22 -0
- package/esm2022/lib/resolvers/dynamically-service-resolver.mjs +22 -0
- package/esm2022/lib/resolvers/index.mjs +3 -0
- package/esm2022/lib/rsl-base-module.mjs +64 -0
- package/esm2022/lib/services/base-datastore.service.mjs +342 -0
- package/esm2022/lib/services/base.service.mjs +99 -0
- package/esm2022/lib/services/cache.service.mjs +35 -0
- package/esm2022/lib/services/datastore.service.mjs +26 -0
- package/esm2022/lib/services/dialog.service.mjs +150 -0
- package/esm2022/lib/services/index.mjs +6 -0
- package/esm2022/lib/services/translate-loader.service.mjs +34 -0
- package/esm2022/lib/utils.mjs +27 -0
- package/esm2022/lib/validators/pattern-validator.mjs +15 -0
- package/esm2022/public-api.mjs +5 -0
- package/esm2022/rosoftlab-core.mjs +5 -0
- package/fesm2022/rosoftlab-core.mjs +1637 -0
- package/fesm2022/rosoftlab-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/base-components/base-form-edit.component.d.ts +56 -0
- package/lib/base-components/field-error-display/field-error-display.component.d.ts +7 -0
- package/lib/base-components/index.d.ts +3 -0
- package/lib/base-components/page-not-found/page-not-found.component.d.ts +8 -0
- package/lib/base-components/under-construction/under-construction.component.d.ts +6 -0
- package/lib/configurations.d.ts +6 -0
- package/lib/constants/symbols.d.ts +1 -0
- package/lib/converters/date/date.converter.d.ts +5 -0
- package/lib/core.d.ts +7 -0
- package/lib/decorators/attribute.decorator.d.ts +3 -0
- package/lib/decorators/base-datastore-config.decorator.d.ts +1 -0
- package/lib/decorators/base-model-config.decorator.d.ts +1 -0
- package/lib/decorators/custom.type.decorator.d.ts +1 -0
- package/lib/directives/translated-content.directive.d.ts +21 -0
- package/lib/directives/translated-element.directive.d.ts +10 -0
- package/lib/grid-layout-format.enum.d.ts +12 -0
- package/lib/index.d.ts +25 -0
- package/lib/interceptors/cache.interceptor.d.ts +13 -0
- package/lib/interceptors/index.d.ts +1 -0
- package/lib/interfaces/attribute-decorator-options.interface.d.ts +8 -0
- package/lib/interfaces/datastore-config.interface.d.ts +8 -0
- package/lib/interfaces/model-config.interface.d.ts +10 -0
- package/lib/interfaces/overrides.interface.d.ts +5 -0
- package/lib/interfaces/property-converter.interface.d.ts +4 -0
- package/lib/models/base-meta.model.d.ts +5 -0
- package/lib/models/base-query-data.d.ts +7 -0
- package/lib/models/base.model.d.ts +31 -0
- package/lib/models/error-response.model.d.ts +17 -0
- package/lib/models/rule.d.ts +5 -0
- package/lib/pipes/Nl2brPipe.pipe.d.ts +7 -0
- package/lib/pipes/input-error.pipe.d.ts +10 -0
- package/lib/providers.d.ts +2 -0
- package/lib/resolvers/dynamically-class-resolver.d.ts +3 -0
- package/lib/resolvers/dynamically-service-resolver.d.ts +3 -0
- package/lib/resolvers/index.d.ts +2 -0
- package/lib/rsl-base-module.d.ts +13 -0
- package/lib/services/base-datastore.service.d.ts +47 -0
- package/lib/services/base.service.d.ts +27 -0
- package/lib/services/cache.service.d.ts +11 -0
- package/lib/services/datastore.service.d.ts +12 -0
- package/lib/services/dialog.service.d.ts +21 -0
- package/lib/services/index.d.ts +5 -0
- package/lib/services/translate-loader.service.d.ts +14 -0
- package/lib/utils.d.ts +2 -0
- package/lib/validators/pattern-validator.d.ts +4 -0
- package/package.json +36 -0
- package/public-api.d.ts +1 -0
@@ -0,0 +1,97 @@
|
|
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=
|
@@ -0,0 +1,20 @@
|
|
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=
|
@@ -0,0 +1,15 @@
|
|
1
|
+
export var GridLayoutFormat;
|
2
|
+
(function (GridLayoutFormat) {
|
3
|
+
GridLayoutFormat[GridLayoutFormat["none"] = 0] = "none";
|
4
|
+
GridLayoutFormat[GridLayoutFormat["date"] = 1] = "date";
|
5
|
+
GridLayoutFormat[GridLayoutFormat["number"] = 2] = "number";
|
6
|
+
GridLayoutFormat[GridLayoutFormat["percent"] = 3] = "percent";
|
7
|
+
GridLayoutFormat[GridLayoutFormat["picture"] = 4] = "picture";
|
8
|
+
})(GridLayoutFormat || (GridLayoutFormat = {}));
|
9
|
+
export var CellTextAlign;
|
10
|
+
(function (CellTextAlign) {
|
11
|
+
CellTextAlign["left"] = "left";
|
12
|
+
CellTextAlign["center"] = "center";
|
13
|
+
CellTextAlign["right"] = "right";
|
14
|
+
})(CellTextAlign || (CellTextAlign = {}));
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1sYXlvdXQtZm9ybWF0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2dyaWQtbGF5b3V0LWZvcm1hdC5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQU1YO0FBTkQsV0FBWSxnQkFBZ0I7SUFDeEIsdURBQUksQ0FBQTtJQUNKLHVEQUFJLENBQUE7SUFDSiwyREFBTSxDQUFBO0lBQ04sNkRBQU8sQ0FBQTtJQUNQLDZEQUFPLENBQUE7QUFDWCxDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsOEJBQWEsQ0FBQTtJQUNiLGtDQUFpQixDQUFBO0lBQ2pCLGdDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gR3JpZExheW91dEZvcm1hdCB7XG4gICAgbm9uZSxcbiAgICBkYXRlLFxuICAgIG51bWJlcixcbiAgICBwZXJjZW50LFxuICAgIHBpY3R1cmVcbn1cblxuZXhwb3J0IGVudW0gQ2VsbFRleHRBbGlnbiB7XG4gICAgbGVmdCA9ICdsZWZ0JyxcbiAgICBjZW50ZXIgPSAnY2VudGVyJyxcbiAgICByaWdodCA9ICdyaWdodCcsXG59Il19
|
@@ -0,0 +1,26 @@
|
|
1
|
+
export * from './base-components';
|
2
|
+
export * from './decorators/attribute.decorator';
|
3
|
+
export * from './decorators/base-datastore-config.decorator';
|
4
|
+
export * from './decorators/base-model-config.decorator';
|
5
|
+
export * from './decorators/custom.type.decorator';
|
6
|
+
export * from './directives/translated-content.directive';
|
7
|
+
export * from './directives/translated-element.directive';
|
8
|
+
export * from './interceptors';
|
9
|
+
export * from './interfaces/attribute-decorator-options.interface';
|
10
|
+
export * from './interfaces/datastore-config.interface';
|
11
|
+
export * from './interfaces/model-config.interface';
|
12
|
+
export * from './interfaces/overrides.interface';
|
13
|
+
export * from './interfaces/property-converter.interface';
|
14
|
+
export * from './models/base-meta.model';
|
15
|
+
export * from './models/base-query-data';
|
16
|
+
export * from './models/base.model';
|
17
|
+
export * from './models/error-response.model';
|
18
|
+
export * from './models/rule';
|
19
|
+
export * from './pipes/Nl2brPipe.pipe';
|
20
|
+
export * from './pipes/input-error.pipe';
|
21
|
+
export * from './providers';
|
22
|
+
export * from './resolvers';
|
23
|
+
export * from './rsl-base-module';
|
24
|
+
export * from './services/base.service';
|
25
|
+
export * from './validators/pattern-validator';
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UtY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGVjb3JhdG9ycy9hdHRyaWJ1dGUuZGVjb3JhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2Jhc2UtZGF0YXN0b3JlLWNvbmZpZy5kZWNvcmF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMvYmFzZS1tb2RlbC1jb25maWcuZGVjb3JhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9kZWNvcmF0b3JzL2N1c3RvbS50eXBlLmRlY29yYXRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy90cmFuc2xhdGVkLWNvbnRlbnQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3RyYW5zbGF0ZWQtZWxlbWVudC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludGVyY2VwdG9ycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9hdHRyaWJ1dGUtZGVjb3JhdG9yLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL2RhdGFzdG9yZS1jb25maWcuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzL21vZGVsLWNvbmZpZy5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvb3ZlcnJpZGVzLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcy9wcm9wZXJ0eS1jb252ZXJ0ZXIuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYmFzZS1tZXRhLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYmFzZS1xdWVyeS1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2Vycm9yLXJlc3BvbnNlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvcnVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvTmwyYnJQaXBlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2lucHV0LWVycm9yLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzb2x2ZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9yc2wtYmFzZS1tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Jhc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy9wYXR0ZXJuLXZhbGlkYXRvcic7XHJcblxyXG4iXX0=
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { HttpResponse } from '@angular/common/http';
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
3
|
+
import { of } from 'rxjs';
|
4
|
+
import { tap } from 'rxjs/operators';
|
5
|
+
import { CacheService } from '../services/cache.service';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "../services/cache.service";
|
8
|
+
export class CacheInterceptor {
|
9
|
+
constructor(expirationTime, cacheService) {
|
10
|
+
this.expirationTime = expirationTime;
|
11
|
+
this.cacheService = cacheService;
|
12
|
+
this.cache = new Map();
|
13
|
+
}
|
14
|
+
intercept(request, next) {
|
15
|
+
const bypassCache = request.params.get('bypassCache') || false;
|
16
|
+
if (bypassCache || request.method !== 'GET') {
|
17
|
+
return next.handle(request);
|
18
|
+
}
|
19
|
+
if (!bypassCache) {
|
20
|
+
const cachedResponse = this.cacheService.get(request.urlWithParams);
|
21
|
+
if (cachedResponse) {
|
22
|
+
return of(cachedResponse.clone());
|
23
|
+
//return cachedResponse;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return next.handle(request).pipe(tap((event) => {
|
27
|
+
if (event instanceof HttpResponse) {
|
28
|
+
this.cacheService.set(request.urlWithParams, event.clone(), this.expirationTime);
|
29
|
+
}
|
30
|
+
}));
|
31
|
+
// const cachedItem = this.cache.get(request.url);
|
32
|
+
// if (cachedItem && cachedItem.expiration > Date.now()) {
|
33
|
+
// return of(cachedItem.response.clone());
|
34
|
+
// }
|
35
|
+
// return next.handle(request).pipe(
|
36
|
+
// tap(event => {
|
37
|
+
// if (event instanceof HttpResponse) {
|
38
|
+
// this.cache.set(request.url, { response: event.clone(), expiration: Date.now() + this.expirationTime });
|
39
|
+
// }
|
40
|
+
// })
|
41
|
+
// );
|
42
|
+
}
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheInterceptor, deps: [{ token: 'CACHE_EXPIRATION_TIME' }, { token: i1.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheInterceptor }); }
|
45
|
+
}
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheInterceptor, decorators: [{
|
47
|
+
type: Injectable
|
48
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
49
|
+
type: Inject,
|
50
|
+
args: ['CACHE_EXPIRATION_TIME']
|
51
|
+
}] }, { type: i1.CacheService }]; } });
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9jYWNoZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBcUQsY0FBc0IsRUFDakUsWUFBMEI7UUFEaUIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDakUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFINUIsVUFBSyxHQUFxRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBR3BELENBQUM7SUFFekMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDO1FBRS9ELElBQUksV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksY0FBYyxFQUFFO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDbEMsd0JBQXdCO2FBQ3pCO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTtnQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ2xGO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLGtEQUFrRDtRQUVsRCwwREFBMEQ7UUFDMUQsNENBQTRDO1FBQzVDLElBQUk7UUFFSixvQ0FBb0M7UUFDcEMsbUJBQW1CO1FBQ25CLDJDQUEyQztRQUMzQyxnSEFBZ0g7UUFDaEgsUUFBUTtRQUNSLE9BQU87UUFDUCxLQUFLO0lBQ1AsQ0FBQzs4R0ExQ1UsZ0JBQWdCLGtCQUdQLHVCQUF1QjtrSEFIaEMsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFJSSxNQUFNOzJCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY2FjaGUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYWNoZUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBwcml2YXRlIGNhY2hlOiBNYXA8c3RyaW5nLCB7IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8YW55PiwgZXhwaXJhdGlvbjogbnVtYmVyIH0+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KCdDQUNIRV9FWFBJUkFUSU9OX1RJTUUnKSBwcml2YXRlIGV4cGlyYXRpb25UaW1lOiBudW1iZXIsXHJcbiAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgYnlwYXNzQ2FjaGUgPSByZXF1ZXN0LnBhcmFtcy5nZXQoJ2J5cGFzc0NhY2hlJykgfHwgZmFsc2U7XHJcblxyXG4gICAgaWYgKGJ5cGFzc0NhY2hlIHx8IHJlcXVlc3QubWV0aG9kICE9PSAnR0VUJykge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFieXBhc3NDYWNoZSkge1xyXG4gICAgICBjb25zdCBjYWNoZWRSZXNwb25zZSA9IHRoaXMuY2FjaGVTZXJ2aWNlLmdldChyZXF1ZXN0LnVybFdpdGhQYXJhbXMpO1xyXG4gICAgICBpZiAoY2FjaGVkUmVzcG9uc2UpIHtcclxuICAgICAgICByZXR1cm4gb2YoY2FjaGVkUmVzcG9uc2UuY2xvbmUoKSk7XHJcbiAgICAgICAgLy9yZXR1cm4gY2FjaGVkUmVzcG9uc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgdGFwKChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgdGhpcy5jYWNoZVNlcnZpY2Uuc2V0KHJlcXVlc3QudXJsV2l0aFBhcmFtcywgZXZlbnQuY2xvbmUoKSwgdGhpcy5leHBpcmF0aW9uVGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5jYWNoZS5nZXQocmVxdWVzdC51cmwpO1xyXG5cclxuICAgIC8vIGlmIChjYWNoZWRJdGVtICYmIGNhY2hlZEl0ZW0uZXhwaXJhdGlvbiA+IERhdGUubm93KCkpIHtcclxuICAgIC8vICAgcmV0dXJuIG9mKGNhY2hlZEl0ZW0ucmVzcG9uc2UuY2xvbmUoKSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAvLyAgIHRhcChldmVudCA9PiB7XHJcbiAgICAvLyAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAvLyAgICAgICB0aGlzLmNhY2hlLnNldChyZXF1ZXN0LnVybCwgeyByZXNwb25zZTogZXZlbnQuY2xvbmUoKSwgZXhwaXJhdGlvbjogRGF0ZS5ub3coKSArIHRoaXMuZXhwaXJhdGlvblRpbWUgfSk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9KVxyXG4gICAgLy8gKTtcclxuICB9XHJcbn0iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './cache.interceptor';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XHJcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWRlY29yYXRvci1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9hdHRyaWJ1dGUtZGVjb3JhdG9yLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eUNvbnZlcnRlciB9IGZyb20gJy4vcHJvcGVydHktY29udmVydGVyLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZURlY29yYXRvck9wdGlvbnMge1xyXG4gIHNlcmlhbGl6ZWROYW1lPzogc3RyaW5nO1xyXG4gIGNvbnZlcnRlcj86IFByb3BlcnR5Q29udmVydGVyO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgZm9ybVN1Ykdyb3VwPzogc3RyaW5nXHJcbn1cclxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyZmFjZXMvZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJyaWRlcyB9IGZyb20gJy4vb3ZlcnJpZGVzLmludGVyZmFjZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc3RvcmVDb25maWcge1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBtb2RlbHM/OiBvYmplY3Q7XG4gIG92ZXJyaWRlcz86IE92ZXJyaWRlcztcbiAgbW9jaz86IGJvb2xlYW47XG59XG4iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTWV0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtbWV0YS5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxDb25maWcge1xuICB0eXBlOiBzdHJpbmc7XG4gIGFwaVZlcnNpb24/OiBzdHJpbmc7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIG1vZGVsRW5kcG9pbnRVcmw/OiBzdHJpbmc7XG4gIG1ldGE/OiBCYXNlTWV0YU1vZGVsO1xuICBmb3JtVGl0bGU6IHN0cmluZztcbiAgYnlwYXNzQ2FjaGU/OiBib29sZWFuO1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9vdmVycmlkZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE92ZXJyaWRlcyB7XG4gIGdldERpcnR5QXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgZ2V0QWxsQXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgdG9RdWVyeVN0cmluZz86IChwYXJhbXM6IGFueSkgPT4gc3RyaW5nO1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29udmVydGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9wcm9wZXJ0eS1jb252ZXJ0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5Q29udmVydGVyIHtcclxuICBtYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbiAgdW5tYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbn1cclxuIl19
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export class BaseMetaModel {
|
2
|
+
constructor(response) {
|
3
|
+
this.links = response.links || [];
|
4
|
+
this.meta = response.meta;
|
5
|
+
}
|
6
|
+
}
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tZXRhLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9tb2RlbHMvYmFzZS1tZXRhLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksUUFBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQmFzZU1ldGFNb2RlbCB7XHJcbiAgcHVibGljIGxpbmtzOiBBcnJheTxhbnk+O1xyXG4gIHB1YmxpYyBtZXRhOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIHRoaXMubGlua3MgPSByZXNwb25zZS5saW5rcyB8fCBbXTtcclxuICAgIHRoaXMubWV0YSA9IHJlc3BvbnNlLm1ldGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,13 @@
|
|
1
|
+
export class BaseQueryData {
|
2
|
+
constructor(jsonApiModels, metaData) {
|
3
|
+
this.jsonApiModels = jsonApiModels;
|
4
|
+
this.metaData = metaData;
|
5
|
+
}
|
6
|
+
getModels() {
|
7
|
+
return this.jsonApiModels;
|
8
|
+
}
|
9
|
+
getMeta() {
|
10
|
+
return this.metaData;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdWVyeS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9tb2RlbHMvYmFzZS1xdWVyeS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXNCLGFBQXVCLEVBQVksUUFBYztRQUFqRCxrQkFBYSxHQUFiLGFBQWEsQ0FBVTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQU07SUFBSSxDQUFDO0lBRXJFLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBjbGFzcyBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQganNvbkFwaU1vZGVsczogQXJyYXk8VD4sIHByb3RlY3RlZCBtZXRhRGF0YT86IGFueSkgeyB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb2RlbHMoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLmpzb25BcGlNb2RlbHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWV0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMubWV0YURhdGE7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -0,0 +1,158 @@
|
|
1
|
+
import { Validators } from '@angular/forms';
|
2
|
+
import { AttributeMetadata } from '../constants/symbols';
|
3
|
+
export class BaseModel {
|
4
|
+
// tslint:disable-next-line:variable-name
|
5
|
+
constructor(_datastore, data) {
|
6
|
+
this._datastore = _datastore;
|
7
|
+
if (data) {
|
8
|
+
if (data.id) {
|
9
|
+
this.id = data.id;
|
10
|
+
}
|
11
|
+
Object.assign(this, data);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
save(params, headers, customUrl, customBody) {
|
15
|
+
const attributesMetadata = this[AttributeMetadata];
|
16
|
+
return this._datastore.saveRecord(attributesMetadata, this, params, headers, customUrl, customBody);
|
17
|
+
}
|
18
|
+
patch(origModel, params, headers, customUrl) {
|
19
|
+
const attributesMetadata = this[AttributeMetadata];
|
20
|
+
return this._datastore.patchRecord(attributesMetadata, this, origModel, params, headers, customUrl);
|
21
|
+
}
|
22
|
+
replace(params, headers, customUrl, customBody) {
|
23
|
+
const attributesMetadata = this[AttributeMetadata];
|
24
|
+
return this._datastore.replaceRecord(attributesMetadata, this, params, headers, customUrl, customBody);
|
25
|
+
}
|
26
|
+
get attributeMetadata() {
|
27
|
+
const attributesMetadata = this[AttributeMetadata];
|
28
|
+
return attributesMetadata;
|
29
|
+
}
|
30
|
+
set attributeMetadata(val) {
|
31
|
+
this[AttributeMetadata] = val;
|
32
|
+
}
|
33
|
+
get hasDirtyAttributes() {
|
34
|
+
const attributesMetadata = this[AttributeMetadata];
|
35
|
+
let hasDirtyAttributes = false;
|
36
|
+
for (const propertyName in attributesMetadata) {
|
37
|
+
if (attributesMetadata.hasOwnProperty(propertyName)) {
|
38
|
+
const metadata = attributesMetadata[propertyName];
|
39
|
+
if (metadata.hasDirtyAttributes) {
|
40
|
+
hasDirtyAttributes = true;
|
41
|
+
break;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
return hasDirtyAttributes;
|
46
|
+
}
|
47
|
+
rollbackAttributes() {
|
48
|
+
const attributesMetadata = this[AttributeMetadata];
|
49
|
+
let metadata;
|
50
|
+
for (const propertyName in attributesMetadata) {
|
51
|
+
if (attributesMetadata.hasOwnProperty(propertyName)) {
|
52
|
+
if (attributesMetadata[propertyName].hasDirtyAttributes) {
|
53
|
+
this[propertyName] = attributesMetadata[propertyName].oldValue;
|
54
|
+
metadata = {
|
55
|
+
hasDirtyAttributes: false,
|
56
|
+
newValue: attributesMetadata[propertyName].oldValue,
|
57
|
+
oldValue: undefined
|
58
|
+
};
|
59
|
+
attributesMetadata[propertyName] = metadata;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
this[AttributeMetadata] = attributesMetadata;
|
64
|
+
}
|
65
|
+
get modelConfig() {
|
66
|
+
return Reflect.getMetadata('BaseModelConfig', this.constructor);
|
67
|
+
}
|
68
|
+
deserializeModel(modelType, data) {
|
69
|
+
data = this.transformSerializedNamesToPropertyNames(modelType, data);
|
70
|
+
return new modelType(this._datastore, data);
|
71
|
+
}
|
72
|
+
transformSerializedNamesToPropertyNames(modelType, attributes) {
|
73
|
+
const serializedNameToPropertyName = this.getModelPropertyNames(modelType.prototype);
|
74
|
+
const properties = {};
|
75
|
+
Object.keys(serializedNameToPropertyName).forEach((serializedName) => {
|
76
|
+
if (attributes[serializedName] !== null && attributes[serializedName] !== undefined) {
|
77
|
+
properties[serializedNameToPropertyName[serializedName]] = attributes[serializedName];
|
78
|
+
}
|
79
|
+
});
|
80
|
+
return properties;
|
81
|
+
}
|
82
|
+
getModelPropertyNames(model) {
|
83
|
+
return Reflect.getMetadata('AttributeMapping', model);
|
84
|
+
}
|
85
|
+
getModelRequiredPropertyNames(model) {
|
86
|
+
return Reflect.getMetadata('AttributeRequired', model);
|
87
|
+
}
|
88
|
+
getModelDefaultPropertyValues(model) {
|
89
|
+
return Reflect.getMetadata('AttributedefaultValue', model);
|
90
|
+
}
|
91
|
+
getModelSubGroupPropertyNames(model) {
|
92
|
+
return Reflect.getMetadata('AttributeformSubGroup', model);
|
93
|
+
}
|
94
|
+
getFromGroup(fb) {
|
95
|
+
const props = Object.keys(this.getModelPropertyNames(this));
|
96
|
+
const requiredProps = this.getModelRequiredPropertyNames(this);
|
97
|
+
const defaultValues = this.getModelDefaultPropertyValues(this);
|
98
|
+
const formSubGroupsValues = this.getModelSubGroupPropertyNames(this);
|
99
|
+
const controlsConfig = {};
|
100
|
+
const that = this;
|
101
|
+
if (props) {
|
102
|
+
props.forEach(property => {
|
103
|
+
const value = that[property] !== undefined ? that[property] : defaultValues[property];
|
104
|
+
const formSubGroup = formSubGroupsValues[property] ?? null;
|
105
|
+
if (requiredProps[property]) {
|
106
|
+
if (formSubGroup)
|
107
|
+
this.getSubFromGroup(fb, controlsConfig, formSubGroup).addControl(property, fb.control(value, Validators.required));
|
108
|
+
else
|
109
|
+
controlsConfig[property] = [value, Validators.required];
|
110
|
+
}
|
111
|
+
else {
|
112
|
+
if (formSubGroup)
|
113
|
+
this.getSubFromGroup(fb, controlsConfig, formSubGroup).addControl(property, fb.control(value));
|
114
|
+
else
|
115
|
+
controlsConfig[property] = value;
|
116
|
+
}
|
117
|
+
});
|
118
|
+
}
|
119
|
+
return fb.group(controlsConfig);
|
120
|
+
}
|
121
|
+
getSubFromGroup(fb, controlsConfig, subGroup) {
|
122
|
+
if (!controlsConfig[subGroup])
|
123
|
+
controlsConfig[subGroup] = fb.group({});
|
124
|
+
return controlsConfig[subGroup];
|
125
|
+
}
|
126
|
+
getModelFromFormGroup(formGroup, id) {
|
127
|
+
const props = Object.keys(this.getModelPropertyNames(this));
|
128
|
+
const formSubGroupsValues = this.getModelSubGroupPropertyNames(this);
|
129
|
+
const data = {};
|
130
|
+
if (id) {
|
131
|
+
data.id = id;
|
132
|
+
}
|
133
|
+
const that = this;
|
134
|
+
if (props) {
|
135
|
+
props.forEach(property => {
|
136
|
+
const formSubGroup = formSubGroupsValues[property] ?? null;
|
137
|
+
if (!formSubGroup)
|
138
|
+
data[property] = formGroup.controls[property].value ?? null;
|
139
|
+
else
|
140
|
+
data[property] = formGroup.controls[formSubGroup].controls[property].value ?? null;
|
141
|
+
});
|
142
|
+
}
|
143
|
+
if (data) {
|
144
|
+
if (id) {
|
145
|
+
this.id = id;
|
146
|
+
}
|
147
|
+
Object.assign(this, data);
|
148
|
+
}
|
149
|
+
}
|
150
|
+
getSerializedModel() {
|
151
|
+
const attributesMetadata = this[AttributeMetadata];
|
152
|
+
return this._datastore.modelToEntity(this, attributesMetadata, true);
|
153
|
+
}
|
154
|
+
getCellClass(property) {
|
155
|
+
return '';
|
156
|
+
}
|
157
|
+
}
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL2Jhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sU0FBUztJQUtwQix5Q0FBeUM7SUFDekMsWUFBc0IsVUFBeUIsRUFBRSxJQUFVO1FBQXJDLGVBQVUsR0FBVixVQUFVLENBQWU7UUFDN0MsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ25CO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUNGLE1BQVksRUFDWixPQUFxQixFQUNyQixTQUFrQixFQUNsQixVQUFnQjtRQUNoQixNQUFNLGtCQUFrQixHQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCxLQUFLLENBQ0gsU0FBZSxFQUNmLE1BQVksRUFDWixPQUFxQixFQUNyQixTQUFrQjtRQUVsQixNQUFNLGtCQUFrQixHQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLFNBQVMs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RUFBRSxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFJTSxrQkFBa0I7UUFDdkIsTUFBTSxrQkFBa0IsR0FBUSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsWUFBWSxDQUFDLFFBQWdCO1FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVNZXRhZGF0YSB9IGZyb20gJy4uL2NvbnN0YW50cy9zeW1ib2xzJztcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2VEYXRhc3RvcmUsIE1vZGVsVHlwZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2UtZGF0YXN0b3JlLnNlcnZpY2UnO1xuZXhwb3J0IGNsYXNzIEJhc2VNb2RlbCB7XG4gIHB1YmxpYyBoaWdobGlnaHRlZDogYm9vbGVhbjtcbiAgcHVibGljIGlkOiBhbnk7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2RhdGFzdG9yZTogQmFzZURhdGFzdG9yZSwgZGF0YT86IGFueSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBpZiAoZGF0YS5pZCkge1xuICAgICAgICB0aGlzLmlkID0gZGF0YS5pZDtcbiAgICAgIH1cbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZShcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcbiAgICBjdXN0b21Cb2R5PzogYW55KTogT2JzZXJ2YWJsZTx0aGlzPiB7XG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YXN0b3JlLnNhdmVSZWNvcmQoYXR0cmlidXRlc01ldGFkYXRhLCB0aGlzLCBwYXJhbXMsIGhlYWRlcnMsIGN1c3RvbVVybCwgY3VzdG9tQm9keSk7XG4gIH1cblxuICBwYXRjaChcbiAgICBvcmlnTW9kZWw6IHRoaXMsXG4gICAgcGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTx0aGlzPiB7XG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YXN0b3JlLnBhdGNoUmVjb3JkKGF0dHJpYnV0ZXNNZXRhZGF0YSwgdGhpcywgb3JpZ01vZGVsLCBwYXJhbXMsIGhlYWRlcnMsIGN1c3RvbVVybCk7XG4gIH1cblxuICByZXBsYWNlKFxuICAgIHBhcmFtcz86IGFueSxcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXG4gICAgY3VzdG9tVXJsPzogc3RyaW5nLFxuICAgIGN1c3RvbUJvZHk/OiBhbnkpOiBPYnNlcnZhYmxlPHRoaXM+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xuICAgIHJldHVybiB0aGlzLl9kYXRhc3RvcmUucmVwbGFjZVJlY29yZChhdHRyaWJ1dGVzTWV0YWRhdGEsIHRoaXMsIHBhcmFtcywgaGVhZGVycywgY3VzdG9tVXJsLCBjdXN0b21Cb2R5KTtcbiAgfVxuICBnZXQgYXR0cmlidXRlTWV0YWRhdGEoKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xuICAgIHJldHVybiBhdHRyaWJ1dGVzTWV0YWRhdGE7XG4gIH1cbiAgc2V0IGF0dHJpYnV0ZU1ldGFkYXRhKHZhbDogYW55KSB7XG4gICAgdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV0gPSB2YWw7XG4gIH1cbiAgZ2V0IGhhc0RpcnR5QXR0cmlidXRlcygpIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xuICAgIGxldCBoYXNEaXJ0eUF0dHJpYnV0ZXMgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xuICAgICAgICBjb25zdCBtZXRhZGF0YTogYW55ID0gYXR0cmlidXRlc01ldGFkYXRhW3Byb3BlcnR5TmFtZV07XG5cbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xuICAgICAgICAgIGhhc0RpcnR5QXR0cmlidXRlcyA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhhc0RpcnR5QXR0cmlidXRlcztcbiAgfVxuXG4gIHJvbGxiYWNrQXR0cmlidXRlcygpOiB2b2lkIHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xuICAgIGxldCBtZXRhZGF0YTogYW55O1xuICAgIGZvciAoY29uc3QgcHJvcGVydHlOYW1lIGluIGF0dHJpYnV0ZXNNZXRhZGF0YSkge1xuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5oYXNEaXJ0eUF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5vbGRWYWx1ZTtcbiAgICAgICAgICBtZXRhZGF0YSA9IHtcbiAgICAgICAgICAgIGhhc0RpcnR5QXR0cmlidXRlczogZmFsc2UsXG4gICAgICAgICAgICBuZXdWYWx1ZTogYXR0cmlidXRlc01ldGFkYXRhW3Byb3BlcnR5TmFtZV0ub2xkVmFsdWUsXG4gICAgICAgICAgICBvbGRWYWx1ZTogdW5kZWZpbmVkXG4gICAgICAgICAgfTtcbiAgICAgICAgICBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXSA9IG1ldGFkYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV0gPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XG4gIH1cblxuICBnZXQgbW9kZWxDb25maWcoKTogTW9kZWxDb25maWcge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGRlc2VyaWFsaXplTW9kZWw8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGRhdGE6IGFueSkge1xuICAgIGRhdGEgPSB0aGlzLnRyYW5zZm9ybVNlcmlhbGl6ZWROYW1lc1RvUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUsIGRhdGEpO1xuICAgIHJldHVybiBuZXcgbW9kZWxUeXBlKHRoaXMuX2RhdGFzdG9yZSwgZGF0YSk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXM8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGF0dHJpYnV0ZXM6IGFueSkge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUgPSB0aGlzLmdldE1vZGVsUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUucHJvdG90eXBlKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBhbnkgPSB7fTtcblxuICAgIE9iamVjdC5rZXlzKHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUpLmZvckVhY2goKHNlcmlhbGl6ZWROYW1lKSA9PiB7XG4gICAgICBpZiAoYXR0cmlidXRlc1tzZXJpYWxpemVkTmFtZV0gIT09IG51bGwgJiYgYXR0cmlidXRlc1tzZXJpYWxpemVkTmFtZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9wZXJ0aWVzW3NlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWVbc2VyaWFsaXplZE5hbWVdXSA9IGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsOiBCYXNlTW9kZWwpIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQXR0cmlidXRlTWFwcGluZycsIG1vZGVsKTtcbiAgfVxuICBwdWJsaWMgZ2V0TW9kZWxSZXF1aXJlZFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVSZXF1aXJlZCcsIG1vZGVsKTtcbiAgfVxuICBwdWJsaWMgZ2V0TW9kZWxEZWZhdWx0UHJvcGVydHlWYWx1ZXMobW9kZWw6IEJhc2VNb2RlbCkge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVkZWZhdWx0VmFsdWUnLCBtb2RlbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWxTdWJHcm91cFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVmb3JtU3ViR3JvdXAnLCBtb2RlbCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RnJvbUdyb3VwKGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpOiBVbnR5cGVkRm9ybUdyb3VwIHtcbiAgICBjb25zdCBwcm9wcyA9IE9iamVjdC5rZXlzKHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKHRoaXMpKTtcbiAgICBjb25zdCByZXF1aXJlZFByb3BzID0gdGhpcy5nZXRNb2RlbFJlcXVpcmVkUHJvcGVydHlOYW1lcyh0aGlzKTtcbiAgICBjb25zdCBkZWZhdWx0VmFsdWVzID0gdGhpcy5nZXRNb2RlbERlZmF1bHRQcm9wZXJ0eVZhbHVlcyh0aGlzKTtcbiAgICBjb25zdCBmb3JtU3ViR3JvdXBzVmFsdWVzID0gdGhpcy5nZXRNb2RlbFN1Ykdyb3VwUHJvcGVydHlOYW1lcyh0aGlzKTtcbiAgICBjb25zdCBjb250cm9sc0NvbmZpZzogYW55ID0ge307XG4gICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgaWYgKHByb3BzKSB7XG4gICAgICBwcm9wcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGF0W3Byb3BlcnR5XSAhPT0gdW5kZWZpbmVkID8gdGhhdFtwcm9wZXJ0eV0gOiBkZWZhdWx0VmFsdWVzW3Byb3BlcnR5XTtcbiAgICAgICAgY29uc3QgZm9ybVN1Ykdyb3VwID0gZm9ybVN1Ykdyb3Vwc1ZhbHVlc1twcm9wZXJ0eV0gPz8gbnVsbDtcbiAgICAgICAgaWYgKHJlcXVpcmVkUHJvcHNbcHJvcGVydHldKSB7XG4gICAgICAgICAgaWYgKGZvcm1TdWJHcm91cClcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViRnJvbUdyb3VwKGZiLCBjb250cm9sc0NvbmZpZywgZm9ybVN1Ykdyb3VwKS5hZGRDb250cm9sKHByb3BlcnR5LCBmYi5jb250cm9sKHZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XG4gICAgICAgICAgZWxzZVxuICAgICAgICAgICAgY29udHJvbHNDb25maWdbcHJvcGVydHldID0gW3ZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZm9ybVN1Ykdyb3VwKVxuICAgICAgICAgICAgdGhpcy5nZXRTdWJGcm9tR3JvdXAoZmIsIGNvbnRyb2xzQ29uZmlnLCBmb3JtU3ViR3JvdXApLmFkZENvbnRyb2wocHJvcGVydHksIGZiLmNvbnRyb2wodmFsdWUpKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBjb250cm9sc0NvbmZpZ1twcm9wZXJ0eV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB9XG4gICAgcmV0dXJuIGZiLmdyb3VwKGNvbnRyb2xzQ29uZmlnKTtcbiAgfVxuICBwcml2YXRlIGdldFN1YkZyb21Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBjb250cm9sc0NvbmZpZzogYW55LCBzdWJHcm91cDogc3RyaW5nKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgaWYgKCFjb250cm9sc0NvbmZpZ1tzdWJHcm91cF0pXG4gICAgICBjb250cm9sc0NvbmZpZ1tzdWJHcm91cF0gPSBmYi5ncm91cCh7fSk7XG4gICAgcmV0dXJuIGNvbnRyb2xzQ29uZmlnW3N1Ykdyb3VwXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb2RlbEZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBpZD86IGFueSkge1xuICAgIGNvbnN0IHByb3BzID0gT2JqZWN0LmtleXModGhpcy5nZXRNb2RlbFByb3BlcnR5TmFtZXModGhpcykpO1xuICAgIGNvbnN0IGZvcm1TdWJHcm91cHNWYWx1ZXMgPSB0aGlzLmdldE1vZGVsU3ViR3JvdXBQcm9wZXJ0eU5hbWVzKHRoaXMpO1xuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xuICAgIGlmIChpZCkge1xuICAgICAgZGF0YS5pZCA9IGlkO1xuICAgIH1cbiAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICBpZiAocHJvcHMpIHtcbiAgICAgIHByb3BzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtU3ViR3JvdXAgPSBmb3JtU3ViR3JvdXBzVmFsdWVzW3Byb3BlcnR5XSA/PyBudWxsO1xuICAgICAgICBpZiAoIWZvcm1TdWJHcm91cClcbiAgICAgICAgICBkYXRhW3Byb3BlcnR5XSA9IGZvcm1Hcm91cC5jb250cm9sc1twcm9wZXJ0eV0udmFsdWUgPz8gbnVsbDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGRhdGFbcHJvcGVydHldID0gKGZvcm1Hcm91cC5jb250cm9sc1tmb3JtU3ViR3JvdXBdIGFzIFVudHlwZWRGb3JtR3JvdXApLmNvbnRyb2xzW3Byb3BlcnR5XS52YWx1ZSA/PyBudWxsO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBpZiAoaWQpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgfVxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuIFxuXG4gIHB1YmxpYyBnZXRTZXJpYWxpemVkTW9kZWwoKSB7XG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcbiAgICByZXR1cm4gdGhpcy5fZGF0YXN0b3JlLm1vZGVsVG9FbnRpdHkodGhpcywgYXR0cmlidXRlc01ldGFkYXRhLCB0cnVlKTtcbiAgfVxuICBnZXRDZWxsQ2xhc3MocHJvcGVydHk6IHN0cmluZykge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIl19
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export class ErrorResponse {
|
2
|
+
constructor(errors) {
|
3
|
+
this.errors = [];
|
4
|
+
if (errors) {
|
5
|
+
this.errors = errors;
|
6
|
+
}
|
7
|
+
}
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL21vZGVscy9lcnJvci1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFZLE1BQXlCO1FBRnJDLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBRzVCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDdEI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEpzb25CYXNlRXJyb3Ige1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGxpbmtzID86IEFycmF5PGFueT47XHJcbiAgc3RhdHVzID86IHN0cmluZztcclxuICBjb2RlID86IHN0cmluZztcclxuICB0aXRsZSA/OiBzdHJpbmc7XHJcbiAgZGV0YWlsID86IHN0cmluZztcclxuICBzb3VyY2UgPzoge1xyXG4gICAgcG9pbnRlciA/OiBzdHJpbmc7XHJcbiAgICBwYXJhbWV0ZXIgPzogc3RyaW5nXHJcbiAgfTtcclxuICBtZXRhID86IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEVycm9yUmVzcG9uc2Uge1xyXG4gIGVycm9ycz86IEpzb25CYXNlRXJyb3JbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihlcnJvcnMgPzogSnNvbkJhc2VFcnJvcltdKSB7XHJcbiAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export class Rule {
|
2
|
+
constructor() {
|
3
|
+
this.parameters = [];
|
4
|
+
}
|
5
|
+
}
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLElBQUk7SUFBakI7UUFHSSxlQUFVLEdBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSdWxlIHtcbiAgICBydWxlOiBhbnk7XG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICBwYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xufVxuIl19
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class Nl2brPipe {
|
4
|
+
transform(value, args) {
|
5
|
+
// return value.replace(/\n/g, '<br />');
|
6
|
+
if (value) {
|
7
|
+
value = value.replace(/(?:\r\n\r\n|\r\r|\n\n)/g, '</p><p>');
|
8
|
+
return '<p>' + value.replace(/(?:\r\n|\r|\n)/g, '<br>') + '</p>';
|
9
|
+
}
|
10
|
+
return value;
|
11
|
+
}
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Nl2brPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: Nl2brPipe, name: "nl2br" }); }
|
14
|
+
}
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Nl2brPipe, decorators: [{
|
16
|
+
type: Pipe,
|
17
|
+
args: [{
|
18
|
+
name: 'nl2br'
|
19
|
+
}]
|
20
|
+
}] });
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmwyYnJQaXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3BpcGVzL05sMmJyUGlwZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUVwQixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVU7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDNUQsT0FBTyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7U0FDbEU7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBVFUsU0FBUzs0R0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxPQUFPO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdubDJicidcclxufSlcclxuZXhwb3J0IGNsYXNzIE5sMmJyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgYXJncz86IGFueSk6IGFueSB7XHJcbiAgICAvLyByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFxuL2csICc8YnIgLz4nKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoLyg/OlxcclxcblxcclxcbnxcXHJcXHJ8XFxuXFxuKS9nLCAnPC9wPjxwPicpO1xyXG4gICAgICByZXR1cm4gJzxwPicgKyB2YWx1ZS5yZXBsYWNlKC8oPzpcXHJcXG58XFxyfFxcbikvZywgJzxicj4nKSArICc8L3A+JztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn0iXX0=
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import { TranslateService } from '@ngx-translate/core';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@ngx-translate/core";
|
5
|
+
export class InputErrorPipe {
|
6
|
+
constructor(translate) {
|
7
|
+
this.translate = translate;
|
8
|
+
}
|
9
|
+
transform(value, filedTranslationKey) {
|
10
|
+
let rvalue = '';
|
11
|
+
if (value !== null) {
|
12
|
+
if (value['invalid'] === true) {
|
13
|
+
rvalue = 'ERROR.INVALID';
|
14
|
+
}
|
15
|
+
if (value['mustMatch'] === true) {
|
16
|
+
rvalue = 'Account.Password.MustMach';
|
17
|
+
}
|
18
|
+
if (value['required'] === true) {
|
19
|
+
const field = this.translate.instant(filedTranslationKey.field);
|
20
|
+
rvalue = this.translate.instant('General.Field.Required', { field });
|
21
|
+
}
|
22
|
+
if (value['minlength']) {
|
23
|
+
const field = this.translate.instant(filedTranslationKey.field);
|
24
|
+
rvalue = this.translate.instant('General.Field.MinLength', { field, requiredLength: value.minlength.requiredLength });
|
25
|
+
}
|
26
|
+
}
|
27
|
+
return rvalue;
|
28
|
+
}
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: InputErrorPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
30
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: InputErrorPipe, name: "inputError" }); }
|
31
|
+
}
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: InputErrorPipe, decorators: [{
|
33
|
+
type: Pipe,
|
34
|
+
args: [{
|
35
|
+
name: 'inputError'
|
36
|
+
}]
|
37
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvcGlwZXMvaW5wdXQtZXJyb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQXNCLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRWpELENBQUM7SUFDRCxTQUFTLENBQUMsS0FBVSxFQUFFLG1CQUF3QjtRQUM1QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2xCLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDN0IsTUFBTSxHQUFHLGVBQWUsQ0FBQzthQUMxQjtZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDL0IsTUFBTSxHQUFHLDJCQUEyQixDQUFDO2FBQ3RDO1lBQ0QsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUN0RTtZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7YUFDdkg7U0FDRjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBdkJVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnaW5wdXRFcnJvcidcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RXJyb3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG5cclxuICB9XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGZpbGVkVHJhbnNsYXRpb25LZXk6IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcnZhbHVlID0gJyc7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgaWYgKHZhbHVlWydpbnZhbGlkJ10gPT09IHRydWUpIHtcclxuICAgICAgICBydmFsdWUgPSAnRVJST1IuSU5WQUxJRCc7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbHVlWydtdXN0TWF0Y2gnXSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJ2YWx1ZSA9ICdBY2NvdW50LlBhc3N3b3JkLk11c3RNYWNoJztcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWVbJ3JlcXVpcmVkJ10gPT09IHRydWUpIHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZmlsZWRUcmFuc2xhdGlvbktleS5maWVsZCk7XHJcbiAgICAgICAgcnZhbHVlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR2VuZXJhbC5GaWVsZC5SZXF1aXJlZCcsIHsgZmllbGQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbHVlWydtaW5sZW5ndGgnXSkge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChmaWxlZFRyYW5zbGF0aW9uS2V5LmZpZWxkKTtcclxuICAgICAgICBydmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkZpZWxkLk1pbkxlbmd0aCcsIHsgZmllbGQsIHJlcXVpcmVkTGVuZ3RoOiB2YWx1ZS5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGggfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBydmFsdWU7XHJcbiAgfVxyXG5cclxufSJdfQ==
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { DatePipe, DecimalPipe, PercentPipe } from '@angular/common';
|
2
|
+
import { BaseDatastore } from './services/base-datastore.service';
|
3
|
+
import { DatastoreCore } from './services/datastore.service';
|
4
|
+
export * from './services';
|
5
|
+
export const PROVIDERS = [
|
6
|
+
BaseDatastore,
|
7
|
+
DatastoreCore,
|
8
|
+
DatePipe,
|
9
|
+
DecimalPipe,
|
10
|
+
PercentPipe,
|
11
|
+
];
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxjQUFjLFlBQVksQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVU7SUFDOUIsYUFBYTtJQUNiLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztJQUNYLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJhc2VEYXRhc3RvcmUgfSBmcm9tICcuL3NlcnZpY2VzL2Jhc2UtZGF0YXN0b3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc3RvcmVDb3JlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kYXRhc3RvcmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBST1ZJREVSUzogYW55W10gPSBbXHJcbiAgQmFzZURhdGFzdG9yZSxcclxuICBEYXRhc3RvcmVDb3JlLFxyXG4gIERhdGVQaXBlLFxyXG4gIERlY2ltYWxQaXBlLFxyXG4gIFBlcmNlbnRQaXBlLFxyXG5dO1xyXG4iXX0=
|