@crystaldesign/web-planner-logic 25.5.0-rc.9 → 25.6.0-beta.10

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 (53) hide show
  1. package/build/cjs/{DivaBoxPlanner-7aabb48a.js → DivaBoxPlanner-4afb83f1.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-cbeee277.js → DivaStandardPlanner-0f11b8a8.js} +2 -2
  3. package/build/cjs/{DoorPlanner-c69b3878.js → DoorPlanner-c86a867a.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-3a115c3a.js → Host3DSignalR-0cf034d7.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-ef5c3148.js → LiviqueWWSHandler-155a1350.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-d6432b8f.js → PfisterWWSHandler-f934cd76.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-c28148a7.js → PlannerHandler2D-6259c11d.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-9f249cce.js → SeriousBasketHandler-5265bb28.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-721f16e4.js → ShelfPlanner-d3195d2c.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-f3dd2eb3.js → StandardWWSHandler-d827b665.js} +1 -1
  11. package/build/cjs/{index-b8b24cd4.js → index-d95f1601.js} +426 -229
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-07cde87e.js → DivaBoxPlanner-bea4d0a8.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-b3354870.js → DivaStandardPlanner-28d84100.js} +2 -2
  15. package/build/esm/{DoorPlanner-8f7cf20d.js → DoorPlanner-a5709131.js} +1 -1
  16. package/build/esm/{Host3DSignalR-705e8532.js → Host3DSignalR-c17c814d.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-066b6dc3.js → LiviqueWWSHandler-6fab39f8.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-a1d7b1fc.js → PfisterWWSHandler-f1359cea.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-7f971ae6.js → PlannerHandler2D-236b380d.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-15520d45.js → SeriousBasketHandler-23026b3a.js} +1 -1
  21. package/build/esm/{ShelfPlanner-f8188785.js → ShelfPlanner-d2304c2b.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-88cbcb65.js → StandardWWSHandler-646c6382.js} +1 -1
  23. package/build/esm/{index-7996e35b.js → index-239ec051.js} +426 -229
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +7 -4
  26. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +3 -1
  28. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/IDM/Feature.d.ts +3 -1
  30. package/build/types/web-planner-logic/src/interface/IDM/Feature.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +3 -3
  32. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +1 -11
  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/Article/Engine/ArticleEngine.d.ts +1 -0
  37. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts +1 -0
  39. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  40. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +1 -0
  41. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  42. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +2 -4
  43. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  44. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/model/Articles/CatalogPlannerArticleData.d.ts +1 -4
  46. package/build/types/web-planner-logic/src/model/Articles/CatalogPlannerArticleData.d.ts.map +1 -1
  47. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  48. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
  49. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts +2 -2
  50. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts.map +1 -1
  51. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts +2 -2
  52. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
  53. package/package.json +2 -2
