@crystaldesign/web-planner-logic 25.14.0-beta.27 → 25.14.0-beta.29
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.
- package/build/cjs/{DivaBoxPlanner-5e144865.js → DivaBoxPlanner-590fa04b.js} +228 -148
- package/build/cjs/{DivaStandardPlanner-ca043429.js → DivaStandardPlanner-14f641eb.js} +96 -87
- package/build/cjs/{DoorPlanner-5ded30b7.js → DoorPlanner-2fd36cbe.js} +1 -1
- package/build/cjs/{Host3DSignalR-715fa957.js → Host3DSignalR-01d03fbe.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-bfb1fab3.js → LiviqueWWSHandler-ce234c4d.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-a2c9cd1f.js → PfisterWWSHandler-14763bec.js} +1 -1
- package/build/cjs/{PlannerHandler2D-7aa80b82.js → PlannerHandler2D-69bf367e.js} +2 -2
- package/build/cjs/{SeriousBasketHandler-7571d6f2.js → SeriousBasketHandler-3284d8e6.js} +1 -1
- package/build/cjs/{ShelfPlanner-56e90dab.js → ShelfPlanner-fdf5c5ea.js} +1 -1
- package/build/cjs/{StandardWWSHandler-2e0aa185.js → StandardWWSHandler-75b86bd6.js} +1 -1
- package/build/cjs/{index-cf35e4c3.js → index-d851c847.js} +102 -61
- package/build/cjs/index.js +1 -1
- package/build/esm/{DivaBoxPlanner-5c85ac91.js → DivaBoxPlanner-90c95fe0.js} +228 -148
- package/build/esm/{DivaStandardPlanner-a5f5ecaa.js → DivaStandardPlanner-15cc1700.js} +96 -87
- package/build/esm/{DoorPlanner-d1401be5.js → DoorPlanner-6e3a0841.js} +1 -1
- package/build/esm/{Host3DSignalR-73af84d1.js → Host3DSignalR-e8cf0b3e.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-20d9ac88.js → LiviqueWWSHandler-108cb348.js} +1 -1
- package/build/esm/{PfisterWWSHandler-17e2bb0a.js → PfisterWWSHandler-41c995d8.js} +1 -1
- package/build/esm/{PlannerHandler2D-5f12e286.js → PlannerHandler2D-67320283.js} +2 -2
- package/build/esm/{SeriousBasketHandler-ab9e3806.js → SeriousBasketHandler-23209e7b.js} +1 -1
- package/build/esm/{ShelfPlanner-a7e63d56.js → ShelfPlanner-ac57278a.js} +1 -1
- package/build/esm/{StandardWWSHandler-fb4ba1bf.js → StandardWWSHandler-6959f79c.js} +1 -1
- package/build/esm/{index-b308b21a.js → index-8f6efc60.js} +102 -61
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +5 -0
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts +2 -1
- package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +3 -2
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +7 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/DivaCatalogArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -5,11 +5,11 @@ 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-
|
|
8
|
+
var index = require('./index-d851c847.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
11
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
12
|
+
var PlannerHandler2D = require('./PlannerHandler2D-69bf367e.js');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
15
15
|
require('@crystaldesign/basket-model');
|
|
@@ -2609,21 +2609,21 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2609
2609
|
}
|
|
2610
2610
|
}, {
|
|
2611
2611
|
key: "validateDimensionRule",
|
|
2612
|
-
value: function validateDimensionRule(
|
|
2612
|
+
value: function validateDimensionRule(dimension, dimensionLimit, boxPlannerSize, higherLimit, lowerLimit) {
|
|
2613
2613
|
var isOver = false;
|
|
2614
2614
|
var isEqual = false;
|
|
2615
|
-
if (
|
|
2616
|
-
if (
|
|
2617
|
-
if (
|
|
2618
|
-
if (
|
|
2619
|
-
if (
|
|
2620
|
-
if (
|
|
2615
|
+
if (dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimensionLimit) isOver = true;
|
|
2616
|
+
if (dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimensionLimit) isEqual = true;
|
|
2617
|
+
if (dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimensionLimit) isOver = true;
|
|
2618
|
+
if (dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimensionLimit) isEqual = true;
|
|
2619
|
+
if (dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimensionLimit) isOver = true;
|
|
2620
|
+
if (dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimensionLimit) isEqual = true;
|
|
2621
2621
|
if (isOver) {
|
|
2622
|
-
return
|
|
2622
|
+
return higherLimit;
|
|
2623
2623
|
} else if (isEqual) {
|
|
2624
|
-
return
|
|
2624
|
+
return higherLimit;
|
|
2625
2625
|
} else {
|
|
2626
|
-
return
|
|
2626
|
+
return lowerLimit;
|
|
2627
2627
|
}
|
|
2628
2628
|
}
|
|
2629
2629
|
|
|
@@ -2649,15 +2649,19 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2649
2649
|
elements.forEach(function (element, idx) {
|
|
2650
2650
|
if (idx < changedElementIdx) {
|
|
2651
2651
|
//under the changed one
|
|
2652
|
-
var rightNeighbours = boxPlannerGrid.getNeighborElements(element.ElementId,
|
|
2652
|
+
var rightNeighbours = boxPlannerGrid.getNeighborElements(element.ElementId, 'RIGHT', false);
|
|
2653
2653
|
var freeSpace = element.Width;
|
|
2654
2654
|
rightNeighbours.forEach(function (n) {
|
|
2655
2655
|
if (n.ElementId == changedElement.ElementId) return;
|
|
2656
|
-
|
|
2656
|
+
var topElements = boxPlannerGrid.getNeighborElements(n.ElementId, 'TOP', false).filter(function (n) {
|
|
2657
2657
|
return n.ElementId != changedElement.ElementId;
|
|
2658
|
-
})
|
|
2658
|
+
});
|
|
2659
|
+
var topWidth = topElements.reduce(function (totalwidth, e) {
|
|
2660
|
+
return totalwidth += e.Width;
|
|
2661
|
+
}, 0);
|
|
2662
|
+
if (topWidth < n.Width) freeSpace += n.Width - topWidth;
|
|
2659
2663
|
});
|
|
2660
|
-
if (changedElement.Width > freeSpace) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2664
|
+
if (Math.round(changedElement.Width) > Math.round(freeSpace)) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2661
2665
|
} else {
|
|
2662
2666
|
// over the changed one
|
|
2663
2667
|
if (changedElement.Width < element.Width) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
@@ -2670,7 +2674,10 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2670
2674
|
var _this3 = this;
|
|
2671
2675
|
var elements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2672
2676
|
elements.forEach(function (e) {
|
|
2673
|
-
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId))
|
|
2677
|
+
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId)) {
|
|
2678
|
+
_this3.setOptionValue(e.ElementId, 'OPTFUSS_SYS', 'OPVOHNE', optionHandler);
|
|
2679
|
+
_this3.setOptionValue(e.ElementId, 'OPTPOSSIBILITY_FUSS_OHNE', 'OPVTRUE', optionHandler);
|
|
2680
|
+
}
|
|
2674
2681
|
});
|
|
2675
2682
|
}
|
|
2676
2683
|
|
|
@@ -2684,14 +2691,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2684
2691
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2685
2692
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2686
2693
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2687
|
-
var setRule = function setRule(
|
|
2688
|
-
var res = _this4.validateDimensionRule(rule, boxPlannerSize);
|
|
2694
|
+
var setRule = function setRule(option, res) {
|
|
2689
2695
|
if (changedOPTs) {
|
|
2690
2696
|
var changedOpt = Object.entries(changedOPTs).find(function (_ref) {
|
|
2691
2697
|
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
2692
2698
|
key = _ref2[0];
|
|
2693
2699
|
_ref2[1];
|
|
2694
|
-
return key ==
|
|
2700
|
+
return key == option;
|
|
2695
2701
|
});
|
|
2696
2702
|
if (changedOpt) {
|
|
2697
2703
|
allElements.forEach(function (element) {
|
|
@@ -2701,13 +2707,29 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2701
2707
|
}
|
|
2702
2708
|
}
|
|
2703
2709
|
allElements.forEach(function (element) {
|
|
2704
|
-
return _this4.setOptionDoCustom(element.ElementId,
|
|
2710
|
+
return _this4.setOptionDoCustom(element.ElementId, option, res, optionHandler);
|
|
2705
2711
|
});
|
|
2706
2712
|
};
|
|
2707
|
-
this.constructionRules.optionsInfluencedByDimensions
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2713
|
+
var dim = this.constructionRules.optionsInfluencedByDimensions;
|
|
2714
|
+
dim.forEach(function (dimRule) {
|
|
2715
|
+
if (Array.isArray(dimRule)) {
|
|
2716
|
+
var res = dimRule.every(function (r) {
|
|
2717
|
+
return _this4.validateDimensionRule(r.dimension, r.dimensionLimit, boxPlannerSize, r.higherLimit, r.lowerLimit).toLowerCase() == 'doshow';
|
|
2718
|
+
});
|
|
2719
|
+
var t = dimRule[0];
|
|
2720
|
+
if (res) setRule(t.option, 'doShow');else setRule(t.option, 'doHide');
|
|
2721
|
+
} else {
|
|
2722
|
+
var seriesDimRule = dimRule;
|
|
2723
|
+
var baseDimRule = dimRule;
|
|
2724
|
+
if (seriesDimRule.series) {
|
|
2725
|
+
var _dimRule = seriesDimRule.series.findLast(function (r) {
|
|
2726
|
+
return _this4.validateDimensionRule(r.dimension, r.dimensionLimit, boxPlannerSize, '1', '2') == '1';
|
|
2727
|
+
});
|
|
2728
|
+
if (_dimRule) setRule(seriesDimRule.option, _dimRule.value);
|
|
2729
|
+
} else {
|
|
2730
|
+
setRule(baseDimRule.option, _this4.validateDimensionRule(baseDimRule.option, baseDimRule.dimensionLimit, boxPlannerSize, baseDimRule.higherLimit, baseDimRule.lowerLimit));
|
|
2731
|
+
}
|
|
2732
|
+
}
|
|
2711
2733
|
});
|
|
2712
2734
|
}
|
|
2713
2735
|
}, {
|
|
@@ -3522,7 +3544,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3522
3544
|
key: "getGridColumnWidth",
|
|
3523
3545
|
value: function getGridColumnWidth(x) {
|
|
3524
3546
|
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3525
|
-
for (var y = 0;
|
|
3547
|
+
for (var y = 0; y < frontGrid[y].length; y++) {
|
|
3526
3548
|
var _plannedElement$size$, _plannedElement;
|
|
3527
3549
|
var cell = frontGrid[x][y];
|
|
3528
3550
|
if (cell) return (_plannedElement$size$ = (_plannedElement = cell.plannedElement) === null || _plannedElement === void 0 ? void 0 : _plannedElement.size.width) !== null && _plannedElement$size$ !== void 0 ? _plannedElement$size$ : 0;
|
|
@@ -4106,7 +4128,6 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4106
4128
|
key: "getNeighborElements",
|
|
4107
4129
|
value: function getNeighborElements(elementId, dir) {
|
|
4108
4130
|
var _this = this,
|
|
4109
|
-
_plannedElement3,
|
|
4110
4131
|
_curGrid$area$fromX,
|
|
4111
4132
|
_downNeighbour$planne;
|
|
4112
4133
|
var clean = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
@@ -4118,22 +4139,32 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4118
4139
|
var currentRow = curGrid[plannedElement.area.fromX];
|
|
4119
4140
|
var startHeight = 0;
|
|
4120
4141
|
var endHeight = 0;
|
|
4121
|
-
currentRow.
|
|
4122
|
-
|
|
4123
|
-
if (cell.index.y < res.
|
|
4124
|
-
|
|
4142
|
+
for (var y = 0; y < currentRow.length;) {
|
|
4143
|
+
var cell = currentRow[y];
|
|
4144
|
+
if (cell.index.y < res.startRowIndex) startHeight = Math.round((startHeight + cell.plannedElement.size.height) * 1000) / 1000;
|
|
4145
|
+
if (cell.index.y < res.endRowIndex) endHeight = Math.round((endHeight + cell.plannedElement.size.height) * 1000) / 1000;
|
|
4146
|
+
y = cell.plannedElement.area.toY;
|
|
4147
|
+
}
|
|
4148
|
+
var neighbourSize = 0;
|
|
4149
|
+
var neighbours = [];
|
|
4125
4150
|
switch (dir) {
|
|
4126
4151
|
case 'RIGHT':
|
|
4127
4152
|
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4128
4153
|
|
|
4129
|
-
var
|
|
4130
|
-
|
|
4131
|
-
|
|
4132
|
-
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4154
|
+
for (var x = plannedElement.area.toX; x < curGrid.length;) {
|
|
4155
|
+
var _neighbourRow$0$plann, _neighbourRow$0$plann2;
|
|
4156
|
+
var neighbourRow = curGrid[x];
|
|
4157
|
+
for (var _y = 0; _y < neighbourRow.length;) {
|
|
4158
|
+
var _cell5$plannedElement, _cell5$plannedElement2;
|
|
4159
|
+
var _cell5 = neighbourRow[_y];
|
|
4160
|
+
if (neighbours.includes(_cell5)) continue;
|
|
4161
|
+
if (clean && neighbourSize == startHeight) neighbours.push(_cell5);else if (!clean && neighbourSize >= startHeight && neighbourSize <= endHeight) neighbours.push(_cell5);
|
|
4162
|
+
neighbourSize = Math.round((neighbourSize + _cell5.plannedElement.size.height) * 1000) / 1000;
|
|
4163
|
+
_y = (_cell5$plannedElement = (_cell5$plannedElement2 = _cell5.plannedElement) === null || _cell5$plannedElement2 === void 0 ? void 0 : _cell5$plannedElement2.area.toY) !== null && _cell5$plannedElement !== void 0 ? _cell5$plannedElement : _y + 1;
|
|
4164
|
+
}
|
|
4165
|
+
neighbourSize = 0;
|
|
4166
|
+
x = (_neighbourRow$0$plann = (_neighbourRow$0$plann2 = neighbourRow[0].plannedElement) === null || _neighbourRow$0$plann2 === void 0 ? void 0 : _neighbourRow$0$plann2.area.toX) !== null && _neighbourRow$0$plann !== void 0 ? _neighbourRow$0$plann : x + 1;
|
|
4167
|
+
}
|
|
4137
4168
|
neighbours.forEach(function (n) {
|
|
4138
4169
|
return !result.find(function (r) {
|
|
4139
4170
|
return r.ElementId == n.plannedElement.elementId;
|
|
@@ -4141,25 +4172,40 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4141
4172
|
});
|
|
4142
4173
|
break;
|
|
4143
4174
|
case 'LEFT':
|
|
4144
|
-
var
|
|
4145
|
-
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4175
|
+
for (var _x2 = plannedElement.area.fromX - 1; _x2 > 0;) {
|
|
4176
|
+
var _neighbourRow = curGrid[_x2];
|
|
4177
|
+
for (var _y2 = 0; _y2 < _neighbourRow.length;) {
|
|
4178
|
+
var _cell6$plannedElement, _cell6$plannedElement2;
|
|
4179
|
+
var _cell6 = _neighbourRow[_y2];
|
|
4180
|
+
if (neighbours.includes(_cell6)) continue;
|
|
4181
|
+
if (clean && neighbourSize == startHeight) neighbours.push(_cell6);else if (!clean && neighbourSize >= startHeight && neighbourSize <= endHeight) neighbours.push(_cell6);
|
|
4182
|
+
neighbourSize = Math.round((neighbourSize + _cell6.plannedElement.size.height) * 1000) / 1000;
|
|
4183
|
+
_y2 = (_cell6$plannedElement = (_cell6$plannedElement2 = _cell6.plannedElement) === null || _cell6$plannedElement2 === void 0 ? void 0 : _cell6$plannedElement2.area.toY) !== null && _cell6$plannedElement !== void 0 ? _cell6$plannedElement : _y2 + 1;
|
|
4184
|
+
}
|
|
4185
|
+
neighbourSize = 0;
|
|
4186
|
+
_x2 = _neighbourRow[0].plannedElement ? _neighbourRow[0].plannedElement.area.fromX - 1 : _x2 + 1;
|
|
4187
|
+
}
|
|
4188
|
+
neighbours.forEach(function (n) {
|
|
4189
|
+
return !result.find(function (r) {
|
|
4190
|
+
return r.ElementId == n.plannedElement.elementId;
|
|
4191
|
+
}) && result.push(_this.plannerElements.get(n.plannedElement.elementId));
|
|
4151
4192
|
});
|
|
4152
|
-
if (leftStartElement) result.push(this.plannerElements.get(leftStartElement.plannedElement.elementId));
|
|
4153
4193
|
break;
|
|
4154
4194
|
case 'TOP':
|
|
4155
|
-
var
|
|
4156
|
-
for (var
|
|
4157
|
-
|
|
4158
|
-
break;
|
|
4195
|
+
var topNeighbours = [];
|
|
4196
|
+
for (var _x3 = plannedElement.area.fromX; _x3 < plannedElement.area.toX;) {
|
|
4197
|
+
var _cell7 = curGrid[_x3][plannedElement.area.toY];
|
|
4198
|
+
if (!_cell7) break;
|
|
4199
|
+
topNeighbours.push(_cell7);
|
|
4200
|
+
if (clean) break;
|
|
4201
|
+
_x3 = _cell7.plannedElement.area.toX;
|
|
4159
4202
|
}
|
|
4160
|
-
if (
|
|
4161
|
-
|
|
4162
|
-
|
|
4203
|
+
if (topNeighbours.length == 0) break;
|
|
4204
|
+
topNeighbours.forEach(function (topNeighbour) {
|
|
4205
|
+
var _plannedElement3;
|
|
4206
|
+
var tElementId = (_plannedElement3 = topNeighbour.plannedElement) === null || _plannedElement3 === void 0 ? void 0 : _plannedElement3.elementId;
|
|
4207
|
+
if (tElementId) result.push(_this.plannerElements.get(tElementId));
|
|
4208
|
+
});
|
|
4163
4209
|
break;
|
|
4164
4210
|
case 'DOWN':
|
|
4165
4211
|
var downNeighbour = (_curGrid$area$fromX = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX === void 0 ? void 0 : _curGrid$area$fromX[plannedElement.area.fromY - 1];
|
|
@@ -4232,12 +4278,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4232
4278
|
var curHeight = 0;
|
|
4233
4279
|
var row = frontGrid[x];
|
|
4234
4280
|
for (var y = 0; y < row.length;) {
|
|
4235
|
-
var
|
|
4281
|
+
var _cell8, _cell$plannedElement$, _cell$plannedElement8;
|
|
4236
4282
|
var cell = row[y];
|
|
4237
|
-
var elementId = (
|
|
4283
|
+
var elementId = (_cell8 = cell) === null || _cell8 === void 0 || (_cell8 = _cell8.plannedElement) === null || _cell8 === void 0 ? void 0 : _cell8.elementId;
|
|
4238
4284
|
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4239
4285
|
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4240
|
-
if (x == 0 && y == 0) depth =
|
|
4286
|
+
if (x == 0 && y == 0) depth = cell.plannedElement.size.depth;
|
|
4241
4287
|
}
|
|
4242
4288
|
y = (_cell$plannedElement$ = (_cell$plannedElement8 = cell.plannedElement) === null || _cell$plannedElement8 === void 0 ? void 0 : _cell$plannedElement8.area.toY) !== null && _cell$plannedElement$ !== void 0 ? _cell$plannedElement$ : y + 1;
|
|
4243
4289
|
}
|
|
@@ -4277,9 +4323,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4277
4323
|
}
|
|
4278
4324
|
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4279
4325
|
if (!result[result.length - 1]) result.push([]);
|
|
4280
|
-
result[result.length - 1].push(grid[x][row.length - 1].plannedElement);
|
|
4326
|
+
result[result.length - 1].push(grid[x][onBottom ? 0 : row.length - 1].plannedElement);
|
|
4281
4327
|
} else if (grid[x][row.length - 1].plannedElement.area.fromX == x) {
|
|
4282
|
-
result.push([grid[x][row.length - 1].plannedElement]);
|
|
4328
|
+
result.push([grid[x][onBottom ? 0 : row.length - 1].plannedElement]);
|
|
4283
4329
|
}
|
|
4284
4330
|
lastHeight = height;
|
|
4285
4331
|
var new_x = row[row.length - 1].plannedElement.area.toX;
|
|
@@ -4347,37 +4393,52 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4347
4393
|
};
|
|
4348
4394
|
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4349
4395
|
var plannerIdsToFill = [];
|
|
4350
|
-
var
|
|
4351
|
-
var
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4396
|
+
var length = element.area.toX - element.area.fromX;
|
|
4397
|
+
var d = dir == 'RIGHT' ? +length : -length;
|
|
4398
|
+
plannerIdsToFill.push(element.elementId);
|
|
4399
|
+
_objectSpread(_objectSpread({}, element.area), {}, {
|
|
4400
|
+
fromX: element.area.fromX + d,
|
|
4401
|
+
toX: element.area.toX + d
|
|
4402
|
+
});
|
|
4403
|
+
var _loop = function _loop(_y3) {
|
|
4404
|
+
var _curGrid$index$x$_y;
|
|
4405
|
+
var supportElement = (_curGrid$index$x$_y = curGrid[index.x][_y3]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
4406
|
+
if (!supportElement) {
|
|
4407
|
+
y = _y3;
|
|
4408
|
+
return 0;
|
|
4409
|
+
} // break
|
|
4410
|
+
var topElements = _this2.getNeighborElements(supportElement.elementId, 'TOP', false);
|
|
4411
|
+
var topWidth = 0;
|
|
4412
|
+
topElements.forEach(function (t) {
|
|
4413
|
+
return topWidth += t.Width;
|
|
4414
|
+
});
|
|
4415
|
+
var freeSpace = 0;
|
|
4416
|
+
if (supportElement.size.width > topWidth) freeSpace = supportElement.size.width - topWidth;
|
|
4417
|
+
var neighbours = _this2.getNeighborElements(supportElement.elementId, dir, false);
|
|
4418
|
+
neighbours.forEach(function (n) {
|
|
4419
|
+
if (_this2.getNeighborElements(n.ElementId, 'TOP').length > 0) return;
|
|
4420
|
+
freeSpace += n.Width;
|
|
4421
|
+
});
|
|
4422
|
+
if (freeSpace >= element.size.width) {
|
|
4423
|
+
y = _y3;
|
|
4424
|
+
return 0;
|
|
4425
|
+
} // break
|
|
4426
|
+
var missingWidth = element.size.width - freeSpace;
|
|
4427
|
+
while (missingWidth > 0) {
|
|
4428
|
+
plannerIdsToFill.push(supportElement.elementId);
|
|
4429
|
+
missingWidth = Math.round(missingWidth - supportElement.size.width);
|
|
4430
|
+
}
|
|
4431
|
+
_y3 = supportElement.area.fromY - 1;
|
|
4432
|
+
y = _y3;
|
|
4433
|
+
},
|
|
4434
|
+
_ret;
|
|
4435
|
+
for (var y = index.y - 1; y >= 0;) {
|
|
4436
|
+
_ret = _loop(y);
|
|
4437
|
+
if (_ret === 0) break;
|
|
4377
4438
|
}
|
|
4378
4439
|
// if there is nothing to fill we copy everyting
|
|
4379
4440
|
return {
|
|
4380
|
-
elements: plannerIdsToFill.
|
|
4441
|
+
elements: plannerIdsToFill.reverse(),
|
|
4381
4442
|
backside: curPos.backside
|
|
4382
4443
|
};
|
|
4383
4444
|
}
|
|
@@ -4473,11 +4534,32 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4473
4534
|
// [][] -> | [][][]
|
|
4474
4535
|
// [][] | [][][]
|
|
4475
4536
|
// [][][] | [][][][]
|
|
4476
|
-
function moveGrid(plannedCells) {
|
|
4537
|
+
var moveGrid = function moveGrid(plannedCells) {
|
|
4477
4538
|
var grid = new Array();
|
|
4478
4539
|
var rightNeighbour = plannedCells.filter(function (c) {
|
|
4479
4540
|
return c.index.x == element.area.toX;
|
|
4480
4541
|
});
|
|
4542
|
+
var col = [];
|
|
4543
|
+
var support = [];
|
|
4544
|
+
var _loop2 = function _loop2() {
|
|
4545
|
+
var c = frontGrid[x][element.area.fromY];
|
|
4546
|
+
var s = frontGrid[x][element.area.fromY - 1];
|
|
4547
|
+
if (c && !col.find(function (_c) {
|
|
4548
|
+
return _c.plannedElement.elementId == c.plannedElement.elementId;
|
|
4549
|
+
})) col.push(frontGrid[x][element.area.fromY]);
|
|
4550
|
+
if (s && !support.find(function (_c) {
|
|
4551
|
+
return _c.plannedElement.elementId == s.plannedElement.elementId;
|
|
4552
|
+
})) support.push(frontGrid[x][element.area.fromY - 1]);
|
|
4553
|
+
};
|
|
4554
|
+
for (var x = 0; x < frontGrid.length; x++) {
|
|
4555
|
+
_loop2();
|
|
4556
|
+
}
|
|
4557
|
+
var sizeXTop = col.reduce(function (acc, n) {
|
|
4558
|
+
return acc += n.plannedElement.size.width;
|
|
4559
|
+
}, 0);
|
|
4560
|
+
var sizeXUnder = support ? support.reduce(function (acc, n) {
|
|
4561
|
+
return acc += n.plannedElement.size.width;
|
|
4562
|
+
}, 0) : 0;
|
|
4481
4563
|
var rightNeighbourOfCopy = rightNeighbour.find(function (c) {
|
|
4482
4564
|
return c.index.y == absoluteCopyIndex.y;
|
|
4483
4565
|
});
|
|
@@ -4489,7 +4571,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4489
4571
|
});
|
|
4490
4572
|
plannedCells.forEach(function (cell) {
|
|
4491
4573
|
// if we can't fill up (need to move the grid)
|
|
4492
|
-
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0)
|
|
4574
|
+
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0) && (
|
|
4575
|
+
// no free space or on the right height == move
|
|
4576
|
+
!(sizeXTop <= sizeXUnder - element.size.width) || cell.index.y >= element.area.fromY && cell.index.y < element.area.toY) || !copyDirectionIsRight && (leftNeighbourOfCopy || leftNeighbour.length == 0) || absoluteCopyIndex.x == -1)) {
|
|
4493
4577
|
cell.index.x += widthCopyArea;
|
|
4494
4578
|
cell.plannedElement.area.fromX += widthCopyArea;
|
|
4495
4579
|
cell.plannedElement.area.toX += widthCopyArea;
|
|
@@ -4498,13 +4582,13 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4498
4582
|
grid[cell.index.x][cell.index.y] = cell;
|
|
4499
4583
|
});
|
|
4500
4584
|
return grid;
|
|
4501
|
-
}
|
|
4585
|
+
};
|
|
4502
4586
|
frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
|
|
4503
4587
|
for (var x = 0; x < widthCopyArea; x++) if (!frontGrid[absoluteCopyIndex.x + x]) frontGrid[absoluteCopyIndex.x + x] = [];
|
|
4504
4588
|
this.generalPlanningState.grids[0].matrix = frontGrid;
|
|
4505
4589
|
if (this.hasActiveBackside) {
|
|
4506
4590
|
backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
|
|
4507
|
-
for (var
|
|
4591
|
+
for (var _x4 = 0; _x4 < widthCopyArea; _x4++) if (!backGrid[absoluteCopyIndex.x + _x4]) backGrid[absoluteCopyIndex.x + _x4] = [];
|
|
4508
4592
|
this.generalPlanningState.grids[1].matrix = backGrid;
|
|
4509
4593
|
}
|
|
4510
4594
|
}
|
|
@@ -4619,8 +4703,6 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4619
4703
|
var backsideForCopy = copyIndex.z == -1 || curPos.backside == true;
|
|
4620
4704
|
if (cellIndex.x < 0) cellIndex.x = 0; // can't plan to negative space see prepareGridForColCopy
|
|
4621
4705
|
var curGrid = backsideForCopy ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4622
|
-
// can't float need to dock
|
|
4623
|
-
if (curGrid[cellIndex.x].length < cellIndex.y) cellIndex.y = curGrid[cellIndex.x].length;
|
|
4624
4706
|
var cells = this.createNewCells(newElement, cellIndex.x, cellIndex.y, backsideForCopy);
|
|
4625
4707
|
for (var i = 0; i < cells.length; i++) {
|
|
4626
4708
|
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
@@ -4669,6 +4751,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4669
4751
|
var el = cell.plannedElement;
|
|
4670
4752
|
el.size.width = elementData.width;
|
|
4671
4753
|
el.size.height = elementData.height;
|
|
4754
|
+
el.size.depth = elementData.depth;
|
|
4672
4755
|
el.area = {
|
|
4673
4756
|
fromX: el.area.fromX,
|
|
4674
4757
|
toX: !scpe ? Math.round(el.area.fromX + elementData.width / _this3.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
@@ -4695,23 +4778,23 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4695
4778
|
}
|
|
4696
4779
|
}
|
|
4697
4780
|
} else if (diff.x != 0) {
|
|
4698
|
-
for (var
|
|
4699
|
-
for (var
|
|
4700
|
-
var
|
|
4701
|
-
if (!
|
|
4702
|
-
|
|
4703
|
-
|
|
4704
|
-
|
|
4781
|
+
for (var _x5 = cell.plannedElement.area.fromX; _x5 < grid.length; _x5++) {
|
|
4782
|
+
for (var _y4 = cell.plannedElement.area.fromY; _y4 < cell.plannedElement.area.toY; _y4++) {
|
|
4783
|
+
var _cell9 = grid[_x5][_y4];
|
|
4784
|
+
if (!_cell9 || _cell9.plannedElement.elementId == elementId) continue; //already corrected
|
|
4785
|
+
_cell9.index.x += diff.x;
|
|
4786
|
+
_cell9.plannedElement.area.fromX += diff.x;
|
|
4787
|
+
_cell9.plannedElement.area.toX += diff.x;
|
|
4705
4788
|
}
|
|
4706
4789
|
}
|
|
4707
4790
|
}
|
|
4708
4791
|
|
|
4709
4792
|
// after indices/areas are corrected rebuild the grid
|
|
4710
4793
|
if (scpe) return false;
|
|
4711
|
-
|
|
4794
|
+
res.cells[0].plannedElement;
|
|
4712
4795
|
var newGrid = new Array();
|
|
4713
4796
|
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4714
|
-
var
|
|
4797
|
+
var _loop3 = function _loop3() {
|
|
4715
4798
|
var cell = plannedCells[idx];
|
|
4716
4799
|
var area = cell.plannedElement.area;
|
|
4717
4800
|
if (newGrid.find(function (x) {
|
|
@@ -4720,16 +4803,15 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4720
4803
|
return (y === null || y === void 0 || (_y$plannedElement3 = y.plannedElement) === null || _y$plannedElement3 === void 0 ? void 0 : _y$plannedElement3.elementId) == ((_cell$plannedElement9 = cell.plannedElement) === null || _cell$plannedElement9 === void 0 ? void 0 : _cell$plannedElement9.elementId);
|
|
4721
4804
|
});
|
|
4722
4805
|
})) return 0; // continue
|
|
4723
|
-
for (var
|
|
4724
|
-
for (var
|
|
4725
|
-
|
|
4726
|
-
if (!newGrid[_x4] && area.fromY == 0) newGrid[_x4] = [];
|
|
4806
|
+
for (var _x6 = area.fromX; _x6 < area.toX; _x6++) {
|
|
4807
|
+
for (var _y5 = area.fromY; _y5 < area.toY; _y5++) {
|
|
4808
|
+
if (!newGrid[_x6] && area.fromY == 0) newGrid[_x6] = [];
|
|
4727
4809
|
|
|
4728
4810
|
// we have a so called overhanging element not so nice, let's correct:
|
|
4729
4811
|
var support = plannedCells.find(function (c) {
|
|
4730
4812
|
return c.plannedElement.area.toX >= cell.plannedElement.area.toX && c.plannedElement.area.toY == cell.index.y;
|
|
4731
4813
|
});
|
|
4732
|
-
if (!support && !newGrid[
|
|
4814
|
+
if (!support && !newGrid[_x6]) {
|
|
4733
4815
|
_this3.generalPlanningState = backup;
|
|
4734
4816
|
return {
|
|
4735
4817
|
v: true
|
|
@@ -4737,19 +4819,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4737
4819
|
}
|
|
4738
4820
|
|
|
4739
4821
|
// the element below got smaller
|
|
4740
|
-
if (!newGrid[
|
|
4822
|
+
if (!newGrid[_x6] && !support) {
|
|
4741
4823
|
_this3.generalPlanningState = backup;
|
|
4742
4824
|
return {
|
|
4743
4825
|
v: true
|
|
4744
4826
|
};
|
|
4745
|
-
} else if (!newGrid[
|
|
4827
|
+
} else if (!newGrid[_x6]) newGrid[_x6] = [];
|
|
4746
4828
|
// when the element above starts early and goes over multiple ones
|
|
4747
4829
|
|
|
4748
4830
|
// regular case
|
|
4749
|
-
newGrid[
|
|
4831
|
+
newGrid[_x6][_y5] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4750
4832
|
index: {
|
|
4751
|
-
x:
|
|
4752
|
-
y:
|
|
4833
|
+
x: _x6,
|
|
4834
|
+
y: _y5
|
|
4753
4835
|
},
|
|
4754
4836
|
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4755
4837
|
area: {
|
|
@@ -4757,19 +4839,21 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4757
4839
|
toX: cell.plannedElement.area.fromX + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4758
4840
|
fromY: cell.plannedElement.area.fromY,
|
|
4759
4841
|
toY: cell.plannedElement.area.fromY + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4760
|
-
}
|
|
4842
|
+
},
|
|
4843
|
+
size: _objectSpread(_objectSpread({}, cell.plannedElement.size), {}, {
|
|
4844
|
+
depth: elementData.depth
|
|
4845
|
+
})
|
|
4761
4846
|
})
|
|
4762
4847
|
});
|
|
4763
4848
|
}
|
|
4764
4849
|
}
|
|
4765
4850
|
},
|
|
4766
|
-
|
|
4851
|
+
_ret2;
|
|
4767
4852
|
for (var idx = 0; idx < plannedCells.length; idx++) {
|
|
4768
|
-
|
|
4769
|
-
if (
|
|
4770
|
-
if (
|
|
4853
|
+
_ret2 = _loop3();
|
|
4854
|
+
if (_ret2 === 0) continue;
|
|
4855
|
+
if (_ret2) return _ret2.v;
|
|
4771
4856
|
}
|
|
4772
|
-
console.log('thoula 2 => ', newGrid);
|
|
4773
4857
|
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4774
4858
|
return false;
|
|
4775
4859
|
}
|
|
@@ -4816,7 +4900,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4816
4900
|
if (topNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4817
4901
|
if (leftNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4818
4902
|
if (rightNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4819
|
-
if (
|
|
4903
|
+
if (downNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVU', [downNeighbors[0]]);
|
|
4820
4904
|
element.PosNr = posNr;
|
|
4821
4905
|
posNr++;
|
|
4822
4906
|
}
|
|
@@ -4824,9 +4908,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4824
4908
|
}
|
|
4825
4909
|
for (var i = 0; i < backGrid.length; i++) {
|
|
4826
4910
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4827
|
-
var
|
|
4828
|
-
var
|
|
4829
|
-
var _elementId6 =
|
|
4911
|
+
var _cell10$plannedElemen;
|
|
4912
|
+
var _cell10 = backGrid[i][j];
|
|
4913
|
+
var _elementId6 = _cell10 === null || _cell10 === void 0 || (_cell10$plannedElemen = _cell10.plannedElement) === null || _cell10$plannedElemen === void 0 ? void 0 : _cell10$plannedElemen.elementId;
|
|
4830
4914
|
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4831
4915
|
var _element2 = this.plannerElements.get(_elementId6);
|
|
4832
4916
|
allCheckedElementIds.push(_elementId6);
|
|
@@ -5164,9 +5248,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5164
5248
|
var targetRowIndex = endRowIndex + 1;
|
|
5165
5249
|
var _copyPossible = false;
|
|
5166
5250
|
// Iterate through columns within the element's width
|
|
5167
|
-
for (var
|
|
5168
|
-
if (isValidCell(
|
|
5169
|
-
copyStartColIndex =
|
|
5251
|
+
for (var _x7 = endColIndex; _x7 >= startColIndex; _x7--) {
|
|
5252
|
+
if (isValidCell(_x7, targetRowIndex)) {
|
|
5253
|
+
copyStartColIndex = _x7;
|
|
5170
5254
|
_copyPossible = true;
|
|
5171
5255
|
}
|
|
5172
5256
|
}
|
|
@@ -5183,19 +5267,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5183
5267
|
var _targetColIndex = endColIndex;
|
|
5184
5268
|
var _copyPossible2 = false;
|
|
5185
5269
|
// Iterate through rows within the element's height
|
|
5186
|
-
for (var
|
|
5187
|
-
if (isValidCell(_targetColIndex,
|
|
5188
|
-
copyStartRowIndex =
|
|
5270
|
+
for (var _y6 = startRowIndex; _y6 <= endRowIndex; _y6++) {
|
|
5271
|
+
if (isValidCell(_targetColIndex, _y6)) {
|
|
5272
|
+
copyStartRowIndex = _y6;
|
|
5189
5273
|
_copyPossible2 = true;
|
|
5190
5274
|
break;
|
|
5191
5275
|
}
|
|
5192
5276
|
}
|
|
5193
5277
|
if (!_copyPossible2) return undefined;
|
|
5194
5278
|
_copyPossible2 = false;
|
|
5195
|
-
for (var
|
|
5196
|
-
if (isValidCell(
|
|
5279
|
+
for (var _x8 = endColIndex; _x8 <= endColIndex + elementCells.colCount; _x8++) {
|
|
5280
|
+
if (isValidCell(_x8, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x8, copyStartRowIndex - 1))) {
|
|
5197
5281
|
//check also for overhang
|
|
5198
|
-
copyEndColIndex =
|
|
5282
|
+
copyEndColIndex = _x8;
|
|
5199
5283
|
_copyPossible2 = true;
|
|
5200
5284
|
} else {
|
|
5201
5285
|
break; //when you find one situation where it is not valid skip outside.
|
|
@@ -5398,7 +5482,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5398
5482
|
//system 4 useacse
|
|
5399
5483
|
var totalColCount = matrix[0].length;
|
|
5400
5484
|
var colSizes = Array(totalColCount).fill(-1);
|
|
5401
|
-
var
|
|
5485
|
+
var _loop4 = function _loop4(i) {
|
|
5402
5486
|
var _matrix$find;
|
|
5403
5487
|
var cell = (_matrix$find = matrix.find(function (row) {
|
|
5404
5488
|
var _row$i$plannedElement, _row$i$plannedElement2;
|
|
@@ -5412,7 +5496,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5412
5496
|
if (colSizes[i] === -1) return 1; // break
|
|
5413
5497
|
};
|
|
5414
5498
|
for (var i = 0; i < totalColCount; i++) {
|
|
5415
|
-
if (
|
|
5499
|
+
if (_loop4(i)) break;
|
|
5416
5500
|
}
|
|
5417
5501
|
if (colSizes.includes(-1)) LOG$1.error(new Error('Column sizes are not set'));
|
|
5418
5502
|
return colSizes;
|
|
@@ -5800,11 +5884,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5800
5884
|
value: (function () {
|
|
5801
5885
|
var _copyPlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee5(articleCopyRelation, copyInfo) {
|
|
5802
5886
|
var _this = this;
|
|
5803
|
-
var
|
|
5887
|
+
var plannerElementsToLoadSVG, that, i, cellPos, allDPs, j;
|
|
5804
5888
|
return _regeneratorRuntime__default["default"].wrap(function _callee5$(_context5) {
|
|
5805
5889
|
while (1) switch (_context5.prev = _context5.next) {
|
|
5806
5890
|
case 0:
|
|
5807
|
-
gridIsPrepared = false;
|
|
5808
5891
|
if (copyInfo) {
|
|
5809
5892
|
_context5.next = 3;
|
|
5810
5893
|
break;
|
|
@@ -5814,25 +5897,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5814
5897
|
if (copyInfo.copyType == 'STD') copyInfo.targetElements = [];
|
|
5815
5898
|
plannerElementsToLoadSVG = [];
|
|
5816
5899
|
that = this;
|
|
5817
|
-
articleCopyRelation.forEach(function (
|
|
5900
|
+
articleCopyRelation.forEach(function (val) {
|
|
5818
5901
|
var _copyInfo$targetEleme;
|
|
5819
|
-
if (
|
|
5820
|
-
if (
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
_this.boxPlannerGrid.prepareGridForColCopy(elementToCopyId, copyInfo.copyIndex);
|
|
5824
|
-
}
|
|
5902
|
+
if (copyInfo.copyIndex.z == -1) {
|
|
5903
|
+
if (!_this.boxPlannerGrid.getPlannerHasActiveBackside()) _this.boxPlannerGrid.prepareGridForBackSideCopy();
|
|
5904
|
+
} else {
|
|
5905
|
+
_this.boxPlannerGrid.prepareGridForColCopy(val.key, copyInfo.copyIndex);
|
|
5825
5906
|
}
|
|
5826
|
-
gridIsPrepared = true;
|
|
5827
5907
|
|
|
5828
5908
|
//Init Planner Element
|
|
5829
|
-
var plannerElement = new index.PlannerElementData(_this.set.getSetId(),
|
|
5909
|
+
var plannerElement = new index.PlannerElementData(_this.set.getSetId(), val.value, _this.nextElementId, DivaBoxPlanner.plannerType);
|
|
5830
5910
|
_this.nextElementId++;
|
|
5831
|
-
_this.set.setElementId(
|
|
5911
|
+
_this.set.setElementId(val.value, plannerElement.ElementId);
|
|
5832
5912
|
var data = _this.set.getPlannerData(plannerElement.ElementId);
|
|
5833
5913
|
plannerElement.updatePlannerData(data);
|
|
5834
|
-
_this.boxPlannerGrid.addElementAsCopy(
|
|
5835
|
-
_this.constructionRulesHandler.onElementCopy(
|
|
5914
|
+
_this.boxPlannerGrid.addElementAsCopy(val.key, plannerElement, copyInfo.copyIndex);
|
|
5915
|
+
_this.constructionRulesHandler.onElementCopy(val.key, plannerElement.getElementId());
|
|
5836
5916
|
plannerElementsToLoadSVG.push(plannerElement);
|
|
5837
5917
|
if (copyInfo.copyType == 'STD') (_copyInfo$targetEleme = copyInfo.targetElements) === null || _copyInfo$targetEleme === void 0 || _copyInfo$targetEleme.push(plannerElement.getElementId());
|
|
5838
5918
|
});
|
|
@@ -5963,7 +6043,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5963
6043
|
}
|
|
5964
6044
|
}
|
|
5965
6045
|
//remove duplicate
|
|
5966
|
-
return
|
|
6046
|
+
return allElementsToCopy;
|
|
5967
6047
|
}
|
|
5968
6048
|
|
|
5969
6049
|
/**
|