@crystaldesign/web-planner-logic 26.12.0-beta.4 → 26.12.0-beta.40

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 (158) hide show
  1. package/build/cjs/{DivaBoxPlanner-2c699ee3.js → DivaBoxPlanner-4f962972.js} +13 -10
  2. package/build/cjs/{DivaStandardPlanner-3d6a05bc.js → DivaStandardPlanner-7c6b92f9.js} +13 -9
  3. package/build/cjs/{DoorPlanner-adda9c0d.js → DoorPlanner-7a88099b.js} +2 -2
  4. package/build/cjs/{Host3DSignalR-6914541f.js → Host3DSignalR-3a91a272.js} +2 -2
  5. package/build/cjs/{LiviqueWWSHandler-635cffae.js → LiviqueWWSHandler-243c87c2.js} +2 -2
  6. package/build/cjs/{PfisterWWSHandler-d95419db.js → PfisterWWSHandler-2efc2f2e.js} +2 -2
  7. package/build/cjs/{PlannerHandler2D-b76ba907.js → PlannerHandler2D-ad16ea87.js} +32 -287
  8. package/build/cjs/{SeriousBasketHandler-777904e8.js → SeriousBasketHandler-f14beb6d.js} +141 -79
  9. package/build/cjs/{ShelfPlanner-5ffd15a2.js → ShelfPlanner-f025f6ef.js} +107 -79
  10. package/build/cjs/{StandardWWSHandler-e92acae6.js → StandardWWSHandler-13cc77c7.js} +2 -2
  11. package/build/cjs/{index-d516d2b2.js → index-36ae8486.js} +4543 -2043
  12. package/build/cjs/index.js +9 -1
  13. package/build/esm/{DivaBoxPlanner-6f0727a3.js → DivaBoxPlanner-2b4f3aed.js} +13 -10
  14. package/build/esm/{DivaStandardPlanner-7188da61.js → DivaStandardPlanner-36c3a2ed.js} +13 -9
  15. package/build/esm/{DoorPlanner-74bcd21d.js → DoorPlanner-7764fd5e.js} +2 -2
  16. package/build/esm/{Host3DSignalR-bb6db8e6.js → Host3DSignalR-33fa9ea6.js} +2 -2
  17. package/build/esm/{LiviqueWWSHandler-c4ba143d.js → LiviqueWWSHandler-a2be15d3.js} +2 -2
  18. package/build/esm/{PfisterWWSHandler-41b7b1b7.js → PfisterWWSHandler-ee4c3a92.js} +2 -2
  19. package/build/esm/PlannerHandler2D-af5f817a.js +273 -0
  20. package/build/esm/{SeriousBasketHandler-0bb8ee55.js → SeriousBasketHandler-b28a3ffe.js} +141 -79
  21. package/build/esm/{ShelfPlanner-1406888d.js → ShelfPlanner-10acbfb7.js} +107 -79
  22. package/build/esm/{StandardWWSHandler-a8045129.js → StandardWWSHandler-522c8769.js} +2 -2
  23. package/build/esm/{index-16a1a540.js → index-b31e39ae.js} +4535 -2044
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/index.d.ts +10 -0
  26. package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts +4 -0
  28. package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts +1 -0
  30. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts +3 -0
  32. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/interface/ConfiguratorStructureDataType.d.ts +1 -0
  34. package/build/types/web-planner-logic/src/interface/ConfiguratorStructureDataType.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/interface/CoreTypes/index.d.ts +1 -0
  36. package/build/types/web-planner-logic/src/interface/CoreTypes/index.d.ts.map +1 -1
  37. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
  38. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts +1 -0
  40. package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +6 -1
  42. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/interface/IDM/PriceFeatureGroup.d.ts +1 -21
  44. package/build/types/web-planner-logic/src/interface/IDM/PriceFeatureGroup.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +6 -5
  46. package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
  47. package/build/types/web-planner-logic/src/interface/Planner/DockingPointDataType.d.ts +10 -0
  48. package/build/types/web-planner-logic/src/interface/Planner/DockingPointDataType.d.ts.map +1 -1
  49. package/build/types/web-planner-logic/src/interface/Planner/PlannerDataType.d.ts +2 -0
  50. package/build/types/web-planner-logic/src/interface/Planner/PlannerDataType.d.ts.map +1 -1
  51. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts +8 -2
  52. package/build/types/web-planner-logic/src/interface/ShelfPlanner/plannerData.d.ts.map +1 -1
  53. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts +6 -0
  54. package/build/types/web-planner-logic/src/logic/Article/ArticleOptionState.d.ts.map +1 -1
  55. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +47 -2
  56. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  57. package/build/types/web-planner-logic/src/logic/Article/DivaArticleHandler.d.ts +12 -1
  58. package/build/types/web-planner-logic/src/logic/Article/DivaArticleHandler.d.ts.map +1 -1
  59. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts +2 -0
  60. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts.map +1 -1
  61. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  62. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +24 -9
  63. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  64. package/build/types/web-planner-logic/src/logic/Article/mandatoryAccessories.d.ts +4 -0
  65. package/build/types/web-planner-logic/src/logic/Article/mandatoryAccessories.d.ts.map +1 -0
  66. package/build/types/web-planner-logic/src/logic/Article/measureUnit.d.ts +5 -0
  67. package/build/types/web-planner-logic/src/logic/Article/measureUnit.d.ts.map +1 -0
  68. package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts +2 -2
  69. package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts.map +1 -1
  70. package/build/types/web-planner-logic/src/logic/Basket/SeriousBasketHandler.d.ts +12 -1
  71. package/build/types/web-planner-logic/src/logic/Basket/SeriousBasketHandler.d.ts.map +1 -1
  72. package/build/types/web-planner-logic/src/logic/Basket/SeriousBasketHandler.test.d.ts +2 -0
  73. package/build/types/web-planner-logic/src/logic/Basket/SeriousBasketHandler.test.d.ts.map +1 -0
  74. package/build/types/web-planner-logic/src/logic/Basket/seriousSetName.d.ts +8 -0
  75. package/build/types/web-planner-logic/src/logic/Basket/seriousSetName.d.ts.map +1 -0
  76. package/build/types/web-planner-logic/src/logic/Basket/seriousSetName.test.d.ts +2 -0
  77. package/build/types/web-planner-logic/src/logic/Basket/seriousSetName.test.d.ts.map +1 -0
  78. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTree.d.ts +13 -0
  79. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTree.d.ts.map +1 -1
  80. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTreeHandler.d.ts +40 -1
  81. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTreeHandler.d.ts.map +1 -1
  82. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts +6 -3
  83. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
  84. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts +7 -1
  85. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts.map +1 -1
  86. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.test.d.ts +2 -0
  87. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.test.d.ts.map +1 -0
  88. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +7 -0
  89. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
  90. package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts +2 -0
  91. package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts.map +1 -1
  92. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +23 -7
  93. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  94. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  95. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
  96. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/PlannerHandler2D.d.ts.map +1 -1
  97. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts +13 -2
  98. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts.map +1 -1
  99. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +2 -1
  100. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
  101. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +2 -1
  102. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  103. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  104. package/build/types/web-planner-logic/src/model/Articles/Article/DivaCatalogArticle.d.ts.map +1 -1
  105. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts +25 -3
  106. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  107. package/build/types/web-planner-logic/src/model/Articles/CatalogPlannerArticleData.d.ts +6 -0
  108. package/build/types/web-planner-logic/src/model/Articles/CatalogPlannerArticleData.d.ts.map +1 -1
  109. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +1 -0
  110. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  111. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  112. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
  113. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts +5 -4
  114. package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts.map +1 -1
  115. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts +2 -1
  116. package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts.map +1 -1
  117. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts +5 -4
  118. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts.map +1 -1
  119. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts +4 -1
  120. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
  121. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts +5 -2
  122. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts.map +1 -1
  123. package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts +31 -0
  124. package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts.map +1 -0
  125. package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts +39 -0
  126. package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts.map +1 -0
  127. package/build/types/web-planner-logic/src/test/accessorySvgSwapDocking.test.d.ts +2 -0
  128. package/build/types/web-planner-logic/src/test/accessorySvgSwapDocking.test.d.ts.map +1 -0
  129. package/build/types/web-planner-logic/src/test/accessoryWithoutDocking.test.d.ts +2 -0
  130. package/build/types/web-planner-logic/src/test/accessoryWithoutDocking.test.d.ts.map +1 -0
  131. package/build/types/web-planner-logic/src/test/cloneArticle.test.d.ts +2 -0
  132. package/build/types/web-planner-logic/src/test/cloneArticle.test.d.ts.map +1 -0
  133. package/build/types/web-planner-logic/src/test/configTreeStepArticle.test.d.ts +2 -0
  134. package/build/types/web-planner-logic/src/test/configTreeStepArticle.test.d.ts.map +1 -0
  135. package/build/types/web-planner-logic/src/test/countDockingPoints.test.d.ts +2 -0
  136. package/build/types/web-planner-logic/src/test/countDockingPoints.test.d.ts.map +1 -0
  137. package/build/types/web-planner-logic/src/test/eanFormula.test.d.ts +2 -0
  138. package/build/types/web-planner-logic/src/test/eanFormula.test.d.ts.map +1 -0
  139. package/build/types/web-planner-logic/src/test/fallbackRowWarning.test.d.ts +2 -0
  140. package/build/types/web-planner-logic/src/test/fallbackRowWarning.test.d.ts.map +1 -0
  141. package/build/types/web-planner-logic/src/test/idmMeasureUnit.test.d.ts +2 -0
  142. package/build/types/web-planner-logic/src/test/idmMeasureUnit.test.d.ts.map +1 -0
  143. package/build/types/web-planner-logic/src/test/idmOpgParentNames.test.d.ts +2 -0
  144. package/build/types/web-planner-logic/src/test/idmOpgParentNames.test.d.ts.map +1 -0
  145. package/build/types/web-planner-logic/src/test/idmSerieStaleId.test.d.ts +2 -0
  146. package/build/types/web-planner-logic/src/test/idmSerieStaleId.test.d.ts.map +1 -0
  147. package/build/types/web-planner-logic/src/test/mergeOptionGroupConnectedSteps.test.d.ts +2 -0
  148. package/build/types/web-planner-logic/src/test/mergeOptionGroupConnectedSteps.test.d.ts.map +1 -0
  149. package/build/types/web-planner-logic/src/test/partlistChildInit.test.d.ts +2 -0
  150. package/build/types/web-planner-logic/src/test/partlistChildInit.test.d.ts.map +1 -0
  151. package/build/types/web-planner-logic/src/test/propertyEncodingsKnowhow.test.d.ts +2 -0
  152. package/build/types/web-planner-logic/src/test/propertyEncodingsKnowhow.test.d.ts.map +1 -0
  153. package/build/types/web-planner-logic/src/test/propertyValueCodec.test.d.ts +2 -0
  154. package/build/types/web-planner-logic/src/test/propertyValueCodec.test.d.ts.map +1 -0
  155. package/build/types/web-planner-logic/src/test/staticVisibleOptionValues.test.d.ts +2 -0
  156. package/build/types/web-planner-logic/src/test/staticVisibleOptionValues.test.d.ts.map +1 -0
  157. package/package.json +3 -3
  158. package/build/esm/PlannerHandler2D-829ffceb.js +0 -526
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-d516d2b2.js');
5
+ var index = require('./index-36ae8486.js');
6
6
  var planner2dCore = require('@crystaldesign/planner-2d-core');
