@crystaldesign/web-planner-logic 25.13.0-beta.12 → 25.13.0-beta.13

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 (29) hide show
  1. package/build/cjs/{DivaBoxPlanner-9dc63e6c.js → DivaBoxPlanner-41e95e59.js} +188 -80
  2. package/build/cjs/{DivaStandardPlanner-edc8adbb.js → DivaStandardPlanner-4c6bbce4.js} +2 -2
  3. package/build/cjs/{DoorPlanner-4184aa93.js → DoorPlanner-2d47acd1.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-3e4afb1c.js → Host3DSignalR-733a1c2c.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-566296fe.js → LiviqueWWSHandler-623bb520.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-c131cf9d.js → PfisterWWSHandler-17f01922.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-cdf785a8.js → PlannerHandler2D-448b9599.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-62a42abd.js → SeriousBasketHandler-2ee4241d.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-5d155708.js → ShelfPlanner-1a7048f4.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-e33be010.js → StandardWWSHandler-98e4efdd.js} +1 -1
  11. package/build/cjs/{index-589e2f4b.js → index-c1f7833f.js} +11 -10
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-091c8b09.js → DivaBoxPlanner-5b8b3a3f.js} +188 -80
  14. package/build/esm/{DivaStandardPlanner-8c6fe69d.js → DivaStandardPlanner-feba1fd6.js} +2 -2
  15. package/build/esm/{DoorPlanner-b7931e1b.js → DoorPlanner-6a5011f5.js} +1 -1
  16. package/build/esm/{Host3DSignalR-f59bbfff.js → Host3DSignalR-8eabf1dd.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-17487162.js → LiviqueWWSHandler-b42b97a2.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-38fd3e0b.js → PfisterWWSHandler-69509c19.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-80d37ff1.js → PlannerHandler2D-eadd4506.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-2843e656.js → SeriousBasketHandler-5cd7729f.js} +1 -1
  21. package/build/esm/{ShelfPlanner-d144ac1f.js → ShelfPlanner-d05eae79.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-c87284af.js → StandardWWSHandler-a988bc1e.js} +1 -1
  23. package/build/esm/{index-f875e861.js → index-077cf895.js} +11 -10
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +18 -3
  26. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts +2 -0
  28. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  29. 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-589e2f4b.js');
8
+ var index = require('./index-c1f7833f.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
- var PlannerHandler2D = require('./PlannerHandler2D-cdf785a8.js');
11
+ var PlannerHandler2D = require('./PlannerHandler2D-448b9599.js');
12
12
  require('@babel/runtime/helpers/slicedToArray');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
14
  require('axios');
@@ -2616,31 +2616,95 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2616
2616
  }
2617
2617
  return undefined;
2618
2618
  }
