@crystaldesign/web-planner-logic 24.12.3 → 24.12.4

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 (39) hide show
  1. package/build/cjs/{DivaBoxPlanner-e967223b.js → DivaBoxPlanner-34fe201e.js} +80 -6
  2. package/build/cjs/{DivaStandardPlanner-df121a59.js → DivaStandardPlanner-8986b134.js} +15 -3
  3. package/build/cjs/{DoorPlanner-724a4eb2.js → DoorPlanner-e601583f.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-77fa4dfc.js → Host3DSignalR-03547a9f.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-2b99e5e7.js → LiviqueWWSHandler-d38c5dac.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-814562e2.js → PfisterWWSHandler-3428c42b.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-874480c8.js → PlannerHandler2D-01da53ee.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-d7fa966a.js → SeriousBasketHandler-b24ac7c7.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-1d4e94bf.js → ShelfPlanner-6db40a6f.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-a6f529e5.js → StandardWWSHandler-9ab63575.js} +1 -1
  11. package/build/cjs/{index-4c001dc6.js → index-2d3d3b2a.js} +67 -31
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-be3d1b06.js → DivaBoxPlanner-0ee6d0c0.js} +80 -6
  14. package/build/esm/{DivaStandardPlanner-7d047c60.js → DivaStandardPlanner-1e84acbb.js} +15 -3
  15. package/build/esm/{DoorPlanner-b276c501.js → DoorPlanner-372c868c.js} +1 -1
  16. package/build/esm/{Host3DSignalR-b52a30e9.js → Host3DSignalR-b11d2eff.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-af661130.js → LiviqueWWSHandler-66b6a184.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-fe84ac9f.js → PfisterWWSHandler-fc1050da.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-c99d8c32.js → PlannerHandler2D-9c83e526.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-506ee896.js → SeriousBasketHandler-a04fd70b.js} +1 -1
  21. package/build/esm/{ShelfPlanner-4ab87e90.js → ShelfPlanner-0c70895b.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-17347371.js → StandardWWSHandler-066b7a30.js} +1 -1
  23. package/build/esm/{index-0a8f98f9.js → index-e3c632fc.js} +67 -31
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts +1 -0
  26. package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  28. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +13 -0
  29. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts.map +1 -1
  30. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +5 -0
  31. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  32. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts +7 -0
  33. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +6 -0
  35. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  36. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +6 -0
  37. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  39. package/package.json +2 -2
@@ -5,10 +5,10 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-4c001dc6.js');
8
+ var index = require('./index-2d3d3b2a.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
- var PlannerHandler2D = require('./PlannerHandler2D-874480c8.js');
11
+ var PlannerHandler2D = require('./PlannerHandler2D-01da53ee.js');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
13
13
  require('@babel/runtime/helpers/slicedToArray');
14
14
  require('axios');
@@ -2990,6 +2990,16 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2990
2990
  value: function getMaxElemCountPerColumn() {
2991
2991
  return this.constructionRules.maxElemCountPerCol;
2992
2992
  }
2993
+
2994
+ /**
2995
+ * This function returns true when the whole planning can have only elements on the same hight like Elin configurator
2996
+ * @returns
2997
+ */
2998
+ }, {
2999
+ key: "getForceWholePlanningSameHeight",
3000
+ value: function getForceWholePlanningSameHeight() {
3001
+ return this.constructionRules.forceWholePlanningSameHeight;
3002
+ }
2993
3003
  }]);
2994
3004
  }();
2995
3005
 
@@ -3355,7 +3365,6 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3355
3365
  }
3356
3366
  return curElementGrid.length > index ? result : undefined;
3357
3367
  }
3358
-
3359
3368
  /**
3360
3369
  * This function returns the count of columns in the grid
3361
3370
  */
@@ -3495,6 +3504,27 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3495
3504
  return new index.Vector3(width, height, depth);
3496
3505
  }
3497
3506
 
