@crystaldesign/web-planner-logic 25.4.0-beta.46 → 25.4.0-beta.48

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 (69) hide show
  1. package/build/cjs/{DivaBoxPlanner-c3c21e39.js → DivaBoxPlanner-02bf7f84.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-bf570694.js → DivaStandardPlanner-83054c27.js} +2 -2
  3. package/build/cjs/{DoorPlanner-2977ab3a.js → DoorPlanner-d91465d3.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-18ae1779.js → Host3DSignalR-d0505d29.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-07f2698c.js → LiviqueWWSHandler-cfd55a37.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-0f3c613d.js → PfisterWWSHandler-c472cb21.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-dc3e0157.js → PlannerHandler2D-87df62a7.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-04d83f4f.js → SeriousBasketHandler-50df6529.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-d43d612b.js → ShelfPlanner-ad514889.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-1932acc8.js → StandardWWSHandler-93dd1f08.js} +1 -1
  11. package/build/cjs/{index-6cf8bb85.js → index-c3426ca1.js} +293 -198
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-803220fa.js → DivaBoxPlanner-60e27a70.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-2c51d2be.js → DivaStandardPlanner-8464bf41.js} +2 -2
  15. package/build/esm/{DoorPlanner-56b79bb0.js → DoorPlanner-5762b7da.js} +1 -1
  16. package/build/esm/{Host3DSignalR-2a46ec29.js → Host3DSignalR-3fa73b93.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-901a944e.js → LiviqueWWSHandler-f124a938.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-5415d76e.js → PfisterWWSHandler-50bcdc0d.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-882ca57f.js → PlannerHandler2D-48256f30.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-d13dde7f.js → SeriousBasketHandler-41629ab4.js} +1 -1
  21. package/build/esm/{ShelfPlanner-d8777a11.js → ShelfPlanner-f2164219.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-a81684df.js → StandardWWSHandler-e0aaaf51.js} +1 -1
  23. package/build/esm/{index-168cc353.js → index-69218309.js} +293 -198
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/index.d.ts +3 -0
  26. package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/ArticleOptionStateType.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/ArticleOptionStateType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts +18 -1
  30. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +2 -1
  32. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/interface/Articles/InitArticleType.d.ts +1 -0
  34. package/build/types/web-planner-logic/src/interface/Articles/InitArticleType.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts +2 -1
  36. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts.map +1 -1
  37. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
  38. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts +2 -1
  40. package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +1 -0
  42. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/interface/OptionTypes/DecisionType.d.ts +1 -1
  44. package/build/types/web-planner-logic/src/interface/OptionTypes/DecisionType.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts +3 -1
  46. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts.map +1 -1
  47. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +21 -15
  48. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  49. package/build/types/web-planner-logic/src/logic/Article/DivaArticleHandler.d.ts.map +1 -1
  50. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts +0 -12
  51. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts.map +1 -1
  52. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts +3 -13
  53. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  54. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +4 -16
  55. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  56. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +3 -0
  57. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
  58. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +3 -2
  59. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  60. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +5 -4
  61. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  62. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  63. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts +1 -0
  64. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts.map +1 -1
  65. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts +1 -0
  66. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts.map +1 -1
  67. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts +1 -0
  68. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
  69. package/package.json +2 -2
