@crystaldesign/web-planner-logic 25.4.0-beta.25 → 25.4.0-beta.27

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 (32) hide show
  1. package/build/cjs/{DivaBoxPlanner-04758c89.js → DivaBoxPlanner-94703dc1.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-7f34c728.js → DivaStandardPlanner-9e31ae4e.js} +2 -2
  3. package/build/cjs/{DoorPlanner-80bb95e6.js → DoorPlanner-dab027c7.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-f0eed04b.js → Host3DSignalR-adb0e652.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-3eef56c2.js → LiviqueWWSHandler-36d2d2b4.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-ee6c1a34.js → PfisterWWSHandler-0ad34623.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-88194e61.js → PlannerHandler2D-c9111ac6.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-b57c7afd.js → SeriousBasketHandler-f0aab7a8.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-9eca5cf0.js → ShelfPlanner-c7bf1da7.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-e203956f.js → StandardWWSHandler-72d06efd.js} +1 -1
  11. package/build/cjs/{index-7dea181f.js → index-3b913b66.js} +243 -230
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-7a9d8168.js → DivaBoxPlanner-5f402b2f.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-ec63b1f2.js → DivaStandardPlanner-0ceb159f.js} +2 -2
  15. package/build/esm/{DoorPlanner-79246024.js → DoorPlanner-f69b0c1d.js} +1 -1
  16. package/build/esm/{Host3DSignalR-d23433bc.js → Host3DSignalR-77ada6d4.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-4d7ceb30.js → LiviqueWWSHandler-77533fcb.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-45ffc8f9.js → PfisterWWSHandler-2dbbb87b.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-65303878.js → PlannerHandler2D-6eec2ed3.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-08aaf2b1.js → SeriousBasketHandler-5346f356.js} +1 -1
  21. package/build/esm/{ShelfPlanner-291ed05b.js → ShelfPlanner-838ba3f6.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-eeed0196.js → StandardWWSHandler-7a18de6c.js} +1 -1
  23. package/build/esm/{index-42ced0e2.js → index-49c17371.js} +243 -230
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +2 -0
  26. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts +51 -0
  28. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +1 -0
  30. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
  32. package/package.json +2 -2
@@ -18772,217 +18772,9 @@ function getArticleOptionValueType(codex, jsonOPV, catalogOPV, myArticle, isPare
18772
18772
  return opv;
18773
18773
  }
18774
18774
 
