@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
@@ -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 { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-f875e861.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-077cf895.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, h as handler2D } from './PlannerHandler2D-80d37ff1.js';
9
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-eadd4506.js';
10
10
  import '@babel/runtime/helpers/slicedToArray';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
@@ -2604,31 +2604,95 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2604
2604
  }
2605
2605
  return undefined;
2606
2606
  }
2607
+ }, {
2608
+ key: "validateDimensionRule",
2609
+ value: function validateDimensionRule(dimRule, boxPlannerSize) {
2610
+ var isOver = false;
2611
+ var isEqual = false;
2612
+ if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
2613
+ if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
2614
+ if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
2615
+ if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
2616
+ if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
2617
+ if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
2618
+ if (isOver) {
2619
+ if (dimRule.higherLimit.toLowerCase() == 'doshow') return true;else if (dimRule.higherLimit.toLowerCase() == 'dohide') return false;
2620
+ } else if (isEqual) {
2621
+ return true;
2622
+ } else {
2623
+ if (dimRule.lowerLimit.toLowerCase() == 'doshow') return true;else if (dimRule.lowerLimit.toLowerCase() == 'dohide') return false;
2624
+ }
2625
+ return false;
2626
+ }
2627
+
2628
+ /*
2629
+ * This function corrects the elements in one row when the top element is wider then the bottom one.
2630
+ * Goal is to make all the bottom ones also atleast as wide as the top one because no element can overhang - omlin setup
2631
+ */
2632
+ }, {
2633
+ key: "correctOverHangingElement",
2634
+ value: function correctOverHangingElement(boxPlannerGrid, optionHandler, changedOPTs) {
2635
+ var _this2 = this;
2636
+ if (!changedOPTs) return;
2637
+ var _loop = function _loop() {
2638
+ var elements = boxPlannerGrid.getAllElementsInColumn(columndIdx, false, false); // from bottom to top
2639
+ var lastElement = null;
2640
+ elements.forEach(function (element) {
2641
+ var _lastElement$Width, _element$Width, _lastElement$Depth, _element$Depth;
2642
+ if (!lastElement) {
2643
+ lastElement = element;
2644
+ return;
2645
+ }
2646
+ 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)) {
2647
+ var t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
2648
+ var opt = t[0][0];
2649
+ var opv = t[0][1];
2650
+ _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
2651
+ }
2652
+ 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)) {
2653
+ var _t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
2654
+ var _opt = _t[0][0];
2655
+ var _opv2 = _t[0][1];
2656
+ _this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
2657
+ }
2658
+ lastElement = element;
2659
+ });
2660
+ };
2661
+ for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
2662
+ _loop();
2663
+ }
2664
+ }
2665
+
2666
+ /*
2667
+ * This function corrects Options that are based on the total planning dimensions
2668
+ * */
2607
2669
  }, {
2608
2670
  key: "correctOptionsInfluencedByDimensions",
2609
2671
  value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
2610
- var _this2 = this;
2672
+ var _this3 = this;
2611
2673
  if (!this.constructionRules.optionsInfluencedByDimensions) return;
2612
2674
  var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
2613
2675
  var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
2614
2676
  this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
2615
- var isOver = false;
2616
- var isEqual = false;
2617
- if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
2618
- if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
2619
- if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
2620
- if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
2621
- if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
2622
- if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
2623
- allElements.forEach(function (element) {
2624
- if (isOver) {
2625
- 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);
2626
- } else if (isEqual) {
2627
- _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
2628
- } else {
2629
- 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);
2630
- }
2631
- });
2677
+ if (Array.isArray(dimRule)) {
2678
+ if (dimRule.every(function (rule) {
2679
+ return _this3.validateDimensionRule(rule, boxPlannerSize);
2680
+ })) dimRule.forEach(function (rule) {
2681
+ return allElements.forEach(function (element) {
2682
+ return _this3.setOptionDoShow(element.ElementId, rule.option, optionHandler);
2683
+ });
2684
+ });else dimRule.forEach(function (rule) {
2685
+ return allElements.forEach(function (element) {
2686
+ return _this3.setOptionDoHide(element.ElementId, rule.option, optionHandler);
2687
+ });
2688
+ });
2689
+ } else {
2690
+ if (_this3.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
2691
+ return _this3.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2692
+ });else allElements.forEach(function (element) {
2693
+ return _this3.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
2694
+ });
2695
+ }
2632
2696
  });
2633
2697
  }