2619
+ }, {
2620
+ key: "validateDimensionRule",
2621
+ value: function validateDimensionRule(dimRule, boxPlannerSize) {
2622
+ var isOver = false;
2623
+ var isEqual = false;
2624
+ if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
2625
+ if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
2626
+ if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
2627
+ if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
2628
+ if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
2629
+ if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
2630
+ if (isOver) {
2631
+ if (dimRule.higherLimit.toLowerCase() == 'doshow') return true;else if (dimRule.higherLimit.toLowerCase() == 'dohide') return false;
2632
+ } else if (isEqual) {
2633
+ return true;
2634
+ } else {
2635
+ if (dimRule.lowerLimit.toLowerCase() == 'doshow') return true;else if (dimRule.lowerLimit.toLowerCase() == 'dohide') return false;
2636
+ }
2637
+ return false;
2638
+ }
2639
+
2640
+ /*
2641
+ * This function corrects the elements in one row when the top element is wider then the bottom one.
2642
+ * Goal is to make all the bottom ones also atleast as wide as the top one because no element can overhang - omlin setup
2643
+ */
2644
+ }, {
2645
+ key: "correctOverHangingElement",
2646
+ value: function correctOverHangingElement(boxPlannerGrid, optionHandler, changedOPTs) {
2647
+ var _this2 = this;
2648
+ if (!changedOPTs) return;
2649
+ var _loop = function _loop() {
2650
+ var elements = boxPlannerGrid.getAllElementsInColumn(columndIdx, false, false); // from bottom to top
2651
+ var lastElement = null;
2652
+ elements.forEach(function (element) {
2653
+ var _lastElement$Width, _element$Width, _lastElement$Depth, _element$Depth;
2654
+ if (!lastElement) {
2655
+ lastElement = element;
2656
+ return;
2657
+ }
2658
+ if (((_lastElement$Width = lastElement.Width) !== null && _lastElement$Width !== void 0 ? _lastElement$Width : 0) > ((_element$Width = element.Width) !== null && _element$Width !== void 0 ? _element$Width : 0)) {
2659
+ var t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
2660
+ var opt = t[0][0];
2661
+ var opv = t[0][1];
2662
+ _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
2663
+ }
2664
+ if (((_lastElement$Depth = lastElement.Depth) !== null && _lastElement$Depth !== void 0 ? _lastElement$Depth : 0) > ((_element$Depth = element.Depth) !== null && _element$Depth !== void 0 ? _element$Depth : 0)) {
2665
+ var _t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
2666
+ var _opt = _t[0][0];
2667
+ var _opv2 = _t[0][1];
2668
+ _this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
2669
+ }
2670
+ lastElement = element;
2671
+ });
2672
+ };
2673
+ for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
2674
+ _loop();
2675
+ }
2676
+ }
2677
+
2678
+ /*
2679
+ * This function corrects Options that are based on the total planning dimensions
2680
+ * */
2619
2681
  }, {
2620
2682
  key: "correctOptionsInfluencedByDimensions",
2621
2683
  value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
2622
- var _this2 = this;
2684
+ var _this3 = this;
2623
2685
  if (!this.constructionRules.optionsInfluencedByDimensions) return;
2624
2686
  var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
2625
2687
  var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
2626
2688
  this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
2627
- var isOver = false;
2628
- var isEqual = false;
2629
- if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
2630
- if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
2631
- if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
2632
- if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
2633
- if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
2634
- if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
2635
- allElements.forEach(function (element) {
2636
- if (isOver) {
2637
- if (dimRule.higherLimit.toLowerCase() == 'doshow') _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);else if (dimRule.higherLimit.toLowerCase() == 'dohide') _this2.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2638
- } else if (isEqual) {
2639
- _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
2640
- } else {
2641
- if (dimRule.lowerLimit.toLowerCase() == 'doshow') _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);else if (dimRule.lowerLimit.toLowerCase() == 'dohide') _this2.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2642
- }
2643
- });
2689
+ if (Array.isArray(dimRule)) {
2690
+ if (dimRule.every(function (rule) {
2691
+ return _this3.validateDimensionRule(rule, boxPlannerSize);
2692
+ })) dimRule.forEach(function (rule) {
2693
+ return allElements.forEach(function (element) {
2694
+ return _this3.setOptionDoShow(element.ElementId, rule.option, optionHandler);
2695
+ });
2696
+ });else dimRule.forEach(function (rule) {
2697
+ return allElements.forEach(function (element) {
2698
+ return _this3.setOptionDoHide(element.ElementId, rule.option, optionHandler);
2699
+ });
2700
+ });
2701
+ } else {
2702
+ if (_this3.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
2703
+ return _this3.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2704
+ });else allElements.forEach(function (element) {
2705
+ return _this3.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2706
+ });
2707
+ }
2644
2708
  });
2645
2709
  }
