@crystaldesign/web-planner-logic 26.11.0-beta.2 → 26.11.0-beta.21

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 (108) hide show
  1. package/build/cjs/{DivaBoxPlanner-68cc1bd1.js → DivaBoxPlanner-051e3b01.js} +134 -47
  2. package/build/cjs/{DivaStandardPlanner-d44ae0e7.js → DivaStandardPlanner-40846a4f.js} +340 -190
  3. package/build/cjs/{DoorPlanner-1719cbe1.js → DoorPlanner-51477bb2.js} +3 -1
  4. package/build/cjs/{Host3DSignalR-a456221e.js → Host3DSignalR-72511b72.js} +41 -24
  5. package/build/cjs/{LiviqueWWSHandler-f2afb4eb.js → LiviqueWWSHandler-fbfeeb05.js} +3 -1
  6. package/build/cjs/{PfisterWWSHandler-8f522ab6.js → PfisterWWSHandler-a7ac983b.js} +3 -1
  7. package/build/cjs/PlannerHandler2D-e2c83aec.js +544 -0
  8. package/build/cjs/{SeriousBasketHandler-b39f0556.js → SeriousBasketHandler-60853c54.js} +3 -1
  9. package/build/cjs/{ShelfPlanner-1dde2d7c.js → ShelfPlanner-a901f6da.js} +262 -148
  10. package/build/cjs/{StandardWWSHandler-62ec343d.js → StandardWWSHandler-3a8a3685.js} +3 -1
  11. package/build/cjs/{index-d63749e4.js → index-7d87a838.js} +15132 -13899
  12. package/build/cjs/index.js +13 -2
  13. package/build/esm/{DivaBoxPlanner-a347ef5d.js → DivaBoxPlanner-a76550ee.js} +134 -47
  14. package/build/esm/{DivaStandardPlanner-a8f0d722.js → DivaStandardPlanner-56c260dc.js} +339 -190
  15. package/build/esm/{DoorPlanner-60c065e5.js → DoorPlanner-a40a4342.js} +3 -1
  16. package/build/esm/{Host3DSignalR-0c7e84a7.js → Host3DSignalR-6f824d99.js} +41 -24
  17. package/build/esm/{LiviqueWWSHandler-3df03404.js → LiviqueWWSHandler-2f1189d0.js} +3 -1
  18. package/build/esm/{PfisterWWSHandler-28b609ef.js → PfisterWWSHandler-81238c20.js} +3 -1
  19. package/build/esm/PlannerHandler2D-d93ae013.js +526 -0
  20. package/build/esm/{SeriousBasketHandler-276a8035.js → SeriousBasketHandler-bca9210d.js} +3 -1
  21. package/build/esm/{ShelfPlanner-7380b831.js → ShelfPlanner-539f1b08.js} +262 -148
  22. package/build/esm/{StandardWWSHandler-1d13f6a3.js → StandardWWSHandler-cdc4c837.js} +3 -1
  23. package/build/esm/{index-358c0a3c.js → index-b755400a.js} +15128 -13899
  24. package/build/esm/index.js +3 -1
  25. package/build/types/web-planner-logic/src/index.d.ts +8 -3
  26. package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts +13 -0
  28. package/build/types/web-planner-logic/src/interface/Articles/ArticleDataType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/Articles/ArticleInfoType.d.ts +13 -0
  30. package/build/types/web-planner-logic/src/interface/Articles/ArticleInfoType.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +3 -0
  32. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +5 -0
  34. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +19 -18
  36. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
  37. package/build/types/web-planner-logic/src/interface/Planner/ISaveSetPlanner.d.ts +37 -0
  38. package/build/types/web-planner-logic/src/interface/Planner/ISaveSetPlanner.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts +5 -0
  40. package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts +46 -2
  42. package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  44. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts +4 -0
  45. package/build/types/web-planner-logic/src/logic/Article/Engine/ArticleEngine.d.ts.map +1 -1
  46. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +12 -2
  47. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  48. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts +20 -0
  49. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
  50. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts +31 -1
  51. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlannerGrid.d.ts.map +1 -1
  52. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +25 -0
  53. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
  54. package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts +1 -0
  55. package/build/types/web-planner-logic/src/logic/DivaCatalogHandler.d.ts.map +1 -1
  56. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +149 -95
  57. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  58. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +19 -0
  59. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  60. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts +15 -1
  61. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
  62. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +11 -1
  63. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  64. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +28 -1
  65. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
  66. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts +9 -114
  67. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts.map +1 -1
  68. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/PlannerHandler2D.d.ts +5 -7
  69. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/PlannerHandler2D.d.ts.map +1 -1
  70. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts +5 -6
  71. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/SVGUtils.d.ts.map +1 -1
  72. package/build/types/web-planner-logic/src/logic/Planner/Rendering/Host3DSignalR.d.ts.map +1 -1
  73. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts +17 -1
  74. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
  75. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +2 -2
  76. package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
  77. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +31 -3
  78. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  79. package/build/types/web-planner-logic/src/logic/Set/catalogXml/articleGeo.d.ts +9 -0
  80. package/build/types/web-planner-logic/src/logic/Set/catalogXml/articleGeo.d.ts.map +1 -0
  81. package/build/types/web-planner-logic/src/logic/Set/catalogXml/parseCatalogXml.d.ts +12 -0
  82. package/build/types/web-planner-logic/src/logic/Set/catalogXml/parseCatalogXml.d.ts.map +1 -0
  83. package/build/types/web-planner-logic/src/logic/Set/catalogXml/types.d.ts +66 -0
  84. package/build/types/web-planner-logic/src/logic/Set/catalogXml/types.d.ts.map +1 -0
  85. package/build/types/web-planner-logic/src/logic/bootMark.d.ts +71 -0
  86. package/build/types/web-planner-logic/src/logic/bootMark.d.ts.map +1 -0
  87. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +1 -0
  88. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  89. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts +11 -0
  90. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  91. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +13 -0
  92. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  93. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
  94. package/build/types/web-planner-logic/src/model/Planner/DockingPoint.d.ts +1 -44
  95. package/build/types/web-planner-logic/src/model/Planner/DockingPoint.d.ts.map +1 -1
  96. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts +6 -1
  97. package/build/types/web-planner-logic/src/model/Planner/PlannerElementData.d.ts.map +1 -1
  98. package/build/types/web-planner-logic/src/test/engineFeatureDefaults.test.d.ts +2 -0
  99. package/build/types/web-planner-logic/src/test/engineFeatureDefaults.test.d.ts.map +1 -0
  100. package/build/types/web-planner-logic/src/test/idmPlannerPaletteView.test.d.ts +2 -0
  101. package/build/types/web-planner-logic/src/test/idmPlannerPaletteView.test.d.ts.map +1 -0
  102. package/build/types/web-planner-logic/src/test/parseSvgOltGeometry.test.d.ts +2 -0
  103. package/build/types/web-planner-logic/src/test/parseSvgOltGeometry.test.d.ts.map +1 -0
  104. package/build/types/web-planner-logic/src/test/stretchGoldenMaster.test.d.ts +2 -0
  105. package/build/types/web-planner-logic/src/test/stretchGoldenMaster.test.d.ts.map +1 -0
  106. package/package.json +5 -5
  107. package/build/cjs/PlannerHandler2D-dbe1d858.js +0 -2470
  108. package/build/esm/PlannerHandler2D-f8657005.js +0 -2455
