@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
@@ -16843,6 +16843,11 @@ var CatalogArticleData = /*#__PURE__*/function () {
16843
16843
  get: function get() {
16844
16844
  return this._catalogArticle.image;
16845
16845
  }
16846
+ }, {
16847
+ key: "images",
16848
+ get: function get() {
16849
+ return this._catalogArticle.images;
16850
+ }
16846
16851
  }, {
16847
16852
  key: "showroomImages",
16848
16853
  get: function get() {
@@ -17203,8 +17208,6 @@ var CatalogArticleData = /*#__PURE__*/function () {
17203
17208
  var LOG$l = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
17204
17209
  function initDivaCatalogData(json, orderSet, api) {
17205
17210
  var _json$MainCategory;
17206
- var oFileLastUp = json.OfflineFilesLastUpdate;
17207
- var offlinFileLastUpdateTimestamp = new Date(oFileLastUp.substring(0, 4) + '-' + oFileLastUp.substring(5, 6) + '-' + oFileLastUp.substring(7, 8)).valueOf();
17208
17211
  var catalogData = {
17209
17212
  accountGuid: json.AccountGuid ? json.AccountGuid : orderSet.AccountGUID,
17210
17213
  accountName: orderSet.AccountName,
@@ -17229,7 +17232,7 @@ function initDivaCatalogData(json, orderSet, api) {
17229
17232
  accountSessionGuid: orderSet.AccountSessionGUID,
17230
17233
  retailArticleNr: json.RetailArticleNr,
17231
17234
  offlineData: json.OfflineData,
17232
- offlineFilesLastUpdate: offlinFileLastUpdateTimestamp,
17235
+ offlineFilesLastUpdate: json.OfflineFilesLastUpdate ? new Date(json.OfflineFilesLastUpdate.substring(0, 4) + '-' + json.OfflineFilesLastUpdate.substring(5, 6) + '-' + json.OfflineFilesLastUpdate.substring(7, 8)).valueOf() : undefined,
17233
17236
  retailCatalogNr: json.RetailCatalogNr,
17234
17237
  offlineVersion: json.OfflineVersion,
17235
17238
  description: orderSet.Description,
@@ -19130,9 +19133,16 @@ function _loadMoreFromIDMArticles() {
19130
19133
  var getToLoadDecisionIds = function getToLoadDecisionIds(catalogArticleDatas, set) {
19131
19134
  var allArticleDecisions = [];
19132
19135
  for (var i = 0; i < catalogArticleDatas.length; i++) {
19133
- var _catalogArticleData$i, _catalogArticleData$d;
19136
+ var _catalogArticleData$s, _catalogArticleData$s2, _catalogArticleData$i, _catalogArticleData$i2, _catalogArticleData$i3, _catalogArticleData$d;
19134
19137
  var catalogArticleData = catalogArticleDatas[i];
19135
- allArticleDecisions = [].concat(_toConsumableArray(allArticleDecisions), _toConsumableArray((_catalogArticleData$i = catalogArticleData.idmPartlistDecisions) !== null && _catalogArticleData$i !== void 0 ? _catalogArticleData$i : []), _toConsumableArray((_catalogArticleData$d = catalogArticleData.decisionsRefs) !== null && _catalogArticleData$d !== void 0 ? _catalogArticleData$d : []));
19138
+ var decisionsOfMediaItems = [].concat(_toConsumableArray((_catalogArticleData$s = (_catalogArticleData$s2 = catalogArticleData.svgs) === null || _catalogArticleData$s2 === void 0 ? void 0 : _catalogArticleData$s2.flatMap(function (svg) {
19139
+ var _svg$decisionNos;
19140
+ return (_svg$decisionNos = svg.decisionNos) !== null && _svg$decisionNos !== void 0 ? _svg$decisionNos : [];
19141
+ })) !== null && _catalogArticleData$s !== void 0 ? _catalogArticleData$s : []), _toConsumableArray((_catalogArticleData$i = (_catalogArticleData$i2 = catalogArticleData.images) === null || _catalogArticleData$i2 === void 0 ? void 0 : _catalogArticleData$i2.flatMap(function (svg) {
19142
+ var _svg$decisionNos2;
19143
+ return (_svg$decisionNos2 = svg.decisionNos) !== null && _svg$decisionNos2 !== void 0 ? _svg$decisionNos2 : [];
19144
+ })) !== null && _catalogArticleData$i !== void 0 ? _catalogArticleData$i : []));
19145
+ allArticleDecisions = [].concat(_toConsumableArray(allArticleDecisions), _toConsumableArray((_catalogArticleData$i3 = catalogArticleData.idmPartlistDecisions) !== null && _catalogArticleData$i3 !== void 0 ? _catalogArticleData$i3 : []), _toConsumableArray((_catalogArticleData$d = catalogArticleData.decisionsRefs) !== null && _catalogArticleData$d !== void 0 ? _catalogArticleData$d : []), _toConsumableArray(decisionsOfMediaItems));
19136
19146
  }
19137
19147
  var neededDecisionsIds = _toConsumableArray(new Set([].concat(_toConsumableArray(set.CatalogData.globalDecisions.map(function (g) {
19138
19148
  return g.decisionNo;
@@ -19245,7 +19255,7 @@ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, idmOptionGrou
19245
19255
  var _op$split2 = _slicedToArray(_op$split, 2);
19246
19256
  target = _op$split2[0];
19247
19257
  operator = _op$split2[1];
19248
- if (target == 'OPTION_GROUP_REF_OP' && operator == 'in') {
19258
+ if (target == 'OPTION_GROUP_REF_OP' && ['in', 'nin'].includes(operator)) {
19249
19259
  var group = idmOptionGroups === null || idmOptionGroups === void 0 ? void 0 : idmOptionGroups[value];
19250
19260
  if (!group) {
19251
19261
  parseOptionSetRefs[featureNo] = {
@@ -19254,7 +19264,7 @@ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, idmOptionGrou
19254
19264
  };
19255
19265
  LOG$j.error(new Error('OPTION_GROUP_REF_OP: ' + value + ' is not defined'));
19256
19266
  } else parseOptionSetRefs[featureNo] = {
19257
- op: 'eq',
19267
+ op: operator,
19258
19268
  value: group
19259
19269
  };
19260
19270
  } else {
@@ -19387,7 +19397,7 @@ function initOption(feature, articleFeature, catalogArticle, set) {
19387
19397
  catalogArticle.articleOptions[articleFeature.codex];
19388
19398
  }
19389
19399
  function getCatalogOptionType(option, set) {
19390
- var _option$detailInfos;
19400
+ var _option$detailInfos, _option$detailInfos2;
19391
19401
  var catalogData = set.CatalogData;
19392
19402
  var opiton = {
19393
19403
  codex: option.optionKey,
@@ -19397,6 +19407,18 @@ function getCatalogOptionType(option, set) {
19397
19407
  image: (_option$detailInfos = option.detailInfos) === null || _option$detailInfos === void 0 || (_option$detailInfos = _option$detailInfos.find(function (d) {
19398
19408
  return d.functionType == 'OPV';
19399
19409
  })) === null || _option$detailInfos === void 0 ? void 0 : _option$detailInfos.url,
19410
+ images: (_option$detailInfos2 = option.detailInfos) === null || _option$detailInfos2 === void 0 || (_option$detailInfos2 = _option$detailInfos2.filter(function (d) {
19411
+ return d.functionType == 'OPV';
19412
+ })) === null || _option$detailInfos2 === void 0 ? void 0 : _option$detailInfos2.map(function (o) {
19413
+ var _option$detailInfoRef, _option$detailInfoRef2;
19414
+ return {
19415
+ detailInfoNo: o.detailInfoNo,
19416
+ url: o.url,
19417
+ 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) {
19418
+ return n !== null;
19419
+ })) !== null && _option$detailInfoRef !== void 0 ? _option$detailInfoRef : []
19420
+ };
19421
+ }),
19400
19422
  hexColor: rgbToHex(option.materialColorR, option.materialColorG, option.materialColorB),
19401
19423
  description: DivaUtils.getLocals(option.optionCommentText, set.api.getLanguageLowercase()),
19402
19424
  description_locales: option.optionCommentText,
@@ -19429,8 +19451,8 @@ function getCatalogOptionType(option, set) {
19429
19451
  property: convertProperties(option.properties, catalogData.api.getLanguageLowercase())
19430
19452
  };
19431
19453
  if (option.detailInfos) {
19432
- for (var i = 0; i < ((_option$detailInfos2 = option.detailInfos) !== null && _option$detailInfos2 !== void 0 ? _option$detailInfos2 : []).length; i++) {
19433
- var _option$detailInfos2;
19454
+ for (var i = 0; i < ((_option$detailInfos3 = option.detailInfos) !== null && _option$detailInfos3 !== void 0 ? _option$detailInfos3 : []).length; i++) {
19455
+ var _option$detailInfos3;
19434
19456
  option.detailInfos[i];
19435
19457
 
19436
19458
  //TODO IDM second image for zoom & images with rules (decisions)
@@ -19560,7 +19582,7 @@ function initIDMArticles(jsonItems, catalogData) {
19560
19582
  }
19561
19583
  }
19562
19584
  function getCatalogArticle(article, catalogData) {
19563
- var _catalogData$catalogM, _ref, _articleMask$name, _article$fullText, _article$fullText2, _article$shortText, _articleMask$properti, _article$weightNetto, _article$detailInfos, _article$detailInfos2, _articleMask$groupnam, _articleMask$groupnam2;
19585
+ 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;
19564
19586
  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];
19565
19587
  var lang = catalogData.api.getLanguageLowercase();
19566
19588
  var featureProperties = convertProperties(article.properties, lang, 'featureNos');
@@ -19595,29 +19617,45 @@ function getCatalogArticle(article, catalogData) {
19595
19617
  price: 0,
19596
19618
  featureClassRefNo: article.featureClassRefNo,
19597
19619
  useEkPrices: catalogData.api.useEkPrices,
19598
- depth: article.depthBasicShapeNominalValue,
19599
- depthFrom: article.depthBasicShapeFrom,
19600
- depthTo: article.depthBasicShapeTo,
19601
- width: article.widthBasicShapeNominalValue,
19602
- widthFrom: article.widthBasicShapeFrom,
19603
- widthTo: article.widthBasicShapeTo,
19604
- height: article.heightBasicShapeNominalValue,
19605
- heightFrom: article.heightBasicShapeFrom,
19606
- heightTo: article.heightBasicShapeTo,
19620
+ depth: article.depthBasicShapeNominalValue !== undefined ? Math.floor(((_article$depthBasicSh = article.depthBasicShapeNominalValue) !== null && _article$depthBasicSh !== void 0 ? _article$depthBasicSh : 0) / 10) : undefined,
19621
+ depthFrom: article.depthBasicShapeFrom !== undefined ? Math.floor(((_article$depthBasicSh2 = article.depthBasicShapeFrom) !== null && _article$depthBasicSh2 !== void 0 ? _article$depthBasicSh2 : 0) / 10) : undefined,
19622
+ depthTo: article.depthBasicShapeTo !== undefined ? Math.floor(((_article$depthBasicSh3 = article.depthBasicShapeTo) !== null && _article$depthBasicSh3 !== void 0 ? _article$depthBasicSh3 : 0) / 10) : undefined,
19623
+ width: article.widthBasicShapeNominalValue !== undefined ? Math.floor(((_article$widthBasicSh = article.widthBasicShapeNominalValue) !== null && _article$widthBasicSh !== void 0 ? _article$widthBasicSh : 0) / 10) : undefined,
19624
+ widthFrom: article.widthBasicShapeFrom !== undefined ? Math.floor(((_article$widthBasicSh2 = article.widthBasicShapeFrom) !== null && _article$widthBasicSh2 !== void 0 ? _article$widthBasicSh2 : 0) / 10) : undefined,
19625
+ widthTo: article.widthBasicShapeTo !== undefined ? Math.floor(((_article$widthBasicSh3 = article.widthBasicShapeTo) !== null && _article$widthBasicSh3 !== void 0 ? _article$widthBasicSh3 : 0) / 10) : undefined,
19626
+ height: article.heightBasicShapeNominalValue !== undefined ? Math.floor(((_article$heightBasicS = article.heightBasicShapeNominalValue) !== null && _article$heightBasicS !== void 0 ? _article$heightBasicS : 0) / 10) : undefined,
19627
+ heightFrom: article.heightBasicShapeFrom !== undefined ? Math.floor(((_article$heightBasicS2 = article.heightBasicShapeFrom) !== null && _article$heightBasicS2 !== void 0 ? _article$heightBasicS2 : 0) / 10) : undefined,
19628
+ heightTo: article.heightBasicShapeTo !== undefined ? Math.floor(((_article$heightBasicS3 = article.heightBasicShapeTo) !== null && _article$heightBasicS3 !== void 0 ? _article$heightBasicS3 : 0) / 10) : undefined,
19607
19629
  volume: article.volume,
19608
19630
  weight: (_article$weightNetto = article.weightNetto) !== null && _article$weightNetto !== void 0 ? _article$weightNetto : article.weightBrutto,
19609
19631
  image: (_article$detailInfos = article.detailInfos) === null || _article$detailInfos === void 0 || (_article$detailInfos = _article$detailInfos.find(function (d) {
19610
19632
  return d.functionType == 'ART';
19611
19633
  })) === null || _article$detailInfos === void 0 ? void 0 : _article$detailInfos.url,
19634
+ images: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 || (_article$detailInfos2 = _article$detailInfos2.filter(function (d) {
19635
+ return d.functionType == 'ART';
19636
+ })) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.map(function (d) {
19637
+ var _article$detailInfoRe, _article$detailInfoRe2;
19638
+ return {
19639
+ url: d.url,
19640
+ detailInfoNo: d.detailInfoNo,
19641
+ 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) {
19642
+ return n !== null;
19643
+ })) !== null && _article$detailInfoRe !== void 0 ? _article$detailInfoRe : []
19644
+ };
19645
+ }),
19612
19646
  idmPrices: article.prices,
19613
19647
  idmPartlist: article.partlist,
19614
19648
  articleRelations: [],
19615
- svgs: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.filter(function (d) {
19649
+ svgs: (_article$detailInfos3 = article.detailInfos) === null || _article$detailInfos3 === void 0 ? void 0 : _article$detailInfos3.filter(function (d) {
19616
19650
  return d.classification == 'SVG';
19617
19651
  }).map(function (d) {
19652
+ var _article$detailInfoRe3, _article$detailInfoRe4;
19618
19653
  return {
19619
19654
  url: d.url,
19620
- detailInfoNo: d.detailInfoNo
19655
+ detailInfoNo: d.detailInfoNo,
19656
+ 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) {
19657
+ return n !== null;
19658
+ })) !== null && _article$detailInfoRe3 !== void 0 ? _article$detailInfoRe3 : []
19621
19659
  };
19622
19660
  }),
19623
19661
  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
@@ -19628,15 +19666,15 @@ function getCatalogArticle(article, catalogData) {
19628
19666
  mainCategory: jsonArticle.MainCategory && jsonArticle.MainCategory != '' ? jsonArticle.MainCategory : undefined,
19629
19667
  price: jsonArticle.VKP1 && isNaN(jsonArticle.VKP1) ? Number(jsonArticle.VKP1.replace(',', '.')) : jsonArticle.VKP1,
19630
19668
  priceGroup: jsonArticle.PriceGroup,
19669
+ tabGroup: jsonArticle.TabGroup,
19670
+ tabGroupOption: jsonArticle.TabGroupOption,
19671
+
19631
19672
  modelName3D: jsonArticle.ModelName3D && jsonArticle.ModelName3D != '' ? jsonArticle.ModelName3D : undefined,
19632
19673
  retailArticleNr: jsonArticle.RetailArticleNr && jsonArticle.RetailArticleNr != '' ? jsonArticle.RetailArticleNr : undefined,
19633
19674
  retailPrefix: jsonArticle.RetailPrefix && jsonArticle.RetailPrefix != '' ? jsonArticle.RetailPrefix : undefined,
19634
19675
  retailTypeNr: jsonArticle.RetailTypeNr && jsonArticle.RetailTypeNr != '' ? jsonArticle.RetailTypeNr : undefined,
19635
19676
  retailMainCategoryNr: jsonArticle.RetailMainCategoryNr && jsonArticle.RetailMainCategoryNr != '' ? jsonArticle.RetailMainCategoryNr : undefined,
19636
19677
  retailSubCategoryNr: jsonArticle.RetailSubCategoryNr && jsonArticle.RetailSubCategoryNr != '' ? jsonArticle.RetailSubCategoryNr : undefined,
19637
- tabGroup: jsonArticle.TabGroup,
19638
- tabGroupOption: jsonArticle.TabGroupOption,
19639
- articlePrices: { Articles: {} },
19640
19678
  */
19641
19679
 
19642
19680
  function convertProperties() {
@@ -19672,7 +19710,7 @@ function mapProp() {
19672
19710
  });
19673
19711
  }
19674
19712
  function getCatalogPlanner(article, catalogArticle) {
19675
- var _catalogArticle$svgs;
19713
+ var _catalogArticle$svgs, _article$depthBasicSh4, _article$depthBasicSh5, _article$depthBasicSh6, _article$widthBasicSh4, _article$widthBasicSh5, _article$widthBasicSh6, _article$heightBasicS4, _article$heightBasicS5, _article$heightBasicS6;
19676
19714
  return {
19677
19715
  articleCodex: article.typeNo,
19678
19716
  avlFilter: [],
@@ -19681,6 +19719,7 @@ function getCatalogPlanner(article, catalogArticle) {
19681
19719
  catalogArticle: catalogArticle,
19682
19720
  id: Number(article.typeKey),
19683
19721
  isArticleRelation: false,
19722
+ //TODO fill all these infos when implemented in backend
19684
19723
  topAVC: 0,
19685
19724
  topAVN: 0,
19686
19725
  topAVO: 0,
@@ -19690,15 +19729,15 @@ function getCatalogPlanner(article, catalogArticle) {
19690
19729
  topHasAVR: false,
19691
19730
  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,
19692
19731
  topLayer: 30,
19693
- articleSizeY: article.depthBasicShapeNominalValue,
19694
- articleSizeYTo: article.depthBasicShapeTo,
19695
- articleSizeYFrom: article.depthBasicShapeFrom,
19696
- articleSizeX: article.widthBasicShapeNominalValue,
19697
- articleSizeXFrom: article.widthBasicShapeFrom,
19698
- articleSizeXTo: article.widthBasicShapeTo,
19699
- articleSizeZ: article.heightBasicShapeNominalValue,
19700
- articleSizeZFrom: article.heightBasicShapeFrom,
19701
- articleSizeZTo: article.heightBasicShapeTo,
19732
+ articleSizeY: article.depthBasicShapeNominalValue !== undefined ? Math.floor(((_article$depthBasicSh4 = article.depthBasicShapeNominalValue) !== null && _article$depthBasicSh4 !== void 0 ? _article$depthBasicSh4 : 0) / 10) : undefined,
19733
+ articleSizeYFrom: article.depthBasicShapeFrom !== undefined ? Math.floor(((_article$depthBasicSh5 = article.depthBasicShapeFrom) !== null && _article$depthBasicSh5 !== void 0 ? _article$depthBasicSh5 : 0) / 10) : undefined,
19734
+ articleSizeYTo: article.depthBasicShapeTo !== undefined ? Math.floor(((_article$depthBasicSh6 = article.depthBasicShapeTo) !== null && _article$depthBasicSh6 !== void 0 ? _article$depthBasicSh6 : 0) / 10) : undefined,
19735
+ articleSizeX: article.widthBasicShapeNominalValue !== undefined ? Math.floor(((_article$widthBasicSh4 = article.widthBasicShapeNominalValue) !== null && _article$widthBasicSh4 !== void 0 ? _article$widthBasicSh4 : 0) / 10) : undefined,
19736
+ articleSizeXFrom: article.widthBasicShapeFrom !== undefined ? Math.floor(((_article$widthBasicSh5 = article.widthBasicShapeFrom) !== null && _article$widthBasicSh5 !== void 0 ? _article$widthBasicSh5 : 0) / 10) : undefined,
19737
+ articleSizeXTo: article.widthBasicShapeTo !== undefined ? Math.floor(((_article$widthBasicSh6 = article.widthBasicShapeTo) !== null && _article$widthBasicSh6 !== void 0 ? _article$widthBasicSh6 : 0) / 10) : undefined,
19738
+ articleSizeZ: article.heightBasicShapeNominalValue !== undefined ? Math.floor(((_article$heightBasicS4 = article.heightBasicShapeNominalValue) !== null && _article$heightBasicS4 !== void 0 ? _article$heightBasicS4 : 0) / 10) : undefined,
19739
+ articleSizeZFrom: article.heightBasicShapeFrom !== undefined ? Math.floor(((_article$heightBasicS5 = article.heightBasicShapeFrom) !== null && _article$heightBasicS5 !== void 0 ? _article$heightBasicS5 : 0) / 10) : undefined,
19740
+ articleSizeZTo: article.heightBasicShapeTo !== undefined ? Math.floor(((_article$heightBasicS6 = article.heightBasicShapeTo) !== null && _article$heightBasicS6 !== void 0 ? _article$heightBasicS6 : 0) / 10) : undefined,
19702
19741
  filterType: 'DockNone'
19703
19742
  };
19704
19743
  }
@@ -23879,6 +23918,152 @@ var DivaEngine = /*#__PURE__*/function () {
23879
23918
  return calculatedPrice;
23880
23919
  }
23881
23920
  }
23921
+ }, {
23922
+ key: "updateConfigDependentMedia",
23923
+ value: function updateConfigDependentMedia() {
23924
+ var _this$article$catalog2,
23925
+ _this$article$catalog3,
23926
+ _this4 = this;
23927
+ var catalogData = this.article.CatalogData;
23928
+ //articlebild berechnung
23929
+
23930
+ //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
23931
+ var myShowroomImages = this.article.catalogArticle.showroomImages;
23932
+ if (myShowroomImages) {
23933
+ for (var i = 0; i < myShowroomImages.length; i++) {
23934
+ var tmpShowRoomImg = myShowroomImages[i];
23935
+ var doUse = false;
23936
+ if (!tmpShowRoomImg.JsFormula || tmpShowRoomImg.JsFormula == '') doUse = true;
23937
+ if (tmpShowRoomImg.JsFormula && tmpShowRoomImg.JsFormula != '') {
23938
+ doUse = this.article.evalRule(tmpShowRoomImg.JsFormula, '');
23939
+ }
23940
+ if (doUse && tmpShowRoomImg.ReplaceMainImage == 'True') {
23941
+ this.article.image = tmpShowRoomImg.FileName;
23942
+ }
23943
+ }
23944
+ } else {
23945
+ var keys = Object.keys(this.article.partlistArticles);
23946
+ if (keys.length == 1 && this.article.partlistArticles[keys[0]].image) {
23947
+ this.article.image = this.article.partlistArticles[keys[0]].image;
23948
+ }
23949
+ }
23950
+
23951
+ // this functions updates the images of OPVs that depend on rules
23952
+ var _iterator11 = _createForOfIteratorHelper$8(this.article.articleOptionStates),
23953
+ _step11;
23954
+ try {
23955
+ for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
23956
+ var ops = _step11.value;
23957
+ for (var jKey in ops.visibleOptionValues) {
23958
+ var opv = ops.visibleOptionValues[jKey];
23959
+ if (opv.images) {
23960
+ var imageFound = false;
23961
+ for (var _i8 = 0; _i8 < opv.images.length; _i8++) {
23962
+ var image = opv.images[_i8];
23963
+ var rule = image.jsFormula;
23964
+ if (rule.includes('ARTICLECODEX')) {
23965
+ rule = rule.replace(/ARTICLECODEX/g, "'" + this.article.articleCodex + "'");
23966
+ }
23967
+ if (rule && this.article.evalRule(rule)) {
23968
+ ops.editVisibleOPVsImages(opv.codex, catalogData.getCatImageURL(image.fileName, ''));
23969
+ imageFound = true;
23970
+ break;
23971
+ }
23972
+ }
23973
+ if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
23974
+ }
23975
+ }
23976
+ }
23977
+
23978
+ // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
23979
+ // if the Article has no SVG Tausch nothing is done
23980
+ } catch (err) {
23981
+ _iterator11.e(err);
23982
+ } finally {
23983
+ _iterator11.f();
23984
+ }
23985
+ var newSVGFile = null;
23986
+ var svgChangedViaSvgTausch = false;
23987
+ 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) {
23988
+ var _this$article$catalog4;
23989
+ //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
23990
+ if (this.article.hasPartlistArticle && !((_this$article$catalog4 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog4 !== void 0 && _this$article$catalog4.topSvg)) {
23991
+ for (var key in this.article.partlistArticles) if (this.article.partlistArticles[key].actPlannerData) {
23992
+ this.article.plannerData = this.article.partlistArticles[key].actPlannerData;
23993
+ newSVGFile = true;
23994
+ break;
23995
+ }
23996
+ }
23997
+ return;
23998
+ } else {
23999
+ var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
24000
+ if (plannerCatArt.hasTopSvgsWithFormula) {
24001
+ var svgsWithFormula = plannerCatArt.topSvgsWithFormula;
24002
+ for (var _i7 = 0; _i7 < svgsWithFormula.length; _i7++) {
24003
+ var mySVG = svgsWithFormula[_i7],
24004
+ myRule = DivaUtils.getRuleByFormula(mySVG.JsFormula, this.article.catalogCodex, catalogData.multiselectOptions);
24005
+ if (this.article.evalRule(myRule, '')) {
24006
+ newSVGFile = mySVG.SVG;
24007
+ svgChangedViaSvgTausch = true;
24008
+ this.article.actPlannerData.curSVG = mySVG.SVG;
24009
+ this.article.actPlannerData.countAVC = mySVG.AVC;
24010
+ this.article.actPlannerData.countAVO = mySVG.AVO;
24011
+ this.article.actPlannerData.countAVU = mySVG.AVU;
24012
+ this.article.actPlannerData.countAVN = mySVG.AVN;
24013
+ this.article.actPlannerData.countAVS = mySVG.AVS;
24014
+ this.article.actPlannerData.hasAVL = mySVG.HasAVL;
24015
+ this.article.actPlannerData.hasAVR = mySVG.HasAVR;
24016
+ LOG$f.debug('new SVG by SVG tausch', {
24017
+ svg: mySVG.SVG,
24018
+ rule: myRule,
24019
+ layer: mySVG.Layer,
24020
+ AVC: mySVG.AVC,
24021
+ AVO: mySVG.AVO,
24022
+ AVU: mySVG.AVU,
24023
+ AVN: mySVG.AVN,
24024
+ AVS: mySVG.AVS,
24025
+ HasAVL: mySVG.HasAVL,
24026
+ HasAVR: mySVG.HasAVR
24027
+ });
24028
+ if (isNaN(mySVG.Layer)) {
24029
+ this.article.actPlannerData.layer = 20;
24030
+ } else {
24031
+ this.article.actPlannerData.layer = Number(mySVG.Layer);
24032
+ }
24033
+ break;
24034
+ }
24035
+ }
24036
+ } else if (plannerCatArt.hasTopSvg) {
24037
+ newSVGFile = true;
24038
+ }
24039
+ if (!newSVGFile) {
24040
+ var _plannerCatArt$topSvg;
24041
+ LOG$f.error(new DivaError('No SVG found for current configuration', {
24042
+ code: 'WC_0011',
24043
+ custom: {
24044
+ formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
24045
+ return DivaUtils.getRuleByFormula(item.JsFormula, _this4.article.catalogCodex, catalogData.multiselectOptions);
24046
+ }),
24047
+ catalogName: catalogData.catalogName,
24048
+ catalogCodex: this.article.catalogCodex,
24049
+ ArticleCodex: this.article.articleCodex,
24050
+ variantDesc: this.article.articleVariantDesc(),
24051
+ variantValues: this.article.VariantValues
24052
+ }
24053
+ }));
24054
+ }
24055
+ }
24056
+ if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
24057
+ if (this.article.newPossibleAVRFilters) {
24058
+ this.article.avr = this.article.newPossibleAVRFilters;
24059
+ this.article.newPossibleAVRFilters = undefined;
24060
+ }
24061
+ if (this.article.newPossibleAVLFilters) {
24062
+ this.article.avl = this.article.newPossibleAVLFilters;
24063
+ this.article.newPossibleAVLFilters = undefined;
24064
+ }
24065
+ }
24066
+ }
23882
24067
  }]);
23883
24068
  }();
23884
24069
 
@@ -24791,6 +24976,178 @@ var IDMEngine = /*#__PURE__*/function () {
24791
24976
  value: function updateArticleOptionTree() {
24792
24977
  return [];
24793
24978
  }
24979
+ }, {
24980
+ key: "updateConfigDependentMedia",
24981
+ value: function updateConfigDependentMedia() {
24982
+ var _this$article$catalog5,
24983
+ _this3 = this;
24984
+ var catalogData = this.article.CatalogData;
24985
+ //articlebild berechnung
24986
+
24987
+ //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
24988
+ var images = this.article.catalogArticle.images;
24989
+ if (images !== null && images !== void 0 && images.length) {
24990
+ for (var i = 0; i < images.length; i++) {
24991
+ var _image$decisionNos;
24992
+ var image = images[i];
24993
+ var doUse = !((_image$decisionNos = image.decisionNos) !== null && _image$decisionNos !== void 0 && _image$decisionNos.length);
24994
+ for (var j = 0; !doUse && j < image.decisionNos.length; j++) {
24995
+ var decision = catalogData.getDecisionByNo(image.decisionNos[j]);
24996
+ if (!decision) continue;
24997
+ var _this$getMatchingOpti9 = this.getMatchingOptionCombination(decision.optionCombinations),
24998
+ _this$getMatchingOpti10 = _slicedToArray(_this$getMatchingOpti9, 1),
24999
+ combination = _this$getMatchingOpti10[0];
25000
+ if (combination) {
25001
+ doUse = true;
25002
+ break;
25003
+ }
25004
+ }
25005
+ if (doUse) {
25006
+ this.article.image = image.url;
25007
+ break;
25008
+ }
25009
+ }
25010
+ } else {
25011
+ var pla = Object.values(this.article.partlistArticles);
25012
+ if (pla.length == 1 && pla[0].image) {
25013
+ this.article.image = pla[0].image;
25014
+ }
25015
+ }
25016
+
25017
+ // this functions updates the images of OPVs that depend on rules
25018
+ var _iterator3 = _createForOfIteratorHelper$7(this.article.articleOptionStates),
25019
+ _step3;
25020
+ try {
25021
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
25022
+ var ops = _step3.value;
25023
+ for (var jKey in ops.visibleOptionValues) {
25024
+ var opv = ops.visibleOptionValues[jKey];
25025
+ if (opv.images) {
25026
+ var imageFound = false;
25027
+ for (var _i2 = 0; _i2 < opv.images.length; _i2++) {
25028
+ var _image$decisionNos2, _image$decisionNos3;
25029
+ var _image = opv.images[_i2];
25030
+ var _doUse = !((_image$decisionNos2 = _image.decisionNos) !== null && _image$decisionNos2 !== void 0 && _image$decisionNos2.length);
25031
+ if ((_image$decisionNos3 = _image.decisionNos) !== null && _image$decisionNos3 !== void 0 && _image$decisionNos3.length) {
25032
+ for (var _j2 = 0; _j2 < _image.decisionNos.length; _j2++) {
25033
+ var _decision2 = catalogData.getDecisionByNo(_image.decisionNos[_j2]);
25034
+ if (!_decision2) throw new Error('decision ' + _image.decisionNos[_j2] + ' not found');
25035
+ var _this$getMatchingOpti13 = this.getMatchingOptionCombination(_decision2.optionCombinations),
25036
+ _this$getMatchingOpti14 = _slicedToArray(_this$getMatchingOpti13, 1),
25037
+ _combination2 = _this$getMatchingOpti14[0];
25038
+ if (_combination2) {
25039
+ _doUse = true;
25040
+ break;
25041
+ }
25042
+ }
25043
+ }
25044
+ if (_doUse) {
25045
+ ops.editVisibleOPVsImages(opv.codex, _image.url);
25046
+ imageFound = true;
25047
+ break;
25048
+ }
25049
+ }
25050
+ if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
25051
+ }
25052
+ }
25053
+ }
25054
+
25055
+ // this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
25056
+ // if the Article has no SVG Tausch nothing is done
25057
+ } catch (err) {
25058
+ _iterator3.e(err);
25059
+ } finally {
25060
+ _iterator3.f();
25061
+ }
25062
+ var newSVGFile = null;
25063
+ var svgChangedViaSvgTausch = false;
25064
+ if (!((_this$article$catalog5 = this.article.catalogArticle.svgs) !== null && _this$article$catalog5 !== void 0 && _this$article$catalog5.length)) {
25065
+ var _this$article$catalog6;
25066
+ //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
25067
+ if (this.article.hasPartlistArticle && !((_this$article$catalog6 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog6 !== void 0 && _this$article$catalog6.topSvg)) {
25068
+ for (var key in this.article.partlistArticles) if (this.article.partlistArticles[key].actPlannerData) {
25069
+ this.article.plannerData = this.article.partlistArticles[key].actPlannerData;
25070
+ newSVGFile = true;
25071
+ break;
25072
+ }
25073
+ }
25074
+ return;
25075
+ } else {
25076
+ var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
25077
+ var svgs = this.article.catalogArticle.svgs;
25078
+ if (svgs !== null && svgs !== void 0 && svgs.length) {
25079
+ for (var _i = 0; _i < svgs.length; _i++) {
25080
+ var _svg$decisionNos, _svg$decisionNos2;
25081
+ var svg = svgs[_i];
25082
+ var svgValid = !((_svg$decisionNos = svg.decisionNos) !== null && _svg$decisionNos !== void 0 && _svg$decisionNos.length);
25083
+ if ((_svg$decisionNos2 = svg.decisionNos) !== null && _svg$decisionNos2 !== void 0 && _svg$decisionNos2.length) {
25084
+ for (var _j = 0; _j < svg.decisionNos.length; _j++) {
25085
+ var _decision = catalogData.getDecisionByNo(svg.decisionNos[_j]);
25086
+ if (!_decision) throw new Error('decision ' + svg.decisionNos[_j] + ' not found');
25087
+ var _this$getMatchingOpti11 = this.getMatchingOptionCombination(_decision.optionCombinations),
25088
+ _this$getMatchingOpti12 = _slicedToArray(_this$getMatchingOpti11, 1),
25089
+ _combination = _this$getMatchingOpti12[0];
25090
+ if (_combination) {
25091
+ svgValid = _decision;
25092
+ break;
25093
+ }
25094
+ }
25095
+ }
25096
+ if (svgValid) {
25097
+ newSVGFile = svg.url;
25098
+ svgChangedViaSvgTausch = true;
25099
+ this.article.actPlannerData.curSVG = svg.url;
25100
+ //TODO. fill this after these infos are in the mediaRef
25101
+ //this.article.actPlannerData!.countAVC = mySVG.AVC;
25102
+ //this.article.actPlannerData!.countAVO = mySVG.AVO;
25103
+ //this.article.actPlannerData!.countAVU = mySVG.AVU;
25104
+ //this.article.actPlannerData!.countAVN = mySVG.AVN;
25105
+ //this.article.actPlannerData!.countAVS = mySVG.AVS;
25106
+ //this.article.actPlannerData!.hasAVL = mySVG.HasAVL;
25107
+ //this.article.actPlannerData!.hasAVR = mySVG.HasAVR;
25108
+ LOG$e.debug('new SVG by SVG tausch', {
25109
+ svg: svg.url,
25110
+ rule: svgValid
25111
+ });
25112
+ if (isNaN(svg.Layer)) {
25113
+ this.article.actPlannerData.layer = 20;
25114
+ } else {
25115
+ this.article.actPlannerData.layer = Number(svg.Layer);
25116
+ }
25117
+ break;
25118
+ }
25119
+ }
25120
+ } else if (plannerCatArt.hasTopSvg) {
25121
+ newSVGFile = true;
25122
+ }
25123
+ if (!newSVGFile) {
25124
+ var _plannerCatArt$topSvg;
25125
+ LOG$e.error(new DivaError('No SVG found for current configuration', {
25126
+ code: 'WC_0011',
25127
+ custom: {
25128
+ formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
25129
+ return DivaUtils.getRuleByFormula(item.JsFormula, _this3.article.catalogCodex, catalogData.multiselectOptions);
25130
+ }),
25131
+ catalogName: catalogData.catalogName,
25132
+ catalogCodex: this.article.catalogCodex,
25133
+ ArticleCodex: this.article.articleCodex,
25134
+ variantDesc: this.article.articleVariantDesc(),
25135
+ variantValues: this.article.VariantValues
25136
+ }
25137
+ }));
25138
+ }
25139
+ }
25140
+ if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
25141
+ if (this.article.newPossibleAVRFilters) {
25142
+ this.article.avr = this.article.newPossibleAVRFilters;
25143
+ this.article.newPossibleAVRFilters = undefined;
25144
+ }
25145
+ if (this.article.newPossibleAVLFilters) {
25146
+ this.article.avl = this.article.newPossibleAVLFilters;
25147
+ this.article.newPossibleAVLFilters = undefined;
25148
+ }
25149
+ }
25150
+ }
24794
25151
  }]);
24795
25152
  }();
24796
25153
 
@@ -27296,7 +27653,7 @@ var DivaArticle = /*#__PURE__*/function () {
27296
27653
  break;
27297
27654
  }
27298
27655
  _context.next = 4;
27299
- return import('./ShelfPlanner-f8188785.js');
27656
+ return import('./ShelfPlanner-d2304c2b.js');
27300
27657
  case 4:
27301
27658
  _yield$import = _context.sent;
27302
27659
  ShelfPlanner = _yield$import["default"];
@@ -27473,162 +27830,6 @@ var DivaArticle = /*#__PURE__*/function () {
27473
27830
  return validValues;
27474
27831
  }
27475
27832
 
27476
- //articlebild berechnung
27477
- }, {
27478
- key: "updateArticleImage",
27479
- value: function updateArticleImage() {
27480
- //jetzt könnte der Artikel ein neues Bild haben, die in ArticleData.ShowroomImages mit JsFormula deklariert sind
27481
- var myShowroomImages = this.article.catalogArticle.showroomImages;
27482
- if (myShowroomImages) {
27483
- for (var i = 0; i < myShowroomImages.length; i++) {
27484
- var tmpShowRoomImg = myShowroomImages[i];
27485
- var doUse = false;
27486
- if (!tmpShowRoomImg.JsFormula || tmpShowRoomImg.JsFormula == '') doUse = true;
27487
- if (tmpShowRoomImg.JsFormula && tmpShowRoomImg.JsFormula != '') {
27488
- doUse = this.evalRule(tmpShowRoomImg.JsFormula, '');
27489
- }
27490
- if (doUse && tmpShowRoomImg.ReplaceMainImage == 'True') {
27491
- this.image = tmpShowRoomImg.FileName;
27492
- }
27493
- }
27494
- } else {
27495
- var keys = Object.keys(this.article.partlistArticles);
27496
- if (keys.length == 1 && this.article.partlistArticles[keys[0]].image) {
27497
- this.image = this.article.partlistArticles[keys[0]].image;
27498
- }
27499
- }
27500
- }
27501
- /**
27502
- * this functions updates the images of OPVs that depend on rules
27503
- */
27504
- }, {
27505
- key: "updateOPVImages",
27506
- value: function updateOPVImages() {
27507
- var catalogData = this.CatalogData;
27508
- var _iterator25 = _createForOfIteratorHelper$6(this.articleOptionStates),
27509
- _step25;
27510
- try {
27511
- for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
27512
- var ops = _step25.value;
27513
- for (var jKey in ops.visibleOptionValues) {
27514
- var opv = ops.visibleOptionValues[jKey];
27515
- if (opv.images) {
27516
- var imageFound = false;
27517
- for (var i = 0; i < opv.images.length; i++) {
27518
- var rule = opv.images[i].jsFormula;
27519
- if (rule.includes('ARTICLECODEX')) {
27520
- rule = rule.replace(/ARTICLECODEX/g, "'" + this.articleCodex + "'");
27521
- }
27522
- if (rule && this.evalRule(rule)) {
27523
- ops.editVisibleOPVsImages(opv.codex, catalogData.getCatImageURL(opv.images[i].fileName, ''));
27524
- imageFound = true;
27525
- break;
27526
- }
27527
- }
27528
- if (!imageFound) ops.editVisibleOPVsImages(opv.codex);
27529
- }
27530
- }
27531
- }
27532
- } catch (err) {
27533
- _iterator25.e(err);
27534
- } finally {
27535
- _iterator25.f();
27536
- }
27537
- }
27538
-
27539
- /**
27540
- * this function calculates an Svg to the current configuration if neccessary (SVG Tausch)
27541
- * if the Article has no SVG Tausch nothing is done
27542
- */
27543
- }, {
27544
- key: "updateArticleSVG",
27545
- value: function updateArticleSVG() {
27546
- var _this$article$catalog2,
27547
- _this$article$catalog3,
27548
- _this4 = this;
27549
- var newSVGFile = null;
27550
- var svgChangedViaSvgTausch = false;
27551
- 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) {
27552
- var _this$article$catalog4;
27553
- //falls der Arikel kein SVG hat könnte eines seiner ParlistArtikel eines haben
27554
- if (this.hasPartlistArticle && !((_this$article$catalog4 = this.article.catalogArticle.catalogPlannerArticle) !== null && _this$article$catalog4 !== void 0 && _this$article$catalog4.topSvg)) {
27555
- for (var key in this.partlistArticles) if (this.partlistArticles[key].actPlannerData) {
27556
- this.plannerData = this.partlistArticles[key].actPlannerData;
27557
- newSVGFile = true;
27558
- break;
27559
- }
27560
- }
27561
- return;
27562
- } else {
27563
- var plannerCatArt = this.article.catalogArticle.catalogPlannerArticle;
27564
- if (plannerCatArt.hasTopSvgsWithFormula) {
27565
- var svgsWithFormula = plannerCatArt.topSvgsWithFormula;
27566
- for (var i = 0; i < svgsWithFormula.length; i++) {
27567
- var mySVG = svgsWithFormula[i],
27568
- myRule = DivaUtils.getRuleByFormula(mySVG.JsFormula, this.catalogCodex, this.CatalogData.multiselectOptions);
27569
- if (this.evalRule(myRule, '')) {
27570
- newSVGFile = mySVG.SVG;
27571
- svgChangedViaSvgTausch = true;
27572
- this.actPlannerData.curSVG = mySVG.SVG;
27573
- this.actPlannerData.countAVC = mySVG.AVC;
27574
- this.actPlannerData.countAVO = mySVG.AVO;
27575
- this.actPlannerData.countAVU = mySVG.AVU;
27576
- this.actPlannerData.countAVN = mySVG.AVN;
27577
- this.actPlannerData.countAVS = mySVG.AVS;
27578
- this.actPlannerData.hasAVL = mySVG.HasAVL;
27579
- this.actPlannerData.hasAVR = mySVG.HasAVR;
27580
- LOG$d.debug('new SVG by SVG tausch', {
27581
- svg: mySVG.SVG,
27582
- rule: myRule,
27583
- layer: mySVG.Layer,
27584
- AVC: mySVG.AVC,
27585
- AVO: mySVG.AVO,
27586
- AVU: mySVG.AVU,
27587
- AVN: mySVG.AVN,
27588
- AVS: mySVG.AVS,
27589
- HasAVL: mySVG.HasAVL,
27590
- HasAVR: mySVG.HasAVR
27591
- });
27592
- if (isNaN(mySVG.Layer)) {
27593
- this.actPlannerData.layer = 20;
27594
- } else {
27595
- this.actPlannerData.layer = Number(mySVG.Layer);
27596
- }
27597
- break;
27598
- }
27599
- }
27600
- } else if (plannerCatArt.hasTopSvg) {
27601
- newSVGFile = true;
27602
- }
27603
- if (!newSVGFile) {
27604
- var _plannerCatArt$topSvg;
27605
- LOG$d.error(new DivaError('No SVG found for current configuration', {
27606
- code: 'WC_0011',
27607
- custom: {
27608
- formulas: (_plannerCatArt$topSvg = plannerCatArt.topSvgsWithFormula) === null || _plannerCatArt$topSvg === void 0 ? void 0 : _plannerCatArt$topSvg.map(function (item) {
27609
- return DivaUtils.getRuleByFormula(item.JsFormula, _this4.catalogCodex, _this4.CatalogData.multiselectOptions);
27610
- }),
27611
- catalogName: this.CatalogData.catalogName,
27612
- catalogCodex: this.catalogCodex,
27613
- ArticleCodex: this.articleCodex,
27614
- variantDesc: this.articleVariantDesc(),
27615
- variantValues: this.VariantValues
27616
- }
27617
- }));
27618
- }
27619
- }
27620
- if (svgChangedViaSvgTausch || this.article.doUpdatePlannerSize) {
27621
- if (this.article.newPossibleAVRFilters) {
27622
- this.avr = this.article.newPossibleAVRFilters;
27623
- this.article.newPossibleAVRFilters = undefined;
27624
- }
27625
- if (this.article.newPossibleAVLFilters) {
27626
- this.avl = this.article.newPossibleAVLFilters;
27627
- this.article.newPossibleAVLFilters = undefined;
27628
- }
27629
- }
27630
- }
27631
-
27632
27833
  /**
27633
27834
  * this function return the config and material info of article. This is used for the planner visualisation
27634
27835
  */
