@crystaldesign/web-planner-logic 26.8.0-beta.11 → 26.8.0-beta.13

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 (37) hide show
  1. package/build/cjs/{DivaBoxPlanner-080f0940.js → DivaBoxPlanner-24525cd0.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-6105afc9.js → DivaStandardPlanner-04e88662.js} +2 -2
  3. package/build/cjs/{DoorPlanner-516e06dc.js → DoorPlanner-f210f661.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-4f58a7d0.js → Host3DSignalR-4aae38d0.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-27794786.js → LiviqueWWSHandler-8c0b0de4.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-d031a3ac.js → PfisterWWSHandler-a3b78d48.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-34f3037d.js → PlannerHandler2D-b6bd7bc9.js} +24 -9
  8. package/build/cjs/{SeriousBasketHandler-2dbfe0e5.js → SeriousBasketHandler-7c7123d7.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-05d5a34a.js → ShelfPlanner-518bafa0.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-567590ad.js → StandardWWSHandler-09802827.js} +1 -1
  11. package/build/cjs/{index-3652bf78.js → index-34ae0f57.js} +121 -134
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-af446f22.js → DivaBoxPlanner-c9e4ec49.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-0f4e1a5d.js → DivaStandardPlanner-52d23d86.js} +2 -2
  15. package/build/esm/{DoorPlanner-554f0237.js → DoorPlanner-fffc4351.js} +1 -1
  16. package/build/esm/{Host3DSignalR-9c5828a1.js → Host3DSignalR-acf92ad7.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-0f083f3f.js → LiviqueWWSHandler-ca9c8ee3.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-2aac5062.js → PfisterWWSHandler-2dba514a.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-d1d1c068.js → PlannerHandler2D-2654fdc9.js} +24 -9
  20. package/build/esm/{SeriousBasketHandler-0a84d8e1.js → SeriousBasketHandler-2d843991.js} +1 -1
  21. package/build/esm/{ShelfPlanner-99a74708.js → ShelfPlanner-f1cbcac2.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-3d082304.js → StandardWWSHandler-bd4789fe.js} +1 -1
  23. package/build/esm/{index-c0e842d7.js → index-b036a84e.js} +121 -134
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/Configuration.d.ts +1 -0
  26. package/build/types/web-planner-logic/src/interface/Configuration.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  30. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +4 -0
  32. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +2 -0
  35. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  36. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  37. package/package.json +2 -2
@@ -487,6 +487,10 @@ var DivaApiHandler = /*#__PURE__*/function () {
487
487
  }
488
488
  return saveAsProduct;
489
489
  }()