@@ -2,7 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-d63749e4.js');
5
+ var index = require('./index-7d87a838.js');
6
+ var planner2dCore = require('@crystaldesign/planner-2d-core');
6
7
  require('@babel/runtime/helpers/slicedToArray');
7
8
  require('@babel/runtime/helpers/asyncToGenerator');
8
9
  require('@babel/runtime/helpers/classCallCheck');
@@ -15,6 +16,7 @@ require('axios');
15
16
  require('@crystaldesign/diva-utils');
16
17
  require('@crystaldesign/basket-model');
17
18
  require('@babel/runtime/helpers/typeof');
19
+ require('fast-xml-parser');
18
20
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
21
  require('@babel/runtime/helpers/getPrototypeOf');
20
22
  require('@babel/runtime/helpers/inherits');
@@ -28,10 +30,10 @@ exports.ArtifactGenerationError = index.ArtifactGenerationError;
28
30
  exports.CatalogPlannerArticleData = index.CatalogPlannerArticleData;
29
31
  exports.Cell = index.Cell;
30
32
  exports.DivaArticle = index.DivaArticle;
33
+ exports.DivaArticleHandler = index.articleHandlerInstance;
31
34
  exports.DivaBasketHandler = index.DivaBasketHandler;
32
35
  exports.DivaCatalogData = index.DivaCatalogData;
