@onecx/angular-accelerator 4.43.1 → 5.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/{esm2020 → esm2022}/lib/angular-accelerator-primeng.module.mjs +53 -53
- package/esm2022/lib/angular-accelerator.module.mjs +168 -0
- package/esm2022/lib/components/column-group-selection/column-group-selection.component.mjs +72 -0
- package/esm2022/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +109 -0
- package/esm2022/lib/components/data-layout-selection/data-layout-selection.component.mjs +46 -0
- package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +399 -0
- package/esm2022/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +92 -0
- package/esm2022/lib/components/data-sort-base/data-sort-base.mjs +110 -0
- package/esm2022/lib/components/data-table/data-table.component.mjs +401 -0
- package/esm2022/lib/components/data-view/data-view.component.mjs +407 -0
- package/esm2022/lib/components/diagram/diagram.component.mjs +137 -0
- package/esm2022/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +109 -0
- package/esm2022/lib/components/interactive-data-view/interactive-data-view.component.mjs +375 -0
- package/esm2022/lib/components/page-header/page-header.component.mjs +232 -0
- package/{esm2020 → esm2022}/lib/components/search-config/search-config.component.mjs +4 -4
- package/esm2022/lib/components/search-header/search-header.component.mjs +136 -0
- package/esm2022/lib/directives/advanced.directive.mjs +36 -0
- package/esm2022/lib/directives/if-breakpoint.directive.mjs +39 -0
- package/esm2022/lib/directives/if-permission.directive.mjs +80 -0
- package/esm2022/lib/directives/src.directive.mjs +59 -0
- package/esm2022/lib/functions/flatten-object.mjs +20 -0
- package/{esm2020 → esm2022}/lib/model/breadcrumb-menu-item.model.mjs +1 -1
- package/esm2022/lib/pipes/dynamic.pipe.mjs +58 -0
- package/esm2022/lib/pipes/ocxtimeago.pipe.mjs +107 -0
- package/esm2022/lib/services/app-config-service.mjs +43 -0
- package/esm2022/lib/services/breadcrumb.service.mjs +113 -0
- package/esm2022/lib/services/translation-cache.service.mjs +41 -0
- package/esm2022/lib/utils/async-translate-loader.utils.mjs +12 -0
- package/esm2022/lib/utils/caching-translate-loader.utils.mjs +15 -0
- package/{esm2020 → esm2022}/lib/utils/colorutils.mjs +1 -1
- package/{esm2020 → esm2022}/lib/utils/dateutils.mjs +6 -6
- package/esm2022/lib/utils/objectutils.mjs +30 -0
- package/{esm2020 → esm2022}/lib/utils/translate.combined.loader.mjs +1 -1
- package/{esm2020 → esm2022}/testing/column-group-selection.harness.mjs +2 -2
- package/esm2022/testing/custom-group-column-selector.harness.mjs +31 -0
- package/esm2022/testing/data-layout-selection.harness.mjs +33 -0
- package/esm2022/testing/data-list-grid.harness.mjs +47 -0
- package/esm2022/testing/data-table.harness.mjs +63 -0
- package/{esm2020 → esm2022}/testing/data-view.harness.mjs +2 -2
- package/esm2022/testing/default-grid-item.harness.mjs +24 -0
- package/esm2022/testing/default-list-item.harness.mjs +24 -0
- package/esm2022/testing/diagram.harness.mjs +22 -0
- package/{esm2020 → esm2022}/testing/group-by-count-diagram.harness.mjs +2 -2
- package/{esm2020 → esm2022}/testing/interactive-data-view.harness.mjs +2 -2
- package/esm2022/testing/more-actions-menu-button.harness.mjs +35 -0
- package/esm2022/testing/page-header.harness.mjs +78 -0
- package/{esm2020 → esm2022}/testing/search-config.harness.mjs +2 -2
- package/{esm2020 → esm2022}/testing/search-header.harness.mjs +2 -2
- package/{fesm2020 → fesm2022}/onecx-angular-accelerator-testing.mjs +34 -28
- package/fesm2022/onecx-angular-accelerator-testing.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/onecx-angular-accelerator.mjs +220 -220
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -0
- package/lib/components/column-group-selection/column-group-selection.component.d.ts +1 -1
- package/lib/components/custom-group-column-selector/custom-group-column-selector.component.d.ts +1 -1
- package/lib/components/data-layout-selection/data-layout-selection.component.d.ts +1 -1
- package/lib/components/data-list-grid/data-list-grid.component.d.ts +1 -1
- package/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.d.ts +1 -1
- package/lib/components/data-table/data-table.component.d.ts +1 -1
- package/lib/components/data-view/data-view.component.d.ts +1 -1
- package/lib/components/diagram/diagram.component.d.ts +2 -2
- package/lib/components/group-by-count-diagram/group-by-count-diagram.component.d.ts +1 -1
- package/lib/components/interactive-data-view/interactive-data-view.component.d.ts +1 -1
- package/lib/components/page-header/page-header.component.d.ts +1 -1
- package/lib/components/search-config/search-config.component.d.ts +1 -1
- package/lib/components/search-header/search-header.component.d.ts +1 -1
- package/lib/directives/if-breakpoint.directive.d.ts +1 -1
- package/lib/directives/if-permission.directive.d.ts +1 -1
- package/lib/directives/src.directive.d.ts +1 -1
- package/lib/model/breadcrumb-menu-item.model.d.ts +2 -2
- package/package.json +20 -28
- package/testing/data-list-grid.harness.d.ts +1 -1
- package/esm2020/lib/angular-accelerator.module.mjs +0 -168
- package/esm2020/lib/components/column-group-selection/column-group-selection.component.mjs +0 -72
- package/esm2020/lib/components/custom-group-column-selector/custom-group-column-selector.component.mjs +0 -109
- package/esm2020/lib/components/data-layout-selection/data-layout-selection.component.mjs +0 -45
- package/esm2020/lib/components/data-list-grid/data-list-grid.component.mjs +0 -399
- package/esm2020/lib/components/data-list-grid-sorting/data-list-grid-sorting.component.mjs +0 -92
- package/esm2020/lib/components/data-sort-base/data-sort-base.mjs +0 -110
- package/esm2020/lib/components/data-table/data-table.component.mjs +0 -401
- package/esm2020/lib/components/data-view/data-view.component.mjs +0 -407
- package/esm2020/lib/components/diagram/diagram.component.mjs +0 -137
- package/esm2020/lib/components/group-by-count-diagram/group-by-count-diagram.component.mjs +0 -109
- package/esm2020/lib/components/interactive-data-view/interactive-data-view.component.mjs +0 -375
- package/esm2020/lib/components/page-header/page-header.component.mjs +0 -232
- package/esm2020/lib/components/search-header/search-header.component.mjs +0 -136
- package/esm2020/lib/directives/advanced.directive.mjs +0 -36
- package/esm2020/lib/directives/if-breakpoint.directive.mjs +0 -39
- package/esm2020/lib/directives/if-permission.directive.mjs +0 -80
- package/esm2020/lib/directives/src.directive.mjs +0 -59
- package/esm2020/lib/functions/flatten-object.mjs +0 -20
- package/esm2020/lib/pipes/dynamic.pipe.mjs +0 -58
- package/esm2020/lib/pipes/ocxtimeago.pipe.mjs +0 -107
- package/esm2020/lib/services/app-config-service.mjs +0 -43
- package/esm2020/lib/services/breadcrumb.service.mjs +0 -113
- package/esm2020/lib/services/translation-cache.service.mjs +0 -41
- package/esm2020/lib/utils/async-translate-loader.utils.mjs +0 -12
- package/esm2020/lib/utils/caching-translate-loader.utils.mjs +0 -15
- package/esm2020/lib/utils/objectutils.mjs +0 -30
- package/esm2020/testing/custom-group-column-selector.harness.mjs +0 -31
- package/esm2020/testing/data-layout-selection.harness.mjs +0 -33
- package/esm2020/testing/data-list-grid.harness.mjs +0 -47
- package/esm2020/testing/data-table.harness.mjs +0 -57
- package/esm2020/testing/default-grid-item.harness.mjs +0 -24
- package/esm2020/testing/default-list-item.harness.mjs +0 -24
- package/esm2020/testing/diagram.harness.mjs +0 -22
- package/esm2020/testing/more-actions-menu-button.harness.mjs +0 -35
- package/esm2020/testing/page-header.harness.mjs +0 -78
- package/fesm2015/onecx-angular-accelerator-testing.mjs +0 -541
- package/fesm2015/onecx-angular-accelerator-testing.mjs.map +0 -1
- package/fesm2015/onecx-angular-accelerator.mjs +0 -3583
- package/fesm2015/onecx-angular-accelerator.mjs.map +0 -1
- package/fesm2020/onecx-angular-accelerator-testing.mjs.map +0 -1
- package/fesm2020/onecx-angular-accelerator.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/column-type.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/data-action.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/data-column-name-id.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/data-sort-direction.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/data-table-column.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/diagram-column.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/diagram-data.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/diagram-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/model/search-config-info.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/create-remote-component-translate-loader.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/create-translate-loader.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/enum-to-dropdown-options.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/primeicon.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/onecx-angular-accelerator.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/index.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/onecx-angular-accelerator-testing.mjs +0 -0
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, Inject, InjectionToken, Input, Optional, Renderer2, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* This checker always returns true, basically disabling the permission system on the UI side
|
|
5
|
-
*/
|
|
6
|
-
export class AlwaysGrantPermissionChecker {
|
|
7
|
-
hasPermission(_permissionKey) {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export const HAS_PERMISSION_CHECKER = new InjectionToken('hasPermission');
|
|
12
|
-
export class IfPermissionDirective {
|
|
13
|
-
set notPermission(value) {
|
|
14
|
-
this.permission = value;
|
|
15
|
-
this.negate = true;
|
|
16
|
-
}
|
|
17
|
-
set ocxIfNotPermissionPermissions(value) {
|
|
18
|
-
this.ocxIfPermissionPermissions = value;
|
|
19
|
-
}
|
|
20
|
-
constructor(renderer, el, viewContainer, permissionChecker, templateRef) {
|
|
21
|
-
this.renderer = renderer;
|
|
22
|
-
this.el = el;
|
|
23
|
-
this.viewContainer = viewContainer;
|
|
24
|
-
this.permissionChecker = permissionChecker;
|
|
25
|
-
this.templateRef = templateRef;
|
|
26
|
-
this.onMissingPermission = 'hide';
|
|
27
|
-
this.negate = false;
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
if (this.permission) {
|
|
31
|
-
if (this.negate === this.hasPermission(this.permission)) {
|
|
32
|
-
if (this.onMissingPermission === 'disable') {
|
|
33
|
-
this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'disabled');
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
this.viewContainer.clear();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
if (this.templateRef) {
|
|
41
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
hasPermission(permission) {
|
|
47
|
-
if (this.ocxIfPermissionPermissions) {
|
|
48
|
-
const result = this.ocxIfPermissionPermissions.includes(permission);
|
|
49
|
-
if (!result) {
|
|
50
|
-
console.log('👮♀️ No permission in overwrites for: `', permission);
|
|
51
|
-
}
|
|
52
|
-
return result;
|
|
53
|
-
}
|
|
54
|
-
return this.permissionChecker.hasPermission(permission);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
IfPermissionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IfPermissionDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: HAS_PERMISSION_CHECKER }, { token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
-
IfPermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: IfPermissionDirective, selector: "[ocxIfPermission], [ocxIfNotPermission]", inputs: { permission: ["ocxIfPermission", "permission"], notPermission: ["ocxIfNotPermission", "notPermission"], onMissingPermission: "onMissingPermission", ocxIfPermissionPermissions: "ocxIfPermissionPermissions", ocxIfNotPermissionPermissions: "ocxIfNotPermissionPermissions" }, ngImport: i0 });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IfPermissionDirective, decorators: [{
|
|
60
|
-
type: Directive,
|
|
61
|
-
args: [{ selector: '[ocxIfPermission], [ocxIfNotPermission]' }]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
|
|
63
|
-
type: Inject,
|
|
64
|
-
args: [HAS_PERMISSION_CHECKER]
|
|
65
|
-
}] }, { type: i0.TemplateRef, decorators: [{
|
|
66
|
-
type: Optional
|
|
67
|
-
}] }]; }, propDecorators: { permission: [{
|
|
68
|
-
type: Input,
|
|
69
|
-
args: ['ocxIfPermission']
|
|
70
|
-
}], notPermission: [{
|
|
71
|
-
type: Input,
|
|
72
|
-
args: ['ocxIfNotPermission']
|
|
73
|
-
}], onMissingPermission: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], ocxIfPermissionPermissions: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], ocxIfNotPermissionPermissions: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtcGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9kaXJlY3RpdmVzL2lmLXBlcm1pc3Npb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUVMLFFBQVEsRUFDUixTQUFTLEVBQ1QsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQTs7QUFNdEI7O0dBRUc7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLGFBQWEsQ0FBQyxjQUFzQjtRQUNsQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUF1QixlQUFlLENBQUMsQ0FBQTtBQUcvRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLElBQWlDLGFBQWEsQ0FBQyxLQUF5QjtRQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtJQUNwQixDQUFDO0lBS0QsSUFDSSw2QkFBNkIsQ0FBQyxLQUEyQjtRQUMzRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFBO0lBQ3pDLENBQUM7SUFJRCxZQUNVLFFBQW1CLEVBQ25CLEVBQWMsRUFDZCxhQUErQixFQUUvQixpQkFBdUMsRUFDM0IsV0FBOEI7UUFMMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRS9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBaEIzQyx3QkFBbUIsR0FBdUIsTUFBTSxDQUFBO1FBUXpELFdBQU0sR0FBRyxLQUFLLENBQUE7SUFTWCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3ZELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRTtvQkFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBO2lCQUMxRTtxQkFBTTtvQkFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO2lCQUMzQjthQUNGO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7aUJBQ3hEO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsVUFBa0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUU7WUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNuRSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLEVBQUUsVUFBVSxDQUFDLENBQUE7YUFDcEU7WUFDRCxPQUFPLE1BQU0sQ0FBQTtTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3pELENBQUM7O21IQW5EVSxxQkFBcUIscUdBcUJ0QixzQkFBc0I7dUdBckJyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx5Q0FBeUMsRUFBRTs7MEJBc0I3RCxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBRTdCLFFBQVE7NENBdEJlLFVBQVU7c0JBQW5DLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNTLGFBQWE7c0JBQTdDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUtsQixtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUVGLDZCQUE2QjtzQkFEaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzUGVybWlzc2lvbkNoZWNrZXIge1xuICBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb25LZXk6IHN0cmluZyk6IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBUaGlzIGNoZWNrZXIgYWx3YXlzIHJldHVybnMgdHJ1ZSwgYmFzaWNhbGx5IGRpc2FibGluZyB0aGUgcGVybWlzc2lvbiBzeXN0ZW0gb24gdGhlIFVJIHNpZGVcbiAqL1xuZXhwb3J0IGNsYXNzIEFsd2F5c0dyYW50UGVybWlzc2lvbkNoZWNrZXIgaW1wbGVtZW50cyBIYXNQZXJtaXNzaW9uQ2hlY2tlciB7XG4gIGhhc1Blcm1pc3Npb24oX3Blcm1pc3Npb25LZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBIQVNfUEVSTUlTU0lPTl9DSEVDS0VSID0gbmV3IEluamVjdGlvblRva2VuPEhhc1Blcm1pc3Npb25DaGVja2VyPignaGFzUGVybWlzc2lvbicpXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tvY3hJZlBlcm1pc3Npb25dLCBbb2N4SWZOb3RQZXJtaXNzaW9uXScgfSlcbmV4cG9ydCBjbGFzcyBJZlBlcm1pc3Npb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoJ29jeElmUGVybWlzc2lvbicpIHBlcm1pc3Npb246IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoJ29jeElmTm90UGVybWlzc2lvbicpIHNldCBub3RQZXJtaXNzaW9uKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnBlcm1pc3Npb24gPSB2YWx1ZVxuICAgIHRoaXMubmVnYXRlID0gdHJ1ZVxuICB9XG5cbiAgQElucHV0KCkgb25NaXNzaW5nUGVybWlzc2lvbjogJ2hpZGUnIHwgJ2Rpc2FibGUnID0gJ2hpZGUnXG5cbiAgQElucHV0KCkgb2N4SWZQZXJtaXNzaW9uUGVybWlzc2lvbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpXG4gIHNldCBvY3hJZk5vdFBlcm1pc3Npb25QZXJtaXNzaW9ucyh2YWx1ZTogc3RyaW5nW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm9jeElmUGVybWlzc2lvblBlcm1pc3Npb25zID0gdmFsdWVcbiAgfVxuXG4gIG5lZ2F0ZSA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIEBJbmplY3QoSEFTX1BFUk1JU1NJT05fQ0hFQ0tFUilcbiAgICBwcml2YXRlIHBlcm1pc3Npb25DaGVja2VyOiBIYXNQZXJtaXNzaW9uQ2hlY2tlcixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PlxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGVybWlzc2lvbikge1xuICAgICAgaWYgKHRoaXMubmVnYXRlID09PSB0aGlzLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uKSkge1xuICAgICAgICBpZiAodGhpcy5vbk1pc3NpbmdQZXJtaXNzaW9uID09PSAnZGlzYWJsZScpIHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICdkaXNhYmxlZCcpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb246IHN0cmluZykge1xuICAgIGlmICh0aGlzLm9jeElmUGVybWlzc2lvblBlcm1pc3Npb25zKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9jeElmUGVybWlzc2lvblBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pXG4gICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICBjb25zb2xlLmxvZygn8J+RruKAjeKZgO+4jyBObyBwZXJtaXNzaW9uIGluIG92ZXJ3cml0ZXMgZm9yOiBgJywgcGVybWlzc2lvbilcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbkNoZWNrZXIuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKVxuICB9XG59XG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Directive, ElementRef, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class SrcDirective {
|
|
6
|
-
get ocxSrc() {
|
|
7
|
-
return this._src;
|
|
8
|
-
}
|
|
9
|
-
set ocxSrc(value) {
|
|
10
|
-
if (value && this._src !== value) {
|
|
11
|
-
try {
|
|
12
|
-
if (new URL(value, window.location.origin).hostname === window.location.hostname) {
|
|
13
|
-
this.httpClient.get(value, { responseType: 'blob' }).subscribe({
|
|
14
|
-
next: (blob) => {
|
|
15
|
-
const url = URL.createObjectURL(blob);
|
|
16
|
-
this.el.nativeElement.onload = () => {
|
|
17
|
-
URL.revokeObjectURL(url);
|
|
18
|
-
};
|
|
19
|
-
this.el.nativeElement.src = url;
|
|
20
|
-
this.el.nativeElement.style.visibility = 'initial';
|
|
21
|
-
},
|
|
22
|
-
error: () => {
|
|
23
|
-
this.error.emit();
|
|
24
|
-
this.el.nativeElement.style.visibility = 'initial';
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
this.el.nativeElement.src = value;
|
|
30
|
-
this.el.nativeElement.style.visibility = 'initial';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
console.log('Cannot parse URL ', value, error);
|
|
35
|
-
this.el.nativeElement.src = value;
|
|
36
|
-
this.el.nativeElement.style.visibility = 'initial';
|
|
37
|
-
}
|
|
38
|
-
this._src = value;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
constructor(el, httpClient) {
|
|
42
|
-
this.el = el;
|
|
43
|
-
this.httpClient = httpClient;
|
|
44
|
-
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
45
|
-
this.error = new EventEmitter();
|
|
46
|
-
this.el.nativeElement.style.visibility = 'hidden';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
SrcDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SrcDirective, deps: [{ token: i0.ElementRef }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
-
SrcDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: SrcDirective, selector: "[ocxSrc]", inputs: { ocxSrc: "ocxSrc" }, outputs: { error: "error" }, ngImport: i0 });
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SrcDirective, decorators: [{
|
|
52
|
-
type: Directive,
|
|
53
|
-
args: [{ selector: '[ocxSrc]' }]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.HttpClient }]; }, propDecorators: { error: [{
|
|
55
|
-
type: Output
|
|
56
|
-
}], ocxSrc: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL2RpcmVjdGl2ZXMvc3JjLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQUdsRixNQUFNLE9BQU8sWUFBWTtJQU12QixJQUNJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLEtBQXlCO1FBQ2xDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ2hDLElBQUk7Z0JBQ0YsSUFBSSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hGLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDN0QsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQ2IsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTs0QkFDckMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQ0FDbEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTs0QkFDMUIsQ0FBQyxDQUFBOzRCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7NEJBQy9CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO3dCQUNwRCxDQUFDO3dCQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7NEJBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTs0QkFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7d0JBQ3BELENBQUM7cUJBQ0YsQ0FBQyxDQUFBO2lCQUNIO3FCQUFNO29CQUNMLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUE7b0JBQ2pDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO2lCQUNuRDthQUNGO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7Z0JBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUE7Z0JBQ2pDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO2FBQ25EO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUE7U0FDbEI7SUFDSCxDQUFDO0lBRUQsWUFBb0IsRUFBYyxFQUFVLFVBQXNCO1FBQTlDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdENsRSw0REFBNEQ7UUFDbEQsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFzQ3hDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFBO0lBQ25ELENBQUM7OzBHQTNDVSxZQUFZOzhGQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFEeEIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUU7MEhBS3ZCLEtBQUs7c0JBQWQsTUFBTTtnQkFHSCxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tvY3hTcmNdJyB9KVxuZXhwb3J0IGNsYXNzIFNyY0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgX3NyYzogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIEBJbnB1dCgpXG4gIGdldCBvY3hTcmMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3JjXG4gIH1cbiAgc2V0IG9jeFNyYyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHRoaXMuX3NyYyAhPT0gdmFsdWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChuZXcgVVJMKHZhbHVlLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5ob3N0bmFtZSA9PT0gd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSB7XG4gICAgICAgICAgdGhpcy5odHRwQ2xpZW50LmdldCh2YWx1ZSwgeyByZXNwb25zZVR5cGU6ICdibG9iJyB9KS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKGJsb2IpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKVxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zcmMgPSB1cmxcbiAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaW5pdGlhbCdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmVycm9yLmVtaXQoKVxuICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdpbml0aWFsJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zcmMgPSB2YWx1ZVxuICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2luaXRpYWwnXG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdDYW5ub3QgcGFyc2UgVVJMICcsIHZhbHVlLCBlcnJvcilcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNyYyA9IHZhbHVlXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2luaXRpYWwnXG4gICAgICB9XG4gICAgICB0aGlzLl9zcmMgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcbiAgfVxufVxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export function flattenObject(ob) {
|
|
2
|
-
const toReturn = {};
|
|
3
|
-
for (const i in ob) {
|
|
4
|
-
if (!Object.prototype.hasOwnProperty.call(ob, i))
|
|
5
|
-
continue;
|
|
6
|
-
if (!!ob[i] && typeof ob[i] == 'object' && !(ob[i] instanceof Date) && !Array.isArray(ob[i])) {
|
|
7
|
-
const flatObject = flattenObject(ob[i]);
|
|
8
|
-
for (const x in flatObject) {
|
|
9
|
-
if (!Object.prototype.hasOwnProperty.call(flatObject, x))
|
|
10
|
-
continue;
|
|
11
|
-
toReturn[i + '.' + x] = flatObject[x];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
toReturn[i] = ob[i];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return toReturn;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlbi1vYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9mdW5jdGlvbnMvZmxhdHRlbi1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE1BQU0sVUFBVSxhQUFhLENBQW9DLEVBQUs7SUFDcEUsTUFBTSxRQUFRLEdBQTRCLEVBQUUsQ0FBQTtJQUU1QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFBRSxTQUFRO1FBRTFELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDNUYsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQTRCLENBQUMsQ0FBQTtZQUNsRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO29CQUFFLFNBQVE7Z0JBRWxFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFJLFVBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7YUFDL0M7U0FDRjthQUFNO1lBQ0wsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNwQjtLQUNGO0lBQ0QsT0FBTyxRQUFxQixDQUFBO0FBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIEV4dGVuZDxUT2JqIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIEsgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBbVEtleSBpbiBrZXlvZiBUT2JqICYgc3RyaW5nIGFzIGAke0t9JHtUS2V5fWBdOiBUT2JqW1RLZXldIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICA/IEV4dGVuZDxUT2JqW1RLZXldLCBgJHtLfSR7VEtleX0uYD5cbiAgICA6IFRPYmpbVEtleV1cbn1cblxudHlwZSBOb25PYmplY3RLZXlzT2Y8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQXJyYXk8YW55PiA/IEsgOiBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gKFRbS10gZXh0ZW5kcyBEYXRlID8gSyA6IG5ldmVyKSA6IEtcbn1ba2V5b2YgVF1cblxudHlwZSBPYmplY3RLZXlzT2Y8VD4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgQXJyYXk8YW55PiA/IG5ldmVyIDogVFtLXSBleHRlbmRzIG9iamVjdCA/IEsgOiBuZXZlclxufVtrZXlvZiBUXVxuXG50eXBlIEZpbHRlcjxUT2JqIGV4dGVuZHMgb2JqZWN0LCBUS2V5ID0ga2V5b2YgVE9iaj4gPSBUS2V5IGV4dGVuZHMga2V5b2YgVE9ialxuICA/IFRPYmpbVEtleV0gZXh0ZW5kcyBBcnJheTxhbnk+XG4gICAgPyBUT2JqXG4gICAgOiBUT2JqW1RLZXldIGV4dGVuZHMgb2JqZWN0XG4gICAgPyBGaWx0ZXI8VE9ialtUS2V5XT5cbiAgICA6IFBpY2s8VE9iaiwgTm9uT2JqZWN0S2V5c09mPFRPYmo+PiB8IEZpbHRlcjxQaWNrPFRPYmosIE9iamVjdEtleXNPZjxUT2JqPj4+XG4gIDogbmV2ZXJcblxudHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFU+ID0gKFUgZXh0ZW5kcyBhbnkgPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyKSBleHRlbmRzIChrOiBpbmZlciBJKSA9PiB2b2lkID8gSSA6IG5ldmVyXG5cbmV4cG9ydCB0eXBlIFJlc3VsdDxUT2JqIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+ID0gVW5pb25Ub0ludGVyc2VjdGlvbjxGaWx0ZXI8RXh0ZW5kPFRPYmosICcnPj4+XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuT2JqZWN0PE8gZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ob2I6IE8pOiBSZXN1bHQ8Tz4ge1xuICBjb25zdCB0b1JldHVybjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fVxuXG4gIGZvciAoY29uc3QgaSBpbiBvYikge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iLCBpKSkgY29udGludWVcblxuICAgIGlmICghIW9iW2ldICYmIHR5cGVvZiBvYltpXSA9PSAnb2JqZWN0JyAmJiAhKG9iW2ldIGluc3RhbmNlb2YgRGF0ZSkgJiYgIUFycmF5LmlzQXJyYXkob2JbaV0pKSB7XG4gICAgICBjb25zdCBmbGF0T2JqZWN0ID0gZmxhdHRlbk9iamVjdChvYltpXSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgIGZvciAoY29uc3QgeCBpbiBmbGF0T2JqZWN0KSB7XG4gICAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZsYXRPYmplY3QsIHgpKSBjb250aW51ZVxuXG4gICAgICAgIHRvUmV0dXJuW2kgKyAnLicgKyB4XSA9IChmbGF0T2JqZWN0IGFzIGFueSlbeF1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdG9SZXR1cm5baV0gPSBvYltpXVxuICAgIH1cbiAgfVxuICByZXR1cm4gdG9SZXR1cm4gYXMgUmVzdWx0PE8+XG59XG4iXX0=
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';
|
|
2
|
-
import { Inject, Injector, LOCALE_ID, Pipe } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DynamicPipe {
|
|
5
|
-
constructor(locale, injector) {
|
|
6
|
-
this.injector = injector;
|
|
7
|
-
this.knownPipes = {};
|
|
8
|
-
this.knownPipes = {
|
|
9
|
-
currency: new CurrencyPipe(locale),
|
|
10
|
-
decimal: new DecimalPipe(locale),
|
|
11
|
-
date: new DatePipe(locale),
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
transform(value, requiredPipe, pipeArgs) {
|
|
15
|
-
if (!requiredPipe) {
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
const injector = Injector.create({
|
|
19
|
-
name: 'DynamicPipe',
|
|
20
|
-
parent: this.injector,
|
|
21
|
-
providers: [{ provide: requiredPipe }],
|
|
22
|
-
});
|
|
23
|
-
const pipe = injector.get(requiredPipe);
|
|
24
|
-
return pipe.transform(value, pipeArgs);
|
|
25
|
-
}
|
|
26
|
-
transform2(value, pipeToken, ...pipeArgs) {
|
|
27
|
-
if (!pipeToken) {
|
|
28
|
-
return value;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
32
|
-
if (pipeToken && this.knownPipes.hasOwnProperty(pipeToken)) {
|
|
33
|
-
const pipe = this.knownPipes[pipeToken];
|
|
34
|
-
if (Array.isArray(pipeArgs)) {
|
|
35
|
-
return pipe.transform(value, ...pipeArgs);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return pipe.transform(value, pipeArgs);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return value;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
DynamicPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicPipe, deps: [{ token: LOCALE_ID }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
48
|
-
DynamicPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DynamicPipe, name: "dynamicPipe" });
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicPipe, decorators: [{
|
|
50
|
-
type: Pipe,
|
|
51
|
-
args: [{
|
|
52
|
-
name: 'dynamicPipe',
|
|
53
|
-
}]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
55
|
-
type: Inject,
|
|
56
|
-
args: [LOCALE_ID]
|
|
57
|
-
}] }, { type: i0.Injector }]; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvcGlwZXMvZHluYW1pYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXVCLE1BQU0sZUFBZSxDQUFBOztBQUt0RixNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFzQyxNQUFjLEVBQVUsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQURoRixlQUFVLEdBQXNDLEVBQUUsQ0FBQTtRQUVoRCxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFFBQVEsRUFBRSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDbEMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQzNCLENBQUE7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxZQUF3QixFQUFFLFFBQWM7UUFDNUQsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQTtTQUNiO1FBRUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixJQUFJLEVBQUUsYUFBYTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDckIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7U0FDdkMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN2QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVSxFQUFFLFNBQWMsRUFBRSxHQUFHLFFBQWU7UUFDdkQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFBO1NBQ2I7YUFBTTtZQUNMLGlEQUFpRDtZQUNqRCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDdkMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMzQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUE7aUJBQzFDO3FCQUFNO29CQUNMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7aUJBQ3ZDO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUE7YUFDYjtTQUNGO0lBQ0gsQ0FBQzs7eUdBeENVLFdBQVcsa0JBRUssU0FBUzt1R0FGekIsV0FBVzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxhQUFhO2lCQUNwQjs7MEJBR3FCLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RvciwgTE9DQUxFX0lELCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuQFBpcGUoe1xuICBuYW1lOiAnZHluYW1pY1BpcGUnLFxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBrbm93blBpcGVzOiB7IFtuYW1lOiBzdHJpbmddOiBQaXBlVHJhbnNmb3JtIH0gPSB7fVxuICBwdWJsaWMgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMua25vd25QaXBlcyA9IHtcbiAgICAgIGN1cnJlbmN5OiBuZXcgQ3VycmVuY3lQaXBlKGxvY2FsZSksXG4gICAgICBkZWNpbWFsOiBuZXcgRGVjaW1hbFBpcGUobG9jYWxlKSxcbiAgICAgIGRhdGU6IG5ldyBEYXRlUGlwZShsb2NhbGUpLFxuICAgIH1cbiAgfVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCByZXF1aXJlZFBpcGU/OiBUeXBlPGFueT4sIHBpcGVBcmdzPzogYW55KTogYW55IHtcbiAgICBpZiAoIXJlcXVpcmVkUGlwZSkge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfVxuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgbmFtZTogJ0R5bmFtaWNQaXBlJyxcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogcmVxdWlyZWRQaXBlIH1dLFxuICAgIH0pXG4gICAgY29uc3QgcGlwZSA9IGluamVjdG9yLmdldChyZXF1aXJlZFBpcGUpXG4gICAgcmV0dXJuIHBpcGUudHJhbnNmb3JtKHZhbHVlLCBwaXBlQXJncylcbiAgfVxuXG4gIHRyYW5zZm9ybTIodmFsdWU6IGFueSwgcGlwZVRva2VuOiBhbnksIC4uLnBpcGVBcmdzOiBhbnlbXSk6IGFueSB7XG4gICAgaWYgKCFwaXBlVG9rZW4pIHtcbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICBpZiAocGlwZVRva2VuICYmIHRoaXMua25vd25QaXBlcy5oYXNPd25Qcm9wZXJ0eShwaXBlVG9rZW4pKSB7XG4gICAgICAgIGNvbnN0IHBpcGUgPSB0aGlzLmtub3duUGlwZXNbcGlwZVRva2VuXVxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwaXBlQXJncykpIHtcbiAgICAgICAgICByZXR1cm4gcGlwZS50cmFuc2Zvcm0odmFsdWUsIC4uLnBpcGVBcmdzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBwaXBlLnRyYW5zZm9ybSh2YWx1ZSwgcGlwZUFyZ3MpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, NgZone, Pipe } from '@angular/core';
|
|
2
|
-
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@ngx-translate/core";
|
|
5
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
6
|
-
export class OcxTimeAgoPipe extends TranslatePipe {
|
|
7
|
-
constructor(changeDetectorRef, ngZone, translateService) {
|
|
8
|
-
super(translateService, changeDetectorRef);
|
|
9
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
10
|
-
this.ngZone = ngZone;
|
|
11
|
-
this.translateService = translateService;
|
|
12
|
-
}
|
|
13
|
-
transform(value) {
|
|
14
|
-
this.removeTimer();
|
|
15
|
-
const d = new Date(value);
|
|
16
|
-
const now = new Date();
|
|
17
|
-
const seconds = Math.round(Math.abs((now.getTime() - d.getTime()) / 1000));
|
|
18
|
-
const timeToUpdate = Number.isNaN(seconds) ? 1000 : this.getSecondsUntilUpdate(seconds) * 1000;
|
|
19
|
-
this.timer = this.ngZone.runOutsideAngular(() => {
|
|
20
|
-
if (typeof window !== 'undefined') {
|
|
21
|
-
return window.setTimeout(() => {
|
|
22
|
-
this.ngZone.run(() => this.changeDetectorRef.markForCheck());
|
|
23
|
-
}, timeToUpdate);
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
});
|
|
27
|
-
const minutes = Math.round(Math.abs(seconds / 60));
|
|
28
|
-
const hours = Math.round(Math.abs(minutes / 60));
|
|
29
|
-
const days = Math.round(Math.abs(hours / 24));
|
|
30
|
-
const months = Math.round(Math.abs(days / 30.416));
|
|
31
|
-
const years = Math.round(Math.abs(days / 365));
|
|
32
|
-
let translationKey = 'UNKNOWN';
|
|
33
|
-
if (Number.isNaN(seconds)) {
|
|
34
|
-
translationKey = 'NAN';
|
|
35
|
-
}
|
|
36
|
-
else if (seconds <= 45) {
|
|
37
|
-
translationKey = 'A_FEW_SECONDS_AGO';
|
|
38
|
-
}
|
|
39
|
-
else if (seconds <= 90) {
|
|
40
|
-
translationKey = 'A_MINUTE_AGO';
|
|
41
|
-
}
|
|
42
|
-
else if (minutes <= 45) {
|
|
43
|
-
translationKey = 'MINUTES_AGO';
|
|
44
|
-
}
|
|
45
|
-
else if (minutes <= 90) {
|
|
46
|
-
translationKey = 'AN_HOUR_AGO';
|
|
47
|
-
}
|
|
48
|
-
else if (hours <= 22) {
|
|
49
|
-
translationKey = 'HOURS_AGO';
|
|
50
|
-
}
|
|
51
|
-
else if (hours <= 36) {
|
|
52
|
-
translationKey = 'A_DAY_AGO';
|
|
53
|
-
}
|
|
54
|
-
else if (days <= 25) {
|
|
55
|
-
translationKey = 'DAYS_AGO';
|
|
56
|
-
}
|
|
57
|
-
else if (days <= 45) {
|
|
58
|
-
translationKey = 'A_MONTH_AGO';
|
|
59
|
-
}
|
|
60
|
-
else if (days <= 345) {
|
|
61
|
-
translationKey = 'MONTHS_AGO';
|
|
62
|
-
}
|
|
63
|
-
else if (days <= 545) {
|
|
64
|
-
translationKey = 'A_YEAR_AGO';
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
translationKey = 'YEARS_AGO';
|
|
68
|
-
}
|
|
69
|
-
return super.transform('OCX_TIMEAGO.' + translationKey, { minutes, hours, days, months, years });
|
|
70
|
-
}
|
|
71
|
-
ngOnDestroy() {
|
|
72
|
-
this.removeTimer();
|
|
73
|
-
super.ngOnDestroy();
|
|
74
|
-
}
|
|
75
|
-
removeTimer() {
|
|
76
|
-
if (this.timer) {
|
|
77
|
-
window.clearTimeout(this.timer);
|
|
78
|
-
this.timer = null;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
getSecondsUntilUpdate(seconds) {
|
|
82
|
-
const min = 60;
|
|
83
|
-
const hr = min * 60;
|
|
84
|
-
const day = hr * 24;
|
|
85
|
-
if (seconds < min) {
|
|
86
|
-
return 2;
|
|
87
|
-
}
|
|
88
|
-
else if (seconds < hr) {
|
|
89
|
-
return 30;
|
|
90
|
-
}
|
|
91
|
-
else if (seconds < day) {
|
|
92
|
-
return 300;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
return 3600;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
OcxTimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OcxTimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
100
|
-
OcxTimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OcxTimeAgoPipe, name: "timeago" });
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OcxTimeAgoPipe, decorators: [{
|
|
102
|
-
type: Pipe,
|
|
103
|
-
args: [{
|
|
104
|
-
name: 'timeago',
|
|
105
|
-
}]
|
|
106
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.TranslateService }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2N4dGltZWFnby5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvcGlwZXMvb2N4dGltZWFnby5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7OztBQUtyRSx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBRS9DLFlBQ1UsaUJBQW9DLEVBQ3BDLE1BQWMsRUFDZCxnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLENBQUE7UUFKbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUc1QyxDQUFDO0lBQ1EsU0FBUyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDMUUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMs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LElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFBO1NBQ2xCO0lBQ0gsQ0FBQztJQUNPLHFCQUFxQixDQUFDLE9BQWU7UUFDM0MsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFBO1FBQ2QsTUFBTSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQTtRQUNuQixNQUFNLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQ25CLElBQUksT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQTtTQUNUO2FBQU0sSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sRUFBRSxDQUFBO1NBQ1Y7YUFBTSxJQUFJLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDeEIsT0FBTyxHQUFHLENBQUE7U0FDWDthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUE7U0FDWjtJQUNILENBQUM7OzRHQS9FVSxjQUFjOzBHQUFkLGNBQWM7NEZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgTmdab25lLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RpbWVhZ28nLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIE9jeFRpbWVBZ29QaXBlIGV4dGVuZHMgVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgdGltZXI6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGxcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSwgY2hhbmdlRGV0ZWN0b3JSZWYpXG4gIH1cbiAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlbW92ZVRpbWVyKClcbiAgICBjb25zdCBkID0gbmV3IERhdGUodmFsdWUpXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKVxuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKChub3cuZ2V0VGltZSgpIC0gZC5nZXRUaW1lKCkpIC8gMTAwMCkpXG4gICAgY29uc3QgdGltZVRvVXBkYXRlID0gTnVtYmVyLmlzTmFOKHNlY29uZHMpID8gMTAwMCA6IHRoaXMuZ2V0U2Vjb25kc1VudGlsVXBkYXRlKHNlY29uZHMpICogMTAwMFxuICAgIHRoaXMudGltZXIgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSlcbiAgICAgICAgfSwgdGltZVRvVXBkYXRlKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9KVxuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKHNlY29uZHMgLyA2MCkpXG4gICAgY29uc3QgaG91cnMgPSBNYXRoLnJvdW5kKE1hdGguYWJzKG1pbnV0ZXMgLyA2MCkpXG4gICAgY29uc3QgZGF5cyA9IE1hdGgucm91bmQoTWF0aC5hYnMoaG91cnMgLyAyNCkpXG4gICAgY29uc3QgbW9udGhzID0gTWF0aC5yb3VuZChNYXRoLmFicyhkYXlzIC8gMzAuNDE2KSlcbiAgICBjb25zdCB5ZWFycyA9IE1hdGgucm91bmQoTWF0aC5hYnMoZGF5cyAvIDM2NSkpXG4gICAgbGV0IHRyYW5zbGF0aW9uS2V5ID0gJ1VOS05PV04nXG4gICAgaWYgKE51bWJlci5pc05hTihzZWNvbmRzKSkge1xuICAgICAgdHJhbnNsYXRpb25LZXkgPSAnTkFOJ1xuICAgIH0gZWxzZSBpZiAoc2Vjb25kcyA8PSA0NSkge1xuICAgICAgdHJhbnNsYXRpb25LZXkgPSAnQV9GRVdfU0VDT05EU19BR08nXG4gICAgfSBlbHNlIGlmIChzZWNvbmRzIDw9IDkwKSB7XG4gICAgICB0cmFuc2xhdGlvbktleSA9ICdBX01JTlVURV9BR08nXG4gICAgfSBlbHNlIGlmIChtaW51dGVzIDw9IDQ1KSB7XG4gICAgICB0cmFuc2xhdGlvbktleSA9ICdNSU5VVEVTX0FHTydcbiAgICB9IGVsc2UgaWYgKG1pbnV0ZXMgPD0gOTApIHtcbiAgICAgIHRyYW5zbGF0aW9uS2V5ID0gJ0FOX0hPVVJfQUdPJ1xuICAgIH0gZWxzZSBpZiAoaG91cnMgPD0gMjIpIHtcbiAgICAgIHRyYW5zbGF0aW9uS2V5ID0gJ0hPVVJTX0FHTydcbiAgICB9IGVsc2UgaWYgKGhvdXJzIDw9IDM2KSB7XG4gICAgICB0cmFuc2xhdGlvbktleSA9ICdBX0RBWV9BR08nXG4gICAgfSBlbHNlIGlmIChkYXlzIDw9IDI1KSB7XG4gICAgICB0cmFuc2xhdGlvbktleSA9ICdEQVlTX0FHTydcbiAgICB9IGVsc2UgaWYgKGRheXMgPD0gNDUpIHtcbiAgICAgIHRyYW5zbGF0aW9uS2V5ID0gJ0FfTU9OVEhfQUdPJ1xuICAgIH0gZWxzZSBpZiAoZGF5cyA8PSAzNDUpIHtcbiAgICAgIHRyYW5zbGF0aW9uS2V5ID0gJ01PTlRIU19BR08nXG4gICAgfSBlbHNlIGlmIChkYXlzIDw9IDU0NSkge1xuICAgICAgdHJhbnNsYXRpb25LZXkgPSAnQV9ZRUFSX0FHTydcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNsYXRpb25LZXkgPSAnWUVBUlNfQUdPJ1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKCdPQ1hfVElNRUFHTy4nICsgdHJhbnNsYXRpb25LZXksIHsgbWludXRlcywgaG91cnMsIGRheXMsIG1vbnRocywgeWVhcnMgfSlcbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZVRpbWVyKClcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpXG4gIH1cbiAgcHJpdmF0ZSByZW1vdmVUaW1lcigpIHtcbiAgICBpZiAodGhpcy50aW1lcikge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKVxuICAgICAgdGhpcy50aW1lciA9IG51bGxcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRTZWNvbmRzVW50aWxVcGRhdGUoc2Vjb25kczogbnVtYmVyKSB7XG4gICAgY29uc3QgbWluID0gNjBcbiAgICBjb25zdCBociA9IG1pbiAqIDYwXG4gICAgY29uc3QgZGF5ID0gaHIgKiAyNFxuICAgIGlmIChzZWNvbmRzIDwgbWluKSB7XG4gICAgICByZXR1cm4gMlxuICAgIH0gZWxzZSBpZiAoc2Vjb25kcyA8IGhyKSB7XG4gICAgICByZXR1cm4gMzBcbiAgICB9IGVsc2UgaWYgKHNlY29uZHMgPCBkYXkpIHtcbiAgICAgIHJldHVybiAzMDBcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDM2MDBcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Location } from '@angular/common';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common/http";
|
|
7
|
-
export class AppConfigService {
|
|
8
|
-
constructor(http) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.config$ = new BehaviorSubject({});
|
|
11
|
-
}
|
|
12
|
-
init(baseUrl) {
|
|
13
|
-
return new Promise((resolve, reject) => {
|
|
14
|
-
const loadConfigPromise = firstValueFrom(this.http.get(Location.joinWithSlash(baseUrl, 'assets/env.json')));
|
|
15
|
-
loadConfigPromise
|
|
16
|
-
.then(async (config) => {
|
|
17
|
-
if (config) {
|
|
18
|
-
this.config$.next(config);
|
|
19
|
-
resolve();
|
|
20
|
-
}
|
|
21
|
-
})
|
|
22
|
-
.catch((e) => {
|
|
23
|
-
console.log(`Failed to load env configuration`);
|
|
24
|
-
reject(e);
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
getProperty(key) {
|
|
29
|
-
return this.config$.getValue()?.[key];
|
|
30
|
-
}
|
|
31
|
-
setProperty(key, val) {
|
|
32
|
-
this.config$.next({ ...this.config$.value, [key]: val });
|
|
33
|
-
}
|
|
34
|
-
getConfig() {
|
|
35
|
-
return this.config$.getValue();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
AppConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppConfigService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
-
AppConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppConfigService });
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppConfigService, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvc2VydmljZXMvYXBwLWNvbmZpZy1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBR3RELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUZwQyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFBO0lBRXJCLENBQUM7SUFFakMsSUFBSSxDQUFDLE9BQWU7UUFDekIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLGlCQUFpQixHQUFvQixjQUFjLENBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FDMUUsQ0FBQTtZQUVELGlCQUFpQjtpQkFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQixJQUFJLE1BQU0sRUFBRTtvQkFDVixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDekIsT0FBTyxFQUFFLENBQUE7aUJBQ1Y7WUFDSCxDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO2dCQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDWCxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOzs4R0FuQ1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlIHtcbiAgY29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4oe30pXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIHB1YmxpYyBpbml0KGJhc2VVcmw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBsb2FkQ29uZmlnUHJvbWlzZTogUHJvbWlzZTxDb25maWc+ID0gZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIHRoaXMuaHR0cC5nZXQ8Q29uZmlnPihMb2NhdGlvbi5qb2luV2l0aFNsYXNoKGJhc2VVcmwsICdhc3NldHMvZW52Lmpzb24nKSlcbiAgICAgIClcblxuICAgICAgbG9hZENvbmZpZ1Byb21pc2VcbiAgICAgICAgLnRoZW4oYXN5bmMgKGNvbmZpZykgPT4ge1xuICAgICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnJC5uZXh0KGNvbmZpZylcbiAgICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byBsb2FkIGVudiBjb25maWd1cmF0aW9uYClcbiAgICAgICAgICByZWplY3QoZSlcbiAgICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGdldFByb3BlcnR5KGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWckLmdldFZhbHVlKCk/LltrZXldXG4gIH1cblxuICBwdWJsaWMgc2V0UHJvcGVydHkoa2V5OiBzdHJpbmcsIHZhbDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maWckLm5leHQoeyAuLi50aGlzLmNvbmZpZyQudmFsdWUsIFtrZXldOiB2YWwgfSlcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWcoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5nZXRWYWx1ZSgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
|
4
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
5
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
|
-
import { BehaviorSubject, filter } from 'rxjs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/router";
|
|
9
|
-
import * as i2 from "@ngx-translate/core";
|
|
10
|
-
let BreadcrumbService = class BreadcrumbService {
|
|
11
|
-
constructor(router, activeRoute, translateService) {
|
|
12
|
-
this.router = router;
|
|
13
|
-
this.activeRoute = activeRoute;
|
|
14
|
-
this.translateService = translateService;
|
|
15
|
-
this.itemsSource = new BehaviorSubject([]);
|
|
16
|
-
this.generatedItemsSource = new BehaviorSubject([]);
|
|
17
|
-
this.itemsHandler = this.itemsSource.asObservable();
|
|
18
|
-
this.generateBreadcrumbs(this.activeRoute.snapshot);
|
|
19
|
-
this.router.events
|
|
20
|
-
.pipe(untilDestroyed(this), filter((e) => e instanceof NavigationEnd))
|
|
21
|
-
.subscribe(() => {
|
|
22
|
-
const root = this.router.routerState.snapshot.root;
|
|
23
|
-
this.generateBreadcrumbs(root);
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
generateBreadcrumbs(route) {
|
|
27
|
-
if (route?.data['mfeInfo']) {
|
|
28
|
-
const breadcrumbs = [
|
|
29
|
-
{
|
|
30
|
-
label: route.data['mfeInfo'].productName,
|
|
31
|
-
routerLink: route.data['mfeInfo'].baseHref,
|
|
32
|
-
},
|
|
33
|
-
];
|
|
34
|
-
const baseUrl = route.data['mfeInfo'].baseHref.split('/').filter((value) => value);
|
|
35
|
-
const parentUrl = route.url.map((url) => url.path);
|
|
36
|
-
const isUsingMatcher = !parentUrl.every((item) => baseUrl.includes(item));
|
|
37
|
-
if (isUsingMatcher) {
|
|
38
|
-
this.createBreadcrumb(route, parentUrl, breadcrumbs);
|
|
39
|
-
}
|
|
40
|
-
this.addBreadcrumb(route.firstChild, parentUrl, breadcrumbs);
|
|
41
|
-
this.generatedItemsSource.next(breadcrumbs);
|
|
42
|
-
}
|
|
43
|
-
else if (route?.data['breadcrumb']) {
|
|
44
|
-
const breadcrumbs = [];
|
|
45
|
-
this.addBreadcrumb(route, [], breadcrumbs);
|
|
46
|
-
this.generatedItemsSource.next(breadcrumbs);
|
|
47
|
-
}
|
|
48
|
-
else if (route) {
|
|
49
|
-
this.generateBreadcrumbs(route.firstChild);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
addBreadcrumb(route, parentUrl, breadcrumbs) {
|
|
53
|
-
if (route && route.url) {
|
|
54
|
-
const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
|
|
55
|
-
if (route.routeConfig?.path) {
|
|
56
|
-
this.createBreadcrumb(route, routeUrl, breadcrumbs);
|
|
57
|
-
}
|
|
58
|
-
this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
createBreadcrumb(route, routeUrl, breadcrumbs) {
|
|
62
|
-
if (route.data['breadcrumb']) {
|
|
63
|
-
const breadcrumb = {
|
|
64
|
-
label: this.getLabel(route.data, route.paramMap),
|
|
65
|
-
routerLink: '/' + routeUrl.join('/'),
|
|
66
|
-
};
|
|
67
|
-
breadcrumbs.push(breadcrumb);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
const breadcrumb = {
|
|
71
|
-
label: 'NA',
|
|
72
|
-
routerLink: '/' + routeUrl.join('/'),
|
|
73
|
-
};
|
|
74
|
-
breadcrumbs.push(breadcrumb);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
getLabel(data, params) {
|
|
78
|
-
if (typeof data['breadcrumbFn'] === 'function') {
|
|
79
|
-
return data['breadcrumbFn'](data, params);
|
|
80
|
-
}
|
|
81
|
-
return data['breadcrumb'];
|
|
82
|
-
}
|
|
83
|
-
setItems(items) {
|
|
84
|
-
const translationKeys = [
|
|
85
|
-
...items.map((i) => i.labelKey || '').filter((l) => !!l),
|
|
86
|
-
...items.map((i) => i.titleKey || '').filter((l) => !!l),
|
|
87
|
-
];
|
|
88
|
-
if (translationKeys.length) {
|
|
89
|
-
this.translateService.get(translationKeys).subscribe((translations) => {
|
|
90
|
-
this.itemsSource.next(items.map((i) => ({
|
|
91
|
-
...i,
|
|
92
|
-
label: translations[i.labelKey || ''] || i.label,
|
|
93
|
-
title: translations[i.titleKey || ''] || i.title,
|
|
94
|
-
})));
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
this.itemsSource.next(items);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
103
|
-
BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadcrumbService, providedIn: 'any' });
|
|
104
|
-
BreadcrumbService = __decorate([
|
|
105
|
-
UntilDestroy(),
|
|
106
|
-
__metadata("design:paramtypes", [Router, ActivatedRoute, TranslateService])
|
|
107
|
-
], BreadcrumbService);
|
|
108
|
-
export { BreadcrumbService };
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
110
|
-
type: Injectable,
|
|
111
|
-
args: [{ providedIn: 'any' }]
|
|
112
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }]; } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQWdDLGFBQWEsRUFBWSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBTXZDLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBTTVCLFlBQW9CLE1BQWMsRUFBVSxXQUEyQixFQUFVLGdCQUFrQztRQUEvRixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUwzRyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBRTFELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUc1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUNwQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVB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QztTQUN6RCxDQUFBO1FBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBaUIsRUFBRSxFQUFFO2dCQUN6RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDaEIsR0FBRyxDQUFDO29CQUNKLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSztvQkFDaEQsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLO2lCQUNqRCxDQUFDLENBQUMsQ0FDSixDQUFBO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDN0I7SUFDSCxDQUFDOzsrR0FoR1UsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGSixLQUFLO0FBRWxCLGlCQUFpQjtJQUQ3QixZQUFZLEVBQUU7cUNBT2UsTUFBTSxFQUF1QixjQUFjLEVBQTRCLGdCQUFnQjtHQU54RyxpQkFBaUIsQ0FpRzdCO1NBakdZLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUY3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIERhdGEsIE5hdmlnYXRpb25FbmQsIFBhcmFtTWFwLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJ1xuaW1wb3J0IHsgQnJlYWRDcnVtYk1lbnVJdGVtIH0gZnJvbSAnLi4vbW9kZWwvYnJlYWRjcnVtYi1tZW51LWl0ZW0ubW9kZWwnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ2FueScgfSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpdGVtc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4oW10pXG4gIGdlbmVyYXRlZEl0ZW1zU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPihbXSlcblxuICBpdGVtc0hhbmRsZXIgPSB0aGlzLml0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2ZVJvdXRlLnNuYXBzaG90KVxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICBmaWx0ZXIoKGUpID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyhyb290KVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVCcmVhZGNydW1icyhyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwpIHtcbiAgICBpZiAocm91dGU/LmRhdGFbJ21mZUluZm8nXSkge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogcm91dGUuZGF0YVsnbWZlSW5mbyddLnByb2R1Y3ROYW1lLFxuICAgICAgICAgIHJvdXRlckxpbms6IHJvdXRlLmRhdGFbJ21mZUluZm8nXS5iYXNlSHJlZixcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IGJhc2VVcmw6IHN0cmluZ1tdID0gKHJvdXRlLmRhdGFbJ21mZUluZm8nXS5iYXNlSHJlZiBhcyBzdHJpbmcpLnNwbGl0KCcvJykuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgICBjb25zdCBwYXJlbnRVcmw6IHN0cmluZ1tdID0gcm91dGUudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aClcbiAgICAgIGNvbnN0IGlzVXNpbmdNYXRjaGVyID0gIXBhcmVudFVybC5ldmVyeSgoaXRlbSkgPT4gYmFzZVVybC5pbmNsdWRlcyhpdGVtKSlcbiAgICAgIGlmIChpc1VzaW5nTWF0Y2hlcikge1xuICAgICAgICB0aGlzLmNyZWF0ZUJyZWFkY3J1bWIocm91dGUsIHBhcmVudFVybCwgYnJlYWRjcnVtYnMpXG4gICAgICB9XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcGFyZW50VXJsLCBicmVhZGNydW1icylcbiAgICAgIHRoaXMuZ2VuZXJhdGVkSXRlbXNTb3VyY2UubmV4dChicmVhZGNydW1icylcbiAgICB9IGVsc2UgaWYgKHJvdXRlPy5kYXRhWydicmVhZGNydW1iJ10pIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBNZW51SXRlbVtdID0gW11cbiAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZSwgW10sIGJyZWFkY3J1bWJzKVxuICAgICAgdGhpcy5nZW5lcmF0ZWRJdGVtc1NvdXJjZS5uZXh0KGJyZWFkY3J1bWJzKVxuICAgIH0gZWxzZSBpZiAocm91dGUpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyhyb3V0ZS5maXJzdENoaWxkKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwsIHBhcmVudFVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBNZW51SXRlbVtdKSB7XG4gICAgaWYgKHJvdXRlICYmIHJvdXRlLnVybCkge1xuICAgICAgY29uc3Qgcm91dGVVcmwgPSBwYXJlbnRVcmwuY29uY2F0KHJvdXRlLnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpKVxuICAgICAgaWYgKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQnJlYWRjcnVtYihyb3V0ZSwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKVxuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcm91dGVVcmw6IHN0cmluZ1tdLCBicmVhZGNydW1iczogTWVudUl0ZW1bXSkge1xuICAgIGlmIChyb3V0ZS5kYXRhWydicmVhZGNydW1iJ10pIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWI6IE1lbnVJdGVtID0ge1xuICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbChyb3V0ZS5kYXRhLCByb3V0ZS5wYXJhbU1hcCksXG4gICAgICAgIHJvdXRlckxpbms6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgIH1cbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYilcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYjogTWVudUl0ZW0gPSB7XG4gICAgICAgIGxhYmVsOiAnTkEnLFxuICAgICAgICByb3V0ZXJMaW5rOiAnLycgKyByb3V0ZVVybC5qb2luKCcvJyksXG4gICAgICB9XG4gICAgICBicmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYWJlbChkYXRhOiBEYXRhLCBwYXJhbXM6IFBhcmFtTWFwKSB7XG4gICAgaWYgKHR5cGVvZiBkYXRhWydicmVhZGNydW1iRm4nXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGRhdGFbJ2JyZWFkY3J1bWJGbiddKGRhdGEsIHBhcmFtcylcbiAgICB9XG4gICAgcmV0dXJuIGRhdGFbJ2JyZWFkY3J1bWInXVxuICB9XG5cbiAgc2V0SXRlbXMoaXRlbXM6IEJyZWFkQ3J1bWJNZW51SXRlbVtdKSB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25LZXlzID0gW1xuICAgICAgLi4uaXRlbXMubWFwKChpKSA9PiBpLmxhYmVsS2V5IHx8ICcnKS5maWx0ZXIoKGwpID0+ICEhbCksXG4gICAgICAuLi5pdGVtcy5tYXAoKGkpID0+IGkudGl0bGVLZXkgfHwgJycpLmZpbHRlcigobCkgPT4gISFsKSxcbiAgICBdXG4gICAgaWYgKHRyYW5zbGF0aW9uS2V5cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXlzKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXNTb3VyY2UubmV4dChcbiAgICAgICAgICBpdGVtcy5tYXAoKGkpID0+ICh7XG4gICAgICAgICAgICAuLi5pLFxuICAgICAgICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1tpLmxhYmVsS2V5IHx8ICcnXSB8fCBpLmxhYmVsLFxuICAgICAgICAgICAgdGl0bGU6IHRyYW5zbGF0aW9uc1tpLnRpdGxlS2V5IHx8ICcnXSB8fCBpLnRpdGxlLFxuICAgICAgICAgIH0pKVxuICAgICAgICApXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW1zU291cmNlLm5leHQoaXRlbXMpXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { filter, first, map, of, tap } from 'rxjs';
|
|
3
|
-
import { SyncableTopic } from '@onecx/accelerator';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
// This topic is defined here and not in integration-interface, because
|
|
6
|
-
// it is not used as framework independent integration but for improving
|
|
7
|
-
// angular specific things
|
|
8
|
-
class TranslationCacheTopic extends SyncableTopic {
|
|
9
|
-
constructor() {
|
|
10
|
-
super('translationCache', 2);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class TranslationCacheService {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.translationTopic$ = new TranslationCacheTopic();
|
|
16
|
-
window['onecxTranslations'] ?? (window['onecxTranslations'] = {});
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
this.translationTopic$.destroy();
|
|
20
|
-
}
|
|
21
|
-
getTranslationFile(url, cacheMissFunction) {
|
|
22
|
-
if (window['onecxTranslations'][url]) {
|
|
23
|
-
return of(window['onecxTranslations'][url]);
|
|
24
|
-
}
|
|
25
|
-
if (window['onecxTranslations'][url] === null) {
|
|
26
|
-
return this.translationTopic$.pipe(filter((messageUrl) => messageUrl === url), map(() => window['onecxTranslations'][url]), first());
|
|
27
|
-
}
|
|
28
|
-
window['onecxTranslations'][url] = null;
|
|
29
|
-
return cacheMissFunction().pipe(tap((t) => {
|
|
30
|
-
window['onecxTranslations'][url] = t;
|
|
31
|
-
this.translationTopic$.publish(url);
|
|
32
|
-
}), map(() => window['onecxTranslations'][url]), first());
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
TranslationCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TranslationCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
36
|
-
TranslationCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TranslationCacheService, providedIn: 'root' });
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TranslationCacheService, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{ providedIn: 'root' }]
|
|
40
|
-
}], ctorParameters: function () { return []; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL3NlcnZpY2VzL3RyYW5zbGF0aW9uLWNhY2hlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUNyRCxPQUFPLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7O0FBRWxELHVFQUF1RTtBQUN2RSx3RUFBd0U7QUFDeEUsMEJBQTBCO0FBQzFCLE1BQU0scUJBQXNCLFNBQVEsYUFBcUI7SUFDdkQ7UUFDRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDOUIsQ0FBQztDQUNGO0FBU0QsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQztRQURRLHNCQUFpQixHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQTtRQUVyRCxNQUFNLENBQUMsbUJBQW1CLE1BQTFCLE1BQU0sQ0FBQyxtQkFBbUIsSUFBTSxFQUFFLEVBQUE7SUFDcEMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDbEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEdBQVcsRUFBRSxpQkFBd0M7UUFDdEUsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1NBQzVDO1FBRUQsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUNoQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsRUFDMUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNDLEtBQUssRUFBRSxDQUNSLENBQUE7U0FDRjtRQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUN2QyxPQUFPLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3JDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUMzQyxLQUFLLEVBQUUsQ0FDUixDQUFBO0lBQ0gsQ0FBQzs7cUhBL0JVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIG9mLCB0YXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgU3luY2FibGVUb3BpYyB9IGZyb20gJ0BvbmVjeC9hY2NlbGVyYXRvcidcblxuLy8gVGhpcyB0b3BpYyBpcyBkZWZpbmVkIGhlcmUgYW5kIG5vdCBpbiBpbnRlZ3JhdGlvbi1pbnRlcmZhY2UsIGJlY2F1c2Vcbi8vIGl0IGlzIG5vdCB1c2VkIGFzIGZyYW1ld29yayBpbmRlcGVuZGVudCBpbnRlZ3JhdGlvbiBidXQgZm9yIGltcHJvdmluZ1xuLy8gYW5ndWxhciBzcGVjaWZpYyB0aGluZ3NcbmNsYXNzIFRyYW5zbGF0aW9uQ2FjaGVUb3BpYyBleHRlbmRzIFN5bmNhYmxlVG9waWM8c3RyaW5nPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCd0cmFuc2xhdGlvbkNhY2hlJywgMilcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIG9uZWN4VHJhbnNsYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkNhY2hlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgdHJhbnNsYXRpb25Ub3BpYyQgPSBuZXcgVHJhbnNsYXRpb25DYWNoZVRvcGljKClcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgd2luZG93WydvbmVjeFRyYW5zbGF0aW9ucyddID8/PSB7fVxuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNsYXRpb25Ub3BpYyQuZGVzdHJveSgpXG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbkZpbGUodXJsOiBzdHJpbmcsIGNhY2hlTWlzc0Z1bmN0aW9uOiAoKSA9PiBPYnNlcnZhYmxlPGFueT4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICh3aW5kb3dbJ29uZWN4VHJhbnNsYXRpb25zJ11bdXJsXSkge1xuICAgICAgcmV0dXJuIG9mKHdpbmRvd1snb25lY3hUcmFuc2xhdGlvbnMnXVt1cmxdKVxuICAgIH1cblxuICAgIGlmICh3aW5kb3dbJ29uZWN4VHJhbnNsYXRpb25zJ11bdXJsXSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25Ub3BpYyQucGlwZShcbiAgICAgICAgZmlsdGVyKChtZXNzYWdlVXJsKSA9PiBtZXNzYWdlVXJsID09PSB1cmwpLFxuICAgICAgICBtYXAoKCkgPT4gd2luZG93WydvbmVjeFRyYW5zbGF0aW9ucyddW3VybF0pLFxuICAgICAgICBmaXJzdCgpXG4gICAgICApXG4gICAgfVxuXG4gICAgd2luZG93WydvbmVjeFRyYW5zbGF0aW9ucyddW3VybF0gPSBudWxsXG4gICAgcmV0dXJuIGNhY2hlTWlzc0Z1bmN0aW9uKCkucGlwZShcbiAgICAgIHRhcCgodCkgPT4ge1xuICAgICAgICB3aW5kb3dbJ29uZWN4VHJhbnNsYXRpb25zJ11bdXJsXSA9IHRcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblRvcGljJC5wdWJsaXNoKHVybClcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHdpbmRvd1snb25lY3hUcmFuc2xhdGlvbnMnXVt1cmxdKSxcbiAgICAgIGZpcnN0KClcbiAgICApXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { defaultIfEmpty, first, mergeMap, of, tap } from 'rxjs';
|
|
2
|
-
export class AsyncTranslateLoader {
|
|
3
|
-
constructor(translateLoader$) {
|
|
4
|
-
this.translateLoader$ = translateLoader$;
|
|
5
|
-
this.timerId = AsyncTranslateLoader.lastTimerId++;
|
|
6
|
-
}
|
|
7
|
-
getTranslation(lang) {
|
|
8
|
-
return this.translateLoader$.pipe(tap(() => console.time('AsyncTranslateLoader_' + this.timerId)), defaultIfEmpty(undefined), first(), mergeMap((translateLoader) => translateLoader?.getTranslation(lang) ?? of({})), tap(() => console.timeEnd('AsyncTranslateLoader_' + this.timerId)));
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
AsyncTranslateLoader.lastTimerId = 0;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHJhbnNsYXRlLWxvYWRlci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NlbGVyYXRvci9zcmMvbGliL3V0aWxzL2FzeW5jLXRyYW5zbGF0ZS1sb2FkZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFM0UsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixnQkFBNkM7UUFBN0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQUZqRSxZQUFPLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUE7SUFFd0IsQ0FBQztJQUVyRSxjQUFjLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQy9CLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUMvRCxjQUFjLENBQUMsU0FBUyxDQUFDLEVBQ3pCLEtBQUssRUFBRSxFQUNQLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsZUFBZSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDOUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ25FLENBQUE7SUFDSCxDQUFDOztBQWJNLGdDQUFXLEdBQUcsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IGRlZmF1bHRJZkVtcHR5LCBmaXJzdCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCB0YXAgfSBmcm9tICdyeGpzJ1xuXG5leHBvcnQgY2xhc3MgQXN5bmNUcmFuc2xhdGVMb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICBzdGF0aWMgbGFzdFRpbWVySWQgPSAwXG4gIHRpbWVySWQgPSBBc3luY1RyYW5zbGF0ZUxvYWRlci5sYXN0VGltZXJJZCsrXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVMb2FkZXIkOiBPYnNlcnZhYmxlPFRyYW5zbGF0ZUxvYWRlcj4pIHt9XG5cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVMb2FkZXIkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gY29uc29sZS50aW1lKCdBc3luY1RyYW5zbGF0ZUxvYWRlcl8nICsgdGhpcy50aW1lcklkKSksXG4gICAgICBkZWZhdWx0SWZFbXB0eSh1bmRlZmluZWQpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIG1lcmdlTWFwKCh0cmFuc2xhdGVMb2FkZXIpID0+IHRyYW5zbGF0ZUxvYWRlcj8uZ2V0VHJhbnNsYXRpb24obGFuZykgPz8gb2Yoe30pKSxcbiAgICAgIHRhcCgoKSA9PiBjb25zb2xlLnRpbWVFbmQoJ0FzeW5jVHJhbnNsYXRlTG9hZGVyXycgKyB0aGlzLnRpbWVySWQpKVxuICAgIClcbiAgfVxufVxuIl19
|