490
+ /**
491
+ * to run service on localhost
492
+ * diva3dRenderGroup :MYCCMEDIA
493
+ */
490
494
  }, {
491
495
  key: "initalizeWebConfigData",
492
496
  value: function initalizeWebConfigData(plannerConfig) {
@@ -524,6 +528,7 @@ var DivaApiHandler = /*#__PURE__*/function () {
524
528
  arViewerUrl: data.arViewerUrl,
525
529
  arViewerIframe: data.arViewerIframe,
526
530
  useMask: data.useMask,
531
+ idm3DEnvironmentEnabled: data.idm3DEnvironmentEnabled,
527
532
  loadProductBasketParams: data.loadProductBasketParams,
528
533
  addOrganizationIdToCacheKey: data.addOrganizationIdToCacheKey,
529
534
  dontLoadDimensions: data.dontLoadDimensions,
@@ -18005,18 +18010,18 @@ function getCatalogOptionValueDataType(codex, jsonOPV, catalogData) {
18005
18010
  }
18006
18011
  function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogProps, plannerPaletteViewInfo) {
18007
18012
  //Hier muss es dann reingespeichert werden catalogPlannerArticlesView;
18008
- var getFilterType = function getFilterType(hasArticleRelation, AVLFilter, AVRFilter, catalogProps) {
18013
+ var getFilterType = function getFilterType(hasArticleRelation, hasAVL, hasAVR, catalogProps) {
18009
18014
  var ret;
18010
18015
  if (hasArticleRelation) {
18011
18016
  if (!catalogProps.showAllItemsInPlanner && !catalogProps.showAccOnDpOnly) plannerPaletteViewInfo.filterType['Accessoire'] = true;
18012
18017
  ret = 'Accessoire';
18013
- } else if (AVLFilter.length > 0 && AVRFilter.length > 0) {
18018
+ } else if (hasAVL && hasAVR) {
18014
18019
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockLR'] = true;
18015
18020
  ret = 'DockLR';
18016
- } else if (AVLFilter.length > 0) {
18021
+ } else if (hasAVL) {
18017
18022
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockR'] = true;
18018
18023
  ret = 'DockR';
18019
- } else if (AVRFilter.length > 0) {
18024
+ } else if (hasAVR) {
18020
18025
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockL'] = true;
18021
18026
  ret = 'DockL';
18022
18027
  } else {
@@ -18110,12 +18115,9 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18110
18115
  if (catalogProps.diva3dPlanerShowArticleAsSvg && topSvg.SVG) {
18111
18116
  image = getSVGUrl(topSvg.SVG, mediaUrl);
18112
18117
  }
18113
- if (topSvg.HasAVL && catPlanArticle.avlFilter.length == 0) {
18114
- catPlanArticle.avlFilter = ['ALWAYS_DOCKABLE'];
18115
- }
18116
- if (topSvg.HasAVR && catPlanArticle.avrFilter.length == 0) {
18117
- catPlanArticle.avrFilter = ['ALWAYS_DOCKABLE'];
18118
- }
18118
+
18119
+ // An empty AVL/AVR filter means "no connector restriction" and is treated as a match by the
18120
+ // docking/palette comparison (see checkDPFilterDoMatch / checkDPAV*FilterDoMatch). No sentinel needed.
18119
18121
 
18120
18122
  //Wäre für Rofl Benz gedacht um die Information zu speichern welche Artikel in welcher Ausrichtung ausmultipliziert werden
18121
18123
  if (topSvg.JsFormula.includes('202_LI')) {
@@ -18123,7 +18125,7 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18123
18125
  } else if (topSvg.JsFormula.includes('202_RE')) {
18124
18126
  elementName = elementName + ' (Rechts)';
18125
18127
  }
18126
- var filterType = getFilterType(catPlanArticle.isArticleRelation, topSvg.HasAVL ? catPlanArticle.avlFilter : [], topSvg.HasAVR ? catPlanArticle.avrFilter : [], catalogProps);
18128
+ var filterType = getFilterType(catPlanArticle.isArticleRelation, !!topSvg.HasAVL, !!topSvg.HasAVR, catalogProps);
18127
18129
  catPlanArticle.filterType = filterType;
18128
18130
  //ausmultiplizierte Elemente (über meherere SVGs)
18129
18131
  var catPlanArtView = {
@@ -18176,7 +18178,7 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18176
18178
  }
18177
18179
  if (!catPlanArticle.hasTopSvgsWithFormula || catPlanArticle.topSvgsWithFormula.length == 1) {
18178
18180
  var _catalogArticle$artic2;
18179
- var _filterType = getFilterType(catPlanArticle.isArticleRelation, catPlanArticle.topHasAVL ? catPlanArticle.avlFilter : [], catPlanArticle.topHasAVR ? catPlanArticle.avrFilter : [], catalogProps);
18181
+ var _filterType = getFilterType(catPlanArticle.isArticleRelation, !!catPlanArticle.topHasAVL, !!catPlanArticle.topHasAVR, catalogProps);
18180
18182
  catPlanArticle.filterType = _filterType;
18181
18183
  //Artikelbild ist abh�ngig von DIVA3DPlanerShowArticleAsSvg das SVG des Elements
18182
18184
  if (catalogProps.diva3dPlanerShowArticleAsSvg && (catPlanArticle.hasTopSvg || catPlanArticle.hasTopSvgsWithFormula)) {
@@ -20688,6 +20690,8 @@ var DivaCatalogData = /*#__PURE__*/function () {
20688
20690
  //
20689
20691
  ignoreLayerAVNAVS: false,
20690
20692
  //
20693
+ ignoreDockingNumber: false,
20694
+ // ignoriert die Nummern-Regel beim Andocken (z.B. AVU1 darf an AVO2). Die Nummer dient dann nur der Identifikation, nicht als Zuordnungsschlüssel.
20691
20695
  checkCollisionForDifferentLayers: [],
20692
20696
  //
20693
20697
 
@@ -21740,6 +21744,7 @@ var DivaCatalogData = /*#__PURE__*/function () {
21740
21744
  ignoreLayerAVC: this.catalogProps.ignoreLayerAVC,
21741
21745
  ignoreLayerAVOAVU: this.catalogProps.ignoreLayerAVOAVU,
21742
21746
  ignoreLayerAVNAVS: this.catalogProps.ignoreLayerAVNAVS,
21747
+ ignoreDockingNumber: this.catalogProps.ignoreDockingNumber,
21743
21748
  showAccOnDpOnly: this.catalogProps.showAccOnDpOnly,
21744
21749
  dockAccOnAvoOnly: this.catalogProps.dockAccOnAvoOnly,
21745
21750
  hideAccessoriesInPlanner: this.catalogProps.accessorieStepAsPlanner,
@@ -21899,6 +21904,9 @@ var DivaCatalogData = /*#__PURE__*/function () {
21899
21904
  case 'IGNORELAYERAVNAVS':
21900
21905
  _this4.catalogProps.ignoreLayerAVNAVS = item.Value == '1';
21901
21906
  break;
21907
+ case 'IGNOREDOCKINGNUMBER':
21908
+ _this4.catalogProps.ignoreDockingNumber = item.Value == '1';
21909
+ break;
21902
21910
  case 'CHECK_COLLISION_DIFFERENT_LAYERS':
21903
21911
  _this4.catalogProps.checkCollisionForDifferentLayers = item.Value.split(';').map(function (t) {
21904
21912
  return parseInt(t);
@@ -23566,45 +23574,19 @@ var DivaEngine = /*#__PURE__*/function () {
23566
23574
  value: function updateIDMSpecificFeature(ops) {
23567
23575
  var _ops$option$idmVarian, _ops$option$idmVarian2, _ops$option$idmVarian3, _ops$option$idmVarian4, _ops$option$idmVarian5;
23568
23576
  if (!this.article.parentHasSameOption(ops.optionCodex)) return;
23577
+ // The OPV codex embeds the option codex as a prefix: "OPV<body>_<connector>" (e.g. "OPV1090_CT500"),
23578
+ // while ops.optionCodex is "OPT<body>". Strip that prefix so the filter holds the bare connector codex.
23579
+ var toConnectorCodex = function toConnectorCodex(value) {
23580
+ var prefix = 'OPV' + ops.optionCodex.substring(3) + '_';
23581
+ return value.codex.startsWith(prefix) ? value.codex.substring(prefix.length) : value.codex;
23582
+ };
23569
23583
  if ([90, 1090].includes((_ops$option$idmVarian = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian !== void 0 ? _ops$option$idmVarian : 0)) {
23570
23584
  //R (Anschlusstyp R) - AVR
23571
- var newAVRFilter = [],
23572
- visibleOPVs = ops.visibleOptionValues;
23573
- var _iterator5 = _createForOfIteratorHelper$c(visibleOPVs),
23574
- _step5;
23575
- try {
23576
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
23577
- var _step5$value = _slicedToArray__default["default"](_step5.value, 2),
23578
- key = _step5$value[0],
23579
- value = _step5$value[1];
23580
- newAVRFilter.push(value.codex.substring(3));
23581
- }
23582
- } catch (err) {
23583
- _iterator5.e(err);
23584
- } finally {
23585
- _iterator5.f();
23586
- }
23587
- this.article.newPossibleAVRFilters = newAVRFilter;
23585
+ this.article.newPossibleAVRFilters = Array.from(ops.visibleOptionValues.values()).map(toConnectorCodex);
23588
23586
  }
23589
23587
  if ([89, 1089].includes((_ops$option$idmVarian2 = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian2 !== void 0 ? _ops$option$idmVarian2 : 0)) {
23590
23588
  //L (Anschlusstyp L) - AVL
23591
- var newAVLFilter = [],
23592
- _visibleOPVs = ops.visibleOptionValues;
23593
- var _iterator6 = _createForOfIteratorHelper$c(_visibleOPVs),
23594
- _step6;
23595
- try {
23596
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
23597
- var _step6$value = _slicedToArray__default["default"](_step6.value, 2),
23598
- _key = _step6$value[0],
23599
- _value = _step6$value[1];
23600
- newAVLFilter.push(_value.codex.substring(3));
23601
- }
23602
- } catch (err) {
23603
- _iterator6.e(err);
23604
- } finally {
23605
- _iterator6.f();
23606
- }
23607
- this.article.newPossibleAVLFilters = newAVLFilter;
23589
+ this.article.newPossibleAVLFilters = Array.from(ops.visibleOptionValues.values()).map(toConnectorCodex);
23608
23590
  }
23609
23591
  //beim article abspeichern. Das Planungselement kann es sich per Funktion von dort dann holen
23610
23592
  if ([97, 1097].includes((_ops$option$idmVarian3 = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian3 !== void 0 ? _ops$option$idmVarian3 : 0)) {
@@ -23833,18 +23815,18 @@ var DivaEngine = /*#__PURE__*/function () {
23833
23815
  myDecisions[_i].disableHistory = [];
23834
23816
  myDecisions[_i].activeCombination = undefined;
23835
23817
  }
23836
- var _iterator7 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23837
- _step7;
23818
+ var _iterator5 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23819
+ _step5;
23838
23820
  try {
23839
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
23840
- var ops = _step7.value;
23821
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
23822
+ var ops = _step5.value;
23841
23823
  ops.updateVisibleOptionValues(ops.option.articleOptionValues);
23842
23824
  ops.definedBySetFeatureFixed = false;
23843
23825
  }
23844
23826
  } catch (err) {
23845
- _iterator7.e(err);
23827
+ _iterator5.e(err);
23846
23828
  } finally {
23847
- _iterator7.f();
23829
+ _iterator5.f();
23848
23830
  }
23849
23831
  this.catalogDecisionsByNumber = new Map(this.article.catalogArticle.articleDecisions.map(function (d) {
23850
23832
  return [d.Number, d];
@@ -23975,11 +23957,11 @@ var DivaEngine = /*#__PURE__*/function () {
23975
23957
  key: "updateIDMSpecificFeatures",
23976
23958
  value: function updateIDMSpecificFeatures() {
23977
23959
  //updaten idm planner specific options
23978
- var _iterator8 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23979
- _step8;
23960
+ var _iterator6 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23961
+ _step6;
23980
23962
  try {
23981
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
23982
- var ops = _step8.value;
23963
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
23964
+ var ops = _step6.value;
23983
23965
  //when an option has no decisions the first visible optionValue has to be selected per default
23984
23966
  if (ops.val === undefined && ops.visibleCount && !this.article.CatalogData.useDiomexConfigLogic) {
23985
23967
  this.assignOptionValue(ops.optionCodex, ops.visibleOPVKeys[0]);
@@ -24000,9 +23982,9 @@ var DivaEngine = /*#__PURE__*/function () {
24000
23982
  }
24001
23983
  }
24002
23984
  } catch (err) {
24003
- _iterator8.e(err);
23985
+ _iterator6.e(err);
24004
23986
  } finally {
24005
- _iterator8.f();
23987
+ _iterator6.f();
24006
23988
  }
24007
23989
  }
24008
23990
  }, {
@@ -24236,21 +24218,21 @@ var DivaEngine = /*#__PURE__*/function () {
24236
24218
  var negatedValues = new Set(myDoc.Row[OPT].map(function (v) {
24237
24219
  return v.slice(1);
24238
24220
  })); // remove the '!' from the value
24239
- var _iterator9 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
24240
- _step9;
24221
+ var _iterator7 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
24222
+ _step7;
24241
24223
  try {
24242
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
24243
- var _step9$value = _slicedToArray__default["default"](_step9.value, 2),
24244
- opvKey = _step9$value[0],
24245
- _opv = _step9$value[1];
24224
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
24225
+ var _step7$value = _slicedToArray__default["default"](_step7.value, 2),
24226
+ opvKey = _step7$value[0],
24227
+ _opv = _step7$value[1];
24246
24228
  if (!negatedValues.has(opvKey)) {
24247
24229
  validOPVs[OPT].set(opvKey, _opv);
24248
24230
  }
24249
24231
  }
24250
24232
  } catch (err) {
24251
- _iterator9.e(err);
24233
+ _iterator7.e(err);
24252
24234
  } finally {
24253
- _iterator9.f();
24235
+ _iterator7.f();
24254
24236
  }
24255
24237
  } else {
24256
24238
  validOPVs[OPT] = new Map(ops.visibleOptionValues);
@@ -24378,11 +24360,11 @@ var DivaEngine = /*#__PURE__*/function () {
24378
24360
  }, {
24379
24361
  key: "evalShowOnlyWhenHasPrice",
24380
24362
  value: function evalShowOnlyWhenHasPrice() {
24381
- var _iterator10 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24382
- _step10;
24363
+ var _iterator8 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24364
+ _step8;
24383
24365
  try {
24384
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
24385
- var ops = _step10.value;
24366
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
24367
+ var ops = _step8.value;
24386
24368
  for (var jKey in ops.visibleOptionValues) {
24387
24369
  var opv = ops.visibleOptionValues.get(jKey);
24388
24370
  if (opv.showOnlyWhenHasPrice && opv.price == 0) {
@@ -24394,9 +24376,9 @@ var DivaEngine = /*#__PURE__*/function () {
24394
24376
  }
24395
24377
  }
24396
24378
  } catch (err) {
24397
- _iterator10.e(err);
24379
+ _iterator8.e(err);
24398
24380
  } finally {
24399
- _iterator10.f();
24381
+ _iterator8.f();
24400
24382
  }
24401
24383
  }
24402
24384
 
@@ -24870,12 +24852,12 @@ var DivaEngine = /*#__PURE__*/function () {
24870
24852
  }
24871
24853
 
24872
24854
  //mengen und größenabhängige Preisberechungn.
24873
- var _iterator11 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24874
- _step11;
24855
+ var _iterator9 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24856
+ _step9;
24875
24857
  try {
24876
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
24858
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
24877
24859
  var _ops$addToMeasure;
24878
- var ops = _step11.value;
24860
+ var ops = _step9.value;
24879
24861
  var OP = ops.optionCodex;
24880
24862
  var mUnit = ops.measureUnit;
24881
24863
  var pUnit = ops.priceUnit;
@@ -24958,15 +24940,15 @@ var DivaEngine = /*#__PURE__*/function () {
24958
24940
  }
24959
24941
  //jetzt nochmal prozentuelle Preise mit TargetOption berechnen
24960
24942
  } catch (err) {
24961
- _iterator11.e(err);
24943
+ _iterator9.e(err);
24962
24944
  } finally {
24963
- _iterator11.f();
24945
+ _iterator9.f();
24964
24946
  }
24965
- var _iterator12 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24966
- _step12;
24947
+ var _iterator10 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24948
+ _step10;
24967
24949
  try {
24968
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
24969
- var _ops4 = _step12.value;
24950
+ for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
24951
+ var _ops4 = _step10.value;
24970
24952
  var targetPPGPrefixes = _ops4.targetPPGPrefixes;
24971
24953
  if (!targetPPGPrefixes) continue;
24972
24954
  var _loop7 = function _loop7() {
@@ -24986,9 +24968,9 @@ var DivaEngine = /*#__PURE__*/function () {
24986
24968
  }
24987
24969
  }
24988
24970
  } catch (err) {
24989
- _iterator12.e(err);
24971
+ _iterator10.e(err);
24990
24972
  } finally {
24991
- _iterator12.f();
24973
+ _iterator10.f();
24992
24974
  }
24993
24975
  for (var _i5 = 0; _i5 < this.article.priceRefs.length; _i5++) {
24994
24976
  var basePriceRef = this.article.priceRefs[_i5];
@@ -25000,19 +24982,19 @@ var DivaEngine = /*#__PURE__*/function () {
25000
24982
  return item.PPG && item.PPG.split('_')[0] == targetPrefix;
25001
24983
  });
25002
24984
  if (!priceRef) {
25003
- var _iterator13 = _createForOfIteratorHelper$c(_this5.article.articleOptionStates.values()),
25004
- _step13;
24985
+ var _iterator11 = _createForOfIteratorHelper$c(_this5.article.articleOptionStates.values()),
24986
+ _step11;
25005
24987
  try {
25006
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
25007
- var ops = _step13.value;
24988
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
24989
+ var ops = _step11.value;
25008
24990
  if (ops.ppg && ops.ppg.split('_')[0] == targetPrefix) {
25009
24991
  myArtOpv = ops;
25010
24992
  }
25011
24993
  }
25012
24994
  } catch (err) {
25013
- _iterator13.e(err);
24995
+ _iterator11.e(err);
25014
24996
  } finally {
25015
- _iterator13.f();
24997
+ _iterator11.f();
25016
24998
  }
25017
24999
  }
25018
25000
 
@@ -25038,36 +25020,36 @@ var DivaEngine = /*#__PURE__*/function () {
25038
25020
  myArticleBasePrice += priceRef.Price ? DivaUtils__default["default"].decimalAdjust('round', (_priceRef$calcPrice = priceRef.calcPrice) !== null && _priceRef$calcPrice !== void 0 ? _priceRef$calcPrice : priceRef.Price, digits) : 0.0;
25039
25021
  }
25040
25022
  var articleUsedCalcPrice = myArticleBasePrice;
25041
- var _iterator14 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25042
- _step14;
25023
+ var _iterator12 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25024
+ _step12;
25043
25025
  try {
25044
- for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
25045
- var tmpOps = _step14.value;
25026
+ for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
25027
+ var tmpOps = _step12.value;
25046
25028
  articleUsedCalcPrice = this.getOptionPrice(articleUsedCalcPrice, tmpOps.option, digits);
25047
25029
  }
25048
25030
 
25049
25031
  //jetzt nochmal prozentuelle Preise mit GLOBAL tarbetoption berechnen
25050
25032
  /* TODO ABklären mit Franz - ops hat nie die Optionen - targetPPGPrefixes - ich glaube hier sollte article.priceRefs durchlaufen werden. */
25051
25033
  } catch (err) {
25052
- _iterator14.e(err);
25034
+ _iterator12.e(err);
25053
25035
  } finally {
25054
- _iterator14.f();
25036
+ _iterator12.f();
25055
25037
  }
25056
- var _iterator15 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25057
- _step15;
25038
+ var _iterator13 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25039
+ _step13;
25058
25040
  try {
25059
- for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
25041
+ for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
25060
25042
  var _ops5$targetPPGPrefix, _ops5$targetPPGPrefix2;
25061
- var _ops5 = _step15.value;
25043
+ var _ops5 = _step13.value;
25062
25044
  var targetOption = (_ops5$targetPPGPrefix = (_ops5$targetPPGPrefix2 = _ops5.targetPPGPrefixes) === null || _ops5$targetPPGPrefix2 === void 0 ? void 0 : _ops5$targetPPGPrefix2[0]) !== null && _ops5$targetPPGPrefix !== void 0 ? _ops5$targetPPGPrefix : _ops5.targetOption;
25063
25045
  if (_ops5.isPercentage && targetOption == 'GLOBAL') {
25064
25046
  articleUsedCalcPrice = articleUsedCalcPrice * (1 + _ops5.calcPrice);
25065
25047
  }
25066
25048
  }
25067
25049
  } catch (err) {
25068
- _iterator15.e(err);
25050
+ _iterator13.e(err);
25069
25051
  } finally {
25070
- _iterator15.f();
25052
+ _iterator13.f();
25071
25053
  }
25072
25054
  for (var _i7 = 0; _i7 < this.article.priceRefs.length; _i7++) {
25073
25055
  var _priceRef = this.article.priceRefs[_i7];
@@ -25209,11 +25191,11 @@ var DivaEngine = /*#__PURE__*/function () {
25209
25191
  if (a[i].trim() != '') {
25210
25192
  var searchOpt = 'OPT' + a[i].trim();
25211
25193
  //Optionsbaum des Artikels durchsuchen
25212
- var _iterator16 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25213
- _step16;
25194
+ var _iterator14 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25195
+ _step14;
25214
25196
  try {
25215
- for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
25216
- var _ops6 = _step16.value;
25197
+ for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
25198
+ var _ops6 = _step14.value;
25217
25199
  if (_ops6.ocd == searchOpt || _ops6.optionCodex == searchOpt) {
25218
25200
  if (_ops6 && _ops6.price > 0) {
25219
25201
  myPercBasePrice += _ops6.price * _ops6.quantity;
@@ -25222,9 +25204,9 @@ var DivaEngine = /*#__PURE__*/function () {
25222
25204
  }
25223
25205
  }
25224
25206
  } catch (err) {
25225
- _iterator16.e(err);
25207
+ _iterator14.e(err);
25226
25208
  } finally {
25227
- _iterator16.f();
25209
+ _iterator14.f();
25228
25210
  }
25229
25211
  }
25230
25212
  }
@@ -25270,18 +25252,18 @@ var DivaEngine = /*#__PURE__*/function () {
25270
25252
  }
25271
25253
 
25272
25254
  // this functions updates the images of OPVs that depend on rules
25273
- var _iterator17 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25274
- _step17;
25255
+ var _iterator15 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25256
+ _step15;
25275
25257
  try {
25276
- for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
25277
- var ops = _step17.value;
25278
- var _iterator18 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
25279
- _step18;
25258
+ for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
25259
+ var ops = _step15.value;
25260
+ var _iterator16 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
25261
+ _step16;
25280
25262
  try {
25281
- for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
25282
- var _step18$value = _slicedToArray__default["default"](_step18.value, 2),
25283
- jKey = _step18$value[0],
25284
- opv = _step18$value[1];
25263
+ for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
25264
+ var _step16$value = _slicedToArray__default["default"](_step16.value, 2),
25265
+ jKey = _step16$value[0],
25266
+ opv = _step16$value[1];
25285
25267
  if (opv.images) {
25286
25268
  var imageFound = false;
25287
25269
  for (var _i10 = 0; _i10 < opv.images.length; _i10++) {
@@ -25300,18 +25282,18 @@ var DivaEngine = /*#__PURE__*/function () {
25300
25282
  }
25301
25283
  }
25302
25284
  } catch (err) {
25303
- _iterator18.e(err);
25285
+ _iterator16.e(err);
25304
25286
  } finally {
25305
- _iterator18.f();
25287
+ _iterator16.f();
25306
25288
  }
25307
25289
  }
25308
25290
 
25309
25291
  // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
25310
25292
  // if the Article has no SVG Tausch nothing is done
25311
25293
  } catch (err) {
25312
- _iterator17.e(err);
25294
+ _iterator15.e(err);
25313
25295
  } finally {
25314
- _iterator17.f();
25296
+ _iterator15.f();
25315
25297
  }
25316
25298
  var newSVGFile = null;
25317
25299
  var svgChangedViaSvgTausch = false;
@@ -25942,7 +25924,7 @@ var IDMEngine = /*#__PURE__*/function () {
25942
25924
  } else if (!_ops4.valCodex) {
25943
25925
  LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': referenced source feature ' + action.featureRef.featureNo + ' has no selected value (valCodex undefined) - target feature ' + action.featureNo + ' will NOT be set (price relevant)');
25944
25926
  } else if (!targetHasSourceValue) {
25945
- LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': target feature ' + action.featureNo + " does not have source feature " + action.featureRef.featureNo + "'s value '" + _ops4.valCodex + "' among its visible option values - assignOptionValue will be a no-op (price relevant). Target visible values: " + (targetOps ? Array.from(targetOps.visibleOptionValues.keys()).join(', ') : '<no target>'));
25927
+ LOG$g.warn('evalSetFeature(featureRef) decision ' + decision.decisionNo + ': target feature ' + action.featureNo + ' does not have source feature ' + action.featureRef.featureNo + "'s value '" + _ops4.valCodex + "' among its visible option values - assignOptionValue will be a no-op (price relevant). Target visible values: " + (targetOps ? Array.from(targetOps.visibleOptionValues.keys()).join(', ') : '<no target>'));
25946
25928
  }
25947
25929
  if (_ops4 !== null && _ops4 !== void 0 && _ops4.valCodex) this.assignOptionValue(action.featureNo.toString(), _ops4.valCodex, isFixed ? 'fix' : 'set');
25948
25930
  } else if (action.optionRef) {
@@ -26538,13 +26520,18 @@ var IDMEngine = /*#__PURE__*/function () {
26538
26520
  value: function updateIDMSpecificFeature(myArtOPS) {
26539
26521
  var _myArtOPS$option$idmV, _myArtOPS$option$idmV2, _myArtOPS$option$idmV3, _myArtOPS$option$idmV4, _myArtOPS$option$idmV5;
26540
26522
  if (!this.article.parentHasSameOption(myArtOPS.optionCodex)) return;
26523
+ // The OPV key embeds the option codex as a prefix: "<optionCodex>_<connector>" (e.g. "1089_CT20").
26524
+ // Strip the codex AND the separator so the filter holds the bare connector codex ("CT20").
26525
+ var toConnectorCodex = function toConnectorCodex(key) {
26526
+ return key.startsWith(myArtOPS.optionCodex + '_') ? key.substring(myArtOPS.optionCodex.length + 1) : key;
26527
+ };
26541
26528
  if ([90, 1090].includes((_myArtOPS$option$idmV = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV !== void 0 ? _myArtOPS$option$idmV : 0)) {
26542
26529
  //R (Anschlusstyp R) - AVR
26543
- this.article.newPossibleAVRFilters = myArtOPS.visibleOPVKeys;
26530
+ this.article.newPossibleAVRFilters = myArtOPS.visibleOPVKeys.map(toConnectorCodex);
26544
26531
  }
26545
26532
  if ([89, 1089].includes((_myArtOPS$option$idmV2 = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV2 !== void 0 ? _myArtOPS$option$idmV2 : 0)) {
26546
26533
  //L (Anschlusstyp L) - AVL
26547
- this.article.newPossibleAVLFilters = myArtOPS.visibleOPVKeys;
26534
+ this.article.newPossibleAVLFilters = myArtOPS.visibleOPVKeys.map(toConnectorCodex);
26548
26535
  }
26549
26536
  if ([97, 1097].includes((_myArtOPS$option$idmV3 = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV3 !== void 0 ? _myArtOPS$option$idmV3 : 0)) {
26550
26537
  try {
@@ -29587,7 +29574,7 @@ var DivaArticle = /*#__PURE__*/function () {
29587
29574
  break;
29588
29575
  }
29589
29576
  _context.next = 4;
29590
- return Promise.resolve().then(function () { return require('./ShelfPlanner-05d5a34a.js'); });
29577
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-518bafa0.js'); });
29591
29578
  case 4:
29592
29579
  _yield$import = _context.sent;
29593
29580
  ShelfPlanner = _yield$import["default"];
@@ -37609,7 +37596,7 @@ var DivaSet = /*#__PURE__*/function () {
37609
37596
  break;
37610
37597
  }
37611
37598
  _context5.next = 3;
37612
- return Promise.resolve().then(function () { return require('./DoorPlanner-516e06dc.js'); });
37599
+ return Promise.resolve().then(function () { return require('./DoorPlanner-f210f661.js'); });
37613
37600
  case 3:
37614
37601
  _yield$import = _context5.sent;
37615
37602
  DoorPlanner = _yield$import["default"];
@@ -43083,7 +43070,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43083
43070
  break;
43084
43071
  case 3:
43085
43072
  _context12.next = 5;
43086
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-d031a3ac.js'); });
43073
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-a3b78d48.js'); });
43087
43074
  case 5:
43088
43075
  _yield$import = _context12.sent;
43089
43076
  PfisterWWSHandler = _yield$import["default"];
@@ -43091,7 +43078,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43091
43078
  return _context12.abrupt("break", 27);
43092
43079
  case 9:
43093
43080
  _context12.next = 11;
43094
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-27794786.js'); });
43081
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-8c0b0de4.js'); });
43095
43082
  case 11:
43096
43083
  _yield$import2 = _context12.sent;
43097
43084
  LiviqueWWSHandler = _yield$import2["default"];
@@ -43099,7 +43086,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43099
43086
  return _context12.abrupt("break", 27);
43100
43087
  case 15:
43101
43088
  _context12.next = 17;
43102
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-2dbfe0e5.js'); });
43089
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-7c7123d7.js'); });
43103
43090
  case 17:
43104
43091
  _yield$import3 = _context12.sent;
43105
43092
  SeriousWWSHandler = _yield$import3["default"];
@@ -43107,7 +43094,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43107
43094
  return _context12.abrupt("break", 27);
43108
43095
  case 21:
43109
43096
  _context12.next = 23;
43110
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-567590ad.js'); });
43097
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-09802827.js'); });
43111
43098
  case 23:
43112
43099
  _yield$import4 = _context12.sent;
43113
43100
  StandardWWSHandler = _yield$import4["default"];
@@ -44531,7 +44518,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
44531
44518
  while (1) switch (_context3.prev = _context3.next) {
44532
44519
  case 0:
44533
44520
  _context3.next = 2;
44534
- return Promise.resolve().then(function () { return require('./Host3DSignalR-4f58a7d0.js'); });
44521
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-4aae38d0.js'); });
44535
44522
  case 2:
44536
44523
  _yield$import = _context3.sent;
44537
44524
  Host3DSignalR = _yield$import["default"];
@@ -46217,7 +46204,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
46217
46204
  break;
46218
46205
  case 8:
46219
46206
  _context5.next = 10;
46220
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-6105afc9.js'); });
46207
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-04e88662.js'); });
46221
46208
  case 10:
46222
46209
  _yield$import = _context5.sent;
46223
46210
  DivaStandardPlanner = _yield$import["default"];
@@ -46228,7 +46215,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
46228
46215
  return _context5.abrupt("break", 21);
46229
46216
  case 15:
46230
46217
  _context5.next = 17;
46231
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-080f0940.js'); });
46218
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-24525cd0.js'); });
46232
46219
  case 17:
46233
46220
  _yield$import2 = _context5.sent;
46234
46221
  DivaBoxPlanner = _yield$import2["default"];
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-3652bf78.js');
5
+ var index = require('./index-34ae0f57.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/classCallCheck');
@@ -3,11 +3,11 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-c0e842d7.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-b036a84e.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
9
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d1d1c068.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-2654fdc9.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
13
  import '@crystaldesign/basket-model';
@@ -3,9 +3,9 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-c0e842d7.js';
6
+ import { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-b036a84e.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d1d1c068.js';
8
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-2654fdc9.js';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import '@babel/runtime/helpers/toConsumableArray';
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-c0e842d7.js';
4
+ import './index-b036a84e.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -3,7 +3,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { R as Rendering, H as HQRenderScript } from './index-c0e842d7.js';
6
+ import { R as Rendering, H as HQRenderScript } from './index-b036a84e.js';
7
7
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
8
8
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
9
9
  import io from 'socket.io-client';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-c0e842d7.js';
3
+ import './index-b036a84e.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';