2646
2710
  }, {
@@ -2703,7 +2767,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2703
2767
  }, {
2704
2768
  key: "correctCoverPlate",
2705
2769
  value: function correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler) {
2706
- var _this3 = this;
2770
+ var _this4 = this;
2707
2771
  if (coverPlateRule.onHighestElementsOnly) return; // System4 not handled by this logic yet
2708
2772
 
2709
2773
  var elementsPerSeries = boxPlannerGrid.getHighestElementsPerSeries(!!coverPlateRule.onBottom);
@@ -2711,19 +2775,19 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2711
2775
  var seriesWidth = 0;
2712
2776
  var seriesWidthToPlateOpv = coverPlateRule.seriesWidthToPlateOpv;
2713
2777
  serie.forEach(function (element) {
2714
- var _element$Width;
2715
- seriesWidth += (_element$Width = element.Width) !== null && _element$Width !== void 0 ? _element$Width : 0;
2716
- _this3.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
2778
+ var _element$Width2;
2779
+ seriesWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
2780
+ _this4.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
2717
2781
  });
2718
2782
  var firstUncoveredElement = serie[0];
2719
- var _loop = function _loop() {
2783
+ var _loop2 = function _loop2() {
2720
2784
  var opv = seriesWidthToPlateOpv.findLast(function (stp) {
2721
2785
  // is a clean element ending
2722
2786
  var helperWidth = 0;
2723
2787
  var isClean = false;
2724
2788
  serie.forEach(function (element) {
2725
- var _element$Width2;
2726
- helperWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
2789
+ var _element$Width3;
2790
+ helperWidth += (_element$Width3 = element.Width) !== null && _element$Width3 !== void 0 ? _element$Width3 : 0;
2727
2791
  if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
2728
2792
  });
2729
2793
  if (stp.limit <= seriesWidth && isClean) return true;
@@ -2732,7 +2796,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2732
2796
  if (!opv) return {
2733
2797
  v: void 0
2734
2798
  };
2735
- _this3.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2799
+ _this4.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2736
2800
  var helperWidth = 0;
2737
2801
  firstUncoveredElement = serie.find(function (e) {
2738
2802
  var _e$Width;
@@ -2745,7 +2809,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2745
2809
  },
2746
2810
  _ret;
2747
2811
  while (seriesWidth != 0) {
2748
- _ret = _loop();
2812
+ _ret = _loop2();
2749
2813
  if (_ret) return _ret.v;
2750
2814
  }
2751
2815
  });
@@ -3147,6 +3211,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3147
3211
  }
3148
3212
  this.correctLadder(boxPlannerGrid, optionHandler);
3149
3213
  this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
3214
+ this.correctOverHangingElement(boxPlannerGrid, optionHandler, changedOPTs);
3150
3215
  this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
3151
3216
  this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
3152
3217
  for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
@@ -3155,13 +3220,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3155
3220
  }
3156
3221
  }
3157
3222
  doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
3158
- _context.next = 27;
3223
+ _context.next = 28;
3159
3224
  return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
3160
- case 27:
3225
+ case 28:
3161
3226
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
3162
3227
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
3163
3228
  return _context.abrupt("return", resultMessage);
3164
- case 30:
3229
+ case 31:
3165
3230
  case "end":
3166
3231
  return _context.stop();
3167
3232
  }
@@ -3842,10 +3907,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3842
3907
  }, {
3843
3908
  key: "getAllElementsInColumn",
3844
3909
  value: function getAllElementsInColumn(index, fromBackmodul) {
3910
+ var orderBottomDown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
3845
3911
  var curGrid = fromBackmodul ? this.backGrid : this.frontGrid;
3846
3912
  var allElements = [];
3847
3913
  var allElementIds = [];
3848
- if (curGrid.length > index) {
3914
+ if (!curGrid[index]) return allElements;
3915
+ if (orderBottomDown) {
3849
3916
  for (var i = 0; i < curGrid[index].length; i++) {
3850
3917
  var cell = curGrid[index][i];
3851
3918
  if (cell && allElementIds.indexOf(cell.plannerElementId) == -1) {
@@ -3853,6 +3920,14 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3853
3920
  allElements.push(this.plannerElements.get(cell.plannerElementId));
3854
3921
  }
3855
3922
  }
3923
+ } else {
3924
+ for (var i = curGrid[index].length - 1; i >= 0; i--) {
3925
+ var _cell4 = curGrid[index][i];
3926
+ if (_cell4 && allElementIds.indexOf(_cell4.plannerElementId) == -1) {
3927
+ allElementIds.push(_cell4.plannerElementId);
3928
+ allElements.push(this.plannerElements.get(_cell4.plannerElementId));
3929
+ }
3930
+ }
3856
3931
  }
3857
3932
  return allElements;
3858
3933
  }
@@ -4127,6 +4202,42 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4127
4202
  };
4128
4203
  }