7
7
  require('@babel/runtime/helpers/slicedToArray');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -37,6 +37,7 @@ exports.DivaSetHandler = index.setHandlerInstance;
37
37
  exports.Grid = index.Grid;
38
38
  exports.JsonDataCache = index.JsonDataCache;
39
39
  exports.OptionCatalogData = index.OptionCatalogData;
40
+ exports.PROPERTY_SCHEMAS = index.PROPERTY_SCHEMAS;
40
41
  exports.PlannerElementData = index.PlannerElementData;
41
42
  exports.Rendering = index.Rendering;
42
43
  exports.Vector2 = index.Vector2;
@@ -49,10 +50,17 @@ exports.bootNow = index.bootNow;
49
50
  exports.bootRequestName = index.bootRequestName;
50
51
  exports.collectStructureStepKeys = index.collectStructureStepKeys;
51
52
  exports.creatRenderOrders = index.creatRenderOrders;
53
+ exports.decodePropertyValue = index.decodePropertyValue;
52
54
  exports["default"] = index.DivaWebPlanner;
55
+ exports.editorKindOf = index.editorKindOf;
56
+ exports.encodePropertyValue = index.encodePropertyValue;
53
57
  exports.getOrigProductId = index.getOrigProductId;
58
+ exports.getSeriousSetNamePlaceholder = index.getSeriousSetNamePlaceholder;
54
59
  exports.headlessSession = index.headlessSession;
