@crystaldesign/web-planner-logic 25.3.0-beta.16 → 25.3.0-beta.18

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/build/cjs/{DivaBoxPlanner-d0763a4e.js → DivaBoxPlanner-de468027.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-12dad013.js → DivaStandardPlanner-1dd1defa.js} +2 -2
  3. package/build/cjs/{DoorPlanner-131c0708.js → DoorPlanner-752ec417.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-f91cdb0e.js → Host3DSignalR-87835538.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-6d856e18.js → LiviqueWWSHandler-65d46ddd.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-41460264.js → PfisterWWSHandler-57e8727d.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-3f4293de.js → PlannerHandler2D-26e34923.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-10f3f838.js → SeriousBasketHandler-44baa629.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-fa790dd1.js → ShelfPlanner-ed71e8b6.js} +39 -22
  10. package/build/cjs/{StandardWWSHandler-61a42ac7.js → StandardWWSHandler-cc2decaf.js} +1 -1
  11. package/build/cjs/{index-b9a1cd19.js → index-2ecdfcea.js} +137 -16
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-9d231b2a.js → DivaBoxPlanner-7c18cb20.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-59cf616a.js → DivaStandardPlanner-cf1719d1.js} +2 -2
  15. package/build/esm/{DoorPlanner-ef05a0cd.js → DoorPlanner-fcdcf791.js} +1 -1
  16. package/build/esm/{Host3DSignalR-40c2b0b3.js → Host3DSignalR-de2d0fb4.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-38af38c3.js → LiviqueWWSHandler-6abc6ed0.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-8f9dea5a.js → PfisterWWSHandler-3592cb0a.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-dfcaf42f.js → PlannerHandler2D-412d4225.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-4ee45772.js → SeriousBasketHandler-a4bfc054.js} +1 -1
  21. package/build/esm/{ShelfPlanner-de28a2ec.js → ShelfPlanner-79da7b85.js} +39 -22
  22. package/build/esm/{StandardWWSHandler-780961d1.js → StandardWWSHandler-7fb93076.js} +1 -1
  23. package/build/esm/{index-8fac2013.js → index-5e88a132.js} +137 -16
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/API/ViewConfigDataType.d.ts +1 -1
  26. package/build/types/web-planner-logic/src/interface/API/ViewConfigDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/Configuration.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/Configuration.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionDataTypes.d.ts +0 -1
  30. package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionDataTypes.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +5 -0
  32. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts +4 -0
  34. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts +5 -0
  36. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts.map +1 -1
  37. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +4 -0
  38. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTreeHandler.d.ts.map +1 -1
  40. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts +5 -0
  42. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/logic/Planner/Rendering/ViewPointHandler.d.ts.map +1 -1
  44. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts +5 -0
  45. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts.map +1 -1
  46. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts +5 -0
  47. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
  48. package/package.json +2 -2
@@ -5,10 +5,10 @@ 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-b9a1cd19.js');
8
+ var index = require('./index-2ecdfcea.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
- var PlannerHandler2D = require('./PlannerHandler2D-3f4293de.js');
11
+ var PlannerHandler2D = require('./PlannerHandler2D-26e34923.js');
12
12
  require('@babel/runtime/helpers/slicedToArray');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
14
  require('axios');
@@ -5,8 +5,8 @@ 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-b9a1cd19.js');
9
- var PlannerHandler2D = require('./PlannerHandler2D-3f4293de.js');
8
+ var index = require('./index-2ecdfcea.js');
9
+ var PlannerHandler2D = require('./PlannerHandler2D-26e34923.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -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-b9a1cd19.js');
6
+ require('./index-2ecdfcea.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-b9a1cd19.js');
8
+ var index = require('./index-2ecdfcea.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-b9a1cd19.js');
5
+ require('./index-2ecdfcea.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-b9a1cd19.js');
5
+ var index = require('./index-2ecdfcea.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -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-b9a1cd19.js');
6
+ var index = require('./index-2ecdfcea.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
9
9
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
@@ -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-b9a1cd19.js');
6
+ var index = require('./index-2ecdfcea.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-b9a1cd19.js');
9
+ var index = require('./index-2ecdfcea.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -224,7 +224,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
224
224
  _grid = grids[_i3];
225
225
  if (!((_grid$DisableCellsByM = _grid.DisableCellsByMeasures) !== null && _grid$DisableCellsByM !== void 0 && _grid$DisableCellsByM.options.find(function (o) {
226
226
  return Object.keys(variantValues).includes('OPT' + o.opt);
227
- }))) {
227
+ }) || !!_grid.disableCellsByRules)) {
228
228
  _context2.next = 31;
229
229
  break;
230
230
  }
