@veloceapps/sdk 3.0.16 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/veloce-sdk-cms.umd.js +74 -836
- package/bundles/veloce-sdk-cms.umd.js.map +1 -1
- package/bundles/veloce-sdk-core.umd.js +1269 -0
- package/bundles/veloce-sdk-core.umd.js.map +1 -0
- package/bundles/veloce-sdk-runtime.umd.js +53 -166
- package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
- package/bundles/veloce-sdk.umd.js +500 -164
- package/bundles/veloce-sdk.umd.js.map +1 -1
- package/cms/cms.default.d.ts +1 -1
- package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
- package/cms/components/preview/preview.component.d.ts +1 -3
- package/cms/decorators/element.decorator.d.ts +2 -2
- package/cms/index.d.ts +1 -1
- package/cms/injection-tokens.d.ts +1 -1
- package/cms/launcher.module.d.ts +2 -3
- package/cms/plugins/script.plugin.d.ts +1 -0
- package/cms/services/launcher.service.d.ts +1 -1
- package/cms/types/common.types.d.ts +4 -9
- package/cms/types/configuration.types.d.ts +0 -5
- package/cms/types/index.d.ts +1 -2
- package/cms/types/path.types.d.ts +11 -0
- package/cms/utils/element.utils.d.ts +6 -5
- package/cms/utils/elements-resolver.d.ts +2 -1
- package/cms/utils/index.d.ts +3 -1
- package/cms/utils/path.utils.d.ts +2 -1
- package/cms/vendor-map.d.ts +677 -2
- package/core/core.module.d.ts +8 -0
- package/core/index.d.ts +6 -0
- package/{cms → core}/modules/configuration/configuration.module.d.ts +0 -0
- package/{cms → core}/modules/configuration/helpers.d.ts +1 -2
- package/{cms → core}/modules/configuration/index.d.ts +0 -1
- package/{cms → core}/modules/configuration/services/configuration-runtime.service.d.ts +2 -3
- package/{cms → core}/modules/configuration/services/configuration.service.d.ts +2 -2
- package/{cms → core}/modules/configuration/services/runtime-context.service.d.ts +1 -1
- package/{cms → core}/modules/configuration/types/configuration-runtime.types.d.ts +0 -0
- package/{cms → core}/modules/flow-configuration/flow-configuration.module.d.ts +0 -0
- package/{cms → core}/modules/flow-configuration/index.d.ts +0 -0
- package/{cms → core}/modules/flow-configuration/services/flow-configuration.service.d.ts +7 -4
- package/{cms → core}/modules/flow-configuration/services/flow-update.service.d.ts +0 -0
- package/{cms → core}/modules/flow-configuration/types/update.types.d.ts +0 -0
- package/{cms → core}/modules/index.d.ts +0 -0
- package/core/package.json +10 -0
- package/{runtime → core}/services/context.service.d.ts +0 -0
- package/core/services/index.d.ts +2 -0
- package/{runtime/services/quote.service.d.ts → core/services/quote-draft.service.d.ts} +11 -6
- package/core/types/index.d.ts +3 -0
- package/core/types/quote-states.types.d.ts +6 -0
- package/{runtime/types/runtime-context.types.d.ts → core/types/runtime.types.d.ts} +4 -5
- package/{cms → core}/types/ui-definition.types.d.ts +0 -4
- package/core/utils/index.d.ts +2 -0
- package/{cms → core}/utils/line-item.utils.d.ts +0 -2
- package/{cms/types/line-item.types.d.ts → core/utils/line-item.worker.d.ts} +0 -0
- package/core/veloce-sdk-core.d.ts +5 -0
- package/esm2015/cms/cms.default.js +1 -1
- package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
- package/esm2015/cms/components/preview/preview.component.js +9 -10
- package/esm2015/cms/decorators/element.decorator.js +1 -1
- package/esm2015/cms/index.js +1 -2
- package/esm2015/cms/injection-tokens.js +1 -1
- package/esm2015/cms/launcher.module.js +5 -6
- package/esm2015/cms/plugins/configuration.plugin.js +3 -4
- package/esm2015/cms/plugins/script.plugin.js +27 -14
- package/esm2015/cms/services/launcher.service.js +1 -1
- package/esm2015/cms/types/common.types.js +1 -1
- package/esm2015/cms/types/configuration.types.js +1 -1
- package/esm2015/cms/types/index.js +2 -3
- package/esm2015/cms/types/path.types.js +2 -0
- package/esm2015/cms/utils/element.utils.js +1 -1
- package/esm2015/cms/utils/elements-resolver.js +1 -1
- package/esm2015/cms/utils/index.js +4 -2
- package/esm2015/cms/utils/path.utils.js +11 -1
- package/esm2015/cms/vendor-map.js +6 -5
- package/esm2015/core/core.module.js +18 -0
- package/esm2015/core/index.js +7 -0
- package/esm2015/core/modules/configuration/configuration.module.js +34 -0
- package/esm2015/core/modules/configuration/helpers.js +10 -0
- package/esm2015/core/modules/configuration/index.js +5 -0
- package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +93 -0
- package/esm2015/core/modules/configuration/services/configuration.service.js +147 -0
- package/esm2015/core/modules/configuration/services/runtime-context.service.js +61 -0
- package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
- package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
- package/esm2015/core/modules/flow-configuration/index.js +5 -0
- package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +90 -0
- package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +114 -0
- package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
- package/esm2015/core/modules/index.js +3 -0
- package/esm2015/core/services/context.service.js +41 -0
- package/esm2015/core/services/index.js +3 -0
- package/esm2015/core/services/quote-draft.service.js +67 -0
- package/esm2015/core/types/index.js +4 -0
- package/esm2015/core/types/quote-states.types.js +2 -0
- package/esm2015/core/types/runtime.types.js +16 -0
- package/esm2015/core/types/ui-definition.types.js +2 -0
- package/esm2015/core/utils/index.js +3 -0
- package/esm2015/core/utils/line-item.utils.js +98 -0
- package/esm2015/core/utils/line-item.worker.js +19 -0
- package/esm2015/core/veloce-sdk-core.js +5 -0
- package/esm2015/runtime/components/component-preview/component-preview.component.js +2 -2
- package/esm2015/runtime/components/ui-runtime/runtime.component.js +10 -9
- package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +3 -3
- package/esm2015/runtime/execution/directives/section-script.directive.js +19 -20
- package/esm2015/runtime/execution/directives/velo-port.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-quote.directive.js +1 -1
- package/esm2015/runtime/execution/directives/vl-ramp.directive.js +2 -2
- package/esm2015/runtime/execution/runtime-execution.module.js +6 -8
- package/esm2015/runtime/runtime.module.js +7 -9
- package/esm2015/runtime/services/cart.service.js +5 -6
- package/esm2015/runtime/services/configuration.service.js +9 -9
- package/esm2015/runtime/services/index.js +1 -3
- package/esm2015/runtime/services/runtime-context.service.js +4 -4
- package/esm2015/runtime/services/runtime.service.js +3 -3
- package/esm2015/runtime/types/index.js +1 -2
- package/esm2015/runtime/types/runtime.types.js +1 -1
- package/esm2015/src/components/dialog/dialog.component.js +30 -0
- package/esm2015/src/components/dialog/dialog.module.js +19 -0
- package/esm2015/src/components/dialog/dialog.types.js +2 -0
- package/esm2015/src/components/header/cart-overlay/cart-overlay.component.js +2 -2
- package/esm2015/src/components/header/header.component.js +55 -11
- package/esm2015/src/flow-routing.module.js +15 -5
- package/esm2015/src/flow.component.js +2 -2
- package/esm2015/src/flow.module.js +33 -6
- package/esm2015/src/pages/catalog/catalog.component.js +117 -0
- package/esm2015/src/pages/catalog/catalog.module.js +20 -0
- package/esm2015/src/pages/debug/debug.component.js +14 -16
- package/esm2015/src/pages/legacy-product/legacy-product.component.js +12 -11
- package/esm2015/src/pages/product/product.component.js +12 -12
- package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +40 -21
- package/esm2015/src/pages/shopping-cart/shopping-cart.module.js +20 -0
- package/esm2015/src/resolvers/context.resolver.js +2 -2
- package/esm2015/src/resolvers/quote.resolver.js +9 -16
- package/esm2015/src/services/flow-router.service.js +11 -2
- package/esm2015/src/services/flow.service.js +1 -1
- package/esm2015/src/services/fow-dialog.service.js +58 -0
- package/esm2015/src/types/flow-customization.types.js +1 -1
- package/esm2015/src/utils/flow.utils.js +11 -1
- package/fesm2015/veloce-sdk-cms.js +64 -714
- package/fesm2015/veloce-sdk-cms.js.map +1 -1
- package/fesm2015/veloce-sdk-core.js +785 -0
- package/fesm2015/veloce-sdk-core.js.map +1 -0
- package/fesm2015/veloce-sdk-runtime.js +48 -144
- package/fesm2015/veloce-sdk-runtime.js.map +1 -1
- package/fesm2015/veloce-sdk.js +438 -118
- package/fesm2015/veloce-sdk.js.map +1 -1
- package/package.json +2 -2
- package/runtime/components/ui-runtime/runtime.component.d.ts +3 -3
- package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +1 -1
- package/runtime/execution/directives/section-script.directive.d.ts +2 -3
- package/runtime/execution/directives/velo-port.directive.d.ts +2 -2
- package/runtime/execution/directives/vl-ramp.directive.d.ts +1 -1
- package/runtime/execution/runtime-execution.module.d.ts +2 -1
- package/runtime/runtime.module.d.ts +2 -1
- package/runtime/services/cart.service.d.ts +2 -3
- package/runtime/services/configuration.service.d.ts +4 -5
- package/runtime/services/index.d.ts +0 -2
- package/runtime/services/runtime-context.service.d.ts +3 -3
- package/runtime/services/runtime.service.d.ts +5 -6
- package/runtime/types/index.d.ts +0 -1
- package/runtime/types/runtime.types.d.ts +5 -6
- package/src/components/dialog/dialog.component.d.ts +13 -0
- package/src/components/dialog/dialog.module.d.ts +9 -0
- package/src/components/dialog/dialog.types.d.ts +6 -0
- package/src/components/header/cart-overlay/cart-overlay.component.d.ts +1 -1
- package/src/components/header/header.component.d.ts +12 -5
- package/src/flow-routing.module.d.ts +3 -2
- package/src/flow.component.d.ts +1 -1
- package/src/flow.module.d.ts +3 -1
- package/src/pages/catalog/catalog.component.d.ts +32 -0
- package/src/pages/catalog/catalog.module.d.ts +10 -0
- package/src/pages/debug/debug.component.d.ts +3 -4
- package/src/pages/legacy-product/legacy-product.component.d.ts +4 -3
- package/src/pages/product/product.component.d.ts +3 -4
- package/src/pages/shopping-cart/shopping-cart.component.d.ts +6 -3
- package/src/pages/shopping-cart/{product.module.d.ts → shopping-cart.module.d.ts} +0 -0
- package/src/resolvers/context.resolver.d.ts +1 -1
- package/src/resolvers/quote.resolver.d.ts +3 -4
- package/src/services/flow-router.service.d.ts +3 -1
- package/src/services/flow.service.d.ts +1 -1
- package/src/services/fow-dialog.service.d.ts +17 -0
- package/src/types/flow-customization.types.d.ts +3 -2
- package/src/utils/flow.utils.d.ts +2 -0
- package/cms/modules/configuration/types/configuration.types.d.ts +0 -15
- package/esm2015/cms/modules/configuration/configuration.module.js +0 -37
- package/esm2015/cms/modules/configuration/helpers.js +0 -10
- package/esm2015/cms/modules/configuration/index.js +0 -6
- package/esm2015/cms/modules/configuration/services/configuration-runtime.service.js +0 -93
- package/esm2015/cms/modules/configuration/services/configuration.service.js +0 -147
- package/esm2015/cms/modules/configuration/services/runtime-context.service.js +0 -61
- package/esm2015/cms/modules/configuration/types/configuration-runtime.types.js +0 -2
- package/esm2015/cms/modules/configuration/types/configuration.types.js +0 -2
- package/esm2015/cms/modules/flow-configuration/flow-configuration.module.js +0 -18
- package/esm2015/cms/modules/flow-configuration/index.js +0 -5
- package/esm2015/cms/modules/flow-configuration/services/flow-configuration.service.js +0 -83
- package/esm2015/cms/modules/flow-configuration/services/flow-update.service.js +0 -114
- package/esm2015/cms/modules/flow-configuration/types/update.types.js +0 -2
- package/esm2015/cms/modules/index.js +0 -3
- package/esm2015/cms/types/line-item.types.js +0 -19
- package/esm2015/cms/types/ui-definition.types.js +0 -2
- package/esm2015/cms/utils/line-item.utils.js +0 -107
- package/esm2015/runtime/services/context.service.js +0 -41
- package/esm2015/runtime/services/quote.service.js +0 -53
- package/esm2015/runtime/types/runtime-context.types.js +0 -16
- package/esm2015/src/pages/shopping-cart/product.module.js +0 -20
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfigurationContextMode, RuntimeModel, SalesforceIdUtils } from '@veloce/core';
|
|
3
|
+
import { combineLatest, of } from 'rxjs';
|
|
4
|
+
import { first, tap } from 'rxjs/operators';
|
|
5
|
+
import { RuntimeMode } from '../../../types';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@veloce/api";
|
|
8
|
+
import * as i2 from "../../../services";
|
|
9
|
+
import * as i3 from "./runtime-context.service";
|
|
10
|
+
export class ConfigurationRuntimeService {
|
|
11
|
+
constructor(apiService, contextService, runtimeContextService) {
|
|
12
|
+
this.apiService = apiService;
|
|
13
|
+
this.contextService = contextService;
|
|
14
|
+
this.runtimeContextService = runtimeContextService;
|
|
15
|
+
this._isInitialized = false;
|
|
16
|
+
this.uiDefinitionProperties = {};
|
|
17
|
+
}
|
|
18
|
+
reset() {
|
|
19
|
+
this._isInitialized = false;
|
|
20
|
+
this._runtimeContext = undefined;
|
|
21
|
+
this._assets = undefined;
|
|
22
|
+
this.uiDefinitionProperties = {};
|
|
23
|
+
}
|
|
24
|
+
initTestMode(modelId, uiDefinition) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
this.uiDefinitionProperties = (_a = uiDefinition.properties) !== null && _a !== void 0 ? _a : {};
|
|
27
|
+
const uiDefinitionExternals = (_b = uiDefinition.externals) !== null && _b !== void 0 ? _b : {};
|
|
28
|
+
return combineLatest([
|
|
29
|
+
this.apiService.getRuntimeDataByModelId(modelId),
|
|
30
|
+
this.contextService.create('TestId', ConfigurationContextMode.TEST),
|
|
31
|
+
]).pipe(first(), tap(([runtimeData, context]) => {
|
|
32
|
+
var _a;
|
|
33
|
+
this._runtimeContext = {
|
|
34
|
+
modelId: modelId,
|
|
35
|
+
runtimeModel: RuntimeModel.create(runtimeData.types, runtimeData.products),
|
|
36
|
+
runtimeMode: RuntimeMode.TEST,
|
|
37
|
+
};
|
|
38
|
+
this.contextService.update({
|
|
39
|
+
properties: Object.assign(Object.assign(Object.assign(Object.assign({}, (_a = this.runtimeContext) === null || _a === void 0 ? void 0 : _a.properties), context.properties), { ModelId: modelId, RuntimeMode: ConfigurationContextMode.TEST, PricingEnabled: this.uiDefinitionProperties.pricingEnabled ? 'true' : 'false', StartDate: new Date().toISOString().substring(0, 10), PriceListId: this.uiDefinitionProperties.priceList }), uiDefinitionExternals),
|
|
40
|
+
});
|
|
41
|
+
this._isInitialized = true;
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
init(props) {
|
|
45
|
+
this._assets = props.assets;
|
|
46
|
+
const context = this.contextService.resolve();
|
|
47
|
+
if (!context) {
|
|
48
|
+
return of();
|
|
49
|
+
}
|
|
50
|
+
return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(tap(runtimeContext => {
|
|
51
|
+
var _a, _b, _c, _d;
|
|
52
|
+
this.uiDefinitionProperties = (_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {};
|
|
53
|
+
const { PriceListId } = (_c = context.properties) !== null && _c !== void 0 ? _c : {};
|
|
54
|
+
const mergeContext = Object.assign(Object.assign({}, runtimeContext), { properties: Object.assign(Object.assign(Object.assign({}, runtimeContext.properties), context.properties), { PricingEnabled: PriceListId ? 'true' : 'false' }) });
|
|
55
|
+
this.id15to18('AccountId', mergeContext.properties);
|
|
56
|
+
this._runtimeContext = mergeContext;
|
|
57
|
+
if (context.properties && ((_d = this._runtimeContext.properties) === null || _d === void 0 ? void 0 : _d.StartDate)) {
|
|
58
|
+
this.contextService.update({
|
|
59
|
+
properties: Object.assign(Object.assign({}, this._runtimeContext.properties), context.properties),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
this._isInitialized = true;
|
|
63
|
+
}));
|
|
64
|
+
}
|
|
65
|
+
id15to18(propertyName, source) {
|
|
66
|
+
if (!source) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const value = source[propertyName];
|
|
70
|
+
if (typeof value === 'string' && value.length === 15) {
|
|
71
|
+
source[propertyName] = SalesforceIdUtils.generateId18FromId15(value);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
getAsset(lineItem) {
|
|
75
|
+
return this._assets && this._assets.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);
|
|
76
|
+
}
|
|
77
|
+
get isInitialized() {
|
|
78
|
+
return this._isInitialized;
|
|
79
|
+
}
|
|
80
|
+
get runtimeModel() {
|
|
81
|
+
var _a;
|
|
82
|
+
return (_a = this.runtimeContext) === null || _a === void 0 ? void 0 : _a.runtimeModel;
|
|
83
|
+
}
|
|
84
|
+
get runtimeContext() {
|
|
85
|
+
return this._runtimeContext;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
ConfigurationRuntimeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationRuntimeService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.ContextService }, { token: i3.RuntimeContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
89
|
+
ConfigurationRuntimeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationRuntimeService });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationRuntimeService, decorators: [{
|
|
91
|
+
type: Injectable
|
|
92
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.ContextService }, { type: i3.RuntimeContextService }]; } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBWSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkcsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQWtCLFdBQVcsRUFBbUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLOUYsTUFBTSxPQUFPLDJCQUEyQjtJQU90QyxZQUNVLFVBQW1DLEVBQ25DLGNBQThCLEVBQzlCLHFCQUE0QztRQUY1QyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQVA5QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV4QiwyQkFBc0IsR0FBc0IsRUFBRSxDQUFDO0lBTW5ELENBQUM7SUFFRyxLQUFLO1FBQ1YsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWUsRUFBRSxZQUEwQjs7UUFDN0QsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE1BQUEsWUFBWSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDO1FBQzVELE1BQU0scUJBQXFCLEdBQUcsTUFBQSxZQUFZLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUM7UUFFM0QsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQztTQUNwRSxDQUFDLENBQUMsSUFBSSxDQUNMLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7O1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUc7Z0JBQ3JCLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUM7Z0JBQzFFLFdBQVcsRUFBRSxXQUFXLENBQUMsSUFBSTthQUM5QixDQUFDO1lBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3pCLFVBQVUsOERBQ0wsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxVQUFVLEdBQy9CLE9BQU8sQ0FBQyxVQUFVLEtBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxJQUFJLEVBQzFDLGNBQWMsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFDN0UsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDcEQsV0FBVyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEtBQy9DLHFCQUFxQixDQUN6QjthQUNGLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWlDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTlDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEVBQUUsRUFBRSxDQUFDO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ3pGLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTs7WUFDbkIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE1BQUEsTUFBQSxjQUFjLENBQUMsWUFBWSwwQ0FBRSxVQUFVLG1DQUFJLEVBQUUsQ0FBQztZQUM1RSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBQSxPQUFPLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUM7WUFFakQsTUFBTSxZQUFZLG1DQUNiLGNBQWMsS0FDakIsVUFBVSxnREFDTCxjQUFjLENBQUMsVUFBVSxHQUN6QixPQUFPLENBQUMsVUFBVSxLQUNyQixjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFFakQsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQztZQUVwQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUksTUFBQSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsMENBQUUsU0FBUyxDQUFBLEVBQUU7Z0JBQ3BFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO29CQUN6QixVQUFVLGtDQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxHQUMvQixPQUFPLENBQUMsVUFBVSxDQUN0QjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sUUFBUSxDQUFDLFlBQW9CLEVBQUUsTUFBd0I7UUFDN0QsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU87U0FDUjtRQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUNwRCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLFFBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLG1CQUFtQixJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFlBQVk7O1FBQ3JCLE9BQU8sTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxZQUFZLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQzs7eUhBdkhVLDJCQUEyQjs2SEFBM0IsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZSwgTGluZUl0ZW0sIFJ1bnRpbWVNb2RlbCwgU2FsZXNmb3JjZUlkVXRpbHMgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQsIFJ1bnRpbWVNb2RlLCBVSURlZmluaXRpb24sIFVJRGVmaW5pdGlvblByb3BzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgUnVudGltZUluaXRpYWxpemF0aW9uUHJvcHMgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUudHlwZXMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9ydW50aW1lLWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2Uge1xuICBwcml2YXRlIF9ydW50aW1lQ29udGV4dD86IFJ1bnRpbWVDb250ZXh0O1xuICBwcml2YXRlIF9hc3NldHM/OiBMaW5lSXRlbVtdO1xuICBwcml2YXRlIF9pc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgcHVibGljIHVpRGVmaW5pdGlvblByb3BlcnRpZXM6IFVJRGVmaW5pdGlvblByb3BzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHJ1bnRpbWVDb250ZXh0U2VydmljZTogUnVudGltZUNvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9ydW50aW1lQ29udGV4dCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9hc3NldHMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy51aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge307XG4gIH1cblxuICBwdWJsaWMgaW5pdFRlc3RNb2RlKG1vZGVsSWQ6IHN0cmluZywgdWlEZWZpbml0aW9uOiBVSURlZmluaXRpb24pIHtcbiAgICB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB1aURlZmluaXRpb24ucHJvcGVydGllcyA/PyB7fTtcbiAgICBjb25zdCB1aURlZmluaXRpb25FeHRlcm5hbHMgPSB1aURlZmluaXRpb24uZXh0ZXJuYWxzID8/IHt9O1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldFJ1bnRpbWVEYXRhQnlNb2RlbElkKG1vZGVsSWQpLFxuICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5jcmVhdGUoJ1Rlc3RJZCcsIENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNUKSxcbiAgICBdKS5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHRhcCgoW3J1bnRpbWVEYXRhLCBjb250ZXh0XSkgPT4ge1xuICAgICAgICB0aGlzLl9ydW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgICBtb2RlbElkOiBtb2RlbElkLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsLmNyZWF0ZShydW50aW1lRGF0YS50eXBlcywgcnVudGltZURhdGEucHJvZHVjdHMpLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5URVNULFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi50aGlzLnJ1bnRpbWVDb250ZXh0Py5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgTW9kZWxJZDogbW9kZWxJZCxcbiAgICAgICAgICAgIFJ1bnRpbWVNb2RlOiBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUuVEVTVCxcbiAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2luZ0VuYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAgICAgU3RhcnREYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKSxcbiAgICAgICAgICAgIFByaWNlTGlzdElkOiB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMucHJpY2VMaXN0LFxuICAgICAgICAgICAgLi4udWlEZWZpbml0aW9uRXh0ZXJuYWxzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KHByb3BzOiBSdW50aW1lSW5pdGlhbGl6YXRpb25Qcm9wcyk6IE9ic2VydmFibGU8UnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQ+IHtcbiAgICB0aGlzLl9hc3NldHMgPSBwcm9wcy5hc3NldHM7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICByZXR1cm4gb2YoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dFNlcnZpY2UuZ2V0UnVudGltZUNvbnRleHQocHJvcHMucHJvZHVjdElkLCBwcm9wcy5vZmZlcmluZ0lkKS5waXBlKFxuICAgICAgdGFwKHJ1bnRpbWVDb250ZXh0ID0+IHtcbiAgICAgICAgdGhpcy51aURlZmluaXRpb25Qcm9wZXJ0aWVzID0gcnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9O1xuICAgICAgICBjb25zdCB7IFByaWNlTGlzdElkIH0gPSBjb250ZXh0LnByb3BlcnRpZXMgPz8ge307XG5cbiAgICAgICAgY29uc3QgbWVyZ2VDb250ZXh0OiBSdW50aW1lQ29udGV4dCA9IHtcbiAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dCxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAuLi5ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IFByaWNlTGlzdElkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaWQxNXRvMTgoJ0FjY291bnRJZCcsIG1lcmdlQ29udGV4dC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgdGhpcy5fcnVudGltZUNvbnRleHQgPSBtZXJnZUNvbnRleHQ7XG5cbiAgICAgICAgaWYgKGNvbnRleHQucHJvcGVydGllcyAmJiB0aGlzLl9ydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5TdGFydERhdGUpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnVwZGF0ZSh7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIC4uLnRoaXMuX3J1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgIC4uLmNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9pc0luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlkMTV0bzE4KHByb3BlcnR5TmFtZTogc3RyaW5nLCBzb3VyY2U/OiBEaWN0aW9uYXJ5PGFueT4pIHtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gc291cmNlW3Byb3BlcnR5TmFtZV07XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPT09IDE1KSB7XG4gICAgICBzb3VyY2VbcHJvcGVydHlOYW1lXSA9IFNhbGVzZm9yY2VJZFV0aWxzLmdlbmVyYXRlSWQxOEZyb21JZDE1KHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0QXNzZXQobGluZUl0ZW06IExpbmVJdGVtKTogTGluZUl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9hc3NldHMgJiYgdGhpcy5fYXNzZXRzLmZpbmQoYSA9PiBhLmlkID09PSBsaW5lSXRlbS5vcGVuT3JkZXJMaW5lSXRlbUlkIHx8IGEuaWQgPT09IGxpbmVJdGVtLmFzc2V0SWQpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0luaXRpYWxpemVkO1xuICB9XG5cbiAgcHVibGljIGdldCBydW50aW1lTW9kZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZUNvbnRleHQ/LnJ1bnRpbWVNb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcnVudGltZUNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3J1bnRpbWVDb250ZXh0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfirmationComponent } from '@veloce/components';
|
|
3
|
+
import { ConfigurationMode, } from '@veloce/core';
|
|
4
|
+
import { BehaviorSubject, shareReplay, throwError } from 'rxjs';
|
|
5
|
+
import { catchError, map, tap } from 'rxjs/operators';
|
|
6
|
+
import { RuntimeStep } from '../../../types';
|
|
7
|
+
import { LineItemWorker } from '../../../utils';
|
|
8
|
+
import { getDefaultLineItem } from '../helpers';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./configuration-runtime.service";
|
|
11
|
+
import * as i2 from "../../../services";
|
|
12
|
+
import * as i3 from "@veloce/api";
|
|
13
|
+
import * as i4 from "primeng/api";
|
|
14
|
+
import * as i5 from "primeng/dynamicdialog";
|
|
15
|
+
export class ConfigurationService {
|
|
16
|
+
constructor(runtimeService, contextService, configurationApiService, messageService, dialogService) {
|
|
17
|
+
this.runtimeService = runtimeService;
|
|
18
|
+
this.contextService = contextService;
|
|
19
|
+
this.configurationApiService = configurationApiService;
|
|
20
|
+
this.messageService = messageService;
|
|
21
|
+
this.dialogService = dialogService;
|
|
22
|
+
this.mode = ConfigurationMode.SEARCH;
|
|
23
|
+
this.states = {};
|
|
24
|
+
this.lineItem = new BehaviorSubject(undefined);
|
|
25
|
+
this.charges = new BehaviorSubject({});
|
|
26
|
+
}
|
|
27
|
+
reset() {
|
|
28
|
+
this.runtimeService.reset();
|
|
29
|
+
this.states = {};
|
|
30
|
+
this.lineItem.next(undefined);
|
|
31
|
+
this.charges.next({});
|
|
32
|
+
}
|
|
33
|
+
patch$(lineItem) {
|
|
34
|
+
if (!this.lineItem.value) {
|
|
35
|
+
return throwError(() => new Error(`Source LineItem not found`));
|
|
36
|
+
}
|
|
37
|
+
this.states.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;
|
|
38
|
+
this.states.asset = this.states.configurableRamp
|
|
39
|
+
? this.runtimeService.getAsset(this.states.configurableRamp)
|
|
40
|
+
: undefined;
|
|
41
|
+
return this.configure().pipe(catchError(error => {
|
|
42
|
+
console.error(error);
|
|
43
|
+
if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {
|
|
44
|
+
this.messageService.add({ severity: 'error', summary: error });
|
|
45
|
+
}
|
|
46
|
+
// bounce back if configuration call has failed
|
|
47
|
+
this.lineItem.next(this.lineItem.value ? Object.assign({}, this.lineItem.value) : undefined);
|
|
48
|
+
return throwError(() => error);
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
patch(lineItem) {
|
|
52
|
+
this.patch$(lineItem).subscribe();
|
|
53
|
+
}
|
|
54
|
+
updateCurrentStates(update) {
|
|
55
|
+
this.states = Object.assign(Object.assign({}, this.states), update);
|
|
56
|
+
}
|
|
57
|
+
get() {
|
|
58
|
+
return this.lineItem.asObservable().pipe(shareReplay());
|
|
59
|
+
}
|
|
60
|
+
getSnapshot() {
|
|
61
|
+
return this.lineItem.value ? Object.assign({}, this.lineItem.value) : undefined;
|
|
62
|
+
}
|
|
63
|
+
getRuntimeModel() {
|
|
64
|
+
return this.runtimeService.runtimeModel;
|
|
65
|
+
}
|
|
66
|
+
getRuntimeContext() {
|
|
67
|
+
return this.runtimeService.runtimeContext;
|
|
68
|
+
}
|
|
69
|
+
get contextSnapshot() {
|
|
70
|
+
return this.contextService.resolve();
|
|
71
|
+
}
|
|
72
|
+
get context$() {
|
|
73
|
+
return this.contextService.resolve$();
|
|
74
|
+
}
|
|
75
|
+
get charges$() {
|
|
76
|
+
return this.charges.asObservable();
|
|
77
|
+
}
|
|
78
|
+
get chargesSnapshot() {
|
|
79
|
+
return this.charges.value;
|
|
80
|
+
}
|
|
81
|
+
configure() {
|
|
82
|
+
var _a, _b, _c, _d, _e;
|
|
83
|
+
const runtimeContext = this.getRuntimeContext();
|
|
84
|
+
const runtimeModel = this.getRuntimeModel();
|
|
85
|
+
if (!runtimeContext || !runtimeModel) {
|
|
86
|
+
return throwError(() => new Error('Runtime context/model not initialized'));
|
|
87
|
+
}
|
|
88
|
+
const uiDefinitionProperties = Object.assign(Object.assign({}, ((_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {})), ((_c = this.runtimeService.uiDefinitionProperties) !== null && _c !== void 0 ? _c : {}));
|
|
89
|
+
const lineItem = (_d = this.states.configurableRamp) !== null && _d !== void 0 ? _d : getDefaultLineItem(runtimeContext, uiDefinitionProperties);
|
|
90
|
+
const configurationRequest = this.createRequest(lineItem);
|
|
91
|
+
configurationRequest.lineItems = this.states.currentState || [];
|
|
92
|
+
configurationRequest.asset = this.states.asset;
|
|
93
|
+
const mainPricingEnabled = (_e = runtimeContext.properties) === null || _e === void 0 ? void 0 : _e.PricingEnabled;
|
|
94
|
+
const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;
|
|
95
|
+
return this.configurationApiService
|
|
96
|
+
.configureLineItem({ configurationRequest, runtimeModel, pricingEnabled })
|
|
97
|
+
.pipe(map(({ lineItem, context, charges, deletedLineItems }) => {
|
|
98
|
+
this.contextService.update(context !== null && context !== void 0 ? context : {});
|
|
99
|
+
this.charges.next(charges !== null && charges !== void 0 ? charges : {});
|
|
100
|
+
if (deletedLineItems === null || deletedLineItems === void 0 ? void 0 : deletedLineItems.length) {
|
|
101
|
+
this.showInactiveProductsConfirmation();
|
|
102
|
+
}
|
|
103
|
+
return lineItem;
|
|
104
|
+
}))
|
|
105
|
+
.pipe(tap(lineItem => lineItem && this.lineItem.next(lineItem)), catchError(error => throwError(() => { var _a; return new Error(((_a = error.error) === null || _a === void 0 ? void 0 : _a.message) || error.message || JSON.stringify(error)); })));
|
|
106
|
+
}
|
|
107
|
+
createRequest(lineItem) {
|
|
108
|
+
return {
|
|
109
|
+
lineItem,
|
|
110
|
+
mode: this.mode,
|
|
111
|
+
step: !this.lineItem.value ? RuntimeStep.START : RuntimeStep.UPDATE,
|
|
112
|
+
attributeDomainMode: 'ALL',
|
|
113
|
+
context: this.contextService.resolve(),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
showInactiveProductsConfirmation() {
|
|
117
|
+
this.dialogService
|
|
118
|
+
.open(ConfirmationComponent, {
|
|
119
|
+
dismissableMask: false,
|
|
120
|
+
closeOnEscape: false,
|
|
121
|
+
closable: false,
|
|
122
|
+
showHeader: true,
|
|
123
|
+
header: `Inactive Products in Quote`,
|
|
124
|
+
width: '440px',
|
|
125
|
+
data: {
|
|
126
|
+
confirmationConfig: {
|
|
127
|
+
title: ' ',
|
|
128
|
+
description: 'This quote contains inactive products. Do you want to remove them?',
|
|
129
|
+
submitBtn: 'Remove products',
|
|
130
|
+
cancelBtn: 'Back to Quote',
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
})
|
|
134
|
+
.onClose.subscribe(result => {
|
|
135
|
+
if (!result) {
|
|
136
|
+
const context = this.contextService.resolve();
|
|
137
|
+
window['VELO_BACK_FN'].apply(null, [(context === null || context === void 0 ? void 0 : context.headerId) || '']);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
ConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.ConfigurationRuntimeService }, { token: i2.ContextService }, { token: i3.ConfigurationApiService }, { token: i4.MessageService }, { token: i5.DialogService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
143
|
+
ConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService });
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ConfigurationService, decorators: [{
|
|
145
|
+
type: Injectable
|
|
146
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationRuntimeService }, { type: i2.ContextService }, { type: i3.ConfigurationApiService }, { type: i4.MessageService }, { type: i5.DialogService }]; } });
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUVMLGlCQUFpQixHQU1sQixNQUFNLGNBQWMsQ0FBQztBQUl0QixPQUFPLEVBQUUsZUFBZSxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUErQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7O0FBTWhELE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsWUFDVSxjQUEyQyxFQUMzQyxjQUE4QixFQUM5Qix1QkFBZ0QsRUFDaEQsY0FBOEIsRUFDOUIsYUFBNEI7UUFKNUIsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVg5QixTQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1FBQ2hDLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO1FBRXpCLGFBQVEsR0FBRyxJQUFJ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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBbktVLG9CQUFvQjtzSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJ0B2ZWxvY2UvY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgQ29uZmlndXJhdGlvbk1vZGUsXG4gIENvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICBMaW5lSXRlbSxcbiAgUHJpY2VQbGFuQ2hhcmdlLFxuICBSdW50aW1lTW9kZWwsXG4gIFZsV2luZG93LFxufSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFF1b3RlU3RhdGVzLCBSdW50aW1lQ29udGV4dCwgUnVudGltZVN0ZXAgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lSXRlbVdvcmtlciB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXJ1bnRpbWUuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBtb2RlID0gQ29uZmlndXJhdGlvbk1vZGUuU0VBUkNIO1xuICBwcml2YXRlIHN0YXRlczogUXVvdGVTdGF0ZXMgPSB7fTtcblxuICBwcml2YXRlIGxpbmVJdGVtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaW5lSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJ1bnRpbWVTZXJ2aWNlOiBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250ZXh0U2VydmljZTogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uQXBpU2VydmljZTogQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMucnVudGltZVNlcnZpY2UucmVzZXQoKTtcblxuICAgIHRoaXMuc3RhdGVzID0ge307XG4gICAgdGhpcy5saW5lSXRlbS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICB9XG5cbiAgcHVibGljIHBhdGNoJChsaW5lSXRlbTogTGluZUl0ZW0pOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgaWYgKCF0aGlzLmxpbmVJdGVtLnZhbHVlKSB7XG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYFNvdXJjZSBMaW5lSXRlbSBub3QgZm91bmRgKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA9IG5ldyBMaW5lSXRlbVdvcmtlcih0aGlzLmxpbmVJdGVtLnZhbHVlKS5yZXBsYWNlKGxpbmVJdGVtKS5saTtcbiAgICB0aGlzLnN0YXRlcy5hc3NldCA9IHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXBcbiAgICAgID8gdGhpcy5ydW50aW1lU2VydmljZS5nZXRBc3NldCh0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUoKS5waXBlKFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXG4gICAgICAgIGlmICghdGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzLnN1cHByZXNzVG9hc3RNZXNzYWdlcykge1xuICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6ICdlcnJvcicsIHN1bW1hcnk6IGVycm9yIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gYm91bmNlIGJhY2sgaWYgY29uZmlndXJhdGlvbiBjYWxsIGhhcyBmYWlsZWRcbiAgICAgICAgdGhpcy5saW5lSXRlbS5uZXh0KHRoaXMubGluZUl0ZW0udmFsdWUgPyB7IC4uLnRoaXMubGluZUl0ZW0udmFsdWUgfSA6IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaChsaW5lSXRlbTogTGluZUl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnBhdGNoJChsaW5lSXRlbSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQ3VycmVudFN0YXRlcyh1cGRhdGU6IFBhcnRpYWw8UXVvdGVTdGF0ZXM+KSB7XG4gICAgdGhpcy5zdGF0ZXMgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlcyxcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW0uYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTbmFwc2hvdCgpOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW0udmFsdWUgPyB7IC4uLnRoaXMubGluZUl0ZW0udmFsdWUgfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lTW9kZWwoKTogUnVudGltZU1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lU2VydmljZS5ydW50aW1lTW9kZWw7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVDb250ZXh0O1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0U25hcHNob3QoKTogQ29uZmlndXJhdGlvbkNvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZSgpOiBPYnNlcnZhYmxlPExpbmVJdGVtPiB7XG4gICAgY29uc3QgcnVudGltZUNvbnRleHQgPSB0aGlzLmdldFJ1bnRpbWVDb250ZXh0KCk7XG4gICAgY29uc3QgcnVudGltZU1vZGVsID0gdGhpcy5nZXRSdW50aW1lTW9kZWwoKTtcbiAgICBpZiAoIXJ1bnRpbWVDb250ZXh0IHx8ICFydW50aW1lTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignUnVudGltZSBjb250ZXh0L21vZGVsIG5vdCBpbml0aWFsaXplZCcpKTtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25Qcm9wZXJ0aWVzID0ge1xuICAgICAgLi4uKHJ1bnRpbWVDb250ZXh0LnVpRGVmaW5pdGlvbj8ucHJvcGVydGllcyA/PyB7fSksXG4gICAgICAuLi4odGhpcy5ydW50aW1lU2VydmljZS51aURlZmluaXRpb25Qcm9wZXJ0aWVzID8/IHt9KSxcbiAgICB9O1xuICAgIGNvbnN0IGxpbmVJdGVtID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcCA/PyBnZXREZWZhdWx0TGluZUl0ZW0ocnVudGltZUNvbnRleHQsIHVpRGVmaW5pdGlvblByb3BlcnRpZXMpO1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25SZXF1ZXN0ID0gdGhpcy5jcmVhdGVSZXF1ZXN0KGxpbmVJdGVtKTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5saW5lSXRlbXMgPSB0aGlzLnN0YXRlcy5jdXJyZW50U3RhdGUgfHwgW107XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QuYXNzZXQgPSB0aGlzLnN0YXRlcy5hc3NldDtcbiAgICBjb25zdCBtYWluUHJpY2luZ0VuYWJsZWQgPSBydW50aW1lQ29udGV4dC5wcm9wZXJ0aWVzPy5QcmljaW5nRW5hYmxlZDtcbiAgICBjb25zdCBwcmljaW5nRW5hYmxlZCA9IG1haW5QcmljaW5nRW5hYmxlZCA/IG1haW5QcmljaW5nRW5hYmxlZCA9PT0gJ3RydWUnIDogdWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljaW5nRW5hYmxlZDtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uQXBpU2VydmljZVxuICAgICAgLmNvbmZpZ3VyZUxpbmVJdGVtKHsgY29uZmlndXJhdGlvblJlcXVlc3QsIHJ1bnRpbWVNb2RlbCwgcHJpY2luZ0VuYWJsZWQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgbGluZUl0ZW0sIGNvbnRleHQsIGNoYXJnZXMsIGRlbGV0ZWRMaW5lSXRlbXMgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKGNvbnRleHQgPz8ge30pO1xuICAgICAgICAgIHRoaXMuY2hhcmdlcy5uZXh0KGNoYXJnZXMgPz8ge30pO1xuICAgICAgICAgIGlmIChkZWxldGVkTGluZUl0ZW1zPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxpbmVJdGVtO1xuICAgICAgICB9KSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAobGluZUl0ZW0gPT4gbGluZUl0ZW0gJiYgdGhpcy5saW5lSXRlbS5uZXh0KGxpbmVJdGVtKSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSB8fCBlcnJvci5tZXNzYWdlIHx8IEpTT04uc3RyaW5naWZ5KGVycm9yKSkpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVxdWVzdChsaW5lSXRlbTogTGluZUl0ZW0pOiBDb25maWd1cmF0aW9uUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpbmVJdGVtLFxuICAgICAgbW9kZTogdGhpcy5tb2RlLFxuICAgICAgc3RlcDogIXRoaXMubGluZUl0ZW0udmFsdWUgPyBSdW50aW1lU3RlcC5TVEFSVCA6IFJ1bnRpbWVTdGVwLlVQREFURSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbk1vZGU6ICdBTEwnLFxuICAgICAgY29udGV4dDogdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCkgYXMgQ29uZmlndXJhdGlvbkNvbnRleHQsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvd0luYWN0aXZlUHJvZHVjdHNDb25maXJtYXRpb24oKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcbiAgICAgICAgZGlzbWlzc2FibGVNYXNrOiBmYWxzZSxcbiAgICAgICAgY2xvc2VPbkVzY2FwZTogZmFsc2UsXG4gICAgICAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgc2hvd0hlYWRlcjogdHJ1ZSxcbiAgICAgICAgaGVhZGVyOiBgSW5hY3RpdmUgUHJvZHVjdHMgaW4gUXVvdGVgLFxuICAgICAgICB3aWR0aDogJzQ0MHB4JyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbmZpcm1hdGlvbkNvbmZpZzoge1xuICAgICAgICAgICAgdGl0bGU6ICcgJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGhpcyBxdW90ZSBjb250YWlucyBpbmFjdGl2ZSBwcm9kdWN0cy4gRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZW0/JyxcbiAgICAgICAgICAgIHN1Ym1pdEJ0bjogJ1JlbW92ZSBwcm9kdWN0cycsXG4gICAgICAgICAgICBjYW5jZWxCdG46ICdCYWNrIHRvIFF1b3RlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vbkNsb3NlLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgICAgICAgICB3aW5kb3dbJ1ZFTE9fQkFDS19GTiddLmFwcGx5KG51bGwsIFtjb250ZXh0Py5oZWFkZXJJZCB8fCAnJ10pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { RuntimeModel } from '@veloce/core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { RuntimeMode } from '../../../types';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@veloce/api";
|
|
7
|
+
import * as i2 from "primeng/api";
|
|
8
|
+
export class RuntimeContextService {
|
|
9
|
+
constructor(configurationApiService, messageService) {
|
|
10
|
+
this.configurationApiService = configurationApiService;
|
|
11
|
+
this.messageService = messageService;
|
|
12
|
+
}
|
|
13
|
+
getRuntimeContext(productId, offeringId) {
|
|
14
|
+
return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(map(runtimeData => {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
const uiDefinition = this.getUIDefinition(runtimeData);
|
|
17
|
+
const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);
|
|
18
|
+
const { productName, properties } = (_a = Array.from(runtimeModel.components.values()).find(c => c.productId === productId)) !== null && _a !== void 0 ? _a : {};
|
|
19
|
+
return {
|
|
20
|
+
modelId: runtimeData.modelId,
|
|
21
|
+
uiDefinition: uiDefinition,
|
|
22
|
+
runtimeModel: runtimeModel,
|
|
23
|
+
runtimeMode: RuntimeMode.PROD,
|
|
24
|
+
productId: productId,
|
|
25
|
+
productType: (properties === null || properties === void 0 ? void 0 : properties.displayName) || productName,
|
|
26
|
+
offeringId: offeringId,
|
|
27
|
+
properties: {
|
|
28
|
+
PricingEnabled: ((_b = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _b === void 0 ? void 0 : _b.pricingEnabled) ? 'true' : 'false',
|
|
29
|
+
PriceListId: (_c = uiDefinition === null || uiDefinition === void 0 ? void 0 : uiDefinition.properties) === null || _c === void 0 ? void 0 : _c.priceList,
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
getUIDefinition(runtimeData) {
|
|
35
|
+
var _a;
|
|
36
|
+
let rawUiDefinitions;
|
|
37
|
+
try {
|
|
38
|
+
rawUiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const uiDefinitions = rawUiDefinitions.filter(uiDef => uiDef.version);
|
|
44
|
+
const uiDefinition = (_a = uiDefinitions.find(uiDef => uiDef.primary)) !== null && _a !== void 0 ? _a : uiDefinitions[0];
|
|
45
|
+
if (!uiDefinition) {
|
|
46
|
+
const errMsg = `Unable to find Default UI`;
|
|
47
|
+
this.messageService.add({
|
|
48
|
+
severity: 'error',
|
|
49
|
+
summary: 'ERROR',
|
|
50
|
+
});
|
|
51
|
+
throw new Error(errMsg);
|
|
52
|
+
}
|
|
53
|
+
return uiDefinition;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
RuntimeContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RuntimeContextService, deps: [{ token: i1.ConfigurationApiService }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
57
|
+
RuntimeContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RuntimeContextService });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RuntimeContextService, decorators: [{
|
|
59
|
+
type: Injectable
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigurationApiService }, { type: i2.MessageService }]; } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9ydW50aW1lLWNvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBZSxZQUFZLEVBQXNDLE1BQU0sY0FBYyxDQUFDO0FBRzdGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQWtCLFdBQVcsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUczRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLHVCQUFnRCxFQUFVLGNBQThCO1FBQXhGLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRWhILGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsVUFBbUI7UUFDdEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFOztZQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FDL0IsTUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7WUFFMUYsT0FBTztnQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsV0FBVyxFQUFFLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFdBQVcsS0FBSSxXQUFXO2dCQUNuRCxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxDQUFBLE1BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLFVBQVUsMENBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87b0JBQzNFLFdBQVcsRUFBRSxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxVQUFVLDBDQUFFLFNBQVM7aUJBQ2pEO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQXdCOztRQUM5QyxJQUFJLGdCQUEwRCxDQUFDO1FBQy9ELElBQUk7WUFDRixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2hFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBRSxLQUFzQixDQUFDLE9BQU8sQ0FBbUIsQ0FBQztRQUMxRyxNQUFNLFlBQVksR0FBRyxNQUFBLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1DQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLDJCQUEyQixDQUFDO1lBRTNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUN0QixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFLE9BQU87YUFDakIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7O21IQWxEVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBSdW50aW1lRGF0YSwgUnVudGltZU1vZGVsLCBVSURlZmluaXRpb24gYXMgTGVnYWN5VWlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQsIFJ1bnRpbWVNb2RlLCBVSURlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29udGV4dFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG5cbiAgZ2V0UnVudGltZUNvbnRleHQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeVByb2R1Y3RJZChwcm9kdWN0SWQsIG9mZmVyaW5nSWQpLnBpcGUoXG4gICAgICBtYXAocnVudGltZURhdGEgPT4ge1xuICAgICAgICBjb25zdCB1aURlZmluaXRpb24gPSB0aGlzLmdldFVJRGVmaW5pdGlvbihydW50aW1lRGF0YSk7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUocnVudGltZURhdGEudHlwZXMsIHJ1bnRpbWVEYXRhLnByb2R1Y3RzKTtcbiAgICAgICAgY29uc3QgeyBwcm9kdWN0TmFtZSwgcHJvcGVydGllcyB9ID1cbiAgICAgICAgICBBcnJheS5mcm9tKHJ1bnRpbWVNb2RlbC5jb21wb25lbnRzLnZhbHVlcygpKS5maW5kKGMgPT4gYy5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCkgPz8ge307XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtb2RlbElkOiBydW50aW1lRGF0YS5tb2RlbElkLFxuICAgICAgICAgIHVpRGVmaW5pdGlvbjogdWlEZWZpbml0aW9uLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbDogcnVudGltZU1vZGVsLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5QUk9ELFxuICAgICAgICAgIHByb2R1Y3RJZDogcHJvZHVjdElkLFxuICAgICAgICAgIHByb2R1Y3RUeXBlOiBwcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBwcm9kdWN0TmFtZSxcbiAgICAgICAgICBvZmZlcmluZ0lkOiBvZmZlcmluZ0lkLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiB1aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnByaWNpbmdFbmFibGVkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgICAgIFByaWNlTGlzdElkOiB1aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnByaWNlTGlzdCxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VUlEZWZpbml0aW9uKHJ1bnRpbWVEYXRhOiBSdW50aW1lRGF0YSk6IFVJRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJhd1VpRGVmaW5pdGlvbnM6IEFycmF5PFVJRGVmaW5pdGlvbiB8IExlZ2FjeVVpRGVmaW5pdGlvbj47XG4gICAgdHJ5IHtcbiAgICAgIHJhd1VpRGVmaW5pdGlvbnMgPSBKU09OLnBhcnNlKHJ1bnRpbWVEYXRhLnVpRGVmaW5pdGlvbnNTb3VyY2UpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25zID0gcmF3VWlEZWZpbml0aW9ucy5maWx0ZXIodWlEZWYgPT4gKHVpRGVmIGFzIFVJRGVmaW5pdGlvbikudmVyc2lvbikgYXMgVUlEZWZpbml0aW9uW107XG4gICAgY29uc3QgdWlEZWZpbml0aW9uID0gdWlEZWZpbml0aW9ucy5maW5kKHVpRGVmID0+IHVpRGVmLnByaW1hcnkpID8/IHVpRGVmaW5pdGlvbnNbMF07XG5cbiAgICBpZiAoIXVpRGVmaW5pdGlvbikge1xuICAgICAgY29uc3QgZXJyTXNnID0gYFVuYWJsZSB0byBmaW5kIERlZmF1bHQgVUlgO1xuXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICBzdW1tYXJ5OiAnRVJST1InLFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdWlEZWZpbml0aW9uO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW5lSXRlbSB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZUluaXRpYWxpemF0aW9uUHJvcHMge1xuICBwcm9kdWN0SWQ6IHN0cmluZztcbiAgb2ZmZXJpbmdJZD86IHN0cmluZztcbiAgYXNzZXRzPzogTGluZUl0ZW1bXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { PriceApiService } from '@veloce/api';
|
|
3
|
+
import { FlowConfigurationService } from './services/flow-configuration.service';
|
|
4
|
+
import { FlowUpdateService } from './services/flow-update.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FlowConfigurationModule {
|
|
7
|
+
}
|
|
8
|
+
FlowConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
FlowConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule });
|
|
10
|
+
FlowConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, providers: [FlowConfigurationService, FlowUpdateService, PriceApiService], imports: [[]] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: [],
|
|
15
|
+
providers: [FlowConfigurationService, FlowUpdateService, PriceApiService],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2NvcmUvbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTW5FLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QjtzSEFBdkIsdUJBQXVCLGFBRnZCLENBQUMsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLFlBRGhFLEVBQUU7NEZBR0EsdUJBQXVCO2tCQUpuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQztpQkFDMUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpY2VBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mbG93LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGbG93VXBkYXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZmxvdy11cGRhdGUuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtGbG93Q29uZmlndXJhdGlvblNlcnZpY2UsIEZsb3dVcGRhdGVTZXJ2aWNlLCBQcmljZUFwaVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBGbG93Q29uZmlndXJhdGlvbk1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './flow-configuration.module';
|
|
2
|
+
export * from './services/flow-configuration.service';
|
|
3
|
+
export * from './services/flow-update.service';
|
|
4
|
+
export * from './types/update.types';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zsb3ctY29uZmlndXJhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9mbG93LWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Zsb3ctdXBkYXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy91cGRhdGUudHlwZXMnO1xuIl19
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { cloneDeep } from 'lodash';
|
|
3
|
+
import { BehaviorSubject, catchError, combineLatest, map, noop, of, shareReplay, switchMap, tap, throwError, } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@veloce/api";
|
|
6
|
+
import * as i2 from "../../../services";
|
|
7
|
+
import * as i3 from "primeng/api";
|
|
8
|
+
import * as i4 from "./flow-update.service";
|
|
9
|
+
export class FlowConfigurationService {
|
|
10
|
+
constructor(priceApiService, contextService, quoteDraftService, messageService, updateService) {
|
|
11
|
+
this.priceApiService = priceApiService;
|
|
12
|
+
this.contextService = contextService;
|
|
13
|
+
this.quoteDraftService = quoteDraftService;
|
|
14
|
+
this.messageService = messageService;
|
|
15
|
+
this.updateService = updateService;
|
|
16
|
+
this.charges = new BehaviorSubject({});
|
|
17
|
+
this.bounceBackUpdate$ = new BehaviorSubject(true);
|
|
18
|
+
}
|
|
19
|
+
reset() {
|
|
20
|
+
this.charges.next({});
|
|
21
|
+
}
|
|
22
|
+
initialize$() {
|
|
23
|
+
var _a;
|
|
24
|
+
(_a = this.resetSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
25
|
+
this.resetSubscription = this.quoteDraftService.reset$.subscribe(() => this.reset());
|
|
26
|
+
return this.calculate$(this.getSnapshot()).pipe(map(noop));
|
|
27
|
+
}
|
|
28
|
+
calculate$(currentState) {
|
|
29
|
+
const context = this.contextService.resolve();
|
|
30
|
+
return this.priceApiService.calculate({ context, currentState }).pipe(tap((result) => {
|
|
31
|
+
this.quoteDraftService.updateByPriceSummary(result);
|
|
32
|
+
this.charges.next(result.charges);
|
|
33
|
+
if (context) {
|
|
34
|
+
this.contextService.update({ properties: context.properties });
|
|
35
|
+
}
|
|
36
|
+
}), this.handleError());
|
|
37
|
+
}
|
|
38
|
+
calculate(currentState) {
|
|
39
|
+
this.calculate$(currentState).subscribe();
|
|
40
|
+
}
|
|
41
|
+
update$(updates) {
|
|
42
|
+
const lineItems = cloneDeep(this.getSnapshot());
|
|
43
|
+
return of([]).pipe(tap(() => this.updateService.update(lineItems, updates)), this.handleError(), switchMap(() => this.calculate$(lineItems)));
|
|
44
|
+
}
|
|
45
|
+
update(updates) {
|
|
46
|
+
this.update$(updates).subscribe();
|
|
47
|
+
}
|
|
48
|
+
delete$(ids) {
|
|
49
|
+
return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.getSnapshot())), this.handleError(), switchMap(currentState => this.calculate$(currentState)));
|
|
50
|
+
}
|
|
51
|
+
delete(ids) {
|
|
52
|
+
this.delete$(ids).subscribe();
|
|
53
|
+
}
|
|
54
|
+
get() {
|
|
55
|
+
return combineLatest([this.quoteDraftService.quote$, this.bounceBackUpdate$]).pipe(map(([quoteDraft]) => quoteDraft.currentState), shareReplay());
|
|
56
|
+
}
|
|
57
|
+
getSnapshot() {
|
|
58
|
+
var _a, _b;
|
|
59
|
+
return (_b = (_a = this.quoteDraftService.quoteSnapshot) === null || _a === void 0 ? void 0 : _a.currentState.slice()) !== null && _b !== void 0 ? _b : [];
|
|
60
|
+
}
|
|
61
|
+
get charges$() {
|
|
62
|
+
return this.charges.asObservable();
|
|
63
|
+
}
|
|
64
|
+
get chargesSnapshot() {
|
|
65
|
+
return this.charges.value;
|
|
66
|
+
}
|
|
67
|
+
get contextSnapshot() {
|
|
68
|
+
return this.contextService.resolve();
|
|
69
|
+
}
|
|
70
|
+
get context$() {
|
|
71
|
+
return this.contextService.resolve$();
|
|
72
|
+
}
|
|
73
|
+
handleError() {
|
|
74
|
+
return (source$) => {
|
|
75
|
+
return source$.pipe(catchError(error => {
|
|
76
|
+
console.error(error);
|
|
77
|
+
this.messageService.add({ severity: 'error', summary: error });
|
|
78
|
+
// bounce back if configuration call has failed
|
|
79
|
+
this.bounceBackUpdate$.next(true);
|
|
80
|
+
return throwError(() => error);
|
|
81
|
+
}));
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i2.QuoteDraftService }, { token: i3.MessageService }, { token: i4.FlowUpdateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
86
|
+
FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService });
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
|
|
88
|
+
type: Injectable
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i2.QuoteDraftService }, { type: i3.MessageService }, { type: i4.FlowUpdateService }]; } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jb3JlL21vZHVsZXMvZmxvdy1jb25maWd1cmF0aW9uL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUUvQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsR0FBRyxFQUNILElBQUksRUFFSixFQUFFLEVBQ0YsV0FBVyxFQUVYLFNBQVMsRUFDVCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFNZCxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQ1UsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsaUJBQW9DLEVBQ3BDLGNBQThCLEVBQzlCLGFBQWdDO1FBSmhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBVmxDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBOEIsRUFBRSxDQUFDLENBQUM7UUFDL0Qsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFVbkQsQ0FBQztJQUVJLEtBQUs7UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVzs7UUFDVCxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsV0FBVyxFQUFFLENBQUM7UUFDdEMs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VSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaWNlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25Db250ZXh0LCBMaW5lSXRlbSwgUHJpY2VQbGFuQ2hhcmdlLCBQcmljZVN1bW1hcnkgfSBmcm9tICdAdmVsb2NlL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjYXRjaEVycm9yLFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIG5vb3AsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzaGFyZVJlcGxheSxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbiAgdGhyb3dFcnJvcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVEcmFmdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGbG93VXBkYXRlUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMvdXBkYXRlLnR5cGVzJztcbmltcG9ydCB7IEZsb3dVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9mbG93LXVwZGF0ZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dDb25maWd1cmF0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgY2hhcmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+Pih7fSk7XG4gIHByaXZhdGUgYm91bmNlQmFja1VwZGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xuXG4gIHByaXZhdGUgcmVzZXRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwcmljZUFwaVNlcnZpY2U6IFByaWNlQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHF1b3RlRHJhZnRTZXJ2aWNlOiBRdW90ZURyYWZ0U2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHVwZGF0ZVNlcnZpY2U6IEZsb3dVcGRhdGVTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHJpdmF0ZSByZXNldCgpIHtcbiAgICB0aGlzLmNoYXJnZXMubmV4dCh7fSk7XG4gIH1cblxuICBpbml0aWFsaXplJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb24gPSB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnJlc2V0JC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldCgpKTtcblxuICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZSQodGhpcy5nZXRTbmFwc2hvdCgpKS5waXBlKG1hcChub29wKSk7XG4gIH1cblxuICBjYWxjdWxhdGUkKGN1cnJlbnRTdGF0ZTogTGluZUl0ZW1bXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMucHJpY2VBcGlTZXJ2aWNlLmNhbGN1bGF0ZSh7IGNvbnRleHQsIGN1cnJlbnRTdGF0ZSB9KS5waXBlKFxuICAgICAgdGFwKChyZXN1bHQ6IFByaWNlU3VtbWFyeSkgPT4ge1xuICAgICAgICB0aGlzLnF1b3RlRHJhZnRTZXJ2aWNlLnVwZGF0ZUJ5UHJpY2VTdW1tYXJ5KHJlc3VsdCk7XG5cbiAgICAgICAgdGhpcy5jaGFyZ2VzLm5leHQocmVzdWx0LmNoYXJnZXMpO1xuXG4gICAgICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzOiBjb250ZXh0LnByb3BlcnRpZXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvcigpLFxuICAgICk7XG4gIH1cblxuICBjYWxjdWxhdGUoY3VycmVudFN0YXRlOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGUkKGN1cnJlbnRTdGF0ZSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB1cGRhdGUkKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgY29uc3QgbGluZUl0ZW1zID0gY2xvbmVEZWVwKHRoaXMuZ2V0U25hcHNob3QoKSk7XG5cbiAgICByZXR1cm4gb2YoW10pLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVTZXJ2aWNlLnVwZGF0ZShsaW5lSXRlbXMsIHVwZGF0ZXMpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNhbGN1bGF0ZSQobGluZUl0ZW1zKSksXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZSh1cGRhdGVzOiBGbG93VXBkYXRlUGFyYW1zW10pOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZSQodXBkYXRlcykuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBkZWxldGUkKGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBpZHMucmVkdWNlKChyZXN1bHQsIGlkKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UuZGVsZXRlKHJlc3VsdCwgaWQpLCB0aGlzLmdldFNuYXBzaG90KCkpKSxcbiAgICAgIHRoaXMuaGFuZGxlRXJyb3IoKSxcbiAgICAgIHN3aXRjaE1hcChjdXJyZW50U3RhdGUgPT4gdGhpcy5jYWxjdWxhdGUkKGN1cnJlbnRTdGF0ZSkpLFxuICAgICk7XG4gIH1cblxuICBkZWxldGUoaWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVsZXRlJChpZHMpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCgpOiBPYnNlcnZhYmxlPExpbmVJdGVtW10+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZSQsIHRoaXMuYm91bmNlQmFja1VwZGF0ZSRdKS5waXBlKFxuICAgICAgbWFwKChbcXVvdGVEcmFmdF0pID0+IHF1b3RlRHJhZnQuY3VycmVudFN0YXRlKSxcbiAgICAgIHNoYXJlUmVwbGF5KCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTbmFwc2hvdCgpOiBMaW5lSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5xdW90ZURyYWZ0U2VydmljZS5xdW90ZVNuYXBzaG90Py5jdXJyZW50U3RhdGUuc2xpY2UoKSA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlcyQoKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzU25hcHNob3QoKTogRGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFyZ2VzLnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0U25hcHNob3QoKTogQ29uZmlndXJhdGlvbkNvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHQkKCk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvbkNvbnRleHQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoKSB7XG4gICAgcmV0dXJuIDxUPihzb3VyY2UkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgICByZXR1cm4gc291cmNlJC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiBlcnJvciB9KTtcblxuICAgICAgICAgIC8vIGJvdW5jZSBiYWNrIGlmIGNvbmZpZ3VyYXRpb24gY2FsbCBoYXMgZmFpbGVkXG4gICAgICAgICAgdGhpcy5ib3VuY2VCYWNrVXBkYXRlJC5uZXh0KHRydWUpO1xuXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfTtcbiAgfVxufVxuIl19
|