3507
+ /**
3508
+ * Returns all other elements in the grid that are in the same row as the elementId from the parameter
3509
+ * @param elementId
3510
+ */
3511
+ }, {
3512
+ key: "getAllElementsInSameRowByElementId",
3513
+ value: function getAllElementsInSameRowByElementId(elementId) {
3514
+ var gridPos = this.getIndexInGridByElementId(elementId);
3515
+ var allElementsInRow = this.getAllElementsInRow(gridPos.row, false);
3516
+ if (this.hasActiveBackside) {
3517
+ allElementsInRow = allElementsInRow.concat(this.getAllElementsInRow(gridPos.row, true));
3518
+ }
3519
+ return {
3520
+ elementIds: allElementsInRow.map(function (obj) {
3521
+ return obj.ElementId;
3522
+ }),
3523
+ plannerElements: allElementsInRow,
3524
+ backside: gridPos.backside
3525
+ };
3526
+ }
3527
+
3498
3528
  /**
3499
3529
  * Returns all Elements that are under the specified element
3500
3530
  */
@@ -3518,6 +3548,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3518
3548
  backside: gridPos.backside
3519
3549
  };
3520
3550
  }
3551
+ }, {
3552
+ key: "getAllElementsInSameCol",
3553
+ value: function getAllElementsInSameCol(elementId) {
3554
+ var gridPos = this.getIndexInGridByElementId(elementId);
3555
+ var allElements = this.getAllElementsInColumn(gridPos.col, gridPos.backside);
3556
+ if (allElements == undefined) allElements = [];
3557
+ return {
3558
+ elements: allElements.map(function (obj) {
3559
+ return obj.ElementId;
3560
+ }),
3561
+ backside: gridPos.backside
3562
+ };
3563
+ }
3521
3564
  }, {
3522
3565
  key: "prepareGridForCopy",
3523
3566
  value: function prepareGridForCopy(elementId, copyDir) {
@@ -4175,6 +4218,24 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4175
4218
  value: function initIDM3DMeta(IDM3DCatCodex) {
4176
4219
  LOG.debug('No IDM3D Planner for BoxPlanner');
4177
4220
  }
4221
+
4222
+ /**
4223
+ * This function returns all Planner Elements that are influenced when deletingan element ID.
4224
+ * This is important when it is forced that the whole planing has to have the same height all the time.
4225
+ * @param elementId
4226
+ */
4227
+ }, {
4228
+ key: "getPlannerElementsInfluencedByDeletion",
4229
+ value: function getPlannerElementsInfluencedByDeletion(elementId) {
4230
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4231
+ var index = this.boxPlannerGrid.getIndexInGridByElementId(elementId);
4232
+ if (index.row == 0) return [elementId]; //In the base row only delete the actual element, not the whole row
4233
+ var result = this.boxPlannerGrid.getAllElementsInSameRowByElementId(elementId);
4234
+ return result.elementIds;
4235
+ } else {
4236
+ return [elementId];
4237
+ }
4238
+ }
4178
4239
  /**
4179
4240
  * This function returns all elements that are influenced by copying them.
4180
4241
  * In the box Planner all elements under the Element to copy are copied as well
@@ -4203,10 +4264,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4203
4264
  switch (copyInfo.dpType) {
4204
4265
  case 'AVL':
4205
4266
  case 'AVR':
4206
- var result = this.boxPlannerGrid.getAllElementsDown(elementId);
4207
- allElementsToCopy = allElementsToCopy.concat(result.elements);
4208
- result.backside;
4267
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4268
+ var result = this.boxPlannerGrid.getAllElementsInSameCol(elementId);
4269
+ allElementsToCopy = result.elements;
4270
+ result.backside;
4271
+ } else {
4272
+ var _result = this.boxPlannerGrid.getAllElementsDown(elementId);
4273
+ allElementsToCopy = allElementsToCopy.concat(_result.elements);
4274
+ _result.backside;
4275
+ }
4209
4276
  break;
4277
+ case 'AVO':
4278
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4279
+ var resultCopyUp = this.boxPlannerGrid.getAllElementsInSameRowByElementId(elementId);
4280
+ allElementsToCopy = resultCopyUp.elementIds;
4281
+ resultCopyUp.backside;
4282
+ }
4210
4283
  }
4211
4284
  if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
4212
4285
  allElementsToCopy = allElementsToCopy.concat(this.boxPlannerGrid.getAllOppositeElements(allElementsToCopy));
@@ -4219,6 +4292,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4219
4292
  /**
4220
4293
  * Delete Box Planner element
4221
4294
  * If the box planner has an active backside, then it also deletes the opposite element
4295
+ * If forceWholePlanningSame Height is set to true, then all elements in the same row are deleted.
4222
4296
  * @param elementId ElementID of the element that should be deleted.
4223
4297
  * @returns elementId of the next to select element
4224
4298
  */
@@ -5,8 +5,8 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-4c001dc6.js');
9
- var PlannerHandler2D = require('./PlannerHandler2D-874480c8.js');
8
+ var index = require('./index-2d3d3b2a.js');
9
+ var PlannerHandler2D = require('./PlannerHandler2D-01da53ee.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/objectWithoutProperties');
12
12
  require('@babel/runtime/helpers/slicedToArray');
@@ -1258,7 +1258,19 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
1258
1258
  return _copyPlannerElement.apply(this, arguments);
1259
1259
  }