2634
2698
  }, {
@@ -2691,7 +2755,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2691
2755
  }, {
2692
2756
  key: "correctCoverPlate",
2693
2757
  value: function correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler) {
2694
- var _this3 = this;
2758
+ var _this4 = this;
2695
2759
  if (coverPlateRule.onHighestElementsOnly) return; // System4 not handled by this logic yet
2696
2760
 
2697
2761
  var elementsPerSeries = boxPlannerGrid.getHighestElementsPerSeries(!!coverPlateRule.onBottom);
@@ -2699,19 +2763,19 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2699
2763
  var seriesWidth = 0;
2700
2764
  var seriesWidthToPlateOpv = coverPlateRule.seriesWidthToPlateOpv;
2701
2765
  serie.forEach(function (element) {
2702
- var _element$Width;
2703
- seriesWidth += (_element$Width = element.Width) !== null && _element$Width !== void 0 ? _element$Width : 0;
2704
- _this3.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
2766
+ var _element$Width2;
2767
+ seriesWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
2768
+ _this4.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
2705
2769
  });
2706
2770
  var firstUncoveredElement = serie[0];
2707
- var _loop = function _loop() {
2771
+ var _loop2 = function _loop2() {
2708
2772
  var opv = seriesWidthToPlateOpv.findLast(function (stp) {
2709
2773
  // is a clean element ending
2710
2774
  var helperWidth = 0;
2711
2775
  var isClean = false;
2712
2776
  serie.forEach(function (element) {
2713
- var _element$Width2;
2714
- helperWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
2777
+ var _element$Width3;
2778
+ helperWidth += (_element$Width3 = element.Width) !== null && _element$Width3 !== void 0 ? _element$Width3 : 0;
2715
2779
  if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
2716
2780
  });
2717
2781
  if (stp.limit <= seriesWidth && isClean) return true;
@@ -2720,7 +2784,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2720
2784
  if (!opv) return {
2721
2785
  v: void 0
2722
2786
  };
2723
- _this3.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2787
+ _this4.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2724
2788
  var helperWidth = 0;
2725
2789
  firstUncoveredElement = serie.find(function (e) {
2726
2790
  var _e$Width;
@@ -2733,7 +2797,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2733
2797
  },
2734
2798
  _ret;
2735
2799
  while (seriesWidth != 0) {
2736
- _ret = _loop();
2800
+ _ret = _loop2();
2737
2801
  if (_ret) return _ret.v;
2738
2802
  }
2739
2803
  });
@@ -3135,6 +3199,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3135
3199
  }
3136
3200
  this.correctLadder(boxPlannerGrid, optionHandler);
3137
3201
  this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
3202
+ this.correctOverHangingElement(boxPlannerGrid, optionHandler, changedOPTs);
3138
3203
  this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
3139
3204
  this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
3140
3205
  for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
@@ -3143,13 +3208,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
3143
3208
  }
3144
3209
  }
3145
3210
  doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
3146
- _context.next = 27;
3211
+ _context.next = 28;
3147
3212
  return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
3148
- case 27:
3213
+ case 28:
3149
3214
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
3150
3215
  LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
3151
3216
  return _context.abrupt("return", resultMessage);
3152
- case 30:
3217
+ case 31:
3153
3218
  case "end":
3154
3219
  return _context.stop();
3155
3220
  }
@@ -3830,10 +3895,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3830
3895
  }, {
3831
3896
  key: "getAllElementsInColumn",
3832
3897
  value: function getAllElementsInColumn(index, fromBackmodul) {
3898
+ var orderBottomDown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
3833
3899
  var curGrid = fromBackmodul ? this.backGrid : this.frontGrid;
3834
3900
  var allElements = [];
3835
3901
  var allElementIds = [];
3836
- if (curGrid.length > index) {
3902
+ if (!curGrid[index]) return allElements;
3903
+ if (orderBottomDown) {
3837
3904
  for (var i = 0; i < curGrid[index].length; i++) {
3838
3905
  var cell = curGrid[index][i];
3839
3906
  if (cell && allElementIds.indexOf(cell.plannerElementId) == -1) {
@@ -3841,6 +3908,14 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3841
3908
  allElements.push(this.plannerElements.get(cell.plannerElementId));
3842
3909
  }
3843
3910
  }
3911
+ } else {
3912
+ for (var i = curGrid[index].length - 1; i >= 0; i--) {
3913
+ var _cell4 = curGrid[index][i];
3914
+ if (_cell4 && allElementIds.indexOf(_cell4.plannerElementId) == -1) {
3915
+ allElementIds.push(_cell4.plannerElementId);
3916
+ allElements.push(this.plannerElements.get(_cell4.plannerElementId));
3917
+ }
3918
+ }
3844
3919
  }
3845
3920
  return allElements;
3846
3921
  }
@@ -4115,6 +4190,42 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4115
4190
  };
4116
4191
  }