@@ -16860,6 +16860,11 @@ var CatalogArticleData = /*#__PURE__*/function () {
16860
16860
  get: function get() {
16861
16861
  return this._catalogArticle.image;
16862
16862
  }
16863
+ }, {
16864
+ key: "images",
16865
+ get: function get() {
16866
+ return this._catalogArticle.images;
16867
+ }
16863
16868
  }, {
16864
16869
  key: "showroomImages",
16865
16870
  get: function get() {
@@ -17220,8 +17225,6 @@ var CatalogArticleData = /*#__PURE__*/function () {
17220
17225
  var LOG$l = DivaUtils__default["default"].initLog('Planner', 'WEB-PLANNER-LOGIC');
17221
17226
  function initDivaCatalogData(json, orderSet, api) {
17222
17227
  var _json$MainCategory;
17223
- var oFileLastUp = json.OfflineFilesLastUpdate;
17224
- var offlinFileLastUpdateTimestamp = new Date(oFileLastUp.substring(0, 4) + '-' + oFileLastUp.substring(5, 6) + '-' + oFileLastUp.substring(7, 8)).valueOf();
17225
17228
  var catalogData = {
17226
17229
  accountGuid: json.AccountGuid ? json.AccountGuid : orderSet.AccountGUID,
17227
17230
  accountName: orderSet.AccountName,
@@ -17246,7 +17249,7 @@ function initDivaCatalogData(json, orderSet, api) {
17246
17249
  accountSessionGuid: orderSet.AccountSessionGUID,
17247
17250
  retailArticleNr: json.RetailArticleNr,
17248
17251
  offlineData: json.OfflineData,
17249
- offlineFilesLastUpdate: offlinFileLastUpdateTimestamp,
17252
+ offlineFilesLastUpdate: json.OfflineFilesLastUpdate ? new Date(json.OfflineFilesLastUpdate.substring(0, 4) + '-' + json.OfflineFilesLastUpdate.substring(5, 6) + '-' + json.OfflineFilesLastUpdate.substring(7, 8)).valueOf() : undefined,
17250
17253
  retailCatalogNr: json.RetailCatalogNr,
17251
17254
  offlineVersion: json.OfflineVersion,
17252
17255
  description: orderSet.Description,
@@ -19147,9 +19150,16 @@ function _loadMoreFromIDMArticles() {
19147
19150
  var getToLoadDecisionIds = function getToLoadDecisionIds(catalogArticleDatas, set) {
19148
19151
  var allArticleDecisions = [];
19149
19152
  for (var i = 0; i < catalogArticleDatas.length; i++) {
19150
- var _catalogArticleData$i, _catalogArticleData$d;
19153
+ var _catalogArticleData$s, _catalogArticleData$s2, _catalogArticleData$i, _catalogArticleData$i2, _catalogArticleData$i3, _catalogArticleData$d;
19151
19154
  var catalogArticleData = catalogArticleDatas[i];
19152
- allArticleDecisions = [].concat(_toConsumableArray__default["default"](allArticleDecisions), _toConsumableArray__default["default"]((_catalogArticleData$i = catalogArticleData.idmPartlistDecisions) !== null && _catalogArticleData$i !== void 0 ? _catalogArticleData$i : []), _toConsumableArray__default["default"]((_catalogArticleData$d = catalogArticleData.decisionsRefs) !== null && _catalogArticleData$d !== void 0 ? _catalogArticleData$d : []));
19155
+ var decisionsOfMediaItems = [].concat(_toConsumableArray__default["default"]((_catalogArticleData$s = (_catalogArticleData$s2 = catalogArticleData.svgs) === null || _catalogArticleData$s2 === void 0 ? void 0 : _catalogArticleData$s2.flatMap(function (svg) {
19156
+ var _svg$decisionNos;
19157
+ return (_svg$decisionNos = svg.decisionNos) !== null && _svg$decisionNos !== void 0 ? _svg$decisionNos : [];
19158
+ })) !== null && _catalogArticleData$s !== void 0 ? _catalogArticleData$s : []), _toConsumableArray__default["default"]((_catalogArticleData$i = (_catalogArticleData$i2 = catalogArticleData.images) === null || _catalogArticleData$i2 === void 0 ? void 0 : _catalogArticleData$i2.flatMap(function (svg) {
19159
+ var _svg$decisionNos2;
19160
+ return (_svg$decisionNos2 = svg.decisionNos) !== null && _svg$decisionNos2 !== void 0 ? _svg$decisionNos2 : [];
19161
+ })) !== null && _catalogArticleData$i !== void 0 ? _catalogArticleData$i : []));
19162
+ allArticleDecisions = [].concat(_toConsumableArray__default["default"](allArticleDecisions), _toConsumableArray__default["default"]((_catalogArticleData$i3 = catalogArticleData.idmPartlistDecisions) !== null && _catalogArticleData$i3 !== void 0 ? _catalogArticleData$i3 : []), _toConsumableArray__default["default"]((_catalogArticleData$d = catalogArticleData.decisionsRefs) !== null && _catalogArticleData$d !== void 0 ? _catalogArticleData$d : []), _toConsumableArray__default["default"](decisionsOfMediaItems));
19153
19163
  }
19154
19164
  var neededDecisionsIds = _toConsumableArray__default["default"](new Set([].concat(_toConsumableArray__default["default"](set.CatalogData.globalDecisions.map(function (g) {
19155
19165
  return g.decisionNo;
@@ -19262,7 +19272,7 @@ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, idmOptionGrou
19262
19272
  var _op$split2 = _slicedToArray__default["default"](_op$split, 2);
19263
19273
  target = _op$split2[0];
19264
19274
  operator = _op$split2[1];
19265
- if (target == 'OPTION_GROUP_REF_OP' && operator == 'in') {
19275
+ if (target == 'OPTION_GROUP_REF_OP' && ['in', 'nin'].includes(operator)) {
19266
19276
  var group = idmOptionGroups === null || idmOptionGroups === void 0 ? void 0 : idmOptionGroups[value];
19267
19277
  if (!group) {
19268
19278
  parseOptionSetRefs[featureNo] = {
@@ -19271,7 +19281,7 @@ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, idmOptionGrou
19271
19281
  };
19272
19282
  LOG$j.error(new Error('OPTION_GROUP_REF_OP: ' + value + ' is not defined'));
19273
19283
  } else parseOptionSetRefs[featureNo] = {
19274
- op: 'eq',
19284
+ op: operator,
19275
19285
  value: group
19276
19286
  };
19277
19287
  } else {
@@ -19404,7 +19414,7 @@ function initOption(feature, articleFeature, catalogArticle, set) {
19404
19414
  catalogArticle.articleOptions[articleFeature.codex];
19405
19415
  }
19406
19416
  function getCatalogOptionType(option, set) {
19407
- var _option$detailInfos;
19417
+ var _option$detailInfos, _option$detailInfos2;
19408
19418
  var catalogData = set.CatalogData;
19409
19419
  var opiton = {
19410
19420
  codex: option.optionKey,
@@ -19414,6 +19424,18 @@ function getCatalogOptionType(option, set) {
19414
19424
  image: (_option$detailInfos = option.detailInfos) === null || _option$detailInfos === void 0 || (_option$detailInfos = _option$detailInfos.find(function (d) {
19415
19425
  return d.functionType == 'OPV';
19416
19426
  })) === null || _option$detailInfos === void 0 ? void 0 : _option$detailInfos.url,
19427
+ images: (_option$detailInfos2 = option.detailInfos) === null || _option$detailInfos2 === void 0 || (_option$detailInfos2 = _option$detailInfos2.filter(function (d) {
19428
+ return d.functionType == 'OPV';
19429
+ })) === null || _option$detailInfos2 === void 0 ? void 0 : _option$detailInfos2.map(function (o) {
19430
+ var _option$detailInfoRef, _option$detailInfoRef2;
19431
+ return {
19432
+ detailInfoNo: o.detailInfoNo,
19433
+ url: o.url,
19434
+ decisionNos: (_option$detailInfoRef = (_option$detailInfoRef2 = option.detailInfoRefs) === null || _option$detailInfoRef2 === void 0 || (_option$detailInfoRef2 = _option$detailInfoRef2[o.detailInfoNo]) === null || _option$detailInfoRef2 === void 0 ? void 0 : _option$detailInfoRef2.filter(function (n) {
19435
+ return n !== null;
19436
+ })) !== null && _option$detailInfoRef !== void 0 ? _option$detailInfoRef : []
19437
+ };
19438
+ }),
19417
19439
  hexColor: rgbToHex(option.materialColorR, option.materialColorG, option.materialColorB),
19418
19440
  description: DivaUtils__default["default"].getLocals(option.optionCommentText, set.api.getLanguageLowercase()),
19419
19441
  description_locales: option.optionCommentText,
@@ -19446,8 +19468,8 @@ function getCatalogOptionType(option, set) {
19446
19468
  property: convertProperties(option.properties, catalogData.api.getLanguageLowercase())
19447
19469
  };
19448
19470
  if (option.detailInfos) {
19449
- for (var i = 0; i < ((_option$detailInfos2 = option.detailInfos) !== null && _option$detailInfos2 !== void 0 ? _option$detailInfos2 : []).length; i++) {
19450
- var _option$detailInfos2;
19471
+ for (var i = 0; i < ((_option$detailInfos3 = option.detailInfos) !== null && _option$detailInfos3 !== void 0 ? _option$detailInfos3 : []).length; i++) {
19472
+ var _option$detailInfos3;
19451
19473
  option.detailInfos[i];
19452
19474
 
19453
19475
  //TODO IDM second image for zoom & images with rules (decisions)
@@ -19577,7 +19599,7 @@ function initIDMArticles(jsonItems, catalogData) {
19577
19599
  }
19578
19600
  }
19579
19601
  function getCatalogArticle(article, catalogData) {
19580
- var _catalogData$catalogM, _ref, _articleMask$name, _article$fullText, _article$fullText2, _article$shortText, _articleMask$properti, _article$weightNetto, _article$detailInfos, _article$detailInfos2, _articleMask$groupnam, _articleMask$groupnam2;
19602
+ var _catalogData$catalogM, _ref, _articleMask$name, _article$fullText, _article$fullText2, _article$shortText, _articleMask$properti, _article$depthBasicSh, _article$depthBasicSh2, _article$depthBasicSh3, _article$widthBasicSh, _article$widthBasicSh2, _article$widthBasicSh3, _article$heightBasicS, _article$heightBasicS2, _article$heightBasicS3, _article$weightNetto, _article$detailInfos, _article$detailInfos2, _article$detailInfos3, _articleMask$groupnam, _articleMask$groupnam2;
19581
19603
  var articleMask = (_catalogData$catalogM = catalogData.catalogMask) === null || _catalogData$catalogM === void 0 || (_catalogData$catalogM = _catalogData$catalogM.articles) === null || _catalogData$catalogM === void 0 ? void 0 : _catalogData$catalogM[article.typeNo];
19582
19604
  var lang = catalogData.api.getLanguageLowercase();
19583
19605
  var featureProperties = convertProperties(article.properties, lang, 'featureNos');
@@ -19612,29 +19634,45 @@ function getCatalogArticle(article, catalogData) {
19612
19634
  price: 0,
19613
19635
  featureClassRefNo: article.featureClassRefNo,
19614
19636
  useEkPrices: catalogData.api.useEkPrices,
19615
- depth: article.depthBasicShapeNominalValue,
19616
- depthFrom: article.depthBasicShapeFrom,
19617
- depthTo: article.depthBasicShapeTo,
19618
- width: article.widthBasicShapeNominalValue,
19619
- widthFrom: article.widthBasicShapeFrom,
19620
- widthTo: article.widthBasicShapeTo,
19621
- height: article.heightBasicShapeNominalValue,
19622
- heightFrom: article.heightBasicShapeFrom,
19623
- heightTo: article.heightBasicShapeTo,
19637
+ depth: article.depthBasicShapeNominalValue !== undefined ? Math.floor(((_article$depthBasicSh = article.depthBasicShapeNominalValue) !== null && _article$depthBasicSh !== void 0 ? _article$depthBasicSh : 0) / 10) : undefined,
19638
+ depthFrom: article.depthBasicShapeFrom !== undefined ? Math.floor(((_article$depthBasicSh2 = article.depthBasicShapeFrom) !== null && _article$depthBasicSh2 !== void 0 ? _article$depthBasicSh2 : 0) / 10) : undefined,
19639
+ depthTo: article.depthBasicShapeTo !== undefined ? Math.floor(((_article$depthBasicSh3 = article.depthBasicShapeTo) !== null && _article$depthBasicSh3 !== void 0 ? _article$depthBasicSh3 : 0) / 10) : undefined,
19640
+ width: article.widthBasicShapeNominalValue !== undefined ? Math.floor(((_article$widthBasicSh = article.widthBasicShapeNominalValue) !== null && _article$widthBasicSh !== void 0 ? _article$widthBasicSh : 0) / 10) : undefined,
19641
+ widthFrom: article.widthBasicShapeFrom !== undefined ? Math.floor(((_article$widthBasicSh2 = article.widthBasicShapeFrom) !== null && _article$widthBasicSh2 !== void 0 ? _article$widthBasicSh2 : 0) / 10) : undefined,
19642
+ widthTo: article.widthBasicShapeTo !== undefined ? Math.floor(((_article$widthBasicSh3 = article.widthBasicShapeTo) !== null && _article$widthBasicSh3 !== void 0 ? _article$widthBasicSh3 : 0) / 10) : undefined,
19643
+ height: article.heightBasicShapeNominalValue !== undefined ? Math.floor(((_article$heightBasicS = article.heightBasicShapeNominalValue) !== null && _article$heightBasicS !== void 0 ? _article$heightBasicS : 0) / 10) : undefined,
19644
+ heightFrom: article.heightBasicShapeFrom !== undefined ? Math.floor(((_article$heightBasicS2 = article.heightBasicShapeFrom) !== null && _article$heightBasicS2 !== void 0 ? _article$heightBasicS2 : 0) / 10) : undefined,
19645
+ heightTo: article.heightBasicShapeTo !== undefined ? Math.floor(((_article$heightBasicS3 = article.heightBasicShapeTo) !== null && _article$heightBasicS3 !== void 0 ? _article$heightBasicS3 : 0) / 10) : undefined,
19624
19646
  volume: article.volume,
19625
19647
  weight: (_article$weightNetto = article.weightNetto) !== null && _article$weightNetto !== void 0 ? _article$weightNetto : article.weightBrutto,
19626
19648
  image: (_article$detailInfos = article.detailInfos) === null || _article$detailInfos === void 0 || (_article$detailInfos = _article$detailInfos.find(function (d) {
19627
19649
  return d.functionType == 'ART';
19628
19650
  })) === null || _article$detailInfos === void 0 ? void 0 : _article$detailInfos.url,
19651
+ images: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 || (_article$detailInfos2 = _article$detailInfos2.filter(function (d) {
19652
+ return d.functionType == 'ART';
19653
+ })) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.map(function (d) {
19654
+ var _article$detailInfoRe, _article$detailInfoRe2;
19655
+ return {
19656
+ url: d.url,
19657
+ detailInfoNo: d.detailInfoNo,
19658
+ decisionNos: (_article$detailInfoRe = (_article$detailInfoRe2 = article.detailInfoRefs) === null || _article$detailInfoRe2 === void 0 || (_article$detailInfoRe2 = _article$detailInfoRe2[d.detailInfoNo]) === null || _article$detailInfoRe2 === void 0 ? void 0 : _article$detailInfoRe2.filter(function (n) {
19659
+ return n !== null;
19660
+ })) !== null && _article$detailInfoRe !== void 0 ? _article$detailInfoRe : []
19661
+ };
19662
+ }),
19629
19663
  idmPrices: article.prices,
19630
19664
  idmPartlist: article.partlist,
19631
19665
  articleRelations: [],
19632
- svgs: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.filter(function (d) {
19666
+ svgs: (_article$detailInfos3 = article.detailInfos) === null || _article$detailInfos3 === void 0 ? void 0 : _article$detailInfos3.filter(function (d) {
19633
19667
  return d.classification == 'SVG';
19634
19668
  }).map(function (d) {
19669
+ var _article$detailInfoRe3, _article$detailInfoRe4;
19635
19670
  return {
19636
19671
  url: d.url,
19637
- detailInfoNo: d.detailInfoNo
19672
+ detailInfoNo: d.detailInfoNo,
19673
+ decisionNos: (_article$detailInfoRe3 = (_article$detailInfoRe4 = article.detailInfoRefs) === null || _article$detailInfoRe4 === void 0 || (_article$detailInfoRe4 = _article$detailInfoRe4[d.detailInfoNo]) === null || _article$detailInfoRe4 === void 0 ? void 0 : _article$detailInfoRe4.filter(function (n) {
19674
+ return n !== null;
19675
+ })) !== null && _article$detailInfoRe3 !== void 0 ? _article$detailInfoRe3 : []
19638
19676
  };
19639
19677
  }),
19640
19678
  groupName: (_articleMask$groupnam = articleMask === null || articleMask === void 0 || (_articleMask$groupnam2 = articleMask.groupname) === null || _articleMask$groupnam2 === void 0 ? void 0 : _articleMask$groupnam2[catalogData.api.getLanguage()]) !== null && _articleMask$groupnam !== void 0 ? _articleMask$groupnam : article.typeKey
@@ -19645,15 +19683,15 @@ function getCatalogArticle(article, catalogData) {
19645
19683
  mainCategory: jsonArticle.MainCategory && jsonArticle.MainCategory != '' ? jsonArticle.MainCategory : undefined,
19646
19684
  price: jsonArticle.VKP1 && isNaN(jsonArticle.VKP1) ? Number(jsonArticle.VKP1.replace(',', '.')) : jsonArticle.VKP1,
19647
19685
  priceGroup: jsonArticle.PriceGroup,
19686
+ tabGroup: jsonArticle.TabGroup,
19687
+ tabGroupOption: jsonArticle.TabGroupOption,
19688
+
19648
19689
  modelName3D: jsonArticle.ModelName3D && jsonArticle.ModelName3D != '' ? jsonArticle.ModelName3D : undefined,
19649
19690
  retailArticleNr: jsonArticle.RetailArticleNr && jsonArticle.RetailArticleNr != '' ? jsonArticle.RetailArticleNr : undefined,
19650
19691
  retailPrefix: jsonArticle.RetailPrefix && jsonArticle.RetailPrefix != '' ? jsonArticle.RetailPrefix : undefined,
19651
19692
  retailTypeNr: jsonArticle.RetailTypeNr && jsonArticle.RetailTypeNr != '' ? jsonArticle.RetailTypeNr : undefined,
19652
19693
  retailMainCategoryNr: jsonArticle.RetailMainCategoryNr && jsonArticle.RetailMainCategoryNr != '' ? jsonArticle.RetailMainCategoryNr : undefined,
19653
19694
  retailSubCategoryNr: jsonArticle.RetailSubCategoryNr && jsonArticle.RetailSubCategoryNr != '' ? jsonArticle.RetailSubCategoryNr : undefined,
19654
- tabGroup: jsonArticle.TabGroup,
19655
- tabGroupOption: jsonArticle.TabGroupOption,
19656
- articlePrices: { Articles: {} },
19657
19695
  */
19658
19696
 
19659
19697
  function convertProperties() {
@@ -19689,7 +19727,7 @@ function mapProp() {
19689
19727
  });
19690
19728
  }
19691
19729
  function getCatalogPlanner(article, catalogArticle) {
19692
- var _catalogArticle$svgs;
19730
+ var _catalogArticle$svgs, _article$depthBasicSh4, _article$depthBasicSh5, _article$depthBasicSh6, _article$widthBasicSh4, _article$widthBasicSh5, _article$widthBasicSh6, _article$heightBasicS4, _article$heightBasicS5, _article$heightBasicS6;
19693
19731
  return {
19694
19732
  articleCodex: article.typeNo,
19695
19733
  avlFilter: [],
@@ -19698,6 +19736,7 @@ function getCatalogPlanner(article, catalogArticle) {
19698
19736
  catalogArticle: catalogArticle,
19699
19737
  id: Number(article.typeKey),
19700
19738
  isArticleRelation: false,
19739
+ //TODO fill all these infos when implemented in backend
19701
19740
  topAVC: 0,
19702
19741
  topAVN: 0,
19703
19742
  topAVO: 0,
@@ -19707,15 +19746,15 @@ function getCatalogPlanner(article, catalogArticle) {
19707
19746
  topHasAVR: false,
19708
19747
  topSvg: (_catalogArticle$svgs = catalogArticle.svgs) === null || _catalogArticle$svgs === void 0 || (_catalogArticle$svgs = _catalogArticle$svgs[0]) === null || _catalogArticle$svgs === void 0 ? void 0 : _catalogArticle$svgs.url,
19709
19748
  topLayer: 30,
19710
- articleSizeY: article.depthBasicShapeNominalValue,
19711
- articleSizeYTo: article.depthBasicShapeTo,
19712
- articleSizeYFrom: article.depthBasicShapeFrom,
19713
- articleSizeX: article.widthBasicShapeNominalValue,
19714
- articleSizeXFrom: article.widthBasicShapeFrom,
19715
- articleSizeXTo: article.widthBasicShapeTo,
19716
- articleSizeZ: article.heightBasicShapeNominalValue,
19717
- articleSizeZFrom: article.heightBasicShapeFrom,
19718
- articleSizeZTo: article.heightBasicShapeTo,
19749
+ articleSizeY: article.depthBasicShapeNominalValue !== undefined ? Math.floor(((_article$depthBasicSh4 = article.depthBasicShapeNominalValue) !== null && _article$depthBasicSh4 !== void 0 ? _article$depthBasicSh4 : 0) / 10) : undefined,
19750
+ articleSizeYFrom: article.depthBasicShapeFrom !== undefined ? Math.floor(((_article$depthBasicSh5 = article.depthBasicShapeFrom) !== null && _article$depthBasicSh5 !== void 0 ? _article$depthBasicSh5 : 0) / 10) : undefined,
19751
+ articleSizeYTo: article.depthBasicShapeTo !== undefined ? Math.floor(((_article$depthBasicSh6 = article.depthBasicShapeTo) !== null && _article$depthBasicSh6 !== void 0 ? _article$depthBasicSh6 : 0) / 10) : undefined,
19752
+ articleSizeX: article.widthBasicShapeNominalValue !== undefined ? Math.floor(((_article$widthBasicSh4 = article.widthBasicShapeNominalValue) !== null && _article$widthBasicSh4 !== void 0 ? _article$widthBasicSh4 : 0) / 10) : undefined,
19753
+ articleSizeXFrom: article.widthBasicShapeFrom !== undefined ? Math.floor(((_article$widthBasicSh5 = article.widthBasicShapeFrom) !== null && _article$widthBasicSh5 !== void 0 ? _article$widthBasicSh5 : 0) / 10) : undefined,
19754
+ articleSizeXTo: article.widthBasicShapeTo !== undefined ? Math.floor(((_article$widthBasicSh6 = article.widthBasicShapeTo) !== null && _article$widthBasicSh6 !== void 0 ? _article$widthBasicSh6 : 0) / 10) : undefined,
19755
+ articleSizeZ: article.heightBasicShapeNominalValue !== undefined ? Math.floor(((_article$heightBasicS4 = article.heightBasicShapeNominalValue) !== null && _article$heightBasicS4 !== void 0 ? _article$heightBasicS4 : 0) / 10) : undefined,
19756
+ articleSizeZFrom: article.heightBasicShapeFrom !== undefined ? Math.floor(((_article$heightBasicS5 = article.heightBasicShapeFrom) !== null && _article$heightBasicS5 !== void 0 ? _article$heightBasicS5 : 0) / 10) : undefined,
19757
+ articleSizeZTo: article.heightBasicShapeTo !== undefined ? Math.floor(((_article$heightBasicS6 = article.heightBasicShapeTo) !== null && _article$heightBasicS6 !== void 0 ? _article$heightBasicS6 : 0) / 10) : undefined,
19719
19758
  filterType: 'DockNone'
19720
19759
  };
19721
19760
  }
@@ -23896,6 +23935,152 @@ var DivaEngine = /*#__PURE__*/function () {
23896
23935
  return calculatedPrice;
23897
23936
  }
23898
23937
  }
23938
+ }, {
23939
+ key: "updateConfigDependentMedia",
23940
+ value: function updateConfigDependentMedia() {
23941
+ var _this$article$catalog2,
23942
+ _this$article$catalog3,
23943
+ _this4 = this;
23944
+ var catalogData = this.article.CatalogData;
23945
+ //articlebild berechnung
23946
+
23947
+ //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
23948
+ var myShowroomImages = this.article.catalogArticle.showroomImages;
23949
+ if (myShowroomImages) {
23950
+ for (var i = 0; i < myShowroomImages.length; i++) {
23951
+ var tmpShowRoomImg = myShowroomImages[i];
23952
+ var doUse = false;
23953
+ if (!tmpShowRoomImg.JsFormula || tmpShowRoomImg.JsFormula == '') doUse = true;
23954
+ if (tmpShowRoomImg.JsFormula && tmpShowRoomImg.JsFormula != '') {
23955
+ doUse = this.article.evalRule(tmpShowRoomImg.JsFormula, '');
23956
+ }
23957
+ if (doUse && tmpShowRoomImg.ReplaceMainImage == 'True') {
23958
+ this.article.image = tmpShowRoomImg.FileName;
23959
+ }
23960
+ }
23961
+ } else {
23962
+ var keys = Object.keys(this.article.partlistArticles);
23963
+ if (keys.length == 1 && this.article.partlistArticles[keys[0]].image) {
23964
+ this.article.image = this.article.partlistArticles[keys[0]].image;
23965
+ }
23966
+ }
23967
+
23968
+ // this functions updates the images of OPVs that depend on rules
23969
+ var _iterator11 = _createForOfIteratorHelper$8(this.article.articleOptionStates),
23970
+ _step11;
23971
+ try {
23972
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
23973
+ var ops = _step11.value;
23974
+ for (var jKey in ops.visibleOptionValues) {
23975
+ var opv = ops.visibleOptionValues[jKey];
23976
+ if (opv.images) {
23977
+ var imageFound = false;
23978
+ for (var _i8 = 0; _i8 < opv.images.length; _i8++) {
23979
+ var image = opv.images[_i8];
23980
+ var rule = image.jsFormula;
23981
+ if (rule.includes('ARTICLECODEX')) {
23982
+ rule = rule.replace(/ARTICLECODEX/g, "'" + this.article.articleCodex + "'");
23983
+ }
23984
+ if (rule && this.article.evalRule(rule)) {
23985
+ ops.editVisibleOPVsImages(opv.codex, catalogData.getCatImageURL(image.fileName, ''));
23986
+ imageFound = true;
23987
+ break;
23988
+ }
23989
+ }
23990
+ if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
23991
+ }
23992
+ }
23993
+ }
23994
+
23995
+ // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
23996
+ // if the Article has no SVG Tausch nothing is done
23997
+ } catch (err) {
23998
+ _iterator11.e(err);
23999
+ } finally {
24000
+ _iterator11.f();
24001
+ }
24002
+ var newSVGFile = null;
24003
+ var svgChangedViaSvgTausch = false;
24004
+ if (!this.article.hasCatalogPlannerArticle || ((_this$article$catalog2 = this.article.catalogArticle.catalogPlannerArticle) === null || _this$article$catalog2 === void 0 ? void 0 : _this$article$catalog2.topSvg) == undefined && ((_this$article$catalog3 = this.article.catalogArticle.catalogPlannerArticle) === null || _this$article$catalog3 === void 0 ? void 0 : _this$article$catalog3.topSvgsWithFormula) == undefined) {
24005
+ var _this$article$catalog4;
24006
+ //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
24007
+ if (this.article.hasPartlistArticle && !((_this$article$catalog4 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog4 !== void 0 && _this$article$catalog4.topSvg)) {
24008
+ for (var key in this.article.partlistArticles) if (this.article.partlistArticles[key].actPlannerData) {
24009
+ this.article.plannerData = this.article.partlistArticles[key].actPlannerData;
24010
+ newSVGFile = true;
24011
+ break;
24012
+ }
24013
+ }
24014
+ return;
24015
+ } else {
24016
+ var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
24017
+ if (plannerCatArt.hasTopSvgsWithFormula) {
24018
+ var svgsWithFormula = plannerCatArt.topSvgsWithFormula;
24019
+ for (var _i7 = 0; _i7 < svgsWithFormula.length; _i7++) {
24020
+ var mySVG = svgsWithFormula[_i7],
24021
+ myRule = DivaUtils__default["default"].getRuleByFormula(mySVG.JsFormula, this.article.catalogCodex, catalogData.multiselectOptions);
24022
+ if (this.article.evalRule(myRule, '')) {
24023
+ newSVGFile = mySVG.SVG;
24024
+ svgChangedViaSvgTausch = true;
24025
+ this.article.actPlannerData.curSVG = mySVG.SVG;
24026
+ this.article.actPlannerData.countAVC = mySVG.AVC;
24027
+ this.article.actPlannerData.countAVO = mySVG.AVO;
24028
+ this.article.actPlannerData.countAVU = mySVG.AVU;
24029
+ this.article.actPlannerData.countAVN = mySVG.AVN;
24030
+ this.article.actPlannerData.countAVS = mySVG.AVS;
24031
+ this.article.actPlannerData.hasAVL = mySVG.HasAVL;
24032
+ this.article.actPlannerData.hasAVR = mySVG.HasAVR;
24033
+ LOG$f.debug('new SVG by SVG tausch', {
24034
+ svg: mySVG.SVG,
24035
+ rule: myRule,
24036
+ layer: mySVG.Layer,
24037
+ AVC: mySVG.AVC,
24038
+ AVO: mySVG.AVO,
24039
+ AVU: mySVG.AVU,
24040
+ AVN: mySVG.AVN,
24041
+ AVS: mySVG.AVS,
24042
+ HasAVL: mySVG.HasAVL,
24043
+ HasAVR: mySVG.HasAVR
24044
+ });
24045
+ if (isNaN(mySVG.Layer)) {
24046
+ this.article.actPlannerData.layer = 20;
24047
+ } else {
24048
+ this.article.actPlannerData.layer = Number(mySVG.Layer);
24049
+ }
24050
+ break;
24051
+ }
24052
+ }
24053
+ } else if (plannerCatArt.hasTopSvg) {
24054
+ newSVGFile = true;
24055
+ }
24056
+ if (!newSVGFile) {
24057
+ var _plannerCatArt$topSvg;
24058
+ LOG$f.error(new DivaUtils.DivaError('No SVG found for current configuration', {
24059
+ code: 'WC_0011',
24060
+ custom: {
24061
+ formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
24062
+ return DivaUtils__default["default"].getRuleByFormula(item.JsFormula, _this4.article.catalogCodex, catalogData.multiselectOptions);
24063
+ }),
24064
+ catalogName: catalogData.catalogName,
24065
+ catalogCodex: this.article.catalogCodex,
24066
+ ArticleCodex: this.article.articleCodex,
24067
+ variantDesc: this.article.articleVariantDesc(),
24068
+ variantValues: this.article.VariantValues
24069
+ }
24070
+ }));
24071
+ }
24072
+ }
24073
+ if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
24074
+ if (this.article.newPossibleAVRFilters) {
24075
+ this.article.avr = this.article.newPossibleAVRFilters;
24076
+ this.article.newPossibleAVRFilters = undefined;
24077
+ }
24078
+ if (this.article.newPossibleAVLFilters) {
24079
+ this.article.avl = this.article.newPossibleAVLFilters;
24080
+ this.article.newPossibleAVLFilters = undefined;
24081
+ }
24082
+ }
24083
+ }
23899
24084
  }]);
23900
24085
  }();
23901
24086
 
@@ -24808,6 +24993,178 @@ var IDMEngine = /*#__PURE__*/function () {
24808
24993
  value: function updateArticleOptionTree() {
24809
24994
  return [];
24810
24995
  }
24996
+ }, {
24997
+ key: "updateConfigDependentMedia",
24998
+ value: function updateConfigDependentMedia() {
24999
+ var _this$article$catalog5,
25000
+ _this3 = this;
25001
+ var catalogData = this.article.CatalogData;
25002
+ //articlebild berechnung
25003
+
25004
+ //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
25005
+ var images = this.article.catalogArticle.images;
25006
+ if (images !== null && images !== void 0 && images.length) {
25007
+ for (var i = 0; i < images.length; i++) {
25008
+ var _image$decisionNos;
25009
+ var image = images[i];
25010
+ var doUse = !((_image$decisionNos = image.decisionNos) !== null && _image$decisionNos !== void 0 && _image$decisionNos.length);
25011
+ for (var j = 0; !doUse && j < image.decisionNos.length; j++) {
25012
+ var decision = catalogData.getDecisionByNo(image.decisionNos[j]);
25013
+ if (!decision) continue;
25014
+ var _this$getMatchingOpti9 = this.getMatchingOptionCombination(decision.optionCombinations),
25015
+ _this$getMatchingOpti10 = _slicedToArray__default["default"](_this$getMatchingOpti9, 1),
25016
+ combination = _this$getMatchingOpti10[0];
25017
+ if (combination) {
25018
+ doUse = true;
25019
+ break;
25020
+ }
25021
+ }
25022
+ if (doUse) {
25023
+ this.article.image = image.url;
25024
+ break;
25025
+ }
25026
+ }
25027
+ } else {
25028
+ var pla = Object.values(this.article.partlistArticles);
25029
+ if (pla.length == 1 && pla[0].image) {
25030
+ this.article.image = pla[0].image;
25031
+ }
25032
+ }
25033
+
25034
+ // this functions updates the images of OPVs that depend on rules
25035
+ var _iterator3 = _createForOfIteratorHelper$7(this.article.articleOptionStates),
25036
+ _step3;
25037
+ try {
25038
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
25039
+ var ops = _step3.value;
25040
+ for (var jKey in ops.visibleOptionValues) {
25041
+ var opv = ops.visibleOptionValues[jKey];
25042
+ if (opv.images) {
25043
+ var imageFound = false;
25044
+ for (var _i2 = 0; _i2 < opv.images.length; _i2++) {
25045
+ var _image$decisionNos2, _image$decisionNos3;
25046
+ var _image = opv.images[_i2];
25047
+ var _doUse = !((_image$decisionNos2 = _image.decisionNos) !== null && _image$decisionNos2 !== void 0 && _image$decisionNos2.length);
25048
+ if ((_image$decisionNos3 = _image.decisionNos) !== null && _image$decisionNos3 !== void 0 && _image$decisionNos3.length) {
25049
+ for (var _j2 = 0; _j2 < _image.decisionNos.length; _j2++) {
25050
+ var _decision2 = catalogData.getDecisionByNo(_image.decisionNos[_j2]);
25051
+ if (!_decision2) throw new Error('decision ' + _image.decisionNos[_j2] + ' not found');
25052
+ var _this$getMatchingOpti13 = this.getMatchingOptionCombination(_decision2.optionCombinations),
25053
+ _this$getMatchingOpti14 = _slicedToArray__default["default"](_this$getMatchingOpti13, 1),
25054
+ _combination2 = _this$getMatchingOpti14[0];
25055
+ if (_combination2) {
25056
+ _doUse = true;
25057
+ break;
25058
+ }
25059
+ }
25060
+ }
25061
+ if (_doUse) {
25062
+ ops.editVisibleOPVsImages(opv.codex, _image.url);
25063
+ imageFound = true;
25064
+ break;
25065
+ }
25066
+ }
25067
+ if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
25068
+ }
25069
+ }
25070
+ }
25071
+
25072
+ // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
25073
+ // if the Article has no SVG Tausch nothing is done
25074
+ } catch (err) {
25075
+ _iterator3.e(err);
25076
+ } finally {
25077
+ _iterator3.f();
25078
+ }
25079
+ var newSVGFile = null;
25080
+ var svgChangedViaSvgTausch = false;
25081
+ if (!((_this$article$catalog5 = this.article.catalogArticle.svgs) !== null && _this$article$catalog5 !== void 0 && _this$article$catalog5.length)) {
25082
+ var _this$article$catalog6;
25083
+ //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
25084
+ if (this.article.hasPartlistArticle && !((_this$article$catalog6 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog6 !== void 0 && _this$article$catalog6.topSvg)) {
25085
+ for (var key in this.article.partlistArticles) if (this.article.partlistArticles[key].actPlannerData) {
25086
+ this.article.plannerData = this.article.partlistArticles[key].actPlannerData;
25087
+ newSVGFile = true;
25088
+ break;
25089
+ }
25090
+ }
25091
+ return;
25092
+ } else {
25093
+ var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
25094
+ var svgs = this.article.catalogArticle.svgs;
25095
+ if (svgs !== null && svgs !== void 0 && svgs.length) {
25096
+ for (var _i = 0; _i < svgs.length; _i++) {
25097
+ var _svg$decisionNos, _svg$decisionNos2;
25098
+ var svg = svgs[_i];
25099
+ var svgValid = !((_svg$decisionNos = svg.decisionNos) !== null && _svg$decisionNos !== void 0 && _svg$decisionNos.length);
25100
+ if ((_svg$decisionNos2 = svg.decisionNos) !== null && _svg$decisionNos2 !== void 0 && _svg$decisionNos2.length) {
25101
+ for (var _j = 0; _j < svg.decisionNos.length; _j++) {
25102
+ var _decision = catalogData.getDecisionByNo(svg.decisionNos[_j]);
25103
+ if (!_decision) throw new Error('decision ' + svg.decisionNos[_j] + ' not found');
25104
+ var _this$getMatchingOpti11 = this.getMatchingOptionCombination(_decision.optionCombinations),
25105
+ _this$getMatchingOpti12 = _slicedToArray__default["default"](_this$getMatchingOpti11, 1),
25106
+ _combination = _this$getMatchingOpti12[0];
25107
+ if (_combination) {
25108
+ svgValid = _decision;
25109
+ break;
25110
+ }
25111
+ }
25112
+ }
25113
+ if (svgValid) {
25114
+ newSVGFile = svg.url;
25115
+ svgChangedViaSvgTausch = true;
25116
+ this.article.actPlannerData.curSVG = svg.url;
25117
+ //TODO. fill this after these infos are in the mediaRef
25118
+ //this.article.actPlannerData!.countAVC = mySVG.AVC;
25119
+ //this.article.actPlannerData!.countAVO = mySVG.AVO;
25120
+ //this.article.actPlannerData!.countAVU = mySVG.AVU;
25121
+ //this.article.actPlannerData!.countAVN = mySVG.AVN;
25122
+ //this.article.actPlannerData!.countAVS = mySVG.AVS;
25123
+ //this.article.actPlannerData!.hasAVL = mySVG.HasAVL;
25124
+ //this.article.actPlannerData!.hasAVR = mySVG.HasAVR;
25125
+ LOG$e.debug('new SVG by SVG tausch', {
25126
+ svg: svg.url,
25127
+ rule: svgValid
25128
+ });
25129
+ if (isNaN(svg.Layer)) {
25130
+ this.article.actPlannerData.layer = 20;
25131
+ } else {
25132
+ this.article.actPlannerData.layer = Number(svg.Layer);
25133
+ }
25134
+ break;
25135
+ }
25136
+ }
25137
+ } else if (plannerCatArt.hasTopSvg) {
25138
+ newSVGFile = true;
25139
+ }
25140
+ if (!newSVGFile) {
25141
+ var _plannerCatArt$topSvg;
25142
+ LOG$e.error(new DivaUtils.DivaError('No SVG found for current configuration', {
25143
+ code: 'WC_0011',
25144
+ custom: {
25145
+ formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
25146
+ return DivaUtils__default["default"].getRuleByFormula(item.JsFormula, _this3.article.catalogCodex, catalogData.multiselectOptions);
25147
+ }),
25148
+ catalogName: catalogData.catalogName,
25149
+ catalogCodex: this.article.catalogCodex,
25150
+ ArticleCodex: this.article.articleCodex,
25151
+ variantDesc: this.article.articleVariantDesc(),
25152
+ variantValues: this.article.VariantValues
25153
+ }
25154
+ }));
25155
+ }
25156
+ }
25157
+ if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
25158
+ if (this.article.newPossibleAVRFilters) {
25159
+ this.article.avr = this.article.newPossibleAVRFilters;
25160
+ this.article.newPossibleAVRFilters = undefined;
25161
+ }
25162
+ if (this.article.newPossibleAVLFilters) {
25163
+ this.article.avl = this.article.newPossibleAVLFilters;
25164
+ this.article.newPossibleAVLFilters = undefined;
25165
+ }
25166
+ }
25167
+ }
24811
25168
  }]);
24812
25169
  }();
24813
25170
 
@@ -27313,7 +27670,7 @@ var DivaArticle = /*#__PURE__*/function () {
27313
27670
  break;
27314
27671
  }
27315
27672
  _context.next = 4;
27316
- return Promise.resolve().then(function () { return require('./ShelfPlanner-721f16e4.js'); });
27673
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-d3195d2c.js'); });
27317
27674
  case 4:
27318
27675
  _yield$import = _context.sent;
27319
27676
  ShelfPlanner = _yield$import["default"];
@@ -27490,162 +27847,6 @@ var DivaArticle = /*#__PURE__*/function () {
27490
27847
  return validValues;
27491
27848
  }
27492
27849
 
27493
- //articlebild berechnung
27494
- }, {
27495
- key: "updateArticleImage",
27496
- value: function updateArticleImage() {
27497
- //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
27498
- var myShowroomImages = this.article.catalogArticle.showroomImages;
27499
- if (myShowroomImages) {
27500
- for (var i = 0; i < myShowroomImages.length; i++) {
27501
- var tmpShowRoomImg = myShowroomImages[i];
27502
- var doUse = false;
27503
- if (!tmpShowRoomImg.JsFormula || tmpShowRoomImg.JsFormula == '') doUse = true;
27504
- if (tmpShowRoomImg.JsFormula && tmpShowRoomImg.JsFormula != '') {
27505
- doUse = this.evalRule(tmpShowRoomImg.JsFormula, '');
27506
- }
27507
- if (doUse && tmpShowRoomImg.ReplaceMainImage == 'True') {
27508
- this.image = tmpShowRoomImg.FileName;
27509
- }
27510
- }
27511
- } else {
27512
- var keys = Object.keys(this.article.partlistArticles);
27513
- if (keys.length == 1 && this.article.partlistArticles[keys[0]].image) {
27514
- this.image = this.article.partlistArticles[keys[0]].image;
27515
- }
27516
- }
27517
- }
27518
- /**
27519
- * this functions updates the images of OPVs that depend on rules
27520
- */
27521
- }, {
27522
- key: "updateOPVImages",
27523
- value: function updateOPVImages() {
27524
- var catalogData = this.CatalogData;
27525
- var _iterator25 = _createForOfIteratorHelper$6(this.articleOptionStates),
27526
- _step25;
27527
- try {
27528
- for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
27529
- var ops = _step25.value;
27530
- for (var jKey in ops.visibleOptionValues) {
27531
- var opv = ops.visibleOptionValues[jKey];
27532
- if (opv.images) {
27533
- var imageFound = false;
27534
- for (var i = 0; i < opv.images.length; i++) {
27535
- var rule = opv.images[i].jsFormula;
27536
- if (rule.includes('ARTICLECODEX')) {
27537
- rule = rule.replace(/ARTICLECODEX/g, "'" + this.articleCodex + "'");
27538
- }
27539
- if (rule && this.evalRule(rule)) {
27540
- ops.editVisibleOPVsImages(opv.codex, catalogData.getCatImageURL(opv.images[i].fileName, ''));
27541
- imageFound = true;
27542
- break;
27543
- }
27544
- }
27545
- if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
27546
- }
27547
- }
27548
- }
27549
- } catch (err) {
27550
- _iterator25.e(err);
27551
- } finally {
27552
- _iterator25.f();
27553
- }
27554
- }
27555
-
27556
- /**
27557
- * this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
27558
- * if the Article has no SVG Tausch nothing is done
27559
- */
27560
- }, {
27561
- key: "updateArticleSVG",
27562
- value: function updateArticleSVG() {
27563
- var _this$article$catalog2,
27564
- _this$article$catalog3,
27565
- _this4 = this;
27566
- var newSVGFile = null;
27567
- var svgChangedViaSvgTausch = false;
27568
- if (!this.hasCatalogPlannerArticle || ((_this$article$catalog2 = this.article.catalogArticle.catalogPlannerArticle) === null || _this$article$catalog2 === void 0 ? void 0 : _this$article$catalog2.topSvg) == undefined && ((_this$article$catalog3 = this.article.catalogArticle.catalogPlannerArticle) === null || _this$article$catalog3 === void 0 ? void 0 : _this$article$catalog3.topSvgsWithFormula) == undefined) {
27569
- var _this$article$catalog4;
27570
- //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
27571
- if (this.hasPartlistArticle && !((_this$article$catalog4 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog4 !== void 0 && _this$article$catalog4.topSvg)) {
27572
- for (var key in this.partlistArticles) if (this.partlistArticles[key].actPlannerData) {
27573
- this.plannerData = this.partlistArticles[key].actPlannerData;
27574
- newSVGFile = true;
27575
- break;
27576
- }
27577
- }
27578
- return;
27579
- } else {
27580
- var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
27581
- if (plannerCatArt.hasTopSvgsWithFormula) {
27582
- var svgsWithFormula = plannerCatArt.topSvgsWithFormula;
27583
- for (var i = 0; i < svgsWithFormula.length; i++) {
27584
- var mySVG = svgsWithFormula[i],
27585
- myRule = DivaUtils__default["default"].getRuleByFormula(mySVG.JsFormula, this.catalogCodex, this.CatalogData.multiselectOptions);
27586
- if (this.evalRule(myRule, '')) {
27587
- newSVGFile = mySVG.SVG;
27588
- svgChangedViaSvgTausch = true;
27589
- this.actPlannerData.curSVG = mySVG.SVG;
27590
- this.actPlannerData.countAVC = mySVG.AVC;
27591
- this.actPlannerData.countAVO = mySVG.AVO;
27592
- this.actPlannerData.countAVU = mySVG.AVU;
27593
- this.actPlannerData.countAVN = mySVG.AVN;
27594
- this.actPlannerData.countAVS = mySVG.AVS;
27595
- this.actPlannerData.hasAVL = mySVG.HasAVL;
27596
- this.actPlannerData.hasAVR = mySVG.HasAVR;
27597
- LOG$d.debug('new SVG by SVG tausch', {
27598
- svg: mySVG.SVG,
27599
- rule: myRule,
27600
- layer: mySVG.Layer,
27601
- AVC: mySVG.AVC,
27602
- AVO: mySVG.AVO,
27603
- AVU: mySVG.AVU,
27604
- AVN: mySVG.AVN,
27605
- AVS: mySVG.AVS,
27606
- HasAVL: mySVG.HasAVL,
27607
- HasAVR: mySVG.HasAVR
27608
- });
27609
- if (isNaN(mySVG.Layer)) {
27610
- this.actPlannerData.layer = 20;
27611
- } else {
27612
- this.actPlannerData.layer = Number(mySVG.Layer);
27613
- }
27614
- break;
27615
- }
27616
- }
27617
- } else if (plannerCatArt.hasTopSvg) {
27618
- newSVGFile = true;
27619
- }
27620
- if (!newSVGFile) {
27621
- var _plannerCatArt$topSvg;
27622
- LOG$d.error(new DivaUtils.DivaError('No SVG found for current configuration', {
27623
- code: 'WC_0011',
27624
- custom: {
27625
- formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
27626
- return DivaUtils__default["default"].getRuleByFormula(item.JsFormula, _this4.catalogCodex, _this4.CatalogData.multiselectOptions);
27627
- }),
27628
- catalogName: this.CatalogData.catalogName,
27629
- catalogCodex: this.catalogCodex,
27630
- ArticleCodex: this.articleCodex,
27631
- variantDesc: this.articleVariantDesc(),
27632
- variantValues: this.VariantValues
27633
- }
27634
- }));
27635
- }
27636
- }
27637
- if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
27638
- if (this.article.newPossibleAVRFilters) {
27639
- this.avr = this.article.newPossibleAVRFilters;
27640
- this.article.newPossibleAVRFilters = undefined;
27641
- }
27642
- if (this.article.newPossibleAVLFilters) {
27643
- this.avl = this.article.newPossibleAVLFilters;
27644
- this.article.newPossibleAVLFilters = undefined;
27645
- }
27646
- }
27647
- }
27648
-
27649
27850
  /**
27650
27851
  * this function return the config and material info of article. This is used for the planner visualisation
27651
27852
  */
@@ -27696,17 +27897,17 @@ var DivaArticle = /*#__PURE__*/function () {
27696
27897
  key: "addOptionStateFromArticleToPlannerData",
27697
27898
  value: function addOptionStateFromArticleToPlannerData(ret, alternateRenderInfo) {
27698
27899
  var articleOptions = this.getArticleOptionStatesWithOptionsForPrint();
27699
- var _iterator26 = _createForOfIteratorHelper$6(articleOptions),
27700
- _step26;
27900
+ var _iterator25 = _createForOfIteratorHelper$6(articleOptions),
27901
+ _step25;
27701
27902
  try {
27702
- for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
27703
- var ops = _step26.value;
27903
+ for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
27904
+ var ops = _step25.value;
27704
27905
  this.addOptionStateToPlannerData(ret, ops, alternateRenderInfo);
27705
27906
  }
27706
27907
  } catch (err) {
27707
- _iterator26.e(err);
27908
+ _iterator25.e(err);
27708
27909
  } finally {
27709
- _iterator26.f();
27910
+ _iterator25.f();
27710
27911
  }
27711
27912
  for (var key in this.article.partlistArticles) {
27712
27913
  var partlistArticle = this.article.partlistArticles[key];
@@ -27754,11 +27955,11 @@ var DivaArticle = /*#__PURE__*/function () {
27754
27955
  key: "getAccessoireMATData",
27755
27956
  value: function getAccessoireMATData(onString) {
27756
27957
  var MAT = [];
27757
- var _iterator27 = _createForOfIteratorHelper$6(this.articleOptionStates),
27758
- _step27;
27958
+ var _iterator26 = _createForOfIteratorHelper$6(this.articleOptionStates),
27959
+ _step26;
27759
27960
  try {
27760
- for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
27761
- var ops = _step27.value;
27961
+ for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
27962
+ var ops = _step26.value;
27762
27963
  var opt = void 0;
27763
27964
  if (!ops.val) continue;
27764
27965
  opt = ops.optionCodex;
@@ -27771,9 +27972,9 @@ var DivaArticle = /*#__PURE__*/function () {
27771
27972
  });
27772
27973
  }
27773
27974
  } catch (err) {
27774
- _iterator27.e(err);
27975
+ _iterator26.e(err);
27775
27976
  } finally {
27776
- _iterator27.f();
27977
+ _iterator26.f();
27777
27978
  }
27778
27979
  return MAT;
27779
27980
  }
@@ -27815,11 +28016,11 @@ var DivaArticle = /*#__PURE__*/function () {
27815
28016
  value: function getVariantBasketData() {
27816
28017
  var variantBasketData = [];
27817
28018
  var articleOptions = this.getArticleOptionStatesWithOptionsForPrint();
27818
- var _iterator28 = _createForOfIteratorHelper$6(articleOptions),
27819
- _step28;
28019
+ var _iterator27 = _createForOfIteratorHelper$6(articleOptions),
28020
+ _step27;
27820
28021
  try {
27821
- for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
27822
- var ops = _step28.value;
28022
+ for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
28023
+ var ops = _step27.value;
27823
28024
  var OP = ops.optionCodex;
27824
28025
  if (ops) {
27825
28026
  var _ops$idmVariantenArt2;
@@ -27886,9 +28087,9 @@ var DivaArticle = /*#__PURE__*/function () {
27886
28087
  }
27887
28088
  }
27888
28089
  } catch (err) {
27889
- _iterator28.e(err);
28090
+ _iterator27.e(err);
27890
28091
  } finally {
27891
- _iterator28.f();
28092
+ _iterator27.f();
27892
28093
  }
27893
28094
  return variantBasketData;
27894
28095
  }
@@ -28059,17 +28260,17 @@ var DivaArticle = /*#__PURE__*/function () {
28059
28260
  value: function cloneArticle(set) {
28060
28261
  var clonedArticle = new DivaArticle(set, this.basketId, _objectSpread$e({}, this.article), this.article.catalogArticle, set.CatalogData);
28061
28262
  clonedArticle.articleOptionStatesData = [];
28062
- var _iterator29 = _createForOfIteratorHelper$6(this.articleOptionStates),
28063
- _step29;
28263
+ var _iterator28 = _createForOfIteratorHelper$6(this.articleOptionStates),
28264
+ _step28;
28064
28265
  try {
28065
- for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
28066
- var ops = _step29.value;
28266
+ for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
28267
+ var ops = _step28.value;
28067
28268
  clonedArticle.articleOptionStatesData.push(ops.cloneOptionState(clonedArticle.getIsConfigSingle));
28068
28269
  }
28069
28270
  } catch (err) {
28070
- _iterator29.e(err);
28271
+ _iterator28.e(err);
28071
28272
  } finally {
28072
- _iterator29.f();
28273
+ _iterator28.f();
28073
28274
  }
28074
28275
  clonedArticle.initEngine();
28075
28276
  clonedArticle.article.partlistArticles = {};
@@ -28853,11 +29054,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
28853
29054
  article.engine.calcConfigPrice(maxPriceOfGroupCodex, 2);
28854
29055
  if (!calcVariantPrice) {
28855
29056
  //evtl articlebild berechnen
28856
- article.updateArticleImage();
28857
- //evtl SVG tausch berechnen
28858
- article.updateArticleSVG();
28859
- //evtl opv images mit rules updaten
28860
- article.updateOPVImages();
29057
+ article.engine.updateConfigDependentMedia();
28861
29058
  }
28862
29059
  }
28863
29060
  return _context13.abrupt("return", partlistArticlesToLoad);
@@ -31961,7 +32158,7 @@ var DivaSet = /*#__PURE__*/function () {
31961
32158
  break;
31962
32159
  }
31963
32160
  _context5.next = 3;
31964
- return Promise.resolve().then(function () { return require('./DoorPlanner-c69b3878.js'); });
32161
+ return Promise.resolve().then(function () { return require('./DoorPlanner-c86a867a.js'); });
31965
32162
  case 3:
31966
32163
  _yield$import = _context5.sent;
31967
32164
  DoorPlanner = _yield$import["default"];
@@ -38842,7 +39039,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38842
39039
  break;
38843
39040
  case 3:
38844
39041
  _context12.next = 5;
38845
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-d6432b8f.js'); });
39042
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-f934cd76.js'); });
38846
39043
  case 5:
38847
39044
  _yield$import = _context12.sent;
38848
39045
  PfisterWWSHandler = _yield$import["default"];
@@ -38850,7 +39047,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38850
39047
  return _context12.abrupt("break", 27);
38851
39048
  case 9:
38852
39049
  _context12.next = 11;
38853
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-ef5c3148.js'); });
39050
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-155a1350.js'); });
38854
39051
  case 11:
38855
39052
  _yield$import2 = _context12.sent;
38856
39053
  LiviqueWWSHandler = _yield$import2["default"];
@@ -38858,7 +39055,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38858
39055
  return _context12.abrupt("break", 27);
38859
39056
  case 15:
38860
39057
  _context12.next = 17;
38861
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-9f249cce.js'); });
39058
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-5265bb28.js'); });
38862
39059
  case 17:
38863
39060
  _yield$import3 = _context12.sent;
38864
39061
  SeriousWWSHandler = _yield$import3["default"];
@@ -38866,7 +39063,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38866
39063
  return _context12.abrupt("break", 27);
38867
39064
  case 21:
38868
39065
  _context12.next = 23;
38869
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-f3dd2eb3.js'); });
39066
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-d827b665.js'); });
38870
39067
  case 23:
38871
39068
  _yield$import4 = _context12.sent;
38872
39069
  StandardWWSHandler = _yield$import4["default"];
@@ -40294,7 +40491,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
40294
40491
  while (1) switch (_context3.prev = _context3.next) {
40295
40492
  case 0:
40296
40493
  _context3.next = 2;
40297
- return Promise.resolve().then(function () { return require('./Host3DSignalR-3a115c3a.js'); });
40494
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-0cf034d7.js'); });
40298
40495
  case 2:
40299
40496
  _yield$import = _context3.sent;
40300
40497
  Host3DSignalR = _yield$import["default"];
@@ -41851,7 +42048,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41851
42048
  break;
41852
42049
  case 8:
41853
42050
  _context4.next = 10;
41854
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-cbeee277.js'); });
42051
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-0f11b8a8.js'); });
41855
42052
  case 10:
41856
42053
  _yield$import = _context4.sent;
41857
42054
  DivaStandardPlanner = _yield$import["default"];
@@ -41862,7 +42059,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41862
42059
  return _context4.abrupt("break", 21);
41863
42060
  case 15:
41864
42061
  _context4.next = 17;
41865
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-7aabb48a.js'); });
42062
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-4afb83f1.js'); });
41866
42063
  case 17:
41867
42064
  _yield$import2 = _context4.sent;
41868
42065
  DivaBoxPlanner = _yield$import2["default"];