@veloceapps/sdk 11.0.0-2 → 11.0.0-20
Sign up to get free protection for your applications and to get access to all the features.
- package/cms/cms.actions.d.ts +92 -29
- package/cms/components/element-renderer/element-renderer.component.d.ts +3 -10
- package/cms/services/element-context.service.d.ts +0 -1
- package/cms/types/common.types.d.ts +2 -0
- package/cms/types/index.d.ts +0 -1
- package/cms/utils/path.utils.d.ts +1 -2
- package/cms/vendor-map.d.ts +19 -40
- package/core/index.d.ts +0 -1
- package/core/modules/configuration/index.d.ts +1 -4
- package/core/modules/configuration/services/configuration-runtime.service.d.ts +3 -22
- package/core/modules/configuration/services/configuration-state.service.d.ts +8 -8
- package/core/modules/configuration/services/configuration.service.d.ts +23 -47
- package/core/modules/flow-configuration/index.d.ts +0 -3
- package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +10 -39
- package/core/services/catalog-products.service.d.ts +11 -0
- package/core/services/flow-info.service.d.ts +25 -11
- package/core/services/flow-state-configuration.service.d.ts +2 -8
- package/core/services/flow-state.service.d.ts +13 -22
- package/core/services/index.d.ts +2 -3
- package/core/services/integration.state.d.ts +1 -1
- package/core/services/sales-transaction.service.d.ts +30 -0
- package/core/types/flow-state.types.d.ts +2 -2
- package/core/types/index.d.ts +0 -1
- package/core/utils/index.d.ts +2 -2
- package/core/utils/transaction-item.utils.d.ts +7 -0
- package/core/utils/transaction-item.worker.d.ts +8 -0
- package/esm2020/cms/cms.actions.mjs +93 -71
- package/esm2020/cms/cms.default.mjs +2 -3
- package/esm2020/cms/components/element-renderer/element-renderer.component.mjs +7 -64
- package/esm2020/cms/components/preview/preview.component.mjs +3 -3
- package/esm2020/cms/services/element-context.service.mjs +1 -1
- package/esm2020/cms/types/common.types.mjs +1 -1
- package/esm2020/cms/types/index.mjs +1 -2
- package/esm2020/cms/utils/element.utils.mjs +3 -3
- package/esm2020/cms/utils/path.utils.mjs +1 -10
- package/esm2020/cms/vendor-map.mjs +12 -17
- package/esm2020/core/core.module.mjs +9 -7
- package/esm2020/core/index.mjs +1 -2
- package/esm2020/core/modules/configuration/configuration.module.mjs +3 -4
- package/esm2020/core/modules/configuration/index.mjs +2 -5
- package/esm2020/core/modules/configuration/services/configuration-runtime.service.mjs +9 -102
- package/esm2020/core/modules/configuration/services/configuration-state.service.mjs +60 -76
- package/esm2020/core/modules/configuration/services/configuration.service.mjs +96 -225
- package/esm2020/core/modules/flow-configuration/flow-configuration.module.mjs +3 -4
- package/esm2020/core/modules/flow-configuration/index.mjs +1 -4
- package/esm2020/core/modules/flow-configuration/services/flow-configuration.service.mjs +33 -126
- package/esm2020/core/services/catalog-products.service.mjs +25 -0
- package/esm2020/core/services/flow-info.service.mjs +77 -29
- package/esm2020/core/services/flow-state-configuration.service.mjs +10 -25
- package/esm2020/core/services/flow-state.service.mjs +62 -169
- package/esm2020/core/services/index.mjs +3 -4
- package/esm2020/core/services/integration.state.mjs +2 -2
- package/esm2020/core/services/sales-transaction.service.mjs +68 -0
- package/esm2020/core/types/flow-state.types.mjs +1 -1
- package/esm2020/core/types/index.mjs +1 -2
- package/esm2020/core/utils/index.mjs +3 -3
- package/esm2020/core/utils/transaction-item.utils.mjs +60 -0
- package/esm2020/core/utils/transaction-item.worker.mjs +16 -0
- package/esm2020/src/components/flow-header/flow-header.component.mjs +3 -6
- package/esm2020/src/components/guided-selling/guided-selling.component.mjs +3 -6
- package/esm2020/src/flow-routing.module.mjs +11 -41
- package/esm2020/src/flow.component.mjs +5 -5
- package/esm2020/src/guards/flow.guard.mjs +13 -14
- package/esm2020/src/guards/product-unload.guard.mjs +7 -9
- package/esm2020/src/index.mjs +1 -3
- package/esm2020/src/pages/assets/assets.component.mjs +3 -3
- package/esm2020/src/pages/catalog/catalog.component.mjs +3 -3
- package/esm2020/src/pages/debug/debug.component.mjs +12 -21
- package/esm2020/src/pages/product/product.component.mjs +12 -82
- package/esm2020/src/pages/product/product.module.mjs +5 -5
- package/esm2020/src/pages/record-not-found/record-not-found.component.mjs +5 -6
- package/esm2020/src/pages/shopping-cart/shopping-cart.component.mjs +3 -3
- package/esm2020/src/resolvers/flow.resolver.mjs +10 -18
- package/esm2020/src/resolvers/sales-transaction.resolver.mjs +83 -0
- package/esm2020/src/resolvers/ui-definition.resolver.mjs +42 -0
- package/esm2020/src/services/flow-dialog.service.mjs +8 -8
- package/esm2020/src/services/flow-router.service.mjs +16 -33
- package/esm2020/src/services/flow.service.mjs +13 -54
- package/esm2020/src/types/index.mjs +2 -3
- package/esm2020/src/types/route.types.mjs +1 -1
- package/fesm2015/veloceapps-sdk-cms.mjs +126 -268
- package/fesm2015/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk-core.mjs +712 -1644
- package/fesm2015/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2015/veloceapps-sdk.mjs +167 -758
- package/fesm2015/veloceapps-sdk.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-cms.mjs +114 -262
- package/fesm2020/veloceapps-sdk-cms.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk-core.mjs +758 -1725
- package/fesm2020/veloceapps-sdk-core.mjs.map +1 -1
- package/fesm2020/veloceapps-sdk.mjs +167 -752
- package/fesm2020/veloceapps-sdk.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/flow-header/flow-header.component.d.ts +1 -1
- package/src/components/guided-selling/guided-selling.component.d.ts +1 -1
- package/src/flow-routing.module.d.ts +1 -2
- package/src/flow.component.d.ts +2 -2
- package/src/guards/product-unload.guard.d.ts +5 -6
- package/src/index.d.ts +0 -2
- package/src/pages/assets/assets.component.d.ts +1 -1
- package/src/pages/catalog/catalog.component.d.ts +1 -1
- package/src/pages/debug/debug.component.d.ts +1 -4
- package/src/pages/product/product.component.d.ts +5 -14
- package/src/pages/product/product.module.d.ts +1 -1
- package/src/pages/record-not-found/record-not-found.component.d.ts +2 -3
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +1 -1
- package/src/resolvers/flow.resolver.d.ts +5 -6
- package/src/resolvers/sales-transaction.resolver.d.ts +18 -0
- package/src/resolvers/ui-definition.resolver.d.ts +3 -0
- package/src/services/flow-dialog.service.d.ts +5 -4
- package/src/services/flow-router.service.d.ts +4 -6
- package/src/services/flow.service.d.ts +2 -7
- package/src/types/index.d.ts +1 -2
- package/src/types/route.types.d.ts +0 -5
- package/cms/plugins/configuration.plugin.d.ts +0 -23
- package/cms/types/configuration.types.d.ts +0 -21
- package/core/modules/configuration/helpers.d.ts +0 -6
- package/core/modules/configuration/services/runtime-context.service.d.ts +0 -12
- package/core/modules/configuration/types/configuration-runtime.types.d.ts +0 -6
- package/core/modules/flow-configuration/services/flow-update.service.d.ts +0 -13
- package/core/modules/flow-configuration/types/update.types.d.ts +0 -12
- package/core/services/context.service.d.ts +0 -23
- package/core/services/quote-draft.service.d.ts +0 -50
- package/core/types/runtime.types.d.ts +0 -30
- package/core/utils/line-item.utils.d.ts +0 -25
- package/core/utils/line-item.worker.d.ts +0 -9
- package/esm2020/cms/plugins/configuration.plugin.mjs +0 -109
- package/esm2020/cms/types/configuration.types.mjs +0 -2
- package/esm2020/core/modules/configuration/helpers.mjs +0 -73
- package/esm2020/core/modules/configuration/services/runtime-context.service.mjs +0 -43
- package/esm2020/core/modules/configuration/types/configuration-runtime.types.mjs +0 -2
- package/esm2020/core/modules/flow-configuration/services/flow-update.service.mjs +0 -138
- package/esm2020/core/modules/flow-configuration/types/update.types.mjs +0 -2
- package/esm2020/core/services/context.service.mjs +0 -91
- package/esm2020/core/services/quote-draft.service.mjs +0 -192
- package/esm2020/core/types/runtime.types.mjs +0 -16
- package/esm2020/core/utils/line-item.utils.mjs +0 -187
- package/esm2020/core/utils/line-item.worker.mjs +0 -19
- package/esm2020/src/guards/context.guard.mjs +0 -91
- package/esm2020/src/guards/index.mjs +0 -2
- package/esm2020/src/pages/remote/remote.component.mjs +0 -342
- package/esm2020/src/pages/remote/remote.module.mjs +0 -20
- package/esm2020/src/pages/remote/remote.types.mjs +0 -2
- package/esm2020/src/resolvers/quote.resolver.mjs +0 -82
- package/esm2020/src/types/context-route.types.mjs +0 -2
- package/esm2020/src/types/metrics.types.mjs +0 -2
- package/esm2020/src/utils/flow.utils.mjs +0 -25
- package/esm2020/src/utils/index.mjs +0 -2
- package/src/guards/context.guard.d.ts +0 -19
- package/src/guards/index.d.ts +0 -1
- package/src/pages/remote/remote.component.d.ts +0 -46
- package/src/pages/remote/remote.module.d.ts +0 -10
- package/src/pages/remote/remote.types.d.ts +0 -4
- package/src/resolvers/quote.resolver.d.ts +0 -19
- package/src/types/context-route.types.d.ts +0 -5
- package/src/types/metrics.types.d.ts +0 -5
- package/src/utils/flow.utils.d.ts +0 -8
- package/src/utils/index.d.ts +0 -1
@@ -1,12 +1,11 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { Router } from '@angular/router';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/router";
|
5
5
|
import * as i2 from "@angular/common";
|
6
6
|
export class RecordNotFoundComponent {
|
7
|
-
constructor(router
|
7
|
+
constructor(router) {
|
8
8
|
this.router = router;
|
9
|
-
this.route = route;
|
10
9
|
this.subMessage = '';
|
11
10
|
this.type = '';
|
12
11
|
const navigation = this.router.getCurrentNavigation();
|
@@ -19,10 +18,10 @@ export class RecordNotFoundComponent {
|
|
19
18
|
}
|
20
19
|
}
|
21
20
|
}
|
22
|
-
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1.Router }
|
21
|
+
RecordNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
|
23
22
|
RecordNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RecordNotFoundComponent, selector: "vl-flow-record-not-found", ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
24
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RecordNotFoundComponent, decorators: [{
|
25
24
|
type: Component,
|
26
25
|
args: [{ selector: 'vl-flow-record-not-found', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"message-wrapper\">\n <div *ngIf=\"message; else defaultMessage\">\n <p class=\"text message-text\" [class]=\"type\">{{ message }}</p>\n\n <p *ngIf=\"subMessage\" class=\"text\">{{ subMessage }}</p>\n\n <div *ngIf=\"details && details.length > 0\">\n <div *ngFor=\"let detail of details\" class=\"text\">{{ detail }}</div>\n </div>\n </div>\n\n <ng-template #defaultMessage>Record not found</ng-template>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;padding:24px 54px}:host .text{white-space:pre-line;word-break:break-word}:host .message-text.error{color:var(--vl-error-text-color)}\n"] }]
|
27
|
-
}], ctorParameters: function () { return [{ type: i1.Router }
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLW5vdC1mb3VuZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvcmVjb3JkLW5vdC1mb3VuZC9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9yZWNvcmQtbm90LWZvdW5kL3JlY29yZC1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFRekMsTUFBTSxPQUFPLHVCQUF1QjtJQU1sQyxZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUozQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFJZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNwRztJQUNILENBQUM7O29IQWhCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixnRUNUcEMsNGlCQWlCQTsyRkRSYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmwtZmxvdy1yZWNvcmQtbm90LWZvdW5kJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlY29yZC1ub3QtZm91bmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNvcmQtbm90LWZvdW5kLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZWNvcmROb3RGb3VuZENvbXBvbmVudCB7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBzdWJNZXNzYWdlID0gJyc7XG4gIHB1YmxpYyB0eXBlID0gJyc7XG4gIHB1YmxpYyBkZXRhaWxzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgY29uc3QgbmF2aWdhdGlvbiA9IHRoaXMucm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gbmF2aWdhdGlvbj8uZXh0cmFzIHx8IHt9O1xuXG4gICAgdGhpcy5tZXNzYWdlID0gc3RhdGU/LlsnbWVzc2FnZSddO1xuICAgIHRoaXMudHlwZSA9IHN0YXRlPy5bJ3R5cGUnXSB8fCAnJztcbiAgICB0aGlzLmRldGFpbHMgPSBzdGF0ZT8uWydkZXRhaWxzJ107XG4gICAgaWYgKHR5cGVvZiB0aGlzLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLnN1Yk1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJy9kZXNjcmliZScpID8gJ0EgcG90ZW50aWFsIHByb2JsZW0gd2l0aCBwZXJtaXNzaW9ucycgOiAnJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlOyBlbHNlIGRlZmF1bHRNZXNzYWdlXCI+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dCBtZXNzYWdlLXRleHRcIiBbY2xhc3NdPVwidHlwZVwiPnt7IG1lc3NhZ2UgfX08L3A+XG5cbiAgICAgICAgPHAgKm5nSWY9XCJzdWJNZXNzYWdlXCIgY2xhc3M9XCJ0ZXh0XCI+e3sgc3ViTWVzc2FnZSB9fTwvcD5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZGV0YWlscyAmJiBkZXRhaWxzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkZXRhaWwgb2YgZGV0YWlsc1wiIGNsYXNzPVwidGV4dFwiPnt7IGRldGFpbCB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRNZXNzYWdlPlJlY29yZCBub3QgZm91bmQ8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, Optional, } from '@angular/core';
|
2
|
-
import { UITemplatesApiService } from '@veloceapps/api';
|
2
|
+
import { UITemplatesApiService } from '@veloceapps/api/v2';
|
3
3
|
import { ToastService, ToastType } from '@veloceapps/components';
|
4
4
|
import { btoaSafe } from '@veloceapps/sdk/cms';
|
5
5
|
import { FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
|
6
6
|
import { BehaviorSubject, catchError, map, of, Subject, switchMap, takeUntil, tap } from 'rxjs';
|
7
7
|
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@veloceapps/api";
|
8
|
+
import * as i1 from "@veloceapps/api/v2";
|
9
9
|
import * as i2 from "@veloceapps/components";
|
10
10
|
import * as i3 from "@veloceapps/sdk/core";
|
11
11
|
import * as i4 from "@angular/common";
|
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
104
104
|
type: Inject,
|
105
105
|
args: [FLOW_CUSTOMIZATION]
|
106
106
|
}] }]; } });
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9zaG9wcGluZy1jYXJ0L3Nob3BwaW5nLWNhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQWE1RyxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQ1UsWUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsWUFBMEIsRUFDMUIsUUFBeUIsRUFDZSxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2UseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFvQjtRQVhu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QUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDdkMsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2tIQTNHVSxxQkFBcUIsbUpBWVYsa0JBQWtCO3NHQVo3QixxQkFBcUIsNkRDM0JsQyx3VkFTQTsyRkRrQmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBYzVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGbG93SW5mb1NlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LXNob3BwaW5nLWNhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hvcHBpbmctY2FydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nob3BwaW5nLWNhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNob3BwaW5nQ2FydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXM/LnNob3BwaW5nQ2FydCA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24gPSB1aURlZjtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgU2hvcHBpbmcgQ2FydCBjb21wb25lbnQuICcgKyAoZXJyLm1lc3NhZ2UgPz8gJycpO1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IG1lc3NhZ2UsIHN0aWNreTogdHJ1ZSB9KTtcblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHModGhpcy50ZW1wbGF0ZUFwaU5hbWUpLnBpcGUoXG4gICAgICBtYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRzLm1hcDxDb21wb25lbnRBdHRhY2htZW50cz4oY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE9yZ01ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5mbG93SW5mby50ZW1wbGF0ZXMuU0hPUFBJTkdfQ0FSVDtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRzQXR0YWNobWVudHMkKHRlbXBsYXRlLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93ICdzaG9wcGluZ0NhcnQnIHRlbXBsYXRlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbE1ldGEkKCkpLFxuICAgICAgc3dpdGNoTWFwKG1ldGFMaXN0ID0+IChtZXRhTGlzdCA/IG9mKG1ldGFMaXN0KSA6IHRoaXMuZ2V0T3JnTWV0YSQoKSkpLFxuICAgICAgbWFwKG1ldGFMaXN0ID0+IHtcbiAgICAgICAgaWYgKCFtZXRhTGlzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBtZXRhTGlzdC5tYXAobWV0YSA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IG1ldGEuaHRtbCAmJiBidG9hU2FmZShtZXRhLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBtZXRhLmpzICYmIGJ0b2FTYWZlKG1ldGEuanMpLFxuICAgICAgICAgICAgc3R5bGVzOiBtZXRhLmNzcyAmJiBidG9hU2FmZShtZXRhLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcGFnZXMvc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9wYWdlcy9zaG9wcGluZy1jYXJ0L3Nob3BwaW5nLWNhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQWE1RyxNQUFNLE9BQU8scUJBQXFCO0lBT2hDLFlBQ1UsWUFBbUMsRUFDbkMsR0FBc0IsRUFDdEIsWUFBMEIsRUFDMUIsUUFBeUIsRUFDZSxvQkFBd0M7UUFKaEYsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ2UseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFvQjtRQVhuRixpQkFBWSxHQUFrQixTQUFTLENBQUM7UUFDeEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUV0RSxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsRUFBRTthQUN6QixJQUFJLENBQ0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixJQUFJLENBQUMsZUFBZSxjQUFjLENBQUMsQ0FBQzthQUM3RTtZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixNQUFNLE9BQU8sR0FBRyw2Q0FBNkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRXJGLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNwRCxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFO1lBQ3JELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDaEYsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDZixPQUFPO2FBQ1I7WUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQXVCLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2dCQUNwQixHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUc7Z0JBQ2xCLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO2FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQzthQUNqRTtRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFDckUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDYixPQUFPO2FBQ1I7WUFFRCxNQUFNLEtBQUssR0FBaUI7Z0JBQzFCLElBQUksRUFBRSxFQUFFO2dCQUNSLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxDQUFDO2dCQUNWLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDOUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztpQkFDdkMsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2tIQTNHVSxxQkFBcUIsbUpBWVYsa0JBQWtCO3NHQVo3QixxQkFBcUIsNkRDM0JsQyx3VkFTQTsyRkRrQmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBYzVDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVJVGVtcGxhdGVzQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UsIFRvYXN0VHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50QXR0YWNobWVudHMsIFVJRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgYnRvYVNhZmUgfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY21zJztcbmltcG9ydCB7IEZsb3dDdXN0b21pemF0aW9uLCBGbG93SW5mb1NlcnZpY2UsIEZMT1dfQ1VTVE9NSVpBVElPTiB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBmYWlsdXJlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2bC1mbG93LXNob3BwaW5nLWNhcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hvcHBpbmctY2FydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Nob3BwaW5nLWNhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNob3BwaW5nQ2FydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHVpRGVmaW5pdGlvbj86IFVJRGVmaW5pdGlvbiA9IHVuZGVmaW5lZDtcbiAgcHVibGljIHN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U3RhdGU+KHsgbG9hZGluZzogdHJ1ZSwgZmFpbHVyZTogZmFsc2UgfSk7XG5cbiAgcHJpdmF0ZSB0ZW1wbGF0ZUFwaU5hbWUgPSAnJztcbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRlbXBsYXRlc0FwaTogVUlUZW1wbGF0ZXNBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm86IEZsb3dJbmZvU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTikgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZT86IEZsb3dDdXN0b21pemF0aW9uLFxuICApIHtcbiAgICB0aGlzLnRlbXBsYXRlQXBpTmFtZSA9IHRoaXMuZmxvd0luZm8uZmxvdz8ucHJvcGVydGllcy50ZW1wbGF0ZXM/LnNob3BwaW5nQ2FydCA/PyAnJztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdlbmVyYXRlVUlEZWZpbml0aW9uJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHVpRGVmID0+IHtcbiAgICAgICAgICBpZiAoIXVpRGVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbXBvbmVudCB3aXRoIG5hbWUgJyR7dGhpcy50ZW1wbGF0ZUFwaU5hbWV9JyBub3QgZm91bmQuYCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51aURlZmluaXRpb24gPSB1aURlZjtcbiAgICAgICAgICB0aGlzLnN0YXRlJC5uZXh0KHsgbG9hZGluZzogZmFsc2UsIGZhaWx1cmU6IGZhbHNlIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4ge1xuICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnRmFpbGVkIHRvIHJlc29sdmUgU2hvcHBpbmcgQ2FydCBjb21wb25lbnQuICcgKyAoZXJyLm1lc3NhZ2UgPz8gJycpO1xuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBUb2FzdFR5cGUuZXJyb3IsIHN1bW1hcnk6IG1lc3NhZ2UsIHN0aWNreTogdHJ1ZSB9KTtcblxuICAgICAgICAgIHRoaXMudWlEZWZpbml0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMuc3RhdGUkLm5leHQoeyBsb2FkaW5nOiBmYWxzZSwgZmFpbHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsTWV0YSQoKTogT2JzZXJ2YWJsZTxDb21wb25lbnRBdHRhY2htZW50c1tdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHMpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRUZW1wbGF0ZUNvbXBvbmVudHModGhpcy50ZW1wbGF0ZUFwaU5hbWUpLnBpcGUoXG4gICAgICBtYXAoY29tcG9uZW50cyA9PiB7XG4gICAgICAgIGlmICghY29tcG9uZW50cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRzLm1hcDxDb21wb25lbnRBdHRhY2htZW50cz4oY29tcG9uZW50ID0+ICh7XG4gICAgICAgICAgaHRtbDogY29tcG9uZW50Lmh0bWwsXG4gICAgICAgICAgY3NzOiBjb21wb25lbnQuY3NzLFxuICAgICAgICAgIGpzOiBjb21wb25lbnQuanMsXG4gICAgICAgICAganNvbjogY29tcG9uZW50Lmpzb24sXG4gICAgICAgIH0pKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldE9yZ01ldGEkKCk6IE9ic2VydmFibGU8Q29tcG9uZW50QXR0YWNobWVudHNbXSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy5mbG93SW5mby50ZW1wbGF0ZXMuU0hPUFBJTkdfQ0FSVDtcbiAgICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZXNBcGkuZmV0Y2hDb21wb25lbnRzQXR0YWNobWVudHMkKHRlbXBsYXRlLmlkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVSURlZmluaXRpb24kKCk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZUFwaU5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGbG93ICdzaG9wcGluZ0NhcnQnIHRlbXBsYXRlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRMb2NhbE1ldGEkKCkpLFxuICAgICAgc3dpdGNoTWFwKG1ldGFMaXN0ID0+IChtZXRhTGlzdCA/IG9mKG1ldGFMaXN0KSA6IHRoaXMuZ2V0T3JnTWV0YSQoKSkpLFxuICAgICAgbWFwKG1ldGFMaXN0ID0+IHtcbiAgICAgICAgaWYgKCFtZXRhTGlzdCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVpRGVmOiBVSURlZmluaXRpb24gPSB7XG4gICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgY3JlYXRlZFRpbWVzdGFtcDogMCxcbiAgICAgICAgICBwcmltYXJ5OiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICdERUZBVUxUJyxcbiAgICAgICAgICB2ZXJzaW9uOiAyLFxuICAgICAgICAgIGNoaWxkcmVuOiBtZXRhTGlzdC5tYXAobWV0YSA9PiAoe1xuICAgICAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICAgICAgdGVtcGxhdGU6IG1ldGEuaHRtbCAmJiBidG9hU2FmZShtZXRhLmh0bWwpLFxuICAgICAgICAgICAgc2NyaXB0OiBtZXRhLmpzICYmIGJ0b2FTYWZlKG1ldGEuanMpLFxuICAgICAgICAgICAgc3R5bGVzOiBtZXRhLmNzcyAmJiBidG9hU2FmZShtZXRhLmNzcyksXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB1aURlZjtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBzdGF0ZVwiPlxuICA8dmwtbG9hZGVyICpuZ0lmPVwic3RhdGUubG9hZGluZzsgZWxzZSBjb250ZW50XCIgW2xhYmVsXT1cIidMb2FkaW5nIFVJJ1wiPjwvdmwtbG9hZGVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN0YXRlLmZhaWx1cmVcIj5cbiAgICAgIDx2bC1jbXMtcHJldmlldyBbdWlEZWZpbml0aW9uXT1cInVpRGVmaW5pdGlvblwiPjwvdmwtY21zLXByZXZpZXc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
@@ -2,40 +2,31 @@ import { HttpErrorResponse } from '@angular/common/http';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
3
3
|
import { Router } from '@angular/router';
|
4
4
|
import { extractErrorDetails, isVeloceError } from '@veloceapps/core';
|
5
|
-
import {
|
5
|
+
import { FlowInfoService } from '@veloceapps/sdk/core';
|
6
6
|
import { from, of } from 'rxjs';
|
7
7
|
import { catchError } from 'rxjs/operators';
|
8
8
|
import { FlowRouterService } from '../services/flow-router.service';
|
9
|
-
import { getDefaultProperties } from '../utils';
|
10
9
|
import * as i0 from "@angular/core";
|
11
10
|
import * as i1 from "@angular/router";
|
12
11
|
import * as i2 from "../services/flow-router.service";
|
13
12
|
import * as i3 from "@veloceapps/sdk/core";
|
14
13
|
export class FlowResolver {
|
15
|
-
constructor(router, routerService,
|
14
|
+
constructor(router, routerService, flowInfoService) {
|
16
15
|
this.router = router;
|
17
16
|
this.routerService = routerService;
|
18
|
-
this.
|
19
|
-
this.flowInfo = flowInfo;
|
17
|
+
this.flowInfoService = flowInfoService;
|
20
18
|
}
|
21
19
|
resolve(route) {
|
22
|
-
|
23
|
-
const flow = this.flowInfo.flow;
|
24
|
-
if (!flow) {
|
20
|
+
if (!this.flowInfoService.isFlowInitialized) {
|
25
21
|
return of(false);
|
26
22
|
}
|
27
|
-
const {
|
23
|
+
const { queryParams } = route;
|
24
|
+
const { properties } = this.flowInfoService.flow;
|
28
25
|
const { queryParams: flowQueryParams, entryPath } = properties;
|
29
26
|
const mergedQueryParams = {
|
30
27
|
...queryParams,
|
31
28
|
...flowQueryParams,
|
32
29
|
};
|
33
|
-
const contextProperties = Object.entries({
|
34
|
-
...mergedQueryParams,
|
35
|
-
...getDefaultProperties({ flowParams: properties }),
|
36
|
-
}).reduce((trunk, [key, value]) => ({ ...trunk, [key]: String(value) }), {});
|
37
|
-
this.contextService.update({ properties: contextProperties });
|
38
|
-
this.flowInfo.flow = flow;
|
39
30
|
const parentUrl = this.routerService.getFlowRootPath(route);
|
40
31
|
const entryUrl = String(entryPath ?? '')
|
41
32
|
.split('/')
|
@@ -44,15 +35,16 @@ export class FlowResolver {
|
|
44
35
|
queryParams: mergedQueryParams,
|
45
36
|
replaceUrl: true,
|
46
37
|
})).pipe(catchError(e => {
|
38
|
+
console.error(e);
|
47
39
|
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
48
40
|
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
49
41
|
return this.routerService.showErrorPage$(message, errorDetails);
|
50
42
|
}));
|
51
43
|
}
|
52
44
|
}
|
53
|
-
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowResolver, deps: [{ token: i1.Router }, { token: i2.FlowRouterService }, { token: i3.
|
45
|
+
FlowResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowResolver, deps: [{ token: i1.Router }, { token: i2.FlowRouterService }, { token: i3.FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
54
46
|
FlowResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowResolver });
|
55
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowResolver, decorators: [{
|
56
48
|
type: Injectable
|
57
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowRouterService }, { type: i3.
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowRouterService }, { type: i3.FlowInfoService }]; } });
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvZmxvdy5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBMEIsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBR3BFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQ1UsTUFBYyxFQUNkLGFBQWdDLEVBQ2hDLGVBQWdDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFRyxPQUFPLENBQUMsS0FBNkI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUU7WUFDM0MsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbEI7UUFFRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzlCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNqRCxNQUFNLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDL0QsTUFBTSxpQkFBaUIsR0FBRztZQUN4QixHQUFHLFdBQVc7WUFDZCxHQUFHLGVBQWU7U0FDbkIsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO2FBQ3JDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkIsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRTtZQUM3QyxXQUFXLEVBQUUsaUJBQWlCO1lBQzlCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FDSCxDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLENBQUMsWUFBWSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7eUdBdENVLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZXh0cmFjdEVycm9yRGV0YWlscywgaXNWZWxvY2VFcnJvciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGbG93Um91dGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zsb3ctcm91dGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd1Jlc29sdmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IEZsb3dSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzb2x2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5mbG93SW5mb1NlcnZpY2UuaXNGbG93SW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBxdWVyeVBhcmFtcyB9ID0gcm91dGU7XG4gICAgY29uc3QgeyBwcm9wZXJ0aWVzIH0gPSB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93O1xuICAgIGNvbnN0IHsgcXVlcnlQYXJhbXM6IGZsb3dRdWVyeVBhcmFtcywgZW50cnlQYXRoIH0gPSBwcm9wZXJ0aWVzO1xuICAgIGNvbnN0IG1lcmdlZFF1ZXJ5UGFyYW1zID0ge1xuICAgICAgLi4ucXVlcnlQYXJhbXMsXG4gICAgICAuLi5mbG93UXVlcnlQYXJhbXMsXG4gICAgfTtcblxuICAgIGNvbnN0IHBhcmVudFVybCA9IHRoaXMucm91dGVyU2VydmljZS5nZXRGbG93Um9vdFBhdGgocm91dGUpO1xuICAgIGNvbnN0IGVudHJ5VXJsID0gU3RyaW5nKGVudHJ5UGF0aCA/PyAnJylcbiAgICAgIC5zcGxpdCgnLycpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgcmV0dXJuIGZyb20oXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGFyZW50VXJsLCAuLi5lbnRyeVVybF0sIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IG1lcmdlZFF1ZXJ5UGFyYW1zLFxuICAgICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgfSksXG4gICAgKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGUgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSA/IGUuZXJyb3IubWVzc2FnZSA6IGU7XG4gICAgICAgIGNvbnN0IGVycm9yRGV0YWlscyA9IGlzVmVsb2NlRXJyb3IoZS5lcnJvcikgPyBleHRyYWN0RXJyb3JEZXRhaWxzKGUuZXJyb3IpIDogW107XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlclNlcnZpY2Uuc2hvd0Vycm9yUGFnZSQobWVzc2FnZSwgZXJyb3JEZXRhaWxzKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
2
|
+
import { Injectable } from '@angular/core';
|
3
|
+
import { Router } from '@angular/router';
|
4
|
+
import { extractErrorDetails, isVeloceError, UITemplateType } from '@veloceapps/core';
|
5
|
+
import { FlowInfoService, FlowStateService, SalesTransactionService } from '@veloceapps/sdk/core';
|
6
|
+
import { catchError, from, map, of, switchMap } from 'rxjs';
|
7
|
+
import { FlowRouterService } from '../services/flow-router.service';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@angular/router";
|
10
|
+
import * as i2 from "../services/flow-router.service";
|
11
|
+
import * as i3 from "@veloceapps/sdk/core";
|
12
|
+
export class SalesTransactionResolver {
|
13
|
+
constructor(router, routerService, flowInfoService, flowStateService, salesTransactionService) {
|
14
|
+
this.router = router;
|
15
|
+
this.routerService = routerService;
|
16
|
+
this.flowInfoService = flowInfoService;
|
17
|
+
this.flowStateService = flowStateService;
|
18
|
+
this.salesTransactionService = salesTransactionService;
|
19
|
+
}
|
20
|
+
resolve(route) {
|
21
|
+
const flow = this.flowInfoService.flow;
|
22
|
+
if (!flow) {
|
23
|
+
return of(false);
|
24
|
+
}
|
25
|
+
if (this.flowStateService.isInitialized()) {
|
26
|
+
return of(true);
|
27
|
+
}
|
28
|
+
return this.flowStateService.init$().pipe(switchMap(() => this.checkDynamicNavigation$(route)), catchError(e => {
|
29
|
+
console.error(e);
|
30
|
+
const message = e instanceof HttpErrorResponse ? e.error.message : e;
|
31
|
+
const errorDetails = isVeloceError(e.error) ? extractErrorDetails(e.error) : [];
|
32
|
+
return this.routerService.showErrorPage$(message, errorDetails);
|
33
|
+
}));
|
34
|
+
}
|
35
|
+
checkDynamicNavigation$(route) {
|
36
|
+
const flow = this.flowInfoService.flow;
|
37
|
+
if (!flow) {
|
38
|
+
return of(true);
|
39
|
+
}
|
40
|
+
if (flow.properties.suppressInitialNavigation || flow.properties.standalone) {
|
41
|
+
return of(true);
|
42
|
+
}
|
43
|
+
return this.getNavigateTo().pipe(switchMap(navigateTo => {
|
44
|
+
if (!navigateTo) {
|
45
|
+
return of(true);
|
46
|
+
}
|
47
|
+
const parentUrl = this.routerService.getFlowRootPath(route);
|
48
|
+
return from(this.router.navigate([parentUrl + navigateTo], {
|
49
|
+
queryParams: route.queryParams,
|
50
|
+
replaceUrl: true,
|
51
|
+
}));
|
52
|
+
}));
|
53
|
+
}
|
54
|
+
getNavigateTo() {
|
55
|
+
const flow = this.flowInfoService.flow;
|
56
|
+
let navigateTo;
|
57
|
+
if (flow?.properties.stateful) {
|
58
|
+
return this.flowStateService.select$(UITemplateType.FLOW_ENGINE, 'NAVIGATE_TO').pipe(map(r => {
|
59
|
+
if (r.success) {
|
60
|
+
return r.result;
|
61
|
+
}
|
62
|
+
return '';
|
63
|
+
}));
|
64
|
+
}
|
65
|
+
else {
|
66
|
+
const isAccountMode = this.flowInfoService.context.mode === 'ACCOUNT';
|
67
|
+
const { hasAssets, hasProducts } = this.salesTransactionService;
|
68
|
+
if (isAccountMode || hasAssets) {
|
69
|
+
navigateTo = '/assets';
|
70
|
+
}
|
71
|
+
else if (hasProducts) {
|
72
|
+
navigateTo = '/cart';
|
73
|
+
}
|
74
|
+
}
|
75
|
+
return of(navigateTo);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
SalesTransactionResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionResolver, deps: [{ token: i1.Router }, { token: i2.FlowRouterService }, { token: i3.FlowInfoService }, { token: i3.FlowStateService }, { token: i3.SalesTransactionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
79
|
+
SalesTransactionResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionResolver });
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SalesTransactionResolver, decorators: [{
|
81
|
+
type: Injectable
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.FlowRouterService }, { type: i3.FlowInfoService }, { type: i3.FlowStateService }, { type: i3.SalesTransactionService }]; } });
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXMtdHJhbnNhY3Rpb24ucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9zcmMvcmVzb2x2ZXJzL3NhbGVzLXRyYW5zYWN0aW9uLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFHcEUsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLE1BQWMsRUFDZCxhQUFnQyxFQUNoQyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsdUJBQWdEO1FBSmhELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtJQUN2RCxDQUFDO0lBRUcsT0FBTyxDQUFDLEtBQTZCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJ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QUFDO1lBQ2hFLElBQUksYUFBYSxJQUFJLFNBQVMsRUFBRTtnQkFDOUIsVUFBVSxHQUFHLFNBQVMsQ0FBQzthQUN4QjtpQkFBTSxJQUFJLFdBQVcsRUFBRTtnQkFDdEIsVUFBVSxHQUFHLE9BQU8sQ0FBQzthQUN0QjtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7cUhBakZVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBleHRyYWN0RXJyb3JEZXRhaWxzLCBpc1ZlbG9jZUVycm9yLCBVSVRlbXBsYXRlVHlwZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlLCBGbG93U3RhdGVTZXJ2aWNlLCBTYWxlc1RyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcblxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93Um91dGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zsb3ctcm91dGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2FsZXNUcmFuc2FjdGlvblJlc29sdmVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlclNlcnZpY2U6IEZsb3dSb3V0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmxvd0luZm9TZXJ2aWNlOiBGbG93SW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmbG93U3RhdGVTZXJ2aWNlOiBGbG93U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNUcmFuc2FjdGlvblNlcnZpY2U6IFNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc29sdmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmbG93ID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdztcbiAgICBpZiAoIWZsb3cpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmxvd1N0YXRlU2VydmljZS5pc0luaXRpYWxpemVkKCkpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mbG93U3RhdGVTZXJ2aWNlLmluaXQkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNoZWNrRHluYW1pY05hdmlnYXRpb24kKHJvdXRlKSksXG4gICAgICBjYXRjaEVycm9yKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gZSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZS5lcnJvci5tZXNzYWdlIDogZTtcbiAgICAgICAgY29uc3QgZXJyb3JEZXRhaWxzID0gaXNWZWxvY2VFcnJvcihlLmVycm9yKSA/IGV4dHJhY3RFcnJvckRldGFpbHMoZS5lcnJvcikgOiBbXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyU2VydmljZS5zaG93RXJyb3JQYWdlJChtZXNzYWdlLCBlcnJvckRldGFpbHMpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEeW5hbWljTmF2aWdhdGlvbiQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBmbG93ID0gdGhpcy5mbG93SW5mb1NlcnZpY2UuZmxvdztcbiAgICBpZiAoIWZsb3cpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAoZmxvdy5wcm9wZXJ0aWVzLnN1cHByZXNzSW5pdGlhbE5hdmlnYXRpb24gfHwgZmxvdy5wcm9wZXJ0aWVzLnN0YW5kYWxvbmUpIHtcbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXROYXZpZ2F0ZVRvKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChuYXZpZ2F0ZVRvID0+IHtcbiAgICAgICAgaWYgKCFuYXZpZ2F0ZVRvKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyZW50VXJsID0gdGhpcy5yb3V0ZXJTZXJ2aWNlLmdldEZsb3dSb290UGF0aChyb3V0ZSk7XG5cbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhcmVudFVybCArIG5hdmlnYXRlVG9dLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtczogcm91dGUucXVlcnlQYXJhbXMsXG4gICAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF2aWdhdGVUbygpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IGZsb3cgPSB0aGlzLmZsb3dJbmZvU2VydmljZS5mbG93O1xuICAgIGxldCBuYXZpZ2F0ZVRvOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKGZsb3c/LnByb3BlcnRpZXMuc3RhdGVmdWwpIHtcbiAgICAgIHJldHVybiB0aGlzLmZsb3dTdGF0ZVNlcnZpY2Uuc2VsZWN0JDxzdHJpbmc+KFVJVGVtcGxhdGVUeXBlLkZMT1dfRU5HSU5FLCAnTkFWSUdBVEVfVE8nKS5waXBlKFxuICAgICAgICBtYXAociA9PiB7XG4gICAgICAgICAgaWYgKHIuc3VjY2Vzcykge1xuICAgICAgICAgICAgcmV0dXJuIHIucmVzdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaXNBY2NvdW50TW9kZSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQubW9kZSA9PT0gJ0FDQ09VTlQnO1xuICAgICAgY29uc3QgeyBoYXNBc3NldHMsIGhhc1Byb2R1Y3RzIH0gPSB0aGlzLnNhbGVzVHJhbnNhY3Rpb25TZXJ2aWNlO1xuICAgICAgaWYgKGlzQWNjb3VudE1vZGUgfHwgaGFzQXNzZXRzKSB7XG4gICAgICAgIG5hdmlnYXRlVG8gPSAnL2Fzc2V0cyc7XG4gICAgICB9IGVsc2UgaWYgKGhhc1Byb2R1Y3RzKSB7XG4gICAgICAgIG5hdmlnYXRlVG8gPSAnL2NhcnQnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBvZihuYXZpZ2F0ZVRvKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { inject } from '@angular/core';
|
2
|
+
import { UIDefinitionsApiService } from '@veloceapps/api/v2';
|
3
|
+
import { ConfigurationRuntimeService, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
|
4
|
+
import { map, of, switchMap, tap } from 'rxjs';
|
5
|
+
export const resolveUIDefinition = () => {
|
6
|
+
const customizationService = inject(FLOW_CUSTOMIZATION, { optional: true });
|
7
|
+
const flowInfoService = inject(FlowInfoService);
|
8
|
+
const uiDefinitionsApiService = inject(UIDefinitionsApiService);
|
9
|
+
const configurationRuntimeService = inject(ConfigurationRuntimeService);
|
10
|
+
const { productId } = flowInfoService.context;
|
11
|
+
if (!productId) {
|
12
|
+
throw new Error(`Unable to start configuration for 'productId == null'`);
|
13
|
+
}
|
14
|
+
return of(undefined).pipe(switchMap(() => {
|
15
|
+
// Try resolving via customization service
|
16
|
+
if (!productId || !customizationService?.getUiDefinition) {
|
17
|
+
return of(undefined);
|
18
|
+
}
|
19
|
+
return customizationService.getUiDefinition(productId);
|
20
|
+
}), switchMap(uiDefContainer => {
|
21
|
+
// Resolve UIDefinition from the org
|
22
|
+
if (uiDefContainer) {
|
23
|
+
return of(uiDefContainer);
|
24
|
+
}
|
25
|
+
if (flowInfoService.context.requiredUIDefinitionId) {
|
26
|
+
return uiDefinitionsApiService.fetchUIDefinition$(flowInfoService.context.requiredUIDefinitionId);
|
27
|
+
}
|
28
|
+
return uiDefinitionsApiService
|
29
|
+
.fetchUIDefinitions$({
|
30
|
+
productId,
|
31
|
+
defaultUIDefinitionId: flowInfoService.context.defaultUIDefinitionId,
|
32
|
+
})
|
33
|
+
.pipe(map((uiDefinitionContainers) => {
|
34
|
+
const uiDefContainer = uiDefinitionContainers[0];
|
35
|
+
if (!uiDefContainer) {
|
36
|
+
throw new Error(`UI Definition for productId=${productId} is not resolved`);
|
37
|
+
}
|
38
|
+
return uiDefContainer;
|
39
|
+
}));
|
40
|
+
}), tap(uiDefContainer => (configurationRuntimeService.uiDefinitionContainer = uiDefContainer)));
|
41
|
+
};
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvdWktZGVmaW5pdGlvbi5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFxQyxHQUFHLEVBQUU7SUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXhFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7S0FDMUU7SUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRTtZQUN4RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUN6QixvQ0FBb0M7UUFDcEMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7WUFDbEQsT0FBTyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDbkc7UUFFRCxPQUFPLHVCQUF1QjthQUMzQixtQkFBbUIsQ0FBQztZQUNuQixTQUFTO1lBQ1QscUJBQXFCLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUI7U0FDckUsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxzQkFBK0MsRUFBRSxFQUFFO1lBQ3RELE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLFNBQVMsa0JBQWtCLENBQUMsQ0FBQzthQUM3RTtZQUVELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQzVGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc29sdmVGbiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBVSURlZmluaXRpb25zQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL2FwaS92Mic7XG5pbXBvcnQgeyBVSURlZmluaXRpb25Db250YWluZXIgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSwgRmxvd0luZm9TZXJ2aWNlLCBGTE9XX0NVU1RPTUlaQVRJT04gfSBmcm9tICdAdmVsb2NlYXBwcy9zZGsvY29yZSc7XG5pbXBvcnQgeyBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgcmVzb2x2ZVVJRGVmaW5pdGlvbjogUmVzb2x2ZUZuPFVJRGVmaW5pdGlvbkNvbnRhaW5lcj4gPSAoKSA9PiB7XG4gIGNvbnN0IGN1c3RvbWl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KEZMT1dfQ1VTVE9NSVpBVElPTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgY29uc3QgZmxvd0luZm9TZXJ2aWNlID0gaW5qZWN0KEZsb3dJbmZvU2VydmljZSk7XG4gIGNvbnN0IHVpRGVmaW5pdGlvbnNBcGlTZXJ2aWNlID0gaW5qZWN0KFVJRGVmaW5pdGlvbnNBcGlTZXJ2aWNlKTtcbiAgY29uc3QgY29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlID0gaW5qZWN0KENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSk7XG5cbiAgY29uc3QgeyBwcm9kdWN0SWQgfSA9IGZsb3dJbmZvU2VydmljZS5jb250ZXh0O1xuICBpZiAoIXByb2R1Y3RJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHN0YXJ0IGNvbmZpZ3VyYXRpb24gZm9yICdwcm9kdWN0SWQgPT0gbnVsbCdgKTtcbiAgfVxuXG4gIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgIC8vIFRyeSByZXNvbHZpbmcgdmlhIGN1c3RvbWl6YXRpb24gc2VydmljZVxuICAgICAgaWYgKCFwcm9kdWN0SWQgfHwgIWN1c3RvbWl6YXRpb25TZXJ2aWNlPy5nZXRVaURlZmluaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjdXN0b21pemF0aW9uU2VydmljZS5nZXRVaURlZmluaXRpb24ocHJvZHVjdElkKTtcbiAgICB9KSxcbiAgICBzd2l0Y2hNYXAodWlEZWZDb250YWluZXIgPT4ge1xuICAgICAgLy8gUmVzb2x2ZSBVSURlZmluaXRpb24gZnJvbSB0aGUgb3JnXG4gICAgICBpZiAodWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgcmV0dXJuIG9mKHVpRGVmQ29udGFpbmVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZsb3dJbmZvU2VydmljZS5jb250ZXh0LnJlcXVpcmVkVUlEZWZpbml0aW9uSWQpIHtcbiAgICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbnNBcGlTZXJ2aWNlLmZldGNoVUlEZWZpbml0aW9uJChmbG93SW5mb1NlcnZpY2UuY29udGV4dC5yZXF1aXJlZFVJRGVmaW5pdGlvbklkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVpRGVmaW5pdGlvbnNBcGlTZXJ2aWNlXG4gICAgICAgIC5mZXRjaFVJRGVmaW5pdGlvbnMkKHtcbiAgICAgICAgICBwcm9kdWN0SWQsXG4gICAgICAgICAgZGVmYXVsdFVJRGVmaW5pdGlvbklkOiBmbG93SW5mb1NlcnZpY2UuY29udGV4dC5kZWZhdWx0VUlEZWZpbml0aW9uSWQsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodWlEZWZpbml0aW9uQ29udGFpbmVyczogVUlEZWZpbml0aW9uQ29udGFpbmVyW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVpRGVmQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyc1swXTtcbiAgICAgICAgICAgIGlmICghdWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVSSBEZWZpbml0aW9uIGZvciBwcm9kdWN0SWQ9JHtwcm9kdWN0SWR9IGlzIG5vdCByZXNvbHZlZGApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdWlEZWZDb250YWluZXI7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgdGFwKHVpRGVmQ29udGFpbmVyID0+IChjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZDb250YWluZXIpKSxcbiAgKTtcbn07XG4iXX0=
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { getMaxRenewalTermsValue, mapShoppingCartSettings } from '@veloceapps/core';
|
3
|
-
import {
|
3
|
+
import { FlowInfoService, RuntimeSettingsService } from '@veloceapps/sdk/core';
|
4
4
|
import { DialogService } from 'primeng/dynamicdialog';
|
5
5
|
import { FlowDialogComponent } from '../components/dialog/dialog.component';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
import * as i1 from "primeng/dynamicdialog";
|
8
8
|
import * as i2 from "@veloceapps/sdk/core";
|
9
9
|
export class FlowDialogService {
|
10
|
-
constructor(dialogService,
|
10
|
+
constructor(dialogService, runtimeSettings, flowInfoService) {
|
11
11
|
this.dialogService = dialogService;
|
12
|
-
this.contextService = contextService;
|
13
12
|
this.runtimeSettings = runtimeSettings;
|
13
|
+
this.flowInfoService = flowInfoService;
|
14
14
|
}
|
15
15
|
show(config) {
|
16
16
|
return this.dialogService.open(FlowDialogComponent, {
|
@@ -31,8 +31,8 @@ export class FlowDialogService {
|
|
31
31
|
});
|
32
32
|
}
|
33
33
|
showReadonlyModeDialog() {
|
34
|
-
const
|
35
|
-
const objectName =
|
34
|
+
const mode = this.flowInfoService.context.mode;
|
35
|
+
const objectName = mode ? mode[0]?.toUpperCase() + mode.substring(1).toLowerCase() : 'Object';
|
36
36
|
return this.show({
|
37
37
|
title: 'Error',
|
38
38
|
description: `${objectName} Cannot be Saved`,
|
@@ -104,9 +104,9 @@ export class FlowDialogService {
|
|
104
104
|
return dialogFunction(dialog);
|
105
105
|
}
|
106
106
|
}
|
107
|
-
FlowDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowDialogService, deps: [{ token: i1.DialogService }, { token: i2.
|
107
|
+
FlowDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowDialogService, deps: [{ token: i1.DialogService }, { token: i2.RuntimeSettingsService }, { token: i2.FlowInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
|
108
108
|
FlowDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowDialogService });
|
109
109
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FlowDialogService, decorators: [{
|
110
110
|
type: Injectable
|
111
|
-
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.
|
112
|
-
//# sourceMappingURL=data:application/json;base64,
|
111
|
+
}], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.RuntimeSettingsService }, { type: i2.FlowInfoService }]; } });
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9zZXJ2aWNlcy9mbG93LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7OztBQU01RSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1UsYUFBNEIsRUFDNUIsZUFBdUMsRUFDdkMsZUFBZ0M7UUFGaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN2QyxDQUFDO0lBRUcsSUFBSSxDQUFDLE1BQXdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDbEQsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsS0FBSztZQUNqQixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUNoQixVQUFVLEVBQUUsYUFBYTtTQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ2IsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDZixLQUFLLEVBQUUsc0JBQXNCO1lBQzdCLFdB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QyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs4R0FqSFUsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldE1heFJlbmV3YWxUZXJtc1ZhbHVlLCBtYXBTaG9wcGluZ0NhcnRTZXR0aW5ncyB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgRmxvd0luZm9TZXJ2aWNlLCBSdW50aW1lU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbG93RGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnR5cGVzJztcblxuZXhwb3J0IHR5cGUgRmxvd0RpYWxvZ0ZuID0ga2V5b2YgT21pdDxGbG93RGlhbG9nU2VydmljZSwgJ3Nob3cnIHwgJ2NvbnN0cnVjdG9yJz47XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGbG93RGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXR0aW5nczogUnVudGltZVNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGZsb3dJbmZvU2VydmljZTogRmxvd0luZm9TZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHNob3coY29uZmlnOiBGbG93RGlhbG9nQ29uZmlnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEZsb3dEaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRpc21pc3NhYmxlTWFzazogdHJ1ZSxcbiAgICAgIGNsb3NlT25Fc2NhcGU6IHRydWUsXG4gICAgICBjbG9zYWJsZTogdHJ1ZSxcbiAgICAgIHNob3dIZWFkZXI6IGZhbHNlLFxuICAgICAgd2lkdGg6ICczMjBweCcsXG4gICAgICBkYXRhOiB7IGNvbmZpZyB9LFxuICAgICAgc3R5bGVDbGFzczogJ2Zsb3ctZGlhbG9nJyxcbiAgICB9KS5vbkNsb3NlO1xuICB9XG5cbiAgcHVibGljIHNob3dFbXB0eUNhcnREaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ05vIFByb2R1Y3RzIGluIFF1b3RlJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVGhlcmUgYXJlIG5vIHByb2R1Y3RzIGluIHlvdXIgUXVvdGUuIFRvIHNhdmUgYSBRdW90ZSwgYWRkIGF0IGxlYXN0IG9uZSBwcm9kdWN0LicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dSZWFkb25seU1vZGVEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMuZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQubW9kZTtcbiAgICBjb25zdCBvYmplY3ROYW1lID0gbW9kZSA/IG1vZGVbMF0/LnRvVXBwZXJDYXNlKCkgKyBtb2RlLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpIDogJ09iamVjdCc7XG5cbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnRXJyb3InLFxuICAgICAgZGVzY3JpcHRpb246IGAke29iamVjdE5hbWV9IENhbm5vdCBiZSBTYXZlZGAsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dRdW90ZVJlYWRvbmx5TW9kZURpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnUXVvdGUgQ2Fubm90IGJlIFNhdmVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnSXQgaXMgb25seSBwb3NzaWJsZSB0byBzYXZlIHF1b3RlcyB3aXRoIHRoZSDigJxEcmFmdOKAnSBzdGF0dXMuIFBsZWFzZSBjcmVhdGUgYSBuZXcgcXVvdGUgdG8gbWFrZSBhbmQgc2F2ZSBjaGFuZ2VzLicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dRdW90ZU91dHNpZGVTaG9wcGluZ0NhcnREaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ1F1b3RlIENhbm5vdCBiZSBTYXZlZCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0l0IGlzIG9ubHkgcG9zc2libGUgdG8gc2F2ZSBxdW90ZXMgZnJvbSB0aGUgU2hvcHBpbmcgQ2FydC4gVG8gcHJvY2VlZCwgZ28gdG8gdGhlIFNob3BwaW5nIENhcnQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FjY291bnROb0NoYW5nZXNEaWFsb2coKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdyh7XG4gICAgICB0aXRsZTogJ05vIENoYW5nZXMgdG8gU2F2ZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1RoZXJlIGFyZSBubyBjaGFuZ2VzIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZS4gUGxlYXNlIG1ha2UgY2hhbmdlcyB0byBwcm9jZWVkLicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dVbnNhdmVkQ2hhbmdlc0RpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnVW5zYXZlZCBDaGFuZ2VzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxlYXZlIHRoaXMgcGFnZSBhbmQgZGlzY2FyZCB5b3VyIHVuc2F2ZWQgY2hhbmdlcz8nLFxuICAgICAgcHJpbWFyeUJ1dHRvbjogJ0tlZXAgRWRpdGluZycsXG4gICAgICBzZWNvbmRhcnlCdXR0b246ICdEaXNjYXJkIENoYW5nZXMnLFxuICAgICAgb3Bwb3NpdGVCdXR0b25BY3Rpb25zOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dSZWFkb25seVF1b3RlU3VibWl0RmFpbHVyZURpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnQ2Fubm90IFN1Ym1pdCBmb3IgQXBwcm92YWwnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdJdCBpcyBvbmx5IHBvc3NpYmxlIHRvIHN1Ym1pdCBmb3IgYXBwcm92YWwgcXVvdGVzIHdpdGggdGhlIOKAnERyYWZ04oCcIHN0YXR1cy4gUGxlYXNlIGNyZWF0ZSBhIG5ldyBxdW90ZSB0byBwcm9jZWVkLicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dPdXRzaWRlU2hvcHBpbmdDYXJ0UXVvdGVTdWJtaXRGYWlsdXJlRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdDYW5ub3QgU3VibWl0IGZvciBBcHByb3ZhbCcsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0l0IGlzIG9ubHkgcG9zc2libGUgdG8gc3VibWl0IHF1b3RlcyBmb3IgYXBwcm92YWwgZnJvbSB0aGUgU2hvcHBpbmcgQ2FydC4gVG8gcHJvY2VlZCwgZ28gdG8gdGhlIFNob3BwaW5nIENhcnQuJyxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0FjY291bnRTdWJtaXRGYWlsdXJlRGlhbG9nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNob3coe1xuICAgICAgdGl0bGU6ICdTYXZlIENoYW5nZXMnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdUbyBzdWJtaXQgZm9yIGFwcHJvdmFsLCBzYXZlIHRoZSBxdW90ZSBmaXJzdCwgYW5kIHRoZW4gc3VibWl0IGl0IGZvciBhcHByb3ZhbCBmcm9tIHRoZSBTaG9wcGluZyBDYXJ0LicsXG4gICAgICBwcmltYXJ5QnV0dG9uOiAnT2snLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNob3dUZXJtc0xpbWl0UmVhY2hlZERpYWxvZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzaG9wcGluZ0NhcnRTZXR0aW5ncyA9IG1hcFNob3BwaW5nQ2FydFNldHRpbmdzKHRoaXMucnVudGltZVNldHRpbmdzLmdldFNob3BwaW5nQ2FydFNldHRpbmdzKCkgfHwgW10pO1xuICAgIGNvbnN0IG1heFJlbmV3YWxUZXJtcyA9IGdldE1heFJlbmV3YWxUZXJtc1ZhbHVlKHNob3BwaW5nQ2FydFNldHRpbmdzKTtcbiAgICByZXR1cm4gdGhpcy5zaG93KHtcbiAgICAgIHRpdGxlOiAnVGVybXMgTGltaXQgUmVhY2hlZCcsXG4gICAgICBkZXNjcmlwdGlvbjogYFlvdSBoYXZlIHJlYWNoZWQgdGhlIHRlcm0gcXVhbnRpdHkgbGltaXQ6ICR7bWF4UmVuZXdhbFRlcm1zfS4gWW91IGNhbiBpbmNyZWFzZSB0aGUgbGltaXQgaW4gdGhlIFNob3BwaW5nIENhcnQgU2V0dGluZ3MuYCxcbiAgICAgIHByaW1hcnlCdXR0b246ICdPaycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0RpYWxvZyhkaWFsb2c6IEZsb3dEaWFsb2dGbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGRpYWxvZ0Z1bmN0aW9uID0gdGhpc1tkaWFsb2ddLmJpbmQodGhpcyk7XG4gICAgcmV0dXJuIGRpYWxvZ0Z1bmN0aW9uKGRpYWxvZyk7XG4gIH1cbn1cbiJdfQ==
|