@veloceapps/sdk 3.1.6 → 3.1.7

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 (48) hide show
  1. package/bundles/veloce-sdk-core.umd.js +41 -16
  2. package/bundles/veloce-sdk-core.umd.js.map +1 -1
  3. package/bundles/veloce-sdk-runtime.umd.js +3 -13
  4. package/bundles/veloce-sdk-runtime.umd.js.map +1 -1
  5. package/bundles/veloce-sdk.umd.js +145 -120
  6. package/bundles/veloce-sdk.umd.js.map +1 -1
  7. package/core/modules/configuration/services/configuration.service.d.ts +2 -2
  8. package/core/modules/flow-configuration/services/flow-configuration.service.d.ts +2 -2
  9. package/core/services/context.service.d.ts +4 -4
  10. package/core/services/quote-draft.service.d.ts +3 -0
  11. package/esm2015/core/modules/configuration/services/configuration-runtime.service.js +2 -5
  12. package/esm2015/core/modules/configuration/services/configuration.service.js +2 -2
  13. package/esm2015/core/modules/flow-configuration/services/flow-configuration.service.js +1 -1
  14. package/esm2015/core/services/context.service.js +13 -10
  15. package/esm2015/core/services/quote-draft.service.js +26 -5
  16. package/esm2015/runtime/components/ui-runtime/runtime.component.js +1 -4
  17. package/esm2015/runtime/execution/directives/vl-ramp.directive.js +1 -4
  18. package/esm2015/runtime/services/cart.service.js +1 -1
  19. package/esm2015/runtime/services/configuration.service.js +3 -3
  20. package/esm2015/runtime/services/runtime-context.service.js +2 -3
  21. package/esm2015/runtime/services/runtime.service.js +1 -4
  22. package/esm2015/src/components/header/header.component.js +36 -19
  23. package/esm2015/src/flow.component.js +6 -6
  24. package/esm2015/src/flow.module.js +2 -2
  25. package/esm2015/src/guards/product-unload.guard.js +7 -6
  26. package/esm2015/src/pages/catalog/catalog.component.js +3 -3
  27. package/esm2015/src/pages/legacy-product/legacy-product.component.js +1 -1
  28. package/esm2015/src/pages/product/product.component.js +2 -3
  29. package/esm2015/src/pages/shopping-cart/shopping-cart.component.js +3 -3
  30. package/esm2015/src/resolvers/context.resolver.js +7 -5
  31. package/esm2015/src/resolvers/quote.resolver.js +2 -2
  32. package/esm2015/src/services/flow-dialog.service.js +80 -0
  33. package/esm2015/src/services/flow.service.js +2 -2
  34. package/esm2015/src/utils/flow.utils.js +1 -11
  35. package/fesm2015/veloce-sdk-core.js +38 -18
  36. package/fesm2015/veloce-sdk-core.js.map +1 -1
  37. package/fesm2015/veloce-sdk-runtime.js +3 -13
  38. package/fesm2015/veloce-sdk-runtime.js.map +1 -1
  39. package/fesm2015/veloce-sdk.js +117 -92
  40. package/fesm2015/veloce-sdk.js.map +1 -1
  41. package/package.json +1 -1
  42. package/runtime/services/cart.service.d.ts +1 -1
  43. package/src/components/header/header.component.d.ts +7 -4
  44. package/src/flow.component.d.ts +3 -3
  45. package/src/guards/product-unload.guard.d.ts +4 -3
  46. package/src/services/{fow-dialog.service.d.ts → flow-dialog.service.d.ts} +2 -0
  47. package/src/utils/flow.utils.d.ts +0 -2
  48. package/esm2015/src/services/fow-dialog.service.js +0 -66
@@ -375,29 +375,31 @@
375
375
 