1260
1260
  return copyPlannerElement;
1261
- }())
1261
+ }()
1262
+ /**
1263
+ * This function returns all Planner Elements that are influenced when deletingan element ID.
1264
+ * Forthe standard planner it is nothing.
1265
+ * @param elementId
1266
+ */
1267
+ )
1268
+ }, {
1269
+ key: "getPlannerElementsInfluencedByDeletion",
1270
+ value: function getPlannerElementsInfluencedByDeletion(elementId) {
1271
+ if (this.plannerElements.has(elementId) != undefined) return [elementId];
1272
+ return [];
1273
+ }
1262
1274
  }, {
1263
1275
  key: "getPlannerElementsInfluencedByCopy",
1264
1276
  value: function getPlannerElementsInfluencedByCopy(elementId, copyInfo) {
@@ -3,7 +3,7 @@
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('./index-4c001dc6.js');
6
+ require('./index-2d3d3b2a.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
9
9
  require('@babel/runtime/regenerator');
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
5
5
  var _createClass = require('@babel/runtime/helpers/createClass');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
8
- var index = require('./index-4c001dc6.js');
8
+ var index = require('./index-2d3d3b2a.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var signalr = require('@microsoft/signalr');
11
11
  var io = require('socket.io-client');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- require('./index-4c001dc6.js');
5
+ require('./index-2d3d3b2a.js');
6
6
  require('@babel/runtime/helpers/asyncToGenerator');
7
7
  require('@babel/runtime/helpers/defineProperty');
8
8
  require('@babel/runtime/regenerator');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- require('./index-4c001dc6.js');
5
+ require('./index-2d3d3b2a.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -3,7 +3,7 @@
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var index = require('./index-4c001dc6.js');
6
+ var index = require('./index-2d3d3b2a.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
9
9
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
@@ -3,7 +3,7 @@
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var index = require('./index-4c001dc6.js');
6
+ var index = require('./index-2d3d3b2a.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
9
9
  require('@babel/runtime/regenerator');
@@ -6,7 +6,7 @@ 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-4c001dc6.js');
9
+ var index = require('./index-2d3d3b2a.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/objectWithoutProperties');
12
12
  require('@babel/runtime/helpers/slicedToArray');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
4
  var _createClass = require('@babel/runtime/helpers/createClass');
5
- require('./index-4c001dc6.js');
5
+ require('./index-2d3d3b2a.js');
6
6
  require('@babel/runtime/helpers/asyncToGenerator');
7
7
  require('@babel/runtime/helpers/defineProperty');
8
8
  require('@babel/runtime/regenerator');
@@ -20678,8 +20678,18 @@ var DivaArticle = /*#__PURE__*/function () {
20678
20678
  if (Object.entries(partlistArticles).length && !this.CatalogData.bundleRules) {
20679
20679
  LOG$c.error(new DivaUtils.DivaError('sorting partlistarticles Failed', {
20680
20680
  custom: {
20681
- partlistArticles: partlistArticles,
20682
- partlistArticlesToLoad: partlistArticlesToLoad
20681
+ partlistArticles: Object.values(partlistArticles).map(function (p) {
20682
+ return {
20683
+ BasketId: p.basketId,
20684
+ ArticleCodex: p.articleCodex
20685
+ };
20686
+ }),
20687
+ partlistArticlesToLoad: partlistArticlesToLoad.map(function (p) {
20688
+ return {
20689
+ BasketId: p.ArticleCodex,
20690
+ ArticleCodex: p.ArticleCodex
20691
+ };
20692
+ })
20683
20693
  }
20684
20694
  }));
20685
20695
  }
@@ -23601,7 +23611,7 @@ var DivaArticle = /*#__PURE__*/function () {
23601
23611
  break;
23602
23612
  }
23603
23613
  _context.next = 4;
23604
- return Promise.resolve().then(function () { return require('./ShelfPlanner-1d4e94bf.js'); });
23614
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-6db40a6f.js'); });
23605
23615
  case 4:
23606
23616
  _yield$import = _context.sent;
23607
23617
  ShelfPlanner = _yield$import["default"];
@@ -28131,7 +28141,7 @@ var DivaSet = /*#__PURE__*/function () {
28131
28141
  break;
28132
28142
  }
28133
28143
  _context4.next = 3;
28134
- return Promise.resolve().then(function () { return require('./DoorPlanner-724a4eb2.js'); });
28144
+ return Promise.resolve().then(function () { return require('./DoorPlanner-e601583f.js'); });
28135
28145
  case 3:
28136
28146
  _yield$import = _context4.sent;
28137
28147
  DoorPlanner = _yield$import["default"];
@@ -31775,8 +31785,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
31775
31785
  key: "deleteElementFromSet",
31776
31786
  value: function () {
31777
31787
  var _deleteElementFromSet = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee14(set, article, autoCorrectAVL_AVR, deletionType, dontReload) {
31778
- var _deletedArticle$doorP, _set$CatalogData;
31779
- var setId, deletedArticle, articles, key, newSelectedElement, oldTransform, result, _set$getArticleByBask3, elementDeleted;
31788
+ var setId, allElementsToDelete, success, newSelectedElement, i, _deletedArticle$doorP, _set$CatalogData, deletedArticle, articles, key, oldTransform, result, _set$getArticleByBask3;
31780
31789
  return _regeneratorRuntime__default["default"].wrap(function _callee14$(_context16) {
31781
31790
  while (1) switch (_context16.prev = _context16.next) {
31782
31791
  case 0:
@@ -31791,35 +31800,44 @@ var DivaSetHandler = /*#__PURE__*/function () {
31791
31800
  setId: setId
31792
31801
  });
31793
31802
  case 3:
31803
+ allElementsToDelete = set.plannerHandler.getPlannerElementsInfluencedByDeletion(setId, article.elementId);
31804
+ success = false;
31805
+ newSelectedElement = undefined;
31806
+ i = 0;
31807
+ case 7:
31808
+ if (!(i < allElementsToDelete.length)) {
31809
+ _context16.next = 35;
31810
+ break;
31811
+ }
31812
+ article = set.getArticleByElementId(allElementsToDelete[i]);
31794
31813
  deletedArticle = article; //accessoires löschen
31795
31814
  articles = set.getAccessoiresOfBasketId(article.basketId);
31796
31815
  _context16.t0 = _regeneratorRuntime__default["default"].keys(articles);
31797
- case 6:
31816
+ case 12:
31798
31817
  if ((_context16.t1 = _context16.t0()).done) {
31799
- _context16.next = 12;
31818
+ _context16.next = 18;
31800
31819
  break;
31801
31820
  }
31802
31821
  key = _context16.t1.value;
31803
- _context16.next = 10;
31822
+ _context16.next = 16;
31804
31823
  return this.deleteElementFromSet(set, articles[key]);
31805
- case 10:
31806
- _context16.next = 6;
31824
+ case 16:
31825
+ _context16.next = 12;
31807
31826
  break;
31808
- case 12:
31809
- newSelectedElement = undefined;
31827
+ case 18:
31810
31828
  oldTransform = undefined;
31811
31829
  if (deletedArticle) deletedArticle.deleted = true;
31812
31830
  if (!(deletedArticle !== null && deletedArticle !== void 0 && deletedArticle.hasCatalogPlannerArticle)) {
31813
- _context16.next = 21;
31831
+ _context16.next = 26;
31814
31832
  break;
31815
31833
  }
31816
- _context16.next = 18;
31834
+ _context16.next = 23;
31817
31835
  return set.plannerHandler.deletePlannerElement(setId, deletedArticle.elementId, autoCorrectAVL_AVR, deletionType);
31818
- case 18:
31836
+ case 23:
31819
31837
  result = _context16.sent;
31820
31838
  newSelectedElement = result.newElementToSelect;
31821
31839
  oldTransform = result.transform;
31822
- case 21:
31840
+ case 26:
31823
31841
  //falls ein Accessoire gelöscht wurde wird das Accessoire auch wo es beim Parent hinterlegt war auch gelöscht
31824
31842
  if (deletedArticle !== null && deletedArticle !== void 0 && deletedArticle.relatedToBasketId) {
31825
31843
  (_set$getArticleByBask3 = set.getArticleByBasketId(deletedArticle.relatedToBasketId)) === null || _set$getArticleByBask3 === void 0 || _set$getArticleByBask3.removeAccessoire(deletedArticle.basketId);
@@ -31827,21 +31845,25 @@ var DivaSetHandler = /*#__PURE__*/function () {
31827
31845
 
31828
31846
  //doorplanner resetted
31829
31847
  deletedArticle === null || deletedArticle === void 0 || (_deletedArticle$doorP = deletedArticle.doorPlanner) === null || _deletedArticle$doorP === void 0 || _deletedArticle$doorP.deleteElement(deletedArticle.basketId);
31830
- elementDeleted = set.deleteArticle(article.basketId);
31848
+ success = set.deleteArticle(article.basketId);
31831
31849
  if (!((set.CatalogData.bundleRules || set.CatalogData.reconfigAfterArticleDocked || set !== null && set !== void 0 && (_set$CatalogData = set.CatalogData) !== null && _set$CatalogData !== void 0 && _set$CatalogData.getOption('OPTLASTSTACKEDARTICLE')) && !dontReload)) {
31832
- _context16.next = 27;
31850
+ _context16.next = 32;
31833
31851
  break;
31834
31852
  }
31835
- _context16.next = 27;
31853
+ _context16.next = 32;
31836
31854
  return this.updateArticlesOptionStatesOfActSet(set, {}, []);
31837
- case 27:
31855
+ case 32:
31856
+ i++;
31857
+ _context16.next = 7;
31858
+ break;
31859
+ case 35:
31838
31860
  return _context16.abrupt("return", {
31839
- success: elementDeleted,
31861
+ success: success,
31840
31862
  selectElementId: newSelectedElement,
31841
31863
  setId: setId,
31842
31864
  oldTransform: oldTransform
31843
31865
  });
31844
- case 28:
31866
+ case 36:
31845
31867
  case "end":
31846
31868
  return _context16.stop();
31847
31869
  }
@@ -34818,7 +34840,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34818
34840
  break;
34819
34841
  case 3:
34820
34842
  _context12.next = 5;
34821
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-814562e2.js'); });
34843
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-3428c42b.js'); });
34822
34844
  case 5:
34823
34845
  _yield$import = _context12.sent;
34824
34846
  PfisterWWSHandler = _yield$import["default"];
@@ -34826,7 +34848,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34826
34848
  return _context12.abrupt("break", 27);
34827
34849
  case 9:
34828
34850
  _context12.next = 11;
34829
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-2b99e5e7.js'); });
34851
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-d38c5dac.js'); });
34830
34852
  case 11:
34831
34853
  _yield$import2 = _context12.sent;
34832
34854
  LiviqueWWSHandler = _yield$import2["default"];
@@ -34834,7 +34856,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34834
34856
  return _context12.abrupt("break", 27);
34835
34857
  case 15:
34836
34858
  _context12.next = 17;
34837
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-d7fa966a.js'); });
34859
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-b24ac7c7.js'); });
34838
34860
  case 17:
34839
34861
  _yield$import3 = _context12.sent;
34840
34862
  SeriousWWSHandler = _yield$import3["default"];
@@ -34842,7 +34864,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34842
34864
  return _context12.abrupt("break", 27);
34843
34865
  case 21:
34844
34866
  _context12.next = 23;
34845
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-a6f529e5.js'); });
34867
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-9ab63575.js'); });
34846
34868
  case 23:
34847
34869
  _yield$import4 = _context12.sent;
34848
34870
  StandardWWSHandler = _yield$import4["default"];
@@ -36232,7 +36254,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36232
36254
  while (1) switch (_context3.prev = _context3.next) {
36233
36255
  case 0:
36234
36256
  _context3.next = 2;
36235
- return Promise.resolve().then(function () { return require('./Host3DSignalR-77fa4dfc.js'); });
36257
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-03547a9f.js'); });
36236
36258
  case 2:
36237
36259
  _yield$import = _context3.sent;
36238
36260
  Host3DSignalR = _yield$import["default"];
@@ -37587,7 +37609,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37587
37609
  this.plannerHandlerFunctions = plannerHandlerFunctions;
37588
37610
  diva3dServerUrl = initSetState.api.get3DServerUrl();
37589
37611
  divaMediaServiceUrl = initSetState.api.getDivaMediaServiceUrl();
37590
- mediaServiceApiKey = initSetState.api.getDivaMediaServiceApiKey(); //renderGroup = 'LeaTest';
37612
+ mediaServiceApiKey = initSetState.api.getDivaMediaServiceApiKey(); // renderGroup = 'LeaTest';
37591
37613
  //diva3dServerUrl = "https://test-einkauf-onboarding.pfister.ch/diva3d/diva3dhost2/";
37592
37614
  // diva3dServerUrl = "https://diva3dhost.diva-portal.com/diva3d/diva3dhost2/";
37593
37615
  //diva3dServerUrl = 'https://localhost:44315/';
@@ -37784,7 +37806,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37784
37806
  break;
37785
37807
  case 8:
37786
37808
  _context4.next = 10;
37787
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-df121a59.js'); });
37809
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-8986b134.js'); });
37788
37810
  case 10:
37789
37811
  _yield$import = _context4.sent;
37790
37812
  DivaStandardPlanner = _yield$import["default"];
@@ -37795,7 +37817,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37795
37817
  return _context4.abrupt("break", 21);
37796
37818
  case 15:
37797
37819
  _context4.next = 17;
37798
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-e967223b.js'); });
37820
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-34fe201e.js'); });
37799
37821
  case 17:
37800
37822
  _yield$import2 = _context4.sent;
37801
37823
  DivaBoxPlanner = _yield$import2["default"];
@@ -38411,6 +38433,20 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38411
38433
  return this.plannerList.get(setId).getPlannerElementsInfluencedByCopy(elementId, copyInfo);
38412
38434
  }
38413
38435
 
38436
+ /**
38437
+ * This function gets all Elements that are deleted when deleting one element.
38438
+ * @param setId
38439
+ * @param elementId
38440
+ */
38441
+ }, {
38442
+ key: "getPlannerElementsInfluencedByDeletion",
38443
+ value: function getPlannerElementsInfluencedByDeletion(setId, elementId) {
38444
+ if (!this.plannerList.has(setId)) {
38445
+ return [];
38446
+ }
38447
+ return this.plannerList.get(setId).getPlannerElementsInfluencedByDeletion(elementId);
38448
+ }
38449
+
38414
38450
  /**
38415
38451
  * This function is used to copy an element in the planner
38416
38452
  * @param setId
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-4c001dc6.js');
5
+ var index = require('./index-2d3d3b2a.js');
6
6
  require('@babel/runtime/helpers/asyncToGenerator');
7
7
  require('@babel/runtime/helpers/classCallCheck');
8
8
  require('@babel/runtime/helpers/createClass');
@@ -3,10 +3,10 @@ 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 { V as Vector3, B as BoundingBox } from './index-0a8f98f9.js';
6
+ import { V as Vector3, B as BoundingBox } from './index-e3c632fc.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
- import { d as dockingPointHandlerInst, P as PlannerElementData, h as handler2D } from './PlannerHandler2D-c99d8c32.js';
9
+ import { d as dockingPointHandlerInst, P as PlannerElementData, h as handler2D } from './PlannerHandler2D-9c83e526.js';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import '@babel/runtime/helpers/slicedToArray';
12
12
  import 'axios';
@@ -2978,6 +2978,16 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2978
2978
  value: function getMaxElemCountPerColumn() {
2979
2979
  return this.constructionRules.maxElemCountPerCol;
2980
2980
  }
2981
+
2982
+ /**
2983
+ * This function returns true when the whole planning can have only elements on the same hight like Elin configurator
2984
+ * @returns
2985
+ */
2986
+ }, {
2987
+ key: "getForceWholePlanningSameHeight",
2988
+ value: function getForceWholePlanningSameHeight() {
2989
+ return this.constructionRules.forceWholePlanningSameHeight;
2990
+ }
2981
2991
  }]);
2982
2992
  }();
2983
2993
 
@@ -3343,7 +3353,6 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3343
3353
  }
3344
3354
  return curElementGrid.length > index ? result : undefined;
3345
3355
  }
3346
-
3347
3356
  /**
3348
3357
  * This function returns the count of columns in the grid
3349
3358
  */
@@ -3483,6 +3492,27 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3483
3492
  return new Vector3(width, height, depth);
3484
3493
  }
3485
3494
 
3495
+ /**
3496
+ * Returns all other elements in the grid that are in the same row as the elementId from the parameter
3497
+ * @param elementId
3498
+ */
3499
+ }, {
3500
+ key: "getAllElementsInSameRowByElementId",
3501
+ value: function getAllElementsInSameRowByElementId(elementId) {
3502
+ var gridPos = this.getIndexInGridByElementId(elementId);
3503
+ var allElementsInRow = this.getAllElementsInRow(gridPos.row, false);
3504
+ if (this.hasActiveBackside) {
3505
+ allElementsInRow = allElementsInRow.concat(this.getAllElementsInRow(gridPos.row, true));
3506
+ }
3507
+ return {
3508
+ elementIds: allElementsInRow.map(function (obj) {
3509
+ return obj.ElementId;
3510
+ }),
3511
+ plannerElements: allElementsInRow,
3512
+ backside: gridPos.backside
3513
+ };
3514
+ }
3515
+
3486
3516
  /**
3487
3517
  * Returns all Elements that are under the specified element
3488
3518
  */
@@ -3506,6 +3536,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3506
3536
  backside: gridPos.backside
3507
3537
  };
3508
3538
  }
3539
+ }, {
3540
+ key: "getAllElementsInSameCol",
3541
+ value: function getAllElementsInSameCol(elementId) {
3542
+ var gridPos = this.getIndexInGridByElementId(elementId);
3543
+ var allElements = this.getAllElementsInColumn(gridPos.col, gridPos.backside);
3544
+ if (allElements == undefined) allElements = [];
3545
+ return {
3546
+ elements: allElements.map(function (obj) {
3547
+ return obj.ElementId;
3548
+ }),
3549
+ backside: gridPos.backside
3550
+ };
3551
+ }
3509
3552
  }, {
3510
3553
  key: "prepareGridForCopy",
3511
3554
  value: function prepareGridForCopy(elementId, copyDir) {
@@ -4163,6 +4206,24 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4163
4206
  value: function initIDM3DMeta(IDM3DCatCodex) {
4164
4207
  LOG.debug('No IDM3D Planner for BoxPlanner');
4165
4208
  }
4209
+
4210
+ /**
4211
+ * This function returns all Planner Elements that are influenced when deletingan element ID.
4212
+ * This is important when it is forced that the whole planing has to have the same height all the time.
4213
+ * @param elementId
4214
+ */
4215
+ }, {
4216
+ key: "getPlannerElementsInfluencedByDeletion",
4217
+ value: function getPlannerElementsInfluencedByDeletion(elementId) {
4218
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4219
+ var index = this.boxPlannerGrid.getIndexInGridByElementId(elementId);
4220
+ if (index.row == 0) return [elementId]; //In the base row only delete the actual element, not the whole row
4221
+ var result = this.boxPlannerGrid.getAllElementsInSameRowByElementId(elementId);
4222
+ return result.elementIds;
4223
+ } else {
4224
+ return [elementId];
4225
+ }
4226
+ }
4166
4227
  /**
4167
4228
  * This function returns all elements that are influenced by copying them.
4168
4229
  * In the box Planner all elements under the Element to copy are copied as well
@@ -4191,10 +4252,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4191
4252
  switch (copyInfo.dpType) {
4192
4253
  case 'AVL':
4193
4254
  case 'AVR':
4194
- var result = this.boxPlannerGrid.getAllElementsDown(elementId);
4195
- allElementsToCopy = allElementsToCopy.concat(result.elements);
4196
- result.backside;
4255
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4256
+ var result = this.boxPlannerGrid.getAllElementsInSameCol(elementId);
4257
+ allElementsToCopy = result.elements;
4258
+ result.backside;
4259
+ } else {
4260
+ var _result = this.boxPlannerGrid.getAllElementsDown(elementId);
4261
+ allElementsToCopy = allElementsToCopy.concat(_result.elements);
4262
+ _result.backside;
4263
+ }
4197
4264
  break;
4265
+ case 'AVO':
4266
+ if (this.constructionRulesHandler.getForceWholePlanningSameHeight()) {
4267
+ var resultCopyUp = this.boxPlannerGrid.getAllElementsInSameRowByElementId(elementId);
4268
+ allElementsToCopy = resultCopyUp.elementIds;
4269
+ resultCopyUp.backside;
4270
+ }
4198
4271
  }
4199
4272
  if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
4200
4273
  allElementsToCopy = allElementsToCopy.concat(this.boxPlannerGrid.getAllOppositeElements(allElementsToCopy));
@@ -4207,6 +4280,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
4207
4280
  /**
4208
4281
  * Delete Box Planner element
4209
4282
  * If the box planner has an active backside, then it also deletes the opposite element
4283
+ * If forceWholePlanningSame Height is set to true, then all elements in the same row are deleted.
4210
4284
  * @param elementId ElementID of the element that should be deleted.
4211
4285
  * @returns elementId of the next to select element
4212
4286
  */