@rosoftlab/core 1.0.0-alpha-19 → 1.0.1-alpha-2
Sign up to get free protection for your applications and to get access to all the features.
- package/fesm2022/rosoftlab-core.mjs +49 -46
- package/fesm2022/rosoftlab-core.mjs.map +1 -1
- package/package.json +1 -3
- package/esm2022/lib/base-components/base-form-edit.component.mjs +0 -241
- package/esm2022/lib/base-components/field-error-display/field-error-display.component.mjs +0 -15
- package/esm2022/lib/base-components/index.mjs +0 -4
- package/esm2022/lib/base-components/page-not-found/page-not-found.component.mjs +0 -15
- package/esm2022/lib/base-components/under-construction/under-construction.component.mjs +0 -12
- package/esm2022/lib/configurations.mjs +0 -8
- package/esm2022/lib/constants/symbols.mjs +0 -3
- package/esm2022/lib/converters/date/date.converter.mjs +0 -20
- package/esm2022/lib/core.mjs +0 -9
- package/esm2022/lib/decorators/attribute.decorator.mjs +0 -87
- package/esm2022/lib/decorators/base-datastore-config.decorator.mjs +0 -7
- package/esm2022/lib/decorators/base-model-config.decorator.mjs +0 -10
- package/esm2022/lib/decorators/custom.type.decorator.mjs +0 -11
- package/esm2022/lib/grid-layout-format.enum.mjs +0 -15
- package/esm2022/lib/index.mjs +0 -24
- package/esm2022/lib/interceptors/cache.interceptor.mjs +0 -52
- package/esm2022/lib/interceptors/index.mjs +0 -2
- package/esm2022/lib/interfaces/attribute-decorator-options.interface.mjs +0 -2
- package/esm2022/lib/interfaces/datastore-config.interface.mjs +0 -2
- package/esm2022/lib/interfaces/model-config.interface.mjs +0 -2
- package/esm2022/lib/interfaces/overrides.interface.mjs +0 -2
- package/esm2022/lib/interfaces/property-converter.interface.mjs +0 -2
- package/esm2022/lib/models/base-meta.model.mjs +0 -7
- package/esm2022/lib/models/base-query-data.mjs +0 -13
- package/esm2022/lib/models/base.model.mjs +0 -158
- package/esm2022/lib/models/error-response.model.mjs +0 -9
- package/esm2022/lib/models/rule.mjs +0 -6
- package/esm2022/lib/pipes/Nl2brPipe.pipe.mjs +0 -21
- package/esm2022/lib/pipes/input-error.pipe.mjs +0 -38
- package/esm2022/lib/providers.mjs +0 -12
- package/esm2022/lib/resolvers/dynamically-class-resolver.mjs +0 -22
- package/esm2022/lib/resolvers/dynamically-service-resolver.mjs +0 -22
- package/esm2022/lib/resolvers/index.mjs +0 -3
- package/esm2022/lib/rsl-base-module.mjs +0 -64
- package/esm2022/lib/services/base-datastore.service.mjs +0 -342
- package/esm2022/lib/services/base.service.mjs +0 -99
- package/esm2022/lib/services/cache.service.mjs +0 -35
- package/esm2022/lib/services/datastore.service.mjs +0 -33
- package/esm2022/lib/services/dialog.service.mjs +0 -2
- package/esm2022/lib/services/index.mjs +0 -7
- package/esm2022/lib/services/translate-loader.service.mjs +0 -33
- package/esm2022/lib/utils.mjs +0 -27
- package/esm2022/lib/validators/pattern-validator.mjs +0 -15
- package/esm2022/public-api.mjs +0 -5
- package/esm2022/rosoftlab-core.mjs +0 -5
@@ -1,52 +0,0 @@
|
|
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: "18.2.9", 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: "18.2.9", ngImport: i0, type: CacheInterceptor }); }
|
45
|
-
}
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CacheInterceptor, decorators: [{
|
47
|
-
type: Injectable
|
48
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
49
|
-
type: Inject,
|
50
|
-
args: ['CACHE_EXPIRATION_TIME']
|
51
|
-
}] }, { type: i1.CacheService }] });
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9jYWNoZS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR3pELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBcUQsY0FBc0IsRUFDakUsWUFBMEI7UUFEaUIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDakUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFINUIsVUFBSyxHQUFxRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBR3BELENBQUM7SUFFekMsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDO1FBRS9ELElBQUksV0FBVyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyx3QkFBd0I7WUFDMUIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNaLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixrREFBa0Q7UUFFbEQsMERBQTBEO1FBQzFELDRDQUE0QztRQUM1QyxJQUFJO1FBRUosb0NBQW9DO1FBQ3BDLG1CQUFtQjtRQUNuQiwyQ0FBMkM7UUFDM0MsZ0hBQWdIO1FBQ2hILFFBQVE7UUFDUixPQUFPO1FBQ1AsS0FBSztJQUNQLENBQUM7OEdBMUNVLGdCQUFnQixrQkFHUCx1QkFBdUI7a0hBSGhDLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBSUksTUFBTTsyQkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NhY2hlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FjaGVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcHJpdmF0ZSBjYWNoZTogTWFwPHN0cmluZywgeyByZXNwb25zZTogSHR0cFJlc3BvbnNlPGFueT4sIGV4cGlyYXRpb246IG51bWJlciB9PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdCgnQ0FDSEVfRVhQSVJBVElPTl9USU1FJykgcHJpdmF0ZSBleHBpcmF0aW9uVGltZTogbnVtYmVyLFxyXG4gICAgcHJpdmF0ZSBjYWNoZVNlcnZpY2U6IENhY2hlU2VydmljZSkgeyB9XHJcblxyXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGNvbnN0IGJ5cGFzc0NhY2hlID0gcmVxdWVzdC5wYXJhbXMuZ2V0KCdieXBhc3NDYWNoZScpIHx8IGZhbHNlO1xyXG5cclxuICAgIGlmIChieXBhc3NDYWNoZSB8fCByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghYnlwYXNzQ2FjaGUpIHtcclxuICAgICAgY29uc3QgY2FjaGVkUmVzcG9uc2UgPSB0aGlzLmNhY2hlU2VydmljZS5nZXQocmVxdWVzdC51cmxXaXRoUGFyYW1zKTtcclxuICAgICAgaWYgKGNhY2hlZFJlc3BvbnNlKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGNhY2hlZFJlc3BvbnNlLmNsb25lKCkpO1xyXG4gICAgICAgIC8vcmV0dXJuIGNhY2hlZFJlc3BvbnNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXHJcbiAgICAgIHRhcCgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLnNldChyZXF1ZXN0LnVybFdpdGhQYXJhbXMsIGV2ZW50LmNsb25lKCksIHRoaXMuZXhwaXJhdGlvblRpbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgLy8gY29uc3QgY2FjaGVkSXRlbSA9IHRoaXMuY2FjaGUuZ2V0KHJlcXVlc3QudXJsKTtcclxuXHJcbiAgICAvLyBpZiAoY2FjaGVkSXRlbSAmJiBjYWNoZWRJdGVtLmV4cGlyYXRpb24gPiBEYXRlLm5vdygpKSB7XHJcbiAgICAvLyAgIHJldHVybiBvZihjYWNoZWRJdGVtLnJlc3BvbnNlLmNsb25lKCkpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgLy8gICB0YXAoZXZlbnQgPT4ge1xyXG4gICAgLy8gICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgLy8gICAgICAgdGhpcy5jYWNoZS5zZXQocmVxdWVzdC51cmwsIHsgcmVzcG9uc2U6IGV2ZW50LmNsb25lKCksIGV4cGlyYXRpb246IERhdGUubm93KCkgKyB0aGlzLmV4cGlyYXRpb25UaW1lIH0pO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vICk7XHJcbiAgfVxyXG59Il19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export * from './cache.interceptor';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZS5pbnRlcmNlcHRvcic7XHJcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWRlY29yYXRvci1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9hdHRyaWJ1dGUtZGVjb3JhdG9yLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9wZXJ0eUNvbnZlcnRlciB9IGZyb20gJy4vcHJvcGVydHktY29udmVydGVyLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZURlY29yYXRvck9wdGlvbnMge1xyXG4gIHNlcmlhbGl6ZWROYW1lPzogc3RyaW5nO1xyXG4gIGNvbnZlcnRlcj86IFByb3BlcnR5Q29udmVydGVyO1xyXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICBkZWZhdWx0VmFsdWU/OiBhbnk7XHJcbiAgZm9ybVN1Ykdyb3VwPzogc3RyaW5nXHJcbn1cclxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL2ludGVyZmFjZXMvZGF0YXN0b3JlLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJyaWRlcyB9IGZyb20gJy4vb3ZlcnJpZGVzLmludGVyZmFjZSc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc3RvcmVDb25maWcge1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBtb2RlbHM/OiBvYmplY3Q7XG4gIG92ZXJyaWRlcz86IE92ZXJyaWRlcztcbiAgbW9jaz86IGJvb2xlYW47XG59XG4iXX0=
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTWV0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtbWV0YS5tb2RlbCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQ29uZmlnIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgYXBpVmVyc2lvbj86IHN0cmluZztcclxuICBiYXNlVXJsPzogc3RyaW5nO1xyXG4gIG1vZGVsRW5kcG9pbnRVcmw/OiBzdHJpbmc7XHJcbiAgbWV0YT86IEJhc2VNZXRhTW9kZWw7XHJcbiAgZm9ybVRpdGxlOiBzdHJpbmc7XHJcbiAgYnlwYXNzQ2FjaGU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9vdmVycmlkZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE92ZXJyaWRlcyB7XG4gIGdldERpcnR5QXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgZ2V0QWxsQXR0cmlidXRlcz86IChhdHRyaWJ1dGVkTWV0YWRhdGE6IGFueSwgbW9kZWw/OiBhbnkpID0+IG9iamVjdDtcbiAgdG9RdWVyeVN0cmluZz86IChwYXJhbXM6IGFueSkgPT4gc3RyaW5nO1xufVxuIl19
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktY29udmVydGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvaW50ZXJmYWNlcy9wcm9wZXJ0eS1jb252ZXJ0ZXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFByb3BlcnR5Q29udmVydGVyIHtcclxuICBtYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbiAgdW5tYXNrKHZhbHVlOiBhbnkpOiBhbnk7XHJcbn1cclxuIl19
|
@@ -1,7 +0,0 @@
|
|
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==
|
@@ -1,13 +0,0 @@
|
|
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==
|
@@ -1,158 +0,0 @@
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL2Jhc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sU0FBUztJQUtwQix5Q0FBeUM7SUFDekMsWUFBc0IsVUFBeUIsRUFBRSxJQUFVO1FBQXJDLGVBQVUsR0FBVixVQUFVLENBQWU7UUFDN0MsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNaLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQ0YsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCLEVBQ2xCLFVBQWdCO1FBQ2hCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELEtBQUssQ0FDSCxTQUFlLEVBQ2YsTUFBWSxFQUNaLE9BQXFCLEVBQ3JCLFNBQWtCO1FBRWxCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0Is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QzdHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2YsQ0FBQztZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDSCxDQUFDO0lBSU0sa0JBQWtCO1FBQ3ZCLE1BQU0sa0JBQWtCLEdBQVEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFnQjtRQUMzQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXR0cmlidXRlTWV0YWRhdGEgfSBmcm9tICcuLi9jb25zdGFudHMvc3ltYm9scyc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSwgTW9kZWxUeXBlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZSc7XHJcbmV4cG9ydCBjbGFzcyBCYXNlTW9kZWwge1xyXG4gIHB1YmxpYyBoaWdobGlnaHRlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgaWQ6IGFueTtcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kYXRhc3RvcmU6IEJhc2VEYXRhc3RvcmUsIGRhdGE/OiBhbnkpIHtcclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIGlmIChkYXRhLmlkKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICAgIH1cclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNhdmUoXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55KTogT2JzZXJ2YWJsZTx0aGlzPiB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGFzdG9yZS5zYXZlUmVjb3JkKGF0dHJpYnV0ZXNNZXRhZGF0YSwgdGhpcywgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwsIGN1c3RvbUJvZHkpO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2goXHJcbiAgICBvcmlnTW9kZWw6IHRoaXMsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHRoaXM+IHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55ID0gdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV07XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YXN0b3JlLnBhdGNoUmVjb3JkKGF0dHJpYnV0ZXNNZXRhZGF0YSwgdGhpcywgb3JpZ01vZGVsLCBwYXJhbXMsIGhlYWRlcnMsIGN1c3RvbVVybCk7XHJcbiAgfVxyXG5cclxuICByZXBsYWNlKFxyXG4gICAgcGFyYW1zPzogYW55LFxyXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxyXG4gICAgY3VzdG9tVXJsPzogc3RyaW5nLFxyXG4gICAgY3VzdG9tQm9keT86IGFueSk6IE9ic2VydmFibGU8dGhpcz4ge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhc3RvcmUucmVwbGFjZVJlY29yZChhdHRyaWJ1dGVzTWV0YWRhdGEsIHRoaXMsIHBhcmFtcywgaGVhZGVycywgY3VzdG9tVXJsLCBjdXN0b21Cb2R5KTtcclxuICB9XHJcbiAgZ2V0IGF0dHJpYnV0ZU1ldGFkYXRhKCk6IGFueSB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSA9IHRoaXNbQXR0cmlidXRlTWV0YWRhdGFdO1xyXG4gICAgcmV0dXJuIGF0dHJpYnV0ZXNNZXRhZGF0YTtcclxuICB9XHJcbiAgc2V0IGF0dHJpYnV0ZU1ldGFkYXRhKHZhbDogYW55KSB7XHJcbiAgICB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXSA9IHZhbDtcclxuICB9XHJcbiAgZ2V0IGhhc0RpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55ID0gdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV07XHJcbiAgICBsZXQgaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG5cclxuICAgICAgICBpZiAobWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgICBoYXNEaXJ0eUF0dHJpYnV0ZXMgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzRGlydHlBdHRyaWJ1dGVzO1xyXG4gIH1cclxuXHJcbiAgcm9sbGJhY2tBdHRyaWJ1dGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIGxldCBtZXRhZGF0YTogYW55O1xyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5oYXNEaXJ0eUF0dHJpYnV0ZXMpIHtcclxuICAgICAgICAgIHRoaXNbcHJvcGVydHlOYW1lXSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdLm9sZFZhbHVlO1xyXG4gICAgICAgICAgbWV0YWRhdGEgPSB7XHJcbiAgICAgICAgICAgIGhhc0RpcnR5QXR0cmlidXRlczogZmFsc2UsXHJcbiAgICAgICAgICAgIG5ld1ZhbHVlOiBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXS5vbGRWYWx1ZSxcclxuICAgICAgICAgICAgb2xkVmFsdWU6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdID0gbWV0YWRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpc1tBdHRyaWJ1dGVNZXRhZGF0YV0gPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgbW9kZWxDb25maWcoKTogTW9kZWxDb25maWcge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIHRoaXMuY29uc3RydWN0b3IpO1xyXG4gIH1cclxuXHJcblxyXG4gIHByb3RlY3RlZCBkZXNlcmlhbGl6ZU1vZGVsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhOiBhbnkpIHtcclxuICAgIGRhdGEgPSB0aGlzLnRyYW5zZm9ybVNlcmlhbGl6ZWROYW1lc1RvUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUsIGRhdGEpO1xyXG4gICAgcmV0dXJuIG5ldyBtb2RlbFR5cGUodGhpcy5fZGF0YXN0b3JlLCBkYXRhKTtcclxuICB9XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNmb3JtU2VyaWFsaXplZE5hbWVzVG9Qcm9wZXJ0eU5hbWVzPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBhdHRyaWJ1dGVzOiBhbnkpIHtcclxuICAgIGNvbnN0IHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUgPSB0aGlzLmdldE1vZGVsUHJvcGVydHlOYW1lcyhtb2RlbFR5cGUucHJvdG90eXBlKTtcclxuICAgIGNvbnN0IHByb3BlcnRpZXM6IGFueSA9IHt9O1xyXG5cclxuICAgIE9iamVjdC5rZXlzKHNlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWUpLmZvckVhY2goKHNlcmlhbGl6ZWROYW1lKSA9PiB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXSAhPT0gbnVsbCAmJiBhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcHJvcGVydGllc1tzZXJpYWxpemVkTmFtZVRvUHJvcGVydHlOYW1lW3NlcmlhbGl6ZWROYW1lXV0gPSBhdHRyaWJ1dGVzW3NlcmlhbGl6ZWROYW1lXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHByb3BlcnRpZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsOiBCYXNlTW9kZWwpIHtcclxuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdBdHRyaWJ1dGVNYXBwaW5nJywgbW9kZWwpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0TW9kZWxSZXF1aXJlZFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZVJlcXVpcmVkJywgbW9kZWwpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0TW9kZWxEZWZhdWx0UHJvcGVydHlWYWx1ZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZWRlZmF1bHRWYWx1ZScsIG1vZGVsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb2RlbFN1Ykdyb3VwUHJvcGVydHlOYW1lcyhtb2RlbDogQmFzZU1vZGVsKSB7XHJcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnQXR0cmlidXRlZm9ybVN1Ykdyb3VwJywgbW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEZyb21Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBwcm9wcyA9IE9iamVjdC5rZXlzKHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKHRoaXMpKTtcclxuICAgIGNvbnN0IHJlcXVpcmVkUHJvcHMgPSB0aGlzLmdldE1vZGVsUmVxdWlyZWRQcm9wZXJ0eU5hbWVzKHRoaXMpO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHRoaXMuZ2V0TW9kZWxEZWZhdWx0UHJvcGVydHlWYWx1ZXModGhpcyk7XHJcbiAgICBjb25zdCBmb3JtU3ViR3JvdXBzVmFsdWVzID0gdGhpcy5nZXRNb2RlbFN1Ykdyb3VwUHJvcGVydHlOYW1lcyh0aGlzKTtcclxuICAgIGNvbnN0IGNvbnRyb2xzQ29uZmlnOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgaWYgKHByb3BzKSB7XHJcbiAgICAgIHByb3BzLmZvckVhY2gocHJvcGVydHkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhhdFtwcm9wZXJ0eV0gIT09IHVuZGVmaW5lZCA/IHRoYXRbcHJvcGVydHldIDogZGVmYXVsdFZhbHVlc1twcm9wZXJ0eV07XHJcbiAgICAgICAgY29uc3QgZm9ybVN1Ykdyb3VwID0gZm9ybVN1Ykdyb3Vwc1ZhbHVlc1twcm9wZXJ0eV0gPz8gbnVsbDtcclxuICAgICAgICBpZiAocmVxdWlyZWRQcm9wc1twcm9wZXJ0eV0pIHtcclxuICAgICAgICAgIGlmIChmb3JtU3ViR3JvdXApXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViRnJvbUdyb3VwKGZiLCBjb250cm9sc0NvbmZpZywgZm9ybVN1Ykdyb3VwKS5hZGRDb250cm9sKHByb3BlcnR5LCBmYi5jb250cm9sKHZhbHVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnRyb2xzQ29uZmlnW3Byb3BlcnR5XSA9IFt2YWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChmb3JtU3ViR3JvdXApXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U3ViRnJvbUdyb3VwKGZiLCBjb250cm9sc0NvbmZpZywgZm9ybVN1Ykdyb3VwKS5hZGRDb250cm9sKHByb3BlcnR5LCBmYi5jb250cm9sKHZhbHVlKSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnRyb2xzQ29uZmlnW3Byb3BlcnR5XSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZiLmdyb3VwKGNvbnRyb2xzQ29uZmlnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRTdWJGcm9tR3JvdXAoZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgY29udHJvbHNDb25maWc6IGFueSwgc3ViR3JvdXA6IHN0cmluZyk6IFVudHlwZWRGb3JtR3JvdXAge1xyXG4gICAgaWYgKCFjb250cm9sc0NvbmZpZ1tzdWJHcm91cF0pXHJcbiAgICAgIGNvbnRyb2xzQ29uZmlnW3N1Ykdyb3VwXSA9IGZiLmdyb3VwKHt9KTtcclxuICAgIHJldHVybiBjb250cm9sc0NvbmZpZ1tzdWJHcm91cF07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9kZWxGcm9tRm9ybUdyb3VwKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgaWQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IHByb3BzID0gT2JqZWN0LmtleXModGhpcy5nZXRNb2RlbFByb3BlcnR5TmFtZXModGhpcykpO1xyXG4gICAgY29uc3QgZm9ybVN1Ykdyb3Vwc1ZhbHVlcyA9IHRoaXMuZ2V0TW9kZWxTdWJHcm91cFByb3BlcnR5TmFtZXModGhpcyk7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7fTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICBkYXRhLmlkID0gaWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcclxuICAgIGlmIChwcm9wcykge1xyXG4gICAgICBwcm9wcy5mb3JFYWNoKHByb3BlcnR5ID0+IHtcclxuICAgICAgICBjb25zdCBmb3JtU3ViR3JvdXAgPSBmb3JtU3ViR3JvdXBzVmFsdWVzW3Byb3BlcnR5XSA/PyBudWxsO1xyXG4gICAgICAgIGlmICghZm9ybVN1Ykdyb3VwKVxyXG4gICAgICAgICAgZGF0YVtwcm9wZXJ0eV0gPSBmb3JtR3JvdXAuY29udHJvbHNbcHJvcGVydHldLnZhbHVlID8/IG51bGw7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgZGF0YVtwcm9wZXJ0eV0gPSAoZm9ybUdyb3VwLmNvbnRyb2xzW2Zvcm1TdWJHcm91cF0gYXMgVW50eXBlZEZvcm1Hcm91cCkuY29udHJvbHNbcHJvcGVydHldLnZhbHVlID8/IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgICB9XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIFxyXG5cclxuICBwdWJsaWMgZ2V0U2VyaWFsaXplZE1vZGVsKCkge1xyXG4gICAgY29uc3QgYXR0cmlidXRlc01ldGFkYXRhOiBhbnkgPSB0aGlzW0F0dHJpYnV0ZU1ldGFkYXRhXTtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhc3RvcmUubW9kZWxUb0VudGl0eSh0aGlzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIHRydWUpO1xyXG4gIH1cclxuICBnZXRDZWxsQ2xhc3MocHJvcGVydHk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,9 +0,0 @@
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL21vZGVscy9lcnJvci1yZXNwb25zZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFZLE1BQXlCO1FBRnJDLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBRzVCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBKc29uQmFzZUVycm9yIHtcclxuICBpZD86IHN0cmluZztcclxuICBsaW5rcyA/OiBBcnJheTxhbnk+O1xyXG4gIHN0YXR1cyA/OiBzdHJpbmc7XHJcbiAgY29kZSA/OiBzdHJpbmc7XHJcbiAgdGl0bGUgPzogc3RyaW5nO1xyXG4gIGRldGFpbCA/OiBzdHJpbmc7XHJcbiAgc291cmNlID86IHtcclxuICAgIHBvaW50ZXIgPzogc3RyaW5nO1xyXG4gICAgcGFyYW1ldGVyID86IHN0cmluZ1xyXG4gIH07XHJcbiAgbWV0YSA/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvclJlc3BvbnNlIHtcclxuICBlcnJvcnM/OiBKc29uQmFzZUVycm9yW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZXJyb3JzID86IEpzb25CYXNlRXJyb3JbXSkge1xyXG4gICAgaWYgKGVycm9ycykge1xyXG4gICAgICB0aGlzLmVycm9ycyA9IGVycm9ycztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export class Rule {
|
2
|
-
constructor() {
|
3
|
-
this.parameters = [];
|
4
|
-
}
|
5
|
-
}
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvbW9kZWxzL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLElBQUk7SUFBakI7UUFHSSxlQUFVLEdBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSdWxlIHtcbiAgICBydWxlOiBhbnk7XG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICBwYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtdO1xufVxuIl19
|
@@ -1,21 +0,0 @@
|
|
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: "18.2.9", ngImport: i0, type: Nl2brPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: Nl2brPipe, name: "nl2br" }); }
|
14
|
-
}
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: Nl2brPipe, decorators: [{
|
16
|
-
type: Pipe,
|
17
|
-
args: [{
|
18
|
-
name: 'nl2br'
|
19
|
-
}]
|
20
|
-
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmwyYnJQaXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3BpcGVzL05sMmJyUGlwZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sU0FBUztJQUVwQixTQUFTLENBQUMsS0FBVSxFQUFFLElBQVU7UUFDOUIseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxPQUFPLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNuRSxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQVRVLFNBQVM7NEdBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFIckIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsT0FBTztpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbmwyYnInXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBObDJiclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gICAgLy8gcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcbi9nLCAnPGJyIC8+Jyk7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8oPzpcXHJcXG5cXHJcXG58XFxyXFxyfFxcblxcbikvZywgJzwvcD48cD4nKTtcclxuICAgICAgcmV0dXJuICc8cD4nICsgdmFsdWUucmVwbGFjZSgvKD86XFxyXFxufFxccnxcXG4pL2csICc8YnI+JykgKyAnPC9wPic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG59Il19
|
@@ -1,38 +0,0 @@
|
|
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: "18.2.9", ngImport: i0, type: InputErrorPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
30
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: InputErrorPipe, name: "inputError" }); }
|
31
|
-
}
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: InputErrorPipe, decorators: [{
|
33
|
-
type: Pipe,
|
34
|
-
args: [{
|
35
|
-
name: 'inputError'
|
36
|
-
}]
|
37
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3IucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvcGlwZXMvaW5wdXQtZXJyb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQXNCLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBRWpELENBQUM7SUFDRCxTQUFTLENBQUMsS0FBVSxFQUFFLG1CQUF3QjtRQUM1QyxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sR0FBRyxlQUFlLENBQUM7WUFDM0IsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNoQyxNQUFNLEdBQUcsMkJBQTJCLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUMvQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEUsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RSxDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hFLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1lBQ3hILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0F2QlUsY0FBYzs0R0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdpbnB1dEVycm9yJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRFcnJvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZmlsZWRUcmFuc2xhdGlvbktleTogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCBydmFsdWUgPSAnJztcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICBpZiAodmFsdWVbJ2ludmFsaWQnXSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJ2YWx1ZSA9ICdFUlJPUi5JTlZBTElEJztcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWVbJ211c3RNYXRjaCddID09PSB0cnVlKSB7XHJcbiAgICAgICAgcnZhbHVlID0gJ0FjY291bnQuUGFzc3dvcmQuTXVzdE1hY2gnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh2YWx1ZVsncmVxdWlyZWQnXSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChmaWxlZFRyYW5zbGF0aW9uS2V5LmZpZWxkKTtcclxuICAgICAgICBydmFsdWUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkZpZWxkLlJlcXVpcmVkJywgeyBmaWVsZCB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodmFsdWVbJ21pbmxlbmd0aCddKSB7XHJcbiAgICAgICAgY29uc3QgZmllbGQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGZpbGVkVHJhbnNsYXRpb25LZXkuZmllbGQpO1xyXG4gICAgICAgIHJ2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyYWwuRmllbGQuTWluTGVuZ3RoJywgeyBmaWVsZCwgcmVxdWlyZWRMZW5ndGg6IHZhbHVlLm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJ2YWx1ZTtcclxuICB9XHJcblxyXG59Il19
|
@@ -1,12 +0,0 @@
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxjQUFjLFlBQVksQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVU7SUFDOUIsYUFBYTtJQUNiLGFBQWE7SUFDYixRQUFRO0lBQ1IsV0FBVztJQUNYLFdBQVc7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBQZXJjZW50UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEJhc2VEYXRhc3RvcmUgfSBmcm9tICcuL3NlcnZpY2VzL2Jhc2UtZGF0YXN0b3JlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc3RvcmVDb3JlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kYXRhc3RvcmUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xyXG5leHBvcnQgY29uc3QgUFJPVklERVJTOiBhbnlbXSA9IFtcclxuICBCYXNlRGF0YXN0b3JlLFxyXG4gIERhdGFzdG9yZUNvcmUsXHJcbiAgRGF0ZVBpcGUsXHJcbiAgRGVjaW1hbFBpcGUsXHJcbiAgUGVyY2VudFBpcGVcclxuXTtcclxuIl19
|
@@ -1,22 +0,0 @@
|
|
1
|
-
export function DynamicallyModelResolver(modelsImport, className = undefined) {
|
2
|
-
return (route, state) => {
|
3
|
-
if (className == undefined)
|
4
|
-
className = route.paramMap.get('className');
|
5
|
-
const instance = getInstance(className, modelsImport);
|
6
|
-
if (!instance) {
|
7
|
-
throw new Error(`Invalid className: ${className}`);
|
8
|
-
}
|
9
|
-
return instance;
|
10
|
-
};
|
11
|
-
}
|
12
|
-
function getInstance(className, modelsImport) {
|
13
|
-
return modelsImport.then((module) => module[toProperCase(className)]);
|
14
|
-
// return modelsImport.then((module) => ({ modelInstance: module[toProperCase(className)] })
|
15
|
-
// );
|
16
|
-
}
|
17
|
-
function toProperCase(str) {
|
18
|
-
return str.replace(/\w\S*/g, (txt) => {
|
19
|
-
return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();
|
20
|
-
});
|
21
|
-
}
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2FsbHktY2xhc3MtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3Jlc29sdmVycy9keW5hbWljYWxseS1jbGFzcy1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsd0JBQXdCLENBQXNCLFlBQWlCLEVBQUUsWUFBZ0MsU0FBUztJQUN0SCxPQUFPLENBQUMsS0FBNkIsRUFBRSxLQUEwQixFQUFFLEVBQUU7UUFDakUsSUFBSSxTQUFTLElBQUksU0FBUztZQUN0QixTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFJLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUksU0FBaUIsRUFBRSxZQUFpQjtJQUN4RCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLDRGQUE0RjtJQUM1RixLQUFLO0FBQ1QsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEdBQVc7SUFDN0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQ3pDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmVGbiwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4uL2NvcmUnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIER5bmFtaWNhbGx5TW9kZWxSZXNvbHZlcjxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbHNJbXBvcnQ6IGFueSwgY2xhc3NOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBSZXNvbHZlRm48VD4ge1xyXG4gICAgcmV0dXJuIChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcclxuICAgICAgICBpZiAoY2xhc3NOYW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgY2xhc3NOYW1lID0gcm91dGUucGFyYW1NYXAuZ2V0KCdjbGFzc05hbWUnKTtcclxuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGdldEluc3RhbmNlPFQ+KGNsYXNzTmFtZSwgbW9kZWxzSW1wb3J0KTtcclxuICAgICAgICBpZiAoIWluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbGFzc05hbWU6ICR7Y2xhc3NOYW1lfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRJbnN0YW5jZTxUPihjbGFzc05hbWU6IHN0cmluZywgbW9kZWxzSW1wb3J0OiBhbnkpOiBQcm9taXNlPFQ+IHtcclxuICAgIHJldHVybiBtb2RlbHNJbXBvcnQudGhlbigobW9kdWxlKSA9PiBtb2R1bGVbdG9Qcm9wZXJDYXNlKGNsYXNzTmFtZSldKTtcclxuICAgIC8vIHJldHVybiBtb2RlbHNJbXBvcnQudGhlbigobW9kdWxlKSA9PiAoeyBtb2RlbEluc3RhbmNlOiBtb2R1bGVbdG9Qcm9wZXJDYXNlKGNsYXNzTmFtZSldIH0pXHJcbiAgICAvLyApO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b1Byb3BlckNhc2Uoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXHdcXFMqL2csICh0eHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHJldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9KTtcclxufVxyXG4iXX0=
|
@@ -1,22 +0,0 @@
|
|
1
|
-
export function DynamicallyServiceResolver(serviceImport, serviceName) {
|
2
|
-
return (route, state) => {
|
3
|
-
const instance = getInstance(serviceName, serviceImport);
|
4
|
-
if (!instance) {
|
5
|
-
throw new Error(`Invalid className: ${serviceName}`);
|
6
|
-
}
|
7
|
-
return instance;
|
8
|
-
};
|
9
|
-
}
|
10
|
-
function getInstance(serviceName, serviceImport) {
|
11
|
-
return serviceImport.then((module) => module[toProperCase(serviceName)]); // return Promise.all([serviceImport]).then(
|
12
|
-
// (module) => ({
|
13
|
-
// serviceInstance: module[toProperCase(serviceName)],
|
14
|
-
// })
|
15
|
-
// );
|
16
|
-
}
|
17
|
-
function toProperCase(str) {
|
18
|
-
return str.replace(/\w\S*/g, (txt) => {
|
19
|
-
return txt.charAt(0).toUpperCase() + txt.substring(1).toLowerCase();
|
20
|
-
});
|
21
|
-
}
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY2FsbHktc2VydmljZS1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL2R5bmFtaWNhbGx5LXNlcnZpY2UtcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLDBCQUEwQixDQUFnRCxhQUFrQixFQUFFLFdBQW1CO0lBQy9ILE9BQU8sQ0FBQyxLQUE2QixFQUFFLEtBQTBCLEVBQUUsRUFBRTtRQUNuRSxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUksV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBSSxXQUFtQixFQUFFLGFBQWtCO0lBQzdELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSw0Q0FBNEM7SUFDdkgsbUJBQW1CO0lBQ25CLDBEQUEwRDtJQUMxRCxPQUFPO0lBQ1AsS0FBSztBQUNQLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQy9CLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUMzQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwsIEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRHluYW1pY2FsbHlTZXJ2aWNlUmVzb2x2ZXI8VCBleHRlbmRzIEJhc2VNb2RlbCwgVSBleHRlbmRzIEJhc2VTZXJ2aWNlPFQ+PihzZXJ2aWNlSW1wb3J0OiBhbnksIHNlcnZpY2VOYW1lOiBzdHJpbmcpOiBSZXNvbHZlRm48VT4ge1xyXG4gIHJldHVybiAocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGdldEluc3RhbmNlPFU+KHNlcnZpY2VOYW1lLCBzZXJ2aWNlSW1wb3J0KTtcclxuICAgIGlmICghaW5zdGFuY2UpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsYXNzTmFtZTogJHtzZXJ2aWNlTmFtZX1gKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpbnN0YW5jZTtcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRJbnN0YW5jZTxVPihzZXJ2aWNlTmFtZTogc3RyaW5nLCBzZXJ2aWNlSW1wb3J0OiBhbnkpOiBQcm9taXNlPFU+IHtcclxuICByZXR1cm4gc2VydmljZUltcG9ydC50aGVuKChtb2R1bGUpID0+IG1vZHVsZVt0b1Byb3BlckNhc2Uoc2VydmljZU5hbWUpXSk7ICAvLyByZXR1cm4gUHJvbWlzZS5hbGwoW3NlcnZpY2VJbXBvcnRdKS50aGVuKFxyXG4gIC8vICAgKG1vZHVsZSkgPT4gKHtcclxuICAvLyAgICAgc2VydmljZUluc3RhbmNlOiBtb2R1bGVbdG9Qcm9wZXJDYXNlKHNlcnZpY2VOYW1lKV0sXHJcbiAgLy8gICB9KVxyXG4gIC8vICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvUHJvcGVyQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXHdcXFMqL2csICh0eHQ6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuIHR4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHR4dC5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKTtcclxuICB9KTtcclxufVxyXG4iXX0=
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export { DynamicallyModelResolver } from './dynamically-class-resolver';
|
2
|
-
export { DynamicallyServiceResolver } from './dynamically-service-resolver';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3Jlc29sdmVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IER5bmFtaWNhbGx5TW9kZWxSZXNvbHZlciB9IGZyb20gJy4vZHluYW1pY2FsbHktY2xhc3MtcmVzb2x2ZXInXHJcbmV4cG9ydCB7IER5bmFtaWNhbGx5U2VydmljZVJlc29sdmVyIH0gZnJvbSAnLi9keW5hbWljYWxseS1zZXJ2aWNlLXJlc29sdmVyJ1xyXG5cclxuIl19
|
@@ -1,64 +0,0 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
|
-
import { HttpClient, HttpClientModule } from '@angular/common/http';
|
3
|
-
import { NgModule } from '@angular/core';
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
5
|
-
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
|
6
|
-
import { Configurations } from './configurations';
|
7
|
-
import { PROVIDERS } from './providers';
|
8
|
-
import { TranslateloaderService } from './services/translate-loader.service';
|
9
|
-
import * as i0 from "@angular/core";
|
10
|
-
import * as i1 from "@ngx-translate/core";
|
11
|
-
export class RslBaseModule {
|
12
|
-
static forRoot(config) {
|
13
|
-
return {
|
14
|
-
ngModule: RslBaseModule,
|
15
|
-
providers: [
|
16
|
-
PROVIDERS,
|
17
|
-
{ provide: Configurations, useValue: config }
|
18
|
-
]
|
19
|
-
};
|
20
|
-
}
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
22
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, imports: [CommonModule, i1.TranslateModule, ReactiveFormsModule], exports: [HttpClientModule,
|
23
|
-
TranslateModule] }); }
|
24
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, providers: [
|
25
|
-
PROVIDERS
|
26
|
-
], imports: [CommonModule,
|
27
|
-
TranslateModule.forRoot({
|
28
|
-
loader: {
|
29
|
-
provide: TranslateLoader,
|
30
|
-
useClass: TranslateloaderService,
|
31
|
-
deps: [HttpClient]
|
32
|
-
},
|
33
|
-
// missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },
|
34
|
-
useDefaultLang: false,
|
35
|
-
}),
|
36
|
-
ReactiveFormsModule, HttpClientModule,
|
37
|
-
TranslateModule] }); }
|
38
|
-
}
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RslBaseModule, decorators: [{
|
40
|
-
type: NgModule,
|
41
|
-
args: [{
|
42
|
-
imports: [
|
43
|
-
CommonModule,
|
44
|
-
TranslateModule.forRoot({
|
45
|
-
loader: {
|
46
|
-
provide: TranslateLoader,
|
47
|
-
useClass: TranslateloaderService,
|
48
|
-
deps: [HttpClient]
|
49
|
-
},
|
50
|
-
// missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },
|
51
|
-
useDefaultLang: false,
|
52
|
-
}),
|
53
|
-
ReactiveFormsModule
|
54
|
-
],
|
55
|
-
providers: [
|
56
|
-
PROVIDERS
|
57
|
-
],
|
58
|
-
exports: [
|
59
|
-
HttpClientModule,
|
60
|
-
TranslateModule,
|
61
|
-
]
|
62
|
-
}]
|
63
|
-
}] });
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWJhc2UtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9yc2wtYmFzZS1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUF3QjdFLE1BQU0sT0FBTyxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBc0I7UUFDMUMsT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVCxTQUFTO2dCQUNULEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzlDO1NBQ0YsQ0FBQztJQUNKLENBQUM7OEdBVFUsYUFBYTsrR0FBYixhQUFhLFlBcEJ0QixZQUFZLHNCQVVaLG1CQUFtQixhQU1uQixnQkFBZ0I7WUFDaEIsZUFBZTsrR0FHTixhQUFhLGFBUmI7WUFDVCxTQUFTO1NBQ1YsWUFkQyxZQUFZO1lBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxlQUFlO29CQUN4QixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ25CO2dCQUNELDRHQUE0RztnQkFDNUcsY0FBYyxFQUFFLEtBQUs7YUFDdEIsQ0FBQztZQUNGLG1CQUFtQixFQU1uQixnQkFBZ0I7WUFDaEIsZUFBZTs7MkZBR04sYUFBYTtrQkF0QnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDdEIsTUFBTSxFQUFFO2dDQUNOLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixRQUFRLEVBQUUsc0JBQXNCO2dDQUNoQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7NkJBQ25COzRCQUNELDRHQUE0Rzs0QkFDNUcsY0FBYyxFQUFFLEtBQUs7eUJBQ3RCLENBQUM7d0JBQ0YsbUJBQW1CO3FCQUNwQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsU0FBUztxQkFDVjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IFBST1ZJREVSUyB9IGZyb20gJy4vcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlbG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBsb2FkZXI6IHtcclxuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICAgICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZWxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgZGVwczogW0h0dHBDbGllbnRdXHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIG1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXI6IHsgcHJvdmlkZTogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgdXNlQ2xhc3M6IE15TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciB9LFxyXG4gICAgICB1c2VEZWZhdWx0TGFuZzogZmFsc2UsXHJcbiAgICB9KSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgUFJPVklERVJTXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJzbEJhc2VNb2R1bGUge1xyXG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZ3VyYXRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxSc2xCYXNlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUnNsQmFzZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgUFJPVklERVJTLFxyXG4gICAgICAgIHsgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|