33
36
  exports.DivaSetHandler = index.setHandlerInstance;
34
- exports.DockingPoint = index.DockingPoint;
35
37
  exports.Grid = index.Grid;
36
38
  exports.JsonDataCache = index.JsonDataCache;
37
39
  exports.OptionCatalogData = index.OptionCatalogData;
@@ -40,6 +42,11 @@ exports.Rendering = index.Rendering;
40
42
  exports.Vector2 = index.Vector2;
41
43
  exports.Vector3 = index.Vector3;
42
44
  exports.Vector4 = index.Vector4;
45
+ exports.bootMark = index.bootMark;
46
+ exports.bootMarksEnabled = index.bootMarksEnabled;
47
+ exports.bootNetworkMark = index.bootNetworkMark;
48
+ exports.bootNow = index.bootNow;
49
+ exports.bootRequestName = index.bootRequestName;
43
50
  exports.collectStructureStepKeys = index.collectStructureStepKeys;
44
51
  exports.creatRenderOrders = index.creatRenderOrders;
45
52
  exports["default"] = index.DivaWebPlanner;
@@ -48,3 +55,7 @@ exports.headlessSession = index.headlessSession;
48
55
  exports.loadAndRepairBasket = index.loadAndRepairBasket;
49
56
  exports.runHeadlessArtifactPass = index.runHeadlessArtifactPass;
50
57
  exports.runHeadlessArtifactPassBatch = index.runHeadlessArtifactPassBatch;
58
+ Object.defineProperty(exports, 'DockingPoint', {
59
+ enumerable: true,
60
+ get: function () { return planner2dCore.DockingPoint; }
61
+ });
@@ -3,23 +3,24 @@ 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-358c0a3c.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-b755400a.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-f8657005.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d93ae013.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
13
  import '@crystaldesign/basket-model';
14
14
  import '@babel/runtime/helpers/typeof';
15
+ import 'fast-xml-parser';
15
16
  import '@babel/runtime/helpers/possibleConstructorReturn';
16
17
  import '@babel/runtime/helpers/getPrototypeOf';
17
18
  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 'fabric';
22
- import 'w3c-xmlserializer';
22
+ import '@crystaldesign/planner-2d-core';
23
+ import '@babel/runtime/helpers/get';
23
24
 
24
25
  var LOG$3 = DivaUtils.initLog('Planner', 'WEB-PLANNER-LOGIC');