@@ -1050,7 +1050,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
1050
1050
  key: "disableCellsByDockedShelfs",
1051
1051
  value: (function () {
1052
1052
  var _disableCellsByDockedShelfs = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee9(count) {
1053
- var grids, i, grid, gridCount, useCount, j, cell, _j, _cell2;
1053
+ var grids, i, grid, gridCount, toDisableCells, useCount, j, _j, cell, _j2;
1054
1054
  return _regeneratorRuntime__default["default"].wrap(function _callee9$(_context9) {
1055
1055
  while (1) switch (_context9.prev = _context9.next) {
1056
1056
  case 0:
@@ -1058,41 +1058,58 @@ var ShelfPlanner = /*#__PURE__*/function () {
1058
1058
  i = 0;
1059
1059
  case 2:
1060
1060
  if (!(i < grids.length)) {
1061
- _context9.next = 20;
1061
+ _context9.next = 29;
1062
1062
  break;
1063
1063
  }
1064
1064
  grid = grids[i];
1065
1065
  gridCount = grid.getCellCount();
1066
+ toDisableCells = grid.getDisabledCellsByRule();
1066
1067
  useCount = count == undefined || count > gridCount ? gridCount : count;
1067
- j = useCount;
1068
- case 7:
1069
- if (!(j < grid.Cells.length)) {
1070
- _context9.next = 16;
1068
+ for (j = useCount; j < grid.Cells.length; j++) {
1069
+ toDisableCells.push(j);
1070
+ }
1071
+ _j = 0;
1072
+ case 9:
1073
+ if (!(_j < toDisableCells.length)) {
1074
+ _context9.next = 18;
1071
1075
  break;
1072
1076
  }
1073
- cell = grid.Cells[j];
1074
- if (!(cell.InUse == j)) {
1075
- _context9.next = 12;
1077
+ cell = grid.Cells[toDisableCells[_j]];
1078
+ if (!(cell.InUse == toDisableCells[_j])) {
1079
+ _context9.next = 14;
1076
1080
  break;
1077
1081
  }
1078
- _context9.next = 12;
1082
+ _context9.next = 14;
1079
1083
  return index.setHandlerInstance.deleteAccessorieOnShelfPlanner(this.article.set, grid.ShelfIndex, cell.InUse, grid.basketId);
1080
- case 12:
1084
+ case 14:
1081
1085
  cell.IsDisabled = true;
1082
- case 13:
1083
- j++;
1084
- _context9.next = 7;
1086
+ case 15:
1087
+ _j++;
1088
+ _context9.next = 9;
1085
1089
  break;
1086
- case 16:
1087
- for (_j = 0; _j < useCount && _j < grid.Cells.length; _j++) {
1088
- _cell2 = grid.Cells[_j];
1089
- _cell2.IsDisabled = false;
1090
+ case 18:
1091
+ _j2 = 0;
1092
+ case 19:
1093
+ if (!(_j2 < grid.Cells.length)) {
1094
+ _context9.next = 26;
1095
+ break;
1096
+ }
1097
+ if (!toDisableCells.includes(_j2)) {
1098
+ _context9.next = 22;
1099
+ break;
1090
1100
  }
1091
- case 17:
1101
+ return _context9.abrupt("continue", 23);
1102
+ case 22:
1103
+ grid.Cells[_j2].IsDisabled = false;
1104
+ case 23:
1105
+ _j2++;
1106
+ _context9.next = 19;
1107
+ break;
1108
+ case 26:
1092
1109
  i++;
1093
1110
  _context9.next = 2;
1094
1111
  break;
1095
- case 20:
1112
+ case 29:
1096
1113
  case "end":
1097
1114
  return _context9.stop();
1098
1115
  }
@@ -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-b9a1cd19.js');
5
+ require('./index-2ecdfcea.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -1693,7 +1693,6 @@ var ArticleOptionValueData = /*#__PURE__*/function () {
1693
1693
  parent: parent,
1694
1694
  ocd: jsonOPV.OCD,
1695
1695
  quantity: jsonOPV.Quantity ? Number(jsonOPV.Quantity) : 1,
1696
- isDefault: jsonOPV.IsDefault,
1697
1696
  isPIMFlatValue: jsonOPV.PIMFlatValues === 'True',
1698
1697
  isVariantAttribute: jsonOPV.IsVariantAttribute
1699
1698
  };
@@ -1950,6 +1949,11 @@ var ArticleOptionValueData = /*#__PURE__*/function () {
1950
1949
  get: function get() {
1951
1950
  return this.opv.subArticleTypeNr;
1952
1951
  }
1952
+ }, {
1953
+ key: "addToMeasure",
1954
+ get: function get() {
1955
+ return this.opv.catalogOPV.addToMeasure;
1956
+ }
1953
1957
  }, {
1954
1958
  key: "hideSubarticleDescription",
1955
1959
  get: function get() {
@@ -16111,6 +16115,15 @@ var OptionValueCatalogData = /*#__PURE__*/function () {
16111
16115
  case 'SET_BY_RULE':
16112
16116
  this.opv.setByRule = prop.Value;
16113
16117
  break;
16118
+ case 'ADD_TO_MEASURE':
16119
+ this.opv.addToMeasure = prop.Value.split(';').map(function (v) {
16120
+ return {
16121
+ op: v.split(':')[0],
16122
+ value: Number(v.split(':')[1]),
16123
+ opt: 'OPT' + v.split(':')[2]
16124
+ };
16125
+ });
16126
+ break;
16114
16127
  default:
16115
16128
  if (key.includes('__')) break;
16116
16129
  var values_locales = [];
@@ -16406,6 +16419,11 @@ var OptionValueCatalogData = /*#__PURE__*/function () {
16406
16419
  get: function get() {
16407
16420
  return this.opv.customDimension;
16408
16421
  }
16422
+ }, {
16423
+ key: "addToMeasure",
16424
+ get: function get() {
16425
+ return this.opv.addToMeasure;
16426
+ }
16409
16427
  }]);
16410
16428
  }();
16411
16429
 
@@ -18003,10 +18021,10 @@ var OptionCatalogData = /*#__PURE__*/function () {
18003
18021
  case 'ONLY_VISIBLE_IF_NOT_UNDOCK':
18004
18022
  this.opt.onlyVisibleIfNotDocked = prop.Value;
18005
18023
  break;
18006
- case 'ONLY_VIDSIBLE_IF_CONFIG_SINGLE':
18024
+ case 'ONLY_VISIBLE_IF_CONFIG_SINGLE':
18007
18025
  this.opt.onlyVisibleIfConfigSingle = prop.Value;
18008
18026
  break;
18009
- case 'ONLY_VIDSIBLE_IF_CONFIG_ALL':
18027
+ case 'ONLY_VISIBLE_IF_CONFIG_ALL':
18010
18028
  this.opt.onlyVisibleIfConfigAll = prop.Value;
18011
18029
  break;
18012
18030
  case 'ISDEFAULTVALUEFOROPTIONS':
@@ -20659,6 +20677,12 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
20659
20677
  var _this$val$customDimen, _this$val24;
20660
20678
  return this.val && ((_this$val$customDimen = (_this$val24 = this.val) === null || _this$val24 === void 0 ? void 0 : _this$val24.customDimension) !== null && _this$val$customDimen !== void 0 ? _this$val$customDimen : this.option.customDimension);
20661
20679
  }
20680
+ }, {
20681
+ key: "addToMeasure",
20682
+ get: function get() {
20683
+ var _this$val25;
20684
+ return (_this$val25 = this.val) === null || _this$val25 === void 0 ? void 0 : _this$val25.addToMeasure;
20685
+ }
20662
20686
  }, {
20663
20687
  key: "showWarningForRequiresUserInput",
20664
20688
  get: function get() {
@@ -22236,6 +22260,16 @@ var DivaArticle = /*#__PURE__*/function () {
22236
22260
  }
22237
22261
  return true;
22238
22262
  }
22263
+ }, {
22264
+ key: "optionStatesWithAddToMeasure",
22265
+ value: function optionStatesWithAddToMeasure(opt) {
22266
+ return Object.values(this.articleOptionStates).filter(function (ops) {
22267
+ var _ops$addToMeasure, _ops$addToMeasure2;
22268
+ return ((_ops$addToMeasure = ops.addToMeasure) === null || _ops$addToMeasure === void 0 ? void 0 : _ops$addToMeasure.find(function (o) {
22269
+ return o.opt == opt;
22270
+ })) || ops.optionCodex == opt && ((_ops$addToMeasure2 = ops.addToMeasure) === null || _ops$addToMeasure2 === void 0 ? void 0 : _ops$addToMeasure2.length);
22271
+ });
22272
+ }
22239
22273
  }, {
22240
22274
  key: "requiredUserInputOptions",
22241
22275
  get: function get() {
@@ -22971,6 +23005,7 @@ var DivaArticle = /*#__PURE__*/function () {
22971
23005
  }
22972
23006
  this.updateIDMSpecificFeature(myArtOPS);
22973
23007
  }
23008
+ this.updateOptionsWithAddToMeasure(OP);
22974
23009
  }
22975
23010
  }, {
22976
23011
  key: "updateIDMSpecificFeature",
@@ -23126,6 +23161,61 @@ var DivaArticle = /*#__PURE__*/function () {
23126
23161
  return myDesc;
23127
23162
  }
23128
23163
  }
23164
+ }, {
23165
+ key: "updateOptionsWithAddToMeasure",
23166
+ value: function updateOptionsWithAddToMeasure(optionCodex) {
23167
+ var opsWithAddToMeasure = this.optionStatesWithAddToMeasure(optionCodex);
23168
+ var result = undefined;
23169
+ var optionsUsedFreetext = {};
23170
+ for (var i = 0; i < opsWithAddToMeasure.length; i++) {
23171
+ var _result2;
23172
+ var addToMeasureOps = opsWithAddToMeasure[i];
23173
+ for (var j = 0; j < addToMeasureOps.addToMeasure.length; j++) {
23174
+ var _Number, _this$getArticleOptio4;
23175
+ var addToMeasure = addToMeasureOps.addToMeasure[j];
23176
+ var value = optionsUsedFreetext[addToMeasure.opt] ? 0 : (_Number = Number((_this$getArticleOptio4 = this.getArticleOptionState(addToMeasure.opt)) === null || _this$getArticleOptio4 === void 0 ? void 0 : _this$getArticleOptio4.freeText)) !== null && _Number !== void 0 ? _Number : 0;
23177
+ optionsUsedFreetext[addToMeasure.opt] = true;
23178
+ if (!addToMeasureOps.val) continue;
23179
+ if (isNaN(value)) {
23180
+ result = undefined;
23181
+ break;
23182
+ } else {
23183
+ var _result;
23184
+ result = this.calculateMeasure(addToMeasure, ((_result = result) !== null && _result !== void 0 ? _result : 0) + value);
23185
+ }
23186
+ }
23187
+ this.setOP(addToMeasureOps.optionCodex, addToMeasureOps.val, (_result2 = result) === null || _result2 === void 0 ? void 0 : _result2.toString());
23188
+ }
23189
+ }
23190
+ }, {
23191
+ key: "calcAddToMeasure",
23192
+ value: function calcAddToMeasure(optionCodex, value) {
23193
+ var opsWithAddToMeasure = this.optionStatesWithAddToMeasure(optionCodex);
23194
+ for (var j = 0; j < opsWithAddToMeasure.length; j++) {
23195
+ for (var i = 0; i < opsWithAddToMeasure[j].addToMeasure.length; i++) {
23196
+ var measure = opsWithAddToMeasure[j].addToMeasure[i];
23197
+ if (measure.opt != optionCodex) continue;
23198
+ value = this.calculateMeasure(measure, value);
23199
+ }
23200
+ }
23201
+ return value;
23202
+ }
23203
+ }, {
23204
+ key: "calculateMeasure",
23205
+ value: function calculateMeasure(measure, value) {
23206
+ switch (measure.op) {
23207
+ case '+':
23208
+ return Math.round(value + measure.value);
23209
+ case '-':
23210
+ return Math.round(value - measure.value);
23211
+ case '*':
23212
+ return Math.round(value * measure.value);
23213
+ case '/':
23214
+ return Math.round(value / measure.value);
23215
+ }
23216
+ LOG$d.error(new Error('operator ' + measure.op + ' not implemented'));
23217
+ return value;
23218
+ }
23129
23219
  }, {
23130
23220
  key: "clearOP",
23131
23221
  value: function clearOP(optionCodex) {
@@ -24016,7 +24106,7 @@ var DivaArticle = /*#__PURE__*/function () {
24016
24106
  break;
24017
24107
  }
24018
24108
  _context.next = 4;
24019
- return Promise.resolve().then(function () { return require('./ShelfPlanner-fa790dd1.js'); });
24109
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-ed71e8b6.js'); });
24020
24110
  case 4:
24021
24111
  _yield$import = _context.sent;
24022
24112
  ShelfPlanner = _yield$import["default"];
@@ -24147,6 +24237,9 @@ var DivaArticle = /*#__PURE__*/function () {
24147
24237
  }
24148
24238
  if ((mUnit || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') && this.parentHasSameOption(OP)) {
24149
24239
  var freeTextMeasure = parseFloat(myArtOPS.freeText ? myArtOPS.freeText : '');
24240
+ var newFreeTextMeasure = this.calcAddToMeasure(OP, freeTextMeasure);
24241
+ LOG$d.debug('freetext changed by addToMeasure at price calculation', newFreeTextMeasure, freeTextMeasure, myArtOPS.addToMeasure);
24242
+ freeTextMeasure = newFreeTextMeasure;
24150
24243
  if (freeTextMeasure || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') {
24151
24244
  if (calcUnitPrice != 0) {
24152
24245
  var quantity = 0;
@@ -24460,6 +24553,13 @@ var DivaArticle = /*#__PURE__*/function () {
24460
24553
  }
24461
24554
  }
24462
24555
  }
24556
+ //for classification usecase when suboption and option have the same name like OPTOPT_MATERIAL_1_00 and OPTOPT_MATERIAL_1_00.OPTOPT_MATERIAL_1_00
24557
+ if (_ops8) {
24558
+ var _ops8$valCodex;
24559
+ if ((_ops8$valCodex = _ops8.valCodex) !== null && _ops8$valCodex !== void 0 && _ops8$valCodex.startsWith('OPVSUB_') && !validValues[_key4 + '.' + _key4] && this.getArticleOptionState(_key4 + '.' + _key4)) {
24560
+ validValues[_key4 + '.' + _key4] = myValues[_key4];
24561
+ }
24562
+ }
24463
24563
  }
24464
24564
  return validValues;
24465
24565
  }
@@ -24660,8 +24760,9 @@ var DivaArticle = /*#__PURE__*/function () {
24660
24760
  }, {
24661
24761
  key: "addOptionStateFromArticleToPlannerData",
24662
24762
  value: function addOptionStateFromArticleToPlannerData(ret, alternateRenderInfo) {
24663
- for (var key in this.articleOptionStates) {
24664
- this.addOptionStateToPlannerData(ret, this.articleOptionStates[key], alternateRenderInfo);
24763
+ var articleOptions = this.getArticleOptionStatesWithOptionsForPrint();
24764
+ for (var key in articleOptions) {
24765
+ this.addOptionStateToPlannerData(ret, articleOptions[key], alternateRenderInfo);
24665
24766
  }
24666
24767
  for (var _key5 in this.article.partlistArticles) {
24667
24768
  var partlistArticle = this.article.partlistArticles[_key5];
@@ -28701,7 +28802,7 @@ var DivaSet = /*#__PURE__*/function () {
28701
28802
  break;
28702
28803
  }
28703
28804
  _context5.next = 3;
28704
- return Promise.resolve().then(function () { return require('./DoorPlanner-131c0708.js'); });
28805
+ return Promise.resolve().then(function () { return require('./DoorPlanner-752ec417.js'); });
28705
28806
  case 3:
28706
28807
  _yield$import = _context5.sent;
28707
28808
  DoorPlanner = _yield$import["default"];
@@ -30612,10 +30713,11 @@ var DivaConfigTreeHandler = /*#__PURE__*/function () {
30612
30713
  //hier evtl. die Article mit einer gewissen reihenfolge durchlaufen!
30613
30714
  var optionsStates = optionStatesOfArticles[basketId];
30614
30715
  for (var optionCodex in optionsStates) {
30716
+ var _ops$addToMeasure;
30615
30717
  var ops = optionsStates[optionCodex];
30616
30718
  var selectionmode = ops.selectionmode;
30617
30719
  if (set.CatalogData.forceConfigSingle && (selectionmode == 1 || selectionmode == 2)) selectionmode = 3;
30618
- if (!ops.isInvisible && (selectionmode != 0 || (ops.visibleCount > 1 || ops.isFreeText) && set.api.showSelectionModeZero()) && ops.isDoShow && ops.visibleCount > 0) {
30720
+ if (!ops.isInvisible && (selectionmode != 0 || (ops.visibleCount > 1 || ops.isFreeText) && set.api.showSelectionModeZero()) && ops.isDoShow && !((_ops$addToMeasure = ops.addToMeasure) !== null && _ops$addToMeasure !== void 0 && _ops$addToMeasure.length) && ops.visibleCount > 0) {
30619
30721
  this.addOptionsStateToConfigTree(set, set.configTree, articles, basketId, ops, optionCodex, selectionmode, addToTabGroup);
30620
30722
  }
30621
30723
  }
@@ -31299,10 +31401,11 @@ var DivaConfigTreeHandler = /*#__PURE__*/function () {
31299
31401
  //hier evtl. die Article mit einer gewissen reihenfolge durchlaufen!
31300
31402
  var optionsStates = optionStatesOfArticles[iKey];
31301
31403
  for (var jKey in optionsStates) {
31404
+ var _ops$addToMeasure2;
31302
31405
  var ops = optionsStates[jKey];
31303
31406
  var selectionmode = ops.selectionmode;
31304
31407
  if (set.CatalogData.forceConfigSingle && (selectionmode == 1 || selectionmode == 2)) selectionmode = 3;
31305
- if (ops.isInvisible || selectionmode == 0 || !ops.isDoShow || ops.visibleCount == 0) {
31408
+ if (ops.isInvisible || selectionmode == 0 || !ops.isDoShow || ops.visibleCount == 0 || !!((_ops$addToMeasure2 = ops.addToMeasure) !== null && _ops$addToMeasure2 !== void 0 && _ops$addToMeasure2.length)) {
31306
31409
  this.addOptionsStateToConfigTree(set, configTree, articles, iKey, ops, jKey, selectionmode);
31307
31410
  }
31308
31411
  }
@@ -35493,7 +35596,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35493
35596
  break;
35494
35597
  case 3:
35495
35598
  _context12.next = 5;
35496
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-41460264.js'); });
35599
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-57e8727d.js'); });
35497
35600
  case 5:
35498
35601
  _yield$import = _context12.sent;
35499
35602
  PfisterWWSHandler = _yield$import["default"];
@@ -35501,7 +35604,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35501
35604
  return _context12.abrupt("break", 27);
35502
35605
  case 9:
35503
35606
  _context12.next = 11;
35504
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-6d856e18.js'); });
35607
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-65d46ddd.js'); });
35505
35608
  case 11:
35506
35609
  _yield$import2 = _context12.sent;
35507
35610
  LiviqueWWSHandler = _yield$import2["default"];
@@ -35509,7 +35612,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35509
35612
  return _context12.abrupt("break", 27);
35510
35613
  case 15:
35511
35614
  _context12.next = 17;
35512
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-10f3f838.js'); });
35615
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-44baa629.js'); });
35513
35616
  case 17:
35514
35617
  _yield$import3 = _context12.sent;
35515
35618
  SeriousWWSHandler = _yield$import3["default"];
@@ -35517,7 +35620,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35517
35620
  return _context12.abrupt("break", 27);
35518
35621
  case 21:
35519
35622
  _context12.next = 23;
35520
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-61a42ac7.js'); });
35623
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-cc2decaf.js'); });
35521
35624
  case 23:
35522
35625
  _yield$import4 = _context12.sent;
35523
35626
  StandardWWSHandler = _yield$import4["default"];
@@ -35856,6 +35959,7 @@ var ViewPointHandler = /*#__PURE__*/function () {
35856
35959
  key: "initRoomList",
35857
35960
  value: function initRoomList(roomlist, defaultBackgroundWidth, defaultBackgroundHeight) {
35858
35961
  this.roomListInfo = [];
35962
+ if (!roomlist) return;
35859
35963
  var roomListObj = JSON.parse(roomlist);
35860
35964
  var roomIsSel = true;
35861
35965
  for (var roomCodex in roomListObj) {
@@ -36938,7 +37042,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36938
37042
  while (1) switch (_context3.prev = _context3.next) {
36939
37043
  case 0:
36940
37044
  _context3.next = 2;
36941
- return Promise.resolve().then(function () { return require('./Host3DSignalR-f91cdb0e.js'); });
37045
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-87835538.js'); });
36942
37046
  case 2:
36943
37047
  _yield$import = _context3.sent;
36944
37048
  Host3DSignalR = _yield$import["default"];
@@ -38492,7 +38596,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38492
38596
  break;
38493
38597
  case 8:
38494
38598
  _context4.next = 10;
38495
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-12dad013.js'); });
38599
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-1dd1defa.js'); });
38496
38600
  case 10:
38497
38601
  _yield$import = _context4.sent;
38498
38602
  DivaStandardPlanner = _yield$import["default"];
@@ -38503,7 +38607,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38503
38607
  return _context4.abrupt("break", 21);
38504
38608
  case 15:
38505
38609
  _context4.next = 17;
38506
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-d0763a4e.js'); });
38610
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-de468027.js'); });
38507
38611
  case 17:
38508
38612
  _yield$import2 = _context4.sent;
38509
38613
  DivaBoxPlanner = _yield$import2["default"];
@@ -43070,6 +43174,7 @@ var Grid = /*#__PURE__*/function () {
43070
43174
  //all the different accessoires selectable to place in the grid. can be absolute defined in grid.ArticleRelations or can change due to the heightGridCellCountOnRule where we rule is depending on the current configuration of the article.
43071
43175
  _defineProperty__default["default"](this, "articleRelations", void 0);
43072
43176
  _defineProperty__default["default"](this, "articleRelationsForOtherGroups", void 0);
43177
+ _defineProperty__default["default"](this, "disableCellsByRules", void 0);
43073
43178
  //if in theis grid an shelfaccessoire is planned laod this article aswell
43074
43179
  _defineProperty__default["default"](this, "montageOptions", void 0);
43075
43180
  //disableCellsByFreeText
@@ -43100,6 +43205,7 @@ var Grid = /*#__PURE__*/function () {
43100
43205
  this.showOnRule = grid.ShowOnRule;
43101
43206
  this.montageOptions = grid.MontageOptions;
43102
43207
  this.disableCellsByMeasures = grid.DisableCellsByMeasures;
43208
+ this.disableCellsByRules = grid.DisableCellsByRules;
43103
43209
  this.visitOption = grid.VisitOption;
43104
43210
  this.shelfId = 'SHELFARTICLE_' + article.basketId + '_' + index;
43105
43211
  this.heightGridCellCountOnRule = data.ShelfPlanner[index].HeightGridCellCountOnRule;
@@ -44068,6 +44174,21 @@ var Grid = /*#__PURE__*/function () {
44068
44174
  }
44069
44175
  return count;
44070
44176
  }
44177
+ }, {
44178
+ key: "getDisabledCellsByRule",
44179
+ value: function getDisabledCellsByRule() {
44180
+ var _this$disableCellsByR;
44181
+ var cellsToDisable = [];
44182
+ if (!((_this$disableCellsByR = this.disableCellsByRules) !== null && _this$disableCellsByR !== void 0 && _this$disableCellsByR.length)) return cellsToDisable;
44183
+ var article = this.article;
44184
+ for (var i = 0; i < this.disableCellsByRules.length; i++) {
44185
+ var rule = this.disableCellsByRules[i];
44186
+ if (!rule.rule || this.article.evalRule(DivaUtils__default["default"].getRuleByFormula(rule.rule, this.article.catalogCodex, article.CatalogData.multiselectOptions))) {
44187
+ cellsToDisable = [].concat(_toConsumableArray__default["default"](cellsToDisable), _toConsumableArray__default["default"](rule.cells));
44188
+ }
44189
+ }
44190
+ return cellsToDisable;
44191
+ }
44071
44192
  }, {
44072
44193
  key: "ShelfId",
44073
44194
  get: function get() {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-b9a1cd19.js');
5
+ var index = require('./index-2ecdfcea.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/classCallCheck');
@@ -3,10 +3,10 @@ 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 { c as Vector2, V as Vector3, B as BoundingBox } from './index-8fac2013.js';
6
+ import { c as Vector2, V as Vector3, B as BoundingBox } from './index-5e88a132.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
- import { d as dockingPointHandlerInst, P as PlannerElementData, h as handler2D } from './PlannerHandler2D-dfcaf42f.js';
9
+ import { d as dockingPointHandlerInst, P as PlannerElementData, h as handler2D } from './PlannerHandler2D-412d4225.js';
10
10
  import '@babel/runtime/helpers/slicedToArray';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
@@ -3,8 +3,8 @@ 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 { V as Vector3, c as Vector2, B as BoundingBox } from './index-8fac2013.js';
7
- import { d as dockingPointHandlerInst, h as handler2D, P as PlannerElementData } from './PlannerHandler2D-dfcaf42f.js';
6
+ import { V as Vector3, c as Vector2, B as BoundingBox } from './index-5e88a132.js';
7
+ import { d as dockingPointHandlerInst, h as handler2D, P as PlannerElementData } from './PlannerHandler2D-412d4225.js';
8
8
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -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-8fac2013.js';
4
+ import './index-5e88a132.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 { R as Rendering, H as HQRenderScript } from './index-8fac2013.js';
6
+ import { R as Rendering, H as HQRenderScript } from './index-5e88a132.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-8fac2013.js';
3
+ import './index-5e88a132.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-8fac2013.js';
3
+ import { a as articleHandlerInstance } from './index-5e88a132.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';
@@ -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 { c as Vector2, V as Vector3, D as DockingPoint } from './index-8fac2013.js';
4
+ import { c as Vector2, V as Vector3, D as DockingPoint } from './index-5e88a132.js';
5
5
  import DivaUtils, { md5, DivaError } from '@crystaldesign/diva-utils';
6
6
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
7
7
  import _regeneratorRuntime from '@babel/runtime/regenerator';
@@ -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 { s as summaryHandlerInstance } from './index-8fac2013.js';
4
+ import { s as summaryHandlerInstance } from './index-5e88a132.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';