@veloceapps/sdk 3.0.16 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +74 -836
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-core.umd.js +1269 -0
  4. package/bundles/veloce-sdk-core.umd.js.map +1 -0
  5. package/bundles/veloce-sdk-runtime.umd.js +53 -166
  6. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  7. package/bundles/veloce-sdk.umd.js +322 -155
  8. package/bundles/veloce-sdk.umd.js.map +1 -1
  9. package/cms/cms.default.d.ts +1 -1
  10. package/cms/components/element-renderer/element-renderer.component.d.ts +1 -1
  11. package/cms/components/preview/preview.component.d.ts +1 -3
  12. package/cms/decorators/element.decorator.d.ts +2 -2
  13. package/cms/index.d.ts +1 -1
  14. package/cms/injection-tokens.d.ts +1 -1
  15. package/cms/launcher.module.d.ts +2 -3
  16. package/cms/plugins/script.plugin.d.ts +1 -0
  17. package/cms/services/launcher.service.d.ts +1 -1
  18. package/cms/types/common.types.d.ts +4 -9
  19. package/cms/types/configuration.types.d.ts +0 -5
  20. package/cms/types/index.d.ts +1 -2
  21. package/cms/types/path.types.d.ts +11 -0
  22. package/cms/utils/element.utils.d.ts +6 -5
  23. package/cms/utils/elements-resolver.d.ts +2 -1
  24. package/cms/utils/index.d.ts +3 -1
  25. package/cms/utils/path.utils.d.ts +2 -1
  26. package/cms/vendor-map.d.ts +677 -2
  27. package/core/core.module.d.ts +8 -0
  28. package/core/index.d.ts +6 -0
  29. package/{cms → core}/modules/configuration/configuration.module.d.ts +0 -0
  30. package/{cms → core}/modules/configuration/helpers.d.ts +1 -2
  31. package/{cms → core}/modules/configuration/index.d.ts +0 -1
  32. package/{cms → core}/modules/configuration/services/configuration-runtime.service.d.ts +2 -3
  33. package/{cms → core}/modules/configuration/services/configuration.service.d.ts +2 -2
  34. package/{cms → core}/modules/configuration/services/runtime-context.service.d.ts +1 -1
  35. package/{cms → core}/modules/configuration/types/configuration-runtime.types.d.ts +0 -0
  36. package/{cms → core}/modules/flow-configuration/flow-configuration.module.d.ts +0 -0
  37. package/{cms → core}/modules/flow-configuration/index.d.ts +0 -0
  38. package/{cms → core}/modules/flow-configuration/services/flow-configuration.service.d.ts +7 -4
  39. package/{cms → core}/modules/flow-configuration/services/flow-update.service.d.ts +0 -0
  40. package/{cms → core}/modules/flow-configuration/types/update.types.d.ts +0 -0
  41. package/{cms → core}/modules/index.d.ts +0 -0
  42. package/core/package.json +10 -0
  43. package/{runtime → core}/services/context.service.d.ts +0 -0
  44. package/core/services/index.d.ts +2 -0
  45. package/{runtime/services/quote.service.d.ts → core/services/quote-draft.service.d.ts} +11 -6
  46. package/core/types/index.d.ts +3 -0
  47. package/core/types/quote-states.types.d.ts +6 -0
  48. package/{runtime/types/runtime-context.types.d.ts → core/types/runtime.types.d.ts} +4 -5
  49. package/{cms → core}/types/ui-definition.types.d.ts +0 -4
  50. package/core/utils/index.d.ts +2 -0
  51. package/{cms → core}/utils/line-item.utils.d.ts +0 -2
  52. package/{cms/types/line-item.types.d.ts → core/utils/line-item.worker.d.ts} +0 -0
  53. package/core/veloce-sdk-core.d.ts +5 -0
  54. package/esm2015/cms/cms.default.js +1 -1
  55. package/esm2015/cms/components/element-renderer/element-renderer.component.js +3 -3
  56. package/esm2015/cms/components/preview/preview.component.js +9 -10
  57. package/esm2015/cms/decorators/element.decorator.js +1 -1
  58. package/esm2015/cms/index.js +1 -2
  59. package/esm2015/cms/injection-tokens.js +1 -1
  60. package/esm2015/cms/launcher.module.js +5 -6
  61. package/esm2015/cms/plugins/configuration.plugin.js +3 -4
  62. package/esm2015/cms/plugins/script.plugin.js +27 -14
  63. package/esm2015/cms/services/launcher.service.js +1 -1
  64. package/esm2015/cms/types/common.types.js +1 -1
  65. package/esm2015/cms/types/configuration.types.js +1 -1
  66. package/esm2015/cms/types/index.js +2 -3
  67. package/esm2015/cms/types/path.types.js +2 -0
  68. package/esm2015/cms/utils/element.utils.js +1 -1
  69. package/esm2015/cms/utils/elements-resolver.js +1 -1
  70. package/esm2015/cms/utils/index.js +4 -2
  71. package/esm2015/cms/utils/path.utils.js +11 -1
  72. package/esm2015/cms/vendor-map.js +6 -5
  73. package/esm2015/core/core.module.js +18 -0
  74. package/esm2015/core/index.js +7 -0
  75. package/esm2015/core/modules/configuration/configuration.module.js +34 -0
  76. package/esm2015/core/modules/configuration/helpers.js +10 -0
  77. package/esm2015/core/modules/configuration/index.js +5 -0
  78. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +93 -0
  79. package/esm2015/core/modules/configuration/services/configuration.service.js +147 -0
  80. package/esm2015/core/modules/configuration/services/runtime-context.service.js +61 -0
  81. package/esm2015/core/modules/configuration/types/configuration-runtime.types.js +2 -0
  82. package/esm2015/core/modules/flow-configuration/flow-configuration.module.js +18 -0
  83. package/esm2015/core/modules/flow-configuration/index.js +5 -0
  84. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +90 -0
  85. package/esm2015/core/modules/flow-configuration/services/flow-update.service.js +114 -0
  86. package/esm2015/core/modules/flow-configuration/types/update.types.js +2 -0
  87. package/esm2015/core/modules/index.js +3 -0
  88. package/esm2015/core/services/context.service.js +41 -0
  89. package/esm2015/core/services/index.js +3 -0
  90. package/esm2015/core/services/quote-draft.service.js +67 -0
  91. package/esm2015/core/types/index.js +4 -0
  92. package/esm2015/core/types/quote-states.types.js +2 -0
  93. package/esm2015/core/types/runtime.types.js +16 -0
  94. package/esm2015/core/types/ui-definition.types.js +2 -0
  95. package/esm2015/core/utils/index.js +3 -0
  96. package/esm2015/core/utils/line-item.utils.js +98 -0
  97. package/esm2015/core/utils/line-item.worker.js +19 -0
  98. package/esm2015/core/veloce-sdk-core.js +5 -0
  99. package/esm2015/runtime/components/component-preview/component-preview.component.js +2 -2
  100. package/esm2015/runtime/components/ui-runtime/runtime.component.js +10 -9
  101. package/esm2015/runtime/components/ui-runtime-preview/runtime-preview.component.js +3 -3
  102. package/esm2015/runtime/execution/directives/section-script.directive.js +19 -20
  103. package/esm2015/runtime/execution/directives/velo-port.directive.js +1 -1
  104. package/esm2015/runtime/execution/directives/vl-quote.directive.js +1 -1
  105. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +2 -2
  106. package/esm2015/runtime/execution/runtime-execution.module.js +6 -8
  107. package/esm2015/runtime/runtime.module.js +7 -9
  108. package/esm2015/runtime/services/cart.service.js +5 -6
  109. package/esm2015/runtime/services/configuration.service.js +9 -9
  110. package/esm2015/runtime/services/index.js +1 -3
  111. package/esm2015/runtime/services/runtime-context.service.js +4 -4
  112. package/esm2015/runtime/services/runtime.service.js +3 -3
  113. package/esm2015/runtime/types/index.js +1 -2
  114. package/esm2015/runtime/types/runtime.types.js +1 -1
  115. package/esm2015/src/components/dialog/dialog.component.js +30 -0
  116. package/esm2015/src/components/dialog/dialog.module.js +19 -0
  117. package/esm2015/src/components/dialog/dialog.types.js +2 -0
  118. package/esm2015/src/components/header/cart-overlay/cart-overlay.component.js +2 -2
  119. package/esm2015/src/components/header/header.component.js +51 -11
  120. package/esm2015/src/flow.component.js +2 -2
  121. package/esm2015/src/flow.module.js +33 -6
  122. package/esm2015/src/pages/debug/debug.component.js +14 -16
  123. package/esm2015/src/pages/legacy-product/legacy-product.component.js +12 -11
  124. package/esm2015/src/pages/product/product.component.js +12 -12
  125. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +1 -1
  126. package/esm2015/src/resolvers/context.resolver.js +2 -2
  127. package/esm2015/src/resolvers/quote.resolver.js +9 -16
  128. package/esm2015/src/services/flow-router.service.js +2 -2
  129. package/esm2015/src/services/fow-dialog.service.js +58 -0
  130. package/esm2015/src/types/flow-customization.types.js +1 -1
  131. package/esm2015/src/utils/flow.utils.js +11 -1
  132. package/fesm2015/veloce-sdk-cms.js +64 -714
  133. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  134. package/fesm2015/veloce-sdk-core.js +785 -0
  135. package/fesm2015/veloce-sdk-core.js.map +1 -0
  136. package/fesm2015/veloce-sdk-runtime.js +48 -144
  137. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  138. package/fesm2015/veloce-sdk.js +260 -99
  139. package/fesm2015/veloce-sdk.js.map +1 -1
  140. package/package.json +2 -2
  141. package/runtime/components/ui-runtime/runtime.component.d.ts +3 -3
  142. package/runtime/components/ui-runtime-preview/runtime-preview.component.d.ts +1 -1
  143. package/runtime/execution/directives/section-script.directive.d.ts +2 -3
  144. package/runtime/execution/directives/velo-port.directive.d.ts +2 -2
  145. package/runtime/execution/directives/vl-ramp.directive.d.ts +1 -1
  146. package/runtime/execution/runtime-execution.module.d.ts +2 -1
  147. package/runtime/runtime.module.d.ts +2 -1
  148. package/runtime/services/cart.service.d.ts +2 -3
  149. package/runtime/services/configuration.service.d.ts +4 -5
  150. package/runtime/services/index.d.ts +0 -2
  151. package/runtime/services/runtime-context.service.d.ts +3 -3
  152. package/runtime/services/runtime.service.d.ts +5 -6
  153. package/runtime/types/index.d.ts +0 -1
  154. package/runtime/types/runtime.types.d.ts +5 -6
  155. package/src/components/dialog/dialog.component.d.ts +13 -0
  156. package/src/components/dialog/dialog.module.d.ts +9 -0
  157. package/src/components/dialog/dialog.types.d.ts +6 -0
  158. package/src/components/header/cart-overlay/cart-overlay.component.d.ts +1 -1
  159. package/src/components/header/header.component.d.ts +10 -5
  160. package/src/flow.component.d.ts +1 -1
  161. package/src/flow.module.d.ts +3 -1
  162. package/src/pages/debug/debug.component.d.ts +3 -4
  163. package/src/pages/legacy-product/legacy-product.component.d.ts +4 -3
  164. package/src/pages/product/product.component.d.ts +3 -4
  165. package/src/pages/shopping-cart/shopping-cart.component.d.ts +1 -1
  166. package/src/resolvers/context.resolver.d.ts +1 -1
  167. package/src/resolvers/quote.resolver.d.ts +3 -4
  168. package/src/services/flow-router.service.d.ts +1 -1
  169. package/src/services/fow-dialog.service.d.ts +17 -0
  170. package/src/types/flow-customization.types.d.ts +1 -1
  171. package/src/utils/flow.utils.d.ts +2 -0
  172. package/cms/modules/configuration/types/configuration.types.d.ts +0 -15
  173. package/esm2015/cms/modules/configuration/configuration.module.js +0 -37
  174. package/esm2015/cms/modules/configuration/helpers.js +0 -10
  175. package/esm2015/cms/modules/configuration/index.js +0 -6
  176. package/esm2015/cms/modules/configuration/services/configuration-runtime.service.js +0 -93
  177. package/esm2015/cms/modules/configuration/services/configuration.service.js +0 -147
  178. package/esm2015/cms/modules/configuration/services/runtime-context.service.js +0 -61
  179. package/esm2015/cms/modules/configuration/types/configuration-runtime.types.js +0 -2
  180. package/esm2015/cms/modules/configuration/types/configuration.types.js +0 -2
  181. package/esm2015/cms/modules/flow-configuration/flow-configuration.module.js +0 -18
  182. package/esm2015/cms/modules/flow-configuration/index.js +0 -5
  183. package/esm2015/cms/modules/flow-configuration/services/flow-configuration.service.js +0 -83
  184. package/esm2015/cms/modules/flow-configuration/services/flow-update.service.js +0 -114
  185. package/esm2015/cms/modules/flow-configuration/types/update.types.js +0 -2
  186. package/esm2015/cms/modules/index.js +0 -3
  187. package/esm2015/cms/types/line-item.types.js +0 -19
  188. package/esm2015/cms/types/ui-definition.types.js +0 -2
  189. package/esm2015/cms/utils/line-item.utils.js +0 -107
  190. package/esm2015/runtime/services/context.service.js +0 -41
  191. package/esm2015/runtime/services/quote.service.js +0 -53
  192. package/esm2015/runtime/types/runtime-context.types.js +0 -16
