@crystaldesign/web-planner-logic 24.12.0-beta.5 → 24.12.0-beta.7

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 (50) hide show
  1. package/build/cjs/{DivaBoxPlanner-f87367d4.js → DivaBoxPlanner-18f1ae44.js} +3 -3
  2. package/build/cjs/{DivaStandardPlanner-4256ff34.js → DivaStandardPlanner-dc3a795f.js} +17 -81
  3. package/build/cjs/{DoorPlanner-d94840ce.js → DoorPlanner-d96cea1c.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-101bdf03.js → Host3DSignalR-4aa3fc0b.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-94e0d217.js → LiviqueWWSHandler-297878d2.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-cfad5263.js → PfisterWWSHandler-d1400c5f.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-fd5a7886.js → PlannerHandler2D-df72a9db.js} +27 -37
  8. package/build/cjs/{ProductBasketHandler-9c7529f8.js → ProductBasketHandler-19c99496.js} +1 -1
  9. package/build/cjs/{SeriousBasketHandler-3b37c554.js → SeriousBasketHandler-0199731a.js} +1 -1
  10. package/build/cjs/{ShelfPlanner-7cb5ce15.js → ShelfPlanner-6ff6daf5.js} +1 -1
  11. package/build/cjs/{StandardWWSHandler-dd81030b.js → StandardWWSHandler-dc3d7475.js} +1 -1
  12. package/build/cjs/{index-1851193e.js → index-83a7edd3.js} +322 -258
  13. package/build/cjs/index.js +1 -1
  14. package/build/esm/{DivaBoxPlanner-3c65de8a.js → DivaBoxPlanner-bef89c9b.js} +3 -3
  15. package/build/esm/{DivaStandardPlanner-2cd976ad.js → DivaStandardPlanner-855876a6.js} +17 -81
  16. package/build/esm/{DoorPlanner-4e150553.js → DoorPlanner-eb0b94a0.js} +1 -1
  17. package/build/esm/{Host3DSignalR-9a319fec.js → Host3DSignalR-ed2088a2.js} +1 -1
  18. package/build/esm/{LiviqueWWSHandler-d3cdaed0.js → LiviqueWWSHandler-99e43d3a.js} +1 -1
  19. package/build/esm/{PfisterWWSHandler-a45b24ea.js → PfisterWWSHandler-794e96d4.js} +1 -1
  20. package/build/esm/{PlannerHandler2D-08b0267b.js → PlannerHandler2D-58932ae5.js} +27 -37
  21. package/build/esm/{ProductBasketHandler-c39ac09b.js → ProductBasketHandler-5ab958f7.js} +1 -1
  22. package/build/esm/{SeriousBasketHandler-755b5414.js → SeriousBasketHandler-c9decc55.js} +1 -1
  23. package/build/esm/{ShelfPlanner-108adacb.js → ShelfPlanner-ff141873.js} +1 -1
  24. package/build/esm/{StandardWWSHandler-751850b2.js → StandardWWSHandler-92f613fa.js} +1 -1
  25. package/build/esm/{index-10fe391d.js → index-6805291d.js} +322 -258
  26. package/build/esm/index.js +1 -1
  27. package/build/types/web-planner-logic/src/interface/Articles/CatalogPlannerArticleViewDataType.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/Articles/CatalogPlannerArticleViewDataType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/Planner/IDivaSetPlanner.d.ts +1 -1
  30. package/build/types/web-planner-logic/src/interface/Planner/IDivaSetPlanner.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/Planner/IDivaViewPlannerElement.d.ts +0 -2
  32. package/build/types/web-planner-logic/src/interface/Planner/IDivaViewPlannerElement.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +1 -1
  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/DivaWebPlanner.d.ts +1 -0
  37. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +8 -1
  39. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  40. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +2 -3
  42. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +21 -3
  44. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/model/Articles/CatalogArticleData.d.ts +1 -0
  46. package/build/types/web-planner-logic/src/model/Articles/CatalogArticleData.d.ts.map +1 -1
  47. package/build/types/web-planner-logic/src/model/DivaCatalogData.d.ts.map +1 -1
  48. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts +1 -3
  49. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts.map +1 -1
  50. package/package.json +2 -2
