@crystaldesign/web-planner-logic 25.1.0 → 25.1.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/cjs/{DivaBoxPlanner-25095918.js → DivaBoxPlanner-05f5c87f.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-35a5afe4.js → DivaStandardPlanner-da9dedf9.js} +2 -2
  3. package/build/cjs/{DoorPlanner-598ed26f.js → DoorPlanner-18fbe3e0.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-9016e4f8.js → Host3DSignalR-a3adb49e.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-e96362cd.js → LiviqueWWSHandler-e2132a76.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-33d3bc78.js → PfisterWWSHandler-be21ea22.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-bc06383b.js → PlannerHandler2D-e03bbd6f.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-06b3e0ac.js → SeriousBasketHandler-b68b4e78.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-aab339d5.js → ShelfPlanner-d0876962.js} +86 -56
  10. package/build/cjs/{StandardWWSHandler-49237202.js → StandardWWSHandler-38dc10cd.js} +1 -1
  11. package/build/cjs/{index-0918a59e.js → index-4b62cc1a.js} +172 -75
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-7e24e413.js → DivaBoxPlanner-853509f6.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-0896e8e2.js → DivaStandardPlanner-59084a0f.js} +2 -2
  15. package/build/esm/{DoorPlanner-148acdce.js → DoorPlanner-f70b9496.js} +1 -1
  16. package/build/esm/{Host3DSignalR-5799fcaf.js → Host3DSignalR-46ebbf05.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-35ccc2a7.js → LiviqueWWSHandler-e6eae72b.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-192c533f.js → PfisterWWSHandler-afca2bc9.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-6485bd4f.js → PlannerHandler2D-44ed0367.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-eaffc24a.js → SeriousBasketHandler-9c064215.js} +1 -1
  21. package/build/esm/{ShelfPlanner-04894610.js → ShelfPlanner-50ca81aa.js} +86 -56
  22. package/build/esm/{StandardWWSHandler-3dc1b254.js → StandardWWSHandler-1035f751.js} +1 -1
  23. package/build/esm/{index-90c5b067.js → index-5bde0a2f.js} +172 -75
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +1 -0
  26. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +2 -0
  28. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts +7 -0
  30. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts +3 -2
  32. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +7 -4
  34. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/logic/Article/DivaArticleHandler.d.ts.map +1 -1
  36. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts +4 -2
  37. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts +9 -0
  39. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts.map +1 -1
  40. package/build/types/web-planner-logic/src/model/Articles/CatalogArticleData.d.ts +1 -0
  41. package/build/types/web-planner-logic/src/model/Articles/CatalogArticleData.d.ts.map +1 -1
  42. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts +2 -0
  43. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts.map +1 -1
  44. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts +2 -0
  45. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts.map +1 -1
  46. package/package.json +2 -2