18775
- var LOG$j = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
18776
- function initIDMCatalogData(serie, orderSet, api) {
18777
- var _serie$catalogId, _serie$decisions, _serie$decisions2;
18778
- var catalog = serie.catalogData;
18779
- var catalogData = {
18780
- accountGuid: (_serie$catalogId = serie.catalogId) !== null && _serie$catalogId !== void 0 ? _serie$catalogId : orderSet.AccountGUID,
18781
- accountName: '',
18782
- accountLogo: '',
18783
- collectionGuid: serie.catalogId,
18784
- catalogGuid: serie.catalogId,
18785
- catalogCodex: serie.serieNo.toString(),
18786
- catalogName: DivaUtils.getLocals(serie.seriesName, api.getLanguageLowercase()),
18787
- // name des Kataloges
18788
- origCatalogName: DivaUtils.getLocals(serie.seriesName, api.getLanguageLowercase()),
18789
- name_locales: serie.seriesName,
18790
- longDescription: DivaUtils.getLocals(serie.seriesFullText, api.getLanguageLowercase()),
18791
- longDescription_locales: serie.seriesFullText,
18792
- loadedFeatureClasses: [],
18793
- loadedFeatures: [],
18794
- loadedOptions: [],
18795
- globalDecisions: _toConsumableArray((_serie$decisions = serie.decisions) !== null && _serie$decisions !== void 0 ? _serie$decisions : []),
18796
- loadedDecisions: _toConsumableArray((_serie$decisions2 = serie.decisions) !== null && _serie$decisions2 !== void 0 ? _serie$decisions2 : []),
18797
- //TODO zu klären mit Philipp
18798
-
18799
- //supplierGuid: '', // HerstellerCodex des Katalogs
18800
- //brandName: '',
18801
- //retailArticleNr: json.RetailArticleNr,
18802
- //additionalCatalogPrice: json.AdditionalCatalogPrice,
18803
- //additionalCatalogPriceText: json.AdditionalCatalogPriceText,
18804
- //mainCategory: json.MainCategory ?? json.Name,
18805
- //digits: json.Digits,
18806
- supplierILN: catalog.glnNo,
18807
- // SupplierILN des Herstellers des Katalogs
18808
- rounding: catalog.roundingType,
18809
- optionGroups: catalog.optionGroups,
18810
- formulas: catalog.formulas,
18811
- loadedPricefeaturegroups: []
18812
- };
18813
- return catalogData;
18814
- }
18815
- function initIDMArticles(jsonItems, catalogData) {
18816
- if (jsonItems !== null && jsonItems !== void 0 && jsonItems.length) {
18817
- for (var i = 0; i < jsonItems.length; i++) {
18818
- var catalogArticle = new CatalogArticleData(getCatalogArticle(jsonItems[i], catalogData));
18819
- catalogData.allCatalogArticles[catalogArticle.articleCodex] = catalogArticle;
18820
- }
18821
- } else {
18822
- DivaUtils.endSpanOfApm('Catalog initialize');
18823
- LOG$j.error(new DivaError('Catalog ' + catalogData.catalogName + ' not listed', {
18824
- code: 'WC_0002'
18825
- }));
18826
- throw new Error('Articles of Catalog: ' + catalogData.catalogCodex + ' are empty');
18827
- }
18828
- for (var _i = 0; _i < jsonItems.length; _i++) {
18829
- var myCodex = jsonItems[_i].typeNo;
18830
- if (catalogData.allCatalogArticles[myCodex].isHidden || catalogData.allCatalogArticles[myCodex].isPartlistExclusive) continue;
18831
- // if (!catalogData.allCatalogArticles[myCodex].svgs?.length) continue;
18832
-
18833
- var catalogPlannerArticle = new CatalogPlannerArticleData(getCatalogPlanner(jsonItems[_i], catalogData.allCatalogArticles[myCodex]));
18834
- catalogData.allCatalogArticles[myCodex].initCatalogPlannerArticle(catalogPlannerArticle);
18835
- catalogData.allCatalogPlannerArticles[myCodex] = catalogPlannerArticle;
18836
- initCatalogPlannerArticleView(catalogData, catalogPlannerArticle, catalogData.catalogProps, catalogData.plannerPaletteViewInfo);
18837
- }
18838
- }
18839
- function getCatalogArticle(article, catalogData) {
18840
- var _catalogData$catalogM, _articleMask$name, _articleMask$properti, _article$weightNetto, _article$detailInfos, _article$detailInfos2;
18841
- 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];
18842
- return {
18843
- areOptionsLoaded: false,
18844
- arePricesLoaded: false,
18845
- articleCodex: article.typeNo,
18846
- articleOptions: {},
18847
- partListExclusive: article.partListExclusive,
18848
- guid: article.typeKey,
18849
- articleEAN: article.eanNumber,
18850
- typeNr: article.edpNumber,
18851
- decisions: [],
18852
- idmDecisions: [],
18853
- decisionsRefs: article.decisionRefs,
18854
- catalogCodex: catalogData.catalogCodex,
18855
- catalogName: catalogData.catalogName,
18856
- hasArticleRelations: false,
18857
- hasPartlistArticle: !!article.partListRef,
18858
- hasType1Dependencies: false,
18859
- name: DivaUtils.getLocals((_articleMask$name = articleMask === null || articleMask === void 0 ? void 0 : articleMask.name) !== null && _articleMask$name !== void 0 ? _articleMask$name : article.shortText, catalogData.api.getLanguageLowercase()),
18860
- longDescription: DivaUtils.getLocals(article.fullText, catalogData.api.getLanguageLowercase()),
18861
- longDescription_locales: article.fullText,
18862
- isHidden: !!(articleMask !== null && articleMask !== void 0 && articleMask.hidden),
18863
- origName: DivaUtils.getLocals(article.shortText, catalogData.api.getLanguageLowercase()),
18864
- properties: [].concat(_toConsumableArray(convertProperties(article.properties, catalogData.api.getLanguageLowercase())), _toConsumableArray((_articleMask$properti = articleMask === null || articleMask === void 0 ? void 0 : articleMask.properties) !== null && _articleMask$properti !== void 0 ? _articleMask$properti : [])),
18865
- articleType: article.featureClassRefNo === undefined ? 'FLAT' : 'OPTIONTREE',
18866
- price: 0,
18867
- featureClassRefNo: article.featureClassRefNo,
18868
- useEkPrices: catalogData.api.useEkPrices,
18869
- depth: article.depthBasicShapeNominalValue,
18870
- depthFrom: article.depthBasicShapeFrom,
18871
- depthTo: article.depthBasicShapeTo,
18872
- width: article.widthBasicShapeNominalValue,
18873
- widthFrom: article.widthBasicShapeFrom,
18874
- widthTo: article.widthBasicShapeTo,
18875
- height: article.heightBasicShapeNominalValue,
18876
- heightFrom: article.heightBasicShapeFrom,
18877
- heightTo: article.heightBasicShapeTo,
18878
- volume: article.volume,
18879
- weight: (_article$weightNetto = article.weightNetto) !== null && _article$weightNetto !== void 0 ? _article$weightNetto : article.weightBrutto,
18880
- image: (_article$detailInfos = article.detailInfos) === null || _article$detailInfos === void 0 || (_article$detailInfos = _article$detailInfos.find(function (d) {
18881
- return d.functionType == 'ART';
18882
- })) === null || _article$detailInfos === void 0 ? void 0 : _article$detailInfos.url,
18883
- idmPrices: article.prices,
18884
- idmPartlist: article.partlist,
18885
- articleRelations: [],
18886
- svgs: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.filter(function (d) {
18887
- return d.classification == 'SVG';
18888
- }).map(function (d) {
18889
- return {
18890
- url: d.url,
18891
- detailInfoNo: d.detailInfoNo
18892
- };
18893
- })
18894
- };
18895
- }
18896
-
18897
- /*
18898
- groupName: articleMask?.groupname?.[catalogData.api.getLanguage()] ?? jsonArticle.GroupName,
18899
- mainCategory: jsonArticle.MainCategory && jsonArticle.MainCategory != '' ? jsonArticle.MainCategory : undefined,
18900
- price: jsonArticle.VKP1 && isNaN(jsonArticle.VKP1) ? Number(jsonArticle.VKP1.replace(',', '.')) : jsonArticle.VKP1,
18901
- priceGroup: jsonArticle.PriceGroup,
18902
- modelName3D: jsonArticle.ModelName3D && jsonArticle.ModelName3D != '' ? jsonArticle.ModelName3D : undefined,
18903
- retailArticleNr: jsonArticle.RetailArticleNr && jsonArticle.RetailArticleNr != '' ? jsonArticle.RetailArticleNr : undefined,
18904
- retailPrefix: jsonArticle.RetailPrefix && jsonArticle.RetailPrefix != '' ? jsonArticle.RetailPrefix : undefined,
18905
- retailTypeNr: jsonArticle.RetailTypeNr && jsonArticle.RetailTypeNr != '' ? jsonArticle.RetailTypeNr : undefined,
18906
- retailMainCategoryNr: jsonArticle.RetailMainCategoryNr && jsonArticle.RetailMainCategoryNr != '' ? jsonArticle.RetailMainCategoryNr : undefined,
18907
- retailSubCategoryNr: jsonArticle.RetailSubCategoryNr && jsonArticle.RetailSubCategoryNr != '' ? jsonArticle.RetailSubCategoryNr : undefined,
18908
- tabGroup: jsonArticle.TabGroup,
18909
- tabGroupOption: jsonArticle.TabGroupOption,
18910
- articlePrices: { Articles: {} },
18911
- */
18912
-
18913
- function convertProperties() {
18914
- var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
18915
- var lang = arguments.length > 1 ? arguments[1] : undefined;
18916
- return properties.map(function (p) {
18917
- return {
18918
- Value: DivaUtils.getLocals(p.value, lang),
18919
- Codex: p.key,
18920
- Name: DivaUtils.getLocals(p.name, lang)
18921
- };
18922
- });
18923
- }
18924
- function getCatalogPlanner(article, catalogArticle) {
18925
- var _catalogArticle$svgs;
18926
- return {
18927
- articleCodex: article.typeNo,
18928
- avlFilter: [],
18929
- avrFilter: [],
18930
- basePrice: 0,
18931
- catalogArticle: catalogArticle,
18932
- id: Number(article.typeKey),
18933
- isArticleRelation: false,
18934
- topAVC: 0,
18935
- topAVN: 0,
18936
- topAVO: 0,
18937
- topAVS: 0,
18938
- topAVU: 0,
18939
- topHasAVL: false,
18940
- topHasAVR: false,
18941
- 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,
18942
- topLayer: 30,
18943
- articleSizeY: article.depthBasicShapeNominalValue,
18944
- articleSizeYTo: article.depthBasicShapeTo,
18945
- articleSizeYFrom: article.depthBasicShapeFrom,
18946
- articleSizeX: article.widthBasicShapeNominalValue,
18947
- articleSizeXFrom: article.widthBasicShapeFrom,
18948
- articleSizeXTo: article.widthBasicShapeTo,
18949
- articleSizeZ: article.heightBasicShapeNominalValue,
18950
- articleSizeZFrom: article.heightBasicShapeFrom,
18951
- articleSizeZTo: article.heightBasicShapeTo,
18952
- filterType: 'DockNone'
18953
- };
18954
- }
18955
- function initCatalogPlannerArticleView(catalogData, catPlanArticle, catalogProps, plannerPaletteViewInfo) {
18956
- var _catPlanArticle$filte, _catPlanArticle$svgs;
18957
- plannerPaletteViewInfo.catalogPlannerArticles.push({
18958
- articleCodex: catPlanArticle.codex,
18959
- avlFilter: catPlanArticle.avlFilter,
18960
- avrFilter: catPlanArticle.avrFilter,
18961
- catalogCodex: catPlanArticle.catalogCodex,
18962
- codex: catPlanArticle.codex,
18963
- filterType: (_catPlanArticle$filte = catPlanArticle.filterType) !== null && _catPlanArticle$filte !== void 0 ? _catPlanArticle$filte : 'DockNone',
18964
- groupName: '',
18965
- hasAVC: !!catPlanArticle.topAVC,
18966
- hasAVN: !!catPlanArticle.topAVN,
18967
- hasAVO: !!catPlanArticle.topAVO,
18968
- hasAVL: !!catPlanArticle.topHasAVL,
18969
- hasAVR: !!catPlanArticle.topHasAVR,
18970
- id: catPlanArticle.id,
18971
- hasAVS: !!catPlanArticle.topAVS,
18972
- hasAVU: !!catPlanArticle.topAVU,
18973
- imgSrc: catPlanArticle.getImage(),
18974
- is3DModell: false,
18975
- layer: catPlanArticle.topLayer,
18976
- price: catPlanArticle.basePrice,
18977
- svgSrc: (_catPlanArticle$svgs = catPlanArticle.svgs) === null || _catPlanArticle$svgs === void 0 || (_catPlanArticle$svgs = _catPlanArticle$svgs[0]) === null || _catPlanArticle$svgs === void 0 ? void 0 : _catPlanArticle$svgs.url,
18978
- title: catPlanArticle.name,
18979
- typeNr: catPlanArticle.typeNr
18980
- });
18981
- }
18982
-
18983
18775
  function ownKeys$k(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18984
18776
  function _objectSpread$k(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$k(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18985
- var LOG$i = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
18777
+ var LOG$j = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
18986
18778
  function loadMoreFromIDMArticle(_x, _x2) {
18987
18779
  return _loadMoreFromIDMArticle.apply(this, arguments);
18988
18780
  }
@@ -19036,7 +18828,7 @@ function _loadMoreFromIDMArticle() {
19036
18828
  decisions = _yield$Promise$all2[2];
19037
18829
  if (decisions) {
19038
18830
  for (_i2 = 0; _i2 < decisions.length; _i2++) {
19039
- set.CatalogData.loadedDecisions.push(initializeDecision(decisions[_i2], set.CatalogData));
18831
+ set.CatalogData.loadedDecisions.push(initializeDecision(decisions[_i2], set.CatalogData.idmOptionGroups));
19040
18832
  }
19041
18833
  }
19042
18834
  if (!(toLoadDecisionIds.length !== 0 && toLoadDecisionIds.length != (decisions === null || decisions === void 0 ? void 0 : decisions.length))) {
@@ -19047,7 +18839,7 @@ function _loadMoreFromIDMArticle() {
19047
18839
  case 23:
19048
18840
  if (priceFeatureGroups) {
19049
18841
  for (_i3 = 0; _i3 < priceFeatureGroups.length; _i3++) {
19050
- set.CatalogData.loadedPriceFeaturegroups.push(initializePriceFeatureGroups(priceFeatureGroups[_i3], set.CatalogData));
18842
+ set.CatalogData.loadedPriceFeaturegroups.push(initializePriceFeatureGroups(priceFeatureGroups[_i3], set.CatalogData.idmOptionGroups));
19051
18843
  }
19052
18844
  }
19053
18845
  catalogArticleData.articleIDMDecisions = sortDecisions(set.CatalogData.getDecisionsByNo(neededDecisionsIdWithoutPartlistdecisions));
@@ -19167,11 +18959,11 @@ function _loadMoreFromIDMArticle() {
19167
18959
  }));
19168
18960
  return _loadMoreFromIDMArticle.apply(this, arguments);
19169
18961
  }
19170
- var initializeDecision = function initializeDecision(decision, catalogData) {
18962
+ var initializeDecision = function initializeDecision(decision, idmOptionGroups) {
19171
18963
  var _decision$optionCombi;
19172
18964
  var optionCombinations = (_decision$optionCombi = decision.optionCombinations) === null || _decision$optionCombi === void 0 ? void 0 : _decision$optionCombi.map(function (c) {
19173
18965
  return _objectSpread$k(_objectSpread$k({}, c), {}, {
19174
- parsedOptionSetRefs: parseOptionSetRef(c.optionsSetRefs, catalogData)
18966
+ parsedOptionSetRefs: parseOptionSetRef(c.optionsSetRefs, idmOptionGroups)
19175
18967
  });
19176
18968
  });
19177
18969
  return _objectSpread$k(_objectSpread$k({}, decision), {}, {
@@ -19180,11 +18972,11 @@ var initializeDecision = function initializeDecision(decision, catalogData) {
19180
18972
  })
19181
18973
  });
19182
18974
  };
19183
- var initializePriceFeatureGroups = function initializePriceFeatureGroups(priceFeatureGroup, catalogData) {
18975
+ var initializePriceFeatureGroups = function initializePriceFeatureGroups(priceFeatureGroup, idmOptionGroups) {
19184
18976
  var _priceFeatureGroup$fi;
19185
18977
  var finishes = (_priceFeatureGroup$fi = priceFeatureGroup.finishes) === null || _priceFeatureGroup$fi === void 0 ? void 0 : _priceFeatureGroup$fi.map(function (c) {
19186
18978
  return _objectSpread$k(_objectSpread$k({}, c), {}, {
19187
- parsedOptionSetRefs: parseOptionSetRef(c.optionsSetRefs, catalogData)
18979
+ parsedOptionSetRefs: parseOptionSetRef(c.optionsSetRefs, idmOptionGroups)
19188
18980
  });
19189
18981
  });
19190
18982
  return _objectSpread$k(_objectSpread$k({}, priceFeatureGroup), {}, {
@@ -19196,7 +18988,7 @@ var initializePriceFeatureGroups = function initializePriceFeatureGroups(priceFe
19196
18988
  // some expamles: nin#120042_BKDD751620;120042_BKDD751820;120042_BKD…42_BKDD761620;120042_BKDD761820;120042_BKDD762020
19197
18989
  // MADRDET200SL;MADRDETF10;MADRDETF10PR;MADRDETF17;MADRDETF17SL;MADRDETF18;MADRDETF18SL;MADRDETF200;MADRDETF20PR;MAERSOTF10;MAERSOTFPL10;MALUEDTF10
19198
18990
 
19199
- var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, catalogData) {
18991
+ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, idmOptionGroups) {
19200
18992
  var parseOptionSetRefs = {};
19201
18993
  for (var featureNo in optionsSetRefs) {
19202
18994
  var condition = optionsSetRefs[featureNo];
@@ -19216,14 +19008,13 @@ var parseOptionSetRef = function parseOptionSetRef(optionsSetRefs, catalogData)
19216
19008
  target = _op$split2[0];
19217
19009
  operator = _op$split2[1];
19218
19010
  if (target == 'OPTION_GROUP_REF_OP' && operator == 'in') {
19219
- var _catalogData$idmOptio;
19220
- var group = (_catalogData$idmOptio = catalogData.idmOptionGroups) === null || _catalogData$idmOptio === void 0 ? void 0 : _catalogData$idmOptio[value];
19011
+ var group = idmOptionGroups === null || idmOptionGroups === void 0 ? void 0 : idmOptionGroups[value];
19221
19012
  if (!group) {
19222
19013
  parseOptionSetRefs[featureNo] = {
19223
19014
  op: 'eq',
19224
19015
  value: []
19225
19016
  };
19226
- LOG$i.error(new Error('OPTION_GROUP_REF_OP: ' + value + ' is not defined'));
19017
+ LOG$j.error(new Error('OPTION_GROUP_REF_OP: ' + value + ' is not defined'));
19227
19018
  } else parseOptionSetRefs[featureNo] = {
19228
19019
  op: 'eq',
19229
19020
  value: group
@@ -19299,7 +19090,11 @@ function getCatalogFeatureType(feature, catalogArticleData, set) {
19299
19090
  };
19300
19091
  }
19301
19092
  function getArticleFeatureType(feature, catalogArticleData, catOPT, set) {
19093
+ var _set$CatalogData$tabG;
19302
19094
  var featureClass = set.CatalogData.getFeatureClass(catalogArticleData.featureClassRefNo);
19095
+ var tabgroup = (_set$CatalogData$tabG = set.CatalogData.tabGroups) === null || _set$CatalogData$tabG === void 0 ? void 0 : _set$CatalogData$tabG.find(function (t) {
19096
+ return t.featureNos.includes(feature.featureNo);
19097
+ });
19303
19098
  return {
19304
19099
  codex: feature.featureNo,
19305
19100
  catalogOPT: catOPT,
@@ -19309,8 +19104,8 @@ function getArticleFeatureType(feature, catalogArticleData, catOPT, set) {
19309
19104
  hasOPG: false,
19310
19105
  hasImages: false,
19311
19106
  invisible: !!(featureClass !== null && featureClass !== void 0 && featureClass.featureRefs[feature.featureNo]),
19312
- tabGroup: undefined,
19313
- tabGroup_locales: undefined
19107
+ tabGroup: tabgroup !== null && tabgroup !== void 0 && tabgroup.name ? DivaUtils.getLocals(tabgroup.name, set.api.getLanguage()) : undefined,
19108
+ tabGroup_locales: tabgroup === null || tabgroup === void 0 ? void 0 : tabgroup.name
19314
19109
  };
19315
19110
  }
19316
19111
 
@@ -19417,6 +19212,219 @@ function rgbToHex(r, g, b) {
19417
19212
  return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b);
19418
19213
  }
19419
19214
 
19215
+ var LOG$i = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
19216
+ function initIDMCatalogData(serie, orderSet, api) {
19217
+ var _serie$catalogId, _serie$decisions, _serie$decisions2;
19218
+ var catalog = serie.catalogData;
19219
+ var catalogData = {
19220
+ accountGuid: (_serie$catalogId = serie.catalogId) !== null && _serie$catalogId !== void 0 ? _serie$catalogId : orderSet.AccountGUID,
19221
+ accountName: '',
19222
+ accountLogo: '',
19223
+ collectionGuid: serie.catalogId,
19224
+ catalogGuid: serie.catalogId,
19225
+ catalogCodex: serie.serieNo.toString(),
19226
+ catalogName: DivaUtils.getLocals(serie.seriesName, api.getLanguageLowercase()),
19227
+ // name des Kataloges
19228
+ origCatalogName: DivaUtils.getLocals(serie.seriesName, api.getLanguageLowercase()),
19229
+ name_locales: serie.seriesName,
19230
+ longDescription: DivaUtils.getLocals(serie.seriesFullText, api.getLanguageLowercase()),
19231
+ longDescription_locales: serie.seriesFullText,
19232
+ loadedFeatureClasses: [],
19233
+ loadedFeatures: [],
19234
+ loadedOptions: [],
19235
+ globalDecisions: _toConsumableArray(((_serie$decisions = serie.decisions) !== null && _serie$decisions !== void 0 ? _serie$decisions : []).map(function (d) {
19236
+ return initializeDecision(d, catalog.optionGroups);
19237
+ })),
19238
+ loadedDecisions: _toConsumableArray(((_serie$decisions2 = serie.decisions) !== null && _serie$decisions2 !== void 0 ? _serie$decisions2 : []).map(function (d) {
19239
+ return initializeDecision(d, catalog.optionGroups);
19240
+ })),
19241
+ //TODO zu klären mit Philipp
19242
+
19243
+ //supplierGuid: '', // HerstellerCodex des Katalogs
19244
+ //brandName: '',
19245
+ //retailArticleNr: json.RetailArticleNr,
19246
+ //additionalCatalogPrice: json.AdditionalCatalogPrice,
19247
+ //additionalCatalogPriceText: json.AdditionalCatalogPriceText,
19248
+ //mainCategory: json.MainCategory ?? json.Name,
19249
+ //digits: json.Digits,
19250
+ supplierILN: catalog.glnNo,
19251
+ // SupplierILN des Herstellers des Katalogs
19252
+ rounding: catalog.roundingType,
19253
+ optionGroups: catalog.optionGroups,
19254
+ formulas: catalog.formulas,
19255
+ tabGroups: catalog.tabGroups,
19256
+ loadedPricefeaturegroups: []
19257
+ };
19258
+ return catalogData;
19259
+ }
19260
+ function initIDMArticles(jsonItems, catalogData) {
19261
+ if (jsonItems !== null && jsonItems !== void 0 && jsonItems.length) {
19262
+ for (var i = 0; i < jsonItems.length; i++) {
19263
+ var catalogArticle = new CatalogArticleData(getCatalogArticle(jsonItems[i], catalogData));
19264
+ catalogData.allCatalogArticles[catalogArticle.articleCodex] = catalogArticle;
19265
+ }
19266
+ } else {
19267
+ DivaUtils.endSpanOfApm('Catalog initialize');
19268
+ LOG$i.error(new DivaError('Catalog ' + catalogData.catalogName + ' not listed', {
19269
+ code: 'WC_0002'
19270
+ }));
19271
+ throw new Error('Articles of Catalog: ' + catalogData.catalogCodex + ' are empty');
19272
+ }
19273
+ for (var _i = 0; _i < jsonItems.length; _i++) {
19274
+ var myCodex = jsonItems[_i].typeNo;
19275
+ if (catalogData.allCatalogArticles[myCodex].isHidden || catalogData.allCatalogArticles[myCodex].isPartlistExclusive) continue;
19276
+ // if (!catalogData.allCatalogArticles[myCodex].svgs?.length) continue;
19277
+
19278
+ var catalogPlannerArticle = new CatalogPlannerArticleData(getCatalogPlanner(jsonItems[_i], catalogData.allCatalogArticles[myCodex]));
19279
+ catalogData.allCatalogArticles[myCodex].initCatalogPlannerArticle(catalogPlannerArticle);
19280
+ catalogData.allCatalogPlannerArticles[myCodex] = catalogPlannerArticle;
19281
+ initCatalogPlannerArticleView(catalogData, catalogPlannerArticle, catalogData.catalogProps, catalogData.plannerPaletteViewInfo);
19282
+ }
19283
+ }
19284
+ function getCatalogArticle(article, catalogData) {
19285
+ var _catalogData$catalogM, _articleMask$name, _articleMask$properti, _article$weightNetto, _article$detailInfos, _article$detailInfos2;
19286
+ 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];
19287
+ return {
19288
+ areOptionsLoaded: false,
19289
+ arePricesLoaded: false,
19290
+ articleCodex: article.typeNo,
19291
+ articleOptions: {},
19292
+ partListExclusive: article.partListExclusive,
19293
+ guid: article.typeKey,
19294
+ articleEAN: article.eanNumber,
19295
+ typeNr: article.edpNumber,
19296
+ decisions: [],
19297
+ idmDecisions: [],
19298
+ decisionsRefs: article.decisionRefs,
19299
+ catalogCodex: catalogData.catalogCodex,
19300
+ catalogName: catalogData.catalogName,
19301
+ hasArticleRelations: false,
19302
+ hasPartlistArticle: !!article.partListRef,
19303
+ hasType1Dependencies: false,
19304
+ name: DivaUtils.getLocals((_articleMask$name = articleMask === null || articleMask === void 0 ? void 0 : articleMask.name) !== null && _articleMask$name !== void 0 ? _articleMask$name : article.shortText, catalogData.api.getLanguageLowercase()),
19305
+ longDescription: DivaUtils.getLocals(article.fullText, catalogData.api.getLanguageLowercase()),
19306
+ longDescription_locales: article.fullText,
19307
+ isHidden: !!(articleMask !== null && articleMask !== void 0 && articleMask.hidden),
19308
+ origName: DivaUtils.getLocals(article.shortText, catalogData.api.getLanguageLowercase()),
19309
+ properties: [].concat(_toConsumableArray(convertProperties(article.properties, catalogData.api.getLanguageLowercase())), _toConsumableArray((_articleMask$properti = articleMask === null || articleMask === void 0 ? void 0 : articleMask.properties) !== null && _articleMask$properti !== void 0 ? _articleMask$properti : [])),
19310
+ articleType: article.featureClassRefNo === undefined ? 'FLAT' : 'OPTIONTREE',
19311
+ price: 0,
19312
+ featureClassRefNo: article.featureClassRefNo,
19313
+ useEkPrices: catalogData.api.useEkPrices,
19314
+ depth: article.depthBasicShapeNominalValue,
19315
+ depthFrom: article.depthBasicShapeFrom,
19316
+ depthTo: article.depthBasicShapeTo,
19317
+ width: article.widthBasicShapeNominalValue,
19318
+ widthFrom: article.widthBasicShapeFrom,
19319
+ widthTo: article.widthBasicShapeTo,
19320
+ height: article.heightBasicShapeNominalValue,
19321
+ heightFrom: article.heightBasicShapeFrom,
19322
+ heightTo: article.heightBasicShapeTo,
19323
+ volume: article.volume,
19324
+ weight: (_article$weightNetto = article.weightNetto) !== null && _article$weightNetto !== void 0 ? _article$weightNetto : article.weightBrutto,
19325
+ image: (_article$detailInfos = article.detailInfos) === null || _article$detailInfos === void 0 || (_article$detailInfos = _article$detailInfos.find(function (d) {
19326
+ return d.functionType == 'ART';
19327
+ })) === null || _article$detailInfos === void 0 ? void 0 : _article$detailInfos.url,
19328
+ idmPrices: article.prices,
19329
+ idmPartlist: article.partlist,
19330
+ articleRelations: [],
19331
+ svgs: (_article$detailInfos2 = article.detailInfos) === null || _article$detailInfos2 === void 0 ? void 0 : _article$detailInfos2.filter(function (d) {
19332
+ return d.classification == 'SVG';
19333
+ }).map(function (d) {
19334
+ return {
19335
+ url: d.url,
19336
+ detailInfoNo: d.detailInfoNo
19337
+ };
19338
+ })
19339
+ };
19340
+ }
19341
+
19342
+ /*
19343
+ groupName: articleMask?.groupname?.[catalogData.api.getLanguage()] ?? jsonArticle.GroupName,
19344
+ mainCategory: jsonArticle.MainCategory && jsonArticle.MainCategory != '' ? jsonArticle.MainCategory : undefined,
19345
+ price: jsonArticle.VKP1 && isNaN(jsonArticle.VKP1) ? Number(jsonArticle.VKP1.replace(',', '.')) : jsonArticle.VKP1,
19346
+ priceGroup: jsonArticle.PriceGroup,
19347
+ modelName3D: jsonArticle.ModelName3D && jsonArticle.ModelName3D != '' ? jsonArticle.ModelName3D : undefined,
19348
+ retailArticleNr: jsonArticle.RetailArticleNr && jsonArticle.RetailArticleNr != '' ? jsonArticle.RetailArticleNr : undefined,
19349
+ retailPrefix: jsonArticle.RetailPrefix && jsonArticle.RetailPrefix != '' ? jsonArticle.RetailPrefix : undefined,
19350
+ retailTypeNr: jsonArticle.RetailTypeNr && jsonArticle.RetailTypeNr != '' ? jsonArticle.RetailTypeNr : undefined,
19351
+ retailMainCategoryNr: jsonArticle.RetailMainCategoryNr && jsonArticle.RetailMainCategoryNr != '' ? jsonArticle.RetailMainCategoryNr : undefined,
19352
+ retailSubCategoryNr: jsonArticle.RetailSubCategoryNr && jsonArticle.RetailSubCategoryNr != '' ? jsonArticle.RetailSubCategoryNr : undefined,
19353
+ tabGroup: jsonArticle.TabGroup,
19354
+ tabGroupOption: jsonArticle.TabGroupOption,
19355
+ articlePrices: { Articles: {} },
19356
+ */
19357
+
19358
+ function convertProperties() {
19359
+ var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
19360
+ var lang = arguments.length > 1 ? arguments[1] : undefined;
19361
+ return properties.map(function (p) {
19362
+ return {
19363
+ Value: DivaUtils.getLocals(p.value, lang),
19364
+ Codex: p.key,
19365
+ Name: DivaUtils.getLocals(p.name, lang)
19366
+ };
19367
+ });
19368
+ }
19369
+ function getCatalogPlanner(article, catalogArticle) {
19370
+ var _catalogArticle$svgs;
19371
+ return {
19372
+ articleCodex: article.typeNo,
19373
+ avlFilter: [],
19374
+ avrFilter: [],
19375
+ basePrice: 0,
19376
+ catalogArticle: catalogArticle,
19377
+ id: Number(article.typeKey),
19378
+ isArticleRelation: false,
19379
+ topAVC: 0,
19380
+ topAVN: 0,
19381
+ topAVO: 0,
19382
+ topAVS: 0,
19383
+ topAVU: 0,
19384
+ topHasAVL: false,
19385
+ topHasAVR: false,
19386
+ 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,
19387
+ topLayer: 30,
19388
+ articleSizeY: article.depthBasicShapeNominalValue,
19389
+ articleSizeYTo: article.depthBasicShapeTo,
19390
+ articleSizeYFrom: article.depthBasicShapeFrom,
19391
+ articleSizeX: article.widthBasicShapeNominalValue,
19392
+ articleSizeXFrom: article.widthBasicShapeFrom,
19393
+ articleSizeXTo: article.widthBasicShapeTo,
19394
+ articleSizeZ: article.heightBasicShapeNominalValue,
19395
+ articleSizeZFrom: article.heightBasicShapeFrom,
19396
+ articleSizeZTo: article.heightBasicShapeTo,
19397
+ filterType: 'DockNone'
19398
+ };
19399
+ }
19400
+ function initCatalogPlannerArticleView(catalogData, catPlanArticle, catalogProps, plannerPaletteViewInfo) {
19401
+ var _catPlanArticle$filte, _catPlanArticle$svgs;
19402
+ plannerPaletteViewInfo.catalogPlannerArticles.push({
19403
+ articleCodex: catPlanArticle.codex,
19404
+ avlFilter: catPlanArticle.avlFilter,
19405
+ avrFilter: catPlanArticle.avrFilter,
19406
+ catalogCodex: catPlanArticle.catalogCodex,
19407
+ codex: catPlanArticle.codex,
19408
+ filterType: (_catPlanArticle$filte = catPlanArticle.filterType) !== null && _catPlanArticle$filte !== void 0 ? _catPlanArticle$filte : 'DockNone',
19409
+ groupName: '',
19410
+ hasAVC: !!catPlanArticle.topAVC,
19411
+ hasAVN: !!catPlanArticle.topAVN,
19412
+ hasAVO: !!catPlanArticle.topAVO,
19413
+ hasAVL: !!catPlanArticle.topHasAVL,
19414
+ hasAVR: !!catPlanArticle.topHasAVR,
19415
+ id: catPlanArticle.id,
19416
+ hasAVS: !!catPlanArticle.topAVS,
19417
+ hasAVU: !!catPlanArticle.topAVU,
19418
+ imgSrc: catPlanArticle.getImage(),
19419
+ is3DModell: false,
19420
+ layer: catPlanArticle.topLayer,
19421
+ price: catPlanArticle.basePrice,
19422
+ svgSrc: (_catPlanArticle$svgs = catPlanArticle.svgs) === null || _catPlanArticle$svgs === void 0 || (_catPlanArticle$svgs = _catPlanArticle$svgs[0]) === null || _catPlanArticle$svgs === void 0 ? void 0 : _catPlanArticle$svgs.url,
19423
+ title: catPlanArticle.name,
19424
+ typeNr: catPlanArticle.typeNr
19425
+ });
19426
+ }
19427
+
19420
19428
  function ownKeys$j(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19421
19429
  function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19422
19430
 
@@ -20346,6 +20354,11 @@ var DivaCatalogData = /*#__PURE__*/function () {
20346
20354
  get: function get() {
20347
20355
  return this.catalogData.formulas;
20348
20356
  }
20357
+ }, {
20358
+ key: "tabGroups",
20359
+ get: function get() {
20360
+ return this.catalogData.tabGroups;
20361
+ }
20349
20362
  }, {
20350
20363
  key: "multiselectOptions",
20351
20364
  get: function get() {
@@ -26688,7 +26701,7 @@ var DivaArticle = /*#__PURE__*/function () {
26688
26701
  break;
26689
26702
  }
26690
26703
  _context.next = 4;
26691
- return import('./ShelfPlanner-291ed05b.js');
26704
+ return import('./ShelfPlanner-838ba3f6.js');
26692
26705
  case 4:
26693
26706
  _yield$import = _context.sent;
26694
26707
  ShelfPlanner = _yield$import["default"];
@@ -31252,7 +31265,7 @@ var DivaSet = /*#__PURE__*/function () {
31252
31265
  break;
31253
31266
  }
31254
31267
  _context5.next = 3;
31255
- return import('./DoorPlanner-79246024.js');
31268
+ return import('./DoorPlanner-f69b0c1d.js');
31256
31269
  case 3:
31257
31270
  _yield$import = _context5.sent;
31258
31271
  DoorPlanner = _yield$import["default"];
@@ -38098,7 +38111,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38098
38111
  break;
38099
38112
  case 3:
38100
38113
  _context12.next = 5;
38101
- return import('./PfisterWWSHandler-45ffc8f9.js');
38114
+ return import('./PfisterWWSHandler-2dbbb87b.js');
38102
38115
  case 5:
38103
38116
  _yield$import = _context12.sent;
38104
38117
  PfisterWWSHandler = _yield$import["default"];
@@ -38106,7 +38119,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38106
38119
  return _context12.abrupt("break", 27);
38107
38120
  case 9:
38108
38121
  _context12.next = 11;
38109
- return import('./LiviqueWWSHandler-4d7ceb30.js');
38122
+ return import('./LiviqueWWSHandler-77533fcb.js');
38110
38123
  case 11:
38111
38124
  _yield$import2 = _context12.sent;
38112
38125
  LiviqueWWSHandler = _yield$import2["default"];
@@ -38114,7 +38127,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38114
38127
  return _context12.abrupt("break", 27);
38115
38128
  case 15:
38116
38129
  _context12.next = 17;
38117
- return import('./SeriousBasketHandler-08aaf2b1.js');
38130
+ return import('./SeriousBasketHandler-5346f356.js');
38118
38131
  case 17:
38119
38132
  _yield$import3 = _context12.sent;
38120
38133
  SeriousWWSHandler = _yield$import3["default"];
@@ -38122,7 +38135,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
38122
38135
  return _context12.abrupt("break", 27);
38123
38136
  case 21:
38124
38137
  _context12.next = 23;
38125
- return import('./StandardWWSHandler-eeed0196.js');
38138
+ return import('./StandardWWSHandler-7a18de6c.js');
38126
38139
  case 23:
38127
38140
  _yield$import4 = _context12.sent;
38128
38141
  StandardWWSHandler = _yield$import4["default"];
@@ -39550,7 +39563,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
39550
39563
  while (1) switch (_context3.prev = _context3.next) {
39551
39564
  case 0:
39552
39565
  _context3.next = 2;
39553
- return import('./Host3DSignalR-d23433bc.js');
39566
+ return import('./Host3DSignalR-77ada6d4.js');
39554
39567
  case 2:
39555
39568
  _yield$import = _context3.sent;
39556
39569
  Host3DSignalR = _yield$import["default"];
@@ -41104,7 +41117,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41104
41117
  break;
41105
41118
  case 8:
41106
41119
  _context4.next = 10;
41107
- return import('./DivaStandardPlanner-ec63b1f2.js');
41120
+ return import('./DivaStandardPlanner-0ceb159f.js');
41108
41121
  case 10:
41109
41122
  _yield$import = _context4.sent;
41110
41123
  DivaStandardPlanner = _yield$import["default"];
@@ -41115,7 +41128,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
41115
41128
  return _context4.abrupt("break", 21);
41116
41129
  case 15:
41117
41130
  _context4.next = 17;
41118
- return import('./DivaBoxPlanner-7a9d8168.js');
41131
+ return import('./DivaBoxPlanner-5f402b2f.js');
41119
41132
  case 17:
41120
41133
  _yield$import2 = _context4.sent;
41121
41134
  DivaBoxPlanner = _yield$import2["default"];
@@ -1,4 +1,4 @@
1
- export { h as CatalogPlannerArticleData, C as Cell, e as DivaArticle, g as DivaBasketHandler, f as DivaCatalogData, D as DockingPoint, G as Grid, O as OptionCatalogData, R as Rendering, c as Vector2, V as Vector3, i as Vector4, j as creatRenderOrders, d as default, k as getOrigProductId, l as loadAndRepairBasket } from './index-42ced0e2.js';
1
+ export { h as CatalogPlannerArticleData, C as Cell, e as DivaArticle, g as DivaBasketHandler, f as DivaCatalogData, D as DockingPoint, G as Grid, O as OptionCatalogData, R as Rendering, c as Vector2, V as Vector3, i as Vector4, j as creatRenderOrders, d as default, k as getOrigProductId, l as loadAndRepairBasket } from './index-49c17371.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import '@babel/runtime/helpers/asyncToGenerator';
4
4
  import '@babel/runtime/helpers/classCallCheck';
@@ -6,6 +6,7 @@ import { IDMDecision } from './IDM/Decision';
6
6
  import { FeatureClass } from './IDM/FeatureClass';
7
7
  import { Feature, Option } from './IDM/Feature';
8
8
  import { PriceFeatureGroup } from './IDM/PriceFeatureGroup';
9
+ import { TabGroup } from './IDM/IDMCatalog';
9
10
  export default interface DivaCatalogDataType {
10
11
  accountGuid: string;
11
12
  accountName: string;
@@ -54,6 +55,7 @@ export default interface DivaCatalogDataType {
54
55
  [optionGroupName: string]: string;
55
56
  };
56
57
  loadedPricefeaturegroups: PriceFeatureGroup[];
58
+ tabGroups?: TabGroup[];
57
59
  }
58
60
  export interface DivaCatalogPropertiesType {
59
61
  useEkPrices: boolean;