@@ -16650,6 +16650,12 @@ var CatalogArticleData = /*#__PURE__*/function () {
16650
16650
  get: function get() {
16651
16651
  return this.catalogArticle.hasPartlistArticle;
16652
16652
  }
16653
+ }, {
16654
+ key: "possiblePartlistCodexes",
16655
+ get: function get() {
16656
+ var _this$catalogArticle$2;
16657
+ return (_this$catalogArticle$2 = this.catalogArticle.partListArticles) === null || _this$catalogArticle$2 === void 0 ? void 0 : _this$catalogArticle$2.join(';');
16658
+ }
16653
16659
  }, {
16654
16660
  key: "articleDecisions",
16655
16661
  get: function get() {
@@ -16916,8 +16922,8 @@ var CatalogArticleData = /*#__PURE__*/function () {
16916
16922
  }, {
16917
16923
  key: "metaDataView",
16918
16924
  get: function get() {
16919
- var _this$catalogArticle$2;
16920
- return (_this$catalogArticle$2 = this.catalogArticle.metaData) !== null && _this$catalogArticle$2 !== void 0 ? _this$catalogArticle$2 : [];
16925
+ var _this$catalogArticle$3;
16926
+ return (_this$catalogArticle$3 = this.catalogArticle.metaData) !== null && _this$catalogArticle$3 !== void 0 ? _this$catalogArticle$3 : [];
16921
16927
  }
16922
16928
  }, {
16923
16929
  key: "getMergesToOPG",
@@ -18793,7 +18799,8 @@ var DivaCatalogData = /*#__PURE__*/function () {
18793
18799
  is3DModell: catPlanArticle.modelName3D && catPlanArticle.modelName3D != '' ? true : false,
18794
18800
  groupName: groupTitle,
18795
18801
  metaData: this.catalogArticles[catPlanArticle.codex].metaDataView,
18796
- contentItemId: this.catalogArticles[catPlanArticle.codex].contentItemId
18802
+ contentItemId: this.catalogArticles[catPlanArticle.codex].contentItemId,
18803
+ partlistcodexes: this.catalogArticles[catPlanArticle.codex].possiblePartlistCodexes
18797
18804
  };
18798
18805
  this.plannerPaletteViewInfo.catalogPlannerArticles.push(catPlanArtView);
18799
18806
  }
@@ -18850,7 +18857,8 @@ var DivaCatalogData = /*#__PURE__*/function () {
18850
18857
  is3DModell: catPlanArticle.modelName3D && catPlanArticle.modelName3D != '' ? true : false,
18851
18858
  groupName: groupTitle,
18852
18859
  metaData: this.catalogArticles[catPlanArticle.codex].metaDataView,
18853
- contentItemId: this.catalogArticles[catPlanArticle.codex].contentItemId
18860
+ contentItemId: this.catalogArticles[catPlanArticle.codex].contentItemId,
18861
+ partlistcodexes: this.catalogArticles[catPlanArticle.codex].possiblePartlistCodexes
18854
18862
  };
18855
18863
  //nicht ausmultiplizierte Elemente
18856
18864
  this.plannerPaletteViewInfo.catalogPlannerArticles.push(_catPlanArtView);
@@ -22557,6 +22565,7 @@ var DivaArticle = /*#__PURE__*/function () {
22557
22565
  }, {
22558
22566
  key: "updateIDMSpecificFeature",
22559
22567
  value: function updateIDMSpecificFeature(myArtOPS) {
22568
+ if (!this.parentHasSameOption(myArtOPS.optionCodex)) return;
22560
22569
  if (myArtOPS.option.idmVariantenArt == 90) {
22561
22570
  //R (Anschlusstyp R) - AVR
22562
22571
  var newAVRFilter = [],
@@ -23542,7 +23551,7 @@ var DivaArticle = /*#__PURE__*/function () {
23542
23551
  break;
23543
23552
  }
23544
23553
  _context.next = 4;
23545
- return import('./ShelfPlanner-108adacb.js');
23554
+ return import('./ShelfPlanner-ff141873.js');
23546
23555
  case 4:
23547
23556
  _yield$import = _context.sent;
23548
23557
  ShelfPlanner = _yield$import["default"];
@@ -23606,7 +23615,6 @@ var DivaArticle = /*#__PURE__*/function () {
23606
23615
  calcUnitPrice = 0,
23607
23616
  calcUnit2Price = 0,
23608
23617
  firstUnit2Param = 0,
23609
- secondUnit2Param = 0,
23610
23618
  idmPriceMeasureFactor = 1;
23611
23619
  //CalcPreise berechnen
23612
23620
  for (var i = 0; i < maxPriceOfGroupCodex.length; i++) {
@@ -23640,75 +23648,70 @@ var DivaArticle = /*#__PURE__*/function () {
23640
23648
  if (!tmpOPT.useMaxPriceOfGroup) {
23641
23649
  myArtOPS.calcPrice = myArtOPS.price * myArtOPS.quantity;
23642
23650
  }
23643
- if (pUnit !== null && pUnit !== void 0 && pUnit.includes('2') && calcUnit2Price && firstUnit2Param && secondUnit2Param) {
23644
- var unit2Price = this.getCalcPerUnit(pUnit, myArtOPS.calcPrice);
23645
- myArtOPS.usedCalcPrice = unit2Price * firstUnit2Param * secondUnit2Param;
23646
- } else {
23647
- switch (pUnit) {
23648
- case 'm':
23649
- calcUnitPrice += myArtOPS.calcPrice / 100;
23650
- break;
23651
- case 'cm':
23652
- calcUnitPrice += myArtOPS.calcPrice;
23653
- break;
23654
- case 'm2':
23655
- calcUnit2Price += myArtOPS.calcPrice / 10000;
23656
- break;
23657
- case 'cm2':
23658
- calcUnit2Price += myArtOPS.calcPrice;
23659
- break;
23660
- default:
23661
- if (myArtOPS.isPercentage) {
23662
- //hier myArtOPS.TargetOption auswerten
23663
- if (myArtOPS.targetOption && myArtOPS.targetOption != '') ; else {
23664
- myArtOPS.usedCalcPrice = myArtOPS.calcPrice;
23665
- }
23651
+ switch (pUnit) {
23652
+ case 'm':
23653
+ calcUnitPrice += myArtOPS.calcPrice / 100;
23654
+ break;
23655
+ case 'cm':
23656
+ calcUnitPrice += myArtOPS.calcPrice;
23657
+ break;
23658
+ case 'm2':
23659
+ calcUnit2Price += myArtOPS.calcPrice / 10000;
23660
+ break;
23661
+ case 'cm2':
23662
+ calcUnit2Price += myArtOPS.calcPrice;
23663
+ break;
23664
+ default:
23665
+ if (myArtOPS.isPercentage) {
23666
+ //hier myArtOPS.TargetOption auswerten
23667
+ if (myArtOPS.targetOption && myArtOPS.targetOption != '') ; else {
23668
+ myArtOPS.usedCalcPrice = myArtOPS.calcPrice;
23669
+ }
23670
+ } else {
23671
+ myArtOPS.usedCalcPrice = DivaUtils.decimalAdjust('round', myArtOPS.calcPrice, digits);
23672
+ }
23673
+ break;
23674
+ }
23675
+ if ((mUnit || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') && this.parentHasSameOption(OP)) {
23676
+ var freeTextMeasure = parseFloat(myArtOPS.freeText ? myArtOPS.freeText : '');
23677
+ if (freeTextMeasure || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') {
23678
+ if (calcUnitPrice != 0) {
23679
+ var quantity = 0;
23680
+ if (OP == 'OPTUMFANG') {
23681
+ mUnit = 'cm';
23682
+ quantity = this.calcWidth * 2 + this.calcDepth * 2;
23683
+ } else if (OP == 'OPTUMFANG_KREIS') {
23684
+ mUnit = 'cm';
23685
+ quantity = this.calcWidth * Math.PI;
23666
23686
  } else {
23667
- myArtOPS.usedCalcPrice = DivaUtils.decimalAdjust('round', myArtOPS.calcPrice, digits);
23687
+ quantity = freeTextMeasure;
23668
23688
  }
23669
- break;
23670
- }
23671
- if (mUnit || OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') {
23672
- var freeTextMeasure = parseFloat(myArtOPS.freeText ? myArtOPS.freeText : '');
23673
- if (freeTextMeasure || (OP == 'OPTUMFANG' || OP == 'OPTUMFANG_KREIS') && calcUnitPrice != 0) {
23674
- if (calcUnitPrice != 0) {
23675
- var quantity = 0;
23676
- if (OP == 'OPTUMFANG') {
23677
- mUnit = 'cm';
23678
- quantity = this.calcWidth * 2 + this.calcDepth * 2;
23679
- } else if (OP == 'OPTUMFANG_KREIS') {
23680
- mUnit = 'cm';
23681
- quantity = this.calcWidth * Math.PI;
23682
- } else {
23683
- quantity = freeTextMeasure;
23684
- }
23685
- if (mUnit == 'cm') myArtOPS.usedCalcPrice = calcUnitPrice * quantity;else if (mUnit == 'm') myArtOPS.usedCalcPrice = calcUnitPrice * quantity * 100;
23686
- } else if (calcUnit2Price != 0) {
23687
- //for diamter option
23688
- if (myArtOPS.option.diameter) {
23689
- myArtOPS.usedCalcPrice = calcUnit2Price * this.calcWidth * this.calcDepth;
23689
+ if (mUnit == 'cm') myArtOPS.usedCalcPrice = calcUnitPrice * quantity;else if (mUnit == 'm') myArtOPS.usedCalcPrice = calcUnitPrice * quantity * 100;
23690
+ } else if (calcUnit2Price != 0) {
23691
+ //for diamter option
23692
+ if (myArtOPS.option.diameter) {
23693
+ myArtOPS.usedCalcPrice = calcUnit2Price * this.calcWidth * this.calcDepth;
23694
+ } else {
23695
+ if (firstUnit2Param == 0) {
23696
+ firstUnit2Param = freeTextMeasure;
23697
+ if (mUnit == 'm') firstUnit2Param = firstUnit2Param * 100;
23690
23698
  } else {
23691
- if (firstUnit2Param == 0) {
23692
- firstUnit2Param = freeTextMeasure;
23693
- if (mUnit == 'm') firstUnit2Param = firstUnit2Param * 100;
23694
- } else {
23695
- secondUnit2Param = freeTextMeasure;
23696
- if (mUnit == 'm') secondUnit2Param = secondUnit2Param * 100;
23697
- myArtOPS.usedCalcPrice = calcUnit2Price * firstUnit2Param * secondUnit2Param;
23698
- }
23699
+ var secondUnit2Param = freeTextMeasure;
23700
+ if (mUnit == 'm') secondUnit2Param = secondUnit2Param * 100;
23701
+ myArtOPS.usedCalcPrice = calcUnit2Price * firstUnit2Param * secondUnit2Param;
23699
23702
  }
23700
23703
  }
23701
23704
  }
23702
23705
  }
23703
- if (OP == 'OPT95' && !!this.catalogArticle.widthHasPrice) {
23704
- idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcWidth;
23705
- }
23706
- if (OP == 'OPT96' && !!this.catalogArticle.depthHasPrice) {
23707
- idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcDepth;
23708
- }
23709
- if (OP == 'OPT97' && !!this.catalogArticle.heightHasPrice) {
23710
- idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcHeight;
23711
- }
23706
+ }
23707
+ if (OP == 'OPT95' && !!this.catalogArticle.widthHasPrice) {
23708
+ idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcWidth;
23709
+ }
23710
+ if (OP == 'OPT96' && !!this.catalogArticle.depthHasPrice) {
23711
+ idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcDepth;
23712
+ }
23713
+ if (OP == 'OPT97' && !!this.catalogArticle.heightHasPrice) {
23714
+ idmPriceMeasureFactor = idmPriceMeasureFactor * this.calcHeight;
23712
23715
  }
23713
23716
  }
23714
23717
  //jetzt nochmal prozentuelle Preise mit TargetOption berechnen
@@ -23807,19 +23810,10 @@ var DivaArticle = /*#__PURE__*/function () {
23807
23810
  this.article.price = articleUsedCalcPrice;
23808
23811
  }
23809
23812
  }, {
23810
- key: "getCalcPerUnit",
23811
- value: function getCalcPerUnit(unit, calcPrice) {
23812
- switch (unit) {
23813
- case 'm':
23814
- return calcPrice / 100;
23815
- case 'cm':
23816
- return calcPrice;
23817
- case 'm2':
23818
- return calcPrice / 10000;
23819
- case 'cm2':
23820
- return calcPrice;
23821
- }
23822
- return 0;
23813
+ key: "parentHasSameOption",
23814
+ value: function parentHasSameOption(opt) {
23815
+ if (!this.partListParentArticle) return true;
23816
+ return !!this.partListParentArticle.articleOptionStates[opt] || this.partlistArticleVisibleInTree;
23823
23817
  }
23824
23818
  }, {
23825
23819
  key: "getOptionPrice",
@@ -24971,72 +24965,89 @@ var DivaArticleHandler = /*#__PURE__*/function () {
24971
24965
  }
24972
24966
  }
24973
24967
  }
24974
- if (!(Object.keys(article.articleOptionStates).length === 0)) {
24975
- //infos eines Basisconfigurats initialisieren
24976
- if (!(Object.keys(variantValues).length === 0)) {
24977
- //Hier werden dann die neuen OPT Werte beim aktuell selektierten Artikel gesetzt!
24978
- for (attr in variantValues) {
24979
- foundItem = article.checkOptionAndOptionValue(attr, variantValues[attr]);
24980
- if (foundItem.opt) {
24981
- if (foundItem.opv instanceof ArticleOptionValueData) {
24982
- freeText = variantValues[attr + '_val'];
24983
- article.setOP(foundItem.opt.codex, foundItem.opv, freeText, true);
24984
- if ((_foundItem$opt = foundItem.opt) !== null && _foundItem$opt !== void 0 && _foundItem$opt.isDefaultValueForOptions) {
24985
- //falls eine Golbale Option Initialisiert wird soll hier der Default value bei dessen abhängigen Optionen gesetzt werden deshalb 2. parameter = true
24986
- article.checkDefaultGlobalOpt(_defineProperty({}, foundItem.opt.codex, foundItem.opv.codex), true);
24987
- }
24968
+ if (Object.keys(article.articleOptionStates).length === 0) {
24969
+ _context8.next = 19;
24970
+ break;
24971
+ }
24972
+ //infos eines Basisconfigurats initialisieren
24973
+ if (!(Object.keys(variantValues).length === 0)) {
24974
+ //Hier werden dann die neuen OPT Werte beim aktuell selektierten Artikel gesetzt!
24975
+ for (attr in variantValues) {
24976
+ foundItem = article.checkOptionAndOptionValue(attr, variantValues[attr]);
24977
+ if (foundItem.opt) {
24978
+ if (foundItem.opv instanceof ArticleOptionValueData) {
24979
+ freeText = variantValues[attr + '_val'];
24980
+ article.setOP(foundItem.opt.codex, foundItem.opv, freeText, true);
24981
+ if ((_foundItem$opt = foundItem.opt) !== null && _foundItem$opt !== void 0 && _foundItem$opt.isDefaultValueForOptions) {
24982
+ //falls eine Golbale Option Initialisiert wird soll hier der Default value bei dessen abhängigen Optionen gesetzt werden deshalb 2. parameter = true
24983
+ article.checkDefaultGlobalOpt(_defineProperty({}, foundItem.opt.codex, foundItem.opv.codex), true);
24988
24984
  }
24989
24985
  }
24990
24986
  }
24991
24987
  }
24988
+ }
24992
24989
 
24993
- //defaultValues for FreeText
24994
- if (article.articleOptionStates) {
24995
- for (_key in article.articleOptionStates) {
24996
- myArtOPS = article.articleOptionStates[_key];
24997
- value = undefined;
24998
- optionValueCodex = Object.keys(myArtOPS.option.articleOptionValues)[0];
24999
- if (variantItems && myArtOPS.isFreeText && myArtOPS.measureUnit) {
25000
- for (i = 0; i < variantItems.length && value == undefined; i++) {
25001
- variantItem = variantItems[i];
25002
- if ('OPT' + variantItem.OPT == myArtOPS.optionCodex && variantItem.OPVName) {
25003
- if (variantItem.MeasureValue) {
25004
- //measureValue from new Bakset
25005
- value = variantItem.MeasureValue;
25006
- optionValueCodex = 'OPV' + variantItem.OPV;
25007
- } else {
25008
- //measureValue from old Bakset. we have to find out the value in the opvName // WCTODEL this code can be deleted after 1 year
25009
- possibleValues = variantItem.OPVName.split(': ');
25010
- for (j = 0; j < possibleValues.length && value == undefined; j++) {
25011
- possibleValue = possibleValues[j].replace(' cm', '').replace(' mm', '').replace(' m', '').replace('cm', '').replace('mm', '').replace('m', '');
25012
- if (!isNaN(Number(possibleValue))) {
25013
- value = possibleValue;
25014
- }
25015
- }
25016
- }
25017
- }
25018
- }
25019
- } else if (variantItems && myArtOPS.isFreeText) {
25020
- for (_i2 = 0; _i2 < variantItems.length && value == undefined; _i2++) {
25021
- _variantItem = variantItems[_i2];
25022
- if (_variantItem.isFreeText && _variantItem.FreeText && 'OPT' + _variantItem.OPT == myArtOPS.optionCodex) {
25023
- value = _variantItem.FreeText;
25024
- optionValueCodex = 'OPV' + _variantItem.OPV;
24990
+ //defaultValues for FreeText
24991
+ if (!article.articleOptionStates) {
24992
+ _context8.next = 19;
24993
+ break;
24994
+ }
24995
+ _context8.t0 = _regeneratorRuntime.keys(article.articleOptionStates);
24996
+ case 7:
24997
+ if ((_context8.t1 = _context8.t0()).done) {
24998
+ _context8.next = 19;
24999
+ break;
25000
+ }
25001
+ _key = _context8.t1.value;
25002
+ myArtOPS = article.articleOptionStates[_key];
25003
+ if (!variantValues[_key + '_val']) {
25004
+ _context8.next = 12;
25005
+ break;
25006
+ }
25007
+ return _context8.abrupt("continue", 7);
25008
+ case 12:
25009
+ value = undefined;
25010
+ optionValueCodex = Object.keys(myArtOPS.option.articleOptionValues)[0];
25011
+ if (variantItems && myArtOPS.isFreeText && myArtOPS.measureUnit) {
25012
+ for (i = 0; i < variantItems.length && value == undefined; i++) {
25013
+ variantItem = variantItems[i];
25014
+ if ('OPT' + variantItem.OPT == myArtOPS.optionCodex && variantItem.OPVName) {
25015
+ if (variantItem.MeasureValue) {
25016
+ //measureValue from new Bakset
25017
+ value = variantItem.MeasureValue;
25018
+ optionValueCodex = 'OPV' + variantItem.OPV;
25019
+ } else {
25020
+ //measureValue from old Bakset. we have to find out the value in the opvName // WCTODEL this code can be deleted after 1 year
25021
+ possibleValues = variantItem.OPVName.split(': ');
25022
+ for (j = 0; j < possibleValues.length && value == undefined; j++) {
25023
+ possibleValue = possibleValues[j].replace(' cm', '').replace(' mm', '').replace(' m', '').replace('cm', '').replace('mm', '').replace('m', '');
25024
+ if (!isNaN(Number(possibleValue))) {
25025
+ value = possibleValue;
25025
25026
  }
25026
25027
  }
25027
25028
  }
25028
- if (value == undefined) {
25029
- val = myArtOPS.option.freetextDefaultValue;
25030
- if (val) {
25031
- value = val;
25032
- myArtOPS.freeText = val;
25033
- }
25034
- }
25035
- if (value != undefined) article.setOP(myArtOPS.option.codex, myArtOPS.option.articleOptionValues[optionValueCodex], value, true);
25029
+ }
25030
+ }
25031
+ } else if (variantItems && myArtOPS.isFreeText) {
25032
+ for (_i2 = 0; _i2 < variantItems.length && value == undefined; _i2++) {
25033
+ _variantItem = variantItems[_i2];
25034
+ if (_variantItem.isFreeText && _variantItem.FreeText && 'OPT' + _variantItem.OPT == myArtOPS.optionCodex) {
25035
+ value = _variantItem.FreeText;
25036
+ optionValueCodex = 'OPV' + _variantItem.OPV;
25036
25037
  }
25037
25038
  }
25038
25039
  }
25039
- case 4:
25040
+ if (value == undefined) {
25041
+ val = myArtOPS.option.freetextDefaultValue;
25042
+ if (val) {
25043
+ value = val;
25044
+ myArtOPS.freeText = val;
25045
+ }
25046
+ }
25047
+ if (value != undefined) article.setOP(myArtOPS.option.codex, myArtOPS.option.articleOptionValues[optionValueCodex], value, true);
25048
+ _context8.next = 7;
25049
+ break;
25050
+ case 19:
25040
25051
  case "end":
25041
25052
  return _context8.stop();
25042
25053
  }
@@ -26859,6 +26870,7 @@ function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.lengt
26859
26870
  function ownKeys$b(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; }
26860
26871
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26861
26872
  var LOG$9 = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
26873
+ //plz delete me
26862
26874
  var DivaSet = /*#__PURE__*/function () {
26863
26875
  function DivaSet(catalog, _setId, orderSet, initSetState) {
26864
26876
  var _this = this,
@@ -27000,14 +27012,9 @@ var DivaSet = /*#__PURE__*/function () {
27000
27012
  return _ref.apply(this, arguments);
27001
27013
  };
27002
27014
  }());
27003
- _defineProperty(this, "setPosNr", function (elementId, posNr, accNr) {
27015
+ _defineProperty(this, "setPosNr", function (elementId, posNr) {
27004
27016
  var article = _this.getArticleByElementId(elementId);
27005
- if (article) {
27006
- article.posNr = posNr;
27007
- if (accNr != undefined) {
27008
- article.posNr = Number(posNr + '.' + (accNr < 10 ? '0' : '') + accNr.toString());
27009
- }
27010
- }
27017
+ if (article) article.posNr = posNr;
27011
27018
  _this.sortDivaArticlesByArticlePosNr();
27012
27019
  });
27013
27020
  _defineProperty(this, "setElementId", function (basketID, elementId) {
@@ -27258,54 +27265,56 @@ var DivaSet = /*#__PURE__*/function () {
27258
27265
  }, {
27259
27266
  key: "giveAccNewPosNrByBasketId",
27260
27267
  value: function giveAccNewPosNrByBasketId(BasketIdParent) {
27261
- var curNum = this.giveNotPlannedAccPosNrByBasketId(BasketIdParent);
27268
+ var curNum = this.giveAccPosNrByBasketId(BasketIdParent);
27262
27269
  this.givePartlistAccPosNrByBasketId(BasketIdParent, curNum);
27263
27270
  this.sortDivaArticlesByArticlePosNr();
27264
27271
  }
27265
27272
  }, {
27266
- key: "giveNotPlannedAccPosNrByBasketId",
27267
- value: function giveNotPlannedAccPosNrByBasketId(BasketIdParent, BasketId, curNum) {
27273
+ key: "giveAccPosNrByBasketId",
27274
+ value: function giveAccPosNrByBasketId(basketId) {
27275
+ var curNum = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
27268
27276
  var allAccs = [];
27269
27277
  var articles = this.getDivaArticles();
27270
- if (!BasketId) BasketId = BasketIdParent;
27271
- var myParentArticle = articles[BasketIdParent];
27272
- var _this$getSplitPlanned = this.getSplitPlannedAccessoiresOfBasketId(BasketId),
27278
+ var article = articles[basketId];
27279
+ if (!article) throw new Error('article ' + basketId + ' does not exist');
27280
+ var myParentArticle = article.getBaseParent();
27281
+ var _this$getSplitPlanned = this.getSplitPlannedAccessoiresOfBasketId(basketId),
27273
27282
  notPlannedAcc = _this$getSplitPlanned.notPlannedAcc,
27274
27283
  plannedAcc = _this$getSplitPlanned.plannedAcc;
27275
- if (curNum === undefined) curNum = this.getStartingPosNr(BasketIdParent);
27276
- for (var key in notPlannedAcc) {
27277
- allAccs.push(notPlannedAcc[key]);
27284
+ for (var key in plannedAcc) {
27285
+ allAccs.push(plannedAcc[key]);
27286
+ }
27287
+ for (var _key3 in notPlannedAcc) {
27288
+ allAccs.push(notPlannedAcc[_key3]);
27278
27289
  }
27279
27290
  for (var i = 0; i < allAccs.length; i++) {
27291
+ var accessoire = allAccs[i];
27280
27292
  curNum++;
27281
- allAccs[i].posNr = Number(parseFloat((myParentArticle.posNr + curNum / 100).toString()).toFixed(2));
27282
- if (allAccs[i].shelfAccessoires || Object.keys(allAccs[i].accessoires).length !== 0) {
27283
- curNum = this.giveNotPlannedAccPosNrByBasketId(BasketIdParent, allAccs[i].basketId, curNum);
27293
+ accessoire.posNr = Number(parseFloat((myParentArticle.posNr + curNum / 100).toString()).toFixed(2));
27294
+ if (accessoire.shelfAccessoires || Object.keys(accessoire.accessoires).length !== 0) {
27295
+ curNum = this.giveAccPosNrByBasketId(accessoire.basketId, curNum);
27296
+ }
27297
+ if (accessoire.hasPartlistArticle) {
27298
+ curNum = this.givePartlistAccPosNrByBasketId(accessoire.basketId, curNum);
27284
27299
  }
27285
- }
27286
- for (var _key3 in plannedAcc) {
27287
- curNum = this.giveNotPlannedAccPosNrByBasketId(BasketIdParent, _key3, curNum);
27288
27300
  }
27289
27301
  return curNum;
27290
27302
  }
27291
27303
  }, {
27292
27304
  key: "givePartlistAccPosNrByBasketId",
27293
- value: function givePartlistAccPosNrByBasketId(BasketIdParent, curNum) {
27294
- var articles = this.getDivaArticles();
27295
- if (!Object.entries(articles).length) return;
27296
- var myParentArticle = articles[BasketIdParent];
27297
- var allAcc = [myParentArticle];
27298
- allAcc = allAcc.concat(this.getAccessoiresOfArticleRecursive(BasketIdParent));
27299
- for (var i = 0; i < allAcc.length; i++) {
27300
- var partlistArticles = this.getPartlistArticlesOfArticle(allAcc[i]);
27301
- if (!(partlistArticles !== null && partlistArticles !== void 0 && partlistArticles.length)) continue;
27302
- for (var j = 0; j < partlistArticles.length; j++) {
27303
- var accessoire = partlistArticles[j];
27304
- if (accessoire.hasPartlistArticle && accessoire.isPartListArticle && !accessoire.partlistArticleVisibleInTree) continue;
27305
- curNum++;
27306
- accessoire.posNr = Number(parseFloat((myParentArticle.posNr + curNum / 100).toString()).toFixed(2));
27307
- }
27305
+ value: function givePartlistAccPosNrByBasketId(basketId, curNum) {
27306
+ var article = this.getArticleByBasketId(basketId);
27307
+ if (!article) return curNum;
27308
+ var baseParent = article.getBaseParent();
27309
+ var partlistArticles = this.getPartlistArticlesOfArticle(article);
27310
+ for (var j = 0; j < ((_partlistArticles$len = partlistArticles === null || partlistArticles === void 0 ? void 0 : partlistArticles.length) !== null && _partlistArticles$len !== void 0 ? _partlistArticles$len : 0); j++) {
27311
+ var _partlistArticles$len;
27312
+ var accessoire = partlistArticles[j];
27313
+ if (accessoire.hasPartlistArticle && accessoire.isPartListArticle && !accessoire.partlistArticleVisibleInTree) continue;
27314
+ curNum++;
27315
+ accessoire.posNr = Number(parseFloat((baseParent.posNr + curNum / 100).toString()).toFixed(2));
27308
27316
  }
27317
+ return curNum;
27309
27318
  }
27310
27319
  }, {
27311
27320
  key: "getAccessoiresOfBasketId",
@@ -27337,11 +27346,6 @@ var DivaSet = /*#__PURE__*/function () {
27337
27346
  notPlannedAcc: notPlannedAcc
27338
27347
  };
27339
27348
  }
27340
- }, {
27341
- key: "getStartingPosNr",
27342
- value: function getStartingPosNr(basketid) {
27343
- return this.getAccessoiresOfArticleRecursive(basketid, 'onlyPlanner').length;
27344
- }
27345
27349
  }, {
27346
27350
  key: "getAccessoiresOfBasketIdAsArray",
27347
27351
  value: function getAccessoiresOfBasketIdAsArray(basketId, filter) {
@@ -27662,7 +27666,9 @@ var DivaSet = /*#__PURE__*/function () {
27662
27666
  value: function getArticleByBasketId(basketId) {
27663
27667
  if (this.divaArticles[basketId]) return this.divaArticles[basketId];
27664
27668
  for (var key in this.divaArticles) {
27665
- if (this.divaArticles[key].partlistArticles[basketId]) return this.divaArticles[key].partlistArticles[basketId];
27669
+ var article = this.divaArticles[key];
27670
+ var plArticles = article.getRecursivePartlistArticles();
27671
+ if (plArticles[basketId]) return plArticles[basketId];
27666
27672
  }
27667
27673
  return undefined;
27668
27674
  }
@@ -28060,7 +28066,7 @@ var DivaSet = /*#__PURE__*/function () {
28060
28066
  break;
28061
28067
  }
28062
28068
  _context4.next = 3;
28063
- return import('./DoorPlanner-4e150553.js');
28069
+ return import('./DoorPlanner-eb0b94a0.js');
28064
28070
  case 3:
28065
28071
  _yield$import = _context4.sent;
28066
28072
  DoorPlanner = _yield$import["default"];
@@ -30324,46 +30330,49 @@ var DivaFavoritesHandler = /*#__PURE__*/function () {
30324
30330
  value: function () {
30325
30331
  var _saveConfigVariantsInBasket = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(set, basket, variant, repairOnly) {
30326
30332
  var _hQRenderScript, _basket$OrderSets$set, _basket$OrderSets$set2;
30327
- var setindex, setImage, urlToPlanning2D, hQRenderScript, plannerData, promises, _yield$Promise$all, _yield$Promise$all2, i, optionsSorted, variantValues, _i3, opt, key, targetArticle, configVariant;
30333
+ var setindex, setImage, dimensions, urlToPlanning2D, hQRenderScript, plannerData, promises, _yield$Promise$all, _yield$Promise$all2, _yield$Promise$all2$, i, optionsSorted, variantValues, _i3, opt, key, targetArticle, configVariant;
30328
30334
  return _regeneratorRuntime.wrap(function _callee5$(_context6) {
30329
30335
  while (1) switch (_context6.prev = _context6.next) {
30330
30336
  case 0:
30331
30337
  setindex = -1;
30332
30338
  setImage = undefined;
30339
+ dimensions = {};
30333
30340
  urlToPlanning2D = undefined;
30334
30341
  hQRenderScript = undefined;
30335
30342
  plannerData = set.plannerHandler.savePlanner(set.getSetId());
30336
30343
  if (repairOnly) {
30337
- _context6.next = 14;
30344
+ _context6.next = 17;
30338
30345
  break;
30339
30346
  }
30340
30347
  promises = [setHandlerInstance.getSetImage(set, true), setHandlerInstance.get2DSetImage(set), setHandlerInstance.getHQRenderScript(set, basket.DivaNr)];
30341
- _context6.next = 9;
30348
+ _context6.next = 10;
30342
30349
  return Promise.all(promises);
30343
- case 9:
30350
+ case 10:
30344
30351
  _yield$Promise$all = _context6.sent;
30345
30352
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
30346
- setImage = _yield$Promise$all2[0];
30353
+ _yield$Promise$all2$ = _yield$Promise$all2[0];
30354
+ setImage = _yield$Promise$all2$.url;
30355
+ dimensions = _yield$Promise$all2$.dimensions;
30347
30356
  urlToPlanning2D = _yield$Promise$all2[1];
30348
30357
  hQRenderScript = _yield$Promise$all2[2];
30349
- case 14:
30358
+ case 17:
30350
30359
  i = 0;
30351
- case 15:
30360
+ case 18:
30352
30361
  if (!(i < basket.OrderSets.length)) {
30353
- _context6.next = 22;
30362
+ _context6.next = 25;
30354
30363
  break;
30355
30364
  }
30356
30365
  if (!(set.getSetId() == basket.OrderSets[i].SetID)) {
30357
- _context6.next = 19;
30366
+ _context6.next = 22;
30358
30367
  break;
30359
30368
  }
30360
30369
  setindex = i;
30361
- return _context6.abrupt("break", 22);
30362
- case 19:
30370
+ return _context6.abrupt("break", 25);
30371
+ case 22:
30363
30372
  i++;
30364
- _context6.next = 15;
30373
+ _context6.next = 18;
30365
30374
  break;
30366
- case 22:
30375
+ case 25:
30367
30376
  if (!basket.OrderSets[setindex].ConfigVariants) basket.OrderSets[setindex].ConfigVariants = [];
30368
30377
  optionsSorted = set.CatalogData.getOptionsPosition();
30369
30378
  variantValues = {};
@@ -30374,9 +30383,9 @@ var DivaFavoritesHandler = /*#__PURE__*/function () {
30374
30383
  if (targetArticle[opt] && !variantValues[opt]) variantValues[opt] = targetArticle[opt];
30375
30384
  }
30376
30385
  }
30377
- configVariant = new ConfigVariantData(variant.id, set.setName, set.setName_locales, setImage, (_hQRenderScript = hQRenderScript) === null || _hQRenderScript === void 0 ? void 0 : _hQRenderScript._id, DivaUtils.encodeBase64(set.plannerHandler.getProject3D(set.getSetId())), set.getVariantsDescription(), set.SetArticleNr, set.getSetPrice(), set.setHash, 1, set.getVariantBasketData(), articleHandlerInstance.getCompactOrderLine(_objectSpread$a(_objectSpread$a({}, set.getDivaArticles()), set.getPartlistArticlesOfSet())), variantValues, summaryHandlerInstance.convertSummaryItemsToSummaryInfo(set), plannerData != undefined ? DivaUtils.encodeBase64(JSON.stringify(plannerData)) : '', urlToPlanning2D, setHandlerInstance.getBBoxObject(set), set.getBruttoSetPrice(), undefined, undefined, set.MetaData, set.MetaData_locales, DivaUtils.stripTagsFromDict(set.getVariantsDescription_locales()), (_basket$OrderSets$set = basket.OrderSets[setindex].ConfigVariants) === null || _basket$OrderSets$set === void 0 || (_basket$OrderSets$set = _basket$OrderSets$set[set.basketConfigVariants.length]) === null || _basket$OrderSets$set === void 0 ? void 0 : _basket$OrderSets$set.SetOrderText, (_basket$OrderSets$set2 = basket.OrderSets[setindex].ConfigVariants) === null || _basket$OrderSets$set2 === void 0 || (_basket$OrderSets$set2 = _basket$OrderSets$set2[set.basketConfigVariants.length]) === null || _basket$OrderSets$set2 === void 0 ? void 0 : _basket$OrderSets$set2.SetOrderText_locales);
30386
+ configVariant = new ConfigVariantData(variant.id, set.setName, set.setName_locales, setImage, (_hQRenderScript = hQRenderScript) === null || _hQRenderScript === void 0 ? void 0 : _hQRenderScript._id, DivaUtils.encodeBase64(set.plannerHandler.getProject3D(set.getSetId())), set.getVariantsDescription(), set.SetArticleNr, set.getSetPrice(), set.setHash, 1, set.getVariantBasketData(), articleHandlerInstance.getCompactOrderLine(_objectSpread$a(_objectSpread$a({}, set.getDivaArticles()), set.getPartlistArticlesOfSet())), variantValues, summaryHandlerInstance.convertSummaryItemsToSummaryInfo(set), plannerData != undefined ? DivaUtils.encodeBase64(JSON.stringify(plannerData)) : '', urlToPlanning2D, setHandlerInstance.getBBoxObject(set, dimensions), set.getBruttoSetPrice(), undefined, undefined, set.MetaData, set.MetaData_locales, DivaUtils.stripTagsFromDict(set.getVariantsDescription_locales()), (_basket$OrderSets$set = basket.OrderSets[setindex].ConfigVariants) === null || _basket$OrderSets$set === void 0 || (_basket$OrderSets$set = _basket$OrderSets$set[set.basketConfigVariants.length]) === null || _basket$OrderSets$set === void 0 ? void 0 : _basket$OrderSets$set.SetOrderText, (_basket$OrderSets$set2 = basket.OrderSets[setindex].ConfigVariants) === null || _basket$OrderSets$set2 === void 0 || (_basket$OrderSets$set2 = _basket$OrderSets$set2[set.basketConfigVariants.length]) === null || _basket$OrderSets$set2 === void 0 ? void 0 : _basket$OrderSets$set2.SetOrderText_locales);
30378
30387
  set.basketConfigVariants.push(configVariant);
30379
- case 28:
30388
+ case 31:
30380
30389
  case "end":
30381
30390
  return _context6.stop();
30382
30391
  }
@@ -33138,21 +33147,31 @@ var DivaSetHandler = /*#__PURE__*/function () {
33138
33147
  key: "calcVariants",
33139
33148
  value: function () {
33140
33149
  var _calcVariants = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee24(set, configItems, targetArticles) {
33141
- var variantInfo, origConfig, i, item, variantValues, doUseConfigs, key;
33150
+ var variantInfo, articles, origConfigs, i, item, variantValues, doUseConfigs, targetIndex, origConfig, key, _targetIndex;
33142
33151
  return _regeneratorRuntime.wrap(function _callee24$(_context26) {
33143
33152
  while (1) switch (_context26.prev = _context26.next) {
33144
33153
  case 0:
33145
33154
  variantInfo = [];
33146
- origConfig = set.getDivaArticles()[targetArticles[0]].VariantValues;
33155
+ articles = set.getDivaArticles();
33156
+ origConfigs = targetArticles.map(function (basketId) {
33157
+ return articles[basketId].VariantValues;
33158
+ });
33147
33159
  i = 0;
33148
- case 3:
33160
+ case 4:
33149
33161
  if (!(i < configItems.length)) {
33150
- _context26.next = 16;
33162
+ _context26.next = 23;
33151
33163
  break;
33152
33164
  }
33153
33165
  item = configItems[i];
33154
33166
  variantValues = {};
33155
33167
  doUseConfigs = false;
33168
+ targetIndex = 0;
33169
+ case 9:
33170
+ if (!(targetIndex < origConfigs.length)) {
33171
+ _context26.next = 19;
33172
+ break;
33173
+ }
33174
+ origConfig = origConfigs[targetIndex];
33156
33175
  for (key in origConfig) {
33157
33176
  if (key == item.op || key == item.idmOpgOptionCodex) {
33158
33177
  doUseConfigs = true;
@@ -33160,24 +33179,38 @@ var DivaSetHandler = /*#__PURE__*/function () {
33160
33179
  }
33161
33180
  variantValues[item.op] = item.codex;
33162
33181
  if (item.idmOpgOptionCodex) variantValues[item.idmOpgOptionCodex] = item.idmOpgValCodex;
33163
- _context26.next = 12;
33164
- return this.updateArticlesOptionStatesOfActSet(set, variantValues, targetArticles, true, 'calcVariant');
33165
- case 12:
33182
+ _context26.next = 16;
33183
+ return this.updateArticlesOptionStatesOfActSet(set, variantValues, [targetArticles[targetIndex]], true, 'calcVariant');
33184
+ case 16:
33185
+ targetIndex++;
33186
+ _context26.next = 9;
33187
+ break;
33188
+ case 19:
33166
33189
  variantInfo.push({
33167
33190
  price: set.getSetPrice(),
33168
33191
  variants: set.getGeneralVariantValues(targetArticles),
33169
33192
  opt: item.op
33170
33193
  });
33171
- case 13:
33194
+ case 20:
33172
33195
  i++;
33173
- _context26.next = 3;
33196
+ _context26.next = 4;
33174
33197
  break;
33175
- case 16:
33176
- _context26.next = 18;
33177
- return this.updateArticlesOptionStatesOfActSet(set, origConfig, targetArticles, true);
33178
- case 18:
33198
+ case 23:
33199
+ _targetIndex = 0;
33200
+ case 24:
33201
+ if (!(_targetIndex < origConfigs.length)) {
33202
+ _context26.next = 30;
33203
+ break;
33204
+ }
33205
+ _context26.next = 27;
33206
+ return this.updateArticlesOptionStatesOfActSet(set, origConfigs[_targetIndex], [targetArticles[_targetIndex]], true);
33207
+ case 27:
33208
+ _targetIndex++;
33209
+ _context26.next = 24;
33210
+ break;
33211
+ case 30:
33179
33212
  return _context26.abrupt("return", variantInfo);
33180
- case 19:
33213
+ case 31:
33181
33214
  case "end":
33182
33215
  return _context26.stop();
33183
33216
  }
@@ -33391,7 +33424,6 @@ var DivaSetHandler = /*#__PURE__*/function () {
33391
33424
  value: function checkNotificationRules(set, targetArticles, visitedOptions, event) {
33392
33425
  var _set$CatalogData$noti;
33393
33426
  if (!((_set$CatalogData$noti = set.CatalogData.notificationsRules) !== null && _set$CatalogData$noti !== void 0 && _set$CatalogData$noti.length)) return;
33394
- console.log('checking');
33395
33427
  var allArticles = set.getDivaArticles(true);
33396
33428
  var articles = {};
33397
33429
  for (var i = 0; i < targetArticles.length; i++) {
@@ -33875,7 +33907,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
33875
33907
  value: function () {
33876
33908
  var _getOrderSet = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee29(set, catalogData, posNr, divaNr, repairOnly, returnTo) {
33877
33909
  var _hqRenderScript, _set$basketConfigVari2, _set$basketConfigVari3;
33878
- var dontGenerateImages, orderSet, GroupType, plannerData, setImage, urlToPlanning2D, alternateSetImages, hqRenderScript, promise3D, promise2D, promise3DAlternate, _yield$Promise$all, _yield$Promise$all2, promiseHQRenderScript, _yield$Promise$all3, _yield$Promise$all4, plannerWarnings, bruttoPrice;
33910
+ var dontGenerateImages, orderSet, GroupType, plannerData, setImage, urlToPlanning2D, alternateSetImages, hqRenderScript, dimensions, promise3D, promise2D, promise3DAlternate, _yield$Promise$all, _yield$Promise$all2, _yield$Promise$all2$, promiseHQRenderScript, _yield$Promise$all3, _yield$Promise$all4, plannerWarnings, bruttoPrice;
33879
33911
  return _regeneratorRuntime.wrap(function _callee29$(_context31) {
33880
33912
  while (1) switch (_context31.prev = _context31.next) {
33881
33913
  case 0:
@@ -33887,8 +33919,9 @@ var DivaSetHandler = /*#__PURE__*/function () {
33887
33919
  urlToPlanning2D = undefined;
33888
33920
  alternateSetImages = undefined;
33889
33921
  hqRenderScript = undefined;
33922
+ dimensions = {};
33890
33923
  if (dontGenerateImages) {
33891
- _context31.next = 25;
33924
+ _context31.next = 28;
33892
33925
  break;
33893
33926
  }
33894
33927
  promise3D = this.getSetImage(set, typeof window === 'undefined');
@@ -33896,22 +33929,24 @@ var DivaSetHandler = /*#__PURE__*/function () {
33896
33929
  if (!catalogData.dontSaveAlternativeRenderings && set.CatalogData.alternateRenderingsForSummary.length) {
33897
33930
  promise3DAlternate = this.getAlternateSetImages(set);
33898
33931
  }
33899
- _context31.next = 14;
33932
+ _context31.next = 15;
33900
33933
  return Promise.all([promise3D, promise2D, promise3DAlternate]);
33901
- case 14:
33934
+ case 15:
33902
33935
  _yield$Promise$all = _context31.sent;
33903
33936
  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);
33904
- setImage = _yield$Promise$all2[0];
33937
+ _yield$Promise$all2$ = _yield$Promise$all2[0];
33938
+ setImage = _yield$Promise$all2$.url;
33939
+ dimensions = _yield$Promise$all2$.dimensions;
33905
33940
  urlToPlanning2D = _yield$Promise$all2[1];
33906
33941
  alternateSetImages = _yield$Promise$all2[2];
33907
33942
  promiseHQRenderScript = this.getHQRenderScript(set, divaNr);
33908
- _context31.next = 22;
33943
+ _context31.next = 25;
33909
33944
  return Promise.all([promiseHQRenderScript]);
33910
- case 22:
33945
+ case 25:
33911
33946
  _yield$Promise$all3 = _context31.sent;
33912
33947
  _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 1);
33913
33948
  hqRenderScript = _yield$Promise$all4[0];
33914
- case 25:
33949
+ case 28:
33915
33950
  LOG$8.startTransaction({
33916
33951
  event: 'FillBakset',
33917
33952
  eventId: 'FILL_BASKET',
@@ -33943,7 +33978,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
33943
33978
  OfflineData: catalogData.offlineData,
33944
33979
  SetArticleNr: set.SetArticleNr ? set.SetArticleNr : catalogData.retailArticleNr,
33945
33980
  SetArticleNrPrefix: set.SetArticleNrPrefix,
33946
- BBox: this.getBBoxObject(set),
33981
+ BBox: this.getBBoxObject(set, dimensions),
33947
33982
  SetVariantBasketDatas: set.getVariantBasketData(),
33948
33983
  SetImage: setImage,
33949
33984
  //Add url string of current rendering.
@@ -33977,7 +34012,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
33977
34012
  MetaData_locales: !((_set$basketConfigVari3 = set.basketConfigVariants) !== null && _set$basketConfigVari3 !== void 0 && _set$basketConfigVari3.length) ? set.MetaData_locales : undefined
33978
34013
  });
33979
34014
  return _context31.abrupt("return", orderSet);
33980
- case 32:
34015
+ case 35:
33981
34016
  case "end":
33982
34017
  return _context31.stop();
33983
34018
  }
@@ -33997,14 +34032,13 @@ var DivaSetHandler = /*#__PURE__*/function () {
33997
34032
  key: "getSetImage",
33998
34033
  value: (function () {
33999
34034
  var _getSetImage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee30(set, overwriteLastSavedRendering) {
34000
- var setImage, is3D;
34035
+ var is3D, _yield$set$plannerHan, dimensions, url;
34001
34036
  return _regeneratorRuntime.wrap(function _callee30$(_context32) {
34002
34037
  while (1) switch (_context32.prev = _context32.next) {
34003
34038
  case 0:
34004
- setImage = undefined;
34005
34039
  is3D = ['3DImage', '3DCOMB', 'BoxPlanner', 'RTViewer'].includes(set.getPlannerMode());
34006
34040
  if (!is3D) {
34007
- _context32.next = 10;
34041
+ _context32.next = 12;
34008
34042
  break;
34009
34043
  }
34010
34044
  LOG$8.startTransaction({
@@ -34012,17 +34046,29 @@ var DivaSetHandler = /*#__PURE__*/function () {
34012
34046
  message: 'render 3D Image',
34013
34047
  eventId: 'RENDER_3D_IMAGE'
34014
34048
  });
34015
- _context32.next = 6;
34049
+ _context32.next = 5;
34016
34050
  return set.plannerHandler.saveSetImage(overwriteLastSavedRendering);
34017
- case 6:
34018
- _context32.next = 8;
34051
+ case 5:
34052
+ _context32.next = 7;
34019
34053
  return set.plannerHandler.getSetImageAsUrl(set.getSetId());
34020
- case 8:
34021
- setImage = _context32.sent;
34054
+ case 7:
34055
+ _yield$set$plannerHan = _context32.sent;
34056
+ dimensions = _yield$set$plannerHan.dimensions;
34057
+ url = _yield$set$plannerHan.url;
34022
34058
  LOG$8.successTransaction('RENDER_3D_IMAGE');
34023
- case 10:
34024
- return _context32.abrupt("return", setImage);
34025
- case 11:
34059
+ return _context32.abrupt("return", {
34060
+ dimensions: dimensions,
34061
+ url: url
34062
+ });
34063
+ case 12:
34064
+ return _context32.abrupt("return", {
34065
+ dimensions: {
34066
+ w: undefined,
34067
+ h: undefined,
34068
+ d: undefined
34069
+ }
34070
+ });
34071
+ case 13:
34026
34072
  case "end":
34027
34073
  return _context32.stop();
34028
34074
  }
@@ -34165,14 +34211,17 @@ var DivaSetHandler = /*#__PURE__*/function () {
34165
34211
  }()
34166
34212
  }, {
34167
34213
  key: "getBBoxObject",
34168
- value: function getBBoxObject(set) {
34214
+ value: function getBBoxObject(set, dimensions) {
34215
+ var _dimensions$w, _dimensions$d, _dimensions$h, _set$api$getI18n$t, _set$api$getI18n, _set$api$getI18n$t2, _set$api$getI18n$t3, _set$api$getI18n2, _set$api$getI18n2$t, _set$api$getI18n$t4, _set$api$getI18n3, _set$api$getI18n3$t;
34169
34216
  var bbox = set.plannerHandler.getSetBoundingBox(set.getSetId());
34170
- return {
34171
- X: bbox.width,
34172
- Y: bbox.depth,
34173
- Z: bbox.height,
34174
- Info: bbox.width + 'cm x ' + bbox.depth + 'cm'
34217
+ var dim = {
34218
+ X: (_dimensions$w = dimensions === null || dimensions === void 0 ? void 0 : dimensions.w) !== null && _dimensions$w !== void 0 ? _dimensions$w : bbox.width,
34219
+ Y: (_dimensions$d = dimensions === null || dimensions === void 0 ? void 0 : dimensions.d) !== null && _dimensions$d !== void 0 ? _dimensions$d : bbox.depth,
34220
+ Z: (_dimensions$h = dimensions === null || dimensions === void 0 ? void 0 : dimensions.h) !== null && _dimensions$h !== void 0 ? _dimensions$h : bbox.height
34175
34221
  };
34222
+ return _objectSpread$8(_objectSpread$8({}, dim), {}, {
34223
+ Info: ((_set$api$getI18n$t = (_set$api$getI18n = set.api.getI18n()) === null || _set$api$getI18n === void 0 || (_set$api$getI18n$t2 = _set$api$getI18n.t) === null || _set$api$getI18n$t2 === void 0 ? void 0 : _set$api$getI18n$t2.call(_set$api$getI18n, 'utils.width_first_letter', 'B')) !== null && _set$api$getI18n$t !== void 0 ? _set$api$getI18n$t : 'B') + ': ' + dim.X + ' cm x ' + ((_set$api$getI18n$t3 = (_set$api$getI18n2 = set.api.getI18n()) === null || _set$api$getI18n2 === void 0 || (_set$api$getI18n2$t = _set$api$getI18n2.t) === null || _set$api$getI18n2$t === void 0 ? void 0 : _set$api$getI18n2$t.call(_set$api$getI18n2, 'utils.depth_first_letter', 'T')) !== null && _set$api$getI18n$t3 !== void 0 ? _set$api$getI18n$t3 : 'T') + ': ' + dim.Y + ' cm' + (dim.Z ? ' x ' + ((_set$api$getI18n$t4 = (_set$api$getI18n3 = set.api.getI18n()) === null || _set$api$getI18n3 === void 0 || (_set$api$getI18n3$t = _set$api$getI18n3.t) === null || _set$api$getI18n3$t === void 0 ? void 0 : _set$api$getI18n3$t.call(_set$api$getI18n3, 'utils.height_first_letter', 'H')) !== null && _set$api$getI18n$t4 !== void 0 ? _set$api$getI18n$t4 : 'H') + ': ' + dim.X + ' cm' : '')
34224
+ });
34176
34225
  }
34177
34226
  }, {
34178
34227
  key: "loadProductsOfSets",
@@ -35281,7 +35330,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35281
35330
  break;
35282
35331
  case 3:
35283
35332
  _context13.next = 5;
35284
- return import('./PfisterWWSHandler-a45b24ea.js');
35333
+ return import('./PfisterWWSHandler-794e96d4.js');
35285
35334
  case 5:
35286
35335
  _yield$import = _context13.sent;
35287
35336
  PfisterWWSHandler = _yield$import["default"];
@@ -35289,7 +35338,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35289
35338
  return _context13.abrupt("break", 33);
35290
35339
  case 9:
35291
35340
  _context13.next = 11;
35292
- return import('./LiviqueWWSHandler-d3cdaed0.js');
35341
+ return import('./LiviqueWWSHandler-99e43d3a.js');
35293
35342
  case 11:
35294
35343
  _yield$import2 = _context13.sent;
35295
35344
  LiviqueWWSHandler = _yield$import2["default"];
@@ -35297,7 +35346,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35297
35346
  return _context13.abrupt("break", 33);
35298
35347
  case 15:
35299
35348
  _context13.next = 17;
35300
- return import('./SeriousBasketHandler-755b5414.js');
35349
+ return import('./SeriousBasketHandler-c9decc55.js');
35301
35350
  case 17:
35302
35351
  _yield$import3 = _context13.sent;
35303
35352
  SeriousWWSHandler = _yield$import3["default"];
@@ -35305,7 +35354,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35305
35354
  return _context13.abrupt("break", 33);
35306
35355
  case 21:
35307
35356
  _context13.next = 23;
35308
- return import('./ProductBasketHandler-c39ac09b.js');
35357
+ return import('./ProductBasketHandler-5ab958f7.js');
35309
35358
  case 23:
35310
35359
  _yield$import4 = _context13.sent;
35311
35360
  ProductWWSHandler = _yield$import4["default"];
@@ -35313,7 +35362,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
35313
35362
  return _context13.abrupt("break", 33);
35314
35363
  case 27:
35315
35364
  _context13.next = 29;
35316
- return import('./StandardWWSHandler-751850b2.js');
35365
+ return import('./StandardWWSHandler-92f613fa.js');
35317
35366
  case 29:
35318
35367
  _yield$import5 = _context13.sent;
35319
35368
  StandardWWSHandler = _yield$import5["default"];
@@ -36698,7 +36747,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36698
36747
  while (1) switch (_context3.prev = _context3.next) {
36699
36748
  case 0:
36700
36749
  _context3.next = 2;
36701
- return import('./Host3DSignalR-9a319fec.js');
36750
+ return import('./Host3DSignalR-ed2088a2.js');
36702
36751
  case 2:
36703
36752
  _yield$import = _context3.sent;
36704
36753
  Host3DSignalR = _yield$import["default"];
@@ -37179,7 +37228,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
37179
37228
  if (params.alternateRenderInfo && (params.alternateRenderInfo.overwrittenViewPointName || params.alternateRenderInfo.viewPointName)) this.handleStaticVP(params.alternateRenderInfo.overwrittenViewPointName ? params.alternateRenderInfo.overwrittenViewPointName : params.alternateRenderInfo.viewPointName);
37180
37229
  camera = params.camera ? params.camera : params.useLatestCamera ? this.latestCamera : undefined;
37181
37230
  planningHash = md5(JSON.stringify(params.planningData) + JSON.stringify(camera));
37182
- if (planningHash) doReloadWholePlanning = false;
37231
+ if (planningHash == this.lastFramePlanningHash) doReloadWholePlanning = false;
37183
37232
  if (params.forceReloadPlanning || (_this$viewPointHandle = this.viewPointHandler.getCurRoomlistVP()) !== null && _this$viewPointHandle !== void 0 && _this$viewPointHandle.isStatic) doReloadWholePlanning = true;
37184
37233
  this.lastFramePlanningHash = planningHash;
37185
37234
  requestRenderingFrom3DHost = false;
@@ -38250,7 +38299,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38250
38299
  break;
38251
38300
  case 8:
38252
38301
  _context4.next = 10;
38253
- return import('./DivaStandardPlanner-2cd976ad.js');
38302
+ return import('./DivaStandardPlanner-855876a6.js');
38254
38303
  case 10:
38255
38304
  _yield$import = _context4.sent;
38256
38305
  DivaStandardPlanner = _yield$import["default"];
@@ -38261,7 +38310,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38261
38310
  return _context4.abrupt("break", 21);
38262
38311
  case 15:
38263
38312
  _context4.next = 17;
38264
- return import('./DivaBoxPlanner-3c65de8a.js');
38313
+ return import('./DivaBoxPlanner-bef89c9b.js');
38265
38314
  case 17:
38266
38315
  _yield$import2 = _context4.sent;
38267
38316
  DivaBoxPlanner = _yield$import2["default"];
@@ -38404,7 +38453,14 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38404
38453
  case 2:
38405
38454
  rendering = _context6.sent;
38406
38455
  LOG$2.debug('SAVE SET IMAGE DIM3D width: ' + (rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().w) + ', height: ' + (rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().h) + ', depth: ' + (rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().d));
38407
- return _context6.abrupt("return", rendering != undefined ? rendering.UrlToSavedRendering : '');
38456
+ return _context6.abrupt("return", {
38457
+ url: rendering === null || rendering === void 0 ? void 0 : rendering.UrlToSavedRendering,
38458
+ dimensions: {
38459
+ w: rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().w,
38460
+ h: rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().h,
38461
+ d: rendering === null || rendering === void 0 ? void 0 : rendering.get3DDimInfo().d
38462
+ }
38463
+ });
38408
38464
  case 5:
38409
38465
  case "end":
38410
38466
  return _context6.stop();
@@ -38520,7 +38576,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38520
38576
  key: "saveSetHQRenderScript",
38521
38577
  value: function () {
38522
38578
  var _saveSetHQRenderScript = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
38523
- var hashes, planningHash, checkingTimes, i;
38579
+ var hashes, planningHash, checkingTimes, i, sumWaitingMS;
38524
38580
  return _regeneratorRuntime.wrap(function _callee9$(_context9) {
38525
38581
  while (1) switch (_context9.prev = _context9.next) {
38526
38582
  case 0:
@@ -38536,25 +38592,27 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38536
38592
  return _context9.abrupt("return");
38537
38593
  case 6:
38538
38594
  planningHash = hashes.planningHash;
38539
- checkingTimes = 50;
38595
+ checkingTimes = 200;
38540
38596
  i = 0;
38541
- case 9:
38597
+ sumWaitingMS = 0;
38598
+ case 10:
38542
38599
  if (!(this.handler3D.getWaitForHqRenderScript(planningHash) && checkingTimes > i)) {
38543
- _context9.next = 15;
38600
+ _context9.next = 17;
38544
38601
  break;
38545
38602
  }
38546
- _context9.next = 12;
38603
+ sumWaitingMS += 50;
38604
+ _context9.next = 14;
38547
38605
  return DivaUtils.Sleep(50);
38548
- case 12:
38606
+ case 14:
38549
38607
  i++;
38550
- _context9.next = 9;
38608
+ _context9.next = 10;
38551
38609
  break;
38552
- case 15:
38553
- LOG$2.debug('saving performance: HQ Renderscript recieved after ' + i * checkingTimes + ' ms');
38610
+ case 17:
38611
+ LOG$2.debug('saving performance: HQ Renderscript recieved after ' + sumWaitingMS + ' ms');
38554
38612
  if (this.handler3D.checkIsWaitingForHQRenderScript() && checkingTimes == i) {
38555
38613
  LOG$2.error(new DivaError('could not saveSetHQRenderScript'));
38556
38614
  }
38557
- case 17:
38615
+ case 19:
38558
38616
  case "end":
38559
38617
  return _context9.stop();
38560
38618
  }
@@ -38987,7 +39045,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38987
39045
  planner3DGridEnabled: false,
38988
39046
  mediaServiceSaveMode: 'STREAM',
38989
39047
  doShow3DDimensionLines: !!doShow3DDimensionLines
38990
- });
39048
+ }, undefined, true);
38991
39049
  } else {
38992
39050
  this.handler3D.handle3DVisualizationChanged(mode, params);
38993
39051
  }
@@ -39882,6 +39940,12 @@ var DivaWebPlanner = /*#__PURE__*/function () {
39882
39940
  return _ref12.apply(this, arguments);
39883
39941
  };
39884
39942
  }());
39943
+ _defineProperty(this, "getPosNr", function (basketId) {
39944
+ var _set$getArticleByBask;
39945
+ var set = _this.actSet();
39946
+ if (!set) throw new Error('set undefined');
39947
+ return (_set$getArticleByBask = set.getArticleByBasketId(basketId)) === null || _set$getArticleByBask === void 0 ? void 0 : _set$getArticleByBask.posNr;
39948
+ });
39885
39949
  _defineProperty(this, "getReturnTo", function (event) {
39886
39950
  var returnTo = _this.ReturnTo;
39887
39951
  if (returnTo == undefined) {