4117
4192
 
4193
+ /**
4194
+ * Get all the Elements need to fill up for the copy of Element x fxe:
4195
+ *
4196
+ * [4] ->
4197
+ * [3]
4198
+ * [2]
4199
+ * [0][1]
4200
+ *
4201
+ * returns element 4, 3 and 2 because those are needed to copy in order
4202
+ * for the copy of element 4 to not float
4203
+ */
4204
+ }, {
4205
+ key: "getAllElementsToFillUp",
4206
+ value: function getAllElementsToFillUp(elementId) {
4207
+ var curPos = this.getCellsInGridByElementId(elementId);
4208
+ if (curPos.startRowIndex == 0) return {
4209
+ elements: [],
4210
+ backside: false
4211
+ };
4212
+ var curGrid = curPos.backside ? this.backGrid : this.frontGrid;
4213
+ var resultPlannerIds = [];
4214
+ for (var x = curPos.startColIndex; x <= curPos.endColIndex; x++) {
4215
+ for (var y = curPos.startRowIndex--; y >= 0; y--) {
4216
+ var cell = curGrid[x][y];
4217
+ var sideExists = curGrid[x + 1] != undefined && curGrid[x + 1][y];
4218
+ if (cell && !sideExists && resultPlannerIds.indexOf(cell.plannerElementId) == -1) {
4219
+ resultPlannerIds.push(cell.plannerElementId);
4220
+ }
4221
+ }
4222
+ }
4223
+ return {
4224
+ elements: resultPlannerIds,
4225
+ backside: curPos.backside
4226
+ };
4227
+ }
4228
+
4118
4229
  /**
4119
4230
  * Returns all Elements that are under the specified element
4120
4231
  * AAAE
@@ -4173,50 +4284,47 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4173
4284
  }
4174
4285
  }, {
4175
4286
  key: "prepareGridForColCopy",
4176
- value: function prepareGridForColCopy(elementId, copyIndex) {
4177
- if (copyIndex.y > 0) return;
4287
+ value: function prepareGridForColCopy(elementId, relativeCopyIndex) {
4288
+ if (relativeCopyIndex.y > 0) return;
4178
4289
  var elementToCopyPos = this.getCellsInGridByElementId(elementId);
4179
4290
  this.plannerElements.get(elementId);
4180
- //Kopiere das Grid nach rechts abhängig von der Breite des aktuellen Elementes
4181
- //now correct all indices in all cells:
4182
-
4183
- var copyStartIndex = 0;
4184
- if (copyIndex.x > 0) copyStartIndex = elementToCopyPos.endColIndex + 1;else if (copyIndex.x < 0) copyStartIndex = elementToCopyPos.startColIndex;
4185
- var copyIndexCount = 1 + (elementToCopyPos.endColIndex - elementToCopyPos.startColIndex);
4186
- var allUsedCellsFrontGrid = this.getAllUsedCellsInGrid(false);
4187
- this.frontGrid = new Array();
4188
- for (var i = 0; i < allUsedCellsFrontGrid.length; i++) {
4189
- var curCellFrontGrid = allUsedCellsFrontGrid[i];
4190
- if (curCellFrontGrid.index.x >= copyStartIndex) {
4191
- curCellFrontGrid.index.x += copyIndexCount;
4192
- }
4193
- if (!this.frontGrid[curCellFrontGrid.index.x]) {
4194
- this.frontGrid[curCellFrontGrid.index.x] = [];
4195
- }
4196
- this.frontGrid[curCellFrontGrid.index.x][curCellFrontGrid.index.y] = curCellFrontGrid;
4197
- }
4198
- //Init empty cols
4199
- for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
4200
- if (!this.frontGrid[i]) this.frontGrid[i] = [];
4291
+ var absoluteCopyIndex = {
4292
+ x: elementToCopyPos.cells[0].index.x + relativeCopyIndex.x,
4293
+ y: elementToCopyPos.cells[0].index.y + relativeCopyIndex.y
4294
+ };
4295
+ if (relativeCopyIndex.x < 0) absoluteCopyIndex.x = elementToCopyPos.startColIndex; // can't copy to -1 (moving everything by 1)
4296
+
4297
+ // new copy logic fill up like this:
4298
+ // [][] -> | [][][]
4299
+ // [][] | [][][]
4300
+ // [][][] | [][][]
4301
+ // not like this (old logic)
4302
+ // [][] -> | [][][]
4303
+ // [][] | [][][]
4304
+ // [][][] | [][][][]
4305
+
4306
+ function moveGrid(plannedCells) {
4307
+ var grid = new Array();
4308
+ plannedCells.forEach(function (cell) {
4309
+ // if i planned to -1 or absolute corrected 0 all the others get moved
4310
+ if (relativeCopyIndex.x == -1) {
4311
+ cell.index.x += 1;
4312
+ }
4313
+ if (!grid[cell.index.x]) {
4314
+ grid[cell.index.x] = [];
4315
+ }
4316
+ if (!grid[cell.index.x][cell.index.y]) {
4317
+ grid[cell.index.x][cell.index.y] = cell;
4318
+ }
4319
+ });
4320
+ return grid;
4201
4321
  }
4322
+ this.frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
4323
+ if (!this.frontGrid[absoluteCopyIndex.x]) this.frontGrid[absoluteCopyIndex.x] = [];
4202
4324
  if (this.hasActiveBackside) {
4203
- var allUsedCellsBackGrid = this.getAllUsedCellsInGrid(true);
4204
- this.backGrid = new Array();
4205
- for (var i = 0; i < allUsedCellsBackGrid.length; i++) {
4206
- var curCellBackGrid = allUsedCellsBackGrid[i];
4207
- if (curCellBackGrid.index.x >= copyStartIndex) {
4208
- curCellBackGrid.index.x += copyIndexCount;
4209
- }
4210
- if (!this.backGrid[curCellBackGrid.index.x]) {
4211
- this.backGrid[curCellBackGrid.index.x] = [];
4212
- }
4213
- this.backGrid[curCellBackGrid.index.x][curCellBackGrid.index.y] = curCellBackGrid;
4214
- }
4215
-
4325
+ this.backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
4216
4326
  //Init empty cols
4217
- for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
4218
- if (!this.backGrid[i]) this.backGrid[i] = [];
4219
- }
4327
+ if (!this.backGrid[absoluteCopyIndex.x]) this.backGrid[absoluteCopyIndex.y] = [];
4220
4328
  }
4221
4329
  }
4222
4330
  }, {
@@ -4275,7 +4383,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4275
4383
  }
4276
4384
 
4277
4385
  /**
4278
- * This function deletes an Element from the grid.
4386
+ * This function deletes an Element from the grid.ShaderMaterial
4279
4387
  * If backsideModule is active, than the oppsite Element is deleted as well
4280
4388
  * If the boxPlanner_backside switch deletion type is set, do not delete the opposite element
4281
4389
  * If the last element in col was deleted, do delete whole col.
@@ -4349,18 +4457,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4349
4457
  }
4350
4458
  for (var i = 0; i < this.backGrid.length; i++) {
4351
4459
  for (var j = 0; j < this.backGrid[i].length; j++) {
4352
- var _cell4 = this.backGrid[i][j];
4353
- if (allCheckedElementIds.indexOf(_cell4.plannerElementId) == -1) {
4354
- var _element2 = this.plannerElements.get(_cell4.plannerElementId);
4355
- allCheckedElementIds.push(_cell4.plannerElementId);
4460
+ var _cell5 = this.backGrid[i][j];
4461
+ if (allCheckedElementIds.indexOf(_cell5.plannerElementId) == -1) {
4462
+ var _element2 = this.plannerElements.get(_cell5.plannerElementId);
4463
+ allCheckedElementIds.push(_cell5.plannerElementId);
4356
4464
  var cellFrontGrid = this.frontGrid[i][j];
4357
4465
  var elementFrontGrid = this.plannerElements.get(cellFrontGrid.plannerElementId);
4358
4466
  if (elementFrontGrid) {
4359
4467
  var targetDPFrontGrid = elementFrontGrid === null || elementFrontGrid === void 0 ? void 0 : elementFrontGrid.getDockingPointById('AVO_AVO_2_IL');
4360
4468
  if (!targetDPFrontGrid) LOG$1.error(new DivaError('Error Loading DockingPoint AVO_2 for plannerElement'));else if (_element2) dockingPointHandlerInst.tryDockElementToDP(_element2, elementFrontGrid, targetDPFrontGrid);
4361
4469
  }
4362
- var _topNeighbors = this.getNeighborElements(_cell4.plannerElementId, 'TOP');
4363
- var _rightNeighbors = this.getNeighborElements(_cell4.plannerElementId, 'RIGHT');
4470
+ var _topNeighbors = this.getNeighborElements(_cell5.plannerElementId, 'TOP');
4471
+ var _rightNeighbors = this.getNeighborElements(_cell5.plannerElementId, 'RIGHT');
4364
4472
  for (var n = 0; n < _topNeighbors.length; n++) {
4365
4473
  dockingPointHandlerInst.tryDockElement(_element2, 'AVO', [_topNeighbors[n]]);
4366
4474
  }
@@ -5413,7 +5521,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
5413
5521
  allElementsToCopy = result.elements;
5414
5522
  result.backside;
5415
5523
  } else {
5416
- var _result = this.boxPlannerGrid.getAllElementsDown(elementId);
5524
+ var _result = this.boxPlannerGrid.getAllElementsToFillUp(elementId);
5417
5525
  allElementsToCopy = allElementsToCopy.concat(_result.elements);
5418
5526
  _result.backside;
5419
5527
  }
@@ -3,9 +3,9 @@ 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, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-f875e861.js';
6
+ import { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-077cf895.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-80d37ff1.js';
8
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-eadd4506.js';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import '@babel/runtime/helpers/toConsumableArray';
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-f875e861.js';
4
+ import './index-077cf895.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -3,7 +3,7 @@ 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 { R as Rendering, H as HQRenderScript } from './index-f875e861.js';
6
+ import { R as Rendering, H as HQRenderScript } from './index-077cf895.js';
7
7
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
8
8
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
9
9
  import io from 'socket.io-client';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-f875e861.js';
3
+ import './index-077cf895.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import { a as articleHandlerInstance } from './index-f875e861.js';
3
+ import { a as articleHandlerInstance } from './index-077cf895.js';
4
4
  import { SAPOrderLineData } from '@crystaldesign/basket-model';
5
5
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
@@ -3,7 +3,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { c as Vector2, D as DockingPoint, V as Vector3 } from './index-f875e861.js';
6
+ import { c as Vector2, D as DockingPoint, V as Vector3 } from './index-077cf895.js';
7
7
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
8
8
  import { fabric } from 'fabric';
9
9
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import { s as summaryHandlerInstance } from './index-f875e861.js';
4
+ import { s as summaryHandlerInstance } from './index-077cf895.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -4,7 +4,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
4
4
  import _createClass from '@babel/runtime/helpers/createClass';
5
5
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
6
6
  import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import { G as Grid, b as setHandlerInstance, a as articleHandlerInstance } from './index-f875e861.js';
7
+ import { G as Grid, b as setHandlerInstance, a as articleHandlerInstance } from './index-077cf895.js';
8
8
  import DivaUtils from '@crystaldesign/diva-utils';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-f875e861.js';
3
+ import './index-077cf895.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';
@@ -28376,7 +28376,7 @@ var DivaArticle = /*#__PURE__*/function () {
28376
28376
  break;
28377
28377
  }
28378
28378
  _context.next = 4;
28379
- return import('./ShelfPlanner-d144ac1f.js');
28379
+ return import('./ShelfPlanner-d05eae79.js');
28380
28380
  case 4:
28381
28381
  _yield$import = _context.sent;
28382
28382
  ShelfPlanner = _yield$import["default"];
@@ -28710,6 +28710,7 @@ var DivaArticle = /*#__PURE__*/function () {
28710
28710
  }, {
28711
28711
  key: "getArticleInfos",
28712
28712
  value: function getArticleInfos(isActive) {
28713
+ var _this$article$planner, _this$article$planner2;
28713
28714
  var catalogData = this.CatalogData;
28714
28715
  var ret = {
28715
28716
  setId: this.setId,
@@ -28724,7 +28725,7 @@ var DivaArticle = /*#__PURE__*/function () {
28724
28725
  isActive: isActive,
28725
28726
  basketId: this.article.basketId,
28726
28727
  posNr: this.posNr,
28727
- elementId: this.article.elementId
28728
+ 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
28728
28729
  };
28729
28730
  return ret;
28730
28731
  }
@@ -32907,7 +32908,7 @@ var DivaSet = /*#__PURE__*/function () {
32907
32908
  break;
32908
32909
  }
32909
32910
  _context5.next = 3;
32910
- return import('./DoorPlanner-b7931e1b.js');
32911
+ return import('./DoorPlanner-6a5011f5.js');
32911
32912
  case 3:
32912
32913
  _yield$import = _context5.sent;
32913
32914
  DoorPlanner = _yield$import["default"];
@@ -39960,7 +39961,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39960
39961
  break;
39961
39962
  case 3:
39962
39963
  _context12.next = 5;
39963
- return import('./PfisterWWSHandler-38fd3e0b.js');
39964
+ return import('./PfisterWWSHandler-69509c19.js');
39964
39965
  case 5:
39965
39966
  _yield$import = _context12.sent;
39966
39967
  PfisterWWSHandler = _yield$import["default"];
@@ -39968,7 +39969,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39968
39969
  return _context12.abrupt("break", 27);
39969
39970
  case 9:
39970
39971
  _context12.next = 11;
39971
- return import('./LiviqueWWSHandler-17487162.js');
39972
+ return import('./LiviqueWWSHandler-b42b97a2.js');
39972
39973
  case 11:
39973
39974
  _yield$import2 = _context12.sent;
39974
39975
  LiviqueWWSHandler = _yield$import2["default"];
@@ -39976,7 +39977,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39976
39977
  return _context12.abrupt("break", 27);
39977
39978
  case 15:
39978
39979
  _context12.next = 17;
39979
- return import('./SeriousBasketHandler-2843e656.js');
39980
+ return import('./SeriousBasketHandler-5cd7729f.js');
39980
39981
  case 17:
39981
39982
  _yield$import3 = _context12.sent;
39982
39983
  SeriousWWSHandler = _yield$import3["default"];
@@ -39984,7 +39985,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
39984
39985
  return _context12.abrupt("break", 27);
39985
39986
  case 21:
39986
39987
  _context12.next = 23;
39987
- return import('./StandardWWSHandler-c87284af.js');
39988
+ return import('./StandardWWSHandler-a988bc1e.js');
39988
39989
  case 23:
39989
39990
  _yield$import4 = _context12.sent;
39990
39991
  StandardWWSHandler = _yield$import4["default"];
@@ -41413,7 +41414,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
41413
41414
  while (1) switch (_context3.prev = _context3.next) {
41414
41415
  case 0:
41415
41416
  _context3.next = 2;
41416
- return import('./Host3DSignalR-f59bbfff.js');
41417
+ return import('./Host3DSignalR-8eabf1dd.js');
41417
41418
  case 2:
41418
41419
  _yield$import = _context3.sent;
41419
41420
  Host3DSignalR = _yield$import["default"];
@@ -42971,7 +42972,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
42971
42972
  break;
42972
42973
  case 8:
42973
42974
  _context4.next = 10;
42974
- return import('./DivaStandardPlanner-8c6fe69d.js');
42975
+ return import('./DivaStandardPlanner-feba1fd6.js');
42975
42976
  case 10:
42976
42977
  _yield$import = _context4.sent;
42977
42978
  DivaStandardPlanner = _yield$import["default"];
@@ -42982,7 +42983,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
42982
42983
  return _context4.abrupt("break", 21);
42983
42984
  case 15:
42984
42985
  _context4.next = 17;
42985
- return import('./DivaBoxPlanner-091c8b09.js');
42986
+ return import('./DivaBoxPlanner-5b8b3a3f.js');
42986
42987
  case 17:
42987
42988
  _yield$import2 = _context4.sent;
42988
42989
  DivaBoxPlanner = _yield$import2["default"];
@@ -1,4 +1,4 @@
1
- export { h as CatalogPlannerArticleData, C as Cell, e as DivaArticle, g as DivaBasketHandler, f as DivaCatalogData, D as DockingPoint, G as Grid, O as OptionCatalogData, P as PlannerElementData, R as Rendering, c as Vector2, V as Vector3, i as Vector4, j as creatRenderOrders, d as default, k as getOrigProductId, l as loadAndRepairBasket } from './index-f875e861.js';
1
+ export { h as CatalogPlannerArticleData, C as Cell, e as DivaArticle, g as DivaBasketHandler, f as DivaCatalogData, D as DockingPoint, G as Grid, O as OptionCatalogData, P as PlannerElementData, R as Rendering, c as Vector2, V as Vector3, i as Vector4, j as creatRenderOrders, d as default, k as getOrigProductId, l as loadAndRepairBasket } from './index-077cf895.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import '@babel/runtime/helpers/asyncToGenerator';
4
4
  import '@babel/runtime/helpers/classCallCheck';