@@ -16192,6 +16192,11 @@ var OptionValueCatalogData = /*#__PURE__*/function () {
16192
16192
  set: function set(val) {
16193
16193
  this.opv.groupName = val;
16194
16194
  }
16195
+ }, {
16196
+ key: "origGroupName",
16197
+ get: function get() {
16198
+ return this.opv.origGroupName;
16199
+ }
16195
16200
  }, {
16196
16201
  key: "groupName_locales",
16197
16202
  get: function get() {
@@ -16620,6 +16625,11 @@ var CatalogArticleData = /*#__PURE__*/function () {
16620
16625
  get: function get() {
16621
16626
  return this._catalogArticle.groupName;
16622
16627
  }
16628
+ }, {
16629
+ key: "origGroupName",
16630
+ get: function get() {
16631
+ return this._catalogArticle.origGroupName;
16632
+ }
16623
16633
  }, {
16624
16634
  key: "groupName_locales",
16625
16635
  get: function get() {
@@ -17278,6 +17288,7 @@ function getCatalogArticle$1(jsonArticle, catalogData) {
17278
17288
  properties: [].concat(_toConsumableArray__default["default"]((_jsonArticle$Metadata = jsonArticle.Metadatas) !== null && _jsonArticle$Metadata !== void 0 ? _jsonArticle$Metadata : []), _toConsumableArray__default["default"]((_articleMask$properti = articleMask === null || articleMask === void 0 ? void 0 : articleMask.properties) !== null && _articleMask$properti !== void 0 ? _articleMask$properti : [])),
17279
17289
  image: jsonArticle.Image && jsonArticle.Image != '' ? jsonArticle.Image : undefined,
17280
17290
  groupName: (_articleMask$groupnam = articleMask === null || articleMask === void 0 || (_articleMask$groupnam2 = articleMask.groupname) === null || _articleMask$groupnam2 === void 0 ? void 0 : _articleMask$groupnam2[catalogData.api.getLanguage()]) !== null && _articleMask$groupnam !== void 0 ? _articleMask$groupnam : jsonArticle.GroupName,
17291
+ origGroupName: jsonArticle.GroupName,
17281
17292
  mainCategory: jsonArticle.MainCategory && jsonArticle.MainCategory != '' ? jsonArticle.MainCategory : undefined,
17282
17293
  width: jsonArticle.Width && jsonArticle.Width != '' ? Number(jsonArticle.Width.replace('cm', '').replace(',', '.')) : undefined,
17283
17294
  height: jsonArticle.Height && jsonArticle.Height != '' ? Number(jsonArticle.Height.replace('cm', '').replace(',', '.')) : undefined,
@@ -17416,6 +17427,7 @@ function getCatalogOptionValueDataType(codex, jsonOPV, catalogData) {
17416
17427
  description: jsonOPV.Description,
17417
17428
  description_locales: jsonOPV.Description_locales,
17418
17429
  groupName: (_mask$groupname$catal = mask === null || mask === void 0 || (_mask$groupname = mask.groupname) === null || _mask$groupname === void 0 ? void 0 : _mask$groupname[catalogData.api.getLanguage()]) !== null && _mask$groupname$catal !== void 0 ? _mask$groupname$catal : jsonOPV.GroupName && jsonOPV.GroupName != '' ? jsonOPV.GroupName : undefined,
17430
+ origGroupName: jsonOPV.GroupName && jsonOPV.GroupName != '' ? jsonOPV.GroupName : undefined,
17419
17431
  groupName_locales: (_mask$groupname2 = mask === null || mask === void 0 ? void 0 : mask.groupname) !== null && _mask$groupname2 !== void 0 ? _mask$groupname2 : jsonOPV.GroupName_locales,
17420
17432
  hiddenByMask: mask === null || mask === void 0 ? void 0 : mask.hidden,
17421
17433
  textureName: jsonOPV.TextureName && jsonOPV.TextureName != '' ? jsonOPV.TextureName : jsonOPV.PFTFile && jsonOPV.PFTFile != '' ? jsonOPV.PFTFile : undefined,
@@ -17797,6 +17809,11 @@ var ArticleOptionValueData = /*#__PURE__*/function () {
17797
17809
  get: function get() {
17798
17810
  return this.opv.catalogOPV.groupName;
17799
17811
  }
17812
+ }, {
17813
+ key: "origGroupName",
17814
+ get: function get() {
17815
+ return this.opv.catalogOPV.origGroupName;
17816
+ }
17800
17817
  }, {
17801
17818
  key: "description",
17802
17819
  get: function get() {
@@ -18165,6 +18182,11 @@ var ArticleOptionData = /*#__PURE__*/function () {
18165
18182
  get: function get() {
18166
18183
  var _this$opt$catalogOPT;
18167
18184
  if ((_this$opt$catalogOPT = this.opt.catalogOPT) !== null && _this$opt$catalogOPT !== void 0 && _this$opt$catalogOPT.maskTabgroup) return this.opt.catalogOPT.maskTabgroup;
18185
+ return this.origTabGroup;
18186
+ }
18187
+ }, {
18188
+ key: "origTabGroup",
18189
+ get: function get() {
18168
18190
  if (this.opt.subTabGroupOfSubTemplate) return this.opt.subTabGroupOfSubTemplate;
18169
18191
  return this.opt.tabGroup;
18170
18192
  }
@@ -19773,6 +19795,8 @@ var DivaCatalogData = /*#__PURE__*/function () {
19773
19795
  // is a string that can define which DPs are hidden. semicolon splitted eg: "AVC;AVR"
19774
19796
 
19775
19797
  //Konfiguration
19798
+ useDiomexConfigLogic: false,
19799
+ // configurationslogik von diomex wird angewannt. Diese erlaubt dass optionen auch keinen wert aktuell gewählt haben. hier wird nicht standardmäßig der erste wert selektiert, falls der alter wert nicht miehr gültig ist.
19776
19800
  UsePrgAsOpvArticleNr: false,
19777
19801
  // spezielle Lösung für Jutzler - bei Zubehösets ist die Artikelnummer nicht der SubArticleCodex sondern der Codex der Preisgruppe
19778
19802
  articleConfigSingle: false,
@@ -20526,6 +20550,11 @@ var DivaCatalogData = /*#__PURE__*/function () {
20526
20550
  get: function get() {
20527
20551
  return this.catalogProps.warningRules;
20528
20552
  }
20553
+ }, {
20554
+ key: "useDiomexConfigLogic",
20555
+ get: function get() {
20556
+ return this.catalogProps.useDiomexConfigLogic;
20557
+ }
20529
20558
  }, {
20530
20559
  key: "bannerRules",
20531
20560
  get: function get() {
@@ -20869,6 +20898,9 @@ var DivaCatalogData = /*#__PURE__*/function () {
20869
20898
  _this5.catalogProps.reconfigAfterArticleDocked = item.Value == '1';
20870
20899
  break;
20871
20900
  // Configuration
20901
+ case 'USE_DIOMEX_CONFIG_LOGIC':
20902
+ _this5.catalogProps.useDiomexConfigLogic = item.Value == '1';
20903
+ break;
20872
20904
  case 'USEPRGASOPVARTICLENR':
20873
20905
  _this5.catalogProps.UsePrgAsOpvArticleNr = item.Value == '1';
20874
20906
  break;
@@ -21394,6 +21426,7 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
21394
21426
  this.articleOptionState = {
21395
21427
  option: option,
21396
21428
  name: '',
21429
+ origName: '',
21397
21430
  imageOPVs: {},
21398
21431
  visibleOPVs: {},
21399
21432
  visibleOPVsImages: {},
@@ -21442,6 +21475,11 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
21442
21475
  get: function get() {
21443
21476
  return this.articleOptionState.option.tabGroup;
21444
21477
  }
21478
+ }, {
21479
+ key: "optionOrigTabGroup",
21480
+ get: function get() {
21481
+ return this.articleOptionState.option.origTabGroup;
21482
+ }
21445
21483
  }, {
21446
21484
  key: "optionTabGroup_locales",
21447
21485
  get: function get() {
@@ -21537,7 +21575,10 @@ var ArticleOptionStateData = /*#__PURE__*/function () {
21537
21575
  }, {
21538
21576
  key: "origName",
21539
21577
  get: function get() {
21540
- return this.articleOptionState.name;
21578
+ return this.articleOptionState.origName;
21579
+ },
21580
+ set: function set(newName) {
21581
+ this.articleOptionState.origName = newName;
21541
21582
  }
21542
21583
  }, {
21543
21584
  key: "valName",
@@ -22063,7 +22104,7 @@ var DivaEngine = /*#__PURE__*/function () {
22063
22104
  function DivaEngine(article) {
22064
22105
  _classCallCheck__default["default"](this, DivaEngine);
22065
22106
  _defineProperty__default["default"](this, "article", void 0);
22066
- _defineProperty__default["default"](this, "decisionDebugStacks", []);
22107
+ _defineProperty__default["default"](this, "decisionDebugStack", []);
22067
22108
  this.article = article;
22068
22109
  }
22069
22110
  return _createClass__default["default"](DivaEngine, [{
@@ -22357,8 +22398,11 @@ var DivaEngine = /*#__PURE__*/function () {
22357
22398
  if (doDefine) {
22358
22399
  ops.isDefined = true;
22359
22400
  }
22360
- var newName = this.itemInfo(myOPVItem, !ops.option.hideGroupNameInOrderText, ops.freeText);
22361
- ops.name = newName;
22401
+ var _this$itemInfo = this.itemInfo(myOPVItem, !ops.option.hideGroupNameInOrderText, ops.freeText),
22402
+ name = _this$itemInfo.name,
22403
+ origName = _this$itemInfo.origName;
22404
+ ops.name = name;
22405
+ ops.origName = origName;
22362
22406
  ops.isDoShow = true;
22363
22407
  ops.isDisabled = false;
22364
22408
  if (ops.isFreeText) {
@@ -22398,28 +22442,44 @@ var DivaEngine = /*#__PURE__*/function () {
22398
22442
  }, {
22399
22443
  key: "itemInfo",
22400
22444
  value: function itemInfo(myOPV, evalParentDesc, freeText) {
22401
- var myDesc = myOPV.description;
22402
- if (!myDesc) myDesc = myOPV.origName;
22445
+ var _myOPV$description, _myOPV$description2;
22446
+ var name = (_myOPV$description = myOPV.description) !== null && _myOPV$description !== void 0 ? _myOPV$description : myOPV.name;
22447
+ var origName = (_myOPV$description2 = myOPV.description) !== null && _myOPV$description2 !== void 0 ? _myOPV$description2 : myOPV.origName;
22403
22448
  if (myOPV.isFreeText && freeText) {
22404
22449
  if (myOPV.measureUnit) {
22405
- myDesc += ': ' + freeText + ' ' + myOPV.measureUnit;
22450
+ name += ': ' + freeText + ' ' + myOPV.measureUnit;
22451
+ origName += ': ' + freeText + ' ' + myOPV.measureUnit;
22406
22452
  } else {
22407
- myDesc += ': ' + freeText;
22453
+ name += ': ' + freeText;
22454
+ origName += ': ' + freeText;
22408
22455
  }
22409
22456
  }
22410
22457
  if (evalParentDesc) {
22411
22458
  var opvGroupName = myOPV.groupName;
22412
- if (opvGroupName && myDesc.toLowerCase().search(opvGroupName.toLowerCase()) >= 0) return (myOPV.parentName ? myOPV.parentName + ' - ' : '') + myDesc;else return (myOPV.groupName ? myOPV.groupName + ' - ' : '') + myDesc;
22459
+ if (opvGroupName && name.toLowerCase().search(opvGroupName.toLowerCase()) >= 0) return {
22460
+ name: (myOPV.parentName ? myOPV.parentName + ' - ' : '') + name,
22461
+ origName: (myOPV.parentName ? myOPV.parentName + ' - ' : '') + origName
22462
+ };else return {
22463
+ name: (myOPV.groupName ? myOPV.groupName + ' - ' : '') + name,
22464
+ origName: (myOPV.origGroupName ? myOPV.origGroupName + ' - ' : '') + origName
22465
+ };
22413
22466
  } else {
22414
- return myDesc;
22467
+ return {
22468
+ name: name,
22469
+ origName: origName
22470
+ };
22415
22471
  }
22416
22472
  }
22417
22473
  }, {
22418
22474
  key: "clearOP",
22419
- value: function clearOP(optionCodex) {
22475
+ value: function clearOP(optionCodex, keepEnalbed) {
22420
22476
  var _this$article$set$Vie;
22421
22477
  //die Klasse ArticleOptionState wird einfach neu initialisiert
22422
22478
  var oldOPS = this.article.getArticleOptionState(optionCodex);
22479
+ if (keepEnalbed) {
22480
+ oldOPS.val = undefined;
22481
+ return;
22482
+ }
22423
22483
  var option = oldOPS.option;
22424
22484
  var optionState = new ArticleOptionStateData(option, this.article.getIsConfigSingle, oldOPS.defaultOPV, (_this$article$set$Vie = this.article.set.ViewConfig) === null || _this$article$set$Vie === void 0 ? void 0 : _this$article$set$Vie.useIsOptionDefinedWarning);
22425
22485
  optionState.isDisabled = true;
@@ -22437,7 +22497,20 @@ var DivaEngine = /*#__PURE__*/function () {
22437
22497
  if (this.article.hasType1Dependencies) {
22438
22498
  //Überprüft, ob die alle Optionen gültige Optionswerte haben.
22439
22499
  //wenn nicht, werden gültige Defaultwerte initialisiert
22440
- this.evalAllDecisions();
22500
+ var beforeSnapshot = undefined;
22501
+ var afterSnapshot = undefined;
22502
+ var count = 0;
22503
+ var startTime = Date.now();
22504
+ this.article.decisionDebugStacks = [];
22505
+ do {
22506
+ var _afterSnapshot;
22507
+ beforeSnapshot = (_afterSnapshot = afterSnapshot) !== null && _afterSnapshot !== void 0 ? _afterSnapshot : this.article.snapshot;
22508
+ this.evalAllDecisions();
22509
+ afterSnapshot = this.article.snapshot;
22510
+ count++;
22511
+ } while (JSON.stringify(afterSnapshot) !== JSON.stringify(beforeSnapshot) && count < 50);
22512
+ var endTime = Date.now();
22513
+ LOG$f.debug('eval Decisions total time in ' + (endTime - startTime) + ' of ' + count);
22441
22514
  } else {
22442
22515
  //check in DB if there are still catalogs with hasType1Dependencies == false. After some time this souldnt be the usecase anymore and the hasType1Dependencies == false logic can be removed here
22443
22516
  //deprected
@@ -22449,7 +22522,6 @@ var DivaEngine = /*#__PURE__*/function () {
22449
22522
  }, {
22450
22523
  key: "evalAllDecisions",
22451
22524
  value: function evalAllDecisions() {
22452
- var _myDecision$disableHi, _myDecision$disableHi2, _myDecision$disableHi3;
22453
22525
  var myDecisions = this.article.catalogArticle.articleDecisions;
22454
22526
  //add the partlist spesific decisions to the normal decisions
22455
22527
  if (this.article.initDecisions) myDecisions = myDecisions.concat(this.article.initDecisions);
@@ -22472,8 +22544,10 @@ var DivaEngine = /*#__PURE__*/function () {
22472
22544
  } finally {
22473
22545
  _iterator2.f();
22474
22546
  }
22475
- var decisionDebugStack = [];
22547
+ this.decisionDebugStack = [];
22548
+ var beforeSnapshot = this.article.set.logDecisions ? this.article.snapshot : undefined;
22476
22549
  for (var m = 0; m < myDecisions.length; m++) {
22550
+ var startTime = Date.now();
22477
22551
  //Alle Optionen Mit DOC Type 1 ermitten - diese zunächst alle ausblenden, werden dann später über Formeln wieder eingeschaltet
22478
22552
  var myDecision = myDecisions[m];
22479
22553
  if (myDecision.enabled && myDecision.DOC) {
@@ -22481,46 +22555,45 @@ var DivaEngine = /*#__PURE__*/function () {
22481
22555
  case '2':
22482
22556
  //Aktionsregel. Wenn das erste JsRule erfüllt ist muss man die restlichen DecisionOptionCombinations nicht mehr kontrollieren.
22483
22557
  this.evalType2Decision(myDecision, myDecisions);
22484
- decisionDebugStack.push({
22485
- text: myDecision.Number + ' type: 2 ' + ((_myDecision$disableHi = myDecision.disableHistory) === null || _myDecision$disableHi === void 0 ? void 0 : _myDecision$disableHi.join(',')),
22486
- nr: myDecision.Number,
22487
- decision: JSON.parse(JSON.stringify(myDecision))
22488
- });
22489
22558
  break;
22490
22559
  case '1':
22491
22560
  this.evalType1Decision(myDecision);
22492
- decisionDebugStack.push({
22493
- text: myDecision.Number + ' type: 1 ' + ((_myDecision$disableHi2 = myDecision.disableHistory) === null || _myDecision$disableHi2 === void 0 ? void 0 : _myDecision$disableHi2.join(',')),
22494
- nr: myDecision.Number,
22495
- decision: JSON.parse(JSON.stringify(myDecision))
22496
- });
22497
22561
  break;
22498
22562
  case '0':
22499
22563
  this.evalType0Decision(myDecision);
22500
- decisionDebugStack.push({
22501
- text: myDecision.Number + ' type: 0 ' + ((_myDecision$disableHi3 = myDecision.disableHistory) === null || _myDecision$disableHi3 === void 0 ? void 0 : _myDecision$disableHi3.join(',')),
22502
- nr: myDecision.Number,
22503
- decision: JSON.parse(JSON.stringify(myDecision))
22504
- });
22505
22564
  break;
22565
+ case '3':
22566
+ continue;
22506
22567
  }
22507
- } else {
22508
- var _myDecision$disableHi4;
22509
- decisionDebugStack.push({
22510
- text: myDecision.Number + ' ' + ((_myDecision$disableHi4 = myDecision.disableHistory) === null || _myDecision$disableHi4 === void 0 ? void 0 : _myDecision$disableHi4.join(',')),
22511
- nr: myDecision.Number,
22512
- decision: JSON.parse(JSON.stringify(myDecision))
22513
- });
22514
22568
  }
22569
+ beforeSnapshot = this.pushDecisionDebug(myDecision, beforeSnapshot);
22570
+ var endTime = Date.now();
22571
+ LOG$f.debug('decision ' + myDecision.Number + ' article ' + this.article.articleCodex + ' time ' + (endTime - startTime));
22515
22572
  }
22516
- if (this.decisionDebugStacks.length > 6) this.decisionDebugStacks.shift();
22517
- this.decisionDebugStacks.push({
22518
- stack: decisionDebugStack,
22573
+ this.article.decisionDebugStacks.push({
22574
+ stack: this.decisionDebugStack,
22519
22575
  variantValues: this.article.VariantValues
22520
22576
  });
22521
22577
  this.evalShowOnlyWhenHasPrice();
22522
22578
  this.updateIDMSpecificFeatures();
22523
22579
  }
22580
+ }, {
22581
+ key: "pushDecisionDebug",
22582
+ value: function pushDecisionDebug(decision, beforeSnapshot) {
22583
+ var _decision$disableHist;
22584
+ if (!this.article.set.logDecisions || !beforeSnapshot) return undefined;
22585
+ var afterSnapshot = this.article.snapshot;
22586
+ this.decisionDebugStack.push({
22587
+ text: decision.Number + ' type:' + decision.Type + ' ' + ((_decision$disableHist = decision.disableHistory) === null || _decision$disableHist === void 0 ? void 0 : _decision$disableHist.join(',')),
22588
+ nr: decision.Number,
22589
+ decision: JSON.parse(JSON.stringify(decision)),
22590
+ snapshots: {
22591
+ before: beforeSnapshot,
22592
+ after: afterSnapshot
22593
+ }
22594
+ });
22595
+ return afterSnapshot;
22596
+ }
22524
22597
 
22525
22598
  /**
22526
22599
  * @deprecated
@@ -22681,7 +22754,20 @@ var DivaEngine = /*#__PURE__*/function () {
22681
22754
  }
22682
22755
  break;
22683
22756
  case '3':
22684
- case 'SET_FEATURE_DEFAULT': //wenn man einen Artikel mit bestehenden VariantValues initialisiert, sollten keine Defaultwerte gesetzt werden
22757
+ case 'SET_FEATURE_DEFAULT':
22758
+ //wenn man einen Artikel mit bestehenden VariantValues initialisiert, sollten keine Defaultwerte gesetzt werden
22759
+ if (!myDoc.JsFormula || myDoc.JsFormula == '' || this.article.evalRule(myDoc.JsFormula)) {
22760
+ ignorNextAction = true;
22761
+ var _ops3 = this.article.getArticleOptionState('OPT' + myDA.OptionRefCodex);
22762
+ if (_ops3 && _ops3.val === undefined) {
22763
+ if (myDA.OptionValueRefCodex) {
22764
+ this.assignOptionValue('OPT' + myDA.OptionCodex, 'OPV' + myDA.OptionValueRefCodex);
22765
+ } else if (myDA.OptionRefCodex && _ops3) {
22766
+ this.assignOptionValue('OPT' + myDA.OptionCodex, 'OPV' + myDA.OptionCodex + _ops3.valCodex.replace('OPV' + _ops3.optionCodex.substring(3), ''));
22767
+ }
22768
+ }
22769
+ }
22770
+ break;
22685
22771
  case 'SET_FEATURE_DEFAULT_NULL':
22686
22772
  break;
22687
22773
  case 'DISABLE_DECISION':
@@ -22764,13 +22850,13 @@ var DivaEngine = /*#__PURE__*/function () {
22764
22850
  for (var f = 0; f < doAlsoCheckOPTs.length; f++) {
22765
22851
  var _myDoc$Row;
22766
22852
  var checkOptX = doAlsoCheckOPTs[f];
22767
- var _ops3 = this.article.getArticleOptionState(checkOptX);
22768
- if (_ops3 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops3.valCodex && !myDoc.Row[checkOptX].includes(_ops3.valCodex)) {
22853
+ var _ops4 = this.article.getArticleOptionState(checkOptX);
22854
+ if (_ops4 && (_myDoc$Row = myDoc.Row) !== null && _myDoc$Row !== void 0 && _myDoc$Row[checkOptX] && _ops4.valCodex && !myDoc.Row[checkOptX].includes(_ops4.valCodex)) {
22769
22855
  if (!myDoc.Row[checkOptX].find(function (o) {
22770
22856
  return !o.startsWith('!');
22771
22857
  })) {
22772
22858
  //all is inverted
22773
- if (myDoc.Row[checkOptX].includes('!' + _ops3.valCodex)) {
22859
+ if (myDoc.Row[checkOptX].includes('!' + _ops4.valCodex)) {
22774
22860
  doUseDoc = false;
22775
22861
  break;
22776
22862
  }
@@ -22841,7 +22927,11 @@ var DivaEngine = /*#__PURE__*/function () {
22841
22927
  var valCodex = ops.valCodex;
22842
22928
  ops.visibleCount = Object.keys(possibleOPVs).length;
22843
22929
  if ((!valCodex || !possibleOPVs[valCodex]) && Object.keys(possibleOPVs).length > 0) {
22844
- this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), OPT, ops, undefined);
22930
+ if (this.article.CatalogData.useDiomexConfigLogic) {
22931
+ this.clearOP(OPT, true);
22932
+ } else {
22933
+ this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), OPT, ops, undefined);
22934
+ }
22845
22935
  }
22846
22936
  doAlsoCheckOPTs.push(OPT);
22847
22937
  //Hier führende Optionen prüfen
@@ -22871,8 +22961,8 @@ var DivaEngine = /*#__PURE__*/function () {
22871
22961
  for (var f = 0; f < doAlsoCheckOPTs.length; f++) {
22872
22962
  var _myDoc$Row3;
22873
22963
  var checkOptX = doAlsoCheckOPTs[f];
22874
- var _ops4 = this.article.getArticleOptionState(checkOptX);
22875
- if (_ops4 && (_myDoc$Row3 = myDoc.Row) !== null && _myDoc$Row3 !== void 0 && _myDoc$Row3[checkOptX] && _ops4.valCodex && !myDoc.Row[checkOptX].includes(_ops4.valCodex)) {
22964
+ var _ops5 = this.article.getArticleOptionState(checkOptX);
22965
+ if (_ops5 && (_myDoc$Row3 = myDoc.Row) !== null && _myDoc$Row3 !== void 0 && _myDoc$Row3[checkOptX] && _ops5.valCodex && !myDoc.Row[checkOptX].includes(_ops5.valCodex)) {
22876
22966
  doUseDoc = false;
22877
22967
  break;
22878
22968
  }
@@ -22903,7 +22993,11 @@ var DivaEngine = /*#__PURE__*/function () {
22903
22993
  var valCodex = ops.valCodex;
22904
22994
  ops.visibleCount = Object.keys(possibleOPVs).length;
22905
22995
  if ((!valCodex || !possibleOPVs[valCodex]) && Object.keys(possibleOPVs).length > 0) {
22906
- this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), OPT, ops, undefined);
22996
+ if (this.article.CatalogData.useDiomexConfigLogic) {
22997
+ this.clearOP(OPT, true);
22998
+ } else {
22999
+ this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), OPT, ops, undefined);
23000
+ }
22907
23001
  }
22908
23002
  } else if (p < myDecision.Options.length - 1) {
22909
23003
  doAlsoCheckOPTs.push(OPT);
@@ -23125,6 +23219,7 @@ var DivaEngine = /*#__PURE__*/function () {
23125
23219
  }
23126
23220
  if (groupDecisionVal && groupDecisionVal.isValidDOC || key == -1) {
23127
23221
  for (var b = 0; b < myPartlistArticles[key].length; b++) {
23222
+ var startTime = Date.now();
23128
23223
  var myPartListPos = myPartlistArticles[key][b];
23129
23224
  if (myPartListPos.ItemRefArticles) {
23130
23225
  var decisions = myPartListPos.PartListPosDecisionsAndPosCounts;
@@ -23151,6 +23246,7 @@ var DivaEngine = /*#__PURE__*/function () {
23151
23246
  }
23152
23247
  }
23153
23248
  }
23249
+ LOG$f.debug('partlist ' + myPartListPos.$id + ' article ' + this.article.articleCodex + ' time ' + (Date.now() - startTime));
23154
23250
  }
23155
23251
  }
23156
23252
  }
@@ -23224,6 +23320,7 @@ var DivaEngine = /*#__PURE__*/function () {
23224
23320
  RetailPrefix: myPartListPos.RetailPrefix,
23225
23321
  Quantity: quanitity,
23226
23322
  PartlistRule: (groupDecisionVal ? groupDecisionVal.Rule + ' && ' : '') + myDecisionVal ? DivaUtils__default["default"].getOptionValuePairsByRule((_myDecisionVal$Rule = myDecisionVal === null || myDecisionVal === void 0 ? void 0 : myDecisionVal.Rule) !== null && _myDecisionVal$Rule !== void 0 ? _myDecisionVal$Rule : '', _this2.article.VariantValues) : undefined,
23323
+ partlistDecisionNo: decisionNumber,
23227
23324
  SupplierOrderCodex: myPartListPos.SupplierOrderCodex,
23228
23325
  initDecisions: initDecisionsFiltered,
23229
23326
  RuleDesc: myRuleDesc,
@@ -23234,8 +23331,6 @@ var DivaEngine = /*#__PURE__*/function () {
23234
23331
  optionImgForPrint: optionImgForPrint,
23235
23332
  optionsForPrint: optionsForPrint
23236
23333
  });
23237
- } else {
23238
- LOG$f.error(new DivaUtils.DivaError('For article: ' + _this2.article.articleCodex + ' name: ' + _this2.article.name + ' decisionNr: ' + decisionNumber + ' was not found as DecisionType 3'));
23239
23334
  }
23240
23335
  };
23241
23336
  for (var d = 0; d < myPartListPos.ItemRefArticles.length; d++) {
@@ -23265,7 +23360,7 @@ var DivaEngine = /*#__PURE__*/function () {
23265
23360
  }
23266
23361
  }
23267
23362
  } else {
23268
- LOG$f.error(new DivaUtils.DivaError('For article: ' + this.article.articleCodex + ' name: ' + this.article.name + ' decisionNr: ' + DecisionNumber + ' was not found as DecisionType 3'));
23363
+ LOG$f.error(new DivaUtils.DivaError('For article: ' + this.article.articleCodex + ' name: ' + this.article.origName + ' decisionNr: ' + DecisionNumber + ' was not found as DecisionType 3'));
23269
23364
  }
23270
23365
  }
23271
23366
  return {
@@ -23345,7 +23440,7 @@ var DivaEngine = /*#__PURE__*/function () {
23345
23440
  if ((mUnit || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') && this.article.parentHasSameOption(OP) && !((_ops$addToMeasure = ops.addToMeasure) !== null && _ops$addToMeasure !== void 0 && _ops$addToMeasure.length)) {
23346
23441
  var freeTextMeasure = parseFloat(ops.freeText ? ops.freeText : '');
23347
23442
  var newFreeTextMeasure = this.article.calcAddToMeasure(OP, freeTextMeasure);
23348
- LOG$f.debug('freetext changed by addToMeasure at price calculation', newFreeTextMeasure, freeTextMeasure, ops.addToMeasure);
23443
+ if (newFreeTextMeasure) LOG$f.debug('freetext changed by addToMeasure at price calculation', newFreeTextMeasure, freeTextMeasure, ops.addToMeasure);
23349
23444
  freeTextMeasure = newFreeTextMeasure;
23350
23445
  if (freeTextMeasure || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') {
23351
23446
  if (calcUnitPrice != 0) {
@@ -23397,8 +23492,8 @@ var DivaEngine = /*#__PURE__*/function () {
23397
23492
  _step6;
23398
23493
  try {
23399
23494
  for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
23400
- var _ops5 = _step6.value;
23401
- var targetPPGPrefixes = _ops5.targetPPGPrefixes;
23495
+ var _ops6 = _step6.value;
23496
+ var targetPPGPrefixes = _ops6.targetPPGPrefixes;
23402
23497
  if (!targetPPGPrefixes) continue;
23403
23498
  var _loop5 = function _loop5() {
23404
23499
  var targetPrefix = targetPPGPrefixes[_i5];
@@ -23407,8 +23502,8 @@ var DivaEngine = /*#__PURE__*/function () {
23407
23502
  return ((_item$PPG = item.PPG) === null || _item$PPG === void 0 ? void 0 : _item$PPG.split('_')[0]) == targetPrefix;
23408
23503
  });
23409
23504
  if (priceRef) {
23410
- if (_ops5.isPercentage) {
23411
- priceRef.calcPrice = priceRef.Price * (1 + _ops5.calcPrice);
23505
+ if (_ops6.isPercentage) {
23506
+ priceRef.calcPrice = priceRef.Price * (1 + _ops6.calcPrice);
23412
23507
  }
23413
23508
  }
23414
23509
  };
@@ -23488,11 +23583,11 @@ var DivaEngine = /*#__PURE__*/function () {
23488
23583
  _step9;
23489
23584
  try {
23490
23585
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
23491
- var _ops6$targetPPGPrefix, _ops6$targetPPGPrefix2;
23492
- var _ops6 = _step9.value;
23493
- var targetOption = (_ops6$targetPPGPrefix = (_ops6$targetPPGPrefix2 = _ops6.targetPPGPrefixes) === null || _ops6$targetPPGPrefix2 === void 0 ? void 0 : _ops6$targetPPGPrefix2[0]) !== null && _ops6$targetPPGPrefix !== void 0 ? _ops6$targetPPGPrefix : _ops6.targetOption;
23494
- if (_ops6.isPercentage && targetOption == 'GLOBAL') {
23495
- articleUsedCalcPrice = articleUsedCalcPrice * (1 + _ops6.calcPrice);
23586
+ var _ops7$targetPPGPrefix, _ops7$targetPPGPrefix2;
23587
+ var _ops7 = _step9.value;
23588
+ var targetOption = (_ops7$targetPPGPrefix = (_ops7$targetPPGPrefix2 = _ops7.targetPPGPrefixes) === null || _ops7$targetPPGPrefix2 === void 0 ? void 0 : _ops7$targetPPGPrefix2[0]) !== null && _ops7$targetPPGPrefix !== void 0 ? _ops7$targetPPGPrefix : _ops7.targetOption;
23589
+ if (_ops7.isPercentage && targetOption == 'GLOBAL') {
23590
+ articleUsedCalcPrice = articleUsedCalcPrice * (1 + _ops7.calcPrice);
23496
23591
  }
23497
23592
  }
23498
23593
  } catch (err) {
@@ -23609,10 +23704,10 @@ var DivaEngine = /*#__PURE__*/function () {
23609
23704
  _step10;
23610
23705
  try {
23611
23706
  for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
23612
- var _ops7 = _step10.value;
23613
- if (_ops7.ocd == searchOpt || _ops7.optionCodex == searchOpt) {
23614
- if (_ops7 && _ops7.price > 0) {
23615
- myPercBasePrice += _ops7.price * _ops7.quantity;
23707
+ var _ops8 = _step10.value;
23708
+ if (_ops8.ocd == searchOpt || _ops8.optionCodex == searchOpt) {
23709
+ if (_ops8 && _ops8.price > 0) {
23710
+ myPercBasePrice += _ops8.price * _ops8.quantity;
23616
23711
  break;
23617
23712
  }
23618
23713
  }
@@ -23635,11 +23730,6 @@ var DivaEngine = /*#__PURE__*/function () {
23635
23730
  return calculatedPrice;
23636
23731
  }
23637
23732
  }
23638
- }, {
23639
- key: "getDecisionDebugStacks",
23640
- value: function getDecisionDebugStacks() {
23641
- return this.decisionDebugStacks;
23642
- }
23643
23733
  }]);
23644
23734
  }();
23645
23735
 
@@ -23653,7 +23743,7 @@ var IDMEngine = /*#__PURE__*/function () {
23653
23743
  function IDMEngine(article) {
23654
23744
  _classCallCheck__default["default"](this, IDMEngine);
23655
23745
  _defineProperty__default["default"](this, "article", void 0);
23656
- _defineProperty__default["default"](this, "decisionDebugStacks", []);
23746
+ _defineProperty__default["default"](this, "decisionDebugStack", []);
23657
23747
  this.article = article;
23658
23748
  }
23659
23749
  return _createClass__default["default"](IDMEngine, [{
@@ -23664,19 +23754,21 @@ var IDMEngine = /*#__PURE__*/function () {
23664
23754
  var afterHash = undefined;
23665
23755
  var count = 0;
23666
23756
  var startTime = Date.now();
23667
- while (!afterHash || afterHash !== beforeHash && count < 50) {
23668
- beforeHash = this.article.snapshot;
23757
+ this.article.decisionDebugStacks = [];
23758
+ do {
23759
+ var _afterHash;
23760
+ beforeHash = (_afterHash = afterHash) !== null && _afterHash !== void 0 ? _afterHash : JSON.stringify(this.article.snapshot);
23669
23761
  this.evalDecisionsfunction();
23670
- afterHash = this.article.snapshot;
23762
+ afterHash = JSON.stringify(this.article.snapshot);
23671
23763
  count++;
23672
- }
23764
+ } while (afterHash !== beforeHash && count < 50);
23673
23765
  var endTime = Date.now();
23674
23766
  LOG$e.debug('eval Decisions total time in ' + (endTime - startTime) + ' of ' + count);
23675
23767
  }
23676
23768
  }, {
23677
23769
  key: "evalDecisionsfunction",
23678
23770
  value: function evalDecisionsfunction() {
23679
- var _unsortedDecisons, _decision$disableHist, _decision$disableHist2, _decision$disableHist3;
23771
+ var _unsortedDecisons;
23680
23772
  var unsortedDecisons = this.article.articleIDMDecisions;
23681
23773
  if (!((_unsortedDecisons = unsortedDecisons) !== null && _unsortedDecisons !== void 0 && _unsortedDecisons.length)) return;
23682
23774
  //add the partlist spesific decisions to the normal decisions
@@ -23705,7 +23797,8 @@ var IDMEngine = /*#__PURE__*/function () {
23705
23797
  } finally {
23706
23798
  _iterator.f();
23707
23799
  }
23708
- var decisionDebugStack = [];
23800
+ this.decisionDebugStack = [];
23801
+ var beforeSnapshot = this.article.set.logDecisions ? this.article.snapshot : undefined;
23709
23802
  for (var m = 0; m < decisions.length; m++) {
23710
23803
  var startTime = Date.now();
23711
23804
  //Alle Optionen Mit DOC Type 1 ermitten - diese zunächst alle ausblenden, werden dann später über Formeln wieder eingeschaltets
@@ -23714,50 +23807,47 @@ var IDMEngine = /*#__PURE__*/function () {
23714
23807
  switch (decision.decisionType) {
23715
23808
  case 2:
23716
23809
  this.evalType2Decision(decision, decisions);
23717
- decisionDebugStack.push({
23718
- text: decision.decisionNo + ' type: 2 ' + ((_decision$disableHist = decision.disableHistory) === null || _decision$disableHist === void 0 ? void 0 : _decision$disableHist.join(',')),
23719
- nr: decision.decisionNo,
23720
- decision: JSON.parse(JSON.stringify(decision))
23721
- });
23722
23810
  break;
23723
23811
  case 1:
23724
23812
  this.evalType1Decision(decision);
23725
- decisionDebugStack.push({
23726
- text: decision.decisionNo + ' type: 1 ' + ((_decision$disableHist2 = decision.disableHistory) === null || _decision$disableHist2 === void 0 ? void 0 : _decision$disableHist2.join(',')),
23727
- nr: decision.decisionNo,
23728
- decision: JSON.parse(JSON.stringify(decision))
23729
- });
23730
23813
  break;
23731
23814
  case 0:
23732
23815
  this.evalType0Decision(decision);
23733
- decisionDebugStack.push({
23734
- text: decision.decisionNo + ' type: 0 ' + ((_decision$disableHist3 = decision.disableHistory) === null || _decision$disableHist3 === void 0 ? void 0 : _decision$disableHist3.join(',')),
23735
- nr: decision.decisionNo,
23736
- decision: JSON.parse(JSON.stringify(decision))
23737
- });
23738
23816
  break;
23817
+ case 3:
23818
+ continue;
23739
23819
  default:
23740
23820
  LOG$e.error(new Error('decisionType ' + decision.decisionType + ' not implemented'));
23741
23821
  break;
23742
23822
  }
23743
- } else {
23744
- var _decision$disableHist4;
23745
- decisionDebugStack.push({
23746
- text: decision.decisionNo + ' ' + ((_decision$disableHist4 = decision.disableHistory) === null || _decision$disableHist4 === void 0 ? void 0 : _decision$disableHist4.join(',')),
23747
- nr: decision.decisionNo,
23748
- decision: JSON.parse(JSON.stringify(decision))
23749
- });
23750
23823
  }
23824
+ beforeSnapshot = this.pushDecisionDebug(decision, beforeSnapshot);
23751
23825
  var endTime = Date.now();
23752
23826
  LOG$e.debug('decision ' + decision.decisionNo + ' time ' + (endTime - startTime));
23753
23827
  }
23754
- if (this.decisionDebugStacks.length > 6) this.decisionDebugStacks.shift();
23755
- this.decisionDebugStacks.push({
23756
- stack: decisionDebugStack,
23828
+ this.article.decisionDebugStacks.push({
23829
+ stack: this.decisionDebugStack,
23757
23830
  variantValues: this.article.VariantValues
23758
23831
  });
23759
23832
  this.updateIDMSpecificFeatures();
23760
23833
  }
23834
+ }, {
23835
+ key: "pushDecisionDebug",
23836
+ value: function pushDecisionDebug(decision, beforeSnapshot) {
23837
+ var _decision$disableHist;
23838
+ if (!this.article.set.logDecisions || !beforeSnapshot) return undefined;
23839
+ var afterSnapshot = this.article.snapshot;
23840
+ this.decisionDebugStack.push({
23841
+ text: decision.decisionNo + ' type:' + decision.decisionType + ' ' + ((_decision$disableHist = decision.disableHistory) === null || _decision$disableHist === void 0 ? void 0 : _decision$disableHist.join(',')),
23842
+ nr: decision.decisionNo,
23843
+ decision: JSON.parse(JSON.stringify(decision)),
23844
+ snapshots: {
23845
+ before: beforeSnapshot,
23846
+ after: afterSnapshot
23847
+ }
23848
+ });
23849
+ return afterSnapshot;
23850
+ }
23761
23851
  }, {
23762
23852
  key: "sortFeatures",
23763
23853
  value: function sortFeatures(featureNos) {
@@ -23867,7 +23957,11 @@ var IDMEngine = /*#__PURE__*/function () {
23867
23957
  var valCodex = ops.valCodex;
23868
23958
  ops.visibleCount = Object.keys(possibleOPVs).length;
23869
23959
  if ((!valCodex || !possibleOPVs[valCodex]) && Object.keys(possibleOPVs).length > 0) {
23870
- this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), featureNo, ops, undefined);
23960
+ if (this.article.CatalogData.useDiomexConfigLogic) {
23961
+ this.clearOP(featureNo, true);
23962
+ } else {
23963
+ this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), featureNo, ops, undefined);
23964
+ }
23871
23965
  }
23872
23966
  doAlsoCheckFeatureNos.push(featureNo);
23873
23967
  //Hier führende Optionen prüfen
@@ -23934,7 +24028,11 @@ var IDMEngine = /*#__PURE__*/function () {
23934
24028
  var valCodex = ops.valCodex;
23935
24029
  ops.visibleCount = Object.keys(possibleOPVs).length;
23936
24030
  if ((!valCodex || !possibleOPVs[valCodex]) && Object.keys(possibleOPVs).length > 0) {
23937
- this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), featureNo, ops, undefined);
24031
+ if (this.article.CatalogData.useDiomexConfigLogic) {
24032
+ this.clearOP(featureNo, true);
24033
+ } else {
24034
+ this.updateArtOPV(this.article.getDefaultOpv(possibleOPVs), featureNo, ops, undefined);
24035
+ }
23938
24036
  }
23939
24037
  } else if (p < sortedDeatureRefs.length - 1) {
23940
24038
  doAlsoCheckFeature.push(featureNo);
@@ -23966,7 +24064,6 @@ var IDMEngine = /*#__PURE__*/function () {
23966
24064
  case '0':
23967
24065
  case 'SET_FEATURE_FIXED':
23968
24066
  case 'SET_FEATURE':
23969
- //Variante A: Option "myDA.OptionCodex" soll den Wert "OPV" + myDA.OptionValueRefCodex bekommen
23970
24067
  if (!_this2.article.getArticleOptionState(action.target) || action.target == '') return 0; // continue
23971
24068
  if (action.ref == 'FORMULA_REF') {
23972
24069
  var _ops3 = _this2.article.getArticleOptionState(action.target);
@@ -24119,10 +24216,14 @@ var IDMEngine = /*#__PURE__*/function () {
24119
24216
  }
24120
24217
  }, {
24121
24218
  key: "clearOP",
24122
- value: function clearOP(optionCodex) {
24219
+ value: function clearOP(featureNo, keepEnalbed) {
24123
24220
  var _this$article$set$Vie;
24124
24221
  //die Klasse ArticleOptionState wird einfach neu initialisiert
24125
- var oldOPS = this.article.getArticleOptionState(optionCodex);
24222
+ var oldOPS = this.article.getArticleOptionState(featureNo);
24223
+ if (keepEnalbed) {
24224
+ oldOPS.val = undefined;
24225
+ return;
24226
+ }
24126
24227
  var option = oldOPS.option;
24127
24228
  var optionState = new ArticleOptionStateData(option, this.article.getIsConfigSingle, oldOPS.defaultOPV, (_this$article$set$Vie = this.article.set.ViewConfig) === null || _this$article$set$Vie === void 0 ? void 0 : _this$article$set$Vie.useIsOptionDefinedWarning);
24128
24229
  optionState.isDisabled = true;
@@ -24167,15 +24268,16 @@ var IDMEngine = /*#__PURE__*/function () {
24167
24268
  value: function setOP(featureNo, option, freeText, doDefine, byFormula) {
24168
24269
  var myArtOPS = this.article.getArticleOptionState(featureNo);
24169
24270
  if (!myArtOPS) {
24170
- LOG$e.error(new DivaUtils.DivaError('OptionCodex: ' + featureNo + ' in articleCodex: ' + this.article.articleCodex + ' not found!'));
24271
+ LOG$e.error(new DivaUtils.DivaError('FeautureNo: ' + featureNo + ' in articleCodex: ' + this.article.articleCodex + ' not found!'));
24171
24272
  return;
24172
24273
  }
24173
24274
  myArtOPS.val = option; //akteull OPV wird gesetzt
24174
24275
  if (doDefine) {
24175
24276
  myArtOPS.isDefined = true;
24176
24277
  }
24177
- var newName = option.name; // this.itemInfo(myOPVItem, true && !myArtOPS.option.hideGroupNameInOrderText, myArtOPS.freeText);
24278
+ var newName = option.name; // TODO add freetext info to current optionstate name this.itemInfo(myOPVItem, true && !myArtOPS.option.hideGroupNameInOrderText, myArtOPS.freeText);
24178
24279
  myArtOPS.name = newName;
24280
+ myArtOPS.origName = newName;
24179
24281
  myArtOPS.isDoShow = true;
24180
24282
  myArtOPS.isDisabled = false;
24181
24283
  if (myArtOPS.isFreeText) {
@@ -24203,56 +24305,9 @@ var IDMEngine = /*#__PURE__*/function () {
24203
24305
  }, {
24204
24306
  key: "evalSetFeatureDefaultDecisions",
24205
24307
  value: function evalSetFeatureDefaultDecisions() {
24206
- //zunächst ein Gerüst mit allen möglichen gültigen OPVs erstellen,
24207
- //dieses wird später durch Schnittmengen mit mögliche ValidOptionValues reduziert
24208
- var allDecisions = this.article.catalogArticle.articleDecisions;
24209
- var ret = {};
24210
- if (allDecisions.length > 0) {
24211
- for (var i = 0; i < allDecisions.length; i++) {
24212
- allDecisions[i].enabled = true;
24213
- }
24214
- for (var m = 0; m < allDecisions.length; m++) {
24215
- //Alle Optionen Mit DOC Type 1 ermitten - diese zunächst alle ausblenden, werden dann später über Formeln wieder eingeschaltet
24216
- var myDecision = allDecisions[m];
24217
- var ignorNextAction = false;
24218
- if (myDecision.enabled && myDecision.DOC) {
24219
- for (var j = 0; j < myDecision.DOC.length; j++) {
24220
- //DecisionOptionCombination
24308
+ //TODO for IDM
24221
24309
 
24222
- //Gibt es innerhalb einer Decision eine eine gültige DOC, die OPVs der in ValidOptionValues vorkommenden Optionen zunächst alle disabeln, werden dann über eine gültige Formel wieder enabled
24223
- var myDoc = myDecision.DOC[j];
24224
- //let isValidDOC = !myDoc.JsFormula || myDoc.JsFormula == "" || this.evalRule(myDoc.JsFormula);
24225
- if (!ignorNextAction) {
24226
- if (myDecision.Type == '2') {
24227
- //Aktionsregel. Wenn das erste JsRule erfüllt ist muss man die restlichen DecisionOptionCombinations nicht mehr kontrollieren.
24228
- if (myDoc.DA) {
24229
- for (var _i = 0; _i < myDoc.DA.length; _i++) {
24230
- var myDA = myDoc.DA[_i];
24231
- var myOptionCodex = myDA.OptionCodex ? 'OPT' + myDA.OptionCodex : '';
24232
- if (this.article.getArticleOptionState(myOptionCodex)) {
24233
- if (myDA.Type == 'SET_FEATURE_DEFAULT' || myDA.Type == 'SET_FEATURE_DEFAULT_NULL') {
24234
- //wenn man einen Artikel mit bestehenden VariantValues initialisiert, sollten keine Defaultwerte gesetzt werden
24235
- if (!myDoc.JsFormula || myDoc.JsFormula == '' || this.article.evalRule(myDoc.JsFormula)) {
24236
- ignorNextAction = true;
24237
- ret[myOptionCodex] = 'OPV' + myDA.OptionValueRefCodex;
24238
- }
24239
- } else if (myDA.Type == 'SET_FEATURE_FIXED') {
24240
- //wenn man einen Artikel mit bestehenden VariantValues initialisiert, sollten keine Defaultwerte gesetzt werden
24241
- if (!myDoc.JsFormula || myDoc.JsFormula == '' || this.article.evalRule(myDoc.JsFormula)) {
24242
- ignorNextAction = true;
24243
- ret[myOptionCodex] = 'OPV' + myDA.OptionValueRefCodex;
24244
- }
24245
- }
24246
- }
24247
- }
24248
- }
24249
- }
24250
- }
24251
- }
24252
- }
24253
- }
24254
- }
24255
- return ret;
24310
+ return {};
24256
24311
  }
24257
24312
 
24258
24313
  //***********************************************Partlist evaluieren ************************************************/
@@ -24275,7 +24330,7 @@ var IDMEngine = /*#__PURE__*/function () {
24275
24330
  var isValidDOC = relationTypeNone ? undefined : this.checkDecisionNumber(decision.decisionNo);
24276
24331
  if (!isValidDOC && !relationTypeNone) continue;
24277
24332
  partlistAdded = true;
24278
- partlistArticlesToLoad = this.addPartilstToPartlistArticlesToLoad(myPartListPos, partlistArticlesToLoad, newConfigValues);
24333
+ partlistArticlesToLoad = this.addPartilstToPartlistArticlesToLoad(myPartListPos, partlistArticlesToLoad, newConfigValues, undefined, !relationTypeNone ? decision.decisionNo : undefined);
24279
24334
  break;
24280
24335
  }
24281
24336
  if (decisions.length === 0 && !partlistAdded) {
@@ -24290,7 +24345,7 @@ var IDMEngine = /*#__PURE__*/function () {
24290
24345
  }
24291
24346
  }, {
24292
24347
  key: "addPartilstToPartlistArticlesToLoad",
24293
- value: function addPartilstToPartlistArticlesToLoad(myPartListPos, partlistArticlesToLoad, newConfigValues, rule) {
24348
+ value: function addPartilstToPartlistArticlesToLoad(myPartListPos, partlistArticlesToLoad, newConfigValues, rule, decisionNo) {
24294
24349
  var decisions = this.article.CatalogData.getDecisionsByNo(myPartListPos.decisions);
24295
24350
 
24296
24351
  //const optionsForPrint: string[] = (myPartListPos.OptionsForPrint as string)?.split(';').map((o: string) => 'OPT' + o);
@@ -24352,6 +24407,7 @@ var IDMEngine = /*#__PURE__*/function () {
24352
24407
  // TODO WWS IDM myPartListPos.RetailPrefix,
24353
24408
  Quantity: quanitity,
24354
24409
  PartlistRule: rule ? DivaUtils__default["default"].getOptionValuePairsByRule(rule, this.article.VariantValues) : undefined,
24410
+ partlistDecisionNo: decisionNo,
24355
24411
  //SupplierOrderCodex: // TODO WWS IDM ,myPartListPos.SupplierOrderCodex,
24356
24412
  initDecisions: initDecisionsFiltered,
24357
24413
  RuleDesc: myRuleDesc,
@@ -24405,7 +24461,7 @@ var IDMEngine = /*#__PURE__*/function () {
24405
24461
  isValidDOC = true;
24406
24462
  }
24407
24463
  } else {
24408
- LOG$e.error(new DivaUtils.DivaError('For article: ' + this.article.articleCodex + ' name: ' + this.article.name + ' decisionNr: ' + decisionNo + ' was not found as DecisionType 3'));
24464
+ LOG$e.error(new DivaUtils.DivaError('For article: ' + this.article.articleCodex + ' name: ' + this.article.origName + ' decisionNr: ' + decisionNo + ' was not found as DecisionType 3'));
24409
24465
  }
24410
24466
  }
24411
24467
  return isValidDOC;
@@ -24511,11 +24567,6 @@ var IDMEngine = /*#__PURE__*/function () {
24511
24567
  throw new Error('formula: ' + formula + 'failed to eval ' + origFormula);
24512
24568
  }
24513
24569
  }
24514
- }, {
24515
- key: "getDecisionDebugStacks",
24516
- value: function getDecisionDebugStacks() {
24517
- return this.decisionDebugStacks;
24518
- }
24519
24570
  }, {
24520
24571
  key: "updateArticleOptionTree",
24521
24572
  value: function updateArticleOptionTree() {}
@@ -24543,6 +24594,7 @@ var DivaArticle = /*#__PURE__*/function () {
24543
24594
  _defineProperty__default["default"](this, "actPlannerData", void 0);
24544
24595
  //Hier steht die aktuelle Konfiguration
24545
24596
  _defineProperty__default["default"](this, "_engine", void 0);
24597
+ _defineProperty__default["default"](this, "decisionDebugStacks", []);
24546
24598
  _defineProperty__default["default"](this, "getIsConfigSingle", function () {
24547
24599
  return _this.set.configSingle;
24548
24600
  });
@@ -24584,6 +24636,7 @@ var DivaArticle = /*#__PURE__*/function () {
24584
24636
  loadingErrors: [],
24585
24637
  priceRefs: [],
24586
24638
  partlistRule: initParams.partlistRule,
24639
+ partlistDecisionNo: initParams.partlistDecisionNo,
24587
24640
  partListParentArticle: initParams.parentArticle,
24588
24641
  partlistArticleVisibleInTree: initParams.partlistArticleVisibleInTree,
24589
24642
  hasPartlistArticle: initParams.hasPartlistArticle ? initParams.hasPartlistArticle : false,
@@ -24681,11 +24734,7 @@ var DivaArticle = /*#__PURE__*/function () {
24681
24734
  this.actPlannerData.svgsWithFormula = plannerElement.topSvgsWithFormula;
24682
24735
  }
24683
24736
  }
24684
- }, {
24685
- key: "decisionDebugStacks",
24686
- get: function get() {
24687
- return this._engine.getDecisionDebugStacks();
24688
- }
24737
+
24689
24738
  /*************************************************GETTER & SETTER **************************************************************************** */
24690
24739
  }, {
24691
24740
  key: "basketId",
@@ -25136,7 +25185,7 @@ var DivaArticle = /*#__PURE__*/function () {
25136
25185
  }
25137
25186
  } else {
25138
25187
  var _ops$val;
25139
- ret += ops.optionOrigName + ': ' + DivaUtils__default["default"].stripTags(ops.name) + ((_ops$val = ops.val) !== null && _ops$val !== void 0 && _ops$val.vCodex ? ' (' + ops.val.vCodex + ')' : '') + "'";
25188
+ ret += ops.optionOrigName + ': ' + DivaUtils__default["default"].stripTags(ops.origName) + ((_ops$val = ops.val) !== null && _ops$val !== void 0 && _ops$val.vCodex ? ' (' + ops.val.vCodex + ')' : '') + "'";
25140
25189
  }
25141
25190
  }
25142
25191
  }
@@ -25204,11 +25253,25 @@ var DivaArticle = /*#__PURE__*/function () {
25204
25253
  get: function get() {
25205
25254
  return this.article.relatedToShelfGrid !== undefined ? true : false;
25206
25255
  }
25256
+ }, {
25257
+ key: "origName",
25258
+ get: function get() {
25259
+ var _this$article$actDesc;
25260
+ var ret = (_this$article$actDesc = this.article.actDescription) !== null && _this$article$actDesc !== void 0 ? _this$article$actDesc : this.catalogArticleOrigName;
25261
+ return ret + this.addRuleDesc();
25262
+ }
25207
25263
  }, {
25208
25264
  key: "name",
25209
25265
  get: function get() {
25210
- var _this$article$actDesc, _this$optionsForPrint;
25211
- var ret = (_this$article$actDesc = this.article.actDescription) !== null && _this$article$actDesc !== void 0 ? _this$article$actDesc : this.catalogArticleName;
25266
+ var _this$article$actDesc2;
25267
+ var ret = (_this$article$actDesc2 = this.article.actDescription) !== null && _this$article$actDesc2 !== void 0 ? _this$article$actDesc2 : this.catalogArticleName;
25268
+ return ret + this.addRuleDesc();
25269
+ }
25270
+ }, {
25271
+ key: "addRuleDesc",
25272
+ value: function addRuleDesc() {
25273
+ var _this$optionsForPrint;
25274
+ var ret = '';
25212
25275
  if (this.RetailPrefix != 'SAP' && this.article.ruleDesc && this.article.ruleDesc != '' && !((_this$optionsForPrint = this.optionsForPrint) !== null && _this$optionsForPrint !== void 0 && _this$optionsForPrint.length)) {
25213
25276
  var ruleDesc = this.article.ruleDesc;
25214
25277
  if (!this.set.api.ruleDescWithoutParenthesis()) ruleDesc = '(' + ruleDesc + ')';
@@ -25235,6 +25298,11 @@ var DivaArticle = /*#__PURE__*/function () {
25235
25298
  }
25236
25299
  }, {
25237
25300
  key: "catalogArticleName",
25301
+ get: function get() {
25302
+ return this.article.catalogArticle.name;
25303
+ }
25304
+ }, {
25305
+ key: "catalogArticleOrigName",
25238
25306
  get: function get() {
25239
25307
  return this.article.catalogArticle.origName;
25240
25308
  }
@@ -25603,6 +25671,11 @@ var DivaArticle = /*#__PURE__*/function () {
25603
25671
  get: function get() {
25604
25672
  return this.article.partlistRule;
25605
25673
  }
25674
+ }, {
25675
+ key: "partlistDecisionNo",
25676
+ get: function get() {
25677
+ return this.article.partlistDecisionNo;
25678
+ }
25606
25679
  }, {
25607
25680
  key: "bundleRules",
25608
25681
  get: function get() {
@@ -26069,14 +26142,21 @@ var DivaArticle = /*#__PURE__*/function () {
26069
26142
  _step9;
26070
26143
  try {
26071
26144
  for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
26145
+ var _ops$val$codex, _ops$val4;
26072
26146
  var ops = _step9.value;
26073
- if (ops.valCodex) {
26074
- ret[ops.optionCodex] = ops.valCodex + Object.values(ops.visibleOptionValues).map(function (v) {
26147
+ ret[ops.optionCodex] = {
26148
+ selOPV: (_ops$val$codex = (_ops$val4 = ops.val) === null || _ops$val4 === void 0 ? void 0 : _ops$val4.codex) !== null && _ops$val$codex !== void 0 ? _ops$val$codex : '',
26149
+ invisible: ops.isInvisible,
26150
+ visibleOPVs: Object.values(ops.visibleOptionValues).map(function (v) {
26075
26151
  return v.codex;
26076
- }).join(';');
26077
- if (ops.freeText) {
26078
- ret[ops.optionCodex + '_val'] = ops.freeText;
26079
- }
26152
+ })
26153
+ };
26154
+ if (ops.freeText) {
26155
+ ret[ops.optionCodex + '_val'] = {
26156
+ selOPV: ops.freeText,
26157
+ visibleOPVs: [],
26158
+ invisible: true
26159
+ };
26080
26160
  }
26081
26161
  }
26082
26162
  } catch (err) {
@@ -26084,7 +26164,7 @@ var DivaArticle = /*#__PURE__*/function () {
26084
26164
  } finally {
26085
26165
  _iterator9.f();
26086
26166
  }
26087
- return JSON.stringify(ret);
26167
+ return ret;
26088
26168
  }
26089
26169
  }, {
26090
26170
  key: "VisibleVariantValues",
@@ -26961,7 +27041,7 @@ var DivaArticle = /*#__PURE__*/function () {
26961
27041
  break;
26962
27042
  }
26963
27043
  _context.next = 4;
26964
- return Promise.resolve().then(function () { return require('./ShelfPlanner-d43d612b.js'); });
27044
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-ad514889.js'); });
26965
27045
  case 4:
26966
27046
  _yield$import = _context.sent;
26967
27047
  ShelfPlanner = _yield$import["default"];
@@ -27443,7 +27523,7 @@ var DivaArticle = /*#__PURE__*/function () {
27443
27523
  }
27444
27524
  if (ops.isDoShow && !doHideSizeOption && ops.val) {
27445
27525
  if (ops.visibleCount > 0) {
27446
- var _ops$valName_locales2, _this$optionsForPrint2, _this$optionsForPrint3, _ops$val4;
27526
+ var _ops$valName_locales2, _this$optionsForPrint2, _this$optionsForPrint3, _ops$val5;
27447
27527
  var isfreeText = false,
27448
27528
  isMeasureValue = false,
27449
27529
  freeText = undefined,
@@ -27460,13 +27540,15 @@ var DivaArticle = /*#__PURE__*/function () {
27460
27540
  var myOptItem = {
27461
27541
  BasketID: this.basketId,
27462
27542
  OPT: this.CatalogData.isIDMFormat ? OP : OP.substring(3),
27543
+ MaskOPTName: ops.optionOrigName !== ops.optionName ? ops.optionName : undefined,
27463
27544
  OPTName: ops.optionOrigName,
27464
27545
  OPTName_locales: ops.optionName_locales,
27465
27546
  OptionOCD: ops.optionOcd,
27466
27547
  OCD: ops.ocd,
27467
27548
  OPV: this.CatalogData.isIDMFormat ? ops.val.codex : ops.val.codex.substring(3),
27468
27549
  vOPV: !this.CatalogData.dontUseVCodexInBasket ? ops.vCodex : undefined,
27469
- OPVName: DivaUtils__default["default"].stripTags(ops.name),
27550
+ OPVName: DivaUtils__default["default"].stripTags(ops.origName),
27551
+ MaskOPVName: ops.origName !== ops.name ? DivaUtils__default["default"].stripTags(ops.name) : undefined,
27470
27552
  OPVName_locales: DivaUtils__default["default"].stripTagsFromDict((_ops$valName_locales2 = ops.valName_locales) !== null && _ops$valName_locales2 !== void 0 ? _ops$valName_locales2 : {}),
27471
27553
  OPVImage: ops.val.image ? this.CatalogData.getCatImageURL(ops.val.image, '_gal') : '',
27472
27554
  FreeText: freeText,
@@ -27481,7 +27563,8 @@ var DivaArticle = /*#__PURE__*/function () {
27481
27563
  PriceUnit: !ops.isPercentage ? ops.priceUnit : undefined,
27482
27564
  CalcPrice: ops.calcPrice,
27483
27565
  PriceID: ops.priceId,
27484
- TabGroup: ops.optionTabGroup,
27566
+ TabGroup: ops.optionOrigTabGroup,
27567
+ MaskTabGroup: ops.optionTabGroup,
27485
27568
  TabGroup_locales: ops.optionTabGroup_locales,
27486
27569
  SendToSAP: ops.option.sendToSAP,
27487
27570
  ArticlePlaceholder: ops.option.articlePlaceholder,
@@ -27489,7 +27572,7 @@ var DivaArticle = /*#__PURE__*/function () {
27489
27572
  HideInOrderText: ops.hideInOrderText,
27490
27573
  IsDescribingState: ops.isDescribingState,
27491
27574
  FreeTextLang: ops.freeTextLang,
27492
- OPVHexVal: (_ops$val4 = ops.val) === null || _ops$val4 === void 0 ? void 0 : _ops$val4.hexColor
27575
+ OPVHexVal: (_ops$val5 = ops.val) === null || _ops$val5 === void 0 ? void 0 : _ops$val5.hexColor
27493
27576
  };
27494
27577
  variantBasketData.push(new basketModel.VariantItemData(myOptItem));
27495
27578
  }
@@ -28713,12 +28796,13 @@ var DivaArticleHandler = /*#__PURE__*/function () {
28713
28796
  ruleDesc_locales: doLoadItem.RuleDesc_locales,
28714
28797
  basketId: doLoadItem.BasketID,
28715
28798
  partlistRule: doLoadItem.PartlistRule,
28799
+ partlistDecisionNo: doLoadItem.partlistDecisionNo,
28716
28800
  retailArticleNr: doLoadItem.RetailArticleNr,
28717
28801
  retailPrefix: doLoadItem.RetailPrefix,
28718
28802
  configArticleCodex: doLoadItem.RetailArticleNr,
28719
28803
  supplierOrderCodex: doLoadItem.SupplierOrderCodex,
28720
28804
  initDecisions: doLoadItem.initDecisions,
28721
- partlistArticleVisibleInTree: doLoadItem.PosInvisibility === 0 || doLoadItem.PosInvisibility == 2,
28805
+ partlistArticleVisibleInTree: doLoadItem.PosInvisibility === 0,
28722
28806
  optionsForPrint: doLoadItem.optionsForPrint,
28723
28807
  optionImgForPrint: doLoadItem.optionImgForPrint,
28724
28808
  catalogCodex: doLoadItem.CatalogCodex
@@ -29095,7 +29179,8 @@ var DivaArticleHandler = /*#__PURE__*/function () {
29095
29179
  TypeNr: article.typeNr,
29096
29180
  ArticleEAN: article.articleEAN,
29097
29181
  ArticleGUID: article.articleGUID,
29098
- Name: article.name,
29182
+ Name: article.origName,
29183
+ MaskName: article.name,
29099
29184
  Name_locales: article.name_locales,
29100
29185
  Size: repairOnly ? undefined : article.actSizeText,
29101
29186
  Width: article.width,
@@ -29275,7 +29360,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
29275
29360
  }, {
29276
29361
  key: "getAccessoiresBasketData",
29277
29362
  value: function getAccessoiresBasketData(setId, article, ops, PosNr) {
29278
- var _ops$valName;
29363
+ var _ops$val$origName, _ops$val2, _ops$val$name, _ops$val3;
29279
29364
  return new basketModel.OrderLineData({
29280
29365
  SetID: setId,
29281
29366
  BasketID: 'B' + DivaUtils.nanoid(),
@@ -29287,7 +29372,8 @@ var DivaArticleHandler = /*#__PURE__*/function () {
29287
29372
  PosNr: PosNr,
29288
29373
  ArticleCodex: ops.isAccessoirArtNr,
29289
29374
  ConfigArticleCodex: ops.isAccessoirArtNr,
29290
- Name: ops.optionOrigName + ': ' + DivaUtils__default["default"].stripTags((_ops$valName = ops.valName) !== null && _ops$valName !== void 0 ? _ops$valName : ''),
29375
+ Name: ops.optionOrigName + ': ' + DivaUtils__default["default"].stripTags((_ops$val$origName = (_ops$val2 = ops.val) === null || _ops$val2 === void 0 ? void 0 : _ops$val2.origName) !== null && _ops$val$origName !== void 0 ? _ops$val$origName : ''),
29376
+ MaskName: ops.optionName + ': ' + DivaUtils__default["default"].stripTags((_ops$val$name = (_ops$val3 = ops.val) === null || _ops$val3 === void 0 ? void 0 : _ops$val3.name) !== null && _ops$val$name !== void 0 ? _ops$val$name : ''),
29291
29377
  Quantity: ops.quantity,
29292
29378
  Price: ops.calcPrice,
29293
29379
  CalcPrice: ops.calcPrice * ops.quantity,
@@ -30292,6 +30378,7 @@ var DivaSet = /*#__PURE__*/function () {
30292
30378
  _defineProperty__default["default"](this, "matchingProduct", void 0);
30293
30379
  _defineProperty__default["default"](this, "matchingOrigProduct", void 0);
30294
30380
  _defineProperty__default["default"](this, "_supplierColors", void 0);
30381
+ _defineProperty__default["default"](this, "_logDecisions", false);
30295
30382
  /**Favorits state */
30296
30383
  _defineProperty__default["default"](this, "_handlelingCurrentFavorites", false);
30297
30384
  _defineProperty__default["default"](this, "_favorites", {
@@ -31565,7 +31652,7 @@ var DivaSet = /*#__PURE__*/function () {
31565
31652
  break;
31566
31653
  }
31567
31654
  _context5.next = 3;
31568
- return Promise.resolve().then(function () { return require('./DoorPlanner-2977ab3a.js'); });
31655
+ return Promise.resolve().then(function () { return require('./DoorPlanner-d91465d3.js'); });
31569
31656
  case 3:
31570
31657
  _yield$import = _context5.sent;
31571
31658
  DoorPlanner = _yield$import["default"];
@@ -31724,6 +31811,14 @@ var DivaSet = /*#__PURE__*/function () {
31724
31811
  set: function set(supplierColors) {
31725
31812
  this._supplierColors = supplierColors;
31726
31813
  }
31814
+ }, {
31815
+ key: "logDecisions",
31816
+ get: function get() {
31817
+ return this._logDecisions;
31818
+ },
31819
+ set: function set(val) {
31820
+ this._logDecisions = val;
31821
+ }
31727
31822
  }, {
31728
31823
  key: "showAccessioreOnLastTab",
31729
31824
  get: function get() {
@@ -32825,7 +32920,7 @@ var DivaFavoritesHandler = /*#__PURE__*/function () {
32825
32920
  var highestId = 0;
32826
32921
  for (var i = 0; i < set.oldConfigVariants.length; i++) {
32827
32922
  var variant = set.oldConfigVariants[i];
32828
- if (variant.VariantID && highestId < variant.VariantID) {
32923
+ if (variant.VariantID && highestId <= variant.VariantID) {
32829
32924
  highestId = variant.VariantID + 1;
32830
32925
  }
32831
32926
  }
@@ -38412,7 +38507,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38412
38507
  break;
38413
38508
  case 3:
38414
38509
  _context12.next = 5;
38415
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-0f3c613d.js'); });
38510
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-c472cb21.js'); });
38416
38511
  case 5:
38417
38512
  _yield$import = _context12.sent;
38418
38513
  PfisterWWSHandler = _yield$import["default"];
@@ -38420,7 +38515,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38420
38515
  return _context12.abrupt("break", 27);
38421
38516
  case 9:
38422
38517
  _context12.next = 11;
38423
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-07f2698c.js'); });
38518
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-cfd55a37.js'); });
38424
38519
  case 11:
38425
38520
  _yield$import2 = _context12.sent;
38426
38521
  LiviqueWWSHandler = _yield$import2["default"];
@@ -38428,7 +38523,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38428
38523
  return _context12.abrupt("break", 27);
38429
38524
  case 15:
38430
38525
  _context12.next = 17;
38431
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-04d83f4f.js'); });
38526
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-50df6529.js'); });
38432
38527
  case 17:
38433
38528
  _yield$import3 = _context12.sent;
38434
38529
  SeriousWWSHandler = _yield$import3["default"];
@@ -38436,7 +38531,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38436
38531
  return _context12.abrupt("break", 27);
38437
38532
  case 21:
38438
38533
  _context12.next = 23;
38439
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-1932acc8.js'); });
38534
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-93dd1f08.js'); });
38440
38535
  case 23:
38441
38536
  _yield$import4 = _context12.sent;
38442
38537
  StandardWWSHandler = _yield$import4["default"];
@@ -39864,7 +39959,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
39864
39959
  while (1) switch (_context3.prev = _context3.next) {
39865
39960
  case 0:
39866
39961
  _context3.next = 2;
39867
- return Promise.resolve().then(function () { return require('./Host3DSignalR-18ae1779.js'); });
39962
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-d0505d29.js'); });
39868
39963
  case 2:
39869
39964
  _yield$import = _context3.sent;
39870
39965
  Host3DSignalR = _yield$import["default"];
@@ -41418,7 +41513,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41418
41513
  break;
41419
41514
  case 8:
41420
41515
  _context4.next = 10;
41421
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-bf570694.js'); });
41516
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-83054c27.js'); });
41422
41517
  case 10:
41423
41518
  _yield$import = _context4.sent;
41424
41519
  DivaStandardPlanner = _yield$import["default"];
@@ -41429,7 +41524,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41429
41524
  return _context4.abrupt("break", 21);
41430
41525
  case 15:
41431
41526
  _context4.next = 17;
41432
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-c3c21e39.js'); });
41527
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-02bf7f84.js'); });
41433
41528
  case 17:
41434
41529
  _yield$import2 = _context4.sent;
41435
41530
  DivaBoxPlanner = _yield$import2["default"];