@@ -1577,6 +1577,16 @@ var ArticleOptionData = /*#__PURE__*/function () {
1577
1577
  get: function get() {
1578
1578
  return this.opt.catalogOPT.onlyVisibleIfNotDocked;
1579
1579
  }
1580
+ }, {
1581
+ key: "onlyVisibleIfConfigSingle",
1582
+ get: function get() {
1583
+ return this.opt.catalogOPT.onlyVisibleIfConfigSingle;
1584
+ }
1585
+ }, {
1586
+ key: "onlyVisibleIfConfigAll",
1587
+ get: function get() {
1588
+ return this.opt.catalogOPT.onlyVisibleIfConfigAll;
1589
+ }
1580
1590
  }, {
1581
1591
  key: "isDefaultValueForOptions",
1582
1592
  get: function get() {
@@ -16550,6 +16560,9 @@ var CatalogArticleData = /*#__PURE__*/function () {
16550
16560
  case 'HAS3D':
16551
16561
  this.catalogArticle.isVisualized = prop.Value;
16552
16562
  break;
16563
+ case 'OPTIONS_FOR_PRINT':
16564
+ this.catalogArticle.optionsForPrint = prop.Value.split(';');
16565
+ break;
16553
16566
  default:
16554
16567
  if (_key.includes('__')) break;
16555
16568
  var values = prop.Value.split(';');
@@ -16985,6 +16998,11 @@ var CatalogArticleData = /*#__PURE__*/function () {
16985
16998
  get: function get() {
16986
16999
  return this.catalogArticle.usePRGasOPVArticleNr;
16987
17000
  }
17001
+ }, {
17002
+ key: "optionsForPrint",
17003
+ get: function get() {
17004
+ return this.catalogArticle.optionsForPrint;
17005
+ }
16988
17006
  //tabGroup can include an optionCodex to reference a tabgroup or a tabgroup -> this was made for translation purposes
16989
17007
  }, {
16990
17008
  key: "tabGroup",
@@ -17985,6 +18003,12 @@ var OptionCatalogData = /*#__PURE__*/function () {
17985
18003
  case 'ONLY_VISIBLE_IF_NOT_UNDOCK':
17986
18004
  this.opt.onlyVisibleIfNotDocked = prop.Value;
17987
18005
  break;
18006
+ case 'ONLY_VIDSIBLE_IF_CONFIG_SINGLE':
18007
+ this.opt.onlyVisibleIfConfigSingle = prop.Value;
18008
+ break;
18009
+ case 'ONLY_VIDSIBLE_IF_CONFIG_ALL':
18010
+ this.opt.onlyVisibleIfConfigAll = prop.Value;
18011
+ break;
17988
18012
  case 'ISDEFAULTVALUEFOROPTIONS':
17989
18013
  this.opt.isDefaultValueForOptions = prop.Value;
17990
18014
  break;
@@ -18146,6 +18170,16 @@ var OptionCatalogData = /*#__PURE__*/function () {
18146
18170
  // deprecated: was used for Bail amalfi accessoires
18147
18171
  return this.opt.onlyVisibleIfNotDocked;
18148
18172
  }
18173
+ }, {
18174
+ key: "onlyVisibleIfConfigSingle",
18175
+ get: function get() {
18176
+ return this.opt.onlyVisibleIfConfigSingle;
18177
+ }
18178
+ }, {
18179
+ key: "onlyVisibleIfConfigAll",
18180
+ get: function get() {
18181
+ return this.opt.onlyVisibleIfConfigAll;
18182
+ }
18149
18183
  }, {
18150
18184
  key: "isDefaultValueForOptions",
18151
18185
  get: function get() {
@@ -20013,9 +20047,11 @@ var catalogHandlerInstance = new DivaCatalogHandler();
20013
20047
  function ownKeys$f(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20014
20048
  function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20015
20049
  var ArticleOptionStateData = /*#__PURE__*/function () {
20016
- function ArticleOptionStateData(option, defaultOPV, useIsOptionDefinedWarning) {
20050
+ function ArticleOptionStateData(option, getIsConfigSingle, defaultOPV, useIsOptionDefinedWarning) {
20017
20051
  _classCallCheck__default["default"](this, ArticleOptionStateData);
20018
20052
  _defineProperty__default["default"](this, "articleOptionState", void 0);
20053
+ _defineProperty__default["default"](this, "getIsConfigSingle", void 0);
20054
+ this.getIsConfigSingle = getIsConfigSingle;
20019
20055
  this.articleOptionState = {
20020
20056
  option: option,
20021
20057
  name: '',
@@ -20272,7 +20308,7 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
20272
20308
  key: "isDoShow",
20273
20309
  get: function get() {
20274
20310
  var _this$val4;
20275
- return this.articleOptionState.doShow && (!((_this$val4 = this.val) !== null && _this$val4 !== void 0 && _this$val4.isNotRelevant) || this.visibleCount > 1);
20311
+ return this.articleOptionState.doShow && (!((_this$val4 = this.val) !== null && _this$val4 !== void 0 && _this$val4.isNotRelevant) || this.visibleCount > 1) && (!this.option.onlyVisibleIfConfigAll || !this.getIsConfigSingle()) && (!this.option.onlyVisibleIfConfigSingle || this.getIsConfigSingle());
20276
20312
  },
20277
20313
  set: function set(doShow) {
20278
20314
  this.articleOptionState.doShow = doShow;
@@ -20652,8 +20688,8 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
20652
20688
  }
20653
20689
  }, {
20654
20690
  key: "cloneOptionState",
20655
- value: function cloneOptionState() {
20656
- var clonedOps = new ArticleOptionStateData(this.option);
20691
+ value: function cloneOptionState(getIsConfigSingle) {
20692
+ var clonedOps = new ArticleOptionStateData(this.option, getIsConfigSingle);
20657
20693
  clonedOps.articleOptionState = _objectSpread$f(_objectSpread$f({}, this.articleOptionState), {}, {
20658
20694
  imageOPVs: _objectSpread$f({}, this.articleOptionState.imageOPVs),
20659
20695
  visibleOPVs: _objectSpread$f({}, this.articleOptionState.visibleOPVs),
@@ -20681,6 +20717,9 @@ var DivaArticle = /*#__PURE__*/function () {
20681
20717
  _defineProperty__default["default"](this, "actPlannerData", void 0);
20682
20718
  //Hier steht die aktuelle Konfiguration
20683
20719
  _defineProperty__default["default"](this, "decisionDebugStacks", []);
20720
+ _defineProperty__default["default"](this, "getIsConfigSingle", function () {
20721
+ return _this.set.configSingle;
20722
+ });
20684
20723
  _defineProperty__default["default"](this, "getPreviousPartlistArticle", function (articleCodex) {
20685
20724
  var _this$article$previou;
20686
20725
  var prevPartlistArticles = (_this$article$previou = _this.article.previousPartlistArticles) !== null && _this$article$previou !== void 0 ? _this$article$previou : {};
@@ -21162,9 +21201,10 @@ var DivaArticle = /*#__PURE__*/function () {
21162
21201
  key: "getArticleOptionStatesWithOptionsForPrint",
21163
21202
  value: function getArticleOptionStatesWithOptionsForPrint() {
21164
21203
  var opsObj = _objectSpread$e({}, this.articleOptionStates);
21165
- if (this.article.optionsForPrint) {
21166
- for (var i = 0; i < this.article.optionsForPrint.length; i++) {
21167
- var ops = this.getArticleOptionState(this.article.optionsForPrint[i]);
21204
+ var optionsForPrint = this.optionsForPrint;
21205
+ if (optionsForPrint.length) {
21206
+ for (var i = 0; i < optionsForPrint.length; i++) {
21207
+ var ops = this.getArticleOptionState(optionsForPrint[i], undefined, true);
21168
21208
  if (ops) opsObj[ops.optionCodex] = ops;
21169
21209
  }
21170
21210
  }
@@ -21247,9 +21287,9 @@ var DivaArticle = /*#__PURE__*/function () {
21247
21287
  }, {
21248
21288
  key: "name",
21249
21289
  get: function get() {
21250
- var _this$article$actDesc, _this$article$options;
21290
+ var _this$article$actDesc, _this$optionsForPrint;
21251
21291
  var ret = (_this$article$actDesc = this.article.actDescription) !== null && _this$article$actDesc !== void 0 ? _this$article$actDesc : this.catalogArticleName;
21252
- if (this.RetailPrefix != 'SAP' && this.article.ruleDesc && this.article.ruleDesc != '' && !((_this$article$options = this.article.optionsForPrint) !== null && _this$article$options !== void 0 && _this$article$options.length)) {
21292
+ if (this.RetailPrefix != 'SAP' && this.article.ruleDesc && this.article.ruleDesc != '' && !((_this$optionsForPrint = this.optionsForPrint) !== null && _this$optionsForPrint !== void 0 && _this$optionsForPrint.length)) {
21253
21293
  var ruleDesc = this.article.ruleDesc;
21254
21294
  if (!this.set.api.ruleDescWithoutParenthesis()) ruleDesc = '(' + ruleDesc + ')';
21255
21295
  ret += ' ' + (this.CatalogData.addNewLineBeforRuleDesc ? this.set.api.ruleDescSeperator() : '') + ruleDesc;
@@ -21286,7 +21326,10 @@ var DivaArticle = /*#__PURE__*/function () {
21286
21326
  }, {
21287
21327
  key: "optionsForPrint",
21288
21328
  get: function get() {
21289
- return this.article.optionsForPrint;
21329
+ var _this$article$options, _this$catalogArticle$;
21330
+ return [].concat(_toConsumableArray__default["default"]((_this$article$options = this.article.optionsForPrint) !== null && _this$article$options !== void 0 ? _this$article$options : []), _toConsumableArray__default["default"]((_this$catalogArticle$ = this.catalogArticle.optionsForPrint) !== null && _this$catalogArticle$ !== void 0 ? _this$catalogArticle$ : [])).map(function (o) {
21331
+ return 'OPT' + o;
21332
+ });
21290
21333
  }
21291
21334
  }, {
21292
21335
  key: "image",
@@ -21403,19 +21446,19 @@ var DivaArticle = /*#__PURE__*/function () {
21403
21446
  }
21404
21447
  }, {
21405
21448
  key: "getArticleOptionState",
21406
- value: function getArticleOptionState(codex, from) {
21449
+ value: function getArticleOptionState(codex, from, checkOnAccessoireParent) {
21407
21450
  var _this$partListParentA10, _this$partListParentA11, _this$partlistArticle3;
21408
21451
  if (this.articleOptionStatesData[codex]) {
21409
21452
  return this.articleOptionStatesData[codex];
21410
21453
  }
21411
- if (from !== ((_this$partListParentA10 = this.partListParentArticle) === null || _this$partListParentA10 === void 0 ? void 0 : _this$partListParentA10.basketId) && (_this$partListParentA11 = this.partListParentArticle) !== null && _this$partListParentA11 !== void 0 && _this$partListParentA11.getArticleOptionState(codex)) {
21412
- return this.partListParentArticle.getArticleOptionState(codex, this.basketId);
21454
+ if (from !== ((_this$partListParentA10 = this.partListParentArticle) === null || _this$partListParentA10 === void 0 ? void 0 : _this$partListParentA10.basketId) && (_this$partListParentA11 = this.partListParentArticle) !== null && _this$partListParentA11 !== void 0 && _this$partListParentA11.getArticleOptionState(codex, undefined, checkOnAccessoireParent)) {
21455
+ return this.partListParentArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21413
21456
  }
21414
21457
  if (Object.keys((_this$partlistArticle3 = this.partlistArticles) !== null && _this$partlistArticle3 !== void 0 ? _this$partlistArticle3 : {}).length > 0) {
21415
21458
  for (var key in this.partlistArticles) {
21416
21459
  if (from === key) continue;
21417
21460
  var partlistArticle = this.partlistArticles[key];
21418
- var ops = partlistArticle.getArticleOptionState(codex, this.basketId);
21461
+ var ops = partlistArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21419
21462
  if (ops) return ops;
21420
21463
  }
21421
21464
  }
@@ -21434,6 +21477,10 @@ var DivaArticle = /*#__PURE__*/function () {
21434
21477
  }
21435
21478
  }
21436
21479
  }
21480
+ if (checkOnAccessoireParent && this.accessoireParentArticle) {
21481
+ var _ops2 = this.accessoireParentArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21482
+ if (_ops2) return _ops2;
21483
+ }
21437
21484
  return this.articleOptionStatesData[codex];
21438
21485
  //kann sein dass die OCD der Option dem codex entspricht
21439
21486
  }
@@ -21648,7 +21695,7 @@ var DivaArticle = /*#__PURE__*/function () {
21648
21695
  }, {
21649
21696
  key: "dockedOnAV",
21650
21697
  value: function dockedOnAV(type) {
21651
- return articleHandlerInstance.dockedOnAV(type, this);
21698
+ return articleHandlerInstance.dockedOnAV('AV' + type, this);
21652
21699
  }
21653
21700
  }, {
21654
21701
  key: "accessoireParentArticle",
@@ -22368,6 +22415,9 @@ var DivaArticle = /*#__PURE__*/function () {
22368
22415
  if (actArticleOptionState[refOptCodex].visibleOptionValues[_iKey]) {
22369
22416
  actArticleOptionState[refOptCodex].defaultOPV = curOpvValue;
22370
22417
  optToChange[refOptCodex] = curOpvValue;
22418
+ if (optToChange[opt + '_val']) {
22419
+ optToChange[refOptCodex + '_val'] = optToChange[opt + '_val'];
22420
+ }
22371
22421
  opvIsValid = true;
22372
22422
  }
22373
22423
  break;
@@ -22491,9 +22541,9 @@ var DivaArticle = /*#__PURE__*/function () {
22491
22541
  }
22492
22542
  //fallback for pfister classification usecase
22493
22543
  for (var _iKey2 in this.articleOptionStates) {
22494
- var _ops2 = this.articleOptionStates[_iKey2];
22495
- if (_ops2.option.ocd == optionCodex && optionCodex !== null && optionCodex !== void 0 && optionCodex.startsWith('OPTOPT') && (parentOptionCodex == '' || parentOptionCodex == _ops2.option.parentOptionCodex)) {
22496
- return this.checkOptionSearchOPV(_ops2.option, optionValueCodex, ret);
22544
+ var _ops3 = this.articleOptionStates[_iKey2];
22545
+ if (_ops3.option.ocd == optionCodex && optionCodex !== null && optionCodex !== void 0 && optionCodex.startsWith('OPTOPT') && (parentOptionCodex == '' || parentOptionCodex == _ops3.option.parentOptionCodex)) {
22546
+ return this.checkOptionSearchOPV(_ops3.option, optionValueCodex, ret);
22497
22547
  }
22498
22548
  }
22499
22549
  }
@@ -22581,15 +22631,15 @@ var DivaArticle = /*#__PURE__*/function () {
22581
22631
  value: function validateAndSetNewConfigValues(newConfigValues) {
22582
22632
  var freeTextValues = {};
22583
22633
  for (var key in newConfigValues) {
22584
- var _ops3, _ops4, _newConfigValues$key;
22634
+ var _ops4, _ops5, _newConfigValues$key;
22585
22635
  var ops = this.getArticleOptionState(key);
22586
22636
  var _this$parentOptionCod3 = this.parentOptionCodex(key),
22587
22637
  optionCodex = _this$parentOptionCod3.optionCodex,
22588
22638
  partenOptionCodex = _this$parentOptionCod3.partenOptionCodex;
22589
- if ((_ops3 = ops) !== null && _ops3 !== void 0 && _ops3.isMultiselect) {
22639
+ if ((_ops4 = ops) !== null && _ops4 !== void 0 && _ops4.isMultiselect) {
22590
22640
  ops = this.handleMultiselect(ops, newConfigValues, key);
22591
22641
  }
22592
- if ((_ops4 = ops) !== null && _ops4 !== void 0 && _ops4.isFreeText) {
22642
+ if ((_ops5 = ops) !== null && _ops5 !== void 0 && _ops5.isFreeText) {
22593
22643
  this.handleFreeText(ops, newConfigValues, key, freeTextValues);
22594
22644
  }
22595
22645
  var opvCodex = (_newConfigValues$key = newConfigValues[key]) === null || _newConfigValues$key === void 0 ? void 0 : _newConfigValues$key.split(';')[0];
@@ -22600,8 +22650,8 @@ var DivaArticle = /*#__PURE__*/function () {
22600
22650
  var myFreeText = foundItem.opv.isFreeText ? newConfigValues[optionCodex + '_val'] : undefined;
22601
22651
  this.updateArtOPV(foundItem.opv, foundItem.opt.codex, this.getArticleOptionState(foundItem.opt.codex), myFreeText);
22602
22652
  } else {
22603
- var _ops5;
22604
- if (ops && !((_ops5 = ops) !== null && _ops5 !== void 0 && _ops5.isFreeText)) {
22653
+ var _ops6;
22654
+ if (ops && !((_ops6 = ops) !== null && _ops6 !== void 0 && _ops6.isFreeText)) {
22605
22655
  // to initialize freetexts where the freetext is not the only selectable opv in the options
22606
22656
  this.checkIfSelectableOpvIsFreetext(ops, opvCodex, newConfigValues);
22607
22657
  }
@@ -23066,7 +23116,7 @@ var DivaArticle = /*#__PURE__*/function () {
23066
23116
  //die Klasse ArticleOptionState wird einfach neu initialisiert
23067
23117
  var oldOPS = this.getArticleOptionState(optionCodex);
23068
23118
  var option = oldOPS.option;
23069
- var optionState = new ArticleOptionStateData(option, oldOPS.defaultOPV, (_this$set$ViewConfig2 = this.set.ViewConfig) === null || _this$set$ViewConfig2 === void 0 ? void 0 : _this$set$ViewConfig2.useIsOptionDefinedWarning);
23119
+ var optionState = new ArticleOptionStateData(option, this.getIsConfigSingle, oldOPS.defaultOPV, (_this$set$ViewConfig2 = this.set.ViewConfig) === null || _this$set$ViewConfig2 === void 0 ? void 0 : _this$set$ViewConfig2.useIsOptionDefinedWarning);
23070
23120
  optionState.isDisabled = true;
23071
23121
  this.uploadOptionState(optionState);
23072
23122
  }
@@ -23135,9 +23185,7 @@ var DivaArticle = /*#__PURE__*/function () {
23135
23185
  _this3 = this;
23136
23186
  var allDecisions = this.article.catalogArticle.articleDecisions;
23137
23187
  var decisions = myPartListPos.PartListPosDecisionsAndPosCounts;
23138
- var optionsForPrint = (_myPartListPos$Option = myPartListPos.OptionsForPrint) === null || _myPartListPos$Option === void 0 ? void 0 : _myPartListPos$Option.split(';').map(function (o) {
23139
- return 'OPT' + o;
23140
- });
23188
+ var optionsForPrint = (_myPartListPos$Option = myPartListPos.OptionsForPrint) === null || _myPartListPos$Option === void 0 ? void 0 : _myPartListPos$Option.split(';');
23141
23189
  var optionImgForPrint = myPartListPos.OptionImgForPrint ? 'OPT' + myPartListPos.OptionImgForPrint : undefined;
23142
23190
  var _loop = function _loop() {
23143
23191
  var myRuleDesc = '';
@@ -23509,13 +23557,13 @@ var DivaArticle = /*#__PURE__*/function () {
23509
23557
  for (var f = 0; f < doAlsoCheckOPTs.length; f++) {
23510
23558
  var _myDoc$Row;
23511
23559
  var checkOptX = doAlsoCheckOPTs[f];
23512
- var _ops6 = this.getArticleOptionState(checkOptX);
23513
- if (_ops6 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops6.valCodex && !myDoc.Row[checkOptX].includes(_ops6.valCodex)) {
23560
+ var _ops7 = this.getArticleOptionState(checkOptX);
23561
+ if (_ops7 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops7.valCodex && !myDoc.Row[checkOptX].includes(_ops7.valCodex)) {
23514
23562
  if (!myDoc.Row[checkOptX].find(function (o) {
23515
23563
  return !o.startsWith('!');
23516
23564
  })) {
23517
23565
  //all is inverted
23518
- if (myDoc.Row[checkOptX].includes('!' + _ops6.valCodex)) {
23566
+ if (myDoc.Row[checkOptX].includes('!' + _ops7.valCodex)) {
23519
23567
  doUseDoc = false;
23520
23568
  break;
23521
23569
  }
@@ -23939,7 +23987,7 @@ var DivaArticle = /*#__PURE__*/function () {
23939
23987
  }, {
23940
23988
  key: "updateShelfPlannerState",
23941
23989
  value: function () {
23942
- var _updateShelfPlannerState = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
23990
+ var _updateShelfPlannerState = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(variantValues) {
23943
23991
  var _this$doorPlanner;
23944
23992
  var j3D, _yield$import, ShelfPlanner;
23945
23993
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
@@ -23951,7 +23999,7 @@ var DivaArticle = /*#__PURE__*/function () {
23951
23999
  break;
23952
24000
  }
23953
24001
  _context.next = 4;
23954
- return Promise.resolve().then(function () { return require('./ShelfPlanner-aab339d5.js'); });
24002
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-d0876962.js'); });
23955
24003
  case 4:
23956
24004
  _yield$import = _context.sent;
23957
24005
  ShelfPlanner = _yield$import["default"];
@@ -23988,14 +24036,14 @@ var DivaArticle = /*#__PURE__*/function () {
23988
24036
  return this.shelfPlanner.setIsVisible(true);
23989
24037
  case 21:
23990
24038
  _context.next = 23;
23991
- return this.shelfPlanner.onConfigChanged();
24039
+ return this.shelfPlanner.onConfigChanged(variantValues);
23992
24040
  case 23:
23993
24041
  case "end":
23994
24042
  return _context.stop();
23995
24043
  }
23996
24044
  }, _callee, this);
23997
24045
  }));
23998
- function updateShelfPlannerState() {
24046
+ function updateShelfPlannerState(_x) {
23999
24047
  return _updateShelfPlannerState.apply(this, arguments);
24000
24048
  }
24001
24049
  return updateShelfPlannerState;
@@ -24004,7 +24052,7 @@ var DivaArticle = /*#__PURE__*/function () {
24004
24052
  key: "calcConfigPrice",
24005
24053
  value: function calcConfigPrice(maxPriceOfGroupCodex, digits) {
24006
24054
  var _this4 = this,
24007
- _this$catalogArticle$;
24055
+ _this$catalogArticle$2;
24008
24056
  //Wenn im Planer für dieses Shape mehere Rules gibt, müssen wir diese jetzt prüfen, ob jetzt ein anderes shape gültig ist.
24009
24057
  //wenn ja, hier neues shape übergeben
24010
24058
  if (this.articleType === 'FLAT') return;
@@ -24204,7 +24252,7 @@ var DivaArticle = /*#__PURE__*/function () {
24204
24252
 
24205
24253
  //Wenn der Artikel über IDM einnen Längen/Flächenabhängigen Preis hat, dann entspricht der aktuelle Preis nur einer Einheit
24206
24254
  //dieser muss jetzt m it entsprechenden Massen multipliziert werden
24207
- if (articleUsedCalcPrice > 0 && ((_this$catalogArticle$ = this.catalogArticle.basicUnitPrice) !== null && _this$catalogArticle$ !== void 0 ? _this$catalogArticle$ : 0) > 0 && idmPriceMeasureFactor > 1) {
24255
+ if (articleUsedCalcPrice > 0 && ((_this$catalogArticle$2 = this.catalogArticle.basicUnitPrice) !== null && _this$catalogArticle$2 !== void 0 ? _this$catalogArticle$2 : 0) > 0 && idmPriceMeasureFactor > 1) {
24208
24256
  articleUsedCalcPrice = articleUsedCalcPrice * idmPriceMeasureFactor / this.catalogArticle.basicUnitPrice;
24209
24257
  }
24210
24258
  this.article.price = articleUsedCalcPrice;
@@ -24373,16 +24421,16 @@ var DivaArticle = /*#__PURE__*/function () {
24373
24421
  }
24374
24422
  }
24375
24423
  for (var _key4 in myValues) {
24376
- var _ops7 = this.getArticleOptionState(_key4);
24377
- if (_ops7) {
24424
+ var _ops8 = this.getArticleOptionState(_key4);
24425
+ if (_ops8) {
24378
24426
  validValues[_key4] = myValues[_key4];
24379
24427
  } else if (_key4.endsWith('_val') && this.getArticleOptionState(_key4.replace(/_val/g, ''))) {
24380
24428
  validValues[_key4] = myValues[_key4];
24381
24429
  } else {
24382
24430
  for (var _opt in this.articleOptionStates) {
24383
- var _ops8 = this.articleOptionStates[_opt];
24431
+ var _ops9 = this.articleOptionStates[_opt];
24384
24432
  if (this.articleOptionStates[_opt].optionOcd == _key4) {
24385
- var values = this.checkOptionSearchOPV(_ops8.option, myValues[_key4], {});
24433
+ var values = this.checkOptionSearchOPV(_ops9.option, myValues[_key4], {});
24386
24434
  if (values !== null && values !== void 0 && values.opv) validValues[_opt] = values.opv.codex;
24387
24435
  }
24388
24436
  }
@@ -24702,7 +24750,7 @@ var DivaArticle = /*#__PURE__*/function () {
24702
24750
  }
24703
24751
  if (myArtOption.isDoShow && !doHideSizeOption && myArtOption.val) {
24704
24752
  if (myArtOption.visibleCount > 0) {
24705
- var _myArtOption$valName_, _this$article$options2, _this$article$options3, _myArtOption$val;
24753
+ var _myArtOption$valName_, _this$optionsForPrint2, _this$optionsForPrint3, _myArtOption$val;
24706
24754
  var isfreeText = false,
24707
24755
  isMeasureValue = false,
24708
24756
  freeText = undefined,
@@ -24744,7 +24792,7 @@ var DivaArticle = /*#__PURE__*/function () {
24744
24792
  TabGroup_locales: myArtOption.optionTabGroup_locales,
24745
24793
  SendToSAP: myArtOption.option.sendToSAP,
24746
24794
  ArticlePlaceholder: myArtOption.option.articlePlaceholder,
24747
- Hidden: myArtOption.headerPosVariationType == 'I' || myArtOption.isInvisible || myArtOption.val.hideInSummary || this.isPartListArticle && ((_this$article$options2 = this.article.optionsForPrint) === null || _this$article$options2 === void 0 ? void 0 : _this$article$options2.length) && !((_this$article$options3 = this.article.optionsForPrint) !== null && _this$article$options3 !== void 0 && _this$article$options3.includes(OP)),
24795
+ Hidden: myArtOption.headerPosVariationType == 'I' || myArtOption.isInvisible || myArtOption.val.hideInSummary || this.isPartListArticle && ((_this$optionsForPrint2 = this.optionsForPrint) === null || _this$optionsForPrint2 === void 0 ? void 0 : _this$optionsForPrint2.length) && !((_this$optionsForPrint3 = this.optionsForPrint) !== null && _this$optionsForPrint3 !== void 0 && _this$optionsForPrint3.includes(OP)),
24748
24796
  HideInOrderText: myArtOption.hideInOrderText,
24749
24797
  IsDescribingState: myArtOption.isDescribingState,
24750
24798
  FreeTextLang: myArtOption.freeTextLang,
@@ -24873,7 +24921,7 @@ var DivaArticle = /*#__PURE__*/function () {
24873
24921
  value: function cloneArticle(set) {
24874
24922
  var clonedArticle = new DivaArticle(set, this.basketId, _objectSpread$e({}, this.article), this.article.catalogArticle, set.CatalogData);
24875
24923
  for (var key in this.articleOptionStates) {
24876
- clonedArticle.articleOptionStates[key] = this.articleOptionStates[key].cloneOptionState();
24924
+ clonedArticle.articleOptionStates[key] = this.articleOptionStates[key].cloneOptionState(clonedArticle.getIsConfigSingle);
24877
24925
  }
24878
24926
  clonedArticle.article.partlistArticles = {};
24879
24927
  clonedArticle.article.previousPartlistArticles = {};
@@ -25373,7 +25421,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
25373
25421
  for (key in myCatalogArticleOptions) {
25374
25422
  //Hier wird mal geschaut, ob der aktuelle Artikel alle Optionen schon initialisiert hat.
25375
25423
  if (!articleOptionState[key]) {
25376
- optionState = new ArticleOptionStateData(myCatalogArticleOptions[key], undefined, (_article$set$ViewConf = article.set.ViewConfig) === null || _article$set$ViewConf === void 0 ? void 0 : _article$set$ViewConf.useIsOptionDefinedWarning);
25424
+ optionState = new ArticleOptionStateData(myCatalogArticleOptions[key], article.getIsConfigSingle, undefined, (_article$set$ViewConf = article.set.ViewConfig) === null || _article$set$ViewConf === void 0 ? void 0 : _article$set$ViewConf.useIsOptionDefinedWarning);
25377
25425
  article.uploadOptionState(optionState); //alle Optionen erstellen
25378
25426
  }
25379
25427
  }
@@ -25544,7 +25592,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
25544
25592
  break;
25545
25593
  }
25546
25594
  _context10.next = 9;
25547
- return article.updateShelfPlannerState();
25595
+ return article.updateShelfPlannerState(newConfigValues);
25548
25596
  case 9:
25549
25597
  if (!(!dontCalcPrice && !calcVariantPrice)) {
25550
25598
  _context10.next = 12;
@@ -28628,7 +28676,7 @@ var DivaSet = /*#__PURE__*/function () {
28628
28676
  break;
28629
28677
  }
28630
28678
  _context5.next = 3;
28631
- return Promise.resolve().then(function () { return require('./DoorPlanner-598ed26f.js'); });
28679
+ return Promise.resolve().then(function () { return require('./DoorPlanner-18fbe3e0.js'); });
28632
28680
  case 3:
28633
28681
  _yield$import = _context5.sent;
28634
28682
  DoorPlanner = _yield$import["default"];
@@ -32373,7 +32421,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32373
32421
  break;
32374
32422
  }
32375
32423
  _context17.next = 18;
32376
- return parentArticle.shelfPlanner.onConfigChanged();
32424
+ return parentArticle.shelfPlanner.onConfigChanged({});
32377
32425
  case 18:
32378
32426
  _context17.next = 22;
32379
32427
  break;
@@ -32453,7 +32501,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32453
32501
  case 7:
32454
32502
  accessoire = _context18.sent;
32455
32503
  _context18.next = 10;
32456
- return accessoire.updateShelfPlannerState();
32504
+ return accessoire.updateShelfPlannerState({});
32457
32505
  case 10:
32458
32506
  articleHandlerInstance.initCfgValues(accessoire, {});
32459
32507
  _context18.next = 13;
@@ -32633,7 +32681,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32633
32681
  return this.deleteElementFromSet(set, articeToDelete, false, undefined, dontReload);
32634
32682
  case 7:
32635
32683
  _context20.next = 9;
32636
- return parentArticle === null || parentArticle === void 0 || (_parentArticle$shelfP3 = parentArticle.shelfPlanner) === null || _parentArticle$shelfP3 === void 0 ? void 0 : _parentArticle$shelfP3.onConfigChanged();
32684
+ return parentArticle === null || parentArticle === void 0 || (_parentArticle$shelfP3 = parentArticle.shelfPlanner) === null || _parentArticle$shelfP3 === void 0 ? void 0 : _parentArticle$shelfP3.onConfigChanged({});
32637
32685
  case 9:
32638
32686
  case "end":
32639
32687
  return _context20.stop();
@@ -35393,7 +35441,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35393
35441
  break;
35394
35442
  case 3:
35395
35443
  _context12.next = 5;
35396
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-33d3bc78.js'); });
35444
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-be21ea22.js'); });
35397
35445
  case 5:
35398
35446
  _yield$import = _context12.sent;
35399
35447
  PfisterWWSHandler = _yield$import["default"];
@@ -35401,7 +35449,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35401
35449
  return _context12.abrupt("break", 27);
35402
35450
  case 9:
35403
35451
  _context12.next = 11;
35404
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-e96362cd.js'); });
35452
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-e2132a76.js'); });
35405
35453
  case 11:
35406
35454
  _yield$import2 = _context12.sent;
35407
35455
  LiviqueWWSHandler = _yield$import2["default"];
@@ -35409,7 +35457,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35409
35457
  return _context12.abrupt("break", 27);
35410
35458
  case 15:
35411
35459
  _context12.next = 17;
35412
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-06b3e0ac.js'); });
35460
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-b68b4e78.js'); });
35413
35461
  case 17:
35414
35462
  _yield$import3 = _context12.sent;
35415
35463
  SeriousWWSHandler = _yield$import3["default"];
@@ -35417,7 +35465,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35417
35465
  return _context12.abrupt("break", 27);
35418
35466
  case 21:
35419
35467
  _context12.next = 23;
35420
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-49237202.js'); });
35468
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-38dc10cd.js'); });
35421
35469
  case 23:
35422
35470
  _yield$import4 = _context12.sent;
35423
35471
  StandardWWSHandler = _yield$import4["default"];
@@ -36860,7 +36908,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36860
36908
  while (1) switch (_context3.prev = _context3.next) {
36861
36909
  case 0:
36862
36910
  _context3.next = 2;
36863
- return Promise.resolve().then(function () { return require('./Host3DSignalR-9016e4f8.js'); });
36911
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-a3adb49e.js'); });
36864
36912
  case 2:
36865
36913
  _yield$import = _context3.sent;
36866
36914
  Host3DSignalR = _yield$import["default"];
@@ -38425,7 +38473,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38425
38473
  break;
38426
38474
  case 8:
38427
38475
  _context4.next = 10;
38428
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-35a5afe4.js'); });
38476
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-da9dedf9.js'); });
38429
38477
  case 10:
38430
38478
  _yield$import = _context4.sent;
38431
38479
  DivaStandardPlanner = _yield$import["default"];
@@ -38436,7 +38484,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38436
38484
  return _context4.abrupt("break", 21);
38437
38485
  case 15:
38438
38486
  _context4.next = 17;
38439
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-25095918.js'); });
38487
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-05f5c87f.js'); });
38440
38488
  case 17:
38441
38489
  _yield$import2 = _context4.sent;
38442
38490
  DivaBoxPlanner = _yield$import2["default"];
@@ -42968,6 +43016,8 @@ var Grid = /*#__PURE__*/function () {
42968
43016
  _defineProperty__default["default"](this, "articleRelationsForOtherGroups", void 0);
42969
43017
  //if in theis grid an shelfaccessoire is planned laod this article aswell
42970
43018
  _defineProperty__default["default"](this, "montageOptions", void 0);
43019
+ //disableCellsByFreeText
43020
+ _defineProperty__default["default"](this, "disableCellsByMeasures", void 0);
42971
43021
  //this option gets triggered when the shelfplanner is visible and set back when navigating out of shelfstep
42972
43022
  _defineProperty__default["default"](this, "visitOption", void 0);
42973
43023
  //this field allows the shelfplanner on the rule the cellCount and ArticleRelations can change
@@ -42993,6 +43043,7 @@ var Grid = /*#__PURE__*/function () {
42993
43043
  this.showAfterOPT = data.ShowAfterOPT;
42994
43044
  this.showOnRule = grid.ShowOnRule;
42995
43045
  this.montageOptions = grid.MontageOptions;
43046
+ this.disableCellsByMeasures = grid.DisableCellsByMeasures;
42996
43047
  this.visitOption = grid.VisitOption;
42997
43048
  this.shelfId = 'SHELFARTICLE_' + article.basketId + '_' + index;
42998
43049
  this.heightGridCellCountOnRule = data.ShelfPlanner[index].HeightGridCellCountOnRule;
@@ -43328,7 +43379,7 @@ var Grid = /*#__PURE__*/function () {
43328
43379
  case 2:
43329
43380
  dontOverwriteOptions = [];
43330
43381
  _loop = /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _loop() {
43331
- var option, inUseCell, specificAccessoire, options, j, optionCodex, montageOptionState;
43382
+ var option, inUseCell, specificAccessoire, options, j, optionCodex, montageOptionState, _this$article$shelfAc, rest;
43332
43383
  return _regeneratorRuntime__default["default"].wrap(function _loop$(_context4) {
43333
43384
  while (1) switch (_context4.prev = _context4.next) {
43334
43385
  case 0:
@@ -43336,42 +43387,61 @@ var Grid = /*#__PURE__*/function () {
43336
43387
  inUseCell = _this.cells.find(function (c, i) {
43337
43388
  return c.InUse === i && c.Article && (!option.accessoires || Array.isArray(option.accessoires) && option.accessoires.includes(c.Article.articleCodex) || !Array.isArray(option.accessoires) && option.accessoires == c.Article.articleCodex) && (!option.range || Array.isArray(option.range) && option.range.includes(i) || !Array.isArray(option.range) && option.range == i) && (!option.onTop || _this.cells[_this.cells.length - 1].InUse === i) && (!option.onBottom || _this.cells[0].InUse === i);
43338
43389
  });
43339
- specificAccessoire = option.accessoires && inUseCell !== null && inUseCell !== void 0 && inUseCell.Article ? [inUseCell.Article] : undefined;
43390
+ specificAccessoire = [];
43391
+ if (option.accessoires && inUseCell !== null && inUseCell !== void 0 && inUseCell.Article) specificAccessoire.push(inUseCell.Article);else if (option.onTop && _this.cells[_this.cells.length - 1].InUse == (inUseCell === null || inUseCell === void 0 ? void 0 : inUseCell.InUse) || option.onBottom && _this.cells[0].InUse == (inUseCell === null || inUseCell === void 0 ? void 0 : inUseCell.InUse)) {
43392
+ if (inUseCell.Article) specificAccessoire.push(inUseCell.Article);
43393
+ }
43340
43394
  options = Array.isArray(option.optionCodex) ? option.optionCodex : [option.optionCodex];
43341
43395
  j = 0;
43342
- case 5:
43396
+ case 6:
43343
43397
  if (!(j < options.length)) {
43344
- _context4.next = 23;
43398
+ _context4.next = 29;
43345
43399
  break;
43346
43400
  }
43347
43401
  optionCodex = options[j];
43348
43402
  montageOptionState = _this.article.getArticleOptionState('OPT' + optionCodex);
43349
43403
  if (!dontOverwriteOptions.includes(optionCodex)) {
43350
- _context4.next = 10;
43404
+ _context4.next = 11;
43351
43405
  break;
43352
43406
  }
43353
- return _context4.abrupt("continue", 20);
43354
- case 10:
43407
+ return _context4.abrupt("continue", 26);
43408
+ case 11:
43355
43409
  if (!inUseCell) {
43356
- _context4.next = 17;
43410
+ _context4.next = 18;
43357
43411
  break;
43358
43412
  }
43359
43413
  if (montageOptionState) montageOptionState.val = montageOptionState.visibleOptionValues['OPVMIT'];
43360
- _context4.next = 14;
43414
+ _context4.next = 15;
43361
43415
  return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVMIT', specificAccessoire);
43362
- case 14:
43416
+ case 15:
43363
43417
  dontOverwriteOptions.push(optionCodex);
43364
- _context4.next = 20;
43418
+ _context4.next = 21;
43365
43419
  break;
43366
- case 17:
43420
+ case 18:
43367
43421
  if (montageOptionState) montageOptionState.val = montageOptionState.visibleOptionValues['OPVOHNE'];
43368
- _context4.next = 20;
43369
- return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE');
43370
- case 20:
43422
+ _context4.next = 21;
43423
+ return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE', []);
43424
+ case 21:
43425
+ if (!specificAccessoire.length) {
43426
+ _context4.next = 26;
43427
+ break;
43428
+ }
43429
+ rest = Object.values((_this$article$shelfAc = _this.article.shelfAccessoires) !== null && _this$article$shelfAc !== void 0 ? _this$article$shelfAc : {}).filter(function (a) {
43430
+ return !specificAccessoire.find(function (b) {
43431
+ return b.basketId == a.basketId;
43432
+ });
43433
+ });
43434
+ if (!rest.length) {
43435
+ _context4.next = 26;
43436
+ break;
43437
+ }
43438
+ _context4.next = 26;
43439
+ return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE', rest);
43440
+ case 26:
43371
43441
  j++;
43372
- _context4.next = 5;
43442
+ _context4.next = 6;
43373
43443
  break;
43374
- case 23:
43444
+ case 29:
43375
43445
  case "end":
43376
43446
  return _context4.stop();
43377
43447
  }
@@ -43403,12 +43473,12 @@ var Grid = /*#__PURE__*/function () {
43403
43473
  key: "updateAccessoireMontageOption",
43404
43474
  value: function () {
43405
43475
  var _updateAccessoireMontageOption = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee5(optionCodex, optionValueCodex, accessoires) {
43406
- var _this$article$shelfAc;
43476
+ var _this$article$shelfAc2;
43407
43477
  var i;
43408
43478
  return _regeneratorRuntime__default["default"].wrap(function _callee5$(_context6) {
43409
43479
  while (1) switch (_context6.prev = _context6.next) {
43410
43480
  case 0:
43411
- if (!accessoires) accessoires = Object.values((_this$article$shelfAc = this.article.shelfAccessoires) !== null && _this$article$shelfAc !== void 0 ? _this$article$shelfAc : {});
43481
+ if (!accessoires.length) accessoires = Object.values((_this$article$shelfAc2 = this.article.shelfAccessoires) !== null && _this$article$shelfAc2 !== void 0 ? _this$article$shelfAc2 : {});
43412
43482
  i = 0;
43413
43483
  case 2:
43414
43484
  if (!(i < accessoires.length)) {
@@ -43861,6 +43931,28 @@ var Grid = /*#__PURE__*/function () {
43861
43931
  }
43862
43932
  return true;
43863
43933
  }
43934
+ }, {
43935
+ key: "getCellCount",
43936
+ value: function getCellCount(dp) {
43937
+ var count = this.cells.length;
43938
+ if (this.DisableCellsByMeasures) {
43939
+ var lowestMeasure = undefined;
43940
+ var options = this.DisableCellsByMeasures.options;
43941
+ for (var i = 0; i < options.length; i++) {
43942
+ if (options[i].dp && dp && dp == options[i].dp) continue;
43943
+ var o = options[i].opt;
43944
+ var ops = this.article.getArticleOptionState('OPT' + o);
43945
+ if (!ops) continue;
43946
+ if (!isNaN(Number(ops.freeText)) && (lowestMeasure === undefined || lowestMeasure > Number(ops.freeText))) lowestMeasure = Number(ops.freeText);
43947
+ }
43948
+ if (lowestMeasure) {
43949
+ var ratio = this.DisableCellsByMeasures.maxMeasure / this.cells.length;
43950
+ var rest = this.DisableCellsByMeasures.maxMeasure - lowestMeasure;
43951
+ count = this.cells.length - Math.round(rest / ratio);
43952
+ }
43953
+ }
43954
+ return count;
43955
+ }
43864
43956
  }, {
43865
43957
  key: "ShelfId",
43866
43958
  get: function get() {
@@ -44012,6 +44104,11 @@ var Grid = /*#__PURE__*/function () {
44012
44104
  set: function set(val) {
44013
44105
  this.disabledByRule = val;
44014
44106
  }
44107
+ }, {
44108
+ key: "DisableCellsByMeasures",
44109
+ get: function get() {
44110
+ return this.disableCellsByMeasures;
44111
+ }
44015
44112
  }, {
44016
44113
  key: "ArticleRelationsForOtherGroups",
44017
44114
  get: function get() {