@@ -1,93 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConfigurationContextMode, RuntimeModel, SalesforceIdUtils } from '@veloce/core';
3
- import { RuntimeMode } from '@veloce/sdk/runtime';
4
- import { combineLatest, of } from 'rxjs';
5
- import { first, tap } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@veloce/api";
8
- import * as i2 from "@veloce/sdk/runtime";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24tcnVudGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFZLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFDVSxVQUFtQyxFQUNuQyxjQUE4QixFQUM5QixxQkFBNEM7UUFGNUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFQOUMsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFeEIsMkJBQXNCLEdBQXNCLEVBQUUsQ0FBQztJQU1uRCxDQUFDO0lBRUcsS0FBSztRQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxPQUFlLEVBQUUsWUFBMEI7O1FBQzdELElBQUksQ0FBQyxz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ZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uQ29udGV4dE1vZGUsIExpbmVJdGVtLCBSdW50aW1lTW9kZWwsIFNhbGVzZm9yY2VJZFV0aWxzIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlLCBSdW50aW1lTW9kZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL3J1bnRpbWUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiwgVUlEZWZpbml0aW9uUHJvcHMgfSBmcm9tICcuLi8uLi8uLi90eXBlcy91aS1kZWZpbml0aW9uLnR5cGVzJztcbmltcG9ydCB7IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzIH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzJztcbmltcG9ydCB7IFJ1bnRpbWVDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBSdW50aW1lQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB7XG4gIHByaXZhdGUgX3J1bnRpbWVDb250ZXh0PzogUnVudGltZUNvbnRleHQ7XG4gIHByaXZhdGUgX2Fzc2V0cz86IExpbmVJdGVtW107XG4gIHByaXZhdGUgX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgdWlEZWZpbml0aW9uUHJvcGVydGllczogVUlEZWZpbml0aW9uUHJvcHMgPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcnVudGltZUNvbnRleHRTZXJ2aWNlOiBSdW50aW1lQ29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHRoaXMuX3J1bnRpbWVDb250ZXh0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fzc2V0cyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7fTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0VGVzdE1vZGUobW9kZWxJZDogc3RyaW5nLCB1aURlZmluaXRpb246IFVJRGVmaW5pdGlvbikge1xuICAgIHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcyA9IHVpRGVmaW5pdGlvbi5wcm9wZXJ0aWVzID8/IHt9O1xuICAgIGNvbnN0IHVpRGVmaW5pdGlvbkV4dGVybmFscyA9IHVpRGVmaW5pdGlvbi5leHRlcm5hbHMgPz8ge307XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeU1vZGVsSWQobW9kZWxJZCksXG4gICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmNyZWF0ZSgnVGVzdElkJywgQ29uZmlndXJhdGlvbkNvbnRleHRNb2RlLlRFU1QpLFxuICAgIF0pLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgdGFwKChbcnVudGltZURhdGEsIGNvbnRleHRdKSA9PiB7XG4gICAgICAgIHRoaXMuX3J1bnRpbWVDb250ZXh0ID0ge1xuICAgICAgICAgIG1vZGVsSWQ6IG1vZGVsSWQsXG4gICAgICAgICAgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwuY3JlYXRlKHJ1bnRpbWVEYXRhLnR5cGVzLCBydW50aW1lRGF0YS5wcm9kdWN0cyksXG4gICAgICAgICAgcnVudGltZU1vZGU6IFJ1bnRpbWVNb2RlLlRFU1QsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoe1xuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLnRoaXMucnVudGltZUNvbnRleHQ/LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICBNb2RlbElkOiBtb2RlbElkLFxuICAgICAgICAgICAgUnVudGltZU1vZGU6IENvbmZpZ3VyYXRpb25Db250ZXh0TW9kZS5URVNULFxuICAgICAgICAgICAgUHJpY2luZ0VuYWJsZWQ6IHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljaW5nRW5hYmxlZCA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgICAgICBTdGFydERhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApLFxuICAgICAgICAgICAgUHJpY2VMaXN0SWQ6IHRoaXMudWlEZWZpbml0aW9uUHJvcGVydGllcy5wcmljZUxpc3QsXG4gICAgICAgICAgICAuLi51aURlZmluaXRpb25FeHRlcm5hbHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXQocHJvcHM6IFJ1bnRpbWVJbml0aWFsaXphdGlvblByb3BzKTogT2JzZXJ2YWJsZTxSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZD4ge1xuICAgIHRoaXMuX2Fzc2V0cyA9IHByb3BzLmFzc2V0cztcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlKCk7XG5cbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgIHJldHVybiBvZigpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVDb250ZXh0U2VydmljZS5nZXRSdW50aW1lQ29udGV4dChwcm9wcy5wcm9kdWN0SWQsIHByb3BzLm9mZmVyaW5nSWQpLnBpcGUoXG4gICAgICB0YXAocnVudGltZUNvbnRleHQgPT4ge1xuICAgICAgICB0aGlzLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSBydW50aW1lQ29udGV4dC51aURlZmluaXRpb24/LnByb3BlcnRpZXMgPz8ge307XG4gICAgICAgIGNvbnN0IHsgUHJpY2VMaXN0SWQgfSA9IGNvbnRleHQucHJvcGVydGllcyA/PyB7fTtcblxuICAgICAgICBjb25zdCBtZXJnZUNvbnRleHQ6IFJ1bnRpbWVDb250ZXh0ID0ge1xuICAgICAgICAgIC4uLnJ1bnRpbWVDb250ZXh0LFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIC4uLnJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICAuLi5jb250ZXh0LnByb3BlcnRpZXMsXG4gICAgICAgICAgICBQcmljaW5nRW5hYmxlZDogUHJpY2VMaXN0SWQgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5pZDE1dG8xOCgnQWNjb3VudElkJywgbWVyZ2VDb250ZXh0LnByb3BlcnRpZXMpO1xuICAgICAgICB0aGlzLl9ydW50aW1lQ29udGV4dCA9IG1lcmdlQ29udGV4dDtcblxuICAgICAgICBpZiAoY29udGV4dC5wcm9wZXJ0aWVzICYmIHRoaXMuX3J1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LlN0YXJ0RGF0ZSkge1xuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlKHtcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5fcnVudGltZUNvbnRleHQucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgLi4uY29udGV4dC5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaWQxNXRvMTgocHJvcGVydHlOYW1lOiBzdHJpbmcsIHNvdXJjZT86IERpY3Rpb25hcnk8YW55Pikge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBzb3VyY2VbcHJvcGVydHlOYW1lXTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA9PT0gMTUpIHtcbiAgICAgIHNvdXJjZVtwcm9wZXJ0eU5hbWVdID0gU2FsZXNmb3JjZUlkVXRpbHMuZ2VuZXJhdGVJZDE4RnJvbUlkMTUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRBc3NldChsaW5lSXRlbTogTGluZUl0ZW0pOiBMaW5lSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Fzc2V0cyAmJiB0aGlzLl9hc3NldHMuZmluZChhID0+IGEuaWQgPT09IGxpbmVJdGVtLm9wZW5PcmRlckxpbmVJdGVtSWQgfHwgYS5pZCA9PT0gbGluZUl0ZW0uYXNzZXRJZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzSW5pdGlhbGl6ZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJ1bnRpbWVNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5ydW50aW1lQ29udGV4dD8ucnVudGltZU1vZGVsO1xuICB9XG5cbiAgcHVibGljIGdldCBydW50aW1lQ29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcnVudGltZUNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,147 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ConfirmationComponent } from '@veloce/components';
3
- import { ConfigurationMode, } from '@veloce/core';
4
- import { RuntimeStep } from '@veloce/sdk/runtime';
5
- import { BehaviorSubject, shareReplay, throwError } from 'rxjs';
6
- import { catchError, map, tap } from 'rxjs/operators';
7
- import { LineItemWorker } from '../../../types/line-item.types';
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 "@veloce/sdk/runtime";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvY29uZmlndXJhdGlvbi9zZXJ2aWNlcy9jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBRUwsaUJBQWlCLEdBTWxCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBK0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7QUFNaEQsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUNVLGNBQTJDLEVBQzNDLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxjQUE4QixFQUM5QixhQUE0QjtRQUo1QixtQkFBYyxHQUFkLGNBQWMsQ0FBNkI7UUFDM0MsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBWDlCLFNBQUksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDaEMsV0FBTSxHQUFnQixFQUFFLENBQUM7UUFFekIsYUFBUSxHQUFHLElBQUks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QyxDQUFDLENBQUM7SUFDUCxDQUFDOztrSEFuS1Usb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnQHZlbG9jZS9jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvbmZpZ3VyYXRpb25Db250ZXh0LFxuICBDb25maWd1cmF0aW9uTW9kZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIExpbmVJdGVtLFxuICBQcmljZVBsYW5DaGFyZ2UsXG4gIFJ1bnRpbWVNb2RlbCxcbiAgVmxXaW5kb3csXG59IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSwgUXVvdGVTdGF0ZXMsIFJ1bnRpbWVTdGVwIH0gZnJvbSAnQHZlbG9jZS9zZGsvcnVudGltZSc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExpbmVJdGVtV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvbGluZS1pdGVtLnR5cGVzJztcbmltcG9ydCB7IGdldERlZmF1bHRMaW5lSXRlbSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgUnVudGltZUNvbnRleHQgfSBmcm9tICcuLi90eXBlcy9jb25maWd1cmF0aW9uLnR5cGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi1ydW50aW1lLnNlcnZpY2UnO1xuZGVjbGFyZSBjb25zdCB3aW5kb3c6IFZsV2luZG93O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBwcml2YXRlIG1vZGUgPSBDb25maWd1cmF0aW9uTW9kZS5TRUFSQ0g7XG4gIHByaXZhdGUgc3RhdGVzOiBRdW90ZVN0YXRlcyA9IHt9O1xuXG4gIHByaXZhdGUgbGluZUl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpbmVJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGNoYXJnZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4oe30pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcnVudGltZVNlcnZpY2U6IENvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5ydW50aW1lU2VydmljZS5yZXNldCgpO1xuXG4gICAgdGhpcy5zdGF0ZXMgPSB7fTtcbiAgICB0aGlzLmxpbmVJdGVtLm5leHQodW5kZWZpbmVkKTtcbiAgICB0aGlzLmNoYXJnZXMubmV4dCh7fSk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2gkKGxpbmVJdGVtOiBMaW5lSXRlbSk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBpZiAoIXRoaXMubGluZUl0ZW0udmFsdWUpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgU291cmNlIExpbmVJdGVtIG5vdCBmb3VuZGApKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wID0gbmV3IExpbmVJdGVtV29ya2VyKHRoaXMubGluZUl0ZW0udmFsdWUpLnJlcGxhY2UobGluZUl0ZW0pLmxpO1xuICAgIHRoaXMuc3RhdGVzLmFzc2V0ID0gdGhpcy5zdGF0ZXMuY29uZmlndXJhYmxlUmFtcFxuICAgICAgPyB0aGlzLnJ1bnRpbWVTZXJ2aWNlLmdldEFzc2V0KHRoaXMuc3RhdGVzLmNvbmZpZ3VyYWJsZVJhbXApXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyZSgpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMuc3VwcHJlc3NUb2FzdE1lc3NhZ2VzKSB7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICB0aGlzLmxpbmVJdGVtLm5leHQodGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoKGxpbmVJdGVtOiBMaW5lSXRlbSk6IHZvaWQge1xuICAgIHRoaXMucGF0Y2gkKGxpbmVJdGVtKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVDdXJyZW50U3RhdGVzKHVwZGF0ZTogUGFydGlhbDxRdW90ZVN0YXRlcz4pIHtcbiAgICB0aGlzLnN0YXRlcyA9IHtcbiAgICAgIC4uLnRoaXMuc3RhdGVzLFxuICAgICAgLi4udXBkYXRlLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8TGluZUl0ZW0gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNuYXBzaG90KCk6IExpbmVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5saW5lSXRlbS52YWx1ZSA/IHsgLi4udGhpcy5saW5lSXRlbS52YWx1ZSB9IDogdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVNb2RlbCgpOiBSdW50aW1lTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJ1bnRpbWVTZXJ2aWNlLnJ1bnRpbWVNb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lQ29udGV4dCgpOiBSdW50aW1lQ29udGV4dCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucnVudGltZVNlcnZpY2UucnVudGltZUNvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRleHRTbmFwc2hvdCgpOiBDb25maWd1cmF0aW9uQ29udGV4dCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dCQoKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uQ29udGV4dCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5yZXNvbHZlJCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyZ2VzJCgpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPj4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXNTbmFwc2hvdCgpOiBEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJnZXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgY29uZmlndXJlKCk6IE9ic2VydmFibGU8TGluZUl0ZW0+IHtcbiAgICBjb25zdCBydW50aW1lQ29udGV4dCA9IHRoaXMuZ2V0UnVudGltZUNvbnRleHQoKTtcbiAgICBjb25zdCBydW50aW1lTW9kZWwgPSB0aGlzLmdldFJ1bnRpbWVNb2RlbCgpO1xuICAgIGlmICghcnVudGltZUNvbnRleHQgfHwgIXJ1bnRpbWVNb2RlbCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdSdW50aW1lIGNvbnRleHQvbW9kZWwgbm90IGluaXRpYWxpemVkJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHVpRGVmaW5pdGlvblByb3BlcnRpZXMgPSB7XG4gICAgICAuLi4ocnVudGltZUNvbnRleHQudWlEZWZpbml0aW9uPy5wcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgIC4uLih0aGlzLnJ1bnRpbWVTZXJ2aWNlLnVpRGVmaW5pdGlvblByb3BlcnRpZXMgPz8ge30pLFxuICAgIH07XG4gICAgY29uc3QgbGluZUl0ZW0gPSB0aGlzLnN0YXRlcy5jb25maWd1cmFibGVSYW1wID8/IGdldERlZmF1bHRMaW5lSXRlbShydW50aW1lQ29udGV4dCwgdWlEZWZpbml0aW9uUHJvcGVydGllcyk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvblJlcXVlc3QgPSB0aGlzLmNyZWF0ZVJlcXVlc3QobGluZUl0ZW0pO1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LmxpbmVJdGVtcyA9IHRoaXMuc3RhdGVzLmN1cnJlbnRTdGF0ZSB8fCBbXTtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdC5hc3NldCA9IHRoaXMuc3RhdGVzLmFzc2V0O1xuICAgIGNvbnN0IG1haW5QcmljaW5nRW5hYmxlZCA9IHJ1bnRpbWVDb250ZXh0LnByb3BlcnRpZXM/LlByaWNpbmdFbmFibGVkO1xuICAgIGNvbnN0IHByaWNpbmdFbmFibGVkID0gbWFpblByaWNpbmdFbmFibGVkID8gbWFpblByaWNpbmdFbmFibGVkID09PSAndHJ1ZScgOiB1aURlZmluaXRpb25Qcm9wZXJ0aWVzLnByaWNpbmdFbmFibGVkO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlXG4gICAgICAuY29uZmlndXJlTGluZUl0ZW0oeyBjb25maWd1cmF0aW9uUmVxdWVzdCwgcnVudGltZU1vZGVsLCBwcmljaW5nRW5hYmxlZCB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoeyBsaW5lSXRlbSwgY29udGV4dCwgY2hhcmdlcywgZGVsZXRlZExpbmVJdGVtcyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoY29udGV4dCA/PyB7fSk7XG4gICAgICAgICAgdGhpcy5jaGFyZ2VzLm5leHQoY2hhcmdlcyA/PyB7fSk7XG4gICAgICAgICAgaWYgKGRlbGV0ZWRMaW5lSXRlbXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbGluZUl0ZW07XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcChsaW5lSXRlbSA9PiBsaW5lSXRlbSAmJiB0aGlzLmxpbmVJdGVtLm5leHQobGluZUl0ZW0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PlxuICAgICAgICAgIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLmVycm9yPy5tZXNzYWdlIHx8IGVycm9yLm1lc3NhZ2UgfHwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKSksXG4gICAgICAgICksXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KGxpbmVJdGVtOiBMaW5lSXRlbSk6IENvbmZpZ3VyYXRpb25SZXF1ZXN0IHtcbiAgICByZXR1cm4ge1xuICAgICAgbGluZUl0ZW0sXG4gICAgICBtb2RlOiB0aGlzLm1vZGUsXG4gICAgICBzdGVwOiAhdGhpcy5saW5lSXRlbS52YWx1ZSA/IFJ1bnRpbWVTdGVwLlNUQVJUIDogUnVudGltZVN0ZXAuVVBEQVRFLFxuICAgICAgYXR0cmlidXRlRG9tYWluTW9kZTogJ0FMTCcsXG4gICAgICBjb250ZXh0OiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKSBhcyBDb25maWd1cmF0aW9uQ29udGV4dCxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93SW5hY3RpdmVQcm9kdWN0c0NvbmZpcm1hdGlvbigpIHtcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2VcbiAgICAgIC5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xuICAgICAgICBkaXNtaXNzYWJsZU1hc2s6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uRXNjYXBlOiBmYWxzZSxcbiAgICAgICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICBzaG93SGVhZGVyOiB0cnVlLFxuICAgICAgICBoZWFkZXI6IGBJbmFjdGl2ZSBQcm9kdWN0cyBpbiBRdW90ZWAsXG4gICAgICAgIHdpZHRoOiAnNDQwcHgnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZmlybWF0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgICB0aXRsZTogJyAnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGlzIHF1b3RlIGNvbnRhaW5zIGluYWN0aXZlIHByb2R1Y3RzLiBEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlbT8nLFxuICAgICAgICAgICAgc3VibWl0QnRuOiAnUmVtb3ZlIHByb2R1Y3RzJyxcbiAgICAgICAgICAgIGNhbmNlbEJ0bjogJ0JhY2sgdG8gUXVvdGUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2Uuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICAgICAgICAgIHdpbmRvd1snVkVMT19CQUNLX0ZOJ10uYXBwbHkobnVsbCwgW2NvbnRleHQ/LmhlYWRlcklkIHx8ICcnXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,61 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { RuntimeModel } from '@veloce/core';
3
- import { RuntimeMode } from '@veloce/sdk/runtime';
4
- import { map } from 'rxjs/operators';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9jb25maWd1cmF0aW9uL3NlcnZpY2VzL3J1bnRpbWUtY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFlLFlBQVksRUFBc0MsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUtyQyxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLHVCQUFnRCxFQUFVLGNBQThCO1FBQXhGLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRWhILGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsVUFBbUI7UUFDdEQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDdkYsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFOztZQUNoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FDL0IsTUFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7WUFFMUYsT0FBTztnQkFDTCxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxJQUFJO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsV0FBVyxFQUFFLENBQUEsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFdBQVcsS0FBSSxXQUFXO2dCQUNuRCxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxDQUFBLE1BQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLFVBQVUsMENBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87b0JBQzNFLFdBQVcsRUFBRSxNQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxVQUFVLDBDQUFFLFNBQVM7aUJBQ2pEO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUFDLFdBQXdCOztRQUM5QyxJQUFJLGdCQUEwRCxDQUFDO1FBQy9ELElBQUk7WUFDRixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ2hFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBRSxLQUFzQixDQUFDLE9BQU8sQ0FBbUIsQ0FBQztRQUMxRyxNQUFNLFlBQVksR0FBRyxNQUFBLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1DQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLDJCQUEyQixDQUFDO1lBRTNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO2dCQUN0QixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFLE9BQU87YUFDakIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7O21IQWxEVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlL2FwaSc7XG5pbXBvcnQgeyBSdW50aW1lRGF0YSwgUnVudGltZU1vZGVsLCBVSURlZmluaXRpb24gYXMgTGVnYWN5VWlEZWZpbml0aW9uIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcbmltcG9ydCB7IFJ1bnRpbWVNb2RlIH0gZnJvbSAnQHZlbG9jZS9zZGsvcnVudGltZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IFJ1bnRpbWVDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29udGV4dFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlOiBDb25maWd1cmF0aW9uQXBpU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHt9XG5cbiAgZ2V0UnVudGltZUNvbnRleHQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVDb250ZXh0PiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbkFwaVNlcnZpY2UuZ2V0UnVudGltZURhdGFCeVByb2R1Y3RJZChwcm9kdWN0SWQsIG9mZmVyaW5nSWQpLnBpcGUoXG4gICAgICBtYXAocnVudGltZURhdGEgPT4ge1xuICAgICAgICBjb25zdCB1aURlZmluaXRpb24gPSB0aGlzLmdldFVJRGVmaW5pdGlvbihydW50aW1lRGF0YSk7XG4gICAgICAgIGNvbnN0IHJ1bnRpbWVNb2RlbCA9IFJ1bnRpbWVNb2RlbC5jcmVhdGUocnVudGltZURhdGEudHlwZXMsIHJ1bnRpbWVEYXRhLnByb2R1Y3RzKTtcbiAgICAgICAgY29uc3QgeyBwcm9kdWN0TmFtZSwgcHJvcGVydGllcyB9ID1cbiAgICAgICAgICBBcnJheS5mcm9tKHJ1bnRpbWVNb2RlbC5jb21wb25lbnRzLnZhbHVlcygpKS5maW5kKGMgPT4gYy5wcm9kdWN0SWQgPT09IHByb2R1Y3RJZCkgPz8ge307XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtb2RlbElkOiBydW50aW1lRGF0YS5tb2RlbElkLFxuICAgICAgICAgIHVpRGVmaW5pdGlvbjogdWlEZWZpbml0aW9uLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlbDogcnVudGltZU1vZGVsLFxuICAgICAgICAgIHJ1bnRpbWVNb2RlOiBSdW50aW1lTW9kZS5QUk9ELFxuICAgICAgICAgIHByb2R1Y3RJZDogcHJvZHVjdElkLFxuICAgICAgICAgIHByb2R1Y3RUeXBlOiBwcm9wZXJ0aWVzPy5kaXNwbGF5TmFtZSB8fCBwcm9kdWN0TmFtZSxcbiAgICAgICAgICBvZmZlcmluZ0lkOiBvZmZlcmluZ0lkLFxuICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgIFByaWNpbmdFbmFibGVkOiB1aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnByaWNpbmdFbmFibGVkID8gJ3RydWUnIDogJ2ZhbHNlJyxcbiAgICAgICAgICAgIFByaWNlTGlzdElkOiB1aURlZmluaXRpb24/LnByb3BlcnRpZXM/LnByaWNlTGlzdCxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VUlEZWZpbml0aW9uKHJ1bnRpbWVEYXRhOiBSdW50aW1lRGF0YSk6IFVJRGVmaW5pdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJhd1VpRGVmaW5pdGlvbnM6IEFycmF5PFVJRGVmaW5pdGlvbiB8IExlZ2FjeVVpRGVmaW5pdGlvbj47XG4gICAgdHJ5IHtcbiAgICAgIHJhd1VpRGVmaW5pdGlvbnMgPSBKU09OLnBhcnNlKHJ1bnRpbWVEYXRhLnVpRGVmaW5pdGlvbnNTb3VyY2UpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1aURlZmluaXRpb25zID0gcmF3VWlEZWZpbml0aW9ucy5maWx0ZXIodWlEZWYgPT4gKHVpRGVmIGFzIFVJRGVmaW5pdGlvbikudmVyc2lvbikgYXMgVUlEZWZpbml0aW9uW107XG4gICAgY29uc3QgdWlEZWZpbml0aW9uID0gdWlEZWZpbml0aW9ucy5maW5kKHVpRGVmID0+IHVpRGVmLnByaW1hcnkpID8/IHVpRGVmaW5pdGlvbnNbMF07XG5cbiAgICBpZiAoIXVpRGVmaW5pdGlvbikge1xuICAgICAgY29uc3QgZXJyTXNnID0gYFVuYWJsZSB0byBmaW5kIERlZmF1bHQgVUlgO1xuXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICBzdW1tYXJ5OiAnRVJST1InLFxuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdWlEZWZpbml0aW9uO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1ydW50aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY21zL21vZHVsZXMvY29uZmlndXJhdGlvbi90eXBlcy9jb25maWd1cmF0aW9uLXJ1bnRpbWUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpbmVJdGVtIH0gZnJvbSAnQHZlbG9jZS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBSdW50aW1lSW5pdGlhbGl6YXRpb25Qcm9wcyB7XG4gIHByb2R1Y3RJZDogc3RyaW5nO1xuICBvZmZlcmluZ0lkPzogc3RyaW5nO1xuICBhc3NldHM/OiBMaW5lSXRlbVtdO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL2NvbmZpZ3VyYXRpb24vdHlwZXMvY29uZmlndXJhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dFByb3BlcnRpZXMsIFJ1bnRpbWVNb2RlbCB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBSdW50aW1lTW9kZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL3J1bnRpbWUnO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bnRpbWVDb250ZXh0IHtcbiAgbW9kZWxJZDogc3RyaW5nO1xuICBydW50aW1lTW9kZTogUnVudGltZU1vZGU7XG4gIHJ1bnRpbWVNb2RlbDogUnVudGltZU1vZGVsO1xuICB1aURlZmluaXRpb24/OiBVSURlZmluaXRpb247XG4gIHByb2R1Y3RJZD86IHN0cmluZztcbiAgcHJvZHVjdE5hbWU/OiBzdHJpbmc7XG4gIHByb2R1Y3RUeXBlPzogc3RyaW5nO1xuICBwcm9wZXJ0aWVzPzogQ29udGV4dFByb3BlcnRpZXM7XG4gIG9mZmVyaW5nSWQ/OiBzdHJpbmc7XG4gIG9mZmVyaW5nSW5zdGFuY2VJZD86IHN0cmluZztcbn1cbiJdfQ==
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PriceApiService } from '@veloce/api';
3
- import { ContextService } from '@veloce/sdk/runtime';
4
- import { FlowConfigurationService } from './services/flow-configuration.service';
5
- import { FlowUpdateService } from './services/flow-update.service';
6
- import * as i0 from "@angular/core";
7
- export class FlowConfigurationModule {
8
- }
9
- FlowConfigurationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- FlowConfigurationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule });
11
- FlowConfigurationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, providers: [FlowConfigurationService, FlowUpdateService, ContextService, PriceApiService] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationModule, decorators: [{
13
- type: NgModule,
14
- args: [{
15
- providers: [FlowConfigurationService, FlowUpdateService, ContextService, PriceApiService],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL2Ntcy9tb2R1bGVzL2Zsb3ctY29uZmlndXJhdGlvbi9mbG93LWNvbmZpZ3VyYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBS25FLE1BQU0sT0FBTyx1QkFBdUI7O3FIQUF2Qix1QkFBdUI7c0hBQXZCLHVCQUF1QjtzSEFBdkIsdUJBQXVCLGFBRnZCLENBQUMsd0JBQXdCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQzs0RkFFOUUsdUJBQXVCO2tCQUhuQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7aUJBQzFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaWNlQXBpU2VydmljZSB9IGZyb20gJ0B2ZWxvY2UvYXBpJztcbmltcG9ydCB7IENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9zZGsvcnVudGltZSc7XG5pbXBvcnQgeyBGbG93Q29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dVcGRhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mbG93LXVwZGF0ZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBGbG93VXBkYXRlU2VydmljZSwgQ29udGV4dFNlcnZpY2UsIFByaWNlQXBpU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEZsb3dDb25maWd1cmF0aW9uTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmxvdy1jb25maWd1cmF0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Zsb3ctY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZmxvdy11cGRhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3VwZGF0ZS50eXBlcyc7XG4iXX0=
@@ -1,83 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { cloneDeep } from 'lodash';
3
- import { BehaviorSubject, catchError, map, 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 "@veloce/sdk/runtime";
7
- import * as i3 from "primeng/api";
8
- import * as i4 from "./flow-update.service";
9
- export class FlowConfigurationService {
10
- constructor(priceApiService, contextService, messageService, updateService) {
11
- this.priceApiService = priceApiService;
12
- this.contextService = contextService;
13
- this.messageService = messageService;
14
- this.updateService = updateService;
15
- this.lineItems = new BehaviorSubject([]);
16
- this.charges = new BehaviorSubject({});
17
- }
18
- reset() {
19
- this.lineItems.next([]);
20
- this.charges.next({});
21
- }
22
- calculate$(currentState) {
23
- const context = this.contextService.resolve();
24
- return this.priceApiService.calculate({ context, currentState }).pipe(tap((result) => {
25
- this.lineItems.next(result.lineItems);
26
- this.charges.next(result.charges);
27
- if (context) {
28
- this.contextService.update({ properties: context.properties });
29
- }
30
- }), this.handleError());
31
- }
32
- calculate(currentState) {
33
- this.calculate$(currentState).subscribe();
34
- }
35
- update$(updates) {
36
- const lineItems = cloneDeep(this.lineItems.value);
37
- return of([]).pipe(tap(() => this.updateService.update(lineItems, updates)), this.handleError(), switchMap(() => this.calculate$(lineItems)));
38
- }
39
- update(updates) {
40
- this.update$(updates).subscribe();
41
- }
42
- delete$(ids) {
43
- return of([]).pipe(map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.lineItems.value)), this.handleError(), switchMap(currentState => this.calculate$(currentState)));
44
- }
45
- delete(ids) {
46
- this.delete$(ids).subscribe();
47
- }
48
- get() {
49
- return this.lineItems.asObservable().pipe(shareReplay());
50
- }
51
- getSnapshot() {
52
- return this.lineItems.value.slice();
53
- }
54
- get charges$() {
55
- return this.charges.asObservable();
56
- }
57
- get chargesSnapshot() {
58
- return this.charges.value;
59
- }
60
- get contextSnapshot() {
61
- return this.contextService.resolve();
62
- }
63
- get context$() {
64
- return this.contextService.resolve$();
65
- }
66
- handleError() {
67
- return (source$) => {
68
- return source$.pipe(catchError(error => {
69
- console.error(error);
70
- this.messageService.add({ severity: 'error', summary: error });
71
- // bounce back if configuration call has failed
72
- this.lineItems.next(this.lineItems.value.slice());
73
- return throwError(() => error);
74
- }));
75
- };
76
- }
77
- }
78
- FlowConfigurationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, deps: [{ token: i1.PriceApiService }, { token: i2.ContextService }, { token: i3.MessageService }, { token: i4.FlowUpdateService }], target: i0.ɵɵFactoryTarget.Injectable });
79
- FlowConfigurationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowConfigurationService, decorators: [{
81
- type: Injectable
82
- }], ctorParameters: function () { return [{ type: i1.PriceApiService }, { type: i2.ContextService }, { type: i3.MessageService }, { type: i4.FlowUpdateService }]; } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Nkay9jbXMvbW9kdWxlcy9mbG93LWNvbmZpZ3VyYXRpb24vc2VydmljZXMvZmxvdy1jb25maWd1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sUUFBUSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFLakgsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUNVLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLGNBQThCLEVBQzlCLGFBQWdDO1FBSGhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQVBsQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWEsRUFBRSxDQUFDLENBQUM7UUFDaEQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE4QixFQUFFLENBQUMsQ0FBQztJQU9wRSxDQUFDO0lBRUcsS0FBSztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsWUFBd0I7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUU5QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUMsWUFBd0I7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQTJCO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUN4RCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2xCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQTJCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFhO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNsRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2xCLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sQ0FBSSxPQUFzQixFQUFpQixFQUFFO1lBQ2xELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDakIsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBRS9ELCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFbEQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7O3NIQXBHVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpY2VBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZS9hcGknO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkNvbnRleHQsIExpbmVJdGVtLCBQcmljZVBsYW5DaGFyZ2UsIFByaWNlU3VtbWFyeSB9IGZyb20gJ0B2ZWxvY2UvY29yZSc7XG5pbXBvcnQgeyBDb250ZXh0U2VydmljZSB9IGZyb20gJ0B2ZWxvY2Uvc2RrL3J1bnRpbWUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjYXRjaEVycm9yLCBtYXAsIE9ic2VydmFibGUsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZsb3dVcGRhdGVQYXJhbXMgfSBmcm9tICcuLi90eXBlcy91cGRhdGUudHlwZXMnO1xuaW1wb3J0IHsgRmxvd1VwZGF0ZVNlcnZpY2UgfSBmcm9tICcuL2Zsb3ctdXBkYXRlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmxvd0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsaW5lSXRlbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpbmVJdGVtW10+KFtdKTtcbiAgcHJpdmF0ZSBjaGFyZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaWN0aW9uYXJ5PFByaWNlUGxhbkNoYXJnZT4+KHt9KTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByaWNlQXBpU2VydmljZTogUHJpY2VBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXBkYXRlU2VydmljZTogRmxvd1VwZGF0ZVNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVzZXQoKSB7XG4gICAgdGhpcy5saW5lSXRlbXMubmV4dChbXSk7XG4gICAgdGhpcy5jaGFyZ2VzLm5leHQoe30pO1xuICB9XG5cbiAgY2FsY3VsYXRlJChjdXJyZW50U3RhdGU6IExpbmVJdGVtW10pOiBPYnNlcnZhYmxlPFByaWNlU3VtbWFyeT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUoKTtcblxuICAgIHJldHVybiB0aGlzLnByaWNlQXBpU2VydmljZS5jYWxjdWxhdGUoeyBjb250ZXh0LCBjdXJyZW50U3RhdGUgfSkucGlwZShcbiAgICAgIHRhcCgocmVzdWx0OiBQcmljZVN1bW1hcnkpID0+IHtcbiAgICAgICAgdGhpcy5saW5lSXRlbXMubmV4dChyZXN1bHQubGluZUl0ZW1zKTtcbiAgICAgICAgdGhpcy5jaGFyZ2VzLm5leHQocmVzdWx0LmNoYXJnZXMpO1xuXG4gICAgICAgIGlmIChjb250ZXh0KSB7XG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUoeyBwcm9wZXJ0aWVzOiBjb250ZXh0LnByb3BlcnRpZXMgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvcigpLFxuICAgICk7XG4gIH1cblxuICBjYWxjdWxhdGUoY3VycmVudFN0YXRlOiBMaW5lSXRlbVtdKTogdm9pZCB7XG4gICAgdGhpcy5jYWxjdWxhdGUkKGN1cnJlbnRTdGF0ZSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB1cGRhdGUkKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgY29uc3QgbGluZUl0ZW1zID0gY2xvbmVEZWVwKHRoaXMubGluZUl0ZW1zLnZhbHVlKTtcblxuICAgIHJldHVybiBvZihbXSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZVNlcnZpY2UudXBkYXRlKGxpbmVJdGVtcywgdXBkYXRlcykpLFxuICAgICAgdGhpcy5oYW5kbGVFcnJvcigpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2FsY3VsYXRlJChsaW5lSXRlbXMpKSxcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlKHVwZGF0ZXM6IEZsb3dVcGRhdGVQYXJhbXNbXSk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlJCh1cGRhdGVzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRlbGV0ZSQoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UHJpY2VTdW1tYXJ5PiB7XG4gICAgcmV0dXJuIG9mKFtdKS5waXBlKFxuICAgICAgbWFwKCgpID0+IGlkcy5yZWR1Y2UoKHJlc3VsdCwgaWQpID0+IHRoaXMudXBkYXRlU2VydmljZS5kZWxldGUocmVzdWx0LCBpZCksIHRoaXMubGluZUl0ZW1zLnZhbHVlKSksXG4gICAgICB0aGlzLmhhbmRsZUVycm9yKCksXG4gICAgICBzd2l0Y2hNYXAoY3VycmVudFN0YXRlID0+IHRoaXMuY2FsY3VsYXRlJChjdXJyZW50U3RhdGUpKSxcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKGlkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZSQoaWRzKS5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxMaW5lSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW1zLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U25hcHNob3QoKTogTGluZUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMubGluZUl0ZW1zLnZhbHVlLnNsaWNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoYXJnZXMkKCk6IE9ic2VydmFibGU8RGljdGlvbmFyeTxQcmljZVBsYW5DaGFyZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmdlc1NuYXBzaG90KCk6IERpY3Rpb25hcnk8UHJpY2VQbGFuQ2hhcmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcmdlcy52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29udGV4dFNuYXBzaG90KCk6IENvbmZpZ3VyYXRpb25Db250ZXh0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb250ZXh0JCgpOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb25Db250ZXh0IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLnJlc29sdmUkKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKCkge1xuICAgIHJldHVybiA8VD4oc291cmNlJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4gPT4ge1xuICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogJ2Vycm9yJywgc3VtbWFyeTogZXJyb3IgfSk7XG5cbiAgICAgICAgICAvLyBib3VuY2UgYmFjayBpZiBjb25maWd1cmF0aW9uIGNhbGwgaGFzIGZhaWxlZFxuICAgICAgICAgIHRoaXMubGluZUl0ZW1zLm5leHQodGhpcy5saW5lSXRlbXMudmFsdWUuc2xpY2UoKSk7XG5cbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9O1xuICB9XG59XG4iXX0=