@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
@@ -6,19 +6,21 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
6
  var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
8
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
9
- var index = require('./index-d63749e4.js');
9
+ var index = require('./index-7d87a838.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
13
13
  require('axios');
14
14
  require('@crystaldesign/basket-model');
15
15
  require('@babel/runtime/helpers/typeof');
16
+ require('fast-xml-parser');
16
17
  require('@babel/runtime/helpers/possibleConstructorReturn');
17
18
  require('@babel/runtime/helpers/getPrototypeOf');
18
19
  require('@babel/runtime/helpers/inherits');
19
20
  require('@babel/runtime/helpers/wrapNativeSuper');
20
21
  require('@crystaldesign/basket-handler');
21
22
  require('socket.io-client');
23
+ require('@crystaldesign/planner-2d-core');
22
24
 
23
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
26
 
@@ -30,6 +32,8 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
30
32
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
31
33
  var DivaUtils__default = /*#__PURE__*/_interopDefaultLegacy(DivaUtils);
32
34
 
35
+ function ownKeys(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; }
36
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
33
37
  var LOG = DivaUtils__default["default"].initLog('Planner', 'WEB-PLANNER-LOGIC');
34
38
  var ShelfPlanner = /*#__PURE__*/function () {
35
39
  function ShelfPlanner(data, article) {
@@ -58,6 +62,15 @@ var ShelfPlanner = /*#__PURE__*/function () {
58
62
  //rule so the shelfplanner cells get disabled when the neighbour (AVL or AVR) is smaller. eg: Ben sulvag
59
63
  _defineProperty__default["default"](this, "disableCellsByElement", void 0);
60
64
  _defineProperty__default["default"](this, "montageOptions", []);
65
+ /**
66
+ * Debug trail of shelf-planner mutations (the shelf equivalent of the box
67
+ * planner's constructionDebugStack): one entry per visibility flip, grid
68
+ * disable/enable/recreate, accessory placement/deletion and cell-disabling
69
+ * run — so "why did my accessory disappear" is answerable from history.
70
+ * Append-only (capped), NOT reset per configure.
71
+ */
72
+ _defineProperty__default["default"](this, "shelfDebugStack", []);
73
+ _defineProperty__default["default"](this, "shelfDebugSeq", 0);
61
74
  //true until the shelfaccessoires saved in the basket were restored into the cells (see restoreShelfAccessoires in the DivaSetHandler).
62
75
  //until then no initAcc may be placed, they would occupy the cells of the saved accessoires
63
76
  _defineProperty__default["default"](this, "restorePending", void 0);
@@ -90,6 +103,14 @@ var ShelfPlanner = /*#__PURE__*/function () {
90
103
  * init dictionary of all the accessoires that which can be free in theory
91
104
  */
92
105
  return _createClass__default["default"](ShelfPlanner, [{
106
+ key: "logShelfDebug",
107
+ value: function logShelfDebug(entry) {
108
+ this.shelfDebugStack.push(_objectSpread({
109
+ seq: this.shelfDebugSeq++
110
+ }, entry));
111
+ if (this.shelfDebugStack.length > 500) this.shelfDebugStack.splice(0, this.shelfDebugStack.length - 500);
112
+ }
113
+ }, {
93
114
  key: "initFreeArticles",
94
115
  value: function initFreeArticles() {
95
116
  if (!this.data.ShelfPlanner) return;
@@ -131,32 +152,37 @@ var ShelfPlanner = /*#__PURE__*/function () {
131
152
  while (1) switch (_context.prev = _context.next) {
132
153
  case 0:
133
154
  if (!(this.isVisible != isVisible)) {
134
- _context.next = 12;
155
+ _context.next = 13;
135
156
  break;
136
157
  }
158
+ this.logShelfDebug({
159
+ phase: 'visibility',
160
+ action: isVisible ? 'plannerShown' : 'plannerHidden',
161
+ detail: isVisible ? undefined : 'showOnRule/visibility turned false — all placed accessories are deleted'
162
+ });
137
163
  if (!isVisible) {
138
- _context.next = 10;
164
+ _context.next = 11;
139
165
  break;
140
166
  }
141
167
  this.isVisible = isVisible;
142
168
  if (this.article.shelfPlanData) {
143
- _context.next = 8;
169
+ _context.next = 9;
144
170
  break;
145
171
  }
146
- _context.next = 6;
172
+ _context.next = 7;
147
173
  return this.onConfigChanged({});
148
- case 6:
149
- _context.next = 8;
174
+ case 7:
175
+ _context.next = 9;
150
176
  return this.initAccList();
151
- case 8:
152
- _context.next = 12;
177
+ case 9:
178
+ _context.next = 13;
153
179
  break;
154
- case 10:
155
- _context.next = 12;
180
+ case 11:
181
+ _context.next = 13;
156
182
  return this.deleteAllAcc();
157
- case 12:
158
- this.isVisible = isVisible;
159
183
  case 13:
184
+ this.isVisible = isVisible;
185
+ case 14:
160
186
  case "end":
161
187
  return _context.stop();
162
188
  }
@@ -175,7 +201,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
175
201
  key: "onConfigChanged",
176
202
  value: (function () {
177
203
  var _onConfigChanged = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(variantValues) {
178
- var newHeightSet, gridsTodos, i, _i, _i2, grid, grids, _i3, _grid$DisableCellsByM, _grid;
204
+ var newHeightSet, gridsTodos, i, _i, grid, _i2, _i3, _grid, grids, _i4, _grid2$DisableCellsBy, _grid2;
179
205
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
180
206
  while (1) switch (_context2.prev = _context2.next) {
181
207
  case 0:
@@ -184,7 +210,6 @@ var ShelfPlanner = /*#__PURE__*/function () {
184
210
  for (i = 0; i < this.grids.length; i++) {
185
211
  gridsTodos.push(this.grids[i].onConfigChanged());
186
212
  }
187
- //first delete all disables grids then init all the new ones
188
213
  _i = 0;
189
214
  case 4:
190
215
  if (!(_i < gridsTodos.length)) {
@@ -197,10 +222,19 @@ var ShelfPlanner = /*#__PURE__*/function () {
197
222
  }
198
223
  return _context2.abrupt("continue", 10);
199
224
  case 7:
200
- //remember the accessoires before they get deleted, so they can be placed again when the grid becomes active again
201
- this.stashAccessoiresOfGrid(_i);
202
- _context2.next = 10;
203
- return this.grids[_i].deleteAllAccOfGrid();
225
+ grid = this.grids[_i];
226
+ if (gridsTodos[_i].includes('disableGridRule')) this.logShelfDebug({
227
+ phase: 'configChanged',
228
+ action: grid.DisabledByRule ? 'gridDisabledByRule' : 'gridEnabledByRule',
229
+ gridIndex: grid.ShelfIndex,
230
+ detail: grid.ShowOnRule
231
+ });
232
+ if (gridsTodos[_i].includes('heightGridRule')) this.logShelfDebug({
233
+ phase: 'configChanged',
234
+ action: 'gridRecreated',
235
+ gridIndex: grid.ShelfIndex,
236
+ detail: 'HeightGridCellCountOnRule match changed — grid rebuilt (cell count / placeable accessories can change), its accessories are deleted'
237
+ });
204
238
  case 10:
205
239
  _i++;
206
240
  _context2.next = 4;
@@ -209,74 +243,95 @@ var ShelfPlanner = /*#__PURE__*/function () {
209
243
  _i2 = 0;
210
244
  case 14:
211
245
  if (!(_i2 < gridsTodos.length)) {
212
- _context2.next = 30;
246
+ _context2.next = 23;
213
247
  break;
214
248
  }
215
249
  if (gridsTodos[_i2].length) {
216
250
  _context2.next = 17;
217
251
  break;
218
252
  }
219
- return _context2.abrupt("continue", 27);
253
+ return _context2.abrupt("continue", 20);
220
254
  case 17:
221
- if (gridsTodos[_i2].includes('heightGridRule')) {
222
- this.creatNewGrid(_i2);
255
+ //remember the accessoires before they get deleted, so they can be placed again when the grid becomes active again
256
+ this.stashAccessoiresOfGrid(_i2);
257
+ _context2.next = 20;
258
+ return this.grids[_i2].deleteAllAccOfGrid();
259
+ case 20:
260
+ _i2++;
261
+ _context2.next = 14;
262
+ break;
263
+ case 23:
264
+ _i3 = 0;
265
+ case 24:
266
+ if (!(_i3 < gridsTodos.length)) {
267
+ _context2.next = 40;
268
+ break;
269
+ }
270
+ if (gridsTodos[_i3].length) {
271
+ _context2.next = 27;
272
+ break;
273
+ }
274
+ return _context2.abrupt("continue", 37);
275
+ case 27:
276
+ if (gridsTodos[_i3].includes('heightGridRule')) {
277
+ this.creatNewGrid(_i3);
223
278
  newHeightSet = true;
224
279
  }
225
280
  //read the grid after a possible recreate, the replaced one is not the grid that gets filled
226
- grid = this.grids[_i2];
227
- if (!((gridsTodos[_i2].includes('heightGridRule') || gridsTodos[_i2].includes('disableGridRule')) && !grid.DisabledByRule)) {
228
- _context2.next = 27;
281
+ _grid = this.grids[_i3];
282
+ if (!((gridsTodos[_i3].includes('heightGridRule') || gridsTodos[_i3].includes('disableGridRule')) && !_grid.DisabledByRule)) {
283
+ _context2.next = 37;
229
284
  break;
230
285
  }
231
286
  if (!this.restorePending) {
232
- _context2.next = 22;
287
+ _context2.next = 32;
233
288
  break;
234
289
  }
235
- return _context2.abrupt("continue", 27);
236
- case 22:
237
- _context2.next = 24;
238
- return this.placeStashedAccessoiresOfGrid(_i2);
239
- case 24:
290
+ return _context2.abrupt("continue", 37);
291
+ case 32:
292
+ _context2.next = 34;
293
+ return this.placeStashedAccessoiresOfGrid(_i3);
294
+ case 34:
240
295
  if (_context2.sent) {
241
- _context2.next = 27;
296
+ _context2.next = 37;
242
297
  break;
243
298
  }
244
- _context2.next = 27;
245
- return this.initAccList(_i2);
246
- case 27:
247
- _i2++;
248
- _context2.next = 14;
299
+ _context2.next = 37;
300
+ return this.initAccList(_i3);
301
+ case 37:
302
+ _i3++;
303
+ _context2.next = 24;
249
304
  break;
250
- case 30:
305
+ case 40:
251
306
  if (!(!newHeightSet && Object.keys(variantValues).length)) {
252
- _context2.next = 41;
307
+ _context2.next = 51;
253
308
  break;
254
309
  }
255
310
  grids = this.activeGrids;
256
- _i3 = 0;
257
- case 33:
258
- if (!(_i3 < grids.length)) {
259
- _context2.next = 41;
311
+ _i4 = 0;
312
+ case 43:
313
+ if (!(_i4 < grids.length)) {
314
+ _context2.next = 51;
260
315
  break;
261
316
  }
262
- _grid = grids[_i3];
263
- if (!((_grid$DisableCellsByM = _grid.DisableCellsByMeasures) !== null && _grid$DisableCellsByM !== void 0 && _grid$DisableCellsByM.options.find(function (o) {
317
+ _grid2 = grids[_i4];
318
+ if (!((_grid2$DisableCellsBy = _grid2.DisableCellsByMeasures) !== null && _grid2$DisableCellsBy !== void 0 && _grid2$DisableCellsBy.options.find(function (o) {
264
319
  return Object.keys(variantValues).includes('OPT' + o.opt);
265
- }) || !!_grid.disableCellsByRules)) {
266
- _context2.next = 38;
320
+ }) || !!_grid2.disableCellsByRules)) {
321
+ _context2.next = 48;
267
322
  break;
268
323
  }
269
324
  newHeightSet = true;
270
- return _context2.abrupt("break", 41);
271
- case 38:
272
- _i3++;
273
- _context2.next = 33;
325
+ return _context2.abrupt("break", 51);
326
+ case 48:
327
+ _i4++;
328
+ _context2.next = 43;
274
329
  break;
275
- case 41:
330
+ case 51:
276
331
  if (newHeightSet) {
277
332
  this.updateDisabledCells();
278
333
  }
279
- case 42:
334
+ case 52:
280
335
  case "end":
281
336
  return _context2.stop();
282
337
  }
@@ -523,7 +578,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
523
578
  i = 0;
524
579
  case 2:
525
580
  if (!(i < grids.length)) {
526
- _context6.next = 36;
581
+ _context6.next = 37;
527
582
  break;
528
583
  }
529
584
  grid = grids[i];
@@ -531,72 +586,80 @@ var ShelfPlanner = /*#__PURE__*/function () {
531
586
  _context6.next = 6;
532
587
  break;
533
588
  }
534
- return _context6.abrupt("continue", 33);
589
+ return _context6.abrupt("continue", 34);
535
590
  case 6:
536
591
  if (grid.InitAccArr) {
537
592
  _context6.next = 8;
538
593
  break;
539
594
  }
540
- return _context6.abrupt("continue", 33);
595
+ return _context6.abrupt("continue", 34);
541
596
  case 8:
542
597
  j = 0;
543
598
  case 9:
544
599
  if (!(j < grid.InitAccArr.length)) {
545
- _context6.next = 33;
600
+ _context6.next = 34;
546
601
  break;
547
602
  }
548
603
  initAcc = grid.InitAccArr[j];
549
604
  k = 0;
550
605
  case 12:
551
606
  if (!(k < initAcc.initRH.length)) {
552
- _context6.next = 30;
607
+ _context6.next = 31;
553
608
  break;
554
609
  }
555
610
  grid.ActAccessoire = initAcc.Codex;
556
- _context6.next = 16;
611
+ this.logShelfDebug({
612
+ phase: 'initAccessories',
613
+ action: 'initAccessoryRequested',
614
+ gridIndex: grid.ShelfIndex,
615
+ cellIndex: initAcc.initRH[k],
616
+ articleCodex: initAcc.Codex,
617
+ detail: 'from InitAccArr — a missing matching accessoryPlaced entry right after means the init placement failed'
618
+ });
619
+ _context6.next = 17;
557
620
  return index.setHandlerInstance.addAccessorieOnShelfPlanner(this.article.set, grid.ShelfIndex, initAcc.initRH[k], grid.basketId, {
558
621
  noMove: initAcc.noMove,
559
622
  noDelete: initAcc.noDelete,
560
623
  byInit: true
561
624
  });
562
- case 16:
625
+ case 17:
563
626
  if (!initAcc.replaceFromParent) {
564
- _context6.next = 26;
627
+ _context6.next = 27;
565
628
  break;
566
629
  }
567
630
  shelfId = this.getShelfParentShelfId();
568
631
  if (!(shelfId && (_this$article$accesso = this.article.accessoireParentArticle) !== null && _this$article$accesso !== void 0 && _this$article$accesso.shelfPlanner)) {
569
- _context6.next = 26;
632
+ _context6.next = 27;
570
633
  break;
571
634
  }
572
635
  accessoires = this.article.accessoireParentArticle.shelfPlanner.getAccessorireByCodex(shelfId, initAcc.Codex);
573
636
  if (!(accessoires && accessoires.length > 0)) {
574
- _context6.next = 26;
637
+ _context6.next = 27;
575
638
  break;
576
639
  }
577
640
  accessoireToDelete = accessoires[0];
578
641
  rh = (_accessoireToDelete$s = accessoireToDelete.shelfPlanner) === null || _accessoireToDelete$s === void 0 ? void 0 : _accessoireToDelete$s.getRHOnParentArticle();
579
642
  if (!(rh !== undefined && accessoireToDelete.relatedToShelfGrid !== undefined)) {
580
- _context6.next = 26;
643
+ _context6.next = 27;
581
644
  break;
582
645
  }
583
- _context6.next = 26;
646
+ _context6.next = 27;
584
647
  return index.setHandlerInstance.deleteAccessorieOnShelfPlanner(this.article.set, accessoireToDelete.relatedToShelfGrid, rh, this.article.accessoireParentArticle.basketId);
585
- case 26:
586
- grid.ActAccessoire = undefined;
587
648
  case 27:
649
+ grid.ActAccessoire = undefined;
650
+ case 28:
588
651
  k++;
589
652
  _context6.next = 12;
590
653
  break;
591
- case 30:
654
+ case 31:
592
655
  j++;
593
656
  _context6.next = 9;
594
657
  break;
595
- case 33:
658
+ case 34:
596
659
  i++;
597
660
  _context6.next = 2;
598
661
  break;
599
- case 36:
662
+ case 37:
600
663
  case "end":
601
664
  return _context6.stop();
602
665
  }
@@ -632,7 +695,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
632
695
  key: "triggerVisibility",
633
696
  value: function () {
634
697
  var _triggerVisibility = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee7(gridGroup) {
635
- var toCleanOptions, toUpdateOptions, i, grid, _i4, option, visitOptionState;
698
+ var toCleanOptions, toUpdateOptions, i, grid, _i5, option, visitOptionState;
636
699
  return _regeneratorRuntime__default["default"].wrap(function _callee7$(_context7) {
637
700
  while (1) switch (_context7.prev = _context7.next) {
638
701
  case 0:
@@ -668,13 +731,13 @@ var ShelfPlanner = /*#__PURE__*/function () {
668
731
  _context7.next = 3;
669
732
  break;
670
733
  case 13:
671
- _i4 = 0;
734
+ _i5 = 0;
672
735
  case 14:
673
- if (!(_i4 < [].concat(toUpdateOptions, toCleanOptions).length)) {
736
+ if (!(_i5 < [].concat(toUpdateOptions, toCleanOptions).length)) {
674
737
  _context7.next = 23;
675
738
  break;
676
739
  }
677
- option = [].concat(toUpdateOptions, toCleanOptions)[_i4];
740
+ option = [].concat(toUpdateOptions, toCleanOptions)[_i5];
678
741
  visitOptionState = this.article.getArticleOptionState((!this.article.CatalogData.isIDMFormat ? 'OPT' : '') + option);
679
742
  if (!visitOptionState) {
680
743
  _context7.next = 20;
@@ -683,7 +746,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
683
746
  _context7.next = 20;
684
747
  return index.articleHandlerInstance.updateOption(this.article, visitOptionState.optionCodex, toUpdateOptions.includes(option) ? 'OPVMIT' : 'OPVOHNE');
685
748
  case 20:
686
- _i4++;
749
+ _i5++;
687
750
  _context7.next = 14;
688
751
  break;
689
752
  case 23:
@@ -828,7 +891,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
828
891
  key: "deleteAccessoireOfCellInGrid",
829
892
  value: (function () {
830
893
  var _deleteAccessoireOfCellInGrid = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee9(gridIndex, cellIndex) {
831
- var grid, inUse, deleteIndex, onBoardCell, accessoire;
894
+ var grid, inUse, deleteIndex, onBoardCell, accessoire, deleted;
832
895
  return _regeneratorRuntime__default["default"].wrap(function _callee9$(_context9) {
833
896
  while (1) switch (_context9.prev = _context9.next) {
834
897
  case 0:
@@ -855,8 +918,17 @@ var ShelfPlanner = /*#__PURE__*/function () {
855
918
  _context9.next = 10;
856
919
  return grid.deleteAccessoireInCells(deleteIndex);
857
920
  case 10:
858
- return _context9.abrupt("return", _context9.sent);
859
- case 11:
921
+ deleted = _context9.sent;
922
+ if (deleted) this.logShelfDebug({
923
+ phase: 'placement',
924
+ action: 'accessoryDeleted',
925
+ gridIndex: gridIndex,
926
+ cellIndex: deleteIndex,
927
+ articleCodex: deleted.articleCodex,
928
+ articleName: deleted.name
929
+ });
930
+ return _context9.abrupt("return", deleted);
931
+ case 13:
860
932
  case "end":
861
933
  return _context9.stop();
862
934
  }
@@ -898,7 +970,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
898
970
  key: "handleDeleteTakePlaceOnOtherGrids",
899
971
  value: (function () {
900
972
  var _handleDeleteTakePlaceOnOtherGrids = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee10(gridIndex, cellIndex, accessoire) {
901
- var i, _cell$Article, cell, _i5, _cell$Article2, _cell, _i6;
973
+ var i, _cell$Article, cell, _i6, _cell$Article2, _cell, _i7;
902
974
  return _regeneratorRuntime__default["default"].wrap(function _callee10$(_context10) {
903
975
  while (1) switch (_context10.prev = _context10.next) {
904
976
  case 0:
@@ -917,8 +989,8 @@ var ShelfPlanner = /*#__PURE__*/function () {
917
989
  }
918
990
  }
919
991
  if (accessoire.shelfHeightBelow) {
920
- for (_i5 = 0; _i5 < accessoire.shelfHeightBelow; _i5++) {
921
- _cell = this.grids[gridIndex].Cells[cellIndex - (_i5 + 1)];
992
+ for (_i6 = 0; _i6 < accessoire.shelfHeightBelow; _i6++) {
993
+ _cell = this.grids[gridIndex].Cells[cellIndex - (_i6 + 1)];
922
994
  if ((_cell === null || _cell === void 0 || (_cell$Article2 = _cell.Article) === null || _cell$Article2 === void 0 ? void 0 : _cell$Article2.basketId) === accessoire.basketId) {
923
995
  _cell.ClearInUse();
924
996
  }
@@ -928,22 +1000,22 @@ var ShelfPlanner = /*#__PURE__*/function () {
928
1000
  _context10.next = 14;
929
1001
  break;
930
1002
  }
931
- _i6 = 0;
1003
+ _i7 = 0;
932
1004
  case 6:
933
- if (!(_i6 < this.grids.length)) {
1005
+ if (!(_i7 < this.grids.length)) {
934
1006
  _context10.next = 14;
935
1007
  break;
936
1008
  }
937
- if (!(_i6 === gridIndex)) {
1009
+ if (!(_i7 === gridIndex)) {
938
1010
  _context10.next = 9;
939
1011
  break;
940
1012
  }
941
1013
  return _context10.abrupt("continue", 11);
942
1014
  case 9:
943
1015
  _context10.next = 11;
944
- return this.grids[_i6].deleteAccessoireInCells(cellIndex);
1016
+ return this.grids[_i7].deleteAccessoireInCells(cellIndex);
945
1017
  case 11:
946
- _i6++;
1018
+ _i7++;
947
1019
  _context10.next = 6;
948
1020
  break;
949
1021
  case 14:
@@ -977,25 +1049,41 @@ var ShelfPlanner = /*#__PURE__*/function () {
977
1049
  i = 0;
978
1050
  case 2:
979
1051
  if (!(i < grids.length)) {
980
- _context11.next = 11;
1052
+ _context11.next = 13;
981
1053
  break;
982
1054
  }
983
1055
  grid = grids[i];
984
1056
  if (!grid.DisabledByRule) {
985
- _context11.next = 6;
1057
+ _context11.next = 7;
986
1058
  break;
987
1059
  }
988
- return _context11.abrupt("continue", 8);
989
- case 6:
990
- _context11.next = 8;
1060
+ this.logShelfDebug({
1061
+ phase: 'placement',
1062
+ action: 'placementSkippedGridDisabled',
1063
+ gridIndex: grid.ShelfIndex,
1064
+ cellIndex: cellIndex,
1065
+ articleCodex: accessoire.articleCodex
1066
+ });
1067
+ return _context11.abrupt("continue", 10);
1068
+ case 7:
1069
+ this.logShelfDebug({
1070
+ phase: 'placement',
1071
+ action: 'accessoryPlaced',
1072
+ gridIndex: grid.ShelfIndex,
1073
+ cellIndex: cellIndex,
1074
+ articleCodex: accessoire.articleCodex,
1075
+ articleName: accessoire.name,
1076
+ detail: type + (grid.ShelfIndex !== gridIndex ? ' (placeholder via TakePlaceOnOtherGrids)' : '')
1077
+ });
1078
+ _context11.next = 10;
991
1079
  return grids[i].addAccessoireInCells(cellIndex, accessoire, type, grid.ShelfIndex !== gridIndex ? true : params === null || params === void 0 ? void 0 : params.noMove, grid.ShelfIndex !== gridIndex ? true : params === null || params === void 0 ? void 0 : params.noDelete, grid.ShelfIndex !== gridIndex ? true : undefined);
992
- case 8:
1080
+ case 10:
993
1081
  i++;
994
1082
  _context11.next = 2;
995
1083
  break;
996
- case 11:
1084
+ case 13:
997
1085
  this.checkForFreeAccessoire(accessoire);
998
- case 12:
1086
+ case 14:
999
1087
  case "end":
1000
1088
  return _context11.stop();
1001
1089
  }
@@ -1224,6 +1312,7 @@ var ShelfPlanner = /*#__PURE__*/function () {
1224
1312
  depth: catalogArticle.depth,
1225
1313
  cellSize: catalogArticle.shelfHeight,
1226
1314
  metaData: catalogArticle.metaDataView,
1315
+ accessoireFamily: catalogArticle.accessoireFamily,
1227
1316
  contentItemId: catalogArticle.contentItemId,
1228
1317
  groupContentItemId: catalogArticle.groupContentItemId,
1229
1318
  partlistcodexes: catalogArticle.possiblePartlistCodexes
@@ -1308,68 +1397,93 @@ var ShelfPlanner = /*#__PURE__*/function () {
1308
1397
  key: "disableCellsByDockedShelfs",
1309
1398
  value: (function () {
1310
1399
  var _disableCellsByDockedShelfs = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee12(count) {
1311
- var grids, i, grid, gridCount, toDisableCells, useCount, j, _j, cell, _j2;
1312
- return _regeneratorRuntime__default["default"].wrap(function _callee12$(_context12) {
1313
- while (1) switch (_context12.prev = _context12.next) {
1400
+ var _this2 = this;
1401
+ var grids, _loop2, i;
1402
+ return _regeneratorRuntime__default["default"].wrap(function _callee12$(_context13) {
1403
+ while (1) switch (_context13.prev = _context13.next) {
1314
1404
  case 0:
1315
1405
  grids = this.activeGrids;
1406
+ _loop2 = /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _loop2() {
1407
+ var grid, gridCount, toDisableCells, useCount, j, newlyDisabled, newlyEnabled, _j, cell, _j2;
1408
+ return _regeneratorRuntime__default["default"].wrap(function _loop2$(_context12) {
1409
+ while (1) switch (_context12.prev = _context12.next) {
1410
+ case 0:
1411
+ grid = grids[i];
1412
+ gridCount = grid.getCellCount();
1413
+ toDisableCells = grid.getDisabledCellsByRule();
1414
+ useCount = count == undefined || count > gridCount ? gridCount : count;
1415
+ for (j = useCount; j < grid.Cells.length; j++) {
1416
+ toDisableCells.push(j);
1417
+ }
1418
+ newlyDisabled = toDisableCells.filter(function (idx) {
1419
+ return grid.Cells[idx] && !grid.Cells[idx].IsDisabled;
1420
+ });
1421
+ newlyEnabled = grid.Cells.filter(function (cell, j) {
1422
+ return cell.IsDisabled && !toDisableCells.includes(j);
1423
+ }).length;
1424
+ if (newlyDisabled.length || newlyEnabled) _this2.logShelfDebug({
1425
+ phase: 'docking',
1426
+ action: 'disabledCellsUpdated',
1427
+ gridIndex: grid.ShelfIndex,
1428
+ detail: "newlyDisabled=[".concat(newlyDisabled.slice(0, 30).join(','), "] reEnabled=").concat(newlyEnabled, " ") + "(sources: DisableCellsByRules/measures=".concat(grid.getDisabledCellsByRule().length, ", beyond cellCount/docking cap=").concat(grid.Cells.length - useCount, "); ") + 'an occupied cell that gets disabled deletes its accessory'
1429
+ });
1430
+ _j = 0;
1431
+ case 9:
1432
+ if (!(_j < toDisableCells.length)) {
1433
+ _context12.next = 18;
1434
+ break;
1435
+ }
1436
+ cell = grid.Cells[toDisableCells[_j]];
1437
+ if (!(cell.InUse == toDisableCells[_j])) {
1438
+ _context12.next = 14;
1439
+ break;
1440
+ }
1441
+ _context12.next = 14;
1442
+ return index.setHandlerInstance.deleteAccessorieOnShelfPlanner(_this2.article.set, grid.ShelfIndex, cell.InUse, grid.basketId);
1443
+ case 14:
1444
+ cell.IsDisabled = true;
1445
+ case 15:
1446
+ _j++;
1447
+ _context12.next = 9;
1448
+ break;
1449
+ case 18:
1450
+ _j2 = 0;
1451
+ case 19:
1452
+ if (!(_j2 < grid.Cells.length)) {
1453
+ _context12.next = 26;
1454
+ break;
1455
+ }
1456
+ if (!toDisableCells.includes(_j2)) {
1457
+ _context12.next = 22;
1458
+ break;
1459
+ }
1460
+ return _context12.abrupt("continue", 23);
1461
+ case 22:
1462
+ grid.Cells[_j2].IsDisabled = false;
1463
+ case 23:
1464
+ _j2++;
1465
+ _context12.next = 19;
1466
+ break;
1467
+ case 26:
1468
+ case "end":
1469
+ return _context12.stop();
1470
+ }
1471
+ }, _loop2);
1472
+ });
1316
1473
  i = 0;
1317
- case 2:
1474
+ case 3:
1318
1475
  if (!(i < grids.length)) {
1319
- _context12.next = 29;
1320
- break;
1321
- }
1322
- grid = grids[i];
1323
- gridCount = grid.getCellCount();
1324
- toDisableCells = grid.getDisabledCellsByRule();
1325
- useCount = count == undefined || count > gridCount ? gridCount : count;
1326
- for (j = useCount; j < grid.Cells.length; j++) {
1327
- toDisableCells.push(j);
1328
- }
1329
- _j = 0;
1330
- case 9:
1331
- if (!(_j < toDisableCells.length)) {
1332
- _context12.next = 18;
1333
- break;
1334
- }
1335
- cell = grid.Cells[toDisableCells[_j]];
1336
- if (!(cell.InUse == toDisableCells[_j])) {
1337
- _context12.next = 14;
1338
- break;
1339
- }
1340
- _context12.next = 14;
1341
- return index.setHandlerInstance.deleteAccessorieOnShelfPlanner(this.article.set, grid.ShelfIndex, cell.InUse, grid.basketId);
1342
- case 14:
1343
- cell.IsDisabled = true;
1344
- case 15:
1345
- _j++;
1346
- _context12.next = 9;
1347
- break;
1348
- case 18:
1349
- _j2 = 0;
1350
- case 19:
1351
- if (!(_j2 < grid.Cells.length)) {
1352
- _context12.next = 26;
1476
+ _context13.next = 8;
1353
1477
  break;
1354
1478
  }
1355
- if (!toDisableCells.includes(_j2)) {
1356
- _context12.next = 22;
1357
- break;
1358
- }
1359
- return _context12.abrupt("continue", 23);
1360
- case 22:
1361
- grid.Cells[_j2].IsDisabled = false;
1362
- case 23:
1363
- _j2++;
1364
- _context12.next = 19;
1365
- break;
1366
- case 26:
1479
+ return _context13.delegateYield(_loop2(), "t0", 5);
1480
+ case 5:
1367
1481
  i++;
1368
- _context12.next = 2;
1482
+ _context13.next = 3;
1369
1483
  break;
1370
- case 29:
1484
+ case 8:
1371
1485
  case "end":
1372
- return _context12.stop();
1486
+ return _context13.stop();
1373
1487
  }
1374
1488
  }, _callee12, this);
1375
1489
  }));