@stemy/ngx-utils 12.1.1 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/stemy-ngx-utils.umd.js +27 -30
- package/bundles/stemy-ngx-utils.umd.js.map +1 -1
- package/esm2015/ngx-utils/services/config.service.js +4 -4
- package/esm2015/ngx-utils/services/error-handler.service.js +2 -2
- package/esm2015/ngx-utils/services/static-language.service.js +17 -17
- package/esm2015/ngx-utils/services/storage.service.js +4 -4
- package/esm2020/ngx-utils/common-types.mjs +116 -0
- package/esm2020/ngx-utils/components/dynamic-table/dynamic-table.component.mjs +178 -0
- package/esm2020/ngx-utils/components/pagination-menu/pagination-menu.component.mjs +101 -0
- package/esm2020/ngx-utils/components/unordered-list/unordered-list.component.mjs +65 -0
- package/esm2020/ngx-utils/directives/async-method.base.mjs +68 -0
- package/esm2020/ngx-utils/directives/async-method.directive.mjs +28 -0
- package/esm2020/ngx-utils/directives/background.directive.mjs +51 -0
- package/esm2020/ngx-utils/directives/dynamic-table-template.directive.mjs +20 -0
- package/esm2020/ngx-utils/directives/global-template.directive.mjs +30 -0
- package/esm2020/ngx-utils/directives/icon.directive.mjs +67 -0
- package/esm2020/ngx-utils/directives/ngx-template-outlet.directive.mjs +90 -0
- package/esm2020/ngx-utils/directives/pagination-item.directive.mjs +33 -0
- package/esm2020/ngx-utils/directives/pagination.directive.mjs +83 -0
- package/esm2020/ngx-utils/directives/resource-if.directive.mjs +50 -0
- package/esm2020/ngx-utils/directives/sticky-class.directive.mjs +34 -0
- package/esm2020/ngx-utils/directives/sticky.directive.mjs +55 -0
- package/esm2020/ngx-utils/directives/unordered-list-item.directive.mjs +77 -0
- package/esm2020/ngx-utils/directives/unordered-list-template.directive.mjs +26 -0
- package/esm2020/ngx-utils/ngx-utils.module.mjs +321 -0
- package/esm2020/ngx-utils/pipes/chunk.pipe.mjs +25 -0
- package/esm2020/ngx-utils/pipes/entries.pipe.mjs +28 -0
- package/esm2020/ngx-utils/pipes/extra-item-properties.pipe.mjs +31 -0
- package/esm2020/ngx-utils/pipes/filter.pipe.mjs +42 -0
- package/esm2020/ngx-utils/pipes/find.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/format-number.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/get-offset.pipe.mjs +17 -0
- package/esm2020/ngx-utils/pipes/get-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/global-template.pipe.mjs +41 -0
- package/esm2020/ngx-utils/pipes/group-by.pipe.mjs +27 -0
- package/esm2020/ngx-utils/pipes/is-type.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/join.pipe.mjs +19 -0
- package/esm2020/ngx-utils/pipes/keys.pipe.mjs +22 -0
- package/esm2020/ngx-utils/pipes/map.pipe.mjs +29 -0
- package/esm2020/ngx-utils/pipes/max.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/min.pipe.mjs +26 -0
- package/esm2020/ngx-utils/pipes/reduce.pipe.mjs +30 -0
- package/esm2020/ngx-utils/pipes/remap.pipe.mjs +32 -0
- package/esm2020/ngx-utils/pipes/replace.pipe.mjs +16 -0
- package/esm2020/ngx-utils/pipes/reverse.pipe.mjs +24 -0
- package/esm2020/ngx-utils/pipes/round.pipe.mjs +21 -0
- package/esm2020/ngx-utils/pipes/safe-html.pipe.mjs +34 -0
- package/esm2020/ngx-utils/pipes/translate.pipe.mjs +86 -0
- package/esm2020/ngx-utils/pipes/values.pipe.mjs +22 -0
- package/esm2020/ngx-utils/plugins/resize-event.plugin.mjs +59 -0
- package/esm2020/ngx-utils/plugins/scroll-event.plugin.mjs +39 -0
- package/esm2020/ngx-utils/services/acl.service.mjs +81 -0
- package/esm2020/ngx-utils/services/api.service.mjs +38 -0
- package/esm2020/ngx-utils/services/auth.service.mjs +14 -0
- package/esm2020/ngx-utils/services/base-http.client.mjs +47 -0
- package/esm2020/ngx-utils/services/base-http.service.mjs +298 -0
- package/esm2020/ngx-utils/services/config.service.mjs +130 -0
- package/esm2020/ngx-utils/services/error-handler.service.mjs +49 -0
- package/esm2020/ngx-utils/services/events.service.mjs +26 -0
- package/esm2020/ngx-utils/services/formatter.service.mjs +47 -0
- package/esm2020/ngx-utils/services/global-template.service.mjs +37 -0
- package/esm2020/ngx-utils/services/icon.service.mjs +26 -0
- package/esm2020/ngx-utils/services/language.service.mjs +113 -0
- package/esm2020/ngx-utils/services/open-api.service.mjs +40 -0
- package/esm2020/ngx-utils/services/promise.service.mjs +55 -0
- package/esm2020/ngx-utils/services/state.service.mjs +173 -0
- package/esm2020/ngx-utils/services/static-language.service.mjs +166 -0
- package/esm2020/ngx-utils/services/storage.service.mjs +49 -0
- package/esm2020/ngx-utils/services/toaster.service.mjs +32 -0
- package/esm2020/ngx-utils/services/translated-url.serializer.mjs +73 -0
- package/esm2020/ngx-utils/services/universal.service.mjs +78 -0
- package/esm2020/ngx-utils/utils/ajax-request-handler.mjs +40 -0
- package/esm2020/ngx-utils/utils/array.utils.mjs +100 -0
- package/esm2020/ngx-utils/utils/auth.guard.mjs +181 -0
- package/esm2020/ngx-utils/utils/canvas.utils.mjs +388 -0
- package/esm2020/ngx-utils/utils/date.utils.mjs +28 -0
- package/esm2020/ngx-utils/utils/file.utils.mjs +90 -0
- package/esm2020/ngx-utils/utils/generic-value.mjs +20 -0
- package/esm2020/ngx-utils/utils/geometry.mjs +132 -0
- package/esm2020/ngx-utils/utils/initializer.mjs +20 -0
- package/esm2020/ngx-utils/utils/loader.utils.mjs +55 -0
- package/esm2020/ngx-utils/utils/math.utils.mjs +15 -0
- package/esm2020/ngx-utils/utils/object.utils.mjs +261 -0
- package/esm2020/ngx-utils/utils/observable.utils.mjs +63 -0
- package/esm2020/ngx-utils/utils/reflect.utils.mjs +33 -0
- package/esm2020/ngx-utils/utils/set.utils.mjs +20 -0
- package/esm2020/ngx-utils/utils/string.utils.mjs +28 -0
- package/esm2020/ngx-utils/utils/timer.utils.mjs +52 -0
- package/esm2020/ngx-utils/utils/unique.utils.mjs +24 -0
- package/esm2020/ngx-utils/utils/vector.mjs +77 -0
- package/esm2020/public_api.mjs +85 -0
- package/esm2020/stemy-ngx-utils.mjs +5 -0
- package/fesm2015/stemy-ngx-utils.js +23 -23
- package/fesm2015/stemy-ngx-utils.js.map +1 -1
- package/fesm2015/stemy-ngx-utils.mjs +5196 -0
- package/fesm2015/stemy-ngx-utils.mjs.map +1 -0
- package/fesm2020/stemy-ngx-utils.mjs +5127 -0
- package/fesm2020/stemy-ngx-utils.mjs.map +1 -0
- package/ngx-utils/components/dynamic-table/dynamic-table.component.d.ts +3 -0
- package/ngx-utils/components/pagination-menu/pagination-menu.component.d.ts +3 -0
- package/ngx-utils/components/unordered-list/unordered-list.component.d.ts +3 -0
- package/ngx-utils/directives/async-method.base.d.ts +3 -0
- package/ngx-utils/directives/async-method.directive.d.ts +3 -0
- package/ngx-utils/directives/background.directive.d.ts +3 -0
- package/ngx-utils/directives/dynamic-table-template.directive.d.ts +3 -0
- package/ngx-utils/directives/global-template.directive.d.ts +3 -0
- package/ngx-utils/directives/icon.directive.d.ts +3 -0
- package/ngx-utils/directives/ngx-template-outlet.directive.d.ts +3 -0
- package/ngx-utils/directives/pagination-item.directive.d.ts +3 -0
- package/ngx-utils/directives/pagination.directive.d.ts +3 -0
- package/ngx-utils/directives/resource-if.directive.d.ts +3 -0
- package/ngx-utils/directives/sticky-class.directive.d.ts +3 -0
- package/ngx-utils/directives/sticky.directive.d.ts +3 -0
- package/ngx-utils/directives/unordered-list-item.directive.d.ts +3 -0
- package/ngx-utils/directives/unordered-list-template.directive.d.ts +3 -0
- package/ngx-utils/pipes/chunk.pipe.d.ts +3 -0
- package/ngx-utils/pipes/entries.pipe.d.ts +3 -0
- package/ngx-utils/pipes/extra-item-properties.pipe.d.ts +3 -0
- package/ngx-utils/pipes/filter.pipe.d.ts +3 -0
- package/ngx-utils/pipes/find.pipe.d.ts +3 -0
- package/ngx-utils/pipes/format-number.pipe.d.ts +3 -0
- package/ngx-utils/pipes/get-offset.pipe.d.ts +3 -0
- package/ngx-utils/pipes/get-type.pipe.d.ts +3 -0
- package/ngx-utils/pipes/global-template.pipe.d.ts +3 -0
- package/ngx-utils/pipes/group-by.pipe.d.ts +3 -0
- package/ngx-utils/pipes/is-type.pipe.d.ts +3 -0
- package/ngx-utils/pipes/join.pipe.d.ts +3 -0
- package/ngx-utils/pipes/keys.pipe.d.ts +3 -0
- package/ngx-utils/pipes/map.pipe.d.ts +3 -0
- package/ngx-utils/pipes/max.pipe.d.ts +3 -0
- package/ngx-utils/pipes/min.pipe.d.ts +3 -0
- package/ngx-utils/pipes/reduce.pipe.d.ts +3 -0
- package/ngx-utils/pipes/remap.pipe.d.ts +3 -0
- package/ngx-utils/pipes/replace.pipe.d.ts +3 -0
- package/ngx-utils/pipes/reverse.pipe.d.ts +3 -0
- package/ngx-utils/pipes/round.pipe.d.ts +3 -0
- package/ngx-utils/pipes/safe-html.pipe.d.ts +3 -0
- package/ngx-utils/pipes/translate.pipe.d.ts +4 -0
- package/ngx-utils/pipes/values.pipe.d.ts +3 -0
- package/ngx-utils/plugins/resize-event.plugin.d.ts +4 -1
- package/ngx-utils/plugins/scroll-event.plugin.d.ts +4 -1
- package/ngx-utils/services/acl.service.d.ts +3 -0
- package/ngx-utils/services/api.service.d.ts +3 -0
- package/ngx-utils/services/base-http.client.d.ts +3 -0
- package/ngx-utils/services/base-http.service.d.ts +3 -0
- package/ngx-utils/services/config.service.d.ts +3 -0
- package/ngx-utils/services/error-handler.service.d.ts +3 -0
- package/ngx-utils/services/events.service.d.ts +3 -0
- package/ngx-utils/services/formatter.service.d.ts +3 -0
- package/ngx-utils/services/global-template.service.d.ts +3 -0
- package/ngx-utils/services/icon.service.d.ts +3 -0
- package/ngx-utils/services/language.service.d.ts +3 -0
- package/ngx-utils/services/open-api.service.d.ts +3 -0
- package/ngx-utils/services/promise.service.d.ts +3 -0
- package/ngx-utils/services/state.service.d.ts +3 -0
- package/ngx-utils/services/static-language.service.d.ts +4 -1
- package/ngx-utils/services/storage.service.d.ts +3 -0
- package/ngx-utils/services/toaster.service.d.ts +3 -0
- package/ngx-utils/services/translated-url.serializer.d.ts +3 -0
- package/ngx-utils/services/universal.service.d.ts +3 -0
- package/ngx-utils/utils/auth.guard.d.ts +3 -0
- package/package.json +38 -19
- package/public_api.d.ts +1 -0
- package/stemy-ngx-utils.d.ts +1 -2
- package/stemy-ngx-utils.metadata.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Inject, Injectable, Pipe } from "@angular/core";
|
|
2
|
+
import { LANGUAGE_SERVICE } from "../common-types";
|
|
3
|
+
import { ObjectUtils } from "../utils/object.utils";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TranslatePipe {
|
|
6
|
+
constructor(cdr, language) {
|
|
7
|
+
this.cdr = cdr;
|
|
8
|
+
this.language = language;
|
|
9
|
+
}
|
|
10
|
+
get currentLang() {
|
|
11
|
+
return this.language.currentLanguage;
|
|
12
|
+
}
|
|
13
|
+
transform(query, ...args) {
|
|
14
|
+
if (!query)
|
|
15
|
+
return "";
|
|
16
|
+
let dirty = false;
|
|
17
|
+
const lang = this.currentLang;
|
|
18
|
+
if (this.lang !== lang) {
|
|
19
|
+
this.lang = lang;
|
|
20
|
+
dirty = true;
|
|
21
|
+
}
|
|
22
|
+
const disabled = this.language.disableTranslations;
|
|
23
|
+
if (this.disabled !== disabled) {
|
|
24
|
+
this.disabled = disabled;
|
|
25
|
+
dirty = true;
|
|
26
|
+
}
|
|
27
|
+
if (!ObjectUtils.equals(this.query, query)) {
|
|
28
|
+
this.query = query;
|
|
29
|
+
dirty = true;
|
|
30
|
+
}
|
|
31
|
+
if (!ObjectUtils.equals(this.args, args)) {
|
|
32
|
+
this.args = args;
|
|
33
|
+
this.params = null;
|
|
34
|
+
if (ObjectUtils.isDefined(args[0]) && args.length) {
|
|
35
|
+
if (typeof args[0] === "string" && args[0].length) {
|
|
36
|
+
const validArgs = args[0]
|
|
37
|
+
.replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g, `"$2":`)
|
|
38
|
+
.replace(/:(\s)?(\')(.*?)(\')/g, `:"$3"`);
|
|
39
|
+
try {
|
|
40
|
+
this.params = JSON.parse(validArgs);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${args[0]}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else if (typeof args[0] === "object" && !Array.isArray(args[0])) {
|
|
47
|
+
this.params = args[0];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
dirty = true;
|
|
51
|
+
}
|
|
52
|
+
if (dirty) {
|
|
53
|
+
if (typeof query === "object") {
|
|
54
|
+
this.lastValue = Array.isArray(query) ? this.language.getTranslationFromArray(query, this.params, lang) : this.language.getTranslationFromObject(query, this.params, lang);
|
|
55
|
+
return this.lastValue;
|
|
56
|
+
}
|
|
57
|
+
if (this.disabled) {
|
|
58
|
+
this.lastValue = query;
|
|
59
|
+
return this.lastValue;
|
|
60
|
+
}
|
|
61
|
+
this.language.getTranslation(query, this.params).then(value => {
|
|
62
|
+
this.lastValue = value;
|
|
63
|
+
if (!this.cdr["destroyed"]) {
|
|
64
|
+
this.cdr.detectChanges();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return this.lastValue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: LANGUAGE_SERVICE }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
72
|
+
TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
|
|
73
|
+
TranslatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TranslatePipe });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TranslatePipe, decorators: [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}, {
|
|
77
|
+
type: Pipe,
|
|
78
|
+
args: [{
|
|
79
|
+
name: "translate",
|
|
80
|
+
pure: false
|
|
81
|
+
}]
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
83
|
+
type: Inject,
|
|
84
|
+
args: [LANGUAGE_SERVICE]
|
|
85
|
+
}] }]; } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL3RyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFtQixnQkFBZ0IsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBT2xELE1BQU0sT0FBTyxhQUFhO0lBYXRCLFlBQXFCLEdBQXNCLEVBQXFDLFFBQTBCO1FBQXJGLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQXFDLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBRTFHLENBQUM7SUFORCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFBO0lBQ3hDLENBQUM7SUFNRCxTQUFTLENBQUMsS0FBdUIsRUFBRSxHQUFHLElBQVc7UUFDN0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDaEI7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO1FBQ25ELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsS0FBSyxHQUFHLElBQUksQ0FB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QUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLEtBQUs7aUJBQ2Q7OzBCQWNpRCxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCwgSW5qZWN0YWJsZSwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJTGFuZ3VhZ2VTZXJ2aWNlLCBMQU5HVUFHRV9TRVJWSUNFLCBUcmFuc2xhdGlvblF1ZXJ5fSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJ0cmFuc2xhdGVcIixcclxuICAgIHB1cmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgcHJpdmF0ZSBsYW5nOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBxdWVyeTogVHJhbnNsYXRpb25RdWVyeTtcclxuICAgIHByaXZhdGUgYXJnczogYW55W107XHJcbiAgICBwcml2YXRlIHBhcmFtczogYW55O1xyXG4gICAgcHJpdmF0ZSBsYXN0VmFsdWU6IHN0cmluZztcclxuXHJcbiAgICBnZXQgY3VycmVudExhbmcoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5sYW5ndWFnZS5jdXJyZW50TGFuZ3VhZ2VcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBASW5qZWN0KExBTkdVQUdFX1NFUlZJQ0UpIHJlYWRvbmx5IGxhbmd1YWdlOiBJTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zZm9ybShxdWVyeTogVHJhbnNsYXRpb25RdWVyeSwgLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghcXVlcnkpIHJldHVybiBcIlwiO1xyXG4gICAgICAgIGxldCBkaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGxhbmcgPSB0aGlzLmN1cnJlbnRMYW5nO1xyXG4gICAgICAgIGlmICh0aGlzLmxhbmcgIT09IGxhbmcpIHtcclxuICAgICAgICAgICAgdGhpcy5sYW5nID0gbGFuZztcclxuICAgICAgICAgICAgZGlydHkgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMubGFuZ3VhZ2UuZGlzYWJsZVRyYW5zbGF0aW9ucztcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCAhPT0gZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG4gICAgICAgICAgICBkaXJ0eSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghT2JqZWN0VXRpbHMuZXF1YWxzKHRoaXMucXVlcnksIHF1ZXJ5KSkge1xyXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XHJcbiAgICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFPYmplY3RVdGlscy5lcXVhbHModGhpcy5hcmdzLCBhcmdzKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFyZ3MgPSBhcmdzO1xyXG4gICAgICAgICAgICB0aGlzLnBhcmFtcyA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChPYmplY3RVdGlscy5pc0RlZmluZWQoYXJnc1swXSkgJiYgYXJncy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgYXJnc1swXSA9PT0gXCJzdHJpbmdcIiAmJiBhcmdzWzBdLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbGlkQXJnczogc3RyaW5nID0gYXJnc1swXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKFxcJyk/KFthLXpBLVowLTlfXSspKFxcJyk/KFxccyk/Oi9nLCBgXCIkMlwiOmApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC86KFxccyk/KFxcJykoLio/KShcXCcpL2csIGA6XCIkM1wiYCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXMgPSBKU09OLnBhcnNlKHZhbGlkQXJncyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYFdyb25nIHBhcmFtZXRlciBpbiBUcmFuc2xhdGVQaXBlLiBFeHBlY3RlZCBhIHZhbGlkIE9iamVjdCwgcmVjZWl2ZWQ6ICR7YXJnc1swXX1gKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmdzWzBdID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KGFyZ3NbMF0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbXMgPSBhcmdzWzBdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRpcnR5ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRpcnR5KSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcXVlcnkgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gQXJyYXkuaXNBcnJheShxdWVyeSkgPyB0aGlzLmxhbmd1YWdlLmdldFRyYW5zbGF0aW9uRnJvbUFycmF5KHF1ZXJ5LCB0aGlzLnBhcmFtcywgbGFuZykgOiB0aGlzLmxhbmd1YWdlLmdldFRyYW5zbGF0aW9uRnJvbU9iamVjdChxdWVyeSwgdGhpcy5wYXJhbXMsIGxhbmcpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IHF1ZXJ5O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UuZ2V0VHJhbnNsYXRpb24ocXVlcnksIHRoaXMucGFyYW1zKS50aGVuKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2RyW1wiZGVzdHJveWVkXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from "@angular/core";
|
|
2
|
+
import { ObjectUtils } from "../utils/object.utils";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const emptyValues = [];
|
|
5
|
+
export class ValuesPipe {
|
|
6
|
+
transform(value) {
|
|
7
|
+
if (!value)
|
|
8
|
+
return emptyValues;
|
|
9
|
+
return ObjectUtils.isArray(value)
|
|
10
|
+
? value
|
|
11
|
+
: Object.keys(value).map(key => value[key]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
ValuesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ValuesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
15
|
+
ValuesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ValuesPipe, name: "values" });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ValuesPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: "values"
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3BpcGVzL3ZhbHVlcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFbEQsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO0FBSzlCLE1BQU0sT0FBTyxVQUFVO0lBRW5CLFNBQVMsQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxXQUFXLENBQUM7UUFDL0IsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM3QixDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O3VHQVBRLFVBQVU7cUdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUh0QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxRQUFRO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuY29uc3QgZW1wdHlWYWx1ZXM6IGFueVtdID0gW107XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcInZhbHVlc1wiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWx1ZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIGVtcHR5VmFsdWVzO1xyXG4gICAgICAgIHJldHVybiBPYmplY3RVdGlscy5pc0FycmF5KHZhbHVlKVxyXG4gICAgICAgICAgICA/IHZhbHVlXHJcbiAgICAgICAgICAgIDogT2JqZWN0LmtleXModmFsdWUpLm1hcChrZXkgPT4gdmFsdWVba2V5XSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ɵDomEventsPlugin as EventManagerPlugin } from "@angular/platform-browser";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { DOCUMENT } from "@angular/common";
|
|
4
|
+
import { addListener, removeListener } from "resize-detector";
|
|
5
|
+
import { UniversalService } from "../services/universal.service";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../services/universal.service";
|
|
8
|
+
function emptyRemove() {
|
|
9
|
+
}
|
|
10
|
+
function isWindow(el) {
|
|
11
|
+
return typeof window !== "undefined" && el === window;
|
|
12
|
+
}
|
|
13
|
+
export class ResizeEventPlugin extends EventManagerPlugin {
|
|
14
|
+
constructor(doc, universal) {
|
|
15
|
+
super(doc);
|
|
16
|
+
this.universal = universal;
|
|
17
|
+
}
|
|
18
|
+
supports(eventName) {
|
|
19
|
+
return eventName === ResizeEventPlugin.EVENT_NAME;
|
|
20
|
+
}
|
|
21
|
+
addEventListener(element, eventName, handler) {
|
|
22
|
+
const zone = this.manager.getZone();
|
|
23
|
+
return zone.runOutsideAngular(() => {
|
|
24
|
+
if (this.universal.isServer)
|
|
25
|
+
return emptyRemove;
|
|
26
|
+
const cb = el => {
|
|
27
|
+
zone.run(() => handler(el));
|
|
28
|
+
};
|
|
29
|
+
if (isWindow(element)) {
|
|
30
|
+
element.addEventListener(eventName, cb);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
addListener(element, cb);
|
|
34
|
+
}
|
|
35
|
+
return () => {
|
|
36
|
+
try {
|
|
37
|
+
if (isWindow(element)) {
|
|
38
|
+
element.removeEventListener(eventName, cb);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
removeListener(element, cb);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
ResizeEventPlugin.EVENT_NAME = "resize";
|
|
51
|
+
ResizeEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ResizeEventPlugin, deps: [{ token: DOCUMENT }, { token: i1.UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
ResizeEventPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ResizeEventPlugin });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ResizeEventPlugin, decorators: [{
|
|
54
|
+
type: Injectable
|
|
55
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
56
|
+
type: Inject,
|
|
57
|
+
args: [DOCUMENT]
|
|
58
|
+
}] }, { type: i1.UniversalService }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9yZXNpemUtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7QUFFL0QsU0FBUyxXQUFXO0FBRXBCLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxFQUFPO0lBQ3JCLE9BQU8sT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLEVBQUUsS0FBSyxNQUFNLENBQUM7QUFDMUQsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFJckQsWUFBOEIsR0FBUSxFQUFTLFNBQTJCO1FBQ3RFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURnQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUUxRSxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQVM7UUFDZCxPQUFPLFNBQVMsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7SUFDdEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsU0FBaUIsRUFBRSxPQUFpQjtRQUN2RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUTtnQkFBRSxPQUFPLFdBQVcsQ0FBQztZQUNoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtnQkFDWixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQztZQUNGLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQzNDO2lCQUFNO2dCQUNILFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDNUI7WUFDRCxPQUFPLEdBQUcsRUFBRTtnQkFDUixJQUFJO29CQUNBLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNuQixPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUM5Qzt5QkFBTTt3QkFDSCxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3FCQUMvQjtpQkFDSjtnQkFBQyxPQUFPLENBQUMsRUFBRTtpQkFDWDtZQUNMLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUFqQ2MsNEJBQVUsR0FBVyxRQUFTLENBQUE7OEdBRnBDLGlCQUFpQixrQkFJTixRQUFRO2tIQUpuQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVTs7MEJBS00sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHvJtURvbUV2ZW50c1BsdWdpbiBhcyBFdmVudE1hbmFnZXJQbHVnaW59IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7YWRkTGlzdGVuZXIsIHJlbW92ZUxpc3RlbmVyfSBmcm9tIFwicmVzaXplLWRldGVjdG9yXCI7XHJcbmltcG9ydCB7VW5pdmVyc2FsU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5mdW5jdGlvbiBlbXB0eVJlbW92ZSgpOiB2b2lkIHtcclxuXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzV2luZG93KGVsOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIGVsID09PSB3aW5kb3c7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlc2l6ZUV2ZW50UGx1Z2luIGV4dGVuZHMgRXZlbnRNYW5hZ2VyUGx1Z2luIHtcclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBFVkVOVF9OQU1FOiBzdHJpbmcgPSBcInJlc2l6ZVwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvYzogYW55LCBwdWJsaWMgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoZG9jKTtcclxuICAgIH1cclxuXHJcbiAgICBzdXBwb3J0cyhldmVudE5hbWUpIHtcclxuICAgICAgICByZXR1cm4gZXZlbnROYW1lID09PSBSZXNpemVFdmVudFBsdWdpbi5FVkVOVF9OQU1FO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcclxuICAgICAgICBjb25zdCB6b25lID0gdGhpcy5tYW5hZ2VyLmdldFpvbmUoKTtcclxuICAgICAgICByZXR1cm4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnVuaXZlcnNhbC5pc1NlcnZlcikgcmV0dXJuIGVtcHR5UmVtb3ZlO1xyXG4gICAgICAgICAgICBjb25zdCBjYiA9IGVsID0+IHtcclxuICAgICAgICAgICAgICAgIHpvbmUucnVuKCgpID0+IGhhbmRsZXIoZWwpKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaWYgKGlzV2luZG93KGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBjYik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBhZGRMaXN0ZW5lcihlbGVtZW50LCBjYik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzV2luZG93KGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNiKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihlbGVtZW50LCBjYik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ɵDomEventsPlugin as EventManagerPlugin } from "@angular/platform-browser";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { DOCUMENT } from "@angular/common";
|
|
4
|
+
import { UniversalService } from "../services/universal.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services/universal.service";
|
|
7
|
+
export function emptyRemove() {
|
|
8
|
+
}
|
|
9
|
+
export class ScrollEventPlugin extends EventManagerPlugin {
|
|
10
|
+
constructor(doc, universal) {
|
|
11
|
+
super(doc);
|
|
12
|
+
this.universal = universal;
|
|
13
|
+
}
|
|
14
|
+
supports(eventName) {
|
|
15
|
+
return eventName === ScrollEventPlugin.EVENT_NAME;
|
|
16
|
+
}
|
|
17
|
+
addEventListener(element, eventName, handler) {
|
|
18
|
+
const zone = this.manager.getZone();
|
|
19
|
+
return zone.runOutsideAngular(() => {
|
|
20
|
+
if (this.universal.isServer)
|
|
21
|
+
return emptyRemove;
|
|
22
|
+
const callback = (e) => {
|
|
23
|
+
zone.run(() => handler(e));
|
|
24
|
+
};
|
|
25
|
+
element.addEventListener(eventName, callback);
|
|
26
|
+
return () => element.removeEventListener(eventName, callback);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
ScrollEventPlugin.EVENT_NAME = "scroll";
|
|
31
|
+
ScrollEventPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ScrollEventPlugin, deps: [{ token: DOCUMENT }, { token: i1.UniversalService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
ScrollEventPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ScrollEventPlugin });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ScrollEventPlugin, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
36
|
+
type: Inject,
|
|
37
|
+
args: [DOCUMENT]
|
|
38
|
+
}] }, { type: i1.UniversalService }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWV2ZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvcGx1Z2lucy9zY3JvbGwtZXZlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRS9ELE1BQU0sVUFBVSxXQUFXO0FBRTNCLENBQUM7QUFHRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBSXJELFlBQThCLEdBQVEsRUFBVSxTQUEyQjtRQUN2RSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEaUMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFFM0UsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFTO1FBQ2QsT0FBTyxTQUFTLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFvQixFQUFFLFNBQWlCLEVBQUUsT0FBaUI7UUFDdkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxXQUFXLENBQUM7WUFDaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFRLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUM7WUFDRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O0FBcEJjLDRCQUFVLEdBQVcsUUFBUyxDQUFBOzhHQUZwQyxpQkFBaUIsa0JBSU4sUUFBUTtrSEFKbkIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQUtNLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ybVEb21FdmVudHNQbHVnaW4gYXMgRXZlbnRNYW5hZ2VyUGx1Z2lufSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5UmVtb3ZlKCk6IHZvaWQge1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2Nyb2xsRXZlbnRQbHVnaW4gZXh0ZW5kcyBFdmVudE1hbmFnZXJQbHVnaW4ge1xyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIEVWRU5UX05BTUU6IHN0cmluZyA9IFwic2Nyb2xsXCI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jOiBhbnksIHByaXZhdGUgdW5pdmVyc2FsOiBVbml2ZXJzYWxTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoZG9jKTtcclxuICAgIH1cclxuXHJcbiAgICBzdXBwb3J0cyhldmVudE5hbWUpIHtcclxuICAgICAgICByZXR1cm4gZXZlbnROYW1lID09PSBTY3JvbGxFdmVudFBsdWdpbi5FVkVOVF9OQU1FO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXIoZWxlbWVudDogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcclxuICAgICAgICBjb25zdCB6b25lID0gdGhpcy5tYW5hZ2VyLmdldFpvbmUoKTtcclxuICAgICAgICByZXR1cm4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnVuaXZlcnNhbC5pc1NlcnZlcikgcmV0dXJuIGVtcHR5UmVtb3ZlO1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsYmFjayA9IChlOiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgem9uZS5ydW4oKCkgPT4gaGFuZGxlcihlKSk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcclxuICAgICAgICAgICAgcmV0dXJuICgpID0+IGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Inject, Injectable, Injector } from "@angular/core";
|
|
2
|
+
import { StateService } from "./state.service";
|
|
3
|
+
import { AUTH_SERVICE } from "../common-types";
|
|
4
|
+
import { ObjectUtils } from "../utils/object.utils";
|
|
5
|
+
import { AuthGuard } from "../utils/auth.guard";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./state.service";
|
|
8
|
+
const emptyGuards = [];
|
|
9
|
+
export class AclService {
|
|
10
|
+
constructor(injector, state, auth) {
|
|
11
|
+
this.injector = injector;
|
|
12
|
+
this.state = state;
|
|
13
|
+
this.auth = auth;
|
|
14
|
+
this.components = [];
|
|
15
|
+
this.auth.userChanged.subscribe(() => {
|
|
16
|
+
this.components.forEach(t => t.dirty = true);
|
|
17
|
+
const info = this.getStateInfo();
|
|
18
|
+
const check = info && info.guard instanceof AuthGuard ? info.guard.checkRoute(info.route) : Promise.resolve(true);
|
|
19
|
+
check.then(result => {
|
|
20
|
+
if (result) {
|
|
21
|
+
if (!info || !info.dirty)
|
|
22
|
+
return;
|
|
23
|
+
info.dirty = false;
|
|
24
|
+
const component = info.component;
|
|
25
|
+
if (info.first) {
|
|
26
|
+
if (ObjectUtils.isFunction(component.onUserInitialized)) {
|
|
27
|
+
component.onUserInitialized();
|
|
28
|
+
}
|
|
29
|
+
info.first = false;
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (ObjectUtils.isFunction(component.onUserChanged)) {
|
|
33
|
+
component.onUserChanged();
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
info.guard.getReturnState(info.route).then(returnState => {
|
|
38
|
+
if (!returnState)
|
|
39
|
+
return;
|
|
40
|
+
this.state.navigate(returnState);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
this.state.subscribe(() => {
|
|
45
|
+
const info = this.getStateInfo();
|
|
46
|
+
if (!info?.component)
|
|
47
|
+
return;
|
|
48
|
+
const component = info.component;
|
|
49
|
+
if (ObjectUtils.isFunction(component.onUserInitialized)) {
|
|
50
|
+
component.onUserInitialized();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
getStateInfo() {
|
|
55
|
+
const route = this.state.route;
|
|
56
|
+
if (!route)
|
|
57
|
+
return null;
|
|
58
|
+
let info = this.components.find(t => t.route == this.state.route);
|
|
59
|
+
if (!info) {
|
|
60
|
+
const guardType = (route.canActivate || emptyGuards)[0];
|
|
61
|
+
info = {
|
|
62
|
+
route: this.state.route,
|
|
63
|
+
guard: guardType ? this.injector.get(guardType) : null,
|
|
64
|
+
dirty: true,
|
|
65
|
+
first: true
|
|
66
|
+
};
|
|
67
|
+
this.components.push(info);
|
|
68
|
+
}
|
|
69
|
+
info.component = this.state.component;
|
|
70
|
+
return info;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
AclService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AclService, deps: [{ token: i0.Injector }, { token: i1.StateService }, { token: AUTH_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
AclService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AclService });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: AclService, decorators: [{
|
|
76
|
+
type: Injectable
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.StateService }, { type: undefined, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [AUTH_SERVICE]
|
|
80
|
+
}] }]; } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2FjbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFlBQVksRUFBK0MsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFFOUMsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO0FBRzlCLE1BQU0sT0FBTyxVQUFVO0lBSW5CLFlBQXFCLFFBQWtCLEVBQVcsS0FBbUIsRUFBaUMsSUFBa0I7UUFBbkcsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFXLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBaUMsU0FBSSxHQUFKLElBQUksQ0FBYztRQUNwSCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDakMsTUFBTSxLQUFLLEdBQXFCLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFD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QVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBS2lFLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdGF0ZVNlcnZpY2V9IGZyb20gXCIuL3N0YXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBVVRIX1NFUlZJQ0UsIElBY2xDb21wb25lbnQsIElBdXRoU2VydmljZSwgSVJvdXRlU3RhdGVJbmZvfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtBdXRoR3VhcmR9IGZyb20gXCIuLi91dGlscy9hdXRoLmd1YXJkXCI7XHJcblxyXG5jb25zdCBlbXB0eUd1YXJkczogYW55W10gPSBbXTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFjbFNlcnZpY2Uge1xyXG5cclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRzOiBJUm91dGVTdGF0ZUluZm9bXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsIHJlYWRvbmx5IHN0YXRlOiBTdGF0ZVNlcnZpY2UsIEBJbmplY3QoQVVUSF9TRVJWSUNFKSByZWFkb25seSBhdXRoOiBJQXV0aFNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSBbXTtcclxuICAgICAgICB0aGlzLmF1dGgudXNlckNoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzLmZvckVhY2godCA9PiB0LmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZm8gPSB0aGlzLmdldFN0YXRlSW5mbygpO1xyXG4gICAgICAgICAgICBjb25zdCBjaGVjazogUHJvbWlzZTxib29sZWFuPiA9IGluZm8gJiYgaW5mby5ndWFyZCBpbnN0YW5jZW9mIEF1dGhHdWFyZCA/IGluZm8uZ3VhcmQuY2hlY2tSb3V0ZShpbmZvLnJvdXRlKSA6IFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgY2hlY2sudGhlbihyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghaW5mbyB8fCAhaW5mby5kaXJ0eSkgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIGluZm8uZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQ6IElBY2xDb21wb25lbnQgPSBpbmZvLmNvbXBvbmVudDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5mby5maXJzdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihjb21wb25lbnQub25Vc2VySW5pdGlhbGl6ZWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQub25Vc2VySW5pdGlhbGl6ZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmZpcnN0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzRnVuY3Rpb24oY29tcG9uZW50Lm9uVXNlckNoYW5nZWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5vblVzZXJDaGFuZ2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIChpbmZvLmd1YXJkIGFzIEF1dGhHdWFyZCkuZ2V0UmV0dXJuU3RhdGUoaW5mby5yb3V0ZSkudGhlbihyZXR1cm5TdGF0ZSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXR1cm5TdGF0ZSkgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUubmF2aWdhdGUocmV0dXJuU3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3RhdGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgaW5mbyA9IHRoaXMuZ2V0U3RhdGVJbmZvKCk7XHJcbiAgICAgICAgICAgIGlmICghaW5mbz8uY29tcG9uZW50KSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudDogSUFjbENvbXBvbmVudCA9IGluZm8uY29tcG9uZW50O1xyXG4gICAgICAgICAgICBpZiAoT2JqZWN0VXRpbHMuaXNGdW5jdGlvbihjb21wb25lbnQub25Vc2VySW5pdGlhbGl6ZWQpKSB7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQub25Vc2VySW5pdGlhbGl6ZWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRTdGF0ZUluZm8oKTogSVJvdXRlU3RhdGVJbmZvIHtcclxuICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuc3RhdGUucm91dGU7XHJcbiAgICAgICAgaWYgKCFyb3V0ZSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgbGV0IGluZm8gPSB0aGlzLmNvbXBvbmVudHMuZmluZCh0ID0+IHQucm91dGUgPT0gdGhpcy5zdGF0ZS5yb3V0ZSk7XHJcbiAgICAgICAgaWYgKCFpbmZvKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGd1YXJkVHlwZTogVHlwZTxBdXRoR3VhcmQ+ID0gKHJvdXRlLmNhbkFjdGl2YXRlIHx8IGVtcHR5R3VhcmRzKVswXTtcclxuICAgICAgICAgICAgaW5mbyA9IHtcclxuICAgICAgICAgICAgICAgIHJvdXRlOiB0aGlzLnN0YXRlLnJvdXRlLFxyXG4gICAgICAgICAgICAgICAgZ3VhcmQ6IGd1YXJkVHlwZSA/IHRoaXMuaW5qZWN0b3IuZ2V0KGd1YXJkVHlwZSkgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgZGlydHk6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBmaXJzdDogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMucHVzaChpbmZvKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5mby5jb21wb25lbnQgPSB0aGlzLnN0YXRlLmNvbXBvbmVudDtcclxuICAgICAgICByZXR1cm4gaW5mbztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { BaseHttpService } from "./base-http.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ApiService extends BaseHttpService {
|
|
5
|
+
get name() {
|
|
6
|
+
return "api";
|
|
7
|
+
}
|
|
8
|
+
url(url) {
|
|
9
|
+
return this.expressRequestUrl(`/api/${url}`);
|
|
10
|
+
}
|
|
11
|
+
get(url, options, body) {
|
|
12
|
+
return this.getPromise(url, options, body);
|
|
13
|
+
}
|
|
14
|
+
delete(url, options, body) {
|
|
15
|
+
return this.deletePromise(url, options, body);
|
|
16
|
+
}
|
|
17
|
+
post(url, body, options) {
|
|
18
|
+
return this.postPromise(url, body, options);
|
|
19
|
+
}
|
|
20
|
+
put(url, body, options) {
|
|
21
|
+
return this.putPromise(url, body, options);
|
|
22
|
+
}
|
|
23
|
+
patch(url, body, options) {
|
|
24
|
+
return this.patchPromise(url, body, options);
|
|
25
|
+
}
|
|
26
|
+
upload(url, body, listener, options) {
|
|
27
|
+
return this.uploadPromise(url, body, listener, options);
|
|
28
|
+
}
|
|
29
|
+
list(url, params) {
|
|
30
|
+
return this.listPromise(url, params);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ApiService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
+
ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ApiService });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ApiService, decorators: [{
|
|
36
|
+
type: Injectable
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmd4LXV0aWxzL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQUlwRCxNQUFNLE9BQU8sVUFBVyxTQUFRLGVBQWU7SUFFM0MsSUFBSSxJQUFJO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE9BQXlCLEVBQUUsSUFBVTtRQUNsRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVcsRUFBRSxPQUF5QixFQUFFLElBQVU7UUFDckQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBVSxFQUFFLE9BQXlCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLElBQVUsRUFBRSxPQUF5QjtRQUNsRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxJQUFVLEVBQUUsT0FBeUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLFFBQTJCLEVBQUUsT0FBeUI7UUFDakYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLENBQUMsR0FBVyxFQUFFLE1BQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7dUdBcENRLFVBQVU7MkdBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtJQXBpU2VydmljZSwgSUh0dHBQYXJhbXMsIElSZXF1ZXN0T3B0aW9ucywgUHJvZ3Jlc3NMaXN0ZW5lcn0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge0Jhc2VIdHRwU2VydmljZX0gZnJvbSBcIi4vYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJUGFnaW5hdGlvbkRhdGF9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2UgZXh0ZW5kcyBCYXNlSHR0cFNlcnZpY2UgaW1wbGVtZW50cyBJQXBpU2VydmljZSB7XHJcblxyXG4gICAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gXCJhcGlcIjtcclxuICAgIH1cclxuXHJcbiAgICB1cmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmV4cHJlc3NSZXF1ZXN0VXJsKGAvYXBpLyR7dXJsfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCh1cmw6IHN0cmluZywgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucywgYm9keT86IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UHJvbWlzZSh1cmwsIG9wdGlvbnMsIGJvZHkpO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IElSZXF1ZXN0T3B0aW9ucywgYm9keT86IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlUHJvbWlzZSh1cmwsIG9wdGlvbnMsIGJvZHkpO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvc3RQcm9taXNlKHVybCwgYm9keSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHV0KHVybDogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSVJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wdXRQcm9taXNlKHVybCwgYm9keSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBhdGNoUHJvbWlzZSh1cmwsIGJvZHksIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwbG9hZCh1cmw6IHN0cmluZywgYm9keTogYW55LCBsaXN0ZW5lcj86IFByb2dyZXNzTGlzdGVuZXIsIG9wdGlvbnM/OiBJUmVxdWVzdE9wdGlvbnMpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZFByb21pc2UodXJsLCBib2R5LCBsaXN0ZW5lciwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgbGlzdCh1cmw6IHN0cmluZywgcGFyYW1zOiBJSHR0cFBhcmFtcyk6IFByb21pc2U8SVBhZ2luYXRpb25EYXRhPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdFByb21pc2UodXJsLCBwYXJhbXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EventEmitter } from "@angular/core";
|
|
2
|
+
export class StaticAuthService {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.isAuthenticated = true;
|
|
5
|
+
this.userChanged = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
checkAuthenticated() {
|
|
8
|
+
return Promise.resolve(this.isAuthenticated);
|
|
9
|
+
}
|
|
10
|
+
getReturnState(route) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25neC11dGlscy9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBRUksb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQVM3RCxDQUFDO0lBUEcsa0JBQWtCO1FBQ2QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SVJvdXRlLCBJQXV0aFNlcnZpY2V9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTdGF0aWNBdXRoU2VydmljZSBpbXBsZW1lbnRzIElBdXRoU2VydmljZSB7XHJcblxyXG4gICAgaXNBdXRoZW50aWNhdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHVzZXJDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIGNoZWNrQXV0aGVudGljYXRlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuaXNBdXRoZW50aWNhdGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRSZXR1cm5TdGF0ZShyb3V0ZTogSVJvdXRlKTogc3RyaW5nW10ge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { HttpClient, HttpHandler, HttpHeaders, HttpParams, HttpUrlEncodingCodec } from "@angular/common/http";
|
|
3
|
+
import { ObjectUtils } from "../utils/object.utils";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class BaseHttpClient extends HttpClient {
|
|
7
|
+
constructor(handler) {
|
|
8
|
+
super(handler);
|
|
9
|
+
this.requestHeaders = {};
|
|
10
|
+
this.requestParams = {};
|
|
11
|
+
this.extraRequestParams = {
|
|
12
|
+
language: "en"
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
makeHeaders(headers, withCredentials = true) {
|
|
16
|
+
headers = Object.assign({}, this.requestHeaders, headers);
|
|
17
|
+
const authHeader = headers["Authorization"] || "";
|
|
18
|
+
if (!withCredentials && !authHeader.startsWith("Bearer")) {
|
|
19
|
+
delete headers["Authorization"];
|
|
20
|
+
}
|
|
21
|
+
return new HttpHeaders(headers);
|
|
22
|
+
}
|
|
23
|
+
makeParams(params) {
|
|
24
|
+
params = Object.assign({}, this.extraRequestParams, this.requestParams, params);
|
|
25
|
+
return new HttpParams({
|
|
26
|
+
encoder: new HttpUrlEncodingCodec(),
|
|
27
|
+
fromObject: Object.keys(params || {}).reduce((result, key) => {
|
|
28
|
+
const value = params[key];
|
|
29
|
+
result[key] = ObjectUtils.isObject(value) ? JSON.stringify(value) : (ObjectUtils.isNullOrUndefined(value) ? "" : value.toString());
|
|
30
|
+
return result;
|
|
31
|
+
}, {})
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setExtraRequestParam(name, value) {
|
|
35
|
+
if (typeof value == "undefined") {
|
|
36
|
+
delete this.extraRequestParams[name];
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.extraRequestParams[name] = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
BaseHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: BaseHttpClient, deps: [{ token: i1.HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
BaseHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: BaseHttpClient });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: BaseHttpClient, decorators: [{
|
|
45
|
+
type: Injectable
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.HttpHandler }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLmNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLmNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUU1RyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUdsRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFRMUMsWUFBWSxPQUFvQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDdEIsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0IsRUFBRSxrQkFBMkIsSUFBSTtRQUMvRCxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFXLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3RELE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQW9CO1FBQzNCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRixPQUFPLElBQUksVUFBVSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLG9CQUFvQixFQUFFO1lBQ25DLFVBQVUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3pELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuSSxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG9CQUFvQixDQUFDLElBQVksRUFBRSxLQUFXO1FBQzFDLElBQUksT0FBTyxLQUFLLElBQUksV0FBVyxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDMUMsQ0FBQzs7MkdBNUNRLGNBQWM7K0dBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIYW5kbGVyLCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcywgSHR0cFVybEVuY29kaW5nQ29kZWN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge0lIdHRwSGVhZGVycywgSUh0dHBQYXJhbXN9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4uL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQmFzZUh0dHBDbGllbnQgZXh0ZW5kcyBIdHRwQ2xpZW50IHtcclxuXHJcbiAgICByZXF1ZXN0SGVhZGVyczogSUh0dHBIZWFkZXJzO1xyXG4gICAgcmVxdWVzdFBhcmFtczogSUh0dHBQYXJhbXM7XHJcbiAgICByZW5ld1Rva2VuRnVuYzogKCkgPT4gdm9pZDtcclxuXHJcbiAgICBwcm90ZWN0ZWQgZXh0cmFSZXF1ZXN0UGFyYW1zOiBJSHR0cFBhcmFtcztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihoYW5kbGVyOiBIdHRwSGFuZGxlcikge1xyXG4gICAgICAgIHN1cGVyKGhhbmRsZXIpO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdEhlYWRlcnMgPSB7fTtcclxuICAgICAgICB0aGlzLnJlcXVlc3RQYXJhbXMgPSB7fTtcclxuICAgICAgICB0aGlzLmV4dHJhUmVxdWVzdFBhcmFtcyA9IHtcclxuICAgICAgICAgICAgbGFuZ3VhZ2U6IFwiZW5cIlxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgbWFrZUhlYWRlcnMoaGVhZGVycz86IElIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuID0gdHJ1ZSk6IEh0dHBIZWFkZXJzIHtcclxuICAgICAgICBoZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5yZXF1ZXN0SGVhZGVycywgaGVhZGVycyk7XHJcbiAgICAgICAgY29uc3QgYXV0aEhlYWRlciA9IGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdIGFzIHN0cmluZyB8fCBcIlwiO1xyXG4gICAgICAgIGlmICghd2l0aENyZWRlbnRpYWxzICYmICFhdXRoSGVhZGVyLnN0YXJ0c1dpdGgoXCJCZWFyZXJcIikpIHtcclxuICAgICAgICAgICAgZGVsZXRlIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIG1ha2VQYXJhbXMocGFyYW1zPzogSUh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcclxuICAgICAgICBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmV4dHJhUmVxdWVzdFBhcmFtcywgdGhpcy5yZXF1ZXN0UGFyYW1zLCBwYXJhbXMpO1xyXG4gICAgICAgIHJldHVybiBuZXcgSHR0cFBhcmFtcyh7XHJcbiAgICAgICAgICAgIGVuY29kZXI6IG5ldyBIdHRwVXJsRW5jb2RpbmdDb2RlYygpLFxyXG4gICAgICAgICAgICBmcm9tT2JqZWN0OiBPYmplY3Qua2V5cyhwYXJhbXMgfHwge30pLnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zW2tleV07XHJcbiAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IE9iamVjdFV0aWxzLmlzT2JqZWN0KHZhbHVlKSA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IChPYmplY3RVdGlscy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgPyBcIlwiIDogdmFsdWUudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICB9LCB7fSlcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRFeHRyYVJlcXVlc3RQYXJhbShuYW1lOiBzdHJpbmcsIHZhbHVlPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmV4dHJhUmVxdWVzdFBhcmFtc1tuYW1lXTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmV4dHJhUmVxdWVzdFBhcmFtc1tuYW1lXSA9IHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|