@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
@@ -1560,6 +1560,16 @@ var ArticleOptionData = /*#__PURE__*/function () {
1560
1560
  get: function get() {
1561
1561
  return this.opt.catalogOPT.onlyVisibleIfNotDocked;
1562
1562
  }
1563
+ }, {
1564
+ key: "onlyVisibleIfConfigSingle",
1565
+ get: function get() {
1566
+ return this.opt.catalogOPT.onlyVisibleIfConfigSingle;
1567
+ }
1568
+ }, {
1569
+ key: "onlyVisibleIfConfigAll",
1570
+ get: function get() {
1571
+ return this.opt.catalogOPT.onlyVisibleIfConfigAll;
1572
+ }
1563
1573
  }, {
1564
1574
  key: "isDefaultValueForOptions",
1565
1575
  get: function get() {
@@ -16533,6 +16543,9 @@ var CatalogArticleData = /*#__PURE__*/function () {
16533
16543
  case 'HAS3D':
16534
16544
  this.catalogArticle.isVisualized = prop.Value;
16535
16545
  break;
16546
+ case 'OPTIONS_FOR_PRINT':
16547
+ this.catalogArticle.optionsForPrint = prop.Value.split(';');
16548
+ break;
16536
16549
  default:
16537
16550
  if (_key.includes('__')) break;
16538
16551
  var values = prop.Value.split(';');
@@ -16968,6 +16981,11 @@ var CatalogArticleData = /*#__PURE__*/function () {
16968
16981
  get: function get() {
16969
16982
  return this.catalogArticle.usePRGasOPVArticleNr;
16970
16983
  }
16984
+ }, {
16985
+ key: "optionsForPrint",
16986
+ get: function get() {
16987
+ return this.catalogArticle.optionsForPrint;
16988
+ }
16971
16989
  //tabGroup can include an optionCodex to reference a tabgroup or a tabgroup -> this was made for translation purposes
16972
16990
  }, {
16973
16991
  key: "tabGroup",
@@ -17968,6 +17986,12 @@ var OptionCatalogData = /*#__PURE__*/function () {
17968
17986
  case 'ONLY_VISIBLE_IF_NOT_UNDOCK':
17969
17987
  this.opt.onlyVisibleIfNotDocked = prop.Value;
17970
17988
  break;
17989
+ case 'ONLY_VIDSIBLE_IF_CONFIG_SINGLE':
17990
+ this.opt.onlyVisibleIfConfigSingle = prop.Value;
17991
+ break;
17992
+ case 'ONLY_VIDSIBLE_IF_CONFIG_ALL':
17993
+ this.opt.onlyVisibleIfConfigAll = prop.Value;
17994
+ break;
17971
17995
  case 'ISDEFAULTVALUEFOROPTIONS':
17972
17996
  this.opt.isDefaultValueForOptions = prop.Value;
17973
17997
  break;
@@ -18129,6 +18153,16 @@ var OptionCatalogData = /*#__PURE__*/function () {
18129
18153
  // deprecated: was used for Bail amalfi accessoires
18130
18154
  return this.opt.onlyVisibleIfNotDocked;
18131
18155
  }
18156
+ }, {
18157
+ key: "onlyVisibleIfConfigSingle",
18158
+ get: function get() {
18159
+ return this.opt.onlyVisibleIfConfigSingle;
18160
+ }
18161
+ }, {
18162
+ key: "onlyVisibleIfConfigAll",
18163
+ get: function get() {
18164
+ return this.opt.onlyVisibleIfConfigAll;
18165
+ }
18132
18166
  }, {
18133
18167
  key: "isDefaultValueForOptions",
18134
18168
  get: function get() {
@@ -19996,9 +20030,11 @@ var catalogHandlerInstance = new DivaCatalogHandler();
19996
20030
  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; }
19997
20031
  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(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; }
19998
20032
  var ArticleOptionStateData = /*#__PURE__*/function () {
19999
- function ArticleOptionStateData(option, defaultOPV, useIsOptionDefinedWarning) {
20033
+ function ArticleOptionStateData(option, getIsConfigSingle, defaultOPV, useIsOptionDefinedWarning) {
20000
20034
  _classCallCheck(this, ArticleOptionStateData);
20001
20035
  _defineProperty(this, "articleOptionState", void 0);
20036
+ _defineProperty(this, "getIsConfigSingle", void 0);
20037
+ this.getIsConfigSingle = getIsConfigSingle;
20002
20038
  this.articleOptionState = {
20003
20039
  option: option,
20004
20040
  name: '',
@@ -20255,7 +20291,7 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
20255
20291
  key: "isDoShow",
20256
20292
  get: function get() {
20257
20293
  var _this$val4;
20258
- return this.articleOptionState.doShow && (!((_this$val4 = this.val) !== null && _this$val4 !== void 0 && _this$val4.isNotRelevant) || this.visibleCount > 1);
20294
+ 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());
20259
20295
  },
20260
20296
  set: function set(doShow) {
20261
20297
  this.articleOptionState.doShow = doShow;
@@ -20635,8 +20671,8 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
20635
20671
  }
20636
20672
  }, {
20637
20673
  key: "cloneOptionState",
20638
- value: function cloneOptionState() {
20639
- var clonedOps = new ArticleOptionStateData(this.option);
20674
+ value: function cloneOptionState(getIsConfigSingle) {
20675
+ var clonedOps = new ArticleOptionStateData(this.option, getIsConfigSingle);
20640
20676
  clonedOps.articleOptionState = _objectSpread$f(_objectSpread$f({}, this.articleOptionState), {}, {
20641
20677
  imageOPVs: _objectSpread$f({}, this.articleOptionState.imageOPVs),
20642
20678
  visibleOPVs: _objectSpread$f({}, this.articleOptionState.visibleOPVs),
@@ -20664,6 +20700,9 @@ var DivaArticle = /*#__PURE__*/function () {
20664
20700
  _defineProperty(this, "actPlannerData", void 0);
20665
20701
  //Hier steht die aktuelle Konfiguration
20666
20702
  _defineProperty(this, "decisionDebugStacks", []);
20703
+ _defineProperty(this, "getIsConfigSingle", function () {
20704
+ return _this.set.configSingle;
20705
+ });
20667
20706
  _defineProperty(this, "getPreviousPartlistArticle", function (articleCodex) {
20668
20707
  var _this$article$previou;
20669
20708
  var prevPartlistArticles = (_this$article$previou = _this.article.previousPartlistArticles) !== null && _this$article$previou !== void 0 ? _this$article$previou : {};
@@ -21145,9 +21184,10 @@ var DivaArticle = /*#__PURE__*/function () {
21145
21184
  key: "getArticleOptionStatesWithOptionsForPrint",
21146
21185
  value: function getArticleOptionStatesWithOptionsForPrint() {
21147
21186
  var opsObj = _objectSpread$e({}, this.articleOptionStates);
21148
- if (this.article.optionsForPrint) {
21149
- for (var i = 0; i < this.article.optionsForPrint.length; i++) {
21150
- var ops = this.getArticleOptionState(this.article.optionsForPrint[i]);
21187
+ var optionsForPrint = this.optionsForPrint;
21188
+ if (optionsForPrint.length) {
21189
+ for (var i = 0; i < optionsForPrint.length; i++) {
21190
+ var ops = this.getArticleOptionState(optionsForPrint[i], undefined, true);
21151
21191
  if (ops) opsObj[ops.optionCodex] = ops;
21152
21192
  }
21153
21193
  }
@@ -21230,9 +21270,9 @@ var DivaArticle = /*#__PURE__*/function () {
21230
21270
  }, {
21231
21271
  key: "name",
21232
21272
  get: function get() {
21233
- var _this$article$actDesc, _this$article$options;
21273
+ var _this$article$actDesc, _this$optionsForPrint;
21234
21274
  var ret = (_this$article$actDesc = this.article.actDescription) !== null && _this$article$actDesc !== void 0 ? _this$article$actDesc : this.catalogArticleName;
21235
- 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)) {
21275
+ if (this.RetailPrefix != 'SAP' && this.article.ruleDesc && this.article.ruleDesc != '' && !((_this$optionsForPrint = this.optionsForPrint) !== null && _this$optionsForPrint !== void 0 && _this$optionsForPrint.length)) {
21236
21276
  var ruleDesc = this.article.ruleDesc;
21237
21277
  if (!this.set.api.ruleDescWithoutParenthesis()) ruleDesc = '(' + ruleDesc + ')';
21238
21278
  ret += ' ' + (this.CatalogData.addNewLineBeforRuleDesc ? this.set.api.ruleDescSeperator() : '') + ruleDesc;
@@ -21269,7 +21309,10 @@ var DivaArticle = /*#__PURE__*/function () {
21269
21309
  }, {
21270
21310
  key: "optionsForPrint",
21271
21311
  get: function get() {
21272
- return this.article.optionsForPrint;
21312
+ var _this$article$options, _this$catalogArticle$;
21313
+ return [].concat(_toConsumableArray((_this$article$options = this.article.optionsForPrint) !== null && _this$article$options !== void 0 ? _this$article$options : []), _toConsumableArray((_this$catalogArticle$ = this.catalogArticle.optionsForPrint) !== null && _this$catalogArticle$ !== void 0 ? _this$catalogArticle$ : [])).map(function (o) {
21314
+ return 'OPT' + o;
21315
+ });
21273
21316
  }
21274
21317
  }, {
21275
21318
  key: "image",
@@ -21386,19 +21429,19 @@ var DivaArticle = /*#__PURE__*/function () {
21386
21429
  }
21387
21430
  }, {
21388
21431
  key: "getArticleOptionState",
21389
- value: function getArticleOptionState(codex, from) {
21432
+ value: function getArticleOptionState(codex, from, checkOnAccessoireParent) {
21390
21433
  var _this$partListParentA10, _this$partListParentA11, _this$partlistArticle3;
21391
21434
  if (this.articleOptionStatesData[codex]) {
21392
21435
  return this.articleOptionStatesData[codex];
21393
21436
  }
21394
- 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)) {
21395
- return this.partListParentArticle.getArticleOptionState(codex, this.basketId);
21437
+ 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)) {
21438
+ return this.partListParentArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21396
21439
  }
21397
21440
  if (Object.keys((_this$partlistArticle3 = this.partlistArticles) !== null && _this$partlistArticle3 !== void 0 ? _this$partlistArticle3 : {}).length > 0) {
21398
21441
  for (var key in this.partlistArticles) {
21399
21442
  if (from === key) continue;
21400
21443
  var partlistArticle = this.partlistArticles[key];
21401
- var ops = partlistArticle.getArticleOptionState(codex, this.basketId);
21444
+ var ops = partlistArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21402
21445
  if (ops) return ops;
21403
21446
  }
21404
21447
  }
@@ -21417,6 +21460,10 @@ var DivaArticle = /*#__PURE__*/function () {
21417
21460
  }
21418
21461
  }
21419
21462
  }
21463
+ if (checkOnAccessoireParent && this.accessoireParentArticle) {
21464
+ var _ops2 = this.accessoireParentArticle.getArticleOptionState(codex, this.basketId, checkOnAccessoireParent);
21465
+ if (_ops2) return _ops2;
21466
+ }
21420
21467
  return this.articleOptionStatesData[codex];
21421
21468
  //kann sein dass die OCD der Option dem codex entspricht
21422
21469
  }
@@ -21631,7 +21678,7 @@ var DivaArticle = /*#__PURE__*/function () {
21631
21678
  }, {
21632
21679
  key: "dockedOnAV",
21633
21680
  value: function dockedOnAV(type) {
21634
- return articleHandlerInstance.dockedOnAV(type, this);
21681
+ return articleHandlerInstance.dockedOnAV('AV' + type, this);
21635
21682
  }
21636
21683
  }, {
21637
21684
  key: "accessoireParentArticle",
@@ -22351,6 +22398,9 @@ var DivaArticle = /*#__PURE__*/function () {
22351
22398
  if (actArticleOptionState[refOptCodex].visibleOptionValues[_iKey]) {
22352
22399
  actArticleOptionState[refOptCodex].defaultOPV = curOpvValue;
22353
22400
  optToChange[refOptCodex] = curOpvValue;
22401
+ if (optToChange[opt + '_val']) {
22402
+ optToChange[refOptCodex + '_val'] = optToChange[opt + '_val'];
22403
+ }
22354
22404
  opvIsValid = true;
22355
22405
  }
22356
22406
  break;
@@ -22474,9 +22524,9 @@ var DivaArticle = /*#__PURE__*/function () {
22474
22524
  }
22475
22525
  //fallback for pfister classification usecase
22476
22526
  for (var _iKey2 in this.articleOptionStates) {
22477
- var _ops2 = this.articleOptionStates[_iKey2];
22478
- if (_ops2.option.ocd == optionCodex && optionCodex !== null && optionCodex !== void 0 && optionCodex.startsWith('OPTOPT') && (parentOptionCodex == '' || parentOptionCodex == _ops2.option.parentOptionCodex)) {
22479
- return this.checkOptionSearchOPV(_ops2.option, optionValueCodex, ret);
22527
+ var _ops3 = this.articleOptionStates[_iKey2];
22528
+ if (_ops3.option.ocd == optionCodex && optionCodex !== null && optionCodex !== void 0 && optionCodex.startsWith('OPTOPT') && (parentOptionCodex == '' || parentOptionCodex == _ops3.option.parentOptionCodex)) {
22529
+ return this.checkOptionSearchOPV(_ops3.option, optionValueCodex, ret);
22480
22530
  }
22481
22531
  }
22482
22532
  }
@@ -22564,15 +22614,15 @@ var DivaArticle = /*#__PURE__*/function () {
22564
22614
  value: function validateAndSetNewConfigValues(newConfigValues) {
22565
22615
  var freeTextValues = {};
22566
22616
  for (var key in newConfigValues) {
22567
- var _ops3, _ops4, _newConfigValues$key;
22617
+ var _ops4, _ops5, _newConfigValues$key;
22568
22618
  var ops = this.getArticleOptionState(key);
22569
22619
  var _this$parentOptionCod3 = this.parentOptionCodex(key),
22570
22620
  optionCodex = _this$parentOptionCod3.optionCodex,
22571
22621
  partenOptionCodex = _this$parentOptionCod3.partenOptionCodex;
22572
- if ((_ops3 = ops) !== null && _ops3 !== void 0 && _ops3.isMultiselect) {
22622
+ if ((_ops4 = ops) !== null && _ops4 !== void 0 && _ops4.isMultiselect) {
22573
22623
  ops = this.handleMultiselect(ops, newConfigValues, key);
22574
22624
  }
22575
- if ((_ops4 = ops) !== null && _ops4 !== void 0 && _ops4.isFreeText) {
22625
+ if ((_ops5 = ops) !== null && _ops5 !== void 0 && _ops5.isFreeText) {
22576
22626
  this.handleFreeText(ops, newConfigValues, key, freeTextValues);
22577
22627
  }
22578
22628
  var opvCodex = (_newConfigValues$key = newConfigValues[key]) === null || _newConfigValues$key === void 0 ? void 0 : _newConfigValues$key.split(';')[0];
@@ -22583,8 +22633,8 @@ var DivaArticle = /*#__PURE__*/function () {
22583
22633
  var myFreeText = foundItem.opv.isFreeText ? newConfigValues[optionCodex + '_val'] : undefined;
22584
22634
  this.updateArtOPV(foundItem.opv, foundItem.opt.codex, this.getArticleOptionState(foundItem.opt.codex), myFreeText);
22585
22635
  } else {
22586
- var _ops5;
22587
- if (ops && !((_ops5 = ops) !== null && _ops5 !== void 0 && _ops5.isFreeText)) {
22636
+ var _ops6;
22637
+ if (ops && !((_ops6 = ops) !== null && _ops6 !== void 0 && _ops6.isFreeText)) {
22588
22638
  // to initialize freetexts where the freetext is not the only selectable opv in the options
22589
22639
  this.checkIfSelectableOpvIsFreetext(ops, opvCodex, newConfigValues);
22590
22640
  }
@@ -23049,7 +23099,7 @@ var DivaArticle = /*#__PURE__*/function () {
23049
23099
  //die Klasse ArticleOptionState wird einfach neu initialisiert
23050
23100
  var oldOPS = this.getArticleOptionState(optionCodex);
23051
23101
  var option = oldOPS.option;
23052
- 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);
23102
+ 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);
23053
23103
  optionState.isDisabled = true;
23054
23104
  this.uploadOptionState(optionState);
23055
23105
  }
@@ -23118,9 +23168,7 @@ var DivaArticle = /*#__PURE__*/function () {
23118
23168
  _this3 = this;
23119
23169
  var allDecisions = this.article.catalogArticle.articleDecisions;
23120
23170
  var decisions = myPartListPos.PartListPosDecisionsAndPosCounts;
23121
- var optionsForPrint = (_myPartListPos$Option = myPartListPos.OptionsForPrint) === null || _myPartListPos$Option === void 0 ? void 0 : _myPartListPos$Option.split(';').map(function (o) {
23122
- return 'OPT' + o;
23123
- });
23171
+ var optionsForPrint = (_myPartListPos$Option = myPartListPos.OptionsForPrint) === null || _myPartListPos$Option === void 0 ? void 0 : _myPartListPos$Option.split(';');
23124
23172
  var optionImgForPrint = myPartListPos.OptionImgForPrint ? 'OPT' + myPartListPos.OptionImgForPrint : undefined;
23125
23173
  var _loop = function _loop() {
23126
23174
  var myRuleDesc = '';
@@ -23492,13 +23540,13 @@ var DivaArticle = /*#__PURE__*/function () {
23492
23540
  for (var f = 0; f < doAlsoCheckOPTs.length; f++) {
23493
23541
  var _myDoc$Row;
23494
23542
  var checkOptX = doAlsoCheckOPTs[f];
23495
- var _ops6 = this.getArticleOptionState(checkOptX);
23496
- if (_ops6 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops6.valCodex && !myDoc.Row[checkOptX].includes(_ops6.valCodex)) {
23543
+ var _ops7 = this.getArticleOptionState(checkOptX);
23544
+ if (_ops7 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops7.valCodex && !myDoc.Row[checkOptX].includes(_ops7.valCodex)) {
23497
23545
  if (!myDoc.Row[checkOptX].find(function (o) {
23498
23546
  return !o.startsWith('!');
23499
23547
  })) {
23500
23548
  //all is inverted
23501
- if (myDoc.Row[checkOptX].includes('!' + _ops6.valCodex)) {
23549
+ if (myDoc.Row[checkOptX].includes('!' + _ops7.valCodex)) {
23502
23550
  doUseDoc = false;
23503
23551
  break;
23504
23552
  }
@@ -23922,7 +23970,7 @@ var DivaArticle = /*#__PURE__*/function () {
23922
23970
  }, {
23923
23971
  key: "updateShelfPlannerState",
23924
23972
  value: function () {
23925
- var _updateShelfPlannerState = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
23973
+ var _updateShelfPlannerState = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(variantValues) {
23926
23974
  var _this$doorPlanner;
23927
23975
  var j3D, _yield$import, ShelfPlanner;
23928
23976
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -23934,7 +23982,7 @@ var DivaArticle = /*#__PURE__*/function () {
23934
23982
  break;
23935
23983
  }
23936
23984
  _context.next = 4;
23937
- return import('./ShelfPlanner-04894610.js');
23985
+ return import('./ShelfPlanner-50ca81aa.js');
23938
23986
  case 4:
23939
23987
  _yield$import = _context.sent;
23940
23988
  ShelfPlanner = _yield$import["default"];
@@ -23971,14 +24019,14 @@ var DivaArticle = /*#__PURE__*/function () {
23971
24019
  return this.shelfPlanner.setIsVisible(true);
23972
24020
  case 21:
23973
24021
  _context.next = 23;
23974
- return this.shelfPlanner.onConfigChanged();
24022
+ return this.shelfPlanner.onConfigChanged(variantValues);
23975
24023
  case 23:
23976
24024
  case "end":
23977
24025
  return _context.stop();
23978
24026
  }
23979
24027
  }, _callee, this);
23980
24028
  }));
23981
- function updateShelfPlannerState() {
24029
+ function updateShelfPlannerState(_x) {
23982
24030
  return _updateShelfPlannerState.apply(this, arguments);
23983
24031
  }
23984
24032
  return updateShelfPlannerState;
@@ -23987,7 +24035,7 @@ var DivaArticle = /*#__PURE__*/function () {
23987
24035
  key: "calcConfigPrice",
23988
24036
  value: function calcConfigPrice(maxPriceOfGroupCodex, digits) {
23989
24037
  var _this4 = this,
23990
- _this$catalogArticle$;
24038
+ _this$catalogArticle$2;
23991
24039
  //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.
23992
24040
  //wenn ja, hier neues shape übergeben
23993
24041
  if (this.articleType === 'FLAT') return;
@@ -24187,7 +24235,7 @@ var DivaArticle = /*#__PURE__*/function () {
24187
24235
 
24188
24236
  //Wenn der Artikel über IDM einnen Längen/Flächenabhängigen Preis hat, dann entspricht der aktuelle Preis nur einer Einheit
24189
24237
  //dieser muss jetzt m it entsprechenden Massen multipliziert werden
24190
- if (articleUsedCalcPrice > 0 && ((_this$catalogArticle$ = this.catalogArticle.basicUnitPrice) !== null && _this$catalogArticle$ !== void 0 ? _this$catalogArticle$ : 0) > 0 && idmPriceMeasureFactor > 1) {
24238
+ if (articleUsedCalcPrice > 0 && ((_this$catalogArticle$2 = this.catalogArticle.basicUnitPrice) !== null && _this$catalogArticle$2 !== void 0 ? _this$catalogArticle$2 : 0) > 0 && idmPriceMeasureFactor > 1) {
24191
24239
  articleUsedCalcPrice = articleUsedCalcPrice * idmPriceMeasureFactor / this.catalogArticle.basicUnitPrice;
24192
24240
  }
24193
24241
  this.article.price = articleUsedCalcPrice;
@@ -24356,16 +24404,16 @@ var DivaArticle = /*#__PURE__*/function () {
24356
24404
  }
24357
24405
  }
24358
24406
  for (var _key4 in myValues) {
24359
- var _ops7 = this.getArticleOptionState(_key4);
24360
- if (_ops7) {
24407
+ var _ops8 = this.getArticleOptionState(_key4);
24408
+ if (_ops8) {
24361
24409
  validValues[_key4] = myValues[_key4];
24362
24410
  } else if (_key4.endsWith('_val') && this.getArticleOptionState(_key4.replace(/_val/g, ''))) {
24363
24411
  validValues[_key4] = myValues[_key4];
24364
24412
  } else {
24365
24413
  for (var _opt in this.articleOptionStates) {
24366
- var _ops8 = this.articleOptionStates[_opt];
24414
+ var _ops9 = this.articleOptionStates[_opt];
24367
24415
  if (this.articleOptionStates[_opt].optionOcd == _key4) {
24368
- var values = this.checkOptionSearchOPV(_ops8.option, myValues[_key4], {});
24416
+ var values = this.checkOptionSearchOPV(_ops9.option, myValues[_key4], {});
24369
24417
  if (values !== null && values !== void 0 && values.opv) validValues[_opt] = values.opv.codex;
24370
24418
  }
24371
24419
  }
@@ -24685,7 +24733,7 @@ var DivaArticle = /*#__PURE__*/function () {
24685
24733
  }
24686
24734
  if (myArtOption.isDoShow && !doHideSizeOption && myArtOption.val) {
24687
24735
  if (myArtOption.visibleCount > 0) {
24688
- var _myArtOption$valName_, _this$article$options2, _this$article$options3, _myArtOption$val;
24736
+ var _myArtOption$valName_, _this$optionsForPrint2, _this$optionsForPrint3, _myArtOption$val;
24689
24737
  var isfreeText = false,
24690
24738
  isMeasureValue = false,
24691
24739
  freeText = undefined,
@@ -24727,7 +24775,7 @@ var DivaArticle = /*#__PURE__*/function () {
24727
24775
  TabGroup_locales: myArtOption.optionTabGroup_locales,
24728
24776
  SendToSAP: myArtOption.option.sendToSAP,
24729
24777
  ArticlePlaceholder: myArtOption.option.articlePlaceholder,
24730
- 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)),
24778
+ 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)),
24731
24779
  HideInOrderText: myArtOption.hideInOrderText,
24732
24780
  IsDescribingState: myArtOption.isDescribingState,
24733
24781
  FreeTextLang: myArtOption.freeTextLang,
@@ -24856,7 +24904,7 @@ var DivaArticle = /*#__PURE__*/function () {
24856
24904
  value: function cloneArticle(set) {
24857
24905
  var clonedArticle = new DivaArticle(set, this.basketId, _objectSpread$e({}, this.article), this.article.catalogArticle, set.CatalogData);
24858
24906
  for (var key in this.articleOptionStates) {
24859
- clonedArticle.articleOptionStates[key] = this.articleOptionStates[key].cloneOptionState();
24907
+ clonedArticle.articleOptionStates[key] = this.articleOptionStates[key].cloneOptionState(clonedArticle.getIsConfigSingle);
24860
24908
  }
24861
24909
  clonedArticle.article.partlistArticles = {};
24862
24910
  clonedArticle.article.previousPartlistArticles = {};
@@ -25356,7 +25404,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
25356
25404
  for (key in myCatalogArticleOptions) {
25357
25405
  //Hier wird mal geschaut, ob der aktuelle Artikel alle Optionen schon initialisiert hat.
25358
25406
  if (!articleOptionState[key]) {
25359
- optionState = new ArticleOptionStateData(myCatalogArticleOptions[key], undefined, (_article$set$ViewConf = article.set.ViewConfig) === null || _article$set$ViewConf === void 0 ? void 0 : _article$set$ViewConf.useIsOptionDefinedWarning);
25407
+ 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);
25360
25408
  article.uploadOptionState(optionState); //alle Optionen erstellen
25361
25409
  }
25362
25410
  }
@@ -25527,7 +25575,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
25527
25575
  break;
25528
25576
  }
25529
25577
  _context10.next = 9;
25530
- return article.updateShelfPlannerState();
25578
+ return article.updateShelfPlannerState(newConfigValues);
25531
25579
  case 9:
25532
25580
  if (!(!dontCalcPrice && !calcVariantPrice)) {
25533
25581
  _context10.next = 12;
@@ -28611,7 +28659,7 @@ var DivaSet = /*#__PURE__*/function () {
28611
28659
  break;
28612
28660
  }
28613
28661
  _context5.next = 3;
28614
- return import('./DoorPlanner-148acdce.js');
28662
+ return import('./DoorPlanner-f70b9496.js');
28615
28663
  case 3:
28616
28664
  _yield$import = _context5.sent;
28617
28665
  DoorPlanner = _yield$import["default"];
@@ -32356,7 +32404,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32356
32404
  break;
32357
32405
  }
32358
32406
  _context17.next = 18;
32359
- return parentArticle.shelfPlanner.onConfigChanged();
32407
+ return parentArticle.shelfPlanner.onConfigChanged({});
32360
32408
  case 18:
32361
32409
  _context17.next = 22;
32362
32410
  break;
@@ -32436,7 +32484,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32436
32484
  case 7:
32437
32485
  accessoire = _context18.sent;
32438
32486
  _context18.next = 10;
32439
- return accessoire.updateShelfPlannerState();
32487
+ return accessoire.updateShelfPlannerState({});
32440
32488
  case 10:
32441
32489
  articleHandlerInstance.initCfgValues(accessoire, {});
32442
32490
  _context18.next = 13;
@@ -32616,7 +32664,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
32616
32664
  return this.deleteElementFromSet(set, articeToDelete, false, undefined, dontReload);
32617
32665
  case 7:
32618
32666
  _context20.next = 9;
32619
- return parentArticle === null || parentArticle === void 0 || (_parentArticle$shelfP3 = parentArticle.shelfPlanner) === null || _parentArticle$shelfP3 === void 0 ? void 0 : _parentArticle$shelfP3.onConfigChanged();
32667
+ return parentArticle === null || parentArticle === void 0 || (_parentArticle$shelfP3 = parentArticle.shelfPlanner) === null || _parentArticle$shelfP3 === void 0 ? void 0 : _parentArticle$shelfP3.onConfigChanged({});
32620
32668
  case 9:
32621
32669
  case "end":
32622
32670
  return _context20.stop();
@@ -35376,7 +35424,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35376
35424
  break;
35377
35425
  case 3:
35378
35426
  _context12.next = 5;
35379
- return import('./PfisterWWSHandler-192c533f.js');
35427
+ return import('./PfisterWWSHandler-afca2bc9.js');
35380
35428
  case 5:
35381
35429
  _yield$import = _context12.sent;
35382
35430
  PfisterWWSHandler = _yield$import["default"];
@@ -35384,7 +35432,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35384
35432
  return _context12.abrupt("break", 27);
35385
35433
  case 9:
35386
35434
  _context12.next = 11;
35387
- return import('./LiviqueWWSHandler-35ccc2a7.js');
35435
+ return import('./LiviqueWWSHandler-e6eae72b.js');
35388
35436
  case 11:
35389
35437
  _yield$import2 = _context12.sent;
35390
35438
  LiviqueWWSHandler = _yield$import2["default"];
@@ -35392,7 +35440,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35392
35440
  return _context12.abrupt("break", 27);
35393
35441
  case 15:
35394
35442
  _context12.next = 17;
35395
- return import('./SeriousBasketHandler-eaffc24a.js');
35443
+ return import('./SeriousBasketHandler-9c064215.js');
35396
35444
  case 17:
35397
35445
  _yield$import3 = _context12.sent;
35398
35446
  SeriousWWSHandler = _yield$import3["default"];
@@ -35400,7 +35448,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35400
35448
  return _context12.abrupt("break", 27);
35401
35449
  case 21:
35402
35450
  _context12.next = 23;
35403
- return import('./StandardWWSHandler-3dc1b254.js');
35451
+ return import('./StandardWWSHandler-1035f751.js');
35404
35452
  case 23:
35405
35453
  _yield$import4 = _context12.sent;
35406
35454
  StandardWWSHandler = _yield$import4["default"];
@@ -36843,7 +36891,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36843
36891
  while (1) switch (_context3.prev = _context3.next) {
36844
36892
  case 0:
36845
36893
  _context3.next = 2;
36846
- return import('./Host3DSignalR-5799fcaf.js');
36894
+ return import('./Host3DSignalR-46ebbf05.js');
36847
36895
  case 2:
36848
36896
  _yield$import = _context3.sent;
36849
36897
  Host3DSignalR = _yield$import["default"];
@@ -38408,7 +38456,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38408
38456
  break;
38409
38457
  case 8:
38410
38458
  _context4.next = 10;
38411
- return import('./DivaStandardPlanner-0896e8e2.js');
38459
+ return import('./DivaStandardPlanner-59084a0f.js');
38412
38460
  case 10:
38413
38461
  _yield$import = _context4.sent;
38414
38462
  DivaStandardPlanner = _yield$import["default"];
@@ -38419,7 +38467,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38419
38467
  return _context4.abrupt("break", 21);
38420
38468
  case 15:
38421
38469
  _context4.next = 17;
38422
- return import('./DivaBoxPlanner-7e24e413.js');
38470
+ return import('./DivaBoxPlanner-853509f6.js');
38423
38471
  case 17:
38424
38472
  _yield$import2 = _context4.sent;
38425
38473
  DivaBoxPlanner = _yield$import2["default"];
@@ -42951,6 +42999,8 @@ var Grid = /*#__PURE__*/function () {
42951
42999
  _defineProperty(this, "articleRelationsForOtherGroups", void 0);
42952
43000
  //if in theis grid an shelfaccessoire is planned laod this article aswell
42953
43001
  _defineProperty(this, "montageOptions", void 0);
43002
+ //disableCellsByFreeText
43003
+ _defineProperty(this, "disableCellsByMeasures", void 0);
42954
43004
  //this option gets triggered when the shelfplanner is visible and set back when navigating out of shelfstep
42955
43005
  _defineProperty(this, "visitOption", void 0);
42956
43006
  //this field allows the shelfplanner on the rule the cellCount and ArticleRelations can change
@@ -42976,6 +43026,7 @@ var Grid = /*#__PURE__*/function () {
42976
43026
  this.showAfterOPT = data.ShowAfterOPT;
42977
43027
  this.showOnRule = grid.ShowOnRule;
42978
43028
  this.montageOptions = grid.MontageOptions;
43029
+ this.disableCellsByMeasures = grid.DisableCellsByMeasures;
42979
43030
  this.visitOption = grid.VisitOption;
42980
43031
  this.shelfId = 'SHELFARTICLE_' + article.basketId + '_' + index;
42981
43032
  this.heightGridCellCountOnRule = data.ShelfPlanner[index].HeightGridCellCountOnRule;
@@ -43311,7 +43362,7 @@ var Grid = /*#__PURE__*/function () {
43311
43362
  case 2:
43312
43363
  dontOverwriteOptions = [];
43313
43364
  _loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
43314
- var option, inUseCell, specificAccessoire, options, j, optionCodex, montageOptionState;
43365
+ var option, inUseCell, specificAccessoire, options, j, optionCodex, montageOptionState, _this$article$shelfAc, rest;
43315
43366
  return _regeneratorRuntime.wrap(function _loop$(_context4) {
43316
43367
  while (1) switch (_context4.prev = _context4.next) {
43317
43368
  case 0:
@@ -43319,42 +43370,61 @@ var Grid = /*#__PURE__*/function () {
43319
43370
  inUseCell = _this.cells.find(function (c, i) {
43320
43371
  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);
43321
43372
  });
43322
- specificAccessoire = option.accessoires && inUseCell !== null && inUseCell !== void 0 && inUseCell.Article ? [inUseCell.Article] : undefined;
43373
+ specificAccessoire = [];
43374
+ 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)) {
43375
+ if (inUseCell.Article) specificAccessoire.push(inUseCell.Article);
43376
+ }
43323
43377
  options = Array.isArray(option.optionCodex) ? option.optionCodex : [option.optionCodex];
43324
43378
  j = 0;
43325
- case 5:
43379
+ case 6:
43326
43380
  if (!(j < options.length)) {
43327
- _context4.next = 23;
43381
+ _context4.next = 29;
43328
43382
  break;
43329
43383
  }
43330
43384
  optionCodex = options[j];
43331
43385
  montageOptionState = _this.article.getArticleOptionState('OPT' + optionCodex);
43332
43386
  if (!dontOverwriteOptions.includes(optionCodex)) {
43333
- _context4.next = 10;
43387
+ _context4.next = 11;
43334
43388
  break;
43335
43389
  }
43336
- return _context4.abrupt("continue", 20);
43337
- case 10:
43390
+ return _context4.abrupt("continue", 26);
43391
+ case 11:
43338
43392
  if (!inUseCell) {
43339
- _context4.next = 17;
43393
+ _context4.next = 18;
43340
43394
  break;
43341
43395
  }
43342
43396
  if (montageOptionState) montageOptionState.val = montageOptionState.visibleOptionValues['OPVMIT'];
43343
- _context4.next = 14;
43397
+ _context4.next = 15;
43344
43398
  return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVMIT', specificAccessoire);
43345
- case 14:
43399
+ case 15:
43346
43400
  dontOverwriteOptions.push(optionCodex);
43347
- _context4.next = 20;
43401
+ _context4.next = 21;
43348
43402
  break;
43349
- case 17:
43403
+ case 18:
43350
43404
  if (montageOptionState) montageOptionState.val = montageOptionState.visibleOptionValues['OPVOHNE'];
43351
- _context4.next = 20;
43352
- return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE');
43353
- case 20:
43405
+ _context4.next = 21;
43406
+ return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE', []);
43407
+ case 21:
43408
+ if (!specificAccessoire.length) {
43409
+ _context4.next = 26;
43410
+ break;
43411
+ }
43412
+ rest = Object.values((_this$article$shelfAc = _this.article.shelfAccessoires) !== null && _this$article$shelfAc !== void 0 ? _this$article$shelfAc : {}).filter(function (a) {
43413
+ return !specificAccessoire.find(function (b) {
43414
+ return b.basketId == a.basketId;
43415
+ });
43416
+ });
43417
+ if (!rest.length) {
43418
+ _context4.next = 26;
43419
+ break;
43420
+ }
43421
+ _context4.next = 26;
43422
+ return _this.updateAccessoireMontageOption('OPT' + optionCodex, 'OPVOHNE', rest);
43423
+ case 26:
43354
43424
  j++;
43355
- _context4.next = 5;
43425
+ _context4.next = 6;
43356
43426
  break;
43357
- case 23:
43427
+ case 29:
43358
43428
  case "end":
43359
43429
  return _context4.stop();
43360
43430
  }
@@ -43386,12 +43456,12 @@ var Grid = /*#__PURE__*/function () {
43386
43456
  key: "updateAccessoireMontageOption",
43387
43457
  value: function () {
43388
43458
  var _updateAccessoireMontageOption = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(optionCodex, optionValueCodex, accessoires) {
43389
- var _this$article$shelfAc;
43459
+ var _this$article$shelfAc2;
43390
43460
  var i;
43391
43461
  return _regeneratorRuntime.wrap(function _callee5$(_context6) {
43392
43462
  while (1) switch (_context6.prev = _context6.next) {
43393
43463
  case 0:
43394
- if (!accessoires) accessoires = Object.values((_this$article$shelfAc = this.article.shelfAccessoires) !== null && _this$article$shelfAc !== void 0 ? _this$article$shelfAc : {});
43464
+ if (!accessoires.length) accessoires = Object.values((_this$article$shelfAc2 = this.article.shelfAccessoires) !== null && _this$article$shelfAc2 !== void 0 ? _this$article$shelfAc2 : {});
43395
43465
  i = 0;
43396
43466
  case 2:
43397
43467
  if (!(i < accessoires.length)) {
@@ -43844,6 +43914,28 @@ var Grid = /*#__PURE__*/function () {
43844
43914
  }
43845
43915
  return true;
43846
43916
  }
43917
+ }, {
43918
+ key: "getCellCount",
43919
+ value: function getCellCount(dp) {
43920
+ var count = this.cells.length;
43921
+ if (this.DisableCellsByMeasures) {
43922
+ var lowestMeasure = undefined;
43923
+ var options = this.DisableCellsByMeasures.options;
43924
+ for (var i = 0; i < options.length; i++) {
43925
+ if (options[i].dp && dp && dp == options[i].dp) continue;
43926
+ var o = options[i].opt;
43927
+ var ops = this.article.getArticleOptionState('OPT' + o);
43928
+ if (!ops) continue;
43929
+ if (!isNaN(Number(ops.freeText)) && (lowestMeasure === undefined || lowestMeasure > Number(ops.freeText))) lowestMeasure = Number(ops.freeText);
43930
+ }
43931
+ if (lowestMeasure) {
43932
+ var ratio = this.DisableCellsByMeasures.maxMeasure / this.cells.length;
43933
+ var rest = this.DisableCellsByMeasures.maxMeasure - lowestMeasure;
43934
+ count = this.cells.length - Math.round(rest / ratio);
43935
+ }
43936
+ }
43937
+ return count;
43938
+ }
43847
43939
  }, {
43848
43940
  key: "ShelfId",
43849
43941
  get: function get() {
@@ -43995,6 +44087,11 @@ var Grid = /*#__PURE__*/function () {
43995
44087
  set: function set(val) {
43996
44088
  this.disabledByRule = val;
43997
44089
  }
44090
+ }, {
44091
+ key: "DisableCellsByMeasures",
44092
+ get: function get() {
44093
+ return this.disableCellsByMeasures;
44094
+ }
43998
44095
  }, {
43999
44096
  key: "ArticleRelationsForOtherGroups",
44000
44097
  get: function get() {