376
376
  var ContextService = /** @class */ (function () {
377
377
  function ContextService(contextApiService) {
378
- var _this = this;
379
378
  this.contextApiService = contextApiService;
380
379
  this.context = new rxjs.BehaviorSubject(null);
381
- this.resolve = function () { return _this.context.value && Object.assign({}, _this.context.value); };
382
- this.resolve$ = function () { return _this.context; };
383
380
  }
384
- Object.defineProperty(ContextService.prototype, "isStandalone", {
381
+ Object.defineProperty(ContextService.prototype, "isInitialized", {
385
382
  get: function () {
386
- var _a;
387
- return ((_a = this.resolve()) === null || _a === void 0 ? void 0 : _a.properties.standalone) === 'true';
383
+ return Boolean(this.context.value);
388
384
  },
389
385
  enumerable: false,
390
386
  configurable: true
391
387
  });
388
+ ContextService.prototype.resolve = function () {
389
+ if (!this.context.value) {
390
+ throw new Error('Context is not initialized yet!');
391
+ }
392
+ return Object.assign({}, this.context.value);
393
+ };
394
+ ContextService.prototype.resolve$ = function () {
395
+ return this.context.pipe(operators.filter(function (ctx) { return Boolean(ctx); }));
396
+ };
392
397
  ContextService.prototype.create = function (headerId, mode) {
393
398
  var _this = this;
394
399
  return this.contextApiService.getContext(headerId, mode).pipe(operators.tap(function (context) { return _this.context.next(lodash.merge(new core.ConfigurationContext(headerId, mode), context)); }), operators.map(function () { return _this.resolve(); }));
395
400
  };
396
401
  ContextService.prototype.update = function (partialContext) {
397
402
  var originalContext = this.resolve();
398
- if (!originalContext) {
399
- throw 'Context not initialized yet';
400
- }
401
403
  var updatedContext = Object.assign(Object.assign(Object.assign({}, originalContext), partialContext), { properties: Object.assign(Object.assign({}, originalContext.properties), partialContext.properties) });
402
404
  this.context.next(updatedContext);
403
405
  return updatedContext;
@@ -432,7 +434,7 @@
432
434
  };
433
435
  QuoteDraftService.prototype.init = function (quoteId, params) {
434
436
  var _this = this;
435
- return rxjs.zip(this.quoteApiService.getQuoteDraft(quoteId, params), this.priceApiService.getPriceLists(), this.context.resolve$().pipe(operators.filter(function (context) { return Boolean(context); }))).pipe(operators.tap(function (_a) {
437
+ return rxjs.zip(this.quoteApiService.getQuoteDraft(quoteId, params), this.priceApiService.getPriceLists(), this.context.resolve$()).pipe(operators.tap(function (_a) {
436
438
  var _b = __read(_a, 3), quote = _b[0], priceLists = _b[1], context = _b[2];
437
439
  _this.quoteSubj$.next(quote);
438
440
  _this.priceLists = priceLists;
@@ -460,18 +462,44 @@
460
462
  };
461
463
  Object.defineProperty(QuoteDraftService.prototype, "quote$", {
462
464
  get: function () {
463
- return this.quoteSubj$.pipe(operators.filter(function (quote) { return Boolean(quote); }), operators.map(function (quote) { return quote; }));
465
+ var _this = this;
466
+ return rxjs.combineLatest([this.quoteSubj$, this.context.resolve$()]).pipe(operators.map(function () { return _this.quoteSnapshot; }), operators.filter(function (quote) { return Boolean(quote); }));
464
467
  },
465
468
  enumerable: false,
466
469
  configurable: true
467
470
  });
468
471
  Object.defineProperty(QuoteDraftService.prototype, "quoteSnapshot", {
469
472
  get: function () {
470
- return this.quoteSubj$.value;
473
+ var quote = this.quoteSubj$.value;
474
+ if (!quote) {
475
+ return null;
476
+ }
477
+ return Object.assign(Object.assign({}, quote), { context: this.context.resolve() });
478
+ },
479
+ enumerable: false,
480
+ configurable: true
481
+ });
482
+ Object.defineProperty(QuoteDraftService.prototype, "isStandalone", {
483
+ get: function () {
484
+ return this.context.resolve().properties.standalone === 'true';
471
485
  },
472
486
  enumerable: false,
473
487
  configurable: true
474
488
  });
489
+ QuoteDraftService.prototype.isEditMode$ = function () {
490
+ var _this = this;
491
+ return this.context.resolve$().pipe(operators.map(function () { return _this.isEditMode(); }));
492
+ };
493
+ QuoteDraftService.prototype.isEditMode = function () {
494
+ var context = this.context.resolve();
495
+ if (context.mode === core.ConfigurationContextMode.ACCOUNT) {
496
+ return true;
497
+ }
498
+ if (context.mode === core.ConfigurationContextMode.QUOTE) {
499
+ return context.properties.Status === 'Draft';
500
+ }
501
+ return false;
502
+ };
475
503
  QuoteDraftService.prototype.markAsUpdated = function () {
476
504
  if (this.isInitialized && !this.hasUnsavedChanges) {
477
505
  this.hasUnsavedChanges = true;
@@ -582,9 +610,6 @@
582
610
  var _this = this;
583
611
  this._assets = props.assets;
584
612
  var context = this.contextService.resolve();
585
- if (!context) {
586
- return rxjs.of();
587
- }
588
613
  return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(operators.tap(function (runtimeContext) {
589
614
  var _a, _b, _c, _d;
590
615
  _this.uiDefinitionProperties = (_b = (_a = runtimeContext.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : {};
@@ -941,7 +966,7 @@
941
966
  .onClose.subscribe(function (result) {
942
967
  if (!result) {
943
968
  var context = _this.contextService.resolve();
944
- window['VELO_BACK_FN'].apply(null, [(context === null || context === void 0 ? void 0 : context.headerId) || '']);
969
+ window['VELO_BACK_FN'].apply(null, [context.headerId]);
945
970
  }
946
971
  });
947
972
  };
@@ -1 +1 @@
1
- {"version":3,"file":"veloce-sdk-core.umd.js","sources":["../../../../libs/sdk/core/modules/configuration/helpers.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/core/types/runtime.types.ts","../../../../libs/sdk/core/services/context.service.ts","../../../../libs/sdk/core/services/quote-draft.service.ts","../../../../libs/sdk/core/modules/configuration/services/runtime-context.service.ts","../../../../libs/sdk/core/modules/configuration/services/configuration-runtime.service.ts","../../../../libs/sdk/core/utils/line-item.utils.ts","../../../../libs/sdk/core/utils/line-item.worker.ts","../../../../libs/sdk/core/modules/configuration/services/configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-update.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/flow-configuration.module.ts","../../../../libs/sdk/core/modules/configuration/configuration.module.ts","../../../../libs/sdk/core/core.module.ts","../../../../libs/sdk/core/veloce-sdk-core.ts"],"sourcesContent":["import { LineItem, UUID } from '@veloce/core';\nimport { RuntimeContext, UIDefinitionProps } from '../../types';\n\nexport const getDefaultLineItem = (context: RuntimeContext, uiDefinitionProperties: UIDefinitionProps): LineItem => {\n const id = UUID.UUID();\n\n const lineItem: LineItem = {\n id,\n type: uiDefinitionProperties.rootType ?? '',\n cfgStatus: 'Default',\n actionCode: 'ADD',\n qty: 1,\n productName: context.properties?.displayName || context.productName,\n productId: context.productId ?? '',\n ...(context.offeringId\n ? { offeringId: context.offeringId, offeringInstanceId: context.offeringInstanceId || id }\n : {}),\n } as LineItem;\n\n return lineItem;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ContextProperties, RuntimeModel } from '@veloce/core';\nimport { UIDefinition } from './ui-definition.types';\n\nexport enum RuntimeMode {\n TEST,\n PROD,\n}\n\nexport enum RuntimeOperation {\n INIT = 'INIT',\n UPDATE = 'UPDATE',\n}\n\nexport enum RuntimeStep {\n START = 'START',\n UPDATE = 'UPDATE',\n}\n\nexport interface InvocationContext {\n runtimeOperation?: RuntimeOperation;\n runtimeStep?: RuntimeStep;\n}\n\nexport interface RuntimeContext {\n modelId: string;\n runtimeMode: RuntimeMode;\n runtimeModel: RuntimeModel;\n uiDefinition?: UIDefinition;\n productId?: string;\n productName?: string;\n productType?: string;\n properties?: ContextProperties;\n offeringId?: string;\n offeringInstanceId?: string;\n invocationContext?: InvocationContext;\n}\n","import { Injectable } from '@angular/core';\nimport { ContextApiService } from '@veloce/api';\nimport { ConfigurationContext, ConfigurationContextMode } from '@veloce/core';\nimport { merge } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class ContextService {\n private context = new BehaviorSubject<ConfigurationContext | null>(null);\n\n constructor(private contextApiService: ContextApiService) {}\n\n resolve = (): ConfigurationContext | null => this.context.value && { ...this.context.value };\n resolve$ = (): Observable<ConfigurationContext | null> => this.context;\n\n get isStandalone() {\n return this.resolve()?.properties.standalone === 'true';\n }\n\n create(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.contextApiService.getContext(headerId, mode).pipe(\n tap(context => this.context.next(merge(new ConfigurationContext(headerId, mode), context))),\n map(() => this.resolve() as ConfigurationContext),\n );\n }\n\n update(partialContext: Partial<ConfigurationContext>): ConfigurationContext | null {\n const originalContext = this.resolve();\n\n if (!originalContext) {\n throw 'Context not initialized yet';\n }\n\n const updatedContext: ConfigurationContext = {\n ...originalContext,\n ...(partialContext as ConfigurationContext),\n properties: {\n ...originalContext.properties,\n ...partialContext.properties,\n },\n };\n\n this.context.next(updatedContext);\n\n return updatedContext;\n }\n\n delete(): void {\n this.context.next(null);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PriceApiService, QuoteApiService } from '@veloce/api';\nimport { ConfigurationContext, LineItem, PriceList, PriceSummary, QuoteDraft } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, Observable, zip } from 'rxjs';\nimport { filter, map, take, tap } from 'rxjs/operators';\nimport { ContextService } from './context.service';\n\n@Injectable({ providedIn: 'root' })\nexport class QuoteDraftService {\n private quoteSubj$ = new BehaviorSubject<QuoteDraft | null>(null);\n private resetSubj$ = new BehaviorSubject(true);\n\n public priceLists: PriceList[] = [];\n public quotePriceList?: PriceList;\n public isInitialized = false;\n public hasUnsavedChanges = false;\n public reset$ = this.resetSubj$.asObservable();\n\n constructor(\n private context: ContextService,\n private quoteApiService: QuoteApiService,\n private priceApiService: PriceApiService,\n ) {}\n\n public reset() {\n this.resetSubj$.next(true);\n this.quoteSubj$.next(null);\n }\n\n public init(quoteId: string, params: Dictionary<string>): Observable<void> {\n return zip(\n this.quoteApiService.getQuoteDraft(quoteId, params),\n this.priceApiService.getPriceLists(),\n this.context.resolve$().pipe(filter((context): context is ConfigurationContext => Boolean(context))),\n ).pipe(\n tap(([quote, priceLists, context]) => {\n this.quoteSubj$.next(quote);\n this.priceLists = priceLists;\n this.quotePriceList = priceLists.find(p => p.id === context.properties.PriceListId);\n\n this.context.update({\n ...context,\n ...quote.context,\n properties: {\n ...context.properties,\n ...quote.context.properties,\n },\n });\n }),\n map(() => {\n this.isInitialized = true;\n }),\n take(1),\n );\n }\n\n public setCurrentLineItemState(lineItems: LineItem[]): void {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return;\n }\n\n this.quoteSubj$.next({\n ...quote,\n currentState: lineItems,\n });\n\n this.markAsUpdated();\n }\n\n public updateByPriceSummary(priceSummary: PriceSummary): void {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return;\n }\n\n this.quoteSubj$.next({\n ...quote,\n currentState: priceSummary.lineItems,\n totalPrices: priceSummary.totalPrices,\n approvalItems: priceSummary.approvalItems,\n });\n\n this.markAsUpdated();\n }\n\n get quote$(): Observable<QuoteDraft> {\n return this.quoteSubj$.pipe(\n filter((quote): quote is QuoteDraft => Boolean(quote)),\n map(quote => quote),\n );\n }\n\n get quoteSnapshot(): QuoteDraft | null {\n return this.quoteSubj$.value;\n }\n\n private markAsUpdated(): void {\n if (this.isInitialized && !this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { RuntimeData, RuntimeModel, UIDefinition as LegacyUiDefinition } from '@veloce/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RuntimeContext, RuntimeMode, UIDefinition } from '../../../types';\n\n@Injectable()\nexport class RuntimeContextService {\n constructor(private configurationApiService: ConfigurationApiService, private messageService: MessageService) {}\n\n getRuntimeContext(productId: string, offeringId?: string): Observable<RuntimeContext> {\n return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(\n map(runtimeData => {\n const uiDefinition = this.getUIDefinition(runtimeData);\n const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);\n const { productName, properties } =\n Array.from(runtimeModel.components.values()).find(c => c.productId === productId) ?? {};\n\n return {\n modelId: runtimeData.modelId,\n uiDefinition: uiDefinition,\n runtimeModel: runtimeModel,\n runtimeMode: RuntimeMode.PROD,\n productId: productId,\n productType: properties?.displayName || productName,\n offeringId: offeringId,\n properties: {\n PricingEnabled: uiDefinition?.properties?.pricingEnabled ? 'true' : 'false',\n PriceListId: uiDefinition?.properties?.priceList,\n },\n };\n }),\n );\n }\n\n private getUIDefinition(runtimeData: RuntimeData): UIDefinition | undefined {\n let rawUiDefinitions: Array<UIDefinition | LegacyUiDefinition>;\n try {\n rawUiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);\n } catch (e) {\n return;\n }\n\n const uiDefinitions = rawUiDefinitions.filter(uiDef => (uiDef as UIDefinition).version) as UIDefinition[];\n const uiDefinition = uiDefinitions.find(uiDef => uiDef.primary) ?? uiDefinitions[0];\n\n if (!uiDefinition) {\n const errMsg = `Unable to find Default UI`;\n\n this.messageService.add({\n severity: 'error',\n summary: 'ERROR',\n });\n throw new Error(errMsg);\n }\n\n return uiDefinition;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfigurationContextMode, LineItem, RuntimeModel, SalesforceIdUtils } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\nimport { ContextService } from '../../../services';\nimport { RuntimeContext, RuntimeMode, UIDefinition, UIDefinitionProps } from '../../../types';\nimport { RuntimeInitializationProps } from '../types/configuration-runtime.types';\nimport { RuntimeContextService } from './runtime-context.service';\n\n@Injectable()\nexport class ConfigurationRuntimeService {\n private _runtimeContext?: RuntimeContext;\n private _assets?: LineItem[];\n private _isInitialized = false;\n\n public uiDefinitionProperties: UIDefinitionProps = {};\n\n constructor(\n private apiService: ConfigurationApiService,\n private contextService: ContextService,\n private runtimeContextService: RuntimeContextService,\n ) {}\n\n public reset() {\n this._isInitialized = false;\n this._runtimeContext = undefined;\n this._assets = undefined;\n this.uiDefinitionProperties = {};\n }\n\n public initTestMode(modelId: string, uiDefinition: UIDefinition) {\n this.uiDefinitionProperties = uiDefinition.properties ?? {};\n const uiDefinitionExternals = uiDefinition.externals ?? {};\n\n return combineLatest([\n this.apiService.getRuntimeDataByModelId(modelId),\n this.contextService.create('TestId', ConfigurationContextMode.TEST),\n ]).pipe(\n first(),\n tap(([runtimeData, context]) => {\n this._runtimeContext = {\n modelId: modelId,\n runtimeModel: RuntimeModel.create(runtimeData.types, runtimeData.products),\n runtimeMode: RuntimeMode.TEST,\n };\n\n this.contextService.update({\n properties: {\n ...this.runtimeContext?.properties,\n ...context.properties,\n ModelId: modelId,\n RuntimeMode: ConfigurationContextMode.TEST,\n PricingEnabled: this.uiDefinitionProperties.pricingEnabled ? 'true' : 'false',\n StartDate: new Date().toISOString().substring(0, 10),\n PriceListId: this.uiDefinitionProperties.priceList,\n standalone: 'true',\n ...uiDefinitionExternals,\n },\n });\n\n this._isInitialized = true;\n }),\n );\n }\n\n public init(props: RuntimeInitializationProps): Observable<RuntimeContext | undefined> {\n this._assets = props.assets;\n const context = this.contextService.resolve();\n\n if (!context) {\n return of();\n }\n\n return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(\n tap(runtimeContext => {\n this.uiDefinitionProperties = runtimeContext.uiDefinition?.properties ?? {};\n const { PriceListId } = context.properties ?? {};\n\n const mergeContext: RuntimeContext = {\n ...runtimeContext,\n properties: {\n ...runtimeContext.properties,\n ...context.properties,\n PricingEnabled: PriceListId ? 'true' : 'false',\n },\n };\n\n this.id15to18('AccountId', mergeContext.properties);\n this._runtimeContext = mergeContext;\n\n if (context.properties && this._runtimeContext.properties?.StartDate) {\n this.contextService.update({\n properties: {\n ...this._runtimeContext.properties,\n ...context.properties,\n },\n });\n }\n\n this._isInitialized = true;\n }),\n );\n }\n\n private id15to18(propertyName: string, source?: Dictionary<any>) {\n if (!source) {\n return;\n }\n\n const value = source[propertyName];\n\n if (typeof value === 'string' && value.length === 15) {\n source[propertyName] = SalesforceIdUtils.generateId18FromId15(value);\n }\n }\n\n public getAsset(lineItem: LineItem): LineItem | undefined {\n return this._assets && this._assets.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);\n }\n\n public get isInitialized() {\n return this._isInitialized;\n }\n\n public get runtimeModel() {\n return this.runtimeContext?.runtimeModel;\n }\n\n public get runtimeContext() {\n return this._runtimeContext;\n }\n}\n","import { Attribute, CfgStatus, LineItem, PortDomain } from '@veloce/core';\nimport { Dictionary, flatten, sortBy } from 'lodash';\n\nexport const findLineItem = (id: string, lineItems: LineItem[]): LineItem | undefined => {\n return findLineItemWithComparator(lineItems, (li: LineItem) => li.id === id);\n};\n\nexport const findLineItemWithComparator = (\n lineItems: LineItem[],\n comparator: (li: LineItem) => boolean,\n): LineItem | undefined => {\n let currentLevel = lineItems;\n\n while (currentLevel.length) {\n const found = currentLevel.find(comparator);\n\n if (found) {\n return found;\n }\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n\n return;\n};\n\nexport const insertLineItem = (lineItem: LineItem, parentId: string, toInsert: LineItem): LineItem => {\n const insertData = lineItem.id === parentId ? [toInsert] : [];\n return {\n ...lineItem,\n lineItems: [\n ...insertData,\n ...lineItem.lineItems.map(li => {\n return insertLineItem(li, parentId, toInsert);\n }),\n ],\n };\n};\n\nexport const removeLineItem = (lineItem: LineItem, idToRemove: string): LineItem => {\n return {\n ...lineItem,\n lineItems: lineItem.lineItems\n .map(li => {\n if (li.id === idToRemove) {\n return;\n } else if (li.lineItems.length) {\n return removeLineItem(li, idToRemove);\n }\n return li;\n })\n .filter(r => !!r) as LineItem[],\n };\n};\n\nexport const replaceLineItem = (lineItem: LineItem, replaceTo: LineItem): LineItem => {\n if (lineItem.id === replaceTo.id) {\n return { ...replaceTo };\n }\n\n return {\n ...lineItem,\n lineItems: lineItem.lineItems.map(li => {\n if (li.id === replaceTo.id) {\n return replaceTo;\n } else if (li.lineItems.length) {\n return replaceLineItem(li, replaceTo);\n }\n return li;\n }),\n };\n};\n\nexport const mapAttributes = (attributes: Attribute[]): Dictionary<any> => {\n return attributes.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {});\n};\n\nexport const getAttributes = (attributes: Attribute[], names: string[] = []) => {\n const filtered = attributes.filter(({ name }) => names.includes(name));\n return sortBy(filtered, [({ name }) => names.indexOf(name)]);\n};\n\nexport const upsertAttributes = (\n originalAttributes: Attribute[],\n attributesToUpsert: { name: string; value: any }[],\n) => {\n return attributesToUpsert.reduce((acc, { name, value }) => {\n const [origAttr] = getAttributes(acc, [name]);\n return [\n ...acc.filter(attr => attr.name !== name),\n { ...(origAttr ?? { name }), cfgStatus: 'User' as CfgStatus, value },\n ];\n }, originalAttributes);\n};\n\nexport const patchAttributes = (rootLineItem: LineItem, id: string, attrs: { name: string; value: any }[]) => {\n const lineItem = findLineItem(id, [rootLineItem]);\n\n if (!lineItem) {\n return rootLineItem;\n }\n\n const attributes = upsertAttributes(lineItem.attributes, attrs);\n return replaceLineItem(rootLineItem, { ...lineItem, attributes });\n};\n\nexport const getAttributeValue = (attributes: Attribute[], name: string): any =>\n attributes.find(attr => attr.name === name)?.value;\n\nexport const generateLineItem = (\n port: string,\n type: string,\n parentId: string,\n attributes: { name: string; value: any }[] = [],\n lineItems: LineItem[] = [],\n): LineItem => {\n return {\n port,\n type,\n actionCode: 'ADD',\n cfgStatus: 'New',\n attributes: attributes.map(({ name, value }) => ({ cfgStatus: 'User', name, value })),\n lineItems,\n parentId,\n qty: 1,\n } as LineItem;\n};\n\nexport const getRecommendedPrices = (portDomain: PortDomain, type: string): { net: number; list: number } => {\n const domainType = portDomain.domainTypes.find(({ name }) => name === type);\n\n const [net, list] = domainType?.recommendedPrices\n ?.filter(({ chargeMethod }) => chargeMethod === 'ONE_TIME')\n .reduce(\n (acc, rp) => {\n const [netPrice, listPrice] = acc;\n return [netPrice + rp.netPrice, listPrice + rp.listPrice];\n },\n [0, 0],\n ) ?? [0, 0];\n\n return { net, list };\n};\n","import { LineItem } from '@veloce/core';\nimport { insertLineItem, patchAttributes, removeLineItem, replaceLineItem } from './line-item.utils';\n\nexport class LineItemWorker {\n public li: LineItem;\n\n constructor(src: LineItem) {\n this.li = { ...src };\n }\n\n public insert(parentId: string, toInsert: LineItem): LineItemWorker {\n return new LineItemWorker(insertLineItem(this.li, parentId, toInsert));\n }\n\n public remove(id: string): LineItemWorker {\n return new LineItemWorker(removeLineItem(this.li, id));\n }\n\n public replace(toReplace: LineItem): LineItemWorker {\n return new LineItemWorker(replaceLineItem(this.li, toReplace));\n }\n\n public patchAttribute(attrs: { name: string; value: any }[], id?: string): LineItemWorker {\n return new LineItemWorker(patchAttributes(this.li, id ?? this.li.id, attrs));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfirmationComponent } from '@veloce/components';\nimport {\n ConfigurationContext,\n ConfigurationMode,\n ConfigurationRequest,\n LineItem,\n PricePlanCharge,\n RuntimeModel,\n VlWindow,\n} from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { BehaviorSubject, Observable, shareReplay, throwError } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ContextService } from '../../../services';\nimport { QuoteStates, RuntimeContext, RuntimeStep } from '../../../types';\nimport { LineItemWorker } from '../../../utils';\nimport { getDefaultLineItem } from '../helpers';\nimport { ConfigurationRuntimeService } from './configuration-runtime.service';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class ConfigurationService {\n private mode = ConfigurationMode.SEARCH;\n private states: QuoteStates = {};\n\n private lineItem = new BehaviorSubject<LineItem | undefined>(undefined);\n private charges = new BehaviorSubject<Dictionary<PricePlanCharge>>({});\n\n public hasUnsavedChanges = false;\n\n constructor(\n private runtimeService: ConfigurationRuntimeService,\n private contextService: ContextService,\n private configurationApiService: ConfigurationApiService,\n private messageService: MessageService,\n private dialogService: DialogService,\n ) {}\n\n public reset() {\n this.hasUnsavedChanges = false;\n this.runtimeService.reset();\n\n this.states = {};\n this.lineItem.next(undefined);\n this.charges.next({});\n }\n\n public patch$(lineItem: LineItem): Observable<LineItem> {\n if (!this.lineItem.value) {\n return throwError(() => new Error(`Source LineItem not found`));\n }\n\n this.states.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;\n this.states.asset = this.states.configurableRamp\n ? this.runtimeService.getAsset(this.states.configurableRamp)\n : undefined;\n\n return this.configure().pipe(\n catchError(error => {\n console.error(error);\n\n if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n // bounce back if configuration call has failed\n this.lineItem.next(this.lineItem.value ? { ...this.lineItem.value } : undefined);\n\n return throwError(() => error);\n }),\n tap(() => {\n if (!this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n }\n }),\n );\n }\n\n public patch(lineItem: LineItem): void {\n this.patch$(lineItem).subscribe();\n }\n\n public updateCurrentStates(update: Partial<QuoteStates>) {\n this.states = {\n ...this.states,\n ...update,\n };\n }\n\n public get(): Observable<LineItem | undefined> {\n return this.lineItem.asObservable().pipe(shareReplay());\n }\n\n public getSnapshot(): LineItem | undefined {\n return this.lineItem.value ? { ...this.lineItem.value } : undefined;\n }\n\n public getRuntimeModel(): RuntimeModel | undefined {\n return this.runtimeService.runtimeModel;\n }\n\n public getRuntimeContext(): RuntimeContext | undefined {\n return this.runtimeService.runtimeContext;\n }\n\n public get contextSnapshot(): ConfigurationContext | null {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext | null> {\n return this.contextService.resolve$();\n }\n\n public get charges$(): Observable<Dictionary<PricePlanCharge>> {\n return this.charges.asObservable();\n }\n\n public get chargesSnapshot(): Dictionary<PricePlanCharge> {\n return this.charges.value;\n }\n\n public configure(): Observable<LineItem> {\n const runtimeContext = this.getRuntimeContext();\n const runtimeModel = this.getRuntimeModel();\n if (!runtimeContext || !runtimeModel) {\n return throwError(() => new Error('Runtime context/model not initialized'));\n }\n\n const uiDefinitionProperties = {\n ...(runtimeContext.uiDefinition?.properties ?? {}),\n ...(this.runtimeService.uiDefinitionProperties ?? {}),\n };\n const lineItem = this.states.configurableRamp ?? getDefaultLineItem(runtimeContext, uiDefinitionProperties);\n const configurationRequest = this.createRequest(lineItem);\n configurationRequest.lineItems = this.states.currentState || [];\n configurationRequest.asset = this.states.asset;\n const mainPricingEnabled = runtimeContext.properties?.PricingEnabled;\n const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;\n return this.configurationApiService\n .configureLineItem({ configurationRequest, runtimeModel, pricingEnabled })\n .pipe(\n map(({ lineItem, context, charges, deletedLineItems }) => {\n this.contextService.update(context ?? {});\n this.charges.next(charges ?? {});\n if (deletedLineItems?.length) {\n this.showInactiveProductsConfirmation();\n }\n return lineItem;\n }),\n )\n .pipe(\n tap(lineItem => lineItem && this.lineItem.next(lineItem)),\n catchError(error =>\n throwError(() => new Error(error.error?.message || error.message || JSON.stringify(error))),\n ),\n );\n }\n\n private createRequest(lineItem: LineItem): ConfigurationRequest {\n return {\n lineItem,\n mode: this.mode,\n step: !this.lineItem.value ? RuntimeStep.START : RuntimeStep.UPDATE,\n attributeDomainMode: 'ALL',\n context: this.contextService.resolve() as ConfigurationContext,\n };\n }\n\n private showInactiveProductsConfirmation() {\n this.dialogService\n .open(ConfirmationComponent, {\n dismissableMask: false,\n closeOnEscape: false,\n closable: false,\n showHeader: true,\n header: `Inactive Products in Quote`,\n width: '440px',\n data: {\n confirmationConfig: {\n title: ' ',\n description: 'This quote contains inactive products. Do you want to remove them?',\n submitBtn: 'Remove products',\n cancelBtn: 'Back to Quote',\n },\n },\n })\n .onClose.subscribe(result => {\n if (!result) {\n const context = this.contextService.resolve();\n window['VELO_BACK_FN'].apply(null, [context?.headerId || '']);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LineItem } from '@veloce/core';\nimport { flatten } from 'lodash';\nimport moment from 'moment';\nimport { LineItemWorker } from '../../../utils';\nimport { FlowUpdateParams } from '../types/update.types';\n\n@Injectable()\nexport class FlowUpdateService {\n public update(rootLineItems: LineItem[], updates: FlowUpdateParams[]) {\n let remainingUpdates = [...updates];\n let currentLevel = rootLineItems;\n\n while (currentLevel.length && remainingUpdates.length) {\n currentLevel.forEach(li => {\n const unhandledUpdates: FlowUpdateParams[] = [];\n\n remainingUpdates.forEach(update => {\n let updated = false;\n\n switch (update.dataType) {\n case 'LINEITEM':\n updated = this.applyLineItemUpdate(li, update);\n break;\n case 'CHARGE':\n updated = this.applyChargeUpdate(li, update);\n break;\n case 'GROUP_CHARGE':\n updated = this.applyChargeGroupUpdate(li, update);\n break;\n default:\n // Unknown dataType. Do not try to handle it anymore\n updated = true;\n }\n\n if (!updated) {\n unhandledUpdates.push(update);\n }\n });\n\n remainingUpdates = unhandledUpdates;\n });\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n }\n\n public delete(lineItems: LineItem[], id: string): LineItem[] {\n const idsToRemove: string[] = [id];\n const topLevelLineItem = lineItems.find(li => li.id === id);\n\n if (topLevelLineItem) {\n // find term-related line items (which are only top level)\n // expired term line items won't be deleted\n let foundTermLineItem: LineItem | undefined = topLevelLineItem;\n\n while (foundTermLineItem) {\n foundTermLineItem = lineItems.find(li => foundTermLineItem && li.rampInstanceId === foundTermLineItem.id);\n if (foundTermLineItem) {\n idsToRemove.push(foundTermLineItem.id);\n }\n }\n }\n\n const filtered = lineItems.filter(lineItem => !idsToRemove.includes(lineItem.id));\n return filtered.map(lineItem => new LineItemWorker(lineItem).remove(id).li);\n }\n\n private applyLineItemUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n if (lineItem.id !== update.id) {\n return false;\n }\n\n switch (update.attributeType) {\n case 'QTY':\n lineItem.qty = update.newValue;\n break;\n case 'EFFECTIVE_START_DATE':\n lineItem.properties.StartDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'END_DATE':\n lineItem.properties.EndDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'PRICE_ADJUSTMENT':\n {\n const [charge] = lineItem.chargeItems;\n if (charge) {\n charge.priceAdjustment = update.newValue;\n }\n }\n break;\n default:\n throw new Error(`Not suppored AttributeType for LineItem update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundCharge = lineItem.chargeItems.find(({ id }) => id === update.id);\n if (!foundCharge) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundCharge.priceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeGroupUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundChargeGroup = lineItem.chargeGroupItems.find(({ id }) => id === update.id);\n if (!foundChargeGroup) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundChargeGroup.priceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Group Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PriceApiService } from '@veloce/api';\nimport { ConfigurationContext, LineItem, PricePlanCharge, PriceSummary } from '@veloce/core';\nimport { cloneDeep, Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n map,\n noop,\n Observable,\n of,\n shareReplay,\n Subscription,\n switchMap,\n tap,\n throwError,\n} from 'rxjs';\nimport { ContextService, QuoteDraftService } from '../../../services';\nimport { FlowUpdateParams } from '../types/update.types';\nimport { FlowUpdateService } from './flow-update.service';\n\n@Injectable()\nexport class FlowConfigurationService {\n private charges = new BehaviorSubject<Dictionary<PricePlanCharge>>({});\n private bounceBackUpdate$ = new BehaviorSubject(true);\n\n private resetSubscription?: Subscription;\n\n constructor(\n private priceApiService: PriceApiService,\n private contextService: ContextService,\n private quoteDraftService: QuoteDraftService,\n private messageService: MessageService,\n private updateService: FlowUpdateService,\n ) {}\n\n private reset() {\n this.charges.next({});\n }\n\n initialize$(): Observable<void> {\n this.resetSubscription?.unsubscribe();\n this.resetSubscription = this.quoteDraftService.reset$.subscribe(() => this.reset());\n\n return this.calculate$(this.getSnapshot()).pipe(map(noop));\n }\n\n calculate$(currentState: LineItem[]): Observable<PriceSummary> {\n const context = this.contextService.resolve();\n\n return this.priceApiService.calculate({ context, currentState }).pipe(\n tap((result: PriceSummary) => {\n this.quoteDraftService.updateByPriceSummary(result);\n\n this.charges.next(result.charges);\n\n if (context) {\n this.contextService.update({ properties: context.properties });\n }\n }),\n this.handleError(),\n );\n }\n\n calculate(currentState: LineItem[]): void {\n this.calculate$(currentState).subscribe();\n }\n\n update$(updates: FlowUpdateParams[]): Observable<PriceSummary> {\n const lineItems = cloneDeep(this.getSnapshot());\n\n return of([]).pipe(\n tap(() => this.updateService.update(lineItems, updates)),\n this.handleError(),\n switchMap(() => this.calculate$(lineItems)),\n );\n }\n\n update(updates: FlowUpdateParams[]): void {\n this.update$(updates).subscribe();\n }\n\n delete$(ids: string[]): Observable<PriceSummary> {\n return of([]).pipe(\n map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.getSnapshot())),\n this.handleError(),\n switchMap(currentState => this.calculate$(currentState)),\n );\n }\n\n delete(ids: string[]): void {\n this.delete$(ids).subscribe();\n }\n\n public get(): Observable<LineItem[]> {\n return combineLatest([this.quoteDraftService.quote$, this.bounceBackUpdate$]).pipe(\n map(([quoteDraft]) => quoteDraft.currentState),\n shareReplay(),\n );\n }\n\n public getSnapshot(): LineItem[] {\n return this.quoteDraftService.quoteSnapshot?.currentState.slice() ?? [];\n }\n\n public get charges$(): Observable<Dictionary<PricePlanCharge>> {\n return this.charges.asObservable();\n }\n\n public get chargesSnapshot(): Dictionary<PricePlanCharge> {\n return this.charges.value;\n }\n\n public get contextSnapshot(): ConfigurationContext | null {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext | null> {\n return this.contextService.resolve$();\n }\n\n private handleError() {\n return <T>(source$: Observable<T>): Observable<T> => {\n return source$.pipe(\n catchError(error => {\n console.error(error);\n this.messageService.add({ severity: 'error', summary: error });\n\n // bounce back if configuration call has failed\n this.bounceBackUpdate$.next(true);\n\n return throwError(() => error);\n }),\n );\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PriceApiService } from '@veloce/api';\nimport { FlowConfigurationService } from './services/flow-configuration.service';\nimport { FlowUpdateService } from './services/flow-update.service';\n\n@NgModule({\n imports: [],\n providers: [FlowConfigurationService, FlowUpdateService, PriceApiService],\n})\nexport class FlowConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { ConfigurationApiService, ContextApiService, ProductModelApiService } from '@veloce/api';\nimport { ConfirmationDialogModule } from '@veloce/components';\nimport { ConfigurationRuntimeService } from './services/configuration-runtime.service';\nimport { ConfigurationService } from './services/configuration.service';\nimport { RuntimeContextService } from './services/runtime-context.service';\n\n@NgModule({\n imports: [ConfirmationDialogModule],\n providers: [\n ContextApiService,\n ProductModelApiService,\n ConfigurationApiService,\n ConfigurationRuntimeService,\n RuntimeContextService,\n ConfigurationService,\n ],\n})\nexport class ConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { FlowConfigurationModule } from './modules';\nimport { ConfigurationModule } from './modules/configuration/configuration.module';\nimport { ContextService, QuoteDraftService } from './services';\n\n@NgModule({\n imports: [ConfigurationModule, FlowConfigurationModule],\n providers: [ContextService, QuoteDraftService],\n})\nexport class SdkCoreModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["UUID","RuntimeMode","RuntimeOperation","RuntimeStep","BehaviorSubject","tap","merge","ConfigurationContext","map","Injectable","zip","filter","take","RuntimeModel","combineLatest","ConfigurationContextMode","first","of","SalesforceIdUtils","flatten","sortBy","ConfigurationMode","throwError","catchError","shareReplay","ConfirmationComponent","moment","noop","cloneDeep","switchMap","PriceApiService","NgModule","ConfirmationDialogModule","ContextApiService","ProductModelApiService","ConfigurationApiService"],"mappings":"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"}
1
+ {"version":3,"file":"veloce-sdk-core.umd.js","sources":["../../../../libs/sdk/core/modules/configuration/helpers.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/sdk/core/types/runtime.types.ts","../../../../libs/sdk/core/services/context.service.ts","../../../../libs/sdk/core/services/quote-draft.service.ts","../../../../libs/sdk/core/modules/configuration/services/runtime-context.service.ts","../../../../libs/sdk/core/modules/configuration/services/configuration-runtime.service.ts","../../../../libs/sdk/core/utils/line-item.utils.ts","../../../../libs/sdk/core/utils/line-item.worker.ts","../../../../libs/sdk/core/modules/configuration/services/configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-update.service.ts","../../../../libs/sdk/core/modules/flow-configuration/services/flow-configuration.service.ts","../../../../libs/sdk/core/modules/flow-configuration/flow-configuration.module.ts","../../../../libs/sdk/core/modules/configuration/configuration.module.ts","../../../../libs/sdk/core/core.module.ts","../../../../libs/sdk/core/veloce-sdk-core.ts"],"sourcesContent":["import { LineItem, UUID } from '@veloce/core';\nimport { RuntimeContext, UIDefinitionProps } from '../../types';\n\nexport const getDefaultLineItem = (context: RuntimeContext, uiDefinitionProperties: UIDefinitionProps): LineItem => {\n const id = UUID.UUID();\n\n const lineItem: LineItem = {\n id,\n type: uiDefinitionProperties.rootType ?? '',\n cfgStatus: 'Default',\n actionCode: 'ADD',\n qty: 1,\n productName: context.properties?.displayName || context.productName,\n productId: context.productId ?? '',\n ...(context.offeringId\n ? { offeringId: context.offeringId, offeringInstanceId: context.offeringInstanceId || id }\n : {}),\n } as LineItem;\n\n return lineItem;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ContextProperties, RuntimeModel } from '@veloce/core';\nimport { UIDefinition } from './ui-definition.types';\n\nexport enum RuntimeMode {\n TEST,\n PROD,\n}\n\nexport enum RuntimeOperation {\n INIT = 'INIT',\n UPDATE = 'UPDATE',\n}\n\nexport enum RuntimeStep {\n START = 'START',\n UPDATE = 'UPDATE',\n}\n\nexport interface InvocationContext {\n runtimeOperation?: RuntimeOperation;\n runtimeStep?: RuntimeStep;\n}\n\nexport interface RuntimeContext {\n modelId: string;\n runtimeMode: RuntimeMode;\n runtimeModel: RuntimeModel;\n uiDefinition?: UIDefinition;\n productId?: string;\n productName?: string;\n productType?: string;\n properties?: ContextProperties;\n offeringId?: string;\n offeringInstanceId?: string;\n invocationContext?: InvocationContext;\n}\n","import { Injectable } from '@angular/core';\nimport { ContextApiService } from '@veloce/api';\nimport { ConfigurationContext, ConfigurationContextMode } from '@veloce/core';\nimport { merge } from 'lodash';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class ContextService {\n private context = new BehaviorSubject<ConfigurationContext | null>(null);\n\n constructor(private contextApiService: ContextApiService) {}\n\n get isInitialized(): boolean {\n return Boolean(this.context.value);\n }\n\n resolve(): ConfigurationContext {\n if (!this.context.value) {\n throw new Error('Context is not initialized yet!');\n }\n\n return { ...this.context.value };\n }\n\n resolve$(): Observable<ConfigurationContext> {\n return this.context.pipe(filter((ctx): ctx is ConfigurationContext => Boolean(ctx)));\n }\n\n create(headerId: string, mode: ConfigurationContextMode): Observable<ConfigurationContext> {\n return this.contextApiService.getContext(headerId, mode).pipe(\n tap(context => this.context.next(merge(new ConfigurationContext(headerId, mode), context))),\n map(() => this.resolve() as ConfigurationContext),\n );\n }\n\n public update(partialContext: Partial<ConfigurationContext>): ConfigurationContext {\n const originalContext = this.resolve();\n\n const updatedContext: ConfigurationContext = {\n ...originalContext,\n ...(partialContext as ConfigurationContext),\n properties: {\n ...originalContext.properties,\n ...partialContext.properties,\n },\n };\n\n this.context.next(updatedContext);\n\n return updatedContext;\n }\n\n public delete(): void {\n this.context.next(null);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PriceApiService, QuoteApiService } from '@veloce/api';\nimport { ConfigurationContextMode, LineItem, PriceList, PriceSummary, QuoteDraft } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { BehaviorSubject, combineLatest, Observable, zip } from 'rxjs';\nimport { filter, map, take, tap } from 'rxjs/operators';\nimport { ContextService } from './context.service';\n\n@Injectable({ providedIn: 'root' })\nexport class QuoteDraftService {\n private quoteSubj$ = new BehaviorSubject<QuoteDraft | null>(null);\n private resetSubj$ = new BehaviorSubject(true);\n\n public priceLists: PriceList[] = [];\n public quotePriceList?: PriceList;\n public isInitialized = false;\n public hasUnsavedChanges = false;\n public reset$ = this.resetSubj$.asObservable();\n\n constructor(\n private context: ContextService,\n private quoteApiService: QuoteApiService,\n private priceApiService: PriceApiService,\n ) {}\n\n public reset() {\n this.resetSubj$.next(true);\n this.quoteSubj$.next(null);\n }\n\n public init(quoteId: string, params: Dictionary<string>): Observable<void> {\n return zip(\n this.quoteApiService.getQuoteDraft(quoteId, params),\n this.priceApiService.getPriceLists(),\n this.context.resolve$(),\n ).pipe(\n tap(([quote, priceLists, context]) => {\n this.quoteSubj$.next(quote);\n this.priceLists = priceLists;\n this.quotePriceList = priceLists.find(p => p.id === context.properties.PriceListId);\n\n this.context.update({\n ...context,\n ...quote.context,\n properties: {\n ...context.properties,\n ...quote.context.properties,\n },\n });\n }),\n map(() => {\n this.isInitialized = true;\n }),\n take(1),\n );\n }\n\n public setCurrentLineItemState(lineItems: LineItem[]): void {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return;\n }\n\n this.quoteSubj$.next({\n ...quote,\n currentState: lineItems,\n });\n\n this.markAsUpdated();\n }\n\n public updateByPriceSummary(priceSummary: PriceSummary): void {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return;\n }\n\n this.quoteSubj$.next({\n ...quote,\n currentState: priceSummary.lineItems,\n totalPrices: priceSummary.totalPrices,\n approvalItems: priceSummary.approvalItems,\n });\n\n this.markAsUpdated();\n }\n\n get quote$(): Observable<QuoteDraft> {\n return combineLatest([this.quoteSubj$, this.context.resolve$()]).pipe(\n map(() => this.quoteSnapshot),\n filter((quote): quote is QuoteDraft => Boolean(quote)),\n );\n }\n\n get quoteSnapshot(): QuoteDraft | null {\n const quote = this.quoteSubj$.value;\n\n if (!quote) {\n return null;\n }\n\n return {\n ...quote,\n context: this.context.resolve(),\n };\n }\n\n get isStandalone() {\n return this.context.resolve().properties.standalone === 'true';\n }\n\n public isEditMode$(): Observable<boolean> {\n return this.context.resolve$().pipe(map(() => this.isEditMode()));\n }\n\n public isEditMode(): boolean {\n const context = this.context.resolve();\n\n if (context.mode === ConfigurationContextMode.ACCOUNT) {\n return true;\n }\n\n if (context.mode === ConfigurationContextMode.QUOTE) {\n return context.properties.Status === 'Draft';\n }\n\n return false;\n }\n\n private markAsUpdated(): void {\n if (this.isInitialized && !this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { RuntimeData, RuntimeModel, UIDefinition as LegacyUiDefinition } from '@veloce/core';\nimport { MessageService } from 'primeng/api';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { RuntimeContext, RuntimeMode, UIDefinition } from '../../../types';\n\n@Injectable()\nexport class RuntimeContextService {\n constructor(private configurationApiService: ConfigurationApiService, private messageService: MessageService) {}\n\n getRuntimeContext(productId: string, offeringId?: string): Observable<RuntimeContext> {\n return this.configurationApiService.getRuntimeDataByProductId(productId, offeringId).pipe(\n map(runtimeData => {\n const uiDefinition = this.getUIDefinition(runtimeData);\n const runtimeModel = RuntimeModel.create(runtimeData.types, runtimeData.products);\n const { productName, properties } =\n Array.from(runtimeModel.components.values()).find(c => c.productId === productId) ?? {};\n\n return {\n modelId: runtimeData.modelId,\n uiDefinition: uiDefinition,\n runtimeModel: runtimeModel,\n runtimeMode: RuntimeMode.PROD,\n productId: productId,\n productType: properties?.displayName || productName,\n offeringId: offeringId,\n properties: {\n PricingEnabled: uiDefinition?.properties?.pricingEnabled ? 'true' : 'false',\n PriceListId: uiDefinition?.properties?.priceList,\n },\n };\n }),\n );\n }\n\n private getUIDefinition(runtimeData: RuntimeData): UIDefinition | undefined {\n let rawUiDefinitions: Array<UIDefinition | LegacyUiDefinition>;\n try {\n rawUiDefinitions = JSON.parse(runtimeData.uiDefinitionsSource);\n } catch (e) {\n return;\n }\n\n const uiDefinitions = rawUiDefinitions.filter(uiDef => (uiDef as UIDefinition).version) as UIDefinition[];\n const uiDefinition = uiDefinitions.find(uiDef => uiDef.primary) ?? uiDefinitions[0];\n\n if (!uiDefinition) {\n const errMsg = `Unable to find Default UI`;\n\n this.messageService.add({\n severity: 'error',\n summary: 'ERROR',\n });\n throw new Error(errMsg);\n }\n\n return uiDefinition;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfigurationContextMode, LineItem, RuntimeModel, SalesforceIdUtils } from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { combineLatest, Observable } from 'rxjs';\nimport { first, tap } from 'rxjs/operators';\nimport { ContextService } from '../../../services';\nimport { RuntimeContext, RuntimeMode, UIDefinition, UIDefinitionProps } from '../../../types';\nimport { RuntimeInitializationProps } from '../types/configuration-runtime.types';\nimport { RuntimeContextService } from './runtime-context.service';\n\n@Injectable()\nexport class ConfigurationRuntimeService {\n private _runtimeContext?: RuntimeContext;\n private _assets?: LineItem[];\n private _isInitialized = false;\n\n public uiDefinitionProperties: UIDefinitionProps = {};\n\n constructor(\n private apiService: ConfigurationApiService,\n private contextService: ContextService,\n private runtimeContextService: RuntimeContextService,\n ) {}\n\n public reset() {\n this._isInitialized = false;\n this._runtimeContext = undefined;\n this._assets = undefined;\n this.uiDefinitionProperties = {};\n }\n\n public initTestMode(modelId: string, uiDefinition: UIDefinition) {\n this.uiDefinitionProperties = uiDefinition.properties ?? {};\n const uiDefinitionExternals = uiDefinition.externals ?? {};\n\n return combineLatest([\n this.apiService.getRuntimeDataByModelId(modelId),\n this.contextService.create('TestId', ConfigurationContextMode.TEST),\n ]).pipe(\n first(),\n tap(([runtimeData, context]) => {\n this._runtimeContext = {\n modelId: modelId,\n runtimeModel: RuntimeModel.create(runtimeData.types, runtimeData.products),\n runtimeMode: RuntimeMode.TEST,\n };\n\n this.contextService.update({\n properties: {\n ...this.runtimeContext?.properties,\n ...context.properties,\n ModelId: modelId,\n RuntimeMode: ConfigurationContextMode.TEST,\n PricingEnabled: this.uiDefinitionProperties.pricingEnabled ? 'true' : 'false',\n StartDate: new Date().toISOString().substring(0, 10),\n PriceListId: this.uiDefinitionProperties.priceList,\n standalone: 'true',\n ...uiDefinitionExternals,\n },\n });\n\n this._isInitialized = true;\n }),\n );\n }\n\n public init(props: RuntimeInitializationProps): Observable<RuntimeContext | undefined> {\n this._assets = props.assets;\n const context = this.contextService.resolve();\n\n return this.runtimeContextService.getRuntimeContext(props.productId, props.offeringId).pipe(\n tap(runtimeContext => {\n this.uiDefinitionProperties = runtimeContext.uiDefinition?.properties ?? {};\n const { PriceListId } = context.properties ?? {};\n\n const mergeContext: RuntimeContext = {\n ...runtimeContext,\n properties: {\n ...runtimeContext.properties,\n ...context.properties,\n PricingEnabled: PriceListId ? 'true' : 'false',\n },\n };\n\n this.id15to18('AccountId', mergeContext.properties);\n this._runtimeContext = mergeContext;\n\n if (context.properties && this._runtimeContext.properties?.StartDate) {\n this.contextService.update({\n properties: {\n ...this._runtimeContext.properties,\n ...context.properties,\n },\n });\n }\n\n this._isInitialized = true;\n }),\n );\n }\n\n private id15to18(propertyName: string, source?: Dictionary<any>) {\n if (!source) {\n return;\n }\n\n const value = source[propertyName];\n\n if (typeof value === 'string' && value.length === 15) {\n source[propertyName] = SalesforceIdUtils.generateId18FromId15(value);\n }\n }\n\n public getAsset(lineItem: LineItem): LineItem | undefined {\n return this._assets && this._assets.find(a => a.id === lineItem.openOrderLineItemId || a.id === lineItem.assetId);\n }\n\n public get isInitialized() {\n return this._isInitialized;\n }\n\n public get runtimeModel() {\n return this.runtimeContext?.runtimeModel;\n }\n\n public get runtimeContext() {\n return this._runtimeContext;\n }\n}\n","import { Attribute, CfgStatus, LineItem, PortDomain } from '@veloce/core';\nimport { Dictionary, flatten, sortBy } from 'lodash';\n\nexport const findLineItem = (id: string, lineItems: LineItem[]): LineItem | undefined => {\n return findLineItemWithComparator(lineItems, (li: LineItem) => li.id === id);\n};\n\nexport const findLineItemWithComparator = (\n lineItems: LineItem[],\n comparator: (li: LineItem) => boolean,\n): LineItem | undefined => {\n let currentLevel = lineItems;\n\n while (currentLevel.length) {\n const found = currentLevel.find(comparator);\n\n if (found) {\n return found;\n }\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n\n return;\n};\n\nexport const insertLineItem = (lineItem: LineItem, parentId: string, toInsert: LineItem): LineItem => {\n const insertData = lineItem.id === parentId ? [toInsert] : [];\n return {\n ...lineItem,\n lineItems: [\n ...insertData,\n ...lineItem.lineItems.map(li => {\n return insertLineItem(li, parentId, toInsert);\n }),\n ],\n };\n};\n\nexport const removeLineItem = (lineItem: LineItem, idToRemove: string): LineItem => {\n return {\n ...lineItem,\n lineItems: lineItem.lineItems\n .map(li => {\n if (li.id === idToRemove) {\n return;\n } else if (li.lineItems.length) {\n return removeLineItem(li, idToRemove);\n }\n return li;\n })\n .filter(r => !!r) as LineItem[],\n };\n};\n\nexport const replaceLineItem = (lineItem: LineItem, replaceTo: LineItem): LineItem => {\n if (lineItem.id === replaceTo.id) {\n return { ...replaceTo };\n }\n\n return {\n ...lineItem,\n lineItems: lineItem.lineItems.map(li => {\n if (li.id === replaceTo.id) {\n return replaceTo;\n } else if (li.lineItems.length) {\n return replaceLineItem(li, replaceTo);\n }\n return li;\n }),\n };\n};\n\nexport const mapAttributes = (attributes: Attribute[]): Dictionary<any> => {\n return attributes.reduce((acc, { name, value }) => ({ ...acc, [name]: value }), {});\n};\n\nexport const getAttributes = (attributes: Attribute[], names: string[] = []) => {\n const filtered = attributes.filter(({ name }) => names.includes(name));\n return sortBy(filtered, [({ name }) => names.indexOf(name)]);\n};\n\nexport const upsertAttributes = (\n originalAttributes: Attribute[],\n attributesToUpsert: { name: string; value: any }[],\n) => {\n return attributesToUpsert.reduce((acc, { name, value }) => {\n const [origAttr] = getAttributes(acc, [name]);\n return [\n ...acc.filter(attr => attr.name !== name),\n { ...(origAttr ?? { name }), cfgStatus: 'User' as CfgStatus, value },\n ];\n }, originalAttributes);\n};\n\nexport const patchAttributes = (rootLineItem: LineItem, id: string, attrs: { name: string; value: any }[]) => {\n const lineItem = findLineItem(id, [rootLineItem]);\n\n if (!lineItem) {\n return rootLineItem;\n }\n\n const attributes = upsertAttributes(lineItem.attributes, attrs);\n return replaceLineItem(rootLineItem, { ...lineItem, attributes });\n};\n\nexport const getAttributeValue = (attributes: Attribute[], name: string): any =>\n attributes.find(attr => attr.name === name)?.value;\n\nexport const generateLineItem = (\n port: string,\n type: string,\n parentId: string,\n attributes: { name: string; value: any }[] = [],\n lineItems: LineItem[] = [],\n): LineItem => {\n return {\n port,\n type,\n actionCode: 'ADD',\n cfgStatus: 'New',\n attributes: attributes.map(({ name, value }) => ({ cfgStatus: 'User', name, value })),\n lineItems,\n parentId,\n qty: 1,\n } as LineItem;\n};\n\nexport const getRecommendedPrices = (portDomain: PortDomain, type: string): { net: number; list: number } => {\n const domainType = portDomain.domainTypes.find(({ name }) => name === type);\n\n const [net, list] = domainType?.recommendedPrices\n ?.filter(({ chargeMethod }) => chargeMethod === 'ONE_TIME')\n .reduce(\n (acc, rp) => {\n const [netPrice, listPrice] = acc;\n return [netPrice + rp.netPrice, listPrice + rp.listPrice];\n },\n [0, 0],\n ) ?? [0, 0];\n\n return { net, list };\n};\n","import { LineItem } from '@veloce/core';\nimport { insertLineItem, patchAttributes, removeLineItem, replaceLineItem } from './line-item.utils';\n\nexport class LineItemWorker {\n public li: LineItem;\n\n constructor(src: LineItem) {\n this.li = { ...src };\n }\n\n public insert(parentId: string, toInsert: LineItem): LineItemWorker {\n return new LineItemWorker(insertLineItem(this.li, parentId, toInsert));\n }\n\n public remove(id: string): LineItemWorker {\n return new LineItemWorker(removeLineItem(this.li, id));\n }\n\n public replace(toReplace: LineItem): LineItemWorker {\n return new LineItemWorker(replaceLineItem(this.li, toReplace));\n }\n\n public patchAttribute(attrs: { name: string; value: any }[], id?: string): LineItemWorker {\n return new LineItemWorker(patchAttributes(this.li, id ?? this.li.id, attrs));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ConfigurationApiService } from '@veloce/api';\nimport { ConfirmationComponent } from '@veloce/components';\nimport {\n ConfigurationContext,\n ConfigurationMode,\n ConfigurationRequest,\n LineItem,\n PricePlanCharge,\n RuntimeModel,\n VlWindow,\n} from '@veloce/core';\nimport { Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { BehaviorSubject, Observable, shareReplay, throwError } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { ContextService } from '../../../services';\nimport { QuoteStates, RuntimeContext, RuntimeStep } from '../../../types';\nimport { LineItemWorker } from '../../../utils';\nimport { getDefaultLineItem } from '../helpers';\nimport { ConfigurationRuntimeService } from './configuration-runtime.service';\n\ndeclare const window: VlWindow;\n\n@Injectable()\nexport class ConfigurationService {\n private mode = ConfigurationMode.SEARCH;\n private states: QuoteStates = {};\n\n private lineItem = new BehaviorSubject<LineItem | undefined>(undefined);\n private charges = new BehaviorSubject<Dictionary<PricePlanCharge>>({});\n\n public hasUnsavedChanges = false;\n\n constructor(\n private runtimeService: ConfigurationRuntimeService,\n private contextService: ContextService,\n private configurationApiService: ConfigurationApiService,\n private messageService: MessageService,\n private dialogService: DialogService,\n ) {}\n\n public reset() {\n this.hasUnsavedChanges = false;\n this.runtimeService.reset();\n\n this.states = {};\n this.lineItem.next(undefined);\n this.charges.next({});\n }\n\n public patch$(lineItem: LineItem): Observable<LineItem> {\n if (!this.lineItem.value) {\n return throwError(() => new Error(`Source LineItem not found`));\n }\n\n this.states.configurableRamp = new LineItemWorker(this.lineItem.value).replace(lineItem).li;\n this.states.asset = this.states.configurableRamp\n ? this.runtimeService.getAsset(this.states.configurableRamp)\n : undefined;\n\n return this.configure().pipe(\n catchError(error => {\n console.error(error);\n\n if (!this.runtimeService.uiDefinitionProperties.suppressToastMessages) {\n this.messageService.add({ severity: 'error', summary: error });\n }\n\n // bounce back if configuration call has failed\n this.lineItem.next(this.lineItem.value ? { ...this.lineItem.value } : undefined);\n\n return throwError(() => error);\n }),\n tap(() => {\n if (!this.hasUnsavedChanges) {\n this.hasUnsavedChanges = true;\n }\n }),\n );\n }\n\n public patch(lineItem: LineItem): void {\n this.patch$(lineItem).subscribe();\n }\n\n public updateCurrentStates(update: Partial<QuoteStates>) {\n this.states = {\n ...this.states,\n ...update,\n };\n }\n\n public get(): Observable<LineItem | undefined> {\n return this.lineItem.asObservable().pipe(shareReplay());\n }\n\n public getSnapshot(): LineItem | undefined {\n return this.lineItem.value ? { ...this.lineItem.value } : undefined;\n }\n\n public getRuntimeModel(): RuntimeModel | undefined {\n return this.runtimeService.runtimeModel;\n }\n\n public getRuntimeContext(): RuntimeContext | undefined {\n return this.runtimeService.runtimeContext;\n }\n\n public get contextSnapshot(): ConfigurationContext {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext> {\n return this.contextService.resolve$();\n }\n\n public get charges$(): Observable<Dictionary<PricePlanCharge>> {\n return this.charges.asObservable();\n }\n\n public get chargesSnapshot(): Dictionary<PricePlanCharge> {\n return this.charges.value;\n }\n\n public configure(): Observable<LineItem> {\n const runtimeContext = this.getRuntimeContext();\n const runtimeModel = this.getRuntimeModel();\n if (!runtimeContext || !runtimeModel) {\n return throwError(() => new Error('Runtime context/model not initialized'));\n }\n\n const uiDefinitionProperties = {\n ...(runtimeContext.uiDefinition?.properties ?? {}),\n ...(this.runtimeService.uiDefinitionProperties ?? {}),\n };\n const lineItem = this.states.configurableRamp ?? getDefaultLineItem(runtimeContext, uiDefinitionProperties);\n const configurationRequest = this.createRequest(lineItem);\n configurationRequest.lineItems = this.states.currentState || [];\n configurationRequest.asset = this.states.asset;\n const mainPricingEnabled = runtimeContext.properties?.PricingEnabled;\n const pricingEnabled = mainPricingEnabled ? mainPricingEnabled === 'true' : uiDefinitionProperties.pricingEnabled;\n return this.configurationApiService\n .configureLineItem({ configurationRequest, runtimeModel, pricingEnabled })\n .pipe(\n map(({ lineItem, context, charges, deletedLineItems }) => {\n this.contextService.update(context ?? {});\n this.charges.next(charges ?? {});\n if (deletedLineItems?.length) {\n this.showInactiveProductsConfirmation();\n }\n return lineItem;\n }),\n )\n .pipe(\n tap(lineItem => lineItem && this.lineItem.next(lineItem)),\n catchError(error =>\n throwError(() => new Error(error.error?.message || error.message || JSON.stringify(error))),\n ),\n );\n }\n\n private createRequest(lineItem: LineItem): ConfigurationRequest {\n return {\n lineItem,\n mode: this.mode,\n step: !this.lineItem.value ? RuntimeStep.START : RuntimeStep.UPDATE,\n attributeDomainMode: 'ALL',\n context: this.contextService.resolve(),\n };\n }\n\n private showInactiveProductsConfirmation() {\n this.dialogService\n .open(ConfirmationComponent, {\n dismissableMask: false,\n closeOnEscape: false,\n closable: false,\n showHeader: true,\n header: `Inactive Products in Quote`,\n width: '440px',\n data: {\n confirmationConfig: {\n title: ' ',\n description: 'This quote contains inactive products. Do you want to remove them?',\n submitBtn: 'Remove products',\n cancelBtn: 'Back to Quote',\n },\n },\n })\n .onClose.subscribe(result => {\n if (!result) {\n const context = this.contextService.resolve();\n window['VELO_BACK_FN'].apply(null, [context.headerId]);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { LineItem } from '@veloce/core';\nimport { flatten } from 'lodash';\nimport moment from 'moment';\nimport { LineItemWorker } from '../../../utils';\nimport { FlowUpdateParams } from '../types/update.types';\n\n@Injectable()\nexport class FlowUpdateService {\n public update(rootLineItems: LineItem[], updates: FlowUpdateParams[]) {\n let remainingUpdates = [...updates];\n let currentLevel = rootLineItems;\n\n while (currentLevel.length && remainingUpdates.length) {\n currentLevel.forEach(li => {\n const unhandledUpdates: FlowUpdateParams[] = [];\n\n remainingUpdates.forEach(update => {\n let updated = false;\n\n switch (update.dataType) {\n case 'LINEITEM':\n updated = this.applyLineItemUpdate(li, update);\n break;\n case 'CHARGE':\n updated = this.applyChargeUpdate(li, update);\n break;\n case 'GROUP_CHARGE':\n updated = this.applyChargeGroupUpdate(li, update);\n break;\n default:\n // Unknown dataType. Do not try to handle it anymore\n updated = true;\n }\n\n if (!updated) {\n unhandledUpdates.push(update);\n }\n });\n\n remainingUpdates = unhandledUpdates;\n });\n\n currentLevel = flatten(currentLevel.map(parent => parent.lineItems));\n }\n }\n\n public delete(lineItems: LineItem[], id: string): LineItem[] {\n const idsToRemove: string[] = [id];\n const topLevelLineItem = lineItems.find(li => li.id === id);\n\n if (topLevelLineItem) {\n // find term-related line items (which are only top level)\n // expired term line items won't be deleted\n let foundTermLineItem: LineItem | undefined = topLevelLineItem;\n\n while (foundTermLineItem) {\n foundTermLineItem = lineItems.find(li => foundTermLineItem && li.rampInstanceId === foundTermLineItem.id);\n if (foundTermLineItem) {\n idsToRemove.push(foundTermLineItem.id);\n }\n }\n }\n\n const filtered = lineItems.filter(lineItem => !idsToRemove.includes(lineItem.id));\n return filtered.map(lineItem => new LineItemWorker(lineItem).remove(id).li);\n }\n\n private applyLineItemUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n if (lineItem.id !== update.id) {\n return false;\n }\n\n switch (update.attributeType) {\n case 'QTY':\n lineItem.qty = update.newValue;\n break;\n case 'EFFECTIVE_START_DATE':\n lineItem.properties.StartDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'END_DATE':\n lineItem.properties.EndDate = moment(update.newValue).format('YYYY-MM-DD');\n break;\n case 'PRICE_ADJUSTMENT':\n {\n const [charge] = lineItem.chargeItems;\n if (charge) {\n charge.priceAdjustment = update.newValue;\n }\n }\n break;\n default:\n throw new Error(`Not suppored AttributeType for LineItem update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundCharge = lineItem.chargeItems.find(({ id }) => id === update.id);\n if (!foundCharge) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundCharge.priceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n\n private applyChargeGroupUpdate(lineItem: LineItem, update: FlowUpdateParams): boolean {\n const foundChargeGroup = lineItem.chargeGroupItems.find(({ id }) => id === update.id);\n if (!foundChargeGroup) {\n return false;\n }\n\n if (update.attributeType === 'PRICE_ADJUSTMENT') {\n foundChargeGroup.priceAdjustment = update.newValue;\n } else {\n throw new Error(`Not suppored AttributeType for Charge Group Item update: ${update.attributeType}`);\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PriceApiService } from '@veloce/api';\nimport { ConfigurationContext, LineItem, PricePlanCharge, PriceSummary } from '@veloce/core';\nimport { cloneDeep, Dictionary } from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n map,\n noop,\n Observable,\n of,\n shareReplay,\n Subscription,\n switchMap,\n tap,\n throwError,\n} from 'rxjs';\nimport { ContextService, QuoteDraftService } from '../../../services';\nimport { FlowUpdateParams } from '../types/update.types';\nimport { FlowUpdateService } from './flow-update.service';\n\n@Injectable()\nexport class FlowConfigurationService {\n private charges = new BehaviorSubject<Dictionary<PricePlanCharge>>({});\n private bounceBackUpdate$ = new BehaviorSubject(true);\n\n private resetSubscription?: Subscription;\n\n constructor(\n private priceApiService: PriceApiService,\n private contextService: ContextService,\n private quoteDraftService: QuoteDraftService,\n private messageService: MessageService,\n private updateService: FlowUpdateService,\n ) {}\n\n private reset() {\n this.charges.next({});\n }\n\n initialize$(): Observable<void> {\n this.resetSubscription?.unsubscribe();\n this.resetSubscription = this.quoteDraftService.reset$.subscribe(() => this.reset());\n\n return this.calculate$(this.getSnapshot()).pipe(map(noop));\n }\n\n calculate$(currentState: LineItem[]): Observable<PriceSummary> {\n const context = this.contextService.resolve();\n\n return this.priceApiService.calculate({ context, currentState }).pipe(\n tap((result: PriceSummary) => {\n this.quoteDraftService.updateByPriceSummary(result);\n\n this.charges.next(result.charges);\n\n if (context) {\n this.contextService.update({ properties: context.properties });\n }\n }),\n this.handleError(),\n );\n }\n\n calculate(currentState: LineItem[]): void {\n this.calculate$(currentState).subscribe();\n }\n\n update$(updates: FlowUpdateParams[]): Observable<PriceSummary> {\n const lineItems = cloneDeep(this.getSnapshot());\n\n return of([]).pipe(\n tap(() => this.updateService.update(lineItems, updates)),\n this.handleError(),\n switchMap(() => this.calculate$(lineItems)),\n );\n }\n\n update(updates: FlowUpdateParams[]): void {\n this.update$(updates).subscribe();\n }\n\n delete$(ids: string[]): Observable<PriceSummary> {\n return of([]).pipe(\n map(() => ids.reduce((result, id) => this.updateService.delete(result, id), this.getSnapshot())),\n this.handleError(),\n switchMap(currentState => this.calculate$(currentState)),\n );\n }\n\n delete(ids: string[]): void {\n this.delete$(ids).subscribe();\n }\n\n public get(): Observable<LineItem[]> {\n return combineLatest([this.quoteDraftService.quote$, this.bounceBackUpdate$]).pipe(\n map(([quoteDraft]) => quoteDraft.currentState),\n shareReplay(),\n );\n }\n\n public getSnapshot(): LineItem[] {\n return this.quoteDraftService.quoteSnapshot?.currentState.slice() ?? [];\n }\n\n public get charges$(): Observable<Dictionary<PricePlanCharge>> {\n return this.charges.asObservable();\n }\n\n public get chargesSnapshot(): Dictionary<PricePlanCharge> {\n return this.charges.value;\n }\n\n public get contextSnapshot(): ConfigurationContext {\n return this.contextService.resolve();\n }\n\n public get context$(): Observable<ConfigurationContext> {\n return this.contextService.resolve$();\n }\n\n private handleError() {\n return <T>(source$: Observable<T>): Observable<T> => {\n return source$.pipe(\n catchError(error => {\n console.error(error);\n this.messageService.add({ severity: 'error', summary: error });\n\n // bounce back if configuration call has failed\n this.bounceBackUpdate$.next(true);\n\n return throwError(() => error);\n }),\n );\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { PriceApiService } from '@veloce/api';\nimport { FlowConfigurationService } from './services/flow-configuration.service';\nimport { FlowUpdateService } from './services/flow-update.service';\n\n@NgModule({\n imports: [],\n providers: [FlowConfigurationService, FlowUpdateService, PriceApiService],\n})\nexport class FlowConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { ConfigurationApiService, ContextApiService, ProductModelApiService } from '@veloce/api';\nimport { ConfirmationDialogModule } from '@veloce/components';\nimport { ConfigurationRuntimeService } from './services/configuration-runtime.service';\nimport { ConfigurationService } from './services/configuration.service';\nimport { RuntimeContextService } from './services/runtime-context.service';\n\n@NgModule({\n imports: [ConfirmationDialogModule],\n providers: [\n ContextApiService,\n ProductModelApiService,\n ConfigurationApiService,\n ConfigurationRuntimeService,\n RuntimeContextService,\n ConfigurationService,\n ],\n})\nexport class ConfigurationModule {}\n","import { NgModule } from '@angular/core';\nimport { FlowConfigurationModule } from './modules';\nimport { ConfigurationModule } from './modules/configuration/configuration.module';\nimport { ContextService, QuoteDraftService } from './services';\n\n@NgModule({\n imports: [ConfigurationModule, FlowConfigurationModule],\n providers: [ContextService, QuoteDraftService],\n})\nexport class SdkCoreModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["UUID","RuntimeMode","RuntimeOperation","RuntimeStep","BehaviorSubject","filter","tap","merge","ConfigurationContext","map","Injectable","zip","take","combineLatest","ConfigurationContextMode","RuntimeModel","first","SalesforceIdUtils","flatten","sortBy","ConfigurationMode","throwError","catchError","shareReplay","ConfirmationComponent","moment","noop","cloneDeep","of","switchMap","PriceApiService","NgModule","ConfirmationDialogModule","ContextApiService","ProductModelApiService","ConfigurationApiService"],"mappings":"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"}