@crystaldesign/web-planner-logic 26.14.0-beta.20 → 26.14.0-beta.22

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 (31) hide show
  1. package/build/cjs/{DivaBoxPlanner-1913cc24.js → DivaBoxPlanner-cf09f9fe.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-aaa6fa4f.js → DivaStandardPlanner-ff82e836.js} +2 -2
  3. package/build/cjs/{DoorPlanner-763ad992.js → DoorPlanner-53cefffe.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-4df729cb.js → Host3DSignalR-cc6ec7f6.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-ce70ea60.js → LiviqueWWSHandler-dba59703.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-a4637423.js → PfisterWWSHandler-995fbb8c.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-301ac7a5.js → PlannerHandler2D-b78c05b4.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-be22d805.js → SeriousBasketHandler-6145aaac.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-0b097306.js → ShelfPlanner-6c2a69a6.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-05104e7f.js → StandardWWSHandler-51829922.js} +1 -1
  11. package/build/cjs/{index-ca85ef63.js → index-468612b3.js} +103 -78
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-7f4b02ba.js → DivaBoxPlanner-100ffd98.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-e4b475ca.js → DivaStandardPlanner-bca19067.js} +2 -2
  15. package/build/esm/{DoorPlanner-4113de0a.js → DoorPlanner-96b746f5.js} +1 -1
  16. package/build/esm/{Host3DSignalR-f8926906.js → Host3DSignalR-55483c36.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-3899899c.js → LiviqueWWSHandler-e9a9259f.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-b8bd1177.js → PfisterWWSHandler-510be677.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-d604660f.js → PlannerHandler2D-34fd91ea.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-6d27dcfc.js → SeriousBasketHandler-62e59aa3.js} +1 -1
  21. package/build/esm/{ShelfPlanner-5bc9f8d6.js → ShelfPlanner-beef8da8.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-53ac6d32.js → StandardWWSHandler-f3d13d9a.js} +1 -1
  23. package/build/esm/{index-bc2aada6.js → index-b6e01877.js} +103 -78
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts +2 -2
  26. package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +3 -1
  28. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/test/orderlineVariantValues.test.d.ts +2 -0
  30. package/build/types/web-planner-logic/src/test/orderlineVariantValues.test.d.ts.map +1 -0
  31. package/package.json +3 -3
