@crystaldesign/web-planner-logic 26.7.3 → 26.7.4

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 (35) hide show
  1. package/build/cjs/{DivaBoxPlanner-cc04750a.js → DivaBoxPlanner-1d62ba62.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-ed91f752.js → DivaStandardPlanner-2ef85a24.js} +2 -2
  3. package/build/cjs/{DoorPlanner-0151a2a4.js → DoorPlanner-bb48c7bd.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-db0039b9.js → Host3DSignalR-f641bbfe.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-b23cf1c1.js → LiviqueWWSHandler-02b6b52a.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-8ffa9188.js → PfisterWWSHandler-b8361693.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-452ddc3d.js → PlannerHandler2D-cc4c375d.js} +24 -9
  8. package/build/cjs/{SeriousBasketHandler-4b42c294.js → SeriousBasketHandler-024513d6.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-2e263ba1.js → ShelfPlanner-ff971e0a.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-b5c2697c.js → StandardWWSHandler-d04058b7.js} +1 -1
  11. package/build/cjs/{index-682973ba.js → index-67a3fab1.js} +122 -135
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-d5f2d219.js → DivaBoxPlanner-531172b7.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-9bf60aaa.js → DivaStandardPlanner-7438d4ef.js} +2 -2
  15. package/build/esm/{DoorPlanner-53d69cf7.js → DoorPlanner-4edfe6b4.js} +1 -1
  16. package/build/esm/{Host3DSignalR-2a78f48b.js → Host3DSignalR-5361b9d3.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-82160084.js → LiviqueWWSHandler-d38f9491.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-25b2099b.js → PfisterWWSHandler-83adcc2d.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-13e2f3c9.js → PlannerHandler2D-6487e9ea.js} +24 -9
  20. package/build/esm/{SeriousBasketHandler-bcdde7d9.js → SeriousBasketHandler-f3ea1150.js} +1 -1
  21. package/build/esm/{ShelfPlanner-423e2bd5.js → ShelfPlanner-91430a92.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-ccadd33f.js → StandardWWSHandler-29973bae.js} +1 -1
  23. package/build/esm/{index-3d1acac7.js → index-5f459f27.js} +122 -135
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
  26. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  28. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +4 -0
  30. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts.map +1 -1
  32. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +2 -0
  33. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  35. 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) {
@@ -18008,18 +18012,18 @@ function getCatalogOptionValueDataType(codex, jsonOPV, catalogData) {
18008
18012
  }
18009
18013
  function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogProps, plannerPaletteViewInfo) {
18010
18014
  //Hier muss es dann reingespeichert werden catalogPlannerArticlesView;
18011
- var getFilterType = function getFilterType(hasArticleRelation, AVLFilter, AVRFilter, catalogProps) {
18015
+ var getFilterType = function getFilterType(hasArticleRelation, hasAVL, hasAVR, catalogProps) {
18012
18016
  var ret;
18013
18017
  if (hasArticleRelation) {
18014
18018
  if (!catalogProps.showAllItemsInPlanner && !catalogProps.showAccOnDpOnly) plannerPaletteViewInfo.filterType['Accessoire'] = true;
18015
18019
  ret = 'Accessoire';
18016
- } else if (AVLFilter.length > 0 && AVRFilter.length > 0) {
18020
+ } else if (hasAVL && hasAVR) {
18017
18021
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockLR'] = true;
18018
18022
  ret = 'DockLR';
18019
- } else if (AVLFilter.length > 0) {
18023
+ } else if (hasAVL) {
18020
18024
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockR'] = true;
18021
18025
  ret = 'DockR';
18022
- } else if (AVRFilter.length > 0) {
18026
+ } else if (hasAVR) {
18023
18027
  if (!catalogProps.showAllItemsInPlanner) plannerPaletteViewInfo.filterType['DockL'] = true;
18024
18028
  ret = 'DockL';
18025
18029
  } else {
@@ -18113,12 +18117,9 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18113
18117
  if (catalogProps.diva3dPlanerShowArticleAsSvg && topSvg.SVG) {
18114
18118
  image = getSVGUrl(topSvg.SVG, mediaUrl);
18115
18119
  }
18116
- if (topSvg.HasAVL && catPlanArticle.avlFilter.length == 0) {
18117
- catPlanArticle.avlFilter = ['ALWAYS_DOCKABLE'];
18118
- }
18119
- if (topSvg.HasAVR && catPlanArticle.avrFilter.length == 0) {
18120
- catPlanArticle.avrFilter = ['ALWAYS_DOCKABLE'];
18121
- }
18120
+
18121
+ // An empty AVL/AVR filter means "no connector restriction" and is treated as a match by the
18122
+ // docking/palette comparison (see checkDPFilterDoMatch / checkDPAV*FilterDoMatch). No sentinel needed.
18122
18123
 
18123
18124
  //Wäre für Rofl Benz gedacht um die Information zu speichern welche Artikel in welcher Ausrichtung ausmultipliziert werden
18124
18125
  if (topSvg.JsFormula.includes('202_LI')) {
@@ -18126,7 +18127,7 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18126
18127
  } else if (topSvg.JsFormula.includes('202_RE')) {
18127
18128
  elementName = elementName + ' (Rechts)';
18128
18129
  }
18129
- var filterType = getFilterType(catPlanArticle.isArticleRelation, topSvg.HasAVL ? catPlanArticle.avlFilter : [], topSvg.HasAVR ? catPlanArticle.avrFilter : [], catalogProps);
18130
+ var filterType = getFilterType(catPlanArticle.isArticleRelation, !!topSvg.HasAVL, !!topSvg.HasAVR, catalogProps);
18130
18131
  catPlanArticle.filterType = filterType;
18131
18132
  //ausmultiplizierte Elemente (über meherere SVGs)
18132
18133
  var catPlanArtView = {
@@ -18179,7 +18180,7 @@ function initCatalogPlannerArticleView$1(catalogData, catPlanArticle, catalogPro
18179
18180
  }
18180
18181
  if (!catPlanArticle.hasTopSvgsWithFormula || catPlanArticle.topSvgsWithFormula.length == 1) {
18181
18182
  var _catalogArticle$artic2;
18182
- var _filterType = getFilterType(catPlanArticle.isArticleRelation, catPlanArticle.topHasAVL ? catPlanArticle.avlFilter : [], catPlanArticle.topHasAVR ? catPlanArticle.avrFilter : [], catalogProps);
18183
+ var _filterType = getFilterType(catPlanArticle.isArticleRelation, !!catPlanArticle.topHasAVL, !!catPlanArticle.topHasAVR, catalogProps);
18183
18184
  catPlanArticle.filterType = _filterType;
18184
18185
  //Artikelbild ist abh�ngig von DIVA3DPlanerShowArticleAsSvg das SVG des Elements
18185
18186
  if (catalogProps.diva3dPlanerShowArticleAsSvg && (catPlanArticle.hasTopSvg || catPlanArticle.hasTopSvgsWithFormula)) {
@@ -20683,6 +20684,8 @@ var DivaCatalogData = /*#__PURE__*/function () {
20683
20684
  //
20684
20685
  ignoreLayerAVNAVS: false,
20685
20686
  //
20687
+ ignoreDockingNumber: false,
20688
+ // ignoriert die Nummern-Regel beim Andocken (z.B. AVU1 darf an AVO2). Die Nummer dient dann nur der Identifikation, nicht als Zuordnungsschlüssel.
20686
20689
  checkCollisionForDifferentLayers: [],
20687
20690
  //
20688
20691
 
@@ -21717,6 +21720,7 @@ var DivaCatalogData = /*#__PURE__*/function () {
21717
21720
  ignoreLayerAVC: this.catalogProps.ignoreLayerAVC,
21718
21721
  ignoreLayerAVOAVU: this.catalogProps.ignoreLayerAVOAVU,
21719
21722
  ignoreLayerAVNAVS: this.catalogProps.ignoreLayerAVNAVS,
21723
+ ignoreDockingNumber: this.catalogProps.ignoreDockingNumber,
21720
21724
  showAccOnDpOnly: this.catalogProps.showAccOnDpOnly,
21721
21725
  dockAccOnAvoOnly: this.catalogProps.dockAccOnAvoOnly,
21722
21726
  hideAccessoriesInPlanner: this.catalogProps.accessorieStepAsPlanner,
@@ -21876,6 +21880,9 @@ var DivaCatalogData = /*#__PURE__*/function () {
21876
21880
  case 'IGNORELAYERAVNAVS':
21877
21881
  _this4.catalogProps.ignoreLayerAVNAVS = item.Value == '1';
21878
21882
  break;
21883
+ case 'IGNOREDOCKINGNUMBER':
21884
+ _this4.catalogProps.ignoreDockingNumber = item.Value == '1';
21885
+ break;
21879
21886
  case 'CHECK_COLLISION_DIFFERENT_LAYERS':
21880
21887
  _this4.catalogProps.checkCollisionForDifferentLayers = item.Value.split(';').map(function (t) {
21881
21888
  return parseInt(t);
@@ -22332,11 +22339,12 @@ var DivaCatalogHandler = /*#__PURE__*/function () {
22332
22339
  key: "loadDivaCatalog",
22333
22340
  value: function () {
22334
22341
  var _loadDivaCatalog = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(state, catalogCodex, orderSet) {
22342
+ var _orderSet$OrderLines;
22335
22343
  var promises, _yield$Promise$all, _yield$Promise$all2, catalogApiData, catalogArticleListData, catalogArticlePlannerListData, additionalModelInfos, mask, _state$catalogMask, catalogData;
22336
22344
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
22337
22345
  while (1) switch (_context2.prev = _context2.next) {
22338
22346
  case 0:
22339
- promises = [state.api.getDataCache(state.api.getCatalogDataQS(catalogCodex), state.api.getCatalogDataCacheKey(catalogCodex), orderSet.AccountSessionGUID), state.api.getDataCache(state.api.getJsonArticleListQS(catalogCodex), state.api.getJsonArticleListCacheKey(catalogCodex), orderSet.AccountSessionGUID), state.api.getDataCache(state.api.getJsonPlannerElementsQS(catalogCodex), state.api.getJsonPlannerElementsCacheKey(catalogCodex), orderSet.AccountSessionGUID)].concat([this.loadAdditionalModelInfos(state, orderSet.AccountGUID, orderSet.CatalogGUID)], _toConsumableArray__default["default"](state.onlyRunLogic ? [] : _toConsumableArray__default["default"](new Map(orderSet.OrderLines.filter(function (ol) {
22347
+ promises = [state.api.getDataCache(state.api.getCatalogDataQS(catalogCodex), state.api.getCatalogDataCacheKey(catalogCodex), orderSet.AccountSessionGUID), state.api.getDataCache(state.api.getJsonArticleListQS(catalogCodex), state.api.getJsonArticleListCacheKey(catalogCodex), orderSet.AccountSessionGUID), state.api.getDataCache(state.api.getJsonPlannerElementsQS(catalogCodex), state.api.getJsonPlannerElementsCacheKey(catalogCodex), orderSet.AccountSessionGUID)].concat([this.loadAdditionalModelInfos(state, orderSet.AccountGUID, orderSet.CatalogGUID)], _toConsumableArray__default["default"](state.onlyRunLogic ? [] : _toConsumableArray__default["default"](new Map(((_orderSet$OrderLines = orderSet.OrderLines) !== null && _orderSet$OrderLines !== void 0 ? _orderSet$OrderLines : []).filter(function (ol) {
22340
22348
  var _ol$VariantBasketData;
22341
22349
  return ((_ol$VariantBasketData = ol.VariantBasketDatas) === null || _ol$VariantBasketData === void 0 ? void 0 : _ol$VariantBasketData.length) && ol.ArticleType === 'OPTIONTREE';
22342
22350
  }).map(function (os) {
@@ -23542,45 +23550,19 @@ var DivaEngine = /*#__PURE__*/function () {
23542
23550
  value: function updateIDMSpecificFeature(ops) {
23543
23551
  var _ops$option$idmVarian, _ops$option$idmVarian2, _ops$option$idmVarian3, _ops$option$idmVarian4, _ops$option$idmVarian5;
23544
23552
  if (!this.article.parentHasSameOption(ops.optionCodex)) return;
23553
+ // The OPV codex embeds the option codex as a prefix: "OPV<body>_<connector>" (e.g. "OPV1090_CT500"),
23554
+ // while ops.optionCodex is "OPT<body>". Strip that prefix so the filter holds the bare connector codex.
23555
+ var toConnectorCodex = function toConnectorCodex(value) {
23556
+ var prefix = 'OPV' + ops.optionCodex.substring(3) + '_';
23557
+ return value.codex.startsWith(prefix) ? value.codex.substring(prefix.length) : value.codex;
23558
+ };
23545
23559
  if ([90, 1090].includes((_ops$option$idmVarian = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian !== void 0 ? _ops$option$idmVarian : 0)) {
23546
23560
  //R (Anschlusstyp R) - AVR
23547
- var newAVRFilter = [],
23548
- visibleOPVs = ops.visibleOptionValues;
23549
- var _iterator5 = _createForOfIteratorHelper$c(visibleOPVs),
23550
- _step5;
23551
- try {
23552
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
23553
- var _step5$value = _slicedToArray__default["default"](_step5.value, 2),
23554
- key = _step5$value[0],
23555
- value = _step5$value[1];
23556
- newAVRFilter.push(value.codex.substring(3));
23557
- }
23558
- } catch (err) {
23559
- _iterator5.e(err);
23560
- } finally {
23561
- _iterator5.f();
23562
- }
23563
- this.article.newPossibleAVRFilters = newAVRFilter;
23561
+ this.article.newPossibleAVRFilters = Array.from(ops.visibleOptionValues.values()).map(toConnectorCodex);
23564
23562
  }
23565
23563
  if ([89, 1089].includes((_ops$option$idmVarian2 = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian2 !== void 0 ? _ops$option$idmVarian2 : 0)) {
23566
23564
  //L (Anschlusstyp L) - AVL
23567
- var newAVLFilter = [],
23568
- _visibleOPVs = ops.visibleOptionValues;
23569
- var _iterator6 = _createForOfIteratorHelper$c(_visibleOPVs),
23570
- _step6;
23571
- try {
23572
- for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
23573
- var _step6$value = _slicedToArray__default["default"](_step6.value, 2),
23574
- _key = _step6$value[0],
23575
- _value = _step6$value[1];
23576
- newAVLFilter.push(_value.codex.substring(3));
23577
- }
23578
- } catch (err) {
23579
- _iterator6.e(err);
23580
- } finally {
23581
- _iterator6.f();
23582
- }
23583
- this.article.newPossibleAVLFilters = newAVLFilter;
23565
+ this.article.newPossibleAVLFilters = Array.from(ops.visibleOptionValues.values()).map(toConnectorCodex);
23584
23566
  }
23585
23567
  //beim article abspeichern. Das Planungselement kann es sich per Funktion von dort dann holen
23586
23568
  if ([97, 1097].includes((_ops$option$idmVarian3 = ops.option.idmVariantenArt) !== null && _ops$option$idmVarian3 !== void 0 ? _ops$option$idmVarian3 : 0)) {
@@ -23809,18 +23791,18 @@ var DivaEngine = /*#__PURE__*/function () {
23809
23791
  myDecisions[_i].disableHistory = [];
23810
23792
  myDecisions[_i].activeCombination = undefined;
23811
23793
  }
23812
- var _iterator7 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23813
- _step7;
23794
+ var _iterator5 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23795
+ _step5;
23814
23796
  try {
23815
- for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
23816
- var ops = _step7.value;
23797
+ for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
23798
+ var ops = _step5.value;
23817
23799
  ops.updateVisibleOptionValues(ops.option.articleOptionValues);
23818
23800
  ops.definedBySetFeatureFixed = false;
23819
23801
  }
23820
23802
  } catch (err) {
23821
- _iterator7.e(err);
23803
+ _iterator5.e(err);
23822
23804
  } finally {
23823
- _iterator7.f();
23805
+ _iterator5.f();
23824
23806
  }
23825
23807
  this.catalogDecisionsByNumber = new Map(this.article.catalogArticle.articleDecisions.map(function (d) {
23826
23808
  return [d.Number, d];
@@ -23951,11 +23933,11 @@ var DivaEngine = /*#__PURE__*/function () {
23951
23933
  key: "updateIDMSpecificFeatures",
23952
23934
  value: function updateIDMSpecificFeatures() {
23953
23935
  //updaten idm planner specific options
23954
- var _iterator8 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23955
- _step8;
23936
+ var _iterator6 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
23937
+ _step6;
23956
23938
  try {
23957
- for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
23958
- var ops = _step8.value;
23939
+ for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
23940
+ var ops = _step6.value;
23959
23941
  //when an option has no decisions the first visible optionValue has to be selected per default
23960
23942
  if (ops.val === undefined && ops.visibleCount && !this.article.CatalogData.useDiomexConfigLogic) {
23961
23943
  this.assignOptionValue(ops.optionCodex, ops.visibleOPVKeys[0]);
@@ -23976,9 +23958,9 @@ var DivaEngine = /*#__PURE__*/function () {
23976
23958
  }
23977
23959
  }
23978
23960
  } catch (err) {
23979
- _iterator8.e(err);
23961
+ _iterator6.e(err);
23980
23962
  } finally {
23981
- _iterator8.f();
23963
+ _iterator6.f();
23982
23964
  }
23983
23965
  }
23984
23966
  }, {
@@ -24212,21 +24194,21 @@ var DivaEngine = /*#__PURE__*/function () {
24212
24194
  var negatedValues = new Set(myDoc.Row[OPT].map(function (v) {
24213
24195
  return v.slice(1);
24214
24196
  })); // remove the '!' from the value
24215
- var _iterator9 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
24216
- _step9;
24197
+ var _iterator7 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
24198
+ _step7;
24217
24199
  try {
24218
- for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
24219
- var _step9$value = _slicedToArray__default["default"](_step9.value, 2),
24220
- opvKey = _step9$value[0],
24221
- _opv = _step9$value[1];
24200
+ for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
24201
+ var _step7$value = _slicedToArray__default["default"](_step7.value, 2),
24202
+ opvKey = _step7$value[0],
24203
+ _opv = _step7$value[1];
24222
24204
  if (!negatedValues.has(opvKey)) {
24223
24205
  validOPVs[OPT].set(opvKey, _opv);
24224
24206
  }
24225
24207
  }
24226
24208
  } catch (err) {
24227
- _iterator9.e(err);
24209
+ _iterator7.e(err);
24228
24210
  } finally {
24229
- _iterator9.f();
24211
+ _iterator7.f();
24230
24212
  }
24231
24213
  } else {
24232
24214
  validOPVs[OPT] = new Map(ops.visibleOptionValues);
@@ -24354,11 +24336,11 @@ var DivaEngine = /*#__PURE__*/function () {
24354
24336
  }, {
24355
24337
  key: "evalShowOnlyWhenHasPrice",
24356
24338
  value: function evalShowOnlyWhenHasPrice() {
24357
- var _iterator10 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24358
- _step10;
24339
+ var _iterator8 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24340
+ _step8;
24359
24341
  try {
24360
- for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
24361
- var ops = _step10.value;
24342
+ for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
24343
+ var ops = _step8.value;
24362
24344
  for (var jKey in ops.visibleOptionValues) {
24363
24345
  var opv = ops.visibleOptionValues.get(jKey);
24364
24346
  if (opv.showOnlyWhenHasPrice && opv.price == 0) {
@@ -24370,9 +24352,9 @@ var DivaEngine = /*#__PURE__*/function () {
24370
24352
  }
24371
24353
  }
24372
24354
  } catch (err) {
24373
- _iterator10.e(err);
24355
+ _iterator8.e(err);
24374
24356
  } finally {
24375
- _iterator10.f();
24357
+ _iterator8.f();
24376
24358
  }
24377
24359
  }
24378
24360
 
@@ -24846,12 +24828,12 @@ var DivaEngine = /*#__PURE__*/function () {
24846
24828
  }
24847
24829
 
24848
24830
  //mengen und größenabhängige Preisberechungn.
24849
- var _iterator11 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24850
- _step11;
24831
+ var _iterator9 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24832
+ _step9;
24851
24833
  try {
24852
- for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
24834
+ for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
24853
24835
  var _ops$addToMeasure;
24854
- var ops = _step11.value;
24836
+ var ops = _step9.value;
24855
24837
  var OP = ops.optionCodex;
24856
24838
  var mUnit = ops.measureUnit;
24857
24839
  var pUnit = ops.priceUnit;
@@ -24934,15 +24916,15 @@ var DivaEngine = /*#__PURE__*/function () {
24934
24916
  }
24935
24917
  //jetzt nochmal prozentuelle Preise mit TargetOption berechnen
24936
24918
  } catch (err) {
24937
- _iterator11.e(err);
24919
+ _iterator9.e(err);
24938
24920
  } finally {
24939
- _iterator11.f();
24921
+ _iterator9.f();
24940
24922
  }
24941
- var _iterator12 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24942
- _step12;
24923
+ var _iterator10 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
24924
+ _step10;
24943
24925
  try {
24944
- for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
24945
- var _ops4 = _step12.value;
24926
+ for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
24927
+ var _ops4 = _step10.value;
24946
24928
  var targetPPGPrefixes = _ops4.targetPPGPrefixes;
24947
24929
  if (!targetPPGPrefixes) continue;
24948
24930
  var _loop7 = function _loop7() {
@@ -24962,9 +24944,9 @@ var DivaEngine = /*#__PURE__*/function () {
24962
24944
  }
24963
24945
  }
24964
24946
  } catch (err) {
24965
- _iterator12.e(err);
24947
+ _iterator10.e(err);
24966
24948
  } finally {
24967
- _iterator12.f();
24949
+ _iterator10.f();
24968
24950
  }
24969
24951
  for (var _i5 = 0; _i5 < this.article.priceRefs.length; _i5++) {
24970
24952
  var basePriceRef = this.article.priceRefs[_i5];
@@ -24976,19 +24958,19 @@ var DivaEngine = /*#__PURE__*/function () {
24976
24958
  return item.PPG && item.PPG.split('_')[0] == targetPrefix;
24977
24959
  });
24978
24960
  if (!priceRef) {
24979
- var _iterator13 = _createForOfIteratorHelper$c(_this5.article.articleOptionStates.values()),
24980
- _step13;
24961
+ var _iterator11 = _createForOfIteratorHelper$c(_this5.article.articleOptionStates.values()),
24962
+ _step11;
24981
24963
  try {
24982
- for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
24983
- var ops = _step13.value;
24964
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
24965
+ var ops = _step11.value;
24984
24966
  if (ops.ppg && ops.ppg.split('_')[0] == targetPrefix) {
24985
24967
  myArtOpv = ops;
24986
24968
  }
24987
24969
  }
24988
24970
  } catch (err) {
24989
- _iterator13.e(err);
24971
+ _iterator11.e(err);
24990
24972
  } finally {
24991
- _iterator13.f();
24973
+ _iterator11.f();
24992
24974
  }
24993
24975
  }
24994
24976
 
@@ -25014,36 +24996,36 @@ var DivaEngine = /*#__PURE__*/function () {
25014
24996
  myArticleBasePrice += priceRef.Price ? DivaUtils__default["default"].decimalAdjust('round', (_priceRef$calcPrice = priceRef.calcPrice) !== null && _priceRef$calcPrice !== void 0 ? _priceRef$calcPrice : priceRef.Price, digits) : 0.0;
25015
24997
  }
25016
24998
  var articleUsedCalcPrice = myArticleBasePrice;
25017
- var _iterator14 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25018
- _step14;
24999
+ var _iterator12 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25000
+ _step12;
25019
25001
  try {
25020
- for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
25021
- var tmpOps = _step14.value;
25002
+ for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
25003
+ var tmpOps = _step12.value;
25022
25004
  articleUsedCalcPrice = this.getOptionPrice(articleUsedCalcPrice, tmpOps.option, digits);
25023
25005
  }
25024
25006
 
25025
25007
  //jetzt nochmal prozentuelle Preise mit GLOBAL tarbetoption berechnen
25026
25008
  /* TODO ABklären mit Franz - ops hat nie die Optionen - targetPPGPrefixes - ich glaube hier sollte article.priceRefs durchlaufen werden. */
25027
25009
  } catch (err) {
25028
- _iterator14.e(err);
25010
+ _iterator12.e(err);
25029
25011
  } finally {
25030
- _iterator14.f();
25012
+ _iterator12.f();
25031
25013
  }
25032
- var _iterator15 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25033
- _step15;
25014
+ var _iterator13 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25015
+ _step13;
25034
25016
  try {
25035
- for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
25017
+ for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
25036
25018
  var _ops5$targetPPGPrefix, _ops5$targetPPGPrefix2;
25037
- var _ops5 = _step15.value;
25019
+ var _ops5 = _step13.value;
25038
25020
  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;
25039
25021
  if (_ops5.isPercentage && targetOption == 'GLOBAL') {
25040
25022
  articleUsedCalcPrice = articleUsedCalcPrice * (1 + _ops5.calcPrice);
25041
25023
  }
25042
25024
  }
25043
25025
  } catch (err) {
25044
- _iterator15.e(err);
25026
+ _iterator13.e(err);
25045
25027
  } finally {
25046
- _iterator15.f();
25028
+ _iterator13.f();
25047
25029
  }
25048
25030
  for (var _i7 = 0; _i7 < this.article.priceRefs.length; _i7++) {
25049
25031
  var _priceRef = this.article.priceRefs[_i7];
@@ -25185,11 +25167,11 @@ var DivaEngine = /*#__PURE__*/function () {
25185
25167
  if (a[i].trim() != '') {
25186
25168
  var searchOpt = 'OPT' + a[i].trim();
25187
25169
  //Optionsbaum des Artikels durchsuchen
25188
- var _iterator16 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25189
- _step16;
25170
+ var _iterator14 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25171
+ _step14;
25190
25172
  try {
25191
- for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
25192
- var _ops6 = _step16.value;
25173
+ for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
25174
+ var _ops6 = _step14.value;
25193
25175
  if (_ops6.ocd == searchOpt || _ops6.optionCodex == searchOpt) {
25194
25176
  if (_ops6 && _ops6.price > 0) {
25195
25177
  myPercBasePrice += _ops6.price * _ops6.quantity;
@@ -25198,9 +25180,9 @@ var DivaEngine = /*#__PURE__*/function () {
25198
25180
  }
25199
25181
  }
25200
25182
  } catch (err) {
25201
- _iterator16.e(err);
25183
+ _iterator14.e(err);
25202
25184
  } finally {
25203
- _iterator16.f();
25185
+ _iterator14.f();
25204
25186
  }
25205
25187
  }
25206
25188
  }
@@ -25246,18 +25228,18 @@ var DivaEngine = /*#__PURE__*/function () {
25246
25228
  }
25247
25229
 
25248
25230
  // this functions updates the images of OPVs that depend on rules
25249
- var _iterator17 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25250
- _step17;
25231
+ var _iterator15 = _createForOfIteratorHelper$c(this.article.articleOptionStates.values()),
25232
+ _step15;
25251
25233
  try {
25252
- for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
25253
- var ops = _step17.value;
25254
- var _iterator18 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
25255
- _step18;
25234
+ for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
25235
+ var ops = _step15.value;
25236
+ var _iterator16 = _createForOfIteratorHelper$c(ops.visibleOptionValues),
25237
+ _step16;
25256
25238
  try {
25257
- for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
25258
- var _step18$value = _slicedToArray__default["default"](_step18.value, 2),
25259
- jKey = _step18$value[0],
25260
- opv = _step18$value[1];
25239
+ for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
25240
+ var _step16$value = _slicedToArray__default["default"](_step16.value, 2),
25241
+ jKey = _step16$value[0],
25242
+ opv = _step16$value[1];
25261
25243
  if (opv.images) {
25262
25244
  var imageFound = false;
25263
25245
  for (var _i10 = 0; _i10 < opv.images.length; _i10++) {
@@ -25276,18 +25258,18 @@ var DivaEngine = /*#__PURE__*/function () {
25276
25258
  }
25277
25259
  }
25278
25260
  } catch (err) {
25279
- _iterator18.e(err);
25261
+ _iterator16.e(err);
25280
25262
  } finally {
25281
- _iterator18.f();
25263
+ _iterator16.f();
25282
25264
  }
25283
25265
  }
25284
25266
 
25285
25267
  // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
25286
25268
  // if the Article has no SVG Tausch nothing is done
25287
25269
  } catch (err) {
25288
- _iterator17.e(err);
25270
+ _iterator15.e(err);
25289
25271
  } finally {
25290
- _iterator17.f();
25272
+ _iterator15.f();
25291
25273
  }
25292
25274
  var newSVGFile = null;
25293
25275
  var svgChangedViaSvgTausch = false;
@@ -25918,7 +25900,7 @@ var IDMEngine = /*#__PURE__*/function () {
25918
25900
  } else if (!_ops4.valCodex) {
25919
25901
  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)');
25920
25902
  } else if (!targetHasSourceValue) {
25921
- 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>'));
25903
+ 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>'));
25922
25904
  }
25923
25905
  if (_ops4 !== null && _ops4 !== void 0 && _ops4.valCodex) this.assignOptionValue(action.featureNo.toString(), _ops4.valCodex, isFixed ? 'fix' : 'set');
25924
25906
  } else if (action.optionRef) {
@@ -26514,13 +26496,18 @@ var IDMEngine = /*#__PURE__*/function () {
26514
26496
  value: function updateIDMSpecificFeature(myArtOPS) {
26515
26497
  var _myArtOPS$option$idmV, _myArtOPS$option$idmV2, _myArtOPS$option$idmV3, _myArtOPS$option$idmV4, _myArtOPS$option$idmV5;
26516
26498
  if (!this.article.parentHasSameOption(myArtOPS.optionCodex)) return;
26499
+ // The OPV key embeds the option codex as a prefix: "<optionCodex>_<connector>" (e.g. "1089_CT20").
26500
+ // Strip the codex AND the separator so the filter holds the bare connector codex ("CT20").
26501
+ var toConnectorCodex = function toConnectorCodex(key) {
26502
+ return key.startsWith(myArtOPS.optionCodex + '_') ? key.substring(myArtOPS.optionCodex.length + 1) : key;
26503
+ };
26517
26504
  if ([90, 1090].includes((_myArtOPS$option$idmV = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV !== void 0 ? _myArtOPS$option$idmV : 0)) {
26518
26505
  //R (Anschlusstyp R) - AVR
26519
- this.article.newPossibleAVRFilters = myArtOPS.visibleOPVKeys;
26506
+ this.article.newPossibleAVRFilters = myArtOPS.visibleOPVKeys.map(toConnectorCodex);
26520
26507
  }
26521
26508
  if ([89, 1089].includes((_myArtOPS$option$idmV2 = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV2 !== void 0 ? _myArtOPS$option$idmV2 : 0)) {
26522
26509
  //L (Anschlusstyp L) - AVL
26523
- this.article.newPossibleAVLFilters = myArtOPS.visibleOPVKeys;
26510
+ this.article.newPossibleAVLFilters = myArtOPS.visibleOPVKeys.map(toConnectorCodex);
26524
26511
  }
26525
26512
  if ([97, 1097].includes((_myArtOPS$option$idmV3 = myArtOPS.option.idmVariantenArt) !== null && _myArtOPS$option$idmV3 !== void 0 ? _myArtOPS$option$idmV3 : 0)) {
26526
26513
  try {
@@ -29568,7 +29555,7 @@ var DivaArticle = /*#__PURE__*/function () {
29568
29555
  break;
29569
29556
  }
29570
29557
  _context.next = 4;
29571
- return Promise.resolve().then(function () { return require('./ShelfPlanner-2e263ba1.js'); });
29558
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-ff971e0a.js'); });
29572
29559
  case 4:
29573
29560
  _yield$import = _context.sent;
29574
29561
  ShelfPlanner = _yield$import["default"];
@@ -37572,7 +37559,7 @@ var DivaSet = /*#__PURE__*/function () {
37572
37559
  break;
37573
37560
  }
37574
37561
  _context5.next = 3;
37575
- return Promise.resolve().then(function () { return require('./DoorPlanner-0151a2a4.js'); });
37562
+ return Promise.resolve().then(function () { return require('./DoorPlanner-bb48c7bd.js'); });
37576
37563
  case 3:
37577
37564
  _yield$import = _context5.sent;
37578
37565
  DoorPlanner = _yield$import["default"];
@@ -43046,7 +43033,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43046
43033
  break;
43047
43034
  case 3:
43048
43035
  _context12.next = 5;
43049
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-8ffa9188.js'); });
43036
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-b8361693.js'); });
43050
43037
  case 5:
43051
43038
  _yield$import = _context12.sent;
43052
43039
  PfisterWWSHandler = _yield$import["default"];
@@ -43054,7 +43041,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43054
43041
  return _context12.abrupt("break", 27);
43055
43042
  case 9:
43056
43043
  _context12.next = 11;
43057
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-b23cf1c1.js'); });
43044
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-02b6b52a.js'); });
43058
43045
  case 11:
43059
43046
  _yield$import2 = _context12.sent;
43060
43047
  LiviqueWWSHandler = _yield$import2["default"];
@@ -43062,7 +43049,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43062
43049
  return _context12.abrupt("break", 27);
43063
43050
  case 15:
43064
43051
  _context12.next = 17;
43065
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-4b42c294.js'); });
43052
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-024513d6.js'); });
43066
43053
  case 17:
43067
43054
  _yield$import3 = _context12.sent;
43068
43055
  SeriousWWSHandler = _yield$import3["default"];
@@ -43070,7 +43057,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
43070
43057
  return _context12.abrupt("break", 27);
43071
43058
  case 21:
43072
43059
  _context12.next = 23;
43073
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-b5c2697c.js'); });
43060
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-d04058b7.js'); });
43074
43061
  case 23:
43075
43062
  _yield$import4 = _context12.sent;
43076
43063
  StandardWWSHandler = _yield$import4["default"];
@@ -44494,7 +44481,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
44494
44481
  while (1) switch (_context3.prev = _context3.next) {
44495
44482
  case 0:
44496
44483
  _context3.next = 2;
44497
- return Promise.resolve().then(function () { return require('./Host3DSignalR-db0039b9.js'); });
44484
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-f641bbfe.js'); });
44498
44485
  case 2:
44499
44486
  _yield$import = _context3.sent;
44500
44487
  Host3DSignalR = _yield$import["default"];
@@ -46180,7 +46167,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
46180
46167
  break;
46181
46168
  case 8:
46182
46169
  _context5.next = 10;
46183
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-ed91f752.js'); });
46170
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-2ef85a24.js'); });
46184
46171
  case 10:
46185
46172
  _yield$import = _context5.sent;
46186
46173
  DivaStandardPlanner = _yield$import["default"];
@@ -46191,7 +46178,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
46191
46178
  return _context5.abrupt("break", 21);
46192
46179
  case 15:
46193
46180
  _context5.next = 17;
46194
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-cc04750a.js'); });
46181
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-1d62ba62.js'); });
46195
46182
  case 17:
46196
46183
  _yield$import2 = _context5.sent;
46197
46184
  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-682973ba.js');
5
+ var index = require('./index-67a3fab1.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-3d1acac7.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-5f459f27.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-13e2f3c9.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-6487e9ea.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-3d1acac7.js';
6
+ import { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-5f459f27.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-13e2f3c9.js';
8
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-6487e9ea.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-3d1acac7.js';
4
+ import './index-5f459f27.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-3d1acac7.js';
6
+ import { R as Rendering, H as HQRenderScript } from './index-5f459f27.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';