4129
4204
 
4205
+ /**
4206
+ * Get all the Elements need to fill up for the copy of Element x fxe:
4207
+ *
4208
+ * [4] ->
4209
+ * [3]
4210
+ * [2]
4211
+ * [0][1]
4212
+ *
4213
+ * returns element 4, 3 and 2 because those are needed to copy in order
4214
+ * for the copy of element 4 to not float
4215
+ */
4216
+ }, {
4217
+ key: "getAllElementsToFillUp",
4218
+ value: function getAllElementsToFillUp(elementId) {
4219
+ var curPos = this.getCellsInGridByElementId(elementId);
4220
+ if (curPos.startRowIndex == 0) return {
4221
+ elements: [],
4222
+ backside: false
4223
+ };
4224
+ var curGrid = curPos.backside ? this.backGrid : this.frontGrid;
4225
+ var resultPlannerIds = [];
4226
+ for (var x = curPos.startColIndex; x <= curPos.endColIndex; x++) {
4227
+ for (var y = curPos.startRowIndex--; y >= 0; y--) {
4228
+ var cell = curGrid[x][y];
4229
+ var sideExists = curGrid[x + 1] != undefined && curGrid[x + 1][y];
4230
+ if (cell && !sideExists && resultPlannerIds.indexOf(cell.plannerElementId) == -1) {
4231
+ resultPlannerIds.push(cell.plannerElementId);
4232
+ }
4233
+ }
4234
+ }
4235
+ return {
4236
+ elements: resultPlannerIds,
4237
+ backside: curPos.backside
4238
+ };
4239
+ }
4240
+
4130
4241
  /**
4131
4242
  * Returns all Elements that are under the specified element
4132
4243
  * AAAE
@@ -4185,50 +4296,47 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4185
4296
  }
4186
4297
  }, {
4187
4298
  key: "prepareGridForColCopy",
4188
- value: function prepareGridForColCopy(elementId, copyIndex) {
4189
- if (copyIndex.y > 0) return;
4299
+ value: function prepareGridForColCopy(elementId, relativeCopyIndex) {
4300
+ if (relativeCopyIndex.y > 0) return;
4190
4301
  var elementToCopyPos = this.getCellsInGridByElementId(elementId);
4191
4302
  this.plannerElements.get(elementId);
4192
- //Kopiere das Grid nach rechts abhängig von der Breite des aktuellen Elementes
4193
- //now correct all indices in all cells:
4194
-
4195
- var copyStartIndex = 0;
4196
- if (copyIndex.x > 0) copyStartIndex = elementToCopyPos.endColIndex + 1;else if (copyIndex.x < 0) copyStartIndex = elementToCopyPos.startColIndex;
4197
- var copyIndexCount = 1 + (elementToCopyPos.endColIndex - elementToCopyPos.startColIndex);
4198
- var allUsedCellsFrontGrid = this.getAllUsedCellsInGrid(false);
4199
- this.frontGrid = new Array();
4200
- for (var i = 0; i < allUsedCellsFrontGrid.length; i++) {
4201
- var curCellFrontGrid = allUsedCellsFrontGrid[i];
4202
- if (curCellFrontGrid.index.x >= copyStartIndex) {
4203
- curCellFrontGrid.index.x += copyIndexCount;
4204
- }
4205
- if (!this.frontGrid[curCellFrontGrid.index.x]) {
4206
- this.frontGrid[curCellFrontGrid.index.x] = [];
4207
- }
4208
- this.frontGrid[curCellFrontGrid.index.x][curCellFrontGrid.index.y] = curCellFrontGrid;
4209
- }
4210
- //Init empty cols
4211
- for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
4212
- if (!this.frontGrid[i]) this.frontGrid[i] = [];
4303
+ var absoluteCopyIndex = {
4304
+ x: elementToCopyPos.cells[0].index.x + relativeCopyIndex.x,
4305
+ y: elementToCopyPos.cells[0].index.y + relativeCopyIndex.y
4306
+ };
4307
+ if (relativeCopyIndex.x < 0) absoluteCopyIndex.x = elementToCopyPos.startColIndex; // can't copy to -1 (moving everything by 1)
4308
+
4309
+ // new copy logic fill up like this:
4310
+ // [][] -> | [][][]
4311
+ // [][] | [][][]
4312
+ // [][][] | [][][]
4313
+ // not like this (old logic)
4314
+ // [][] -> | [][][]
4315
+ // [][] | [][][]
4316
+ // [][][] | [][][][]
4317
+
4318
+ function moveGrid(plannedCells) {
4319
+ var grid = new Array();
4320
+ plannedCells.forEach(function (cell) {
4321
+ // if i planned to -1 or absolute corrected 0 all the others get moved
4322
+ if (relativeCopyIndex.x == -1) {
4323
+ cell.index.x += 1;
4324
+ }
4325
+ if (!grid[cell.index.x]) {
4326
+ grid[cell.index.x] = [];
4327
+ }
4328
+ if (!grid[cell.index.x][cell.index.y]) {
4329
+ grid[cell.index.x][cell.index.y] = cell;
4330
+ }
4331
+ });
4332
+ return grid;
4213
4333
  }
4334
+ this.frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
4335
+ if (!this.frontGrid[absoluteCopyIndex.x]) this.frontGrid[absoluteCopyIndex.x] = [];
4214
4336
  if (this.hasActiveBackside) {
4215
- var allUsedCellsBackGrid = this.getAllUsedCellsInGrid(true);
4216
- this.backGrid = new Array();
4217
- for (var i = 0; i < allUsedCellsBackGrid.length; i++) {
4218
- var curCellBackGrid = allUsedCellsBackGrid[i];
4219
- if (curCellBackGrid.index.x >= copyStartIndex) {
4220
- curCellBackGrid.index.x += copyIndexCount;
4221
- }
4222
- if (!this.backGrid[curCellBackGrid.index.x]) {
4223
- this.backGrid[curCellBackGrid.index.x] = [];
4224
- }
4225
- this.backGrid[curCellBackGrid.index.x][curCellBackGrid.index.y] = curCellBackGrid;
4226
- }
4227
-
4337
+ this.backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
4228
4338
  //Init empty cols
4229
- for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
4230
- if (!this.backGrid[i]) this.backGrid[i] = [];
4231
- }
4339
+ if (!this.backGrid[absoluteCopyIndex.x]) this.backGrid[absoluteCopyIndex.y] = [];
4232
4340
  }
4233
4341
  }
4234
4342
  }, {
@@ -4287,7 +4395,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4287
4395
  }
4288
4396
 
4289
4397
  /**
4290
- * This function deletes an Element from the grid.
4398
+ * This function deletes an Element from the grid.ShaderMaterial
4291
4399
  * If backsideModule is active, than the oppsite Element is deleted as well
4292
4400
  * If the boxPlanner_backside switch deletion type is set, do not delete the opposite element
4293
4401
  * If the last element in col was deleted, do delete whole col.
@@ -4361,18 +4469,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4361
4469
  }
4362
4470
  for (var i = 0; i < this.backGrid.length; i++) {
4363
4471
  for (var j = 0; j < this.backGrid[i].length; j++) {
4364
- var _cell4 = this.backGrid[i][j];
4365
- if (allCheckedElementIds.indexOf(_cell4.plannerElementId) == -1) {
4366
- var _element2 = this.plannerElements.get(_cell4.plannerElementId);
4367
- allCheckedElementIds.push(_cell4.plannerElementId);
4472
+ var _cell5 = this.backGrid[i][j];
4473
+ if (allCheckedElementIds.indexOf(_cell5.plannerElementId) == -1) {
4474
+ var _element2 = this.plannerElements.get(_cell5.plannerElementId);
4475
+ allCheckedElementIds.push(_cell5.plannerElementId);
4368
4476
  var cellFrontGrid = this.frontGrid[i][j];
4369
4477
  var elementFrontGrid = this.plannerElements.get(cellFrontGrid.plannerElementId);
4370
4478
  if (elementFrontGrid) {
4371
4479
  var targetDPFrontGrid = elementFrontGrid === null || elementFrontGrid === void 0 ? void 0 : elementFrontGrid.getDockingPointById('AVO_AVO_2_IL');
4372
4480
  if (!targetDPFrontGrid) LOG$1.error(new DivaUtils.DivaError('Error Loading DockingPoint AVO_2 for plannerElement'));else if (_element2) PlannerHandler2D.dockingPointHandlerInst.tryDockElementToDP(_element2, elementFrontGrid, targetDPFrontGrid);
4373
4481
  }
4374
- var _topNeighbors = this.getNeighborElements(_cell4.plannerElementId, 'TOP');
4375
- var _rightNeighbors = this.getNeighborElements(_cell4.plannerElementId, 'RIGHT');
4482
+ var _topNeighbors = this.getNeighborElements(_cell5.plannerElementId, 'TOP');
4483
+ var _rightNeighbors = this.getNeighborElements(_cell5.plannerElementId, 'RIGHT');
4376
4484
  for (var n = 0; n < _topNeighbors.length; n++) {
4377
4485
  PlannerHandler2D.dockingPointHandlerInst.tryDockElement(_element2, 'AVO', [_topNeighbors[n]]);
4378
4486
  }
@@ -5425,7 +5533,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
5425
5533
  allElementsToCopy = result.elements;
5426
5534
  result.backside;
5427
5535
  } else {
5428
- var _result = this.boxPlannerGrid.getAllElementsDown(elementId);
5536
+ var _result = this.boxPlannerGrid.getAllElementsToFillUp(elementId);
5429
5537
  allElementsToCopy = allElementsToCopy.concat(_result.elements);
5430
5538
  _result.backside;
5431
5539
  }
@@ -5,9 +5,9 @@ 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-589e2f4b.js');
8
+ var index = require('./index-c1f7833f.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
- var PlannerHandler2D = require('./PlannerHandler2D-cdf785a8.js');
10
+ var PlannerHandler2D = require('./PlannerHandler2D-448b9599.js');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
13
13
  require('@babel/runtime/helpers/toConsumableArray');
@@ -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-589e2f4b.js');
6
+ require('./index-c1f7833f.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -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-589e2f4b.js');
8
+ var index = require('./index-c1f7833f.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-589e2f4b.js');
5
+ require('./index-c1f7833f.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -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
- var index = require('./index-589e2f4b.js');
5
+ var index = require('./index-c1f7833f.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -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-589e2f4b.js');
8
+ var index = require('./index-c1f7833f.js');
9
9
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
10
10
  var fabric = require('fabric');
11
11
  var DivaUtils = require('@crystaldesign/diva-utils');
@@ -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-589e2f4b.js');
6
+ var index = require('./index-c1f7833f.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -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-589e2f4b.js');
9
+ var index = require('./index-c1f7833f.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -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-589e2f4b.js');
5
+ require('./index-c1f7833f.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -28393,7 +28393,7 @@ var DivaArticle = /*#__PURE__*/function () {
28393
28393
  break;
28394
28394
  }
28395
28395
  _context.next = 4;
28396
- return Promise.resolve().then(function () { return require('./ShelfPlanner-5d155708.js'); });
28396
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-1a7048f4.js'); });
28397
28397
  case 4:
28398
28398
  _yield$import = _context.sent;
28399
28399
  ShelfPlanner = _yield$import["default"];
@@ -28727,6 +28727,7 @@ var DivaArticle = /*#__PURE__*/function () {
28727
28727
  }, {
28728
28728
  key: "getArticleInfos",
28729
28729
  value: function getArticleInfos(isActive) {
28730
+ var _this$article$planner, _this$article$planner2;
28730
28731
  var catalogData = this.CatalogData;
28731
28732
  var ret = {
28732
28733
  setId: this.setId,
@@ -28741,7 +28742,7 @@ var DivaArticle = /*#__PURE__*/function () {
28741
28742
  isActive: isActive,
28742
28743
  basketId: this.article.basketId,
28743
28744
  posNr: this.posNr,
28744
- elementId: this.article.elementId
28745
+ elementId: (_this$article$planner = (_this$article$planner2 = this.article.plannerElement) === null || _this$article$planner2 === void 0 ? void 0 : _this$article$planner2.ElementId) !== null && _this$article$planner !== void 0 ? _this$article$planner : this.article.elementId
28745
28746
  };
28746
28747
  return ret;
28747
28748
  }
@@ -32924,7 +32925,7 @@ var DivaSet = /*#__PURE__*/function () {
32924
32925
  break;
32925
32926
  }
32926
32927
  _context5.next = 3;
32927
- return Promise.resolve().then(function () { return require('./DoorPlanner-4184aa93.js'); });
32928
+ return Promise.resolve().then(function () { return require('./DoorPlanner-2d47acd1.js'); });
32928
32929
  case 3:
32929
32930
  _yield$import = _context5.sent;
32930
32931
  DoorPlanner = _yield$import["default"];
@@ -39977,7 +39978,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39977
39978
  break;
39978
39979
  case 3:
39979
39980
  _context12.next = 5;
39980
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-c131cf9d.js'); });
39981
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-17f01922.js'); });
39981
39982
  case 5:
39982
39983
  _yield$import = _context12.sent;
39983
39984
  PfisterWWSHandler = _yield$import["default"];
@@ -39985,7 +39986,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39985
39986
  return _context12.abrupt("break", 27);
39986
39987
  case 9:
39987
39988
  _context12.next = 11;
39988
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-566296fe.js'); });
39989
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-623bb520.js'); });
39989
39990
  case 11:
39990
39991
  _yield$import2 = _context12.sent;
39991
39992
  LiviqueWWSHandler = _yield$import2["default"];
@@ -39993,7 +39994,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39993
39994
  return _context12.abrupt("break", 27);
39994
39995
  case 15:
39995
39996
  _context12.next = 17;
39996
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-62a42abd.js'); });
39997
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-2ee4241d.js'); });
39997
39998
  case 17:
39998
39999
  _yield$import3 = _context12.sent;
39999
40000
  SeriousWWSHandler = _yield$import3["default"];
@@ -40001,7 +40002,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
40001
40002
  return _context12.abrupt("break", 27);
40002
40003
  case 21:
40003
40004
  _context12.next = 23;
40004
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-e33be010.js'); });
40005
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-98e4efdd.js'); });
40005
40006
  case 23:
40006
40007
  _yield$import4 = _context12.sent;
40007
40008
  StandardWWSHandler = _yield$import4["default"];
@@ -41430,7 +41431,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
41430
41431
  while (1) switch (_context3.prev = _context3.next) {
41431
41432
  case 0:
41432
41433
  _context3.next = 2;
41433
- return Promise.resolve().then(function () { return require('./Host3DSignalR-3e4afb1c.js'); });
41434
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-733a1c2c.js'); });
41434
41435
  case 2:
41435
41436
  _yield$import = _context3.sent;
41436
41437
  Host3DSignalR = _yield$import["default"];
@@ -42988,7 +42989,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
42988
42989
  break;
42989
42990
  case 8:
42990
42991
  _context4.next = 10;
42991
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-edc8adbb.js'); });
42992
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-4c6bbce4.js'); });
42992
42993
  case 10:
42993
42994
  _yield$import = _context4.sent;
42994
42995
  DivaStandardPlanner = _yield$import["default"];
@@ -42999,7 +43000,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
42999
43000
  return _context4.abrupt("break", 21);
43000
43001
  case 15:
43001
43002
  _context4.next = 17;
43002
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-9dc63e6c.js'); });
43003
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-41e95e59.js'); });
43003
43004
  case 17:
43004
43005
  _yield$import2 = _context4.sent;
43005
43006
  DivaBoxPlanner = _yield$import2["default"];
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-589e2f4b.js');
5
+ var index = require('./index-c1f7833f.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/classCallCheck');