@crystaldesign/web-planner-logic 24.13.0-beta.13 → 24.13.0-beta.14

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 (41) hide show
  1. package/build/cjs/{DivaBoxPlanner-8014a683.js → DivaBoxPlanner-62ae8c3d.js} +80 -6
  2. package/build/cjs/{DivaStandardPlanner-a31c4fcd.js → DivaStandardPlanner-e431ce7c.js} +14 -3
  3. package/build/cjs/{DoorPlanner-8d079ddb.js → DoorPlanner-33299e6b.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-7b21d1e9.js → Host3DSignalR-694281ef.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-4136ccdd.js → LiviqueWWSHandler-00e56666.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-2dfc936a.js → PfisterWWSHandler-6a249328.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-aec63404.js → PlannerHandler2D-d92d10ba.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-64d5e5ac.js → SeriousBasketHandler-05b6c560.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-87ddb7cf.js → ShelfPlanner-1f0ad013.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-f7f0f838.js → StandardWWSHandler-a69ee926.js} +1 -1
  11. package/build/cjs/{index-f7ce608d.js → index-fc87bc19.js} +59 -32
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-256f6673.js → DivaBoxPlanner-ef40824e.js} +80 -6
  14. package/build/esm/{DivaStandardPlanner-15069451.js → DivaStandardPlanner-cb2a20dd.js} +14 -3
  15. package/build/esm/{DoorPlanner-b9f3c272.js → DoorPlanner-530f2474.js} +1 -1
  16. package/build/esm/{Host3DSignalR-45e86f11.js → Host3DSignalR-8006f253.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-7aae2b64.js → LiviqueWWSHandler-8f2e906e.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-1affb9d8.js → PfisterWWSHandler-f7d8d811.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-87d42a9b.js → PlannerHandler2D-171e3246.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-928f3aac.js → SeriousBasketHandler-10891b7b.js} +1 -1
  21. package/build/esm/{ShelfPlanner-48c3e993.js → ShelfPlanner-c6f81e51.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-56b87098.js → StandardWWSHandler-e270d54d.js} +1 -1
  23. package/build/esm/{index-8f2db083.js → index-afab35d7.js} +59 -32
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/API/ViewConfigDataType.d.ts +3 -0
  26. package/build/types/web-planner-logic/src/interface/API/ViewConfigDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  30. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +13 -0
  31. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts.map +1 -1
  32. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +5 -0
  33. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts +7 -0
  35. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
  36. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +6 -0
  37. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +6 -0
  39. package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
  40. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  41. 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-f7ce608d.js');