@@ -5,11 +5,11 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-ca85ef63.js');
8
+ var index = require('./index-468612b3.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
11
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
12
- var PlannerHandler2D = require('./PlannerHandler2D-301ac7a5.js');
12
+ var PlannerHandler2D = require('./PlannerHandler2D-b78c05b4.js');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
14
  require('axios');
15
15
  require('@babel/runtime/helpers/typeof');
@@ -7,10 +7,10 @@ var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
8
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
9
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
10
- var index = require('./index-ca85ef63.js');
10
+ var index = require('./index-468612b3.js');
11
11
  var DivaUtils = require('@crystaldesign/diva-utils');
12
12
  var plannerCore = require('@crystaldesign/planner-core');
13
- var PlannerHandler2D = require('./PlannerHandler2D-301ac7a5.js');
13
+ var PlannerHandler2D = require('./PlannerHandler2D-b78c05b4.js');
14
14
  require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  require('axios');
16
16
  require('@babel/runtime/helpers/typeof');
@@ -3,7 +3,7 @@
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('./index-ca85ef63.js');
6
+ require('./index-468612b3.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-ca85ef63.js');
8
+ var index = require('./index-468612b3.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var signalr = require('@microsoft/signalr');
11
11
  var io = require('socket.io-client');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- require('./index-ca85ef63.js');
5
+ require('./index-468612b3.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- var index = require('./index-ca85ef63.js');
5
+ var index = require('./index-468612b3.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-ca85ef63.js');
8
+ var index = require('./index-468612b3.js');
9
9
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
10
10
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
11
11
  var _get = require('@babel/runtime/helpers/get');
@@ -3,7 +3,7 @@
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var index = require('./index-ca85ef63.js');
6
+ var index = require('./index-468612b3.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
6
  var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
8
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
9
- var index = require('./index-ca85ef63.js');
9
+ var index = require('./index-468612b3.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- require('./index-ca85ef63.js');
5
+ require('./index-468612b3.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -34811,7 +34811,7 @@ var DivaArticle = /*#__PURE__*/function () {
34811
34811
  break;
34812
34812
  }
34813
34813
  _context.next = 4;
34814
- return Promise.resolve().then(function () { return require('./ShelfPlanner-0b097306.js'); });
34814
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-6c2a69a6.js'); });
34815
34815
  case 4:
34816
34816
  _yield$import = _context.sent;
34817
34817
  ShelfPlanner = _yield$import["default"];
@@ -43663,7 +43663,7 @@ var DivaSet = /*#__PURE__*/function () {
43663
43663
  break;
43664
43664
  }
43665
43665
  _context5.next = 3;
43666
- return Promise.resolve().then(function () { return require('./DoorPlanner-763ad992.js'); });
43666
+ return Promise.resolve().then(function () { return require('./DoorPlanner-53cefffe.js'); });
43667
43667
  case 3:
43668
43668
  _yield$import = _context5.sent;
43669
43669
  DoorPlanner = _yield$import["default"];
@@ -50992,7 +50992,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
50992
50992
  value: function () {
50993
50993
  var _initializeBasket = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(api) {
50994
50994
  var _this$plannerConfig$s3, _this$plannerConfig$s5, _api$getPlannerType, _this$plannerConfig$r;
50995
- var returnSuccessfully, divaNr, i, os, _this$plannerConfig$a4, params, _params$customFieldsT, _this$plannerConfig$h, _this$plannerConfig$c, _this$plannerConfig$c2, _this$plannerConfig$c3, _result$data$, result, _result$data$2, _this$plannerConfig$s4, _this$plannerConfig$a5, _api$getI18n, _api$getI18n2, successfully;
50995
+ var returnSuccessfully, divaNr, i, os, basketData, _this$plannerConfig$a4, params, _params$customFieldsT, _this$plannerConfig$h, _this$plannerConfig$c, _this$plannerConfig$c2, _this$plannerConfig$c3, _result$data$, result, _result$data$2, _this$plannerConfig$s4, _this$plannerConfig$a5, _api$getI18n, _api$getI18n2, successfully;
50996
50996
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
50997
50997
  while (1) switch (_context.prev = _context.next) {
50998
50998
  case 0:
@@ -51000,13 +51000,13 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51000
51000
  this.startProductId = undefined;
51001
51001
  LOG$a.debug("Basket initialising. initObject is: '", this.plannerConfig, "' divaNr to load is: '" + this.loadDivaNr + "'");
51002
51002
  if (this.ignoreInitObjectWhenInitializing) {
51003
- _context.next = 38;
51003
+ _context.next = 39;
51004
51004
  break;
51005
51005
  }
51006
51006
  returnSuccessfully = false; //UseCase 1
51007
51007
  //Basket wird mit basket aus auftrage neu eröffnet zum bearbeiten
51008
51008
  if (!this.plannerConfig.basketData) {
51009
- _context.next = 30;
51009
+ _context.next = 31;
51010
51010
  break;
51011
51011
  }
51012
51012
  if (!this.plannerConfig.assignNewDivaNr) {
@@ -51048,7 +51048,9 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51048
51048
  _context.next = 14;
51049
51049
  break;
51050
51050
  case 23:
51051
- this.baskets[this.divaNr] = this.plannerConfig.basketData;
51051
+ // a host can hand in plain basket JSON (e.g. a UMD page) - wrap it like every other load path does
51052
+ basketData = this.plannerConfig.basketData;
51053
+ this.baskets[this.divaNr] = basketData instanceof basketModel.BasketData ? basketData : new basketModel.BasketData(_objectSpread$f({}, this.plannerConfig.basketData));
51052
51054
  if (!this.baskets[this.divaNr].CustomerJourneyId) this.baskets[this.divaNr].CustomerJourneyId = DivaUtils.nanoid();
51053
51055
  if (this.actBasket.OrigCatalogCodex !== undefined) {
51054
51056
  this.origConfiguration.originCatalogCodex = this.actBasket.OrigCatalogCodex;
@@ -51060,16 +51062,16 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51060
51062
  this.initializationType = 'BASKET';
51061
51063
  this.hasConfiguratorSessionId = true;
51062
51064
  returnSuccessfully = true;
51063
- case 30:
51065
+ case 31:
51064
51066
  if (!(this.plannerConfig.catalogCodex !== undefined)) {
51065
- _context.next = 34;
51067
+ _context.next = 35;
51066
51068
  break;
51067
51069
  }
51068
- _context.next = 33;
51070
+ _context.next = 34;
51069
51071
  return this.loadBasketByCatalogCodex(api);
51070
- case 33:
51071
- returnSuccessfully = _context.sent;
51072
51072
  case 34:
51073
+ returnSuccessfully = _context.sent;
51074
+ case 35:
51073
51075
  if (DivaUtils__default["default"].bridge) {
51074
51076
  DivaUtils__default["default"].bridge.sendMessage({
51075
51077
  type: 'ABN',
@@ -51077,7 +51079,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51077
51079
  });
51078
51080
  }
51079
51081
  if (!returnSuccessfully) {
51080
- _context.next = 38;
51082
+ _context.next = 39;
51081
51083
  break;
51082
51084
  }
51083
51085
  if ((_this$plannerConfig$a4 = this.plannerConfig.articleCodexes) !== null && _this$plannerConfig$a4 !== void 0 && _this$plannerConfig$a4.length) {
@@ -51086,51 +51088,51 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51086
51088
  this.initializationType = 'MODELINFO';
51087
51089
  }
51088
51090
  return _context.abrupt("return", returnSuccessfully);
51089
- case 38:
51091
+ case 39:
51090
51092
  if (!this.loadDivaNr) {
51091
- _context.next = 45;
51093
+ _context.next = 46;
51092
51094
  break;
51093
51095
  }
51094
51096
  this.initializationType = 'SERVER_DIVANR';
51095
- _context.next = 42;
51097
+ _context.next = 43;
51096
51098
  return this.loadBasketByDivaNr(api, this.loadDivaNr);
51097
- case 42:
51099
+ case 43:
51098
51100
  return _context.abrupt("return", _context.sent);
51099
- case 45:
51101
+ case 46:
51100
51102
  if (!this.plannerConfig.customProductId) {
51101
- _context.next = 56;
51103
+ _context.next = 57;
51102
51104
  break;
51103
51105
  }
51104
51106
  this.assignNewDivaNr = true;
51105
51107
  params = api.getLoadProductBasketParams();
51106
51108
  if (!params) {
51107
- _context.next = 53;
51109
+ _context.next = 54;
51108
51110
  break;
51109
51111
  }
51110
51112
  this.initializationType = 'CUSTOM_PRODUCT_ID';
51111
- _context.next = 52;
51113
+ _context.next = 53;
51112
51114
  return this.loadBasketByCustomProductId(api, params.customProductField, this.plannerConfig.customProductId, (_params$customFieldsT = params.customFieldsToLoad) !== null && _params$customFieldsT !== void 0 && _params$customFieldsT.length ? params.customFieldsToLoad : []);
51113
- case 52:
51114
- return _context.abrupt("return", _context.sent);
51115
51115
  case 53:
51116
+ return _context.abrupt("return", _context.sent);
51117
+ case 54:
51116
51118
  return _context.abrupt("return", false);
51117
- case 56:
51119
+ case 57:
51118
51120
  if (!this.plannerConfig.productId) {
51119
- _context.next = 64;
51121
+ _context.next = 65;
51120
51122
  break;
51121
51123
  }
51122
51124
  this.assignNewDivaNr = true;
51123
51125
  this.initializationType = 'PRODUCT_ID';
51124
- _context.next = 61;
51126
+ _context.next = 62;
51125
51127
  return this.initProductId(api, this.plannerConfig.productId);
51126
- case 61:
51128
+ case 62:
51127
51129
  return _context.abrupt("return", _context.sent);
51128
- case 64:
51130
+ case 65:
51129
51131
  if (!((_this$plannerConfig$s3 = this.plannerConfig.settings) !== null && _this$plannerConfig$s3 !== void 0 && (_this$plannerConfig$s3 = _this$plannerConfig$s3.viewConfig) !== null && _this$plannerConfig$s3 !== void 0 && _this$plannerConfig$s3.loadStartProduct)) {
51130
- _context.next = 87;
51132
+ _context.next = 88;
51131
51133
  break;
51132
51134
  }
51133
- _context.next = 67;
51135
+ _context.next = 68;
51134
51136
  return (_this$plannerConfig$h = this.plannerConfig.handler) === null || _this$plannerConfig$h === void 0 ? void 0 : _this$plannerConfig$h.productHandler.apiGetProductByFilter([{
51135
51137
  id: 'startProductForOrganizations',
51136
51138
  op: 'eq',
@@ -51144,35 +51146,35 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51144
51146
  op: 'eq',
51145
51147
  value: (_this$plannerConfig$c3 = this.plannerConfig.currentOrganization) === null || _this$plannerConfig$c3 === void 0 ? void 0 : _this$plannerConfig$c3._id
51146
51148
  }]);
51147
- case 67:
51149
+ case 68:
51148
51150
  result = _context.sent;
51149
51151
  if (!(result !== null && result !== void 0 && (_result$data$ = result.data[0]) !== null && _result$data$ !== void 0 && _result$data$._id)) {
51150
- _context.next = 76;
51152
+ _context.next = 77;
51151
51153
  break;
51152
51154
  }
51153
51155
  this.startProductId = result === null || result === void 0 || (_result$data$2 = result.data[0]) === null || _result$data$2 === void 0 ? void 0 : _result$data$2._id;
51154
51156
  this.initializationType = 'START_PRODUCT';
51155
- _context.next = 73;
51157
+ _context.next = 74;
51156
51158
  return this.initProductId(api, result.data[0]._id);
51157
- case 73:
51159
+ case 74:
51158
51160
  return _context.abrupt("return", _context.sent);
51159
- case 76:
51161
+ case 77:
51160
51162
  successfully = false;
51161
51163
  if (!((_this$plannerConfig$s4 = this.plannerConfig.settings) !== null && _this$plannerConfig$s4 !== void 0 && (_this$plannerConfig$s4 = _this$plannerConfig$s4.viewConfig) !== null && _this$plannerConfig$s4 !== void 0 && _this$plannerConfig$s4.initFirstCatalog)) {
51162
- _context.next = 81;
51164
+ _context.next = 82;
51163
51165
  break;
51164
51166
  }
51165
- _context.next = 80;
51167
+ _context.next = 81;
51166
51168
  return this.tryInitFirstCatalog(api);
51167
- case 80:
51168
- successfully = _context.sent;
51169
51169
  case 81:
51170
+ successfully = _context.sent;
51171
+ case 82:
51170
51172
  if (!successfully) {
51171
- _context.next = 83;
51173
+ _context.next = 84;
51172
51174
  break;
51173
51175
  }
51174
51176
  return _context.abrupt("return", true);
51175
- case 83:
51177
+ case 84:
51176
51178
  (_this$plannerConfig$a5 = this.plannerConfig.actions) === null || _this$plannerConfig$a5 === void 0 || _this$plannerConfig$a5.openModal({
51177
51179
  accept: false,
51178
51180
  reject: false,
@@ -51181,23 +51183,23 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51181
51183
  text: (_api$getI18n2 = api.getI18n()) === null || _api$getI18n2 === void 0 ? void 0 : _api$getI18n2.t('configurator.no_startproduct_defined_text')
51182
51184
  });
51183
51185
  LOG$a.error(new DivaUtils.DivaError('it is configured to initialize the startProductForOrganizations if there are no other parameters. But no available product was found with organizationId: "' + this.plannerConfig.currentOrganization._id + '" in the field: "startProductForOrganizations"!'));
51184
- case 85:
51185
- _context.next = 92;
51186
+ case 86:
51187
+ _context.next = 93;
51186
51188
  break;
51187
- case 87:
51189
+ case 88:
51188
51190
  if (!((_this$plannerConfig$s5 = this.plannerConfig.settings) !== null && _this$plannerConfig$s5 !== void 0 && (_this$plannerConfig$s5 = _this$plannerConfig$s5.viewConfig) !== null && _this$plannerConfig$s5 !== void 0 && _this$plannerConfig$s5.initFirstCatalog)) {
51189
- _context.next = 92;
51191
+ _context.next = 93;
51190
51192
  break;
51191
51193
  }
51192
51194
  //USECASE 7 Default Catalog gets initialized
51193
51195
  this.initializationType = 'DEFAULT_CATALOG';
51194
- _context.next = 91;
51196
+ _context.next = 92;
51195
51197
  return this.tryInitFirstCatalog(api);
51196
- case 91:
51197
- return _context.abrupt("return", _context.sent);
51198
51198
  case 92:
51199
+ return _context.abrupt("return", _context.sent);
51200
+ case 93:
51199
51201
  if (!((_api$getPlannerType = api.getPlannerType()) !== null && _api$getPlannerType !== void 0 && _api$getPlannerType.includes('PRODUCTS') || (_this$plannerConfig$r = this.plannerConfig.returnTo) !== null && _this$plannerConfig$r !== void 0 && _this$plannerConfig$r.startsWith('SETPLANNER_OPEN_SELLER_BASKET'))) {
51200
- _context.next = 95;
51202
+ _context.next = 96;
51201
51203
  break;
51202
51204
  }
51203
51205
  //UseCase 8
@@ -51206,9 +51208,9 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51206
51208
  return _context.abrupt("return", {
51207
51209
  type: 'ProductList'
51208
51210
  });
51209
- case 95:
51210
- return _context.abrupt("return", false);
51211
51211
  case 96:
51212
+ return _context.abrupt("return", false);
51213
+ case 97:
51212
51214
  case "end":
51213
51215
  return _context.stop();
51214
51216
  }
@@ -52002,7 +52004,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52002
52004
  break;
52003
52005
  case 3:
52004
52006
  _context13.next = 5;
52005
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-a4637423.js'); });
52007
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-995fbb8c.js'); });
52006
52008
  case 5:
52007
52009
  _yield$import = _context13.sent;
52008
52010
  PfisterWWSHandler = _yield$import["default"];
@@ -52010,7 +52012,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52010
52012
  return _context13.abrupt("break", 27);
52011
52013
  case 9:
52012
52014
  _context13.next = 11;
52013
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-ce70ea60.js'); });
52015
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-dba59703.js'); });
52014
52016
  case 11:
52015
52017
  _yield$import2 = _context13.sent;
52016
52018
  LiviqueWWSHandler = _yield$import2["default"];
@@ -52018,7 +52020,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52018
52020
  return _context13.abrupt("break", 27);
52019
52021
  case 15:
52020
52022
  _context13.next = 17;
52021
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-be22d805.js'); });
52023
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-6145aaac.js'); });
52022
52024
  case 17:
52023
52025
  _yield$import3 = _context13.sent;
52024
52026
  SeriousWWSHandler = _yield$import3["default"];
@@ -52026,7 +52028,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52026
52028
  return _context13.abrupt("break", 27);
52027
52029
  case 21:
52028
52030
  _context13.next = 23;
52029
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-05104e7f.js'); });
52031
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-51829922.js'); });
52030
52032
  case 23:
52031
52033
  _yield$import4 = _context13.sent;
52032
52034
  StandardWWSHandler = _yield$import4["default"];
@@ -53424,7 +53426,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53424
53426
  //If we need real time rendering initialize the SignalR and 3D host connection Handler
53425
53427
  bootMark('signalr: chunk import start');
53426
53428
  _context3.next = 3;
53427
- return Promise.resolve().then(function () { return require('./Host3DSignalR-4df729cb.js'); });
53429
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-cc6ec7f6.js'); });
53428
53430
  case 3:
53429
53431
  _yield$import = _context3.sent;
53430
53432
  Host3DSignalR = _yield$import["default"];
@@ -57849,7 +57851,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57849
57851
  break;
57850
57852
  case 9:
57851
57853
  _context5.next = 11;
57852
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-aaa6fa4f.js'); });
57854
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-ff82e836.js'); });
57853
57855
  case 11:
57854
57856
  _yield$import = _context5.sent;
57855
57857
  DivaStandardPlanner = _yield$import["default"];
@@ -57864,7 +57866,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57864
57866
  return _context5.abrupt("break", 22);
57865
57867
  case 16:
57866
57868
  _context5.next = 18;
57867
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-1913cc24.js'); });
57869
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-cf09f9fe.js'); });
57868
57870
  case 18:
57869
57871
  _yield$import2 = _context5.sent;
57870
57872
  DivaBoxPlanner = _yield$import2["default"];
@@ -60684,7 +60686,9 @@ var DivaWebPlanner = /*#__PURE__*/function () {
60684
60686
  * keyed by articleCodex) directly onto the loaded basket's orderline variant data, BEFORE any
60685
60687
  * set/article initialization — downstream consumers (article init, docking reinit, partlists)
60686
60688
  * then see the overridden values as if they were saved in the basket. `<opt>_val` keys update
60687
- * the option's measure value; plain keys update the option's value codex.
60689
+ * the option's measure value, `<opt>_text` keys its free text, also without a plain key; plain keys
60690
+ * update the option's value codex. An option the saved orderline has no variant item for yet (e.g. a
60691
+ * feature added to the catalog after the basket was saved) gets one when its plain key is given.
60688
60692
  */
60689
60693
  }, {
60690
60694
  key: "applyOrderlineVariantValuesToBasket",
@@ -60705,26 +60709,47 @@ var DivaWebPlanner = /*#__PURE__*/function () {
60705
60709
  var orderline = _step2.value;
60706
60710
  var overrides = overridesByCodex[orderline.ArticleCodex];
60707
60711
  if (!overrides) continue;
60708
- var _loop = function _loop() {
60712
+ // `_val` / `_text` keys belong to their option, with or without its plain key
60713
+ var opts = new Set(Object.keys(overrides).map(function (key) {
60714
+ return key.replace(/_(val|text)$/, '');
60715
+ }));
60716
+ var _iterator3 = _createForOfIteratorHelper$4(opts),
60717
+ _step3;
60718
+ try {
60719
+ var _loop = function _loop() {
60709
60720
  var _orderline$VariantBas;
60710
- var opt = _Object$keys[_i];
60711
- if (opt.endsWith('_val')) return 0; // continue
60712
- // consumed alongside its option key below
60721
+ var opt = _step3.value;
60722
+ var value = overrides[opt];
60723
+ var text = overrides[opt + '_text'];
60713
60724
  var item = (_orderline$VariantBas = orderline.VariantBasketDatas) === null || _orderline$VariantBas === void 0 ? void 0 : _orderline$VariantBas.find(function (v) {
60714
60725
  return v.OPT === opt;
60715
60726
  });
60716
60727
  if (!item) {
60717
- LOG$3.warn("Orderline variant override skipped \u2014 ".concat(orderline.ArticleCodex, " has no variant item for OPT ").concat(opt));
60718
- return 0; // continue
60728
+ var _orderline$VariantBas2;
60729
+ // a new item needs its value codex
60730
+ if (value === undefined) return 1; // continue
60731
+ item = new basketModel.VariantItemData({
60732
+ BasketID: orderline.BasketID,
60733
+ OPT: opt,
60734
+ OPV: value
60735
+ });
60736
+ ((_orderline$VariantBas2 = orderline.VariantBasketDatas) !== null && _orderline$VariantBas2 !== void 0 ? _orderline$VariantBas2 : orderline.VariantBasketDatas = []).push(item);
60719
60737
  }
60720
60738
  var measure = overrides[opt + '_val'];
60721
- item.OPV = overrides[opt];
60739
+ if (value !== undefined) item.OPV = value;
60722
60740
  if (measure !== undefined) item.MeasureValue = Number(measure);
60723
- },
60724
- _ret2;
60725
- for (var _i = 0, _Object$keys = Object.keys(overrides); _i < _Object$keys.length; _i++) {
60726
- _ret2 = _loop();
60727
- if (_ret2 === 0) continue;
60741
+ if (text !== undefined) {
60742
+ item.FreeText = text;
60743
+ item.isFreeText = true;
60744
+ }
60745
+ };
60746
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
60747
+ if (_loop()) continue;
60748
+ }
60749
+ } catch (err) {
60750
+ _iterator3.e(err);
60751
+ } finally {
60752
+ _iterator3.f();
60728
60753
  }
60729
60754
  }
60730
60755
  } catch (err) {
@@ -61350,9 +61375,9 @@ var DivaWebPlanner = /*#__PURE__*/function () {
61350
61375
  if (alternateRenderInfoExistInSet) {
61351
61376
  if (alternateRenderInfo && (alternateRenderInfo.overwrittenViewPointName || alternateRenderInfo.viewPointName)) {
61352
61377
  if (callingFrom == 'DO_CONFIGURE') {
61353
- var _Object$keys2;
61378
+ var _Object$keys;
61354
61379
  //Only update viewpoint when the option is set that is in the alternate rendering
61355
- if (((_Object$keys2 = Object.keys(onDoConfigureValues)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.length) > 0 && alternateRenderInfo.onOptions.indexOf(Object.keys(onDoConfigureValues)[0]) >= 0) {
61380
+ if (((_Object$keys = Object.keys(onDoConfigureValues)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) > 0 && alternateRenderInfo.onOptions.indexOf(Object.keys(onDoConfigureValues)[0]) >= 0) {
61356
61381
  LOG$3.debug('handle3DVisualizationChanged based on alternate Render Information with viewpoint: ' + alternateRenderInfo.overwrittenViewPointName);
61357
61382
  doUpdateVP = true;
61358
61383
  }
@@ -63621,8 +63646,8 @@ var DivaWebPlanner = /*#__PURE__*/function () {
63621
63646
  var actualBasketvalue = 0;
63622
63647
  if (set) {
63623
63648
  actualBasketvalue = set === null || set === void 0 ? void 0 : set.getSetPrice();
63624
- for (var _i2 = 0, _Object$values = Object.values(set.getDivaArticles()); _i2 < _Object$values.length; _i2++) {
63625
- var article = _Object$values[_i2];
63649
+ for (var _i = 0, _Object$values = Object.values(set.getDivaArticles()); _i < _Object$values.length; _i++) {
63650
+ var article = _Object$values[_i];
63626
63651
  if (article.relatedToBasketId) {
63627
63652
  var toAdd = {
63628
63653
  codex: article.configArticleCodex,
@@ -63696,12 +63721,12 @@ var DivaWebPlanner = /*#__PURE__*/function () {
63696
63721
  //handle final configuration
63697
63722
  var finalConfiguration = [];
63698
63723
  if (set) {
63699
- for (var _i3 = 0, _Object$values2 = Object.values(set.getDivaArticles()); _i3 < _Object$values2.length; _i3++) {
63700
- var article = _Object$values2[_i3];
63724
+ for (var _i2 = 0, _Object$values2 = Object.values(set.getDivaArticles()); _i2 < _Object$values2.length; _i2++) {
63725
+ var article = _Object$values2[_i2];
63701
63726
  var variantValues = article.AllVariantValues;
63702
- for (var _i4 = 0, _Object$entries = Object.entries(variantValues); _i4 < _Object$entries.length; _i4++) {
63727
+ for (var _i3 = 0, _Object$entries = Object.entries(variantValues); _i3 < _Object$entries.length; _i3++) {
63703
63728
  var _set$CatalogData$getO4, _set$CatalogData$getO5, _set$CatalogData$getO6, _set$CatalogData$getO7;
63704
- var _Object$entries$_i = _slicedToArray__default["default"](_Object$entries[_i4], 2),
63729
+ var _Object$entries$_i = _slicedToArray__default["default"](_Object$entries[_i3], 2),
63705
63730
  opt = _Object$entries$_i[0],
63706
63731
  opv = _Object$entries$_i[1];
63707
63732
  if (!set.CatalogData.getOptionValue(opv) || !((_set$CatalogData$getO4 = set.CatalogData.getOptionValue(opv)) !== null && _set$CatalogData$getO4 !== void 0 && _set$CatalogData$getO4.name)) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-ca85ef63.js');
5
+ var index = require('./index-468612b3.js');
6
6
  var plannerCore = require('@crystaldesign/planner-core');
7
7
  require('@babel/runtime/helpers/slicedToArray');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -3,11 +3,11 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { u as Vector2, V as Vector3, P as PlannerElementData, J as BoundingBox } from './index-bc2aada6.js';
6
+ import { u as Vector2, V as Vector3, P as PlannerElementData, J as BoundingBox } from './index-b6e01877.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
9
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d604660f.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-34fd91ea.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
13
  import '@babel/runtime/helpers/typeof';
@@ -5,10 +5,10 @@ import _createClass from '@babel/runtime/helpers/createClass';
5
5
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
6
6
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
7
7
  import _regeneratorRuntime from '@babel/runtime/regenerator';
8
- import { V as Vector3, p as poseOf, g as getSnapPlace, c as getDockingGroups, d as getElementShape, e as getCarrierSlots, h as getSlotPlaces, m as moveGroupRigidly, i as isSamePose, j as getGroupBlock, k as fitsInsideRoom, l as keepInsideRoom, n as bindToWalls, o as sameGeoExtent, q as getCornerEnd, r as getDoorClearanceRects, t as rectCorners, u as Vector2, M as MAX_GUEST_DEPTH, v as slotExempt, w as bodiesOverlap, x as getNearestMember, y as toPlacementOffset, z as getTurnDeg, A as moveSlotMember, B as moveShape, C as layersCollide, D as shapesCollide, P as PlannerElementData, E as parseGuestPlacement, F as saveElementArticleCodex, H as parseSetPlanData, I as isSavePlannerV2, J as BoundingBox, K as movePoints } from './index-bc2aada6.js';
8
+ import { V as Vector3, p as poseOf, g as getSnapPlace, c as getDockingGroups, d as getElementShape, e as getCarrierSlots, h as getSlotPlaces, m as moveGroupRigidly, i as isSamePose, j as getGroupBlock, k as fitsInsideRoom, l as keepInsideRoom, n as bindToWalls, o as sameGeoExtent, q as getCornerEnd, r as getDoorClearanceRects, t as rectCorners, u as Vector2, M as MAX_GUEST_DEPTH, v as slotExempt, w as bodiesOverlap, x as getNearestMember, y as toPlacementOffset, z as getTurnDeg, A as moveSlotMember, B as moveShape, C as layersCollide, D as shapesCollide, P as PlannerElementData, E as parseGuestPlacement, F as saveElementArticleCodex, H as parseSetPlanData, I as isSavePlannerV2, J as BoundingBox, K as movePoints } from './index-b6e01877.js';
9
9
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
10
10
  import { computeDockedTransform } from '@crystaldesign/planner-core';
11
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d604660f.js';
11
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-34fd91ea.js';
12
12
  import '@babel/runtime/helpers/objectWithoutProperties';
13
13
  import 'axios';
14
14
  import '@babel/runtime/helpers/typeof';
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-bc2aada6.js';
4
+ import './index-b6e01877.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -3,7 +3,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { L as bootMark, R as Rendering, N as HQRenderScript } from './index-bc2aada6.js';
6
+ import { L as bootMark, R as Rendering, N as HQRenderScript } from './index-b6e01877.js';
7
7
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
8
8
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
9
9
  import io from 'socket.io-client';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-bc2aada6.js';
3
+ import './index-b6e01877.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import { a as articleHandlerInstance } from './index-bc2aada6.js';
3
+ import { a as articleHandlerInstance } from './index-b6e01877.js';
4
4
  import { SAPOrderLineData } from '@crystaldesign/basket-model';
5
5
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
@@ -3,7 +3,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { u as Vector2, S as SVGUtils } from './index-bc2aada6.js';
6
+ import { u as Vector2, S as SVGUtils } from './index-b6e01877.js';
7
7
  import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
8
8
  import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
9
9
  import _get from '@babel/runtime/helpers/get';