25
26
  var BoxPlannerPartlistHelper = /*#__PURE__*/function () {
@@ -1778,6 +1779,15 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1778
1779
  _defineProperty(this, "hideOptionsForConstruction", void 0);
1779
1780
  //This saves an array of options per elementID that are hidden due to construction rules
1780
1781
  _defineProperty(this, "partlistHelper", void 0);
1782
+ /**
1783
+ * Debug trail of the LAST updateOptionLogicBoxPlanner run: one entry per option
1784
+ * show/hide/set, tagged with the pipeline phase that caused it. The box planner
1785
+ * has no other record of WHY an option was hidden — this is the equivalent of the
1786
+ * decision engines' decisionDebugStack. Reset at the start of every run; entries
1787
+ * are tiny, so it is always recorded (no logDecisions gate reachable here).
1788
+ */
1789
+ _defineProperty(this, "constructionDebugStack", []);
1790
+ _defineProperty(this, "debugPhase", '');
1781
1791
  /**
1782
1792
  * This function looks what value the option has in the current OptionHandler
1783
1793
  * @param elementId ElementId
@@ -1822,6 +1832,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1822
1832
  _this.hideOptionsForConstruction.get(elementId).splice(index, 1);
1823
1833
  }
1824
1834
  }
1835
+ _this.constructionDebugStack.push({
1836
+ phase: _this.debugPhase,
1837
+ elementId: elementId,
1838
+ action: 'set',
1839
+ option: option,
1840
+ value: optionValue
1841
+ });
1825
1842
  });
1826
1843
  /**
1827
1844
  * This function returns true, if the element has a bottom Plate. Elements with bottom plate are e.g. Offenes Fach oder Schubladen.
@@ -1948,6 +1965,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1948
1965
  if (!optionHandler.has(elementId)) optionHandler.set(elementId, new Map());
1949
1966
  (_optionHandler$get2 = optionHandler.get(elementId)) === null || _optionHandler$get2 === void 0 || _optionHandler$get2.set(option, curOptVisibilityInfo.doShow);
1950
1967
  }
1968
+ this.constructionDebugStack.push({
1969
+ phase: this.debugPhase,
1970
+ elementId: elementId,
1971
+ action: 'show',
1972
+ option: option,
1973
+ value: curOptVisibilityInfo.doShow
1974
+ });
1951
1975
  //initCfgValues mit allen gesammelten Optionen pro Element aufrufen
1952
1976
  //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.
1953
1977
  //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,6 +2002,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1978
2002
  (_optionHandler$get3 = optionHandler.get(elementId)) === null || _optionHandler$get3 === void 0 || _optionHandler$get3.set(option, curOptVisibilityInfo.doHide);
1979
2003
  if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
1980
2004
  (_this$hideOptionsForC2 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC2 === void 0 || _this$hideOptionsForC2.push(option);
2005
+ this.constructionDebugStack.push({
2006
+ phase: this.debugPhase,
2007
+ elementId: elementId,
2008
+ action: 'hide',
2009
+ option: option,
2010
+ value: curOptVisibilityInfo.doHide
2011
+ });
1981
2012
  }
1982
2013
  }, {
1983
2014
  key: "setOptionDoCustom",
@@ -1990,6 +2021,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
1990
2021
  (_optionHandler$get4 = optionHandler.get(elementId)) === null || _optionHandler$get4 === void 0 || _optionHandler$get4.set(option, curOptVisibilityInfo[val]);
1991
2022
  if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
1992
2023
  (_this$hideOptionsForC3 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC3 === void 0 || _this$hideOptionsForC3.push(option);
2024
+ this.constructionDebugStack.push({
2025
+ phase: this.debugPhase,
2026
+ elementId: elementId,
2027
+ action: 'set',
2028
+ option: option,
2029
+ value: curOptVisibilityInfo[val]
2030
+ });
1993
2031
  }
1994
2032
 
1995
2033
  //Returns all
@@ -3187,6 +3225,20 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3187
3225
  return this.constructionRulesLoaded;
3188
3226
  }
3189
3227
 
3228
+ /** The raw construction-rules JSON currently driving this planner (undefined until loaded). */
3229
+ }, {
3230
+ key: "getConstructionRules",
3231
+ value: function getConstructionRules() {
3232
+ return this.constructionRules;
3233
+ }
3234
+
3235
+ /** Options currently hidden per elementId because of construction rules (live state, not a copy). */
3236
+ }, {
3237
+ key: "getHideOptionsForConstruction",
3238
+ value: function getHideOptionsForConstruction() {
3239
+ return this.hideOptionsForConstruction;
3240
+ }
3241
+
3190
3242
  //Die gleiche Option kann sowohl nach rechts als auch nach oben gesetzt werden (Rahmen rechts oben). Wenn das der Fall ist, darf wenn es rechts keinen Nachbarn gibt nicht mit doShow überschrieben werden, wenn es vorher bei TOP versteckt wurde
3191
3243
  //Deshalb darf es nicht angeschalten werden, wenn es in der gleichen Runde ausgeschalten wurde
3192
3244
  /*
@@ -3221,6 +3273,8 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3221
3273
  resultMessage = undefined;
3222
3274
  LOG$2.debug('BoxPlanner - updateOptionLogicInGrid start updateOptionLogicInGrid');
3223
3275
  optionHandler = new Map(); //Saved die Optionen für dieses Update. Pro elementId und dann für jede Option den Optionvalue
3276
+ this.constructionDebugStack = [];
3277
+ this.debugPhase = 'resetCornerElements';
3224
3278
  //Das wird aufgerufen, wenn man alle Elemente auf einmal konfigrieren will, aber auf eine Ecke klickt. Das ist ungültig. Alle Ecken werden zum offenen Fach zurückgesetzt. Eentuen kann man hier noch meldung ausgeben
3225
3279
  if (forceResetCornerElements) {
3226
3280
  allElements = boxPlannerGrid.getAllElementIdsInGrid();
@@ -3232,11 +3286,16 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3232
3286
  }
3233
3287
  }
3234
3288
  }
3289
+ this.debugPhase = 'setAllOptToDefault';
3235
3290
  resultMessage = this.setAllOptToDefault(boxPlannerGrid, optionHandler, changedOPTs, targetElements);
3291
+ this.debugPhase = 'correctAffectedElementsByOption';
3236
3292
  this.doCorrectAffectedElementsByOption(boxPlannerGrid, optionHandler, changedOPTs, targetElements);
3293
+ this.debugPhase = 'correctBottom';
3237
3294
  this.correctBottom(boxPlannerGrid, optionHandler, false);
3238
3295
  if (boxPlannerGrid.getPlannerHasActiveBackside()) this.correctBottom(boxPlannerGrid, optionHandler, true);
3296
+ this.debugPhase = 'correctSeries';
3239
3297
  this.correctSeries(boxPlannerGrid, optionHandler);
3298
+ this.debugPhase = 'correctSimpleOpt(neighborRules)';
3240
3299
  for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
3241
3300
  for (j = 0; j < boxPlannerGrid.getRowCount(i, false); j++) {
3242
3301
  this.correctSimpleOpt(i, j, boxPlannerGrid, optionHandler, false);
@@ -3249,83 +3308,91 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3249
3308
  }
3250
3309
  }
3251
3310
  }
3311
+ this.debugPhase = 'correctForceOpt+neighborOPT';
3252
3312
  i = 0;
3253
- case 17:
3313
+ case 25:
3254
3314
  if (!(i < boxPlannerGrid.getColumnCount())) {
3255
- _context.next = 31;
3315
+ _context.next = 39;
3256
3316
  break;
3257
3317
  }
3258
3318
  j = 0;
3259
- case 19:
3319
+ case 27:
3260
3320
  if (!(j < boxPlannerGrid.getRowCount(i, false))) {
3261
- _context.next = 28;
3321
+ _context.next = 36;
3262
3322
  break;
3263
3323
  }
3264
3324
  elementId = (_boxPlannerGrid$getPl2 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl2 === void 0 ? void 0 : _boxPlannerGrid$getPl2.ElementId;
3265
3325
  if (elementId) {
3266
- _context.next = 23;
3326
+ _context.next = 31;
3267
3327
  break;
3268
3328
  }
3269
- return _context.abrupt("continue", 25);
3270
- case 23:
3329
+ return _context.abrupt("continue", 33);
3330
+ case 31:
3271
3331
  this.correctForceOptOfElement(elementId, boxPlannerGrid, optionHandler, false);
3272
3332
  this.correctNeighborCustomOLTs(elementId, boxPlannerGrid, optionHandler);
3273
- case 25:
3333
+ case 33:
3274
3334
  j++;
3275
- _context.next = 19;
3335
+ _context.next = 27;
3276
3336
  break;
3277
- case 28:
3337
+ case 36:
3278
3338
  i++;
3279
- _context.next = 17;
3339
+ _context.next = 25;
3280
3340
  break;
3281
- case 31:
3341
+ case 39:
3282
3342
  if (!boxPlannerGrid.getPlannerHasActiveBackside()) {
3283
- _context.next = 47;
3343
+ _context.next = 55;
3284
3344
  break;
3285
3345
  }
3286
3346
  i = boxPlannerGrid.getColumnCount() - 1;
3287
- case 33:
3347
+ case 41:
3288
3348
  if (!(i >= 0)) {
3289
- _context.next = 47;
3349
+ _context.next = 55;
3290
3350
  break;
3291
3351
  }
3292
3352
  j = 0;
3293
- case 35:
3353
+ case 43:
3294
3354
  if (!(j < boxPlannerGrid.getRowCount(i, false))) {
3295
- _context.next = 44;
3355
+ _context.next = 52;
3296
3356
  break;
3297
3357
  }
3298
3358
  _elementId = (_boxPlannerGrid$getPl3 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl3 === void 0 ? void 0 : _boxPlannerGrid$getPl3.ElementId;
3299
3359
  if (_elementId) {
3300
- _context.next = 39;
3360
+ _context.next = 47;
3301
3361
  break;
3302
3362
  }
3303
- return _context.abrupt("continue", 41);
3304
- case 39:
3363
+ return _context.abrupt("continue", 49);
3364
+ case 47:
3305
3365
  this.correctForceOptOfElement(_elementId, boxPlannerGrid, optionHandler, true);
3306
3366
  this.correctNeighborCustomOLTs(_elementId, boxPlannerGrid, optionHandler);
3307
- case 41:
3367
+ case 49:
3308
3368
  j++;
3309
- _context.next = 35;
3369
+ _context.next = 43;
3310
3370
  break;
3311
- case 44:
3371
+ case 52:
3312
3372
  i--;
3313
- _context.next = 33;
3373
+ _context.next = 41;
3314
3374
  break;
3315
- case 47:
3375
+ case 55:
3376
+ this.debugPhase = 'correctFoot';
3316
3377
  this.correctFoot(boxPlannerGrid, optionHandler);
3378
+ this.debugPhase = 'correctLadder';
3317
3379
  this.correctLadder(boxPlannerGrid, optionHandler);
3380
+ this.debugPhase = 'correctOptionsInfluencedByDimensions';
3318
3381
  this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs);
3382
+ this.debugPhase = 'correctOverHangingElement';
3319
3383
  this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
3384
+ this.debugPhase = 'calculateKnots';
3320
3385
  this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
3386
+ this.debugPhase = 'calculateRahmen';
3321
3387
  this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
3322
3388
 
3323
3389
  // update height after we corrected the foot since we need the correct one for the CoverPlate calc
3324
3390
  doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
3325
- _context.next = 56;
3391
+ _context.next = 70;
3326
3392
  return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
3327
- case 56:
3393
+ case 70:
3328
3394
  this.updateGridElementDimensions();
3395
+ this.debugPhase = 'correctCoverPlate';
3329
3396
  if (this.constructionRules.coverPlateRule) {
3330
3397
  _iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
3331
3398
  try {
@@ -3339,46 +3406,47 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3339
3406
  _iterator.f();
3340
3407
  }
3341
3408
  }
3409
+ this.debugPhase = 'correctBack';
3342
3410
  i = 0;
3343
- case 59:
3411
+ case 75:
3344
3412
  if (!(i < boxPlannerGrid.getColumnCount())) {
3345
- _context.next = 72;
3413
+ _context.next = 88;
3346
3414
  break;
3347
3415
  }
3348
3416
  j = 0;
3349
- case 61:
3417
+ case 77:
3350
3418
  if (!(j < boxPlannerGrid.getRowCount(i, false))) {
3351
- _context.next = 69;
3419
+ _context.next = 85;
3352
3420
  break;
3353
3421
  }
3354
3422
  _elementId2 = (_boxPlannerGrid$getPl4 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl4 === void 0 ? void 0 : _boxPlannerGrid$getPl4.getElementId();
3355
3423
  if (_elementId2) {
3356
- _context.next = 65;
3424
+ _context.next = 81;
3357
3425
  break;
3358
3426
  }
3359
- return _context.abrupt("continue", 66);
3360
- case 65:
3427
+ return _context.abrupt("continue", 82);
3428
+ case 81:
3361
3429
  this.correctBack(boxPlannerGrid, optionHandler, _elementId2);
3362
- case 66:
3430
+ case 82:
3363
3431
  j++;
3364
- _context.next = 61;
3432
+ _context.next = 77;
3365
3433
  break;
3366
- case 69:
3434
+ case 85:
3367
3435
  i++;
3368
- _context.next = 59;
3436
+ _context.next = 75;
3369
3437
  break;
3370
- case 72:
3438
+ case 88:
3371
3439
  doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
3372
- _context.next = 75;
3440
+ _context.next = 91;
3373
3441
  return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
3374
- case 75:
3442
+ case 91:
3375
3443
  this.updateIDMSpecificFeatures();
3376
3444
  this.updateGridElementDimensions();
3377
3445
  boxPlannerGrid.updateWorldPosOfElements();
3378
3446
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
3379
3447
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
3380
3448
  return _context.abrupt("return", resultMessage);
3381
- case 81:
3449
+ case 97:
3382
3450
  case "end":
3383
3451
  return _context.stop();
3384
3452
  }
@@ -5661,7 +5729,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
5661
5729
  };
5662
5730
  this.boxPlannerGrid = new BoxPlannerGrid(gridSetupParams, this.set.getValueOfOptionOfArticle);
5663
5731
  }
5732
+
5733
+ /** Read access for diagnosis tools (analyzer): the grid topology and the construction-rules state incl. debug trail. */
5664
5734
  return _createClass(DivaBoxPlanner, [{
5735
+ key: "getBoxPlannerGrid",
5736
+ value: function getBoxPlannerGrid() {
5737
+ return this.boxPlannerGrid;
5738
+ }
5739
+ }, {
5740
+ key: "getConstructionRulesHandler",
5741
+ value: function getConstructionRulesHandler() {
5742
+ return this.constructionRulesHandler;
5743
+ }
5744
+ }, {
5665
5745
  key: "initPlanner",
5666
5746
  value: function () {
5667
5747
  var _initPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(setPlanData) {
@@ -6240,12 +6320,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
6240
6320
  */
6241
6321
  }, {
6242
6322
  key: "updatePlannerTrans",
6243
- value: function updatePlannerTrans(elementId, deltaMove, deltaAngleDeg, rotCorrection, transState, autoDockingDistance) {
6323
+ value: function updatePlannerTrans(elementId, deltaMove, deltaAngleDeg, rotCorrection, transState, autoDockingDistance, turningPoint) {
6244
6324
  LOG.error(new DivaError('BoxPlanner - updatePlannerTrans not implemented yet', {
6245
6325
  code: 'WC_0012'
6246
6326
  }));
6247
6327
  return false;
6248
6328
  }
6329
+
6330
+ /** Box planner has no docking-point auto-snap — no preview. Present so `DivaPlanner` stays uniform. */
6331
+ }, {
6332
+ key: "getDockSnapPreview",
6333
+ value: function getDockSnapPreview(_elementId, _autoDockingDistance) {
6334
+ return null;
6335
+ }
6249
6336
  }, {
6250
6337
  key: "updateAllGridElementDimensions",
6251
6338
  value: function updateAllGridElementDimensions() {