8
+ var index = require('./index-fc87bc19.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
- var PlannerHandler2D = require('./PlannerHandler2D-aec63404.js');
11
+ var PlannerHandler2D = require('./PlannerHandler2D-d92d10ba.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-f7ce608d.js');
9
- var PlannerHandler2D = require('./PlannerHandler2D-aec63404.js');
8
+ var index = require('./index-fc87bc19.js');
9
+ var PlannerHandler2D = require('./PlannerHandler2D-d92d10ba.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,18 @@ 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
+ return [elementId];
1272
+ }
1262
1273
  }, {
1263
1274
  key: "getPlannerElementsInfluencedByCopy",
1264
1275
  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-f7ce608d.js');
6
+ require('./index-fc87bc19.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-f7ce608d.js');
8
+ var index = require('./index-fc87bc19.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-f7ce608d.js');
5
+ require('./index-fc87bc19.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-f7ce608d.js');
5
+ require('./index-fc87bc19.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-f7ce608d.js');
6
+ var index = require('./index-fc87bc19.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-f7ce608d.js');
6
+ var index = require('./index-fc87bc19.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-f7ce608d.js');
9
+ var index = require('./index-fc87bc19.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-f7ce608d.js');
5
+ require('./index-fc87bc19.js');
6
6
  require('@babel/runtime/helpers/asyncToGenerator');
7
7
  require('@babel/runtime/helpers/defineProperty');
8
8
  require('@babel/runtime/regenerator');
@@ -23601,7 +23601,7 @@ var DivaArticle = /*#__PURE__*/function () {
23601
23601
  break;
23602
23602
  }
23603
23603
  _context.next = 4;
23604
- return Promise.resolve().then(function () { return require('./ShelfPlanner-87ddb7cf.js'); });
23604
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-1f0ad013.js'); });
23605
23605
  case 4:
23606
23606
  _yield$import = _context.sent;
23607
23607
  ShelfPlanner = _yield$import["default"];
@@ -28134,7 +28134,7 @@ var DivaSet = /*#__PURE__*/function () {
28134
28134
  break;
28135
28135
  }
28136
28136
  _context4.next = 3;
28137
- return Promise.resolve().then(function () { return require('./DoorPlanner-8d079ddb.js'); });
28137
+ return Promise.resolve().then(function () { return require('./DoorPlanner-33299e6b.js'); });
28138
28138
  case 3:
28139
28139
  _yield$import = _context4.sent;
28140
28140
  DoorPlanner = _yield$import["default"];
@@ -31778,8 +31778,7 @@ var DivaSetHandler = /*#__PURE__*/function () {
31778
31778
  key: "deleteElementFromSet",
31779
31779
  value: function () {
31780
31780
  var _deleteElementFromSet = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee14(set, article, autoCorrectAVL_AVR, deletionType, dontReload) {
31781
- var _deletedArticle$doorP, _set$CatalogData;
31782
- var setId, deletedArticle, articles, key, newSelectedElement, oldTransform, result, _set$getArticleByBask3, elementDeleted;
31781
+ var setId, allElementsToDelete, success, newSelectedElement, i, _deletedArticle$doorP, _set$CatalogData, deletedArticle, articles, key, oldTransform, result, _set$getArticleByBask3;
31783
31782
  return _regeneratorRuntime__default["default"].wrap(function _callee14$(_context16) {
31784
31783
  while (1) switch (_context16.prev = _context16.next) {
31785
31784
  case 0:
@@ -31794,35 +31793,44 @@ var DivaSetHandler = /*#__PURE__*/function () {
31794
31793
  setId: setId
31795
31794
  });
31796
31795
  case 3:
31796
+ allElementsToDelete = set.plannerHandler.getPlannerElementsInfluencedByDeletion(setId, article.elementId);
31797
+ success = false;
31798
+ newSelectedElement = undefined;
31799
+ i = 0;
31800
+ case 7:
31801
+ if (!(i < allElementsToDelete.length)) {
31802
+ _context16.next = 35;
31803
+ break;
31804
+ }
31805
+ article = set.getArticleByElementId(allElementsToDelete[i]);
31797
31806
  deletedArticle = article; //accessoires löschen
31798
31807
  articles = set.getAccessoiresOfBasketId(article.basketId);
31799
31808
  _context16.t0 = _regeneratorRuntime__default["default"].keys(articles);
31800
- case 6:
31809
+ case 12:
31801
31810
  if ((_context16.t1 = _context16.t0()).done) {
31802
- _context16.next = 12;
31811
+ _context16.next = 18;
31803
31812
  break;
31804
31813
  }
31805
31814
  key = _context16.t1.value;
31806
- _context16.next = 10;
31815
+ _context16.next = 16;
31807
31816
  return this.deleteElementFromSet(set, articles[key]);
31808
- case 10:
31809
- _context16.next = 6;
31817
+ case 16:
31818
+ _context16.next = 12;
31810
31819
  break;
31811
- case 12:
31812
- newSelectedElement = undefined;
31820
+ case 18:
31813
31821
  oldTransform = undefined;
31814
31822
  if (deletedArticle) deletedArticle.deleted = true;
31815
31823
  if (!(deletedArticle !== null && deletedArticle !== void 0 && deletedArticle.hasCatalogPlannerArticle)) {
31816
- _context16.next = 21;
31824
+ _context16.next = 26;
31817
31825
  break;
31818
31826
  }
31819
- _context16.next = 18;
31827
+ _context16.next = 23;
31820
31828
  return set.plannerHandler.deletePlannerElement(setId, deletedArticle.elementId, autoCorrectAVL_AVR, deletionType);
31821
- case 18:
31829
+ case 23:
31822
31830
  result = _context16.sent;
31823
31831
  newSelectedElement = result.newElementToSelect;
31824
31832
  oldTransform = result.transform;
31825
- case 21:
31833
+ case 26:
31826
31834
  //falls ein Accessoire gelöscht wurde wird das Accessoire auch wo es beim Parent hinterlegt war auch gelöscht
31827
31835
  if (deletedArticle !== null && deletedArticle !== void 0 && deletedArticle.relatedToBasketId) {
31828
31836
  (_set$getArticleByBask3 = set.getArticleByBasketId(deletedArticle.relatedToBasketId)) === null || _set$getArticleByBask3 === void 0 || _set$getArticleByBask3.removeAccessoire(deletedArticle.basketId);
@@ -31830,21 +31838,25 @@ var DivaSetHandler = /*#__PURE__*/function () {
31830
31838
 
31831
31839
  //doorplanner resetted
31832
31840
  deletedArticle === null || deletedArticle === void 0 || (_deletedArticle$doorP = deletedArticle.doorPlanner) === null || _deletedArticle$doorP === void 0 || _deletedArticle$doorP.deleteElement(deletedArticle.basketId);
31833
- elementDeleted = set.deleteArticle(article.basketId);
31841
+ success = set.deleteArticle(article.basketId);
31834
31842
  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)) {
31835
- _context16.next = 27;
31843
+ _context16.next = 32;
31836
31844
  break;
31837
31845
  }
31838
- _context16.next = 27;
31846
+ _context16.next = 32;
31839
31847
  return this.updateArticlesOptionStatesOfActSet(set, {}, []);
31840
- case 27:
31848
+ case 32:
31849
+ i++;
31850
+ _context16.next = 7;
31851
+ break;
31852
+ case 35:
31841
31853
  return _context16.abrupt("return", {
31842
- success: elementDeleted,
31854
+ success: success,
31843
31855
  selectElementId: newSelectedElement,
31844
31856
  setId: setId,
31845
31857
  oldTransform: oldTransform
31846
31858
  });
31847
- case 28:
31859
+ case 36:
31848
31860
  case "end":
31849
31861
  return _context16.stop();
31850
31862
  }
@@ -34833,7 +34845,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34833
34845
  break;
34834
34846
  case 3:
34835
34847
  _context12.next = 5;
34836
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-2dfc936a.js'); });
34848
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-6a249328.js'); });
34837
34849
  case 5:
34838
34850
  _yield$import = _context12.sent;
34839
34851
  PfisterWWSHandler = _yield$import["default"];
@@ -34841,7 +34853,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34841
34853
  return _context12.abrupt("break", 27);
34842
34854
  case 9:
34843
34855
  _context12.next = 11;
34844
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-4136ccdd.js'); });
34856
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-00e56666.js'); });
34845
34857
  case 11:
34846
34858
  _yield$import2 = _context12.sent;
34847
34859
  LiviqueWWSHandler = _yield$import2["default"];
@@ -34849,7 +34861,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34849
34861
  return _context12.abrupt("break", 27);
34850
34862
  case 15:
34851
34863
  _context12.next = 17;
34852
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-64d5e5ac.js'); });
34864
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-05b6c560.js'); });
34853
34865
  case 17:
34854
34866
  _yield$import3 = _context12.sent;
34855
34867
  SeriousWWSHandler = _yield$import3["default"];
@@ -34857,7 +34869,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
34857
34869
  return _context12.abrupt("break", 27);
34858
34870
  case 21:
34859
34871
  _context12.next = 23;
34860
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-f7f0f838.js'); });
34872
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-a69ee926.js'); });
34861
34873
  case 23:
34862
34874
  _yield$import4 = _context12.sent;
34863
34875
  StandardWWSHandler = _yield$import4["default"];
@@ -36247,7 +36259,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
36247
36259
  while (1) switch (_context3.prev = _context3.next) {
36248
36260
  case 0:
36249
36261
  _context3.next = 2;
36250
- return Promise.resolve().then(function () { return require('./Host3DSignalR-7b21d1e9.js'); });
36262
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-694281ef.js'); });
36251
36263
  case 2:
36252
36264
  _yield$import = _context3.sent;
36253
36265
  Host3DSignalR = _yield$import["default"];
@@ -37602,7 +37614,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37602
37614
  this.plannerHandlerFunctions = plannerHandlerFunctions;
37603
37615
  diva3dServerUrl = initSetState.api.get3DServerUrl();
37604
37616
  divaMediaServiceUrl = initSetState.api.getDivaMediaServiceUrl();
37605
- mediaServiceApiKey = initSetState.api.getDivaMediaServiceApiKey(); //renderGroup = 'LeaTest';
37617
+ mediaServiceApiKey = initSetState.api.getDivaMediaServiceApiKey(); // renderGroup = 'LeaTest';
37606
37618
  //diva3dServerUrl = "https://test-einkauf-onboarding.pfister.ch/diva3d/diva3dhost2/";
37607
37619
  // diva3dServerUrl = "https://diva3dhost.diva-portal.com/diva3d/diva3dhost2/";
37608
37620
  //diva3dServerUrl = 'https://localhost:44315/';
@@ -37799,7 +37811,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37799
37811
  break;
37800
37812
  case 8:
37801
37813
  _context4.next = 10;
37802
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-a31c4fcd.js'); });
37814
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-e431ce7c.js'); });
37803
37815
  case 10:
37804
37816
  _yield$import = _context4.sent;
37805
37817
  DivaStandardPlanner = _yield$import["default"];
@@ -37810,7 +37822,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
37810
37822
  return _context4.abrupt("break", 21);
37811
37823
  case 15:
37812
37824
  _context4.next = 17;
37813
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-8014a683.js'); });
37825
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-62ae8c3d.js'); });
37814
37826
  case 17:
37815
37827
  _yield$import2 = _context4.sent;
37816
37828
  DivaBoxPlanner = _yield$import2["default"];
@@ -38426,6 +38438,20 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
38426
38438
  return this.plannerList.get(setId).getPlannerElementsInfluencedByCopy(elementId, copyInfo);
38427
38439
  }
38428
38440
 
38441
+ /**
38442
+ * This function gets all Elements that are deleted when deleting one element.
38443
+ * @param setId
38444
+ * @param elementId
38445
+ */
38446
+ }, {
38447
+ key: "getPlannerElementsInfluencedByDeletion",
38448
+ value: function getPlannerElementsInfluencedByDeletion(setId, elementId) {
38449
+ if (!this.plannerList.has(setId)) {
38450
+ return [];
38451
+ }
38452
+ return this.plannerList.get(setId).getPlannerElementsInfluencedByDeletion(elementId);
38453
+ }
38454
+
38429
38455
  /**
38430
38456
  * This function is used to copy an element in the planner
38431
38457
  * @param setId
@@ -40747,12 +40773,13 @@ var DivaWebPlanner = /*#__PURE__*/function () {
40747
40773
  return _context26.abrupt("break", 55);
40748
40774
  case 55:
40749
40775
  if (returnTo == 'DONT_SAVE_BASKET') event = 'dontSaveBasket';
40750
- _context26.next = 58;
40776
+ actBasket = this.divaBasketHandler.getBasketData(actBasket.DivaNr); //get pdf documenturl from saved basket
40777
+ _context26.next = 59;
40751
40778
  return this.addToBasket(actBasket, event);
40752
- case 58:
40779
+ case 59:
40753
40780
  product = _context26.sent;
40754
40781
  return _context26.abrupt("return", product !== null && product !== void 0 ? product : 'saved');
40755
- case 60:
40782
+ case 61:
40756
40783
  case "end":
40757
40784
  return _context26.stop();
40758
40785
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-f7ce608d.js');
5
+ var index = require('./index-fc87bc19.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-8f2db083.js';
6
+ import { V as Vector3, B as BoundingBox } from './index-afab35d7.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-87d42a9b.js';
9
+ import { d as dockingPointHandlerInst, P as PlannerElementData, h as handler2D } from './PlannerHandler2D-171e3246.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
  */