55
60
  exports.loadAndRepairBasket = index.loadAndRepairBasket;
61
+ exports.propertyEncodingOf = index.propertyEncodingOf;
62
+ exports.propertyValueProblem = index.propertyValueProblem;
63
+ exports.rawStringOf = index.rawStringOf;
56
64
  exports.runHeadlessArtifactPass = index.runHeadlessArtifactPass;
57
65
  exports.runHeadlessArtifactPassBatch = index.runHeadlessArtifactPassBatch;
58
66
  Object.defineProperty(exports, 'DockingPoint', {
@@ -3,13 +3,14 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-16a1a540.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-b31e39ae.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
9
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-829ffceb.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-af5f817a.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
+ import '@crystaldesign/planner-2d-core';
13
14
  import '@crystaldesign/basket-model';
14
15
  import '@babel/runtime/helpers/typeof';
15
16
  import 'fast-xml-parser';
@@ -19,7 +20,6 @@ import '@babel/runtime/helpers/inherits';
19
20
  import '@babel/runtime/helpers/wrapNativeSuper';
20
21
  import '@crystaldesign/basket-handler';
21
22
  import 'socket.io-client';
22
- import '@crystaldesign/planner-2d-core';
23
23
  import '@babel/runtime/helpers/get';
24
24
 
25
25
  var LOG$3 = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
@@ -1965,25 +1965,28 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1965
1965
  if (!optionHandler.has(elementId)) optionHandler.set(elementId, new Map());
1966
1966
  (_optionHandler$get2 = optionHandler.get(elementId)) === null || _optionHandler$get2 === void 0 || _optionHandler$get2.set(option, curOptVisibilityInfo.doShow);
1967
1967
  }
1968
- this.constructionDebugStack.push({
1969
- phase: this.debugPhase,
1970
- elementId: elementId,
1971
- action: 'show',
1972
- option: option,
1973
- value: curOptVisibilityInfo.doShow
1974
- });
1975
1968
  //initCfgValues mit allen gesammelten Optionen pro Element aufrufen
1976
1969
  //Hier setze ich den Optionswert. Er darf nicht mehr geändert werden von Außen. Hier müsste in der Palette der auch gesetzt werden.
1977
1970
  //Es kann sein, dass es im Konfigurationsbaum eine andere Option gibt (Glasdecke), die abhängig ist von einer Option, die nur beim Kopieren eines Elementes gesetzt wird (OPTOBEN).
1978
1971
  //Wenn ich den Konfigurationsbaum NICHT update, dann kommt die Option Glasdecke als Konfiguratorschritt heraus.
1979
1972
  //Wir brauchen eine Funktion,die NUR die verplanten artikel mit den Optionswerten auswerted.
1973
+ var unhidden = false;
1980
1974
  if (this.hideOptionsForConstruction.has(elementId)) {
1981
1975
  var index = this.hideOptionsForConstruction.get(elementId).indexOf(option); //Lösche diese Option aus dem hideForConstruction Array, da sie ja wieder angezeigt wird
1982
1976
  if (index >= 0) {
1983
1977
  var _this$hideOptionsForC;
1984
1978
  (_this$hideOptionsForC = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC === void 0 || _this$hideOptionsForC.splice(index, 1);
1979
+ unhidden = true;
1985
1980
  }
1986
1981
  }
1982
+ // A rule without a doShow value on an already-visible option changes nothing — no trail entry may claim it did.
1983
+ if (curOptVisibilityInfo.doShow != undefined || unhidden) this.constructionDebugStack.push({
1984
+ phase: this.debugPhase,
1985
+ elementId: elementId,
1986
+ action: 'show',
1987
+ option: option,
1988
+ value: curOptVisibilityInfo.doShow
1989
+ });
1987
1990
  }
1988
1991
  /**
1989
1992
  * This function sets a specific Option to be hidden.
@@ -4,10 +4,10 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
4
4
  import _createClass from '@babel/runtime/helpers/createClass';
5
5
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
6
6
  import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import { V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-16a1a540.js';
7
+ import { V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-b31e39ae.js';
8
8
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
9
9
  import { computeDockedTransform } from '@crystaldesign/planner-2d-core';
10
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-829ffceb.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-af5f817a.js';
11
11
  import '@babel/runtime/helpers/slicedToArray';
12
12
  import '@babel/runtime/helpers/objectWithoutProperties';
13
13
  import 'axios';
@@ -878,21 +878,25 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
878
878
  return a.WorldPosCorner.x < b.WorldPosCorner.x ? 1 : 0;
879
879
  });
880
880
  var groupElements = [];
881
+ var removeFromElementsToAdd = function removeFromElementsToAdd(elementId) {
882
+ var index = elementsToAdd.indexOf(elementId);
883
+ if (index >= 0) elementsToAdd.splice(index, 1);
884
+ };
881
885
 
882
886
  //Create groups for all chains
883
887
  for (var i = 0; i < startChainElements.length; i++) {
884
888
  var startChainElement = startChainElements[i];
885
889
  var group = [];
886
- elementsToAdd.splice(elementsToAdd.indexOf(startChainElement.getElementId()), 1);
890
+ removeFromElementsToAdd(startChainElement.getElementId());
887
891
  var groupIsFinished = false;
888
892
  var curElementInGroup = startChainElement;
889
893
  while (!groupIsFinished) {
890
894
  group.push(curElementInGroup.getElementId());
891
- elementsToAdd.splice(elementsToAdd.indexOf(curElementInGroup.getElementId()), 1);
895
+ removeFromElementsToAdd(curElementInGroup.getElementId());
892
896
  var accsOfElement = this.getAccessoiresRecursive(curElementInGroup.getElementId());
893
897
  for (var j = 0; j < accsOfElement.length; j++) {
894
898
  group.push(accsOfElement[j]);
895
- elementsToAdd.splice(elementsToAdd.indexOf(accsOfElement[j]), 1);
899
+ removeFromElementsToAdd(accsOfElement[j]);
896
900
  }
897
901
  var AVRElements = this.getNeighborElements(curElementInGroup.getElementId(), 'AVR');
898
902
  if (!AVRElements || AVRElements.length == 0) groupIsFinished = true;else curElementInGroup = this.plannerElements.get(AVRElements[0]);
@@ -1014,7 +1018,7 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
1014
1018
  key: "extendPlanner",
1015
1019
  value: (function () {
1016
1020
  var _extendPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(setPlanData, globalBoundingBox) {
1017
- var planData, jsonElements, elementsSortedbyPosNr, accElements, oldElementidMapping, i, _saveElementArticleCo, _jsonElement$Accessoi, jsonElement, catalogArticle, plannerElement, data, elementsForDockingExtend, row, curElement, DPsInfo, j, dpInfo, sourceDP, targetElement, targetDP;
1021
+ var planData, jsonElements, elementsSortedbyPosNr, accElements, oldElementidMapping, i, _this$set$getArticleB, _this$set$getArticleB2, _saveElementArticleCo, _jsonElement$Accessoi, jsonElement, catalogArticle, plannerElement, data, elementsForDockingExtend, row, curElement, DPsInfo, j, dpInfo, sourceDP, targetElement, targetDP;
1018
1022
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
1019
1023
  while (1) switch (_context5.prev = _context5.next) {
1020
1024
  case 0:
@@ -1035,7 +1039,7 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
1035
1039
  }
1036
1040
  _context5.prev = 8;
1037
1041
  jsonElement = jsonElements[i];
1038
- catalogArticle = this.set.CatalogData.getCatalogArticleByArticleCodex((_saveElementArticleCo = saveElementArticleCodex(jsonElement)) !== null && _saveElementArticleCo !== void 0 ? _saveElementArticleCo : '');
1042
+ catalogArticle = (_this$set$getArticleB = (_this$set$getArticleB2 = this.set.getArticleByBasketId(jsonElement.basketID)) === null || _this$set$getArticleB2 === void 0 ? void 0 : _this$set$getArticleB2.catalogArticle) !== null && _this$set$getArticleB !== void 0 ? _this$set$getArticleB : this.set.CatalogData.getCatalogArticleByArticleCodex((_saveElementArticleCo = saveElementArticleCodex(jsonElement)) !== null && _saveElementArticleCo !== void 0 ? _saveElementArticleCo : '');
1039
1043
  if (!(!catalogArticle && (_jsonElement$Accessoi = jsonElement.AccessoireInitParams) !== null && _jsonElement$Accessoi !== void 0 && _jsonElement$Accessoi.RelatedToBasketID && !this.set.getSetState.onlyRunLogic)) {
1040
1044
  _context5.next = 14;
1041
1045
  break;
@@ -1125,7 +1129,7 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
1125
1129
  key: "initPlanner",
1126
1130
  value: function () {
1127
1131
  var _initPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(setPlanData) {
1128
- var planData, _planData$set, jsonElements, elementsSortedbyPosNr, accElements, i, _saveElementArticleCo2, _jsonElement$Accessoi2, jsonElement, catalogArticle, elementID, plannerElement, data, onlyOneBaseElement, elementsForDocking, row, _jsonElement, hasSavedPos, element, DPsInfo, j, dpInfo, sourceElement, sourceDP, targetElement, targetDP, alreadyDocked, docked, _elementsForDocking$i, elementId, _planData$Sets, _legacySet$Elements, legacySet, _jsonElements, _elementsSortedbyPosNr, _accElements, _saveElementArticleCo3, _jsonElement2$Accesso, _jsonElement2, _catalogArticle, basketID, _elementId, _plannerElement, _data, centerWorldPos, parentPosNr, accPosNr, elementsForDockingV1, _row, _DPsInfo, _dpInfo, _this$plannerElements, targetElementId, dpType, curElement, _targetElement, anchorElement;
1132
+ var planData, _planData$set, jsonElements, elementsSortedbyPosNr, accElements, i, _this$set$getArticleB3, _this$set$getArticleB4, _saveElementArticleCo2, _jsonElement$Accessoi2, jsonElement, catalogArticle, elementID, plannerElement, data, onlyOneBaseElement, elementsForDocking, row, _jsonElement, hasSavedPos, element, DPsInfo, j, dpInfo, sourceElement, sourceDP, targetElement, targetDP, alreadyDocked, docked, _elementsForDocking$i, elementId, _planData$Sets, _legacySet$Elements, legacySet, _jsonElements, _elementsSortedbyPosNr, _accElements, _saveElementArticleCo3, _jsonElement2$Accesso, _jsonElement2, _catalogArticle, basketID, _elementId, _plannerElement, _data, centerWorldPos, parentPosNr, accPosNr, elementsForDockingV1, _row, _DPsInfo, _dpInfo, _this$plannerElements, targetElementId, dpType, curElement, _targetElement, anchorElement;
1129
1133
  return _regeneratorRuntime.wrap(function _callee6$(_context6) {
1130
1134
  while (1) switch (_context6.prev = _context6.next) {
1131
1135
  case 0:
@@ -1152,7 +1156,7 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
1152
1156
  }
1153
1157
  _context6.prev = 10;
1154
1158
  jsonElement = jsonElements[i];
1155
- catalogArticle = this.set.CatalogData.getCatalogArticleByArticleCodex((_saveElementArticleCo2 = saveElementArticleCodex(jsonElement)) !== null && _saveElementArticleCo2 !== void 0 ? _saveElementArticleCo2 : '');
1159
+ catalogArticle = (_this$set$getArticleB3 = (_this$set$getArticleB4 = this.set.getArticleByBasketId(jsonElement.basketID)) === null || _this$set$getArticleB4 === void 0 ? void 0 : _this$set$getArticleB4.catalogArticle) !== null && _this$set$getArticleB3 !== void 0 ? _this$set$getArticleB3 : this.set.CatalogData.getCatalogArticleByArticleCodex((_saveElementArticleCo2 = saveElementArticleCodex(jsonElement)) !== null && _saveElementArticleCo2 !== void 0 ? _saveElementArticleCo2 : '');
1156
1160
  if (!(!catalogArticle && (_jsonElement$Accessoi2 = jsonElement.AccessoireInitParams) !== null && _jsonElement$Accessoi2 !== void 0 && _jsonElement$Accessoi2.RelatedToBasketID && !this.set.getSetState.onlyRunLogic)) {
1157
1161
  _context6.next = 16;
1158
1162
  break;
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-16a1a540.js';
4
+ import './index-b31e39ae.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -9,6 +9,7 @@ import '@babel/runtime/regenerator';
9
9
  import '@babel/runtime/helpers/objectWithoutProperties';
10
10
  import '@babel/runtime/helpers/toConsumableArray';
11
11
  import 'axios';
12
+ import '@crystaldesign/planner-2d-core';
12
13
  import '@crystaldesign/basket-model';
13
14
  import '@babel/runtime/helpers/typeof';
14
15
  import 'fast-xml-parser';
@@ -18,7 +19,6 @@ import '@babel/runtime/helpers/inherits';
18
19
  import '@babel/runtime/helpers/wrapNativeSuper';
19
20
  import '@crystaldesign/basket-handler';
20
21
  import 'socket.io-client';
21
- import '@crystaldesign/planner-2d-core';
22
22
 
23
23
  var Door = /*#__PURE__*/function () {
24
24
  function Door(type, basketId, index) {
@@ -3,7 +3,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { d as bootMark, R as Rendering, H as HQRenderScript } from './index-16a1a540.js';
6
+ import { d as bootMark, R as Rendering, H as HQRenderScript } from './index-b31e39ae.js';
7
7
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
8
8
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
9
9
  import io from 'socket.io-client';
@@ -12,6 +12,7 @@ import '@babel/runtime/helpers/slicedToArray';
12
12
  import '@babel/runtime/helpers/objectWithoutProperties';
13
13
  import '@babel/runtime/helpers/toConsumableArray';
14
14
  import 'axios';
15
+ import '@crystaldesign/planner-2d-core';
15
16
  import '@crystaldesign/basket-model';
16
17
  import '@babel/runtime/helpers/typeof';
17
18
  import 'fast-xml-parser';
@@ -20,7 +21,6 @@ import '@babel/runtime/helpers/getPrototypeOf';
20
21
  import '@babel/runtime/helpers/inherits';
21
22
  import '@babel/runtime/helpers/wrapNativeSuper';
22
23
  import '@crystaldesign/basket-handler';
23
- import '@crystaldesign/planner-2d-core';
24
24
 
25
25
  var LOG = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
26
26
  var Host3DSignalR = /*#__PURE__*/function () {
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-16a1a540.js';
3
+ import './index-b31e39ae.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';
@@ -9,6 +9,7 @@ import '@babel/runtime/helpers/objectWithoutProperties';
9
9
  import '@babel/runtime/helpers/toConsumableArray';
10
10
  import 'axios';
11
11
  import '@crystaldesign/diva-utils';
12
+ import '@crystaldesign/planner-2d-core';
12
13
  import '@crystaldesign/basket-model';
13
14
  import '@babel/runtime/helpers/typeof';
14
15
  import 'fast-xml-parser';
@@ -18,7 +19,6 @@ import '@babel/runtime/helpers/inherits';
18
19
  import '@babel/runtime/helpers/wrapNativeSuper';
19
20
  import '@crystaldesign/basket-handler';
20
21
  import 'socket.io-client';
21
- import '@crystaldesign/planner-2d-core';
22
22
 
23
23
  //Der in einem Set gemergte Optionsbaum
24
24
  var LiviqueWWSHandler = /*#__PURE__*/function () {
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import { a as articleHandlerInstance } from './index-16a1a540.js';
3
+ import { a as articleHandlerInstance } from './index-b31e39ae.js';
4
4
  import { SAPOrderLineData } from '@crystaldesign/basket-model';
5
5
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
@@ -10,6 +10,7 @@ import '@babel/runtime/regenerator';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import '@babel/runtime/helpers/toConsumableArray';
12
12
  import 'axios';
13
+ import '@crystaldesign/planner-2d-core';
13
14
  import '@babel/runtime/helpers/typeof';
14
15
  import 'fast-xml-parser';
15
16
  import '@babel/runtime/helpers/possibleConstructorReturn';
@@ -18,7 +19,6 @@ import '@babel/runtime/helpers/inherits';
18
19
  import '@babel/runtime/helpers/wrapNativeSuper';
19
20
  import '@crystaldesign/basket-handler';
20
21
  import 'socket.io-client';
21
- import '@crystaldesign/planner-2d-core';
22
22
 
23
23
  var LOG = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
24
24
  //Der in einem Set gemergte Optionsbaum
@@ -0,0 +1,273 @@
1
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
+ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
+ import _createClass from '@babel/runtime/helpers/createClass';
4
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
6
+ import { c as Vector2, S as SVGUtils } from './index-b31e39ae.js';
7
+ import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
8
+ import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
9
+ import _get from '@babel/runtime/helpers/get';
10
+ import _inherits from '@babel/runtime/helpers/inherits';
11
+ import { DockingPointHandler as DockingPointHandler$1, polygonEdgesIntersect, polygonInsidePolygon, getOlfGeometry, getOltGeometry, getRootSize, getMinBorder } from '@crystaldesign/planner-2d-core';
12
+ import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
13
+
14
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
15
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
16
+ function _superPropGet(t, e, o, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), e, o); return 2 & r && "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
17
+
18
+ /** Legacy minBorder parameter shape still used by this package's callers. */
19
+ /** Docking point handler that additionally accepts the legacy minBorder shape. */
20
+ var DockingPointHandler = /*#__PURE__*/function (_CoreDockingPointHand) {
21
+ function DockingPointHandler() {
22
+ _classCallCheck(this, DockingPointHandler);
23
+ return _callSuper(this, DockingPointHandler, arguments);
24
+ }
25
+ _inherits(DockingPointHandler, _CoreDockingPointHand);
26
+ return _createClass(DockingPointHandler, [{
27
+ key: "initDockingPointsFromSvg",
28
+ value: function initDockingPointsFromSvg(plannerElement, dockingVectors, minBorder, plannerConfig) {
29
+ var normalized = 'minX' in minBorder ? minBorder : {
30
+ minX: minBorder.svgMinXVal,
31
+ minY: minBorder.svgMinYVal
32
+ };
33
+ _superPropGet(DockingPointHandler, "initDockingPointsFromSvg", this, 3)([plannerElement, dockingVectors, normalized, plannerConfig]);
34
+ }
35
+ }]);
36
+ }(DockingPointHandler$1);
37
+ var dockingPointHandlerInst = new DockingPointHandler();
38
+
39
+ var LOG = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
40
+
41
+ /**
42
+ * Loads and parses the article SVGs of planner elements and computes element collisions.
43
+ * Runs headless; the fabric shapes for the visible 2D canvas are built by the render layer from SvgData.
44
+ */
45
+ var PlannerHandler2D = /*#__PURE__*/function () {
46
+ function PlannerHandler2D() {
47
+ _classCallCheck(this, PlannerHandler2D);
48
+ _defineProperty(this, "svgUtils", void 0);
49
+ this.svgUtils = new SVGUtils();
50
+ }
51
+ /**
52
+ * This function computes the collision between two elements.
53
+ * First it computes the collision with the bounding box. Only if these collide - we compute the collision between the OLF Polygons
54
+ * @param element1
55
+ * @param element2
56
+ */
57
+ return _createClass(PlannerHandler2D, [{
58
+ key: "checkCollision",
59
+ value: function checkCollision(element1, element2, checkCollisionForDifferentLayers) {
60
+ DivaUtils.startSpanOfApm('PlannerHandler2D checkCollision');
61
+ if (element1.Layer != element2.Layer && (!checkCollisionForDifferentLayers.includes(Number(element1.Layer)) || !checkCollisionForDifferentLayers.includes(Number(element2.Layer)))) {
62
+ DivaUtils.endSpanOfApm('PlannerHandler2D checkCollision');
63
+ return false;
64
+ }
65
+ var bboxPoints1 = element1.getWorld2DBBoxOutline();
66
+ var bboxPoints2 = element2.getWorld2DBBoxOutline();
67
+ if (polygonEdgesIntersect(bboxPoints1, bboxPoints2)) {
68
+ if (!element1.HasOLTPolygon && !element1.HasOLFPolygon) {
69
+ LOG.error(new DivaError('checkCollision PlannerHandler2D - The element with id: ' + element1.getElementId() + ' has no OLT AND no OLF', {
70
+ code: 'WC_0012'
71
+ }));
72
+ DivaUtils.endSpanOfApm('PlannerHandler2D checkCollision');
73
+ return false;
74
+ } else if (!element2.HasOLTPolygon && !element2.HasOLFPolygon) {
75
+ LOG.error(new DivaError('checkCollision PlannerHandler2D - The element with id: ' + element2.getElementId() + ' has no OLT AND no OLF', {
76
+ code: 'WC_0012'
77
+ }));
78
+ DivaUtils.endSpanOfApm('PlannerHandler2D checkCollision');
79
+ return false;
80
+ }
81
+ var detailPolygon1 = element1.HasOLFPolygon ? element1.getOLFPolygonWorldPos() : element1.getOLTPolygonWorldPos();
82
+ var detailPolygon2 = element2.HasOLFPolygon ? element2.getOLFPolygonWorldPos() : element2.getOLTPolygonWorldPos();
83
+ DivaUtils.endSpanOfApm('PlannerHandler2D checkCollision');
84
+ return polygonEdgesIntersect(detailPolygon1, detailPolygon2);
85
+ } else {
86
+ DivaUtils.endSpanOfApm('PlannerHandler2D checkCollision');
87
+ return polygonInsidePolygon(bboxPoints1, bboxPoints2); //wenn sie sich nicht überschneiden untersuche, ob ein Polygon genau innerhalb des anderen liegt
88
+ }
89
+ }
90
+ }, {
91
+ key: "parseSvg",
92
+ value: function parseSvg(plannerElement, svgXml, minBorderSVG, plannerconfig, sizes) {
93
+ var _oltGeo$width, _oltGeo$height;
94
+ svgXml = this.svgUtils.removeMaskFromSvg(svgXml); //Correct mask attributes
95
+ dockingPointHandlerInst.initDockingPointsFromSvg(plannerElement, this.svgUtils.getDPsInSVG(svgXml), minBorderSVG, plannerconfig);
96
+ var oltPoints = this.svgUtils.getPointOfPoligonById(svgXml, 'OLT');
97
+ if (!(oltPoints !== null && oltPoints !== void 0 && oltPoints.length)) {
98
+ LOG.warn('no olt fount in svg for element' + plannerElement.ArticleCodex + ' with id ' + plannerElement.getElementId());
99
+ }
100
+ plannerElement.OLTPolygon = oltPoints;
101
+ var olf = this.svgUtils.getPointOfPoligonById(svgXml, 'OLF');
102
+ var olfGeo = getOlfGeometry(svgXml);
103
+ if (olf !== null && olf !== void 0 && olf.length) {
104
+ var _olfGeo$width, _olfGeo$height;
105
+ var olfBBox = this.svgUtils.getBoundingBoxOfPoints(olf);
106
+ // Prefer getOlfGeometry for dims - single source of truth, handles split(/\s+/) correctly
107
+ var olfW = (_olfGeo$width = olfGeo === null || olfGeo === void 0 ? void 0 : olfGeo.width) !== null && _olfGeo$width !== void 0 ? _olfGeo$width : olfBBox.width;
108
+ var olfD = (_olfGeo$height = olfGeo === null || olfGeo === void 0 ? void 0 : olfGeo.height) !== null && _olfGeo$height !== void 0 ? _olfGeo$height : olfBBox.height;
109
+ plannerElement.setupOLF(olf, olfW, olfD);
110
+ } else {
111
+ if (olfGeo) {
112
+ var olfRectPoints = [new Vector2(olfGeo.minX, olfGeo.minY), new Vector2(olfGeo.minX + olfGeo.width, olfGeo.minY), new Vector2(olfGeo.minX + olfGeo.width, olfGeo.minY + olfGeo.height), new Vector2(olfGeo.minX, olfGeo.minY + olfGeo.height)];
113
+ plannerElement.setupOLF(olfRectPoints, olfGeo.width, olfGeo.height);
114
+ } else if (sizes !== null && sizes !== void 0 && sizes.heightOLF, sizes !== null && sizes !== void 0 && sizes.widthOLF) {
115
+ plannerElement.setupOLF(olf, sizes === null || sizes === void 0 ? void 0 : sizes.widthOLF, sizes === null || sizes === void 0 ? void 0 : sizes.heightOLF);
116
+ } else {
117
+ plannerElement.clearOLF();
118
+ }
119
+ }
120
+
121
+ // Assign unconditionally: parseSvg re-runs per measure change, so keeping the previous SVG's OLT box would offset docked neighbours.
122
+ var oltGeo = getOltGeometry(svgXml);
123
+ plannerElement.OLTWidth = (_oltGeo$width = oltGeo === null || oltGeo === void 0 ? void 0 : oltGeo.width) !== null && _oltGeo$width !== void 0 ? _oltGeo$width : 0;
124
+ plannerElement.OLTDepth = (_oltGeo$height = oltGeo === null || oltGeo === void 0 ? void 0 : oltGeo.height) !== null && _oltGeo$height !== void 0 ? _oltGeo$height : 0;
125
+ plannerElement.OLTLeft = oltGeo && olfGeo ? oltGeo.x - olfGeo.minX : 0;
126
+ plannerElement.OLTTop = oltGeo && olfGeo ? oltGeo.y - olfGeo.minY : 0;
127
+ if (plannerElement.DoSetWidthFromSVG || plannerElement.DoSetDepthFromSVG) {
128
+ // The ROOT size, not the ink bounds: an article whose drawing does not fill its canvas must still report the canvas size.
129
+ var rootSize = getRootSize(svgXml);
130
+ if (plannerElement.DoSetWidthFromSVG && rootSize !== null && rootSize !== void 0 && rootSize.width) plannerElement.WidthFromSVG = rootSize.width / DivaUtils.UnitRecalc;
131
+ // since the svg is always top down perspective height in 2D represents depth in 2D planner and 3D
132
+ if (plannerElement.DoSetDepthFromSVG && rootSize !== null && rootSize !== void 0 && rootSize.height) plannerElement.DepthFromSVG = rootSize.height / DivaUtils.UnitRecalc;
133
+ }
134
+ plannerElement.SvgData = svgXml;
135
+ // Clearing marks the shapes stale - the render layer rebuilds them from SvgData.
136
+ plannerElement.cleanShapeOLF2D();
137
+ plannerElement.cleanShapeOLT2D();
138
+ }
139
+ }, {
140
+ key: "getMinBorderSVG",
141
+ value: function getMinBorderSVG(svgXml) {
142
+ var minBorder = getMinBorder(svgXml);
143
+ return {
144
+ svgMinXVal: minBorder.minX,
145
+ svgMinYVal: minBorder.minY
146
+ };
147
+ }
148
+ /*
149
+ This function is used to load the SVG of the element and set everything up.
150
+ */
151
+ }, {
152
+ key: "loadSVG",
153
+ value: (function () {
154
+ var _loadSVG = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(plannerElement, set) {
155
+ var _plannerElement$Heigh,
156
+ _this = this;
157
+ var svgFile, svgContentXML, svgContent, result, svgNewWidth, svgNewDepth, sizes, doStretch, minBoderSVG, svgSourceUrl, correctedContent;
158
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
159
+ while (1) switch (_context.prev = _context.next) {
160
+ case 0:
161
+ svgFile = plannerElement.SvgFileName;
162
+ if (svgFile) {
163
+ _context.next = 3;
164
+ break;
165
+ }
166
+ return _context.abrupt("return", false);
167
+ case 3:
168
+ if (!set.CatalogData.isIDMFormat) {
169
+ _context.next = 9;
170
+ break;
171
+ }
172
+ _context.next = 6;
173
+ return set.api.fetchData(svgFile, {
174
+ method: 'GET',
175
+ config: {},
176
+ data: {}
177
+ });
178
+ case 6:
179
+ svgContentXML = _context.sent;
180
+ _context.next = 16;
181
+ break;
182
+ case 9:
183
+ _context.next = 11;
184
+ return set.api.getDataCache(this.getSVGUrl(svgFile, set.CatalogData.mediaUrl), undefined, set.CatalogData.accountSessionGuid);
185
+ case 11:
186
+ result = _context.sent;
187
+ if (!result.Error) {
188
+ _context.next = 14;
189
+ break;
190
+ }
191
+ throw new Error(result.Error);
192
+ case 14:
193
+ if (result.Result.toLowerCase() == 'success') {
194
+ svgContent = result.Content;
195
+ }
196
+ svgContentXML = DivaUtils.decodeBase64(svgContent);
197
+ case 16:
198
+ if (!svgContentXML) {
199
+ LOG.error(new DivaError('Fehler beim laden des SVGs ', {
200
+ code: 'WC_0009',
201
+ custom: {
202
+ svgFile: svgFile
203
+ }
204
+ }));
205
+ }
206
+ plannerElement.svgBefore = svgContentXML;
207
+ // a size the element derived from its svg is no measure: that axis keeps the drawing - stretching its OLT to the
208
+ // canvas size would inflate an accessory whose canvas has a margin for its AV lines
209
+ svgNewWidth = plannerElement.DoSetWidthFromSVG ? undefined : plannerElement.Width;
210
+ svgNewDepth = plannerElement.DoSetDepthFromSVG ? undefined : plannerElement.Depth;
211
+ //fix for "kissen" that didnt had a depth but do have a height https://app.asana.com/0/1201426433314773/1201432109700389
212
+ if (svgNewDepth == undefined && svgNewWidth != undefined && ((_plannerElement$Heigh = plannerElement.Height) !== null && _plannerElement$Heigh !== void 0 ? _plannerElement$Heigh : -1) > 0) svgNewDepth = plannerElement.Height;
213
+
214
+ // outside IDM only both measures stretch, as before - one measure would distort a globally scaled Diva svg
215
+ doStretch = set.CatalogData.isIDMFormat ? svgNewWidth != undefined || svgNewDepth != undefined : svgNewWidth != undefined && svgNewDepth != undefined;
216
+ if (!doStretch) {
217
+ _context.next = 32;
218
+ break;
219
+ }
220
+ minBoderSVG = this.getMinBorderSVG(svgContentXML);
221
+ svgSourceUrl = set.CatalogData.isIDMFormat ? svgFile : "".concat(set.CatalogData.mediaUrl, "pln_").concat(svgFile);
222
+ correctedContent = '';
223
+ _context.next = 28;
224
+ return new Promise(function (resolve, reject) {
225
+ var _svgNewDepth;
226
+ sizes = _this.svgUtils.ccCheckStretchAreas(svgContentXML, svgNewWidth !== null && svgNewWidth !== void 0 ? svgNewWidth : 0, (_svgNewDepth = svgNewDepth) !== null && _svgNewDepth !== void 0 ? _svgNewDepth : 0, set.CatalogData.useGlobalSVGScale, minBoderSVG.svgMinXVal, minBoderSVG.svgMinYVal, function (_correctedContent) {
227
+ correctedContent = _correctedContent;
228
+ resolve();
229
+ }, svgSourceUrl,
230
+ // parseSvg derives a kept axis afterwards from the stretched svg's canvas
231
+ {
232
+ width: svgNewWidth == undefined,
233
+ depth: svgNewDepth == undefined
234
+ });
235
+ });
236
+ case 28:
237
+ plannerElement.svgAfter = correctedContent;
238
+ this.parseSvg(plannerElement, correctedContent, minBoderSVG, set.CatalogData.getPlannerConfig(), sizes);
239
+ _context.next = 34;
240
+ break;
241
+ case 32:
242
+ plannerElement.svgAfter = svgContentXML;
243
+ this.parseSvg(plannerElement, svgContentXML, {
244
+ svgMinXVal: 0,
245
+ svgMinYVal: 0
246
+ }, set.CatalogData.getPlannerConfig());
247
+ case 34:
248
+ return _context.abrupt("return", true);
249
+ case 35:
250
+ case "end":
251
+ return _context.stop();
252
+ }
253
+ }, _callee, this);
254
+ }));
255
+ function loadSVG(_x, _x2) {
256
+ return _loadSVG.apply(this, arguments);
257
+ }
258
+ return loadSVG;
259
+ }())
260
+ }, {
261
+ key: "getSVGUrl",
262
+ value: function getSVGUrl(svgFile, mediaUrl) {
263
+ var url = mediaUrl + 'pln_' + svgFile;
264
+ //Split url
265
+ var index = url.indexOf('/files/');
266
+ url = url.substring(index);
267
+ return 'function=GetFileAsString' + '&fileUrl=' + encodeURIComponent(url);
268
+ }
269
+ }]);
270
+ }();
271
+ var handler2D = new PlannerHandler2D();
272
+
273
+ export { dockingPointHandlerInst as d, handler2D as h };