@@ -27679,17 +27880,17 @@ var DivaArticle = /*#__PURE__*/function () {
27679
27880
  key: "addOptionStateFromArticleToPlannerData",
27680
27881
  value: function addOptionStateFromArticleToPlannerData(ret, alternateRenderInfo) {
27681
27882
  var articleOptions = this.getArticleOptionStatesWithOptionsForPrint();
27682
- var _iterator26 = _createForOfIteratorHelper$6(articleOptions),
27683
- _step26;
27883
+ var _iterator25 = _createForOfIteratorHelper$6(articleOptions),
27884
+ _step25;
27684
27885
  try {
27685
- for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
27686
- var ops = _step26.value;
27886
+ for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
27887
+ var ops = _step25.value;
27687
27888
  this.addOptionStateToPlannerData(ret, ops, alternateRenderInfo);
27688
27889
  }
27689
27890
  } catch (err) {
27690
- _iterator26.e(err);
27891
+ _iterator25.e(err);
27691
27892
  } finally {
27692
- _iterator26.f();
27893
+ _iterator25.f();
27693
27894
  }
27694
27895
  for (var key in this.article.partlistArticles) {
27695
27896
  var partlistArticle = this.article.partlistArticles[key];
@@ -27737,11 +27938,11 @@ var DivaArticle = /*#__PURE__*/function () {
27737
27938
  key: "getAccessoireMATData",
27738
27939
  value: function getAccessoireMATData(onString) {
27739
27940
  var MAT = [];
27740
- var _iterator27 = _createForOfIteratorHelper$6(this.articleOptionStates),
27741
- _step27;
27941
+ var _iterator26 = _createForOfIteratorHelper$6(this.articleOptionStates),
27942
+ _step26;
27742
27943
  try {
27743
- for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
27744
- var ops = _step27.value;
27944
+ for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
27945
+ var ops = _step26.value;
27745
27946
  var opt = void 0;
27746
27947
  if (!ops.val) continue;
27747
27948
  opt = ops.optionCodex;
@@ -27754,9 +27955,9 @@ var DivaArticle = /*#__PURE__*/function () {
27754
27955
  });
27755
27956
  }
27756
27957
  } catch (err) {
27757
- _iterator27.e(err);
27958
+ _iterator26.e(err);
27758
27959
  } finally {
27759
- _iterator27.f();
27960
+ _iterator26.f();
27760
27961
  }
27761
27962
  return MAT;
27762
27963
  }
@@ -27798,11 +27999,11 @@ var DivaArticle = /*#__PURE__*/function () {
27798
27999
  value: function getVariantBasketData() {
27799
28000
  var variantBasketData = [];
27800
28001
  var articleOptions = this.getArticleOptionStatesWithOptionsForPrint();
27801
- var _iterator28 = _createForOfIteratorHelper$6(articleOptions),
27802
- _step28;
28002
+ var _iterator27 = _createForOfIteratorHelper$6(articleOptions),
28003
+ _step27;
27803
28004
  try {
27804
- for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
27805
- var ops = _step28.value;
28005
+ for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
28006
+ var ops = _step27.value;
27806
28007
  var OP = ops.optionCodex;
27807
28008
  if (ops) {
27808
28009
  var _ops$idmVariantenArt2;
@@ -27869,9 +28070,9 @@ var DivaArticle = /*#__PURE__*/function () {
27869
28070
  }
27870
28071
  }
27871
28072
  } catch (err) {
27872
- _iterator28.e(err);
28073
+ _iterator27.e(err);
27873
28074
  } finally {
27874
- _iterator28.f();
28075
+ _iterator27.f();
27875
28076
  }
27876
28077
  return variantBasketData;
27877
28078
  }
@@ -28042,17 +28243,17 @@ var DivaArticle = /*#__PURE__*/function () {
28042
28243
  value: function cloneArticle(set) {
28043
28244
  var clonedArticle = new DivaArticle(set, this.basketId, _objectSpread$e({}, this.article), this.article.catalogArticle, set.CatalogData);
28044
28245
  clonedArticle.articleOptionStatesData = [];
28045
- var _iterator29 = _createForOfIteratorHelper$6(this.articleOptionStates),
28046
- _step29;
28246
+ var _iterator28 = _createForOfIteratorHelper$6(this.articleOptionStates),
28247
+ _step28;
28047
28248
  try {
28048
- for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
28049
- var ops = _step29.value;
28249
+ for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
28250
+ var ops = _step28.value;
28050
28251
  clonedArticle.articleOptionStatesData.push(ops.cloneOptionState(clonedArticle.getIsConfigSingle));
28051
28252
  }
28052
28253
  } catch (err) {
28053
- _iterator29.e(err);
28254
+ _iterator28.e(err);
28054
28255
  } finally {
28055
- _iterator29.f();
28256
+ _iterator28.f();
28056
28257
  }
28057
28258
  clonedArticle.initEngine();
28058
28259
  clonedArticle.article.partlistArticles = {};
@@ -28836,11 +29037,7 @@ var DivaArticleHandler = /*#__PURE__*/function () {
28836
29037
  article.engine.calcConfigPrice(maxPriceOfGroupCodex, 2);
28837
29038
  if (!calcVariantPrice) {
28838
29039
  //evtl articlebild berechnen
28839
- article.updateArticleImage();
28840
- //evtl SVG tausch berechnen
28841
- article.updateArticleSVG();
28842
- //evtl opv images mit rules updaten
28843
- article.updateOPVImages();
29040
+ article.engine.updateConfigDependentMedia();
28844
29041
  }
28845
29042
  }
28846
29043
  return _context13.abrupt("return", partlistArticlesToLoad);
@@ -31944,7 +32141,7 @@ var DivaSet = /*#__PURE__*/function () {
31944
32141
  break;
31945
32142
  }
31946
32143
  _context5.next = 3;
31947
- return import('./DoorPlanner-8f7cf20d.js');
32144
+ return import('./DoorPlanner-a5709131.js');
31948
32145
  case 3:
31949
32146
  _yield$import = _context5.sent;
31950
32147
  DoorPlanner = _yield$import["default"];
@@ -38825,7 +39022,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38825
39022
  break;
38826
39023
  case 3:
38827
39024
  _context12.next = 5;
38828
- return import('./PfisterWWSHandler-a1d7b1fc.js');
39025
+ return import('./PfisterWWSHandler-f1359cea.js');
38829
39026
  case 5:
38830
39027
  _yield$import = _context12.sent;
38831
39028
  PfisterWWSHandler = _yield$import["default"];
@@ -38833,7 +39030,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38833
39030
  return _context12.abrupt("break", 27);
38834
39031
  case 9:
38835
39032
  _context12.next = 11;
38836
- return import('./LiviqueWWSHandler-066b6dc3.js');
39033
+ return import('./LiviqueWWSHandler-6fab39f8.js');
38837
39034
  case 11:
38838
39035
  _yield$import2 = _context12.sent;
38839
39036
  LiviqueWWSHandler = _yield$import2["default"];
@@ -38841,7 +39038,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38841
39038
  return _context12.abrupt("break", 27);
38842
39039
  case 15:
38843
39040
  _context12.next = 17;
38844
- return import('./SeriousBasketHandler-15520d45.js');
39041
+ return import('./SeriousBasketHandler-23026b3a.js');
38845
39042
  case 17:
38846
39043
  _yield$import3 = _context12.sent;
38847
39044
  SeriousWWSHandler = _yield$import3["default"];
@@ -38849,7 +39046,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38849
39046
  return _context12.abrupt("break", 27);
38850
39047
  case 21:
38851
39048
  _context12.next = 23;
38852
- return import('./StandardWWSHandler-88cbcb65.js');
39049
+ return import('./StandardWWSHandler-646c6382.js');
38853
39050
  case 23:
38854
39051
  _yield$import4 = _context12.sent;
38855
39052
  StandardWWSHandler = _yield$import4["default"];
@@ -40277,7 +40474,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
40277
40474
  while (1) switch (_context3.prev = _context3.next) {
40278
40475
  case 0:
40279
40476
  _context3.next = 2;
40280
- return import('./Host3DSignalR-705e8532.js');
40477
+ return import('./Host3DSignalR-c17c814d.js');
40281
40478
  case 2:
40282
40479
  _yield$import = _context3.sent;
40283
40480
  Host3DSignalR = _yield$import["default"];
@@ -41834,7 +42031,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41834
42031
  break;
41835
42032
  case 8:
41836
42033
  _context4.next = 10;
41837
- return import('./DivaStandardPlanner-b3354870.js');
42034
+ return import('./DivaStandardPlanner-28d84100.js');
41838
42035
  case 10:
41839
42036
  _yield$import = _context4.sent;
41840
42037
  DivaStandardPlanner = _yield$import["default"];
@@ -41845,7 +42042,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41845
42042
  return _context4.abrupt("break", 21);
41846
42043
  case 15:
41847
42044
  _context4.next = 17;
41848
- return import('./DivaBoxPlanner-07cde87e.js');
42045
+ return import('./DivaBoxPlanner-bea4d0a8.js');
41849
42046
  case 17:
41850
42047
  _yield$import2 = _context4.sent;
41851
42048
  DivaBoxPlanner = _yield$import2["default"];