@crystaldesign/web-planner-logic 25.14.0-beta.2 → 25.14.0-beta.21
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-1b90896a.js → DivaBoxPlanner-1b528aea.js} +489 -265
- package/build/cjs/{DivaStandardPlanner-816f7344.js → DivaStandardPlanner-be62d50f.js} +4 -3
- package/build/cjs/{DoorPlanner-b5c5993b.js → DoorPlanner-52a515db.js} +1 -1
- package/build/cjs/{Host3DSignalR-6bbb3036.js → Host3DSignalR-c5fa8d61.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-69df31a9.js → LiviqueWWSHandler-7692cac0.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-c15ee67a.js → PfisterWWSHandler-af5d982f.js} +1 -1
- package/build/cjs/{PlannerHandler2D-2f00b260.js → PlannerHandler2D-cf080fd5.js} +1 -1
- package/build/cjs/{SeriousBasketHandler-f2a7887a.js → SeriousBasketHandler-05ef0a50.js} +1 -1
- package/build/cjs/{ShelfPlanner-613aae50.js → ShelfPlanner-aa6fa9ae.js} +1 -1
- package/build/cjs/{StandardWWSHandler-71564218.js → StandardWWSHandler-0a959dd8.js} +1 -1
- package/build/cjs/{index-f1a70eb3.js → index-83dfa5ef.js} +186 -151
- package/build/cjs/index.js +1 -3
- package/build/esm/{DivaBoxPlanner-c3688dbb.js → DivaBoxPlanner-68835bff.js} +488 -265
- package/build/esm/{DivaStandardPlanner-5908d45b.js → DivaStandardPlanner-edab8611.js} +4 -3
- package/build/esm/{DoorPlanner-63d43d9b.js → DoorPlanner-d243c8a2.js} +1 -1
- package/build/esm/{Host3DSignalR-e0fd5c5e.js → Host3DSignalR-2ac24936.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-aa489385.js → LiviqueWWSHandler-9e3829b9.js} +1 -1
- package/build/esm/{PfisterWWSHandler-88f3bc2f.js → PfisterWWSHandler-5d99b08c.js} +1 -1
- package/build/esm/{PlannerHandler2D-43910df5.js → PlannerHandler2D-6aa7326e.js} +1 -1
- package/build/esm/{SeriousBasketHandler-6a8f0e2d.js → SeriousBasketHandler-e47f2d8c.js} +1 -1
- package/build/esm/{ShelfPlanner-e548f714.js → ShelfPlanner-e187be95.js} +1 -1
- package/build/esm/{StandardWWSHandler-f2e16ec1.js → StandardWWSHandler-ee22c3f6.js} +1 -1
- package/build/esm/{index-14f79ee4.js → index-07df9d4d.js} +187 -150
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/index.d.ts +0 -1
- package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/API/AiImageResult.d.ts +0 -2
- package/build/types/web-planner-logic/src/interface/API/AiImageResult.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/API/Checkout.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/API/Checkout.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/CoreTypes/index.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/CoreTypes/index.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/IDM/ArticleApi.d.ts +2 -0
- package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/ReturnTypes/index.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/ReturnTypes/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/ViewTypes/index.d.ts +0 -1
- package/build/types/web-planner-logic/src/interface/ViewTypes/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +3 -1
- package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +2 -1
- 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 +4 -4
- 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 +1 -0
- 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.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.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/Catalog/CatalogData.d.ts +1 -0
- 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/Options/ArticleOptionData.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-83dfa5ef.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
-
var
|
|
12
|
-
require('
|
|
11
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
12
|
+
var PlannerHandler2D = require('./PlannerHandler2D-cf080fd5.js');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
15
15
|
require('@crystaldesign/basket-model');
|
|
@@ -28,6 +28,7 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
28
28
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
29
29
|
var DivaUtils__default = /*#__PURE__*/_interopDefaultLegacy(DivaUtils);
|
|
30
30
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
31
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
31
32
|
|
|
32
33
|
var LOG$3 = DivaUtils__default["default"].initLog('Planner', 'WEB-PLANNER-LOGIC');
|
|
33
34
|
var BoxPlannerPartlistHelper = /*#__PURE__*/function () {
|
|
@@ -1971,6 +1972,18 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1971
1972
|
if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
|
|
1972
1973
|
(_this$hideOptionsForC2 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC2 === void 0 || _this$hideOptionsForC2.push(option);
|
|
1973
1974
|
}
|
|
1975
|
+
}, {
|
|
1976
|
+
key: "setOptionDoCustom",
|
|
1977
|
+
value: function setOptionDoCustom(elementId, option, val, optionHandler) {
|
|
1978
|
+
var _optionHandler$get4, _this$hideOptionsForC3;
|
|
1979
|
+
// LOG.log("Update Box Planner Logic. SetOptionDoHide: elementId: " + elementId + "; Option: " + option);
|
|
1980
|
+
var curOptVisibilityInfo = this.constructionRules.optionsVisibilityInfo[option];
|
|
1981
|
+
if (!curOptVisibilityInfo) return;
|
|
1982
|
+
if (!optionHandler.has(elementId)) optionHandler.set(elementId, new Map());
|
|
1983
|
+
(_optionHandler$get4 = optionHandler.get(elementId)) === null || _optionHandler$get4 === void 0 || _optionHandler$get4.set(option, curOptVisibilityInfo[val]);
|
|
1984
|
+
if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
|
|
1985
|
+
(_this$hideOptionsForC3 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC3 === void 0 || _this$hideOptionsForC3.push(option);
|
|
1986
|
+
}
|
|
1974
1987
|
|
|
1975
1988
|
//Returns all
|
|
1976
1989
|
}, {
|
|
@@ -2011,7 +2024,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2011
2024
|
}
|
|
2012
2025
|
var allElementIds = boxPlannerGrid.getAllElementIdsInGrid(); //run through front an backside grid
|
|
2013
2026
|
for (var i = 0; i < allElementIds.length; i++) {
|
|
2014
|
-
var _optionHandler$
|
|
2027
|
+
var _optionHandler$get5;
|
|
2015
2028
|
if (this.hideOptionsForConstruction.has(allElementIds[i]) && this.hideOptionsForConstruction.get(allElementIds[i]).length > 0) {
|
|
2016
2029
|
while (this.hideOptionsForConstruction.get(allElementIds[i]).length > 0) {
|
|
2017
2030
|
var optName = this.hideOptionsForConstruction.get(allElementIds[i])[0];
|
|
@@ -2100,7 +2113,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2100
2113
|
|
|
2101
2114
|
///Add debug input
|
|
2102
2115
|
if (!optionHandler.has(allElementIds[i])) optionHandler.set(allElementIds[i], new Map());
|
|
2103
|
-
(_optionHandler$
|
|
2116
|
+
(_optionHandler$get5 = optionHandler.get(allElementIds[i])) === null || _optionHandler$get5 === void 0 || _optionHandler$get5.set('DEBUG', boxPlannerGrid.getElementById(allElementIds[i]).getPosNr() + '');
|
|
2104
2117
|
if (opvToReset.length > 0) {
|
|
2105
2118
|
for (var r = 0; r < opvToReset.length; r++) {
|
|
2106
2119
|
var articleOPV = this.getOptionVal(allElementIds[i], opvToReset[r].opt, optionHandler);
|
|
@@ -2380,6 +2393,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2380
2393
|
key: "correctSimpleOpt",
|
|
2381
2394
|
value: function correctSimpleOpt(xIndex, yIndex, boxPlannerGrid, optionHandler, fromBackside) {
|
|
2382
2395
|
var curElement = boxPlannerGrid.getPlannerElementAtGridPos(xIndex, yIndex, fromBackside);
|
|
2396
|
+
if (!curElement) return;
|
|
2383
2397
|
//Schauen ob Element top Element hat.
|
|
2384
2398
|
if (this.constructionRules.defaultConstructionRules.TOP) {
|
|
2385
2399
|
var hasTopElement = boxPlannerGrid.getElementHasTopElement(curElement.ElementId);
|
|
@@ -2605,13 +2619,12 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2605
2619
|
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
|
|
2606
2620
|
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
|
|
2607
2621
|
if (isOver) {
|
|
2608
|
-
|
|
2622
|
+
return dimRule.higherLimit;
|
|
2609
2623
|
} else if (isEqual) {
|
|
2610
|
-
return
|
|
2624
|
+
return dimRule.higherLimit;
|
|
2611
2625
|
} else {
|
|
2612
|
-
|
|
2626
|
+
return dimRule.lowerLimit;
|
|
2613
2627
|
}
|
|
2614
|
-
return false;
|
|
2615
2628
|
}
|
|
2616
2629
|
|
|
2617
2630
|
/*
|
|
@@ -2622,42 +2635,34 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2622
2635
|
key: "correctOverHangingElement",
|
|
2623
2636
|
value: function correctOverHangingElement(changedElementId, boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2624
2637
|
var _this2 = this;
|
|
2625
|
-
if (!changedOPTs) return;
|
|
2626
|
-
var
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
if (
|
|
2644
|
-
|
|
2645
|
-
}
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
_this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
|
|
2654
|
-
}
|
|
2655
|
-
lastElement = element;
|
|
2656
|
-
});
|
|
2657
|
-
};
|
|
2658
|
-
for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
|
|
2659
|
-
_loop();
|
|
2660
|
-
}
|
|
2638
|
+
if (!changedOPTs || !changedElementId) return;
|
|
2639
|
+
var startIdx = boxPlannerGrid.getCellsInGridByElementId(changedElementId).startColIndex;
|
|
2640
|
+
var elements = boxPlannerGrid.getAllElementsInColumn(startIdx, false, true); // from bottom to top
|
|
2641
|
+
var changedElementIdx = elements.findIndex(function (e) {
|
|
2642
|
+
return e.ElementId == changedElementId;
|
|
2643
|
+
});
|
|
2644
|
+
var changedElement = elements[changedElementIdx];
|
|
2645
|
+
if (!changedElement) return; // nothing changed in this row
|
|
2646
|
+
var t = Object.entries(changedOPTs);
|
|
2647
|
+
var opt = t[0][0];
|
|
2648
|
+
var opv = t[0][1];
|
|
2649
|
+
elements.forEach(function (element, idx) {
|
|
2650
|
+
if (idx < changedElementIdx) {
|
|
2651
|
+
//under the changed one
|
|
2652
|
+
var rightNeighbours = boxPlannerGrid.getNeighborElements(element.ElementId, "RIGHT");
|
|
2653
|
+
var freeSpace = element.Width;
|
|
2654
|
+
rightNeighbours.forEach(function (n) {
|
|
2655
|
+
if (n.ElementId == changedElement.ElementId) return;
|
|
2656
|
+
if (!boxPlannerGrid.getNeighborElements(n.ElementId, "TOP", false).find(function (n) {
|
|
2657
|
+
return n.ElementId != changedElement.ElementId;
|
|
2658
|
+
})) freeSpace += n.Width;
|
|
2659
|
+
});
|
|
2660
|
+
if (changedElement.Width > freeSpace) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2661
|
+
} else {
|
|
2662
|
+
// over the changed one
|
|
2663
|
+
if (changedElement.Width < element.Width) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2664
|
+
}
|
|
2665
|
+
});
|
|
2661
2666
|
}
|
|
2662
2667
|
}, {
|
|
2663
2668
|
key: "correctFoot",
|
|
@@ -2674,31 +2679,35 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2674
2679
|
* */
|
|
2675
2680
|
}, {
|
|
2676
2681
|
key: "correctOptionsInfluencedByDimensions",
|
|
2677
|
-
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2682
|
+
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2678
2683
|
var _this4 = this;
|
|
2679
2684
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2680
2685
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2681
2686
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
});else dimRule.forEach(function (rule) {
|
|
2691
|
-
return allElements.forEach(function (element) {
|
|
2692
|
-
return _this4.setOptionDoHide(element.ElementId, rule.option, optionHandler);
|
|
2693
|
-
});
|
|
2694
|
-
});
|
|
2695
|
-
} else {
|
|
2696
|
-
if (_this4.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
|
|
2697
|
-
return _this4.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
|
|
2698
|
-
});else allElements.forEach(function (element) {
|
|
2699
|
-
return _this4.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2687
|
+
var setRule = function setRule(rule) {
|
|
2688
|
+
var res = _this4.validateDimensionRule(rule, boxPlannerSize);
|
|
2689
|
+
if (changedOPTs) {
|
|
2690
|
+
var changedOpt = Object.entries(changedOPTs).find(function (_ref) {
|
|
2691
|
+
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
2692
|
+
key = _ref2[0];
|
|
2693
|
+
_ref2[1];
|
|
2694
|
+
return key == rule.option;
|
|
2700
2695
|
});
|
|
2696
|
+
if (changedOpt) {
|
|
2697
|
+
allElements.forEach(function (element) {
|
|
2698
|
+
return _this4.setOptionValue(element.ElementId, changedOpt[0], changedOpt[1], optionHandler);
|
|
2699
|
+
});
|
|
2700
|
+
return;
|
|
2701
|
+
}
|
|
2701
2702
|
}
|
|
2703
|
+
allElements.forEach(function (element) {
|
|
2704
|
+
return _this4.setOptionDoCustom(element.ElementId, res, rule.option, optionHandler);
|
|
2705
|
+
});
|
|
2706
|
+
};
|
|
2707
|
+
this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
|
|
2708
|
+
if (Array.isArray(dimRule)) dimRule.forEach(function (rule) {
|
|
2709
|
+
return setRule(rule);
|
|
2710
|
+
});else setRule(dimRule);
|
|
2702
2711
|
});
|
|
2703
2712
|
}
|
|
2704
2713
|
}, {
|
|
@@ -2771,22 +2780,22 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2771
2780
|
|
|
2772
2781
|
// default => set all to ohne
|
|
2773
2782
|
serie.forEach(function (element) {
|
|
2774
|
-
var _element$
|
|
2775
|
-
seriesWidth += (_element$
|
|
2776
|
-
boxPlannerGrid.getAllElementsDown(element.
|
|
2783
|
+
var _element$size$width;
|
|
2784
|
+
seriesWidth += (_element$size$width = element.size.width) !== null && _element$size$width !== void 0 ? _element$size$width : 0;
|
|
2785
|
+
boxPlannerGrid.getAllElementsDown(element.elementId).elements.forEach(function (e) {
|
|
2777
2786
|
return _this5.setOptionValue(e, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2778
2787
|
});
|
|
2779
|
-
_this5.setOptionValue(element.
|
|
2788
|
+
_this5.setOptionValue(element.elementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2780
2789
|
});
|
|
2781
2790
|
var firstUncoveredElement = serie[0];
|
|
2782
|
-
var
|
|
2791
|
+
var _loop = function _loop() {
|
|
2783
2792
|
var opv = seriesWidthToPlateOpv.findLast(function (stp) {
|
|
2784
2793
|
// is a clean element ending
|
|
2785
2794
|
var helperWidth = 0;
|
|
2786
2795
|
var isClean = false;
|
|
2787
2796
|
serie.forEach(function (element) {
|
|
2788
|
-
var _element$
|
|
2789
|
-
helperWidth += (_element$
|
|
2797
|
+
var _element$size$width2;
|
|
2798
|
+
helperWidth += (_element$size$width2 = element.size.width) !== null && _element$size$width2 !== void 0 ? _element$size$width2 : 0;
|
|
2790
2799
|
if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
|
|
2791
2800
|
});
|
|
2792
2801
|
if (stp.limit <= seriesWidth && isClean) return true;
|
|
@@ -2795,11 +2804,11 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2795
2804
|
if (!opv) return {
|
|
2796
2805
|
v: void 0
|
|
2797
2806
|
};
|
|
2798
|
-
_this5.setOptionValue(firstUncoveredElement.
|
|
2807
|
+
_this5.setOptionValue(firstUncoveredElement.elementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
|
|
2799
2808
|
var helperWidth = 0;
|
|
2800
2809
|
firstUncoveredElement = serie.find(function (e) {
|
|
2801
|
-
var _e$
|
|
2802
|
-
helperWidth += (_e$
|
|
2810
|
+
var _e$size$width;
|
|
2811
|
+
helperWidth += (_e$size$width = e.size.width) !== null && _e$size$width !== void 0 ? _e$size$width : 0;
|
|
2803
2812
|
if (helperWidth > opv.limit) return true;
|
|
2804
2813
|
return false;
|
|
2805
2814
|
});
|
|
@@ -2808,7 +2817,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2808
2817
|
},
|
|
2809
2818
|
_ret;
|
|
2810
2819
|
while (seriesWidth != 0) {
|
|
2811
|
-
_ret =
|
|
2820
|
+
_ret = _loop();
|
|
2812
2821
|
if (_ret) return _ret.v;
|
|
2813
2822
|
}
|
|
2814
2823
|
});
|
|
@@ -3135,7 +3144,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3135
3144
|
value: function () {
|
|
3136
3145
|
var _updateOptionLogicBoxPlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(boxPlannerGrid, changedOPTs, targetElements, forceResetCornerElements) {
|
|
3137
3146
|
var _targetElements;
|
|
3138
|
-
var startTime, resultMessage, optionHandler, allElements, i, _iterator, _step, coverPlateRule,
|
|
3147
|
+
var startTime, resultMessage, optionHandler, allElements, i, j, _boxPlannerGrid$getPl2, elementId, _boxPlannerGrid$getPl3, _elementId, _iterator, _step, coverPlateRule, _boxPlannerGrid$getPl4, _elementId2, doChangeRetailArticleNumbers;
|
|
3139
3148
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
3140
3149
|
while (1) switch (_context.prev = _context.next) {
|
|
3141
3150
|
case 0:
|
|
@@ -3170,19 +3179,6 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3170
3179
|
this.correctBottom(boxPlannerGrid, optionHandler, false);
|
|
3171
3180
|
if (boxPlannerGrid.getPlannerHasActiveBackside()) this.correctBottom(boxPlannerGrid, optionHandler, true);
|
|
3172
3181
|
this.correctSeries(boxPlannerGrid, optionHandler);
|
|
3173
|
-
if (this.constructionRules.coverPlateRule) {
|
|
3174
|
-
_iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
|
|
3175
|
-
try {
|
|
3176
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3177
|
-
coverPlateRule = _step.value;
|
|
3178
|
-
this.correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler);
|
|
3179
|
-
}
|
|
3180
|
-
} catch (err) {
|
|
3181
|
-
_iterator.e(err);
|
|
3182
|
-
} finally {
|
|
3183
|
-
_iterator.f();
|
|
3184
|
-
}
|
|
3185
|
-
}
|
|
3186
3182
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
3187
3183
|
for (j = 0; j < boxPlannerGrid.getRowCount(i, false); j++) {
|
|
3188
3184
|
this.correctSimpleOpt(i, j, boxPlannerGrid, optionHandler, false);
|
|
@@ -3195,39 +3191,126 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3195
3191
|
}
|
|
3196
3192
|
}
|
|
3197
3193
|
}
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3194
|
+
i = 0;
|
|
3195
|
+
case 17:
|
|
3196
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3197
|
+
_context.next = 31;
|
|
3198
|
+
break;
|
|
3203
3199
|
}
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
|
|
3200
|
+
j = 0;
|
|
3201
|
+
case 19:
|
|
3202
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3203
|
+
_context.next = 28;
|
|
3204
|
+
break;
|
|
3205
|
+
}
|
|
3206
|
+
elementId = (_boxPlannerGrid$getPl2 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl2 === void 0 ? void 0 : _boxPlannerGrid$getPl2.ElementId;
|
|
3207
|
+
if (elementId) {
|
|
3208
|
+
_context.next = 23;
|
|
3209
|
+
break;
|
|
3211
3210
|
}
|
|
3211
|
+
return _context.abrupt("continue", 25);
|
|
3212
|
+
case 23:
|
|
3213
|
+
this.correctForceOptOfElement(elementId, boxPlannerGrid, optionHandler, false);
|
|
3214
|
+
this.correctNeighborCustomOLTs(elementId, boxPlannerGrid, optionHandler);
|
|
3215
|
+
case 25:
|
|
3216
|
+
j++;
|
|
3217
|
+
_context.next = 19;
|
|
3218
|
+
break;
|
|
3219
|
+
case 28:
|
|
3220
|
+
i++;
|
|
3221
|
+
_context.next = 17;
|
|
3222
|
+
break;
|
|
3223
|
+
case 31:
|
|
3224
|
+
if (!boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
3225
|
+
_context.next = 47;
|
|
3226
|
+
break;
|
|
3227
|
+
}
|
|
3228
|
+
i = boxPlannerGrid.getColumnCount() - 1;
|
|
3229
|
+
case 33:
|
|
3230
|
+
if (!(i >= 0)) {
|
|
3231
|
+
_context.next = 47;
|
|
3232
|
+
break;
|
|
3233
|
+
}
|
|
3234
|
+
j = 0;
|
|
3235
|
+
case 35:
|
|
3236
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3237
|
+
_context.next = 44;
|
|
3238
|
+
break;
|
|
3239
|
+
}
|
|
3240
|
+
_elementId = (_boxPlannerGrid$getPl3 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl3 === void 0 ? void 0 : _boxPlannerGrid$getPl3.ElementId;
|
|
3241
|
+
if (_elementId) {
|
|
3242
|
+
_context.next = 39;
|
|
3243
|
+
break;
|
|
3244
|
+
}
|
|
3245
|
+
return _context.abrupt("continue", 41);
|
|
3246
|
+
case 39:
|
|
3247
|
+
this.correctForceOptOfElement(_elementId, boxPlannerGrid, optionHandler, true);
|
|
3248
|
+
this.correctNeighborCustomOLTs(_elementId, boxPlannerGrid, optionHandler);
|
|
3249
|
+
case 41:
|
|
3250
|
+
j++;
|
|
3251
|
+
_context.next = 35;
|
|
3252
|
+
break;
|
|
3253
|
+
case 44:
|
|
3254
|
+
i--;
|
|
3255
|
+
_context.next = 33;
|
|
3256
|
+
break;
|
|
3257
|
+
case 47:
|
|
3212
3258
|
this.correctFoot(boxPlannerGrid, optionHandler);
|
|
3213
3259
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3214
|
-
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3260
|
+
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs);
|
|
3215
3261
|
this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
|
|
3216
3262
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3217
3263
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3264
|
+
if (this.constructionRules.coverPlateRule) {
|
|
3265
|
+
_iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
|
|
3266
|
+
try {
|
|
3267
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3268
|
+
coverPlateRule = _step.value;
|
|
3269
|
+
this.correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler);
|
|
3270
|
+
}
|
|
3271
|
+
} catch (err) {
|
|
3272
|
+
_iterator.e(err);
|
|
3273
|
+
} finally {
|
|
3274
|
+
_iterator.f();
|
|
3221
3275
|
}
|
|
3222
3276
|
}
|
|
3277
|
+
i = 0;
|
|
3278
|
+
case 55:
|
|
3279
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3280
|
+
_context.next = 68;
|
|
3281
|
+
break;
|
|
3282
|
+
}
|
|
3283
|
+
j = 0;
|
|
3284
|
+
case 57:
|
|
3285
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3286
|
+
_context.next = 65;
|
|
3287
|
+
break;
|
|
3288
|
+
}
|
|
3289
|
+
_elementId2 = (_boxPlannerGrid$getPl4 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl4 === void 0 ? void 0 : _boxPlannerGrid$getPl4.getElementId();
|
|
3290
|
+
if (_elementId2) {
|
|
3291
|
+
_context.next = 61;
|
|
3292
|
+
break;
|
|
3293
|
+
}
|
|
3294
|
+
return _context.abrupt("continue", 62);
|
|
3295
|
+
case 61:
|
|
3296
|
+
this.correctBack(boxPlannerGrid, optionHandler, _elementId2);
|
|
3297
|
+
case 62:
|
|
3298
|
+
j++;
|
|
3299
|
+
_context.next = 57;
|
|
3300
|
+
break;
|
|
3301
|
+
case 65:
|
|
3302
|
+
i++;
|
|
3303
|
+
_context.next = 55;
|
|
3304
|
+
break;
|
|
3305
|
+
case 68:
|
|
3223
3306
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3224
|
-
_context.next =
|
|
3307
|
+
_context.next = 71;
|
|
3225
3308
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3226
|
-
case
|
|
3309
|
+
case 71:
|
|
3227
3310
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3228
3311
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3229
3312
|
return _context.abrupt("return", resultMessage);
|
|
3230
|
-
case
|
|
3313
|
+
case 74:
|
|
3231
3314
|
case "end":
|
|
3232
3315
|
return _context.stop();
|
|
3233
3316
|
}
|
|
@@ -3355,7 +3438,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3355
3438
|
var cells = [];
|
|
3356
3439
|
for (var i = 0; i < colCount; i++) {
|
|
3357
3440
|
for (var j = 0; j < rowCount; j++) {
|
|
3358
|
-
var
|
|
3441
|
+
var _cell2 = {
|
|
3359
3442
|
plannedElement: {
|
|
3360
3443
|
basketId: newElement.getBasketId(),
|
|
3361
3444
|
elementId: newElement.getElementId(),
|
|
@@ -3374,7 +3457,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3374
3457
|
},
|
|
3375
3458
|
index: new index.Vector2(startColIndex + i, startRowIndex + j)
|
|
3376
3459
|
};
|
|
3377
|
-
cells.push(
|
|
3460
|
+
cells.push(_cell2);
|
|
3378
3461
|
}
|
|
3379
3462
|
}
|
|
3380
3463
|
return cells;
|
|
@@ -3663,10 +3746,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3663
3746
|
}
|
|
3664
3747
|
for (var i = 0; i < backGrid.length; i++) {
|
|
3665
3748
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
3666
|
-
var
|
|
3667
|
-
var
|
|
3668
|
-
var _elementId = (
|
|
3669
|
-
if (
|
|
3749
|
+
var _cell3$plannedElement;
|
|
3750
|
+
var _cell3 = backGrid[i][j];
|
|
3751
|
+
var _elementId = (_cell3$plannedElement = _cell3.plannedElement) === null || _cell3$plannedElement === void 0 ? void 0 : _cell3$plannedElement.elementId;
|
|
3752
|
+
if (_cell3 && _elementId && allCheckedElementIds.indexOf(_elementId) == -1) {
|
|
3670
3753
|
var _element = this.getElementById(_elementId);
|
|
3671
3754
|
allCheckedElementIds.push(_elementId);
|
|
3672
3755
|
returnElements.push(_element);
|
|
@@ -3930,10 +4013,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3930
4013
|
}
|
|
3931
4014
|
} else {
|
|
3932
4015
|
for (var i = curGrid[index].length - 1; i >= 0; i--) {
|
|
3933
|
-
var
|
|
3934
|
-
var
|
|
3935
|
-
var _elementId4 =
|
|
3936
|
-
if (
|
|
4016
|
+
var _cell4$plannedElement;
|
|
4017
|
+
var _cell4 = curGrid[index][i];
|
|
4018
|
+
var _elementId4 = _cell4 === null || _cell4 === void 0 || (_cell4$plannedElement = _cell4.plannedElement) === null || _cell4$plannedElement === void 0 ? void 0 : _cell4$plannedElement.elementId;
|
|
4019
|
+
if (_cell4 && _elementId4 && allElementIds.indexOf(_elementId4) == -1) {
|
|
3937
4020
|
allElementIds.push(_elementId4);
|
|
3938
4021
|
allElements.push(this.plannerElements.get(_elementId4));
|
|
3939
4022
|
}
|
|
@@ -4022,31 +4105,64 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4022
4105
|
}, {
|
|
4023
4106
|
key: "getNeighborElements",
|
|
4024
4107
|
value: function getNeighborElements(elementId, dir) {
|
|
4025
|
-
var
|
|
4108
|
+
var _this = this,
|
|
4109
|
+
_plannedElement3,
|
|
4110
|
+
_curGrid$area$fromX,
|
|
4111
|
+
_downNeighbour$planne;
|
|
4112
|
+
var clean = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
4026
4113
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4027
4114
|
var curGrid = res.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4028
4115
|
var result = [];
|
|
4029
4116
|
var plannedElement = res.cells[0].plannedElement;
|
|
4030
4117
|
if (!plannedElement) return result;
|
|
4118
|
+
var currentRow = curGrid[plannedElement.area.fromX];
|
|
4119
|
+
var startHeight = 0;
|
|
4120
|
+
var endHeight = 0;
|
|
4121
|
+
currentRow.forEach(function (cell) {
|
|
4122
|
+
if (cell.index.y < res.startRowIndex) startHeight = Math.round((startHeight + cell.plannedElement.size.height) * 1000);
|
|
4123
|
+
if (cell.index.y < res.endRowIndex) endHeight = Math.round((endHeight + cell.plannedElement.size.height) * 1000);
|
|
4124
|
+
});
|
|
4031
4125
|
switch (dir) {
|
|
4032
4126
|
case 'RIGHT':
|
|
4033
4127
|
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4034
|
-
|
|
4035
|
-
var
|
|
4036
|
-
if (
|
|
4128
|
+
|
|
4129
|
+
var neighbourRow = curGrid[plannedElement.area.toX];
|
|
4130
|
+
if (!neighbourRow) break;
|
|
4131
|
+
var neighbourSize = 0;
|
|
4132
|
+
var neighbours = neighbourRow.filter(function (cell) {
|
|
4133
|
+
if (clean && neighbourSize == startHeight) return true;else if (!clean && neighbourSize > endHeight) return true;
|
|
4134
|
+
neighbourSize = Math.round((neighbourSize + cell.plannedElement.size.height) * 1000);
|
|
4135
|
+
return false;
|
|
4136
|
+
});
|
|
4137
|
+
neighbours.forEach(function (n) {
|
|
4138
|
+
return !result.find(function (r) {
|
|
4139
|
+
return r.ElementId == n.plannedElement.elementId;
|
|
4140
|
+
}) && result.push(_this.plannerElements.get(n.plannedElement.elementId));
|
|
4141
|
+
});
|
|
4037
4142
|
break;
|
|
4038
4143
|
case 'LEFT':
|
|
4039
|
-
var
|
|
4040
|
-
|
|
4041
|
-
|
|
4144
|
+
var leftNeighbourRow = curGrid[plannedElement.area.fromX - 1];
|
|
4145
|
+
if (!leftNeighbourRow) break;
|
|
4146
|
+
var leftNeighbourSize = 0;
|
|
4147
|
+
var leftStartElement = leftNeighbourRow.find(function (cell) {
|
|
4148
|
+
if (leftNeighbourSize == startHeight) return true;
|
|
4149
|
+
leftNeighbourSize = Math.round((leftNeighbourSize + cell.plannedElement.size.height) * 1000);
|
|
4150
|
+
return false;
|
|
4151
|
+
});
|
|
4152
|
+
if (leftStartElement) result.push(this.plannerElements.get(leftStartElement.plannedElement.elementId));
|
|
4042
4153
|
break;
|
|
4043
4154
|
case 'TOP':
|
|
4044
|
-
var topNeighbour =
|
|
4045
|
-
var
|
|
4155
|
+
var topNeighbour = undefined;
|
|
4156
|
+
for (var y = plannedElement.area.toY; y < curGrid[plannedElement.area.fromX].length; y++) {
|
|
4157
|
+
topNeighbour = curGrid[plannedElement.area.fromX][y];
|
|
4158
|
+
break;
|
|
4159
|
+
}
|
|
4160
|
+
if (!topNeighbour) break;
|
|
4161
|
+
var tElementId = (_plannedElement3 = topNeighbour.plannedElement) === null || _plannedElement3 === void 0 ? void 0 : _plannedElement3.elementId;
|
|
4046
4162
|
if (tElementId) result.push(this.plannerElements.get(tElementId));
|
|
4047
4163
|
break;
|
|
4048
4164
|
case 'DOWN':
|
|
4049
|
-
var downNeighbour = (_curGrid$area$
|
|
4165
|
+
var downNeighbour = (_curGrid$area$fromX = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX === void 0 ? void 0 : _curGrid$area$fromX[plannedElement.area.fromY - 1];
|
|
4050
4166
|
var dElementId = downNeighbour === null || downNeighbour === void 0 || (_downNeighbour$planne = downNeighbour.plannedElement) === null || _downNeighbour$planne === void 0 ? void 0 : _downNeighbour$planne.elementId;
|
|
4051
4167
|
if (dElementId) result.push(this.plannerElements.get(dElementId));
|
|
4052
4168
|
break;
|
|
@@ -4116,9 +4232,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4116
4232
|
var curHeight = 0;
|
|
4117
4233
|
var row = frontGrid[x];
|
|
4118
4234
|
for (var y = 0; y < row.length;) {
|
|
4119
|
-
var
|
|
4235
|
+
var _cell5, _cell$plannedElement$, _cell$plannedElement8;
|
|
4120
4236
|
var cell = row[y];
|
|
4121
|
-
var elementId = (
|
|
4237
|
+
var elementId = (_cell5 = cell) === null || _cell5 === void 0 || (_cell5 = _cell5.plannedElement) === null || _cell5 === void 0 ? void 0 : _cell5.elementId;
|
|
4122
4238
|
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4123
4239
|
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4124
4240
|
if (x == 0 && y == 0) depth = this.plannerElements.get(elementId).getDepth();
|
|
@@ -4148,9 +4264,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4148
4264
|
var onBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4149
4265
|
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4150
4266
|
var result = [];
|
|
4267
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4151
4268
|
var lastHeight = -1;
|
|
4152
|
-
for (var x = 0; x <
|
|
4153
|
-
var
|
|
4269
|
+
for (var x = 0; x < grid.length;) {
|
|
4270
|
+
var _grid$new_x;
|
|
4271
|
+
var row = grid[x];
|
|
4154
4272
|
var height = 0;
|
|
4155
4273
|
for (var y = 0; y < row.length;) {
|
|
4156
4274
|
var element = row[y].plannedElement;
|
|
@@ -4159,12 +4277,20 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4159
4277
|
}
|
|
4160
4278
|
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4161
4279
|
if (!result[result.length - 1]) result.push([]);
|
|
4162
|
-
result[result.length - 1].push(
|
|
4163
|
-
} else {
|
|
4164
|
-
result.push([
|
|
4280
|
+
result[result.length - 1].push(grid[x][row.length - 1].plannedElement);
|
|
4281
|
+
} else if (grid[x][row.length - 1].plannedElement.area.fromX == x) {
|
|
4282
|
+
result.push([grid[x][row.length - 1].plannedElement]);
|
|
4165
4283
|
}
|
|
4166
4284
|
lastHeight = height;
|
|
4167
|
-
|
|
4285
|
+
var new_x = row[row.length - 1].plannedElement.area.toX;
|
|
4286
|
+
var newHeight = (_grid$new_x = grid[new_x]) === null || _grid$new_x === void 0 ? void 0 : _grid$new_x.length;
|
|
4287
|
+
|
|
4288
|
+
// if the next row is fx. lower and doesn't have a clean cut here we need to skip more
|
|
4289
|
+
if (newHeight && newHeight != row.length) {
|
|
4290
|
+
var cell = grid[new_x][newHeight - 1];
|
|
4291
|
+
if (cell.index.x != cell.plannedElement.area.fromX) new_x = cell.plannedElement.area.toX;
|
|
4292
|
+
}
|
|
4293
|
+
x = new_x;
|
|
4168
4294
|
}
|
|
4169
4295
|
return result;
|
|
4170
4296
|
}
|
|
@@ -4210,18 +4336,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4210
4336
|
}, {
|
|
4211
4337
|
key: "getAllElementsToFillUp",
|
|
4212
4338
|
value: function getAllElementsToFillUp(elementId, dir) {
|
|
4213
|
-
var
|
|
4339
|
+
var _this2 = this;
|
|
4214
4340
|
var curPos = this.getCellsInGridByElementId(elementId);
|
|
4215
4341
|
|
|
4216
4342
|
//columns and rows are swapped don't ask me why
|
|
4217
4343
|
var element = curPos.cells[0].plannedElement;
|
|
4218
4344
|
var index = {
|
|
4219
|
-
x: curPos.startColIndex,
|
|
4345
|
+
x: dir == 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1,
|
|
4220
4346
|
y: curPos.startRowIndex
|
|
4221
4347
|
};
|
|
4222
4348
|
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4223
4349
|
var plannerIdsToFill = [];
|
|
4224
4350
|
var existingPlannerIds = [];
|
|
4351
|
+
var lastFreeSpace = 0;
|
|
4225
4352
|
var _loop = function _loop(_y) {
|
|
4226
4353
|
var _curGrid$index$x$_y;
|
|
4227
4354
|
var elementToCopy = (_curGrid$index$x$_y = curGrid[index.x][_y]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
@@ -4231,13 +4358,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4231
4358
|
} // break
|
|
4232
4359
|
var length = element.area.toX - element.area.fromX;
|
|
4233
4360
|
var d = dir == 'RIGHT' ? +length : -length;
|
|
4234
|
-
var isPlanned = curGrid.
|
|
4235
|
-
|
|
4236
|
-
|
|
4361
|
+
var isPlanned = curGrid.find(function (x, idx) {
|
|
4362
|
+
return idx == element.area.toX + d - 1 && x[x.length - 1].index.y >= elementToCopy.area.fromY;
|
|
4363
|
+
});
|
|
4364
|
+
var neighbours = _this2.getNeighborElements(elementToCopy.elementId, dir);
|
|
4365
|
+
var freeSpace = 0;
|
|
4366
|
+
neighbours.forEach(function (n) {
|
|
4367
|
+
if (_this2.getNeighborElements(n.ElementId, "TOP").length == 0) freeSpace += n.Width;
|
|
4237
4368
|
});
|
|
4238
|
-
|
|
4239
|
-
if (
|
|
4369
|
+
if (neighbours.length == 0 && lastFreeSpace >= elementToCopy.size.width && !isPlanned && elementToCopy) plannerIdsToFill.push(elementToCopy.elementId);
|
|
4370
|
+
if (neighbours.length > 0 && freeSpace > element.size.width) plannerIdsToFill.push(neighbours[neighbours.length - 1].ElementId);else if (elementToCopy) existingPlannerIds.push(elementToCopy.elementId);
|
|
4240
4371
|
_y = elementToCopy.area.toY;
|
|
4372
|
+
lastFreeSpace = freeSpace;
|
|
4241
4373
|
y = _y;
|
|
4242
4374
|
};
|
|
4243
4375
|
for (var y = 0; y <= index.y;) {
|
|
@@ -4418,13 +4550,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4418
4550
|
var elementData = this.plannerElements.get(elementId);
|
|
4419
4551
|
var deletedCells = this.getCellsInGridByElementId(elementId);
|
|
4420
4552
|
if (!elementData) return;
|
|
4421
|
-
this.deleteElement(elementId,
|
|
4553
|
+
this.deleteElement(elementId, 'STD');
|
|
4422
4554
|
var curGrid = this.generalPlanningState.grids[0].matrix;
|
|
4423
4555
|
var cells = undefined;
|
|
4424
|
-
if (absoluteIndex.x < 0
|
|
4425
|
-
) {
|
|
4556
|
+
if (absoluteIndex.x < 0 && absoluteIndex.y == 0) {
|
|
4426
4557
|
var dir = deletedCells.endColIndex >= absoluteIndex.x;
|
|
4427
|
-
if (deletedCells.startColIndex
|
|
4558
|
+
if (deletedCells.startColIndex <= absoluteIndex.x) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4428
4559
|
if (absoluteIndex.x < 0) absoluteIndex.x = 0;
|
|
4429
4560
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4430
4561
|
var movedGrid = [];
|
|
@@ -4433,9 +4564,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4433
4564
|
_.forEach(function (_, y) {
|
|
4434
4565
|
var newX = x;
|
|
4435
4566
|
var shiftX = 0;
|
|
4436
|
-
if (y == absoluteIndex.y) {
|
|
4437
|
-
newX += dir ? element.area.toX - element.area.fromX :
|
|
4438
|
-
shiftX = dir ? element.area.toX - element.area.fromX :
|
|
4567
|
+
if (y == absoluteIndex.y || absoluteIndex.y == 0) {
|
|
4568
|
+
newX += dir ? element.area.toX - element.area.fromX : 0;
|
|
4569
|
+
shiftX = dir ? element.area.toX - element.area.fromX : 0;
|
|
4439
4570
|
}
|
|
4440
4571
|
if (!movedGrid[newX]) movedGrid[newX] = [];
|
|
4441
4572
|
var cellElem = curGrid[x][y].plannedElement;
|
|
@@ -4458,7 +4589,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4458
4589
|
});
|
|
4459
4590
|
curGrid = movedGrid;
|
|
4460
4591
|
} else {
|
|
4461
|
-
if (absoluteIndex.x > deletedCells.startColIndex &&
|
|
4592
|
+
if (absoluteIndex.x > deletedCells.startColIndex && deletedCells.startRowIndex == 0) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4462
4593
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4463
4594
|
}
|
|
4464
4595
|
for (var i = 0; i < cells.length; i++) {
|
|
@@ -4520,75 +4651,127 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4520
4651
|
}, {
|
|
4521
4652
|
key: "updateGridElementDimensions",
|
|
4522
4653
|
value: function updateGridElementDimensions(elementId, elementData) {
|
|
4523
|
-
var
|
|
4524
|
-
if (!elementData) return;
|
|
4654
|
+
var _this3 = this;
|
|
4655
|
+
if (!elementData) return false;
|
|
4656
|
+
var backup = structuredClone(this.generalPlanningState);
|
|
4525
4657
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4526
4658
|
var scpe = this.gridSetupParams.forceSingleCellPerElement;
|
|
4659
|
+
var origin = {
|
|
4660
|
+
x: res.cells[0].plannedElement.area.toX,
|
|
4661
|
+
y: res.cells[0].plannedElement.area.toY
|
|
4662
|
+
};
|
|
4663
|
+
var diff = {
|
|
4664
|
+
x: 0,
|
|
4665
|
+
y: 0
|
|
4666
|
+
};
|
|
4527
4667
|
res.cells.forEach(function (cell) {
|
|
4528
4668
|
if (!cell.plannedElement) return;
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4669
|
+
var el = cell.plannedElement;
|
|
4670
|
+
el.size.width = elementData.width;
|
|
4671
|
+
el.size.height = elementData.height;
|
|
4672
|
+
el.area = {
|
|
4673
|
+
fromX: el.area.fromX,
|
|
4674
|
+
toX: !scpe ? Math.round(el.area.fromX + elementData.width / _this3.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
4675
|
+
fromY: el.area.fromY,
|
|
4676
|
+
toY: !scpe ? Math.round(el.area.fromY + elementData.height / _this3.gridSetupParams.fixCellRasterHeight) : cell.index.y + 1
|
|
4536
4677
|
};
|
|
4678
|
+
diff.y = cell.plannedElement.area.toY - origin.y;
|
|
4679
|
+
diff.x = cell.plannedElement.area.toX - origin.x;
|
|
4537
4680
|
});
|
|
4538
|
-
|
|
4681
|
+
var cell = res.cells[0];
|
|
4682
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4683
|
+
// if the element got bigger we need to move all the above elements up
|
|
4684
|
+
// if it got wider we need to move all the elements to the right
|
|
4685
|
+
if (diff.y != 0) {
|
|
4686
|
+
for (var x = cell.plannedElement.area.fromX; x < cell.plannedElement.area.toX; x++) {
|
|
4687
|
+
var row = grid[x];
|
|
4688
|
+
if (!row) continue;
|
|
4689
|
+
for (var y = origin.y; y < row.length; y++) {
|
|
4690
|
+
var _cell = row[y];
|
|
4691
|
+
if (_cell.index.y != y || _cell.plannedElement.elementId == cell.plannedElement.elementId) continue; //already corrected
|
|
4692
|
+
_cell.index.y += diff.y;
|
|
4693
|
+
_cell.plannedElement.area.fromY += diff.y;
|
|
4694
|
+
_cell.plannedElement.area.toY += diff.y;
|
|
4695
|
+
}
|
|
4696
|
+
}
|
|
4697
|
+
} else if (diff.x != 0) {
|
|
4698
|
+
for (var _x3 = cell.plannedElement.area.fromX; _x3 < grid.length; _x3++) {
|
|
4699
|
+
for (var _y2 = cell.plannedElement.area.fromY; _y2 < cell.plannedElement.area.toY; _y2++) {
|
|
4700
|
+
var _cell6 = grid[_x3][_y2];
|
|
4701
|
+
if (!_cell6 || _cell6.plannedElement.elementId == elementId) continue; //already corrected
|
|
4702
|
+
_cell6.index.x += diff.x;
|
|
4703
|
+
_cell6.plannedElement.area.fromX += diff.x;
|
|
4704
|
+
_cell6.plannedElement.area.toX += diff.x;
|
|
4705
|
+
}
|
|
4706
|
+
}
|
|
4707
|
+
}
|
|
4708
|
+
|
|
4709
|
+
// after indices/areas are corrected rebuild the grid
|
|
4710
|
+
if (scpe) return false;
|
|
4711
|
+
var changedElementData = res.cells[0].plannedElement;
|
|
4539
4712
|
var newGrid = new Array();
|
|
4540
4713
|
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
var
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
|
|
4562
|
-
|
|
4714
|
+
var _loop2 = function _loop2() {
|
|
4715
|
+
var cell = plannedCells[idx];
|
|
4716
|
+
var area = cell.plannedElement.area;
|
|
4717
|
+
if (newGrid.find(function (x) {
|
|
4718
|
+
return x.find(function (y) {
|
|
4719
|
+
var _y$plannedElement3, _cell$plannedElement9;
|
|
4720
|
+
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
|
+
});
|
|
4722
|
+
})) return 0; // continue
|
|
4723
|
+
for (var _x4 = area.fromX; _x4 < area.toX; _x4++) {
|
|
4724
|
+
for (var _y3 = area.fromY; _y3 < area.toY; _y3++) {
|
|
4725
|
+
var _support$plannedEleme;
|
|
4726
|
+
if (!newGrid[_x4] && area.fromY == 0) newGrid[_x4] = [];
|
|
4727
|
+
|
|
4728
|
+
// we have a so called overhanging element not so nice, let's correct:
|
|
4729
|
+
var support = plannedCells.find(function (c) {
|
|
4730
|
+
return c.plannedElement.area.toX >= cell.plannedElement.area.toX && c.plannedElement.area.toY == cell.index.y;
|
|
4731
|
+
});
|
|
4732
|
+
if (!support && !newGrid[_x4]) {
|
|
4733
|
+
_this3.generalPlanningState = backup;
|
|
4734
|
+
return {
|
|
4735
|
+
v: true
|
|
4563
4736
|
};
|
|
4564
|
-
return 0; // continue
|
|
4565
4737
|
}
|
|
4566
4738
|
|
|
4567
|
-
//
|
|
4568
|
-
|
|
4569
|
-
|
|
4739
|
+
// the element below got smaller
|
|
4740
|
+
if (!newGrid[_x4] && (!support || ((_support$plannedEleme = support.plannedElement) === null || _support$plannedEleme === void 0 ? void 0 : _support$plannedEleme.elementId) == changedElementData.elementId)) {
|
|
4741
|
+
_this3.generalPlanningState = backup;
|
|
4742
|
+
return {
|
|
4743
|
+
v: true
|
|
4744
|
+
};
|
|
4745
|
+
} else if (!newGrid[_x4]) newGrid[_x4] = [];
|
|
4746
|
+
// when the element above starts early and goes over multiple ones
|
|
4747
|
+
|
|
4748
|
+
// regular case
|
|
4749
|
+
newGrid[_x4][_y3] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4570
4750
|
index: {
|
|
4571
|
-
x:
|
|
4572
|
-
y:
|
|
4751
|
+
x: _x4,
|
|
4752
|
+
y: _y3
|
|
4573
4753
|
},
|
|
4574
4754
|
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4575
4755
|
area: {
|
|
4576
|
-
fromX:
|
|
4577
|
-
toX:
|
|
4578
|
-
fromY:
|
|
4579
|
-
toY:
|
|
4756
|
+
fromX: cell.plannedElement.area.fromX,
|
|
4757
|
+
toX: cell.plannedElement.area.fromX + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4758
|
+
fromY: cell.plannedElement.area.fromY,
|
|
4759
|
+
toY: cell.plannedElement.area.fromY + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4580
4760
|
}
|
|
4581
4761
|
})
|
|
4582
4762
|
});
|
|
4583
|
-
}
|
|
4584
|
-
_ret;
|
|
4585
|
-
for (var y = 0; y < area.toY; y++) {
|
|
4586
|
-
_ret = _loop2(y);
|
|
4587
|
-
if (_ret === 0) continue;
|
|
4763
|
+
}
|
|
4588
4764
|
}
|
|
4589
|
-
}
|
|
4590
|
-
|
|
4765
|
+
},
|
|
4766
|
+
_ret;
|
|
4767
|
+
for (var idx = 0; idx < plannedCells.length; idx++) {
|
|
4768
|
+
_ret = _loop2();
|
|
4769
|
+
if (_ret === 0) continue;
|
|
4770
|
+
if (_ret) return _ret.v;
|
|
4771
|
+
}
|
|
4772
|
+
console.log('thoula 2 => ', newGrid);
|
|
4591
4773
|
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4774
|
+
return false;
|
|
4592
4775
|
}
|
|
4593
4776
|
|
|
4594
4777
|
/**
|
|
@@ -4629,9 +4812,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4629
4812
|
var topNeighbors = this.getNeighborElements(elementId, 'TOP');
|
|
4630
4813
|
var rightNeighbors = this.getNeighborElements(elementId, 'RIGHT');
|
|
4631
4814
|
var leftNeighbors = this.getNeighborElements(elementId, 'LEFT');
|
|
4815
|
+
var downNeighbors = this.getNeighborElements(elementId, 'DOWN');
|
|
4632
4816
|
if (topNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4633
4817
|
if (leftNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4634
4818
|
if (rightNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4819
|
+
if (rightNeighbors.length == 0 && leftNeighbors.length == 0 && downNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVU', [downNeighbors[0]]);
|
|
4635
4820
|
element.PosNr = posNr;
|
|
4636
4821
|
posNr++;
|
|
4637
4822
|
}
|
|
@@ -4639,9 +4824,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4639
4824
|
}
|
|
4640
4825
|
for (var i = 0; i < backGrid.length; i++) {
|
|
4641
4826
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4642
|
-
var
|
|
4643
|
-
var
|
|
4644
|
-
var _elementId6 =
|
|
4827
|
+
var _cell7$plannedElement;
|
|
4828
|
+
var _cell7 = backGrid[i][j];
|
|
4829
|
+
var _elementId6 = _cell7 === null || _cell7 === void 0 || (_cell7$plannedElement = _cell7.plannedElement) === null || _cell7$plannedElement === void 0 ? void 0 : _cell7$plannedElement.elementId;
|
|
4645
4830
|
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4646
4831
|
var _element2 = this.plannerElements.get(_elementId6);
|
|
4647
4832
|
allCheckedElementIds.push(_elementId6);
|
|
@@ -4979,9 +5164,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4979
5164
|
var targetRowIndex = endRowIndex + 1;
|
|
4980
5165
|
var _copyPossible = false;
|
|
4981
5166
|
// Iterate through columns within the element's width
|
|
4982
|
-
for (var
|
|
4983
|
-
if (isValidCell(
|
|
4984
|
-
copyStartColIndex =
|
|
5167
|
+
for (var _x5 = endColIndex; _x5 >= startColIndex; _x5--) {
|
|
5168
|
+
if (isValidCell(_x5, targetRowIndex)) {
|
|
5169
|
+
copyStartColIndex = _x5;
|
|
4985
5170
|
_copyPossible = true;
|
|
4986
5171
|
}
|
|
4987
5172
|
}
|
|
@@ -4998,19 +5183,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4998
5183
|
var _targetColIndex = endColIndex;
|
|
4999
5184
|
var _copyPossible2 = false;
|
|
5000
5185
|
// Iterate through rows within the element's height
|
|
5001
|
-
for (var
|
|
5002
|
-
if (isValidCell(_targetColIndex,
|
|
5003
|
-
copyStartRowIndex =
|
|
5186
|
+
for (var _y4 = startRowIndex; _y4 <= endRowIndex; _y4++) {
|
|
5187
|
+
if (isValidCell(_targetColIndex, _y4)) {
|
|
5188
|
+
copyStartRowIndex = _y4;
|
|
5004
5189
|
_copyPossible2 = true;
|
|
5005
5190
|
break;
|
|
5006
5191
|
}
|
|
5007
5192
|
}
|
|
5008
5193
|
if (!_copyPossible2) return undefined;
|
|
5009
5194
|
_copyPossible2 = false;
|
|
5010
|
-
for (var
|
|
5011
|
-
if (isValidCell(
|
|
5195
|
+
for (var _x6 = endColIndex; _x6 <= endColIndex + elementCells.colCount; _x6++) {
|
|
5196
|
+
if (isValidCell(_x6, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x6, copyStartRowIndex - 1))) {
|
|
5012
5197
|
//check also for overhang
|
|
5013
|
-
copyEndColIndex =
|
|
5198
|
+
copyEndColIndex = _x6;
|
|
5014
5199
|
_copyPossible2 = true;
|
|
5015
5200
|
} else {
|
|
5016
5201
|
break; //when you find one situation where it is not valid skip outside.
|
|
@@ -5050,16 +5235,16 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5050
5235
|
} else {
|
|
5051
5236
|
var distToOriginX = 0;
|
|
5052
5237
|
for (var i = 0; i < cellsStartColIndex; i++) {
|
|
5053
|
-
var _plannedElement$size$3,
|
|
5054
|
-
distToOriginX += (_plannedElement$size$3 = (
|
|
5238
|
+
var _plannedElement$size$3, _plannedElement4;
|
|
5239
|
+
distToOriginX += (_plannedElement$size$3 = (_plannedElement4 = curGrid[i][0].plannedElement) === null || _plannedElement4 === void 0 ? void 0 : _plannedElement4.size.width) !== null && _plannedElement$size$3 !== void 0 ? _plannedElement$size$3 : 0;
|
|
5055
5240
|
}
|
|
5056
5241
|
if (cellsStartColIndex < 0) {
|
|
5057
5242
|
distToOriginX = -element.getWidth();
|
|
5058
5243
|
}
|
|
5059
5244
|
var distToOriginY = 0;
|
|
5060
5245
|
for (var i = 0; i < cellsStartRowIndex; i++) {
|
|
5061
|
-
var _plannedElement$size$4,
|
|
5062
|
-
distToOriginY += (_plannedElement$size$4 = (
|
|
5246
|
+
var _plannedElement$size$4, _plannedElement5;
|
|
5247
|
+
distToOriginY += (_plannedElement$size$4 = (_plannedElement5 = curGrid[cellsStartColIndex][i].plannedElement) === null || _plannedElement5 === void 0 ? void 0 : _plannedElement5.size.width) !== null && _plannedElement$size$4 !== void 0 ? _plannedElement$size$4 : 0;
|
|
5063
5248
|
}
|
|
5064
5249
|
elementLocation.startIndexWorldPos = new index.Vector2(distToOriginX, distToOriginY);
|
|
5065
5250
|
}
|
|
@@ -5106,7 +5291,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5106
5291
|
var _ele2, _ele3;
|
|
5107
5292
|
var movables = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5108
5293
|
var selectedElementId = arguments.length > 1 ? arguments[1] : undefined;
|
|
5109
|
-
if (!movables) return this.generalPlanningState;
|
|
5294
|
+
if (!movables || !selectedElementId) return this.generalPlanningState;
|
|
5110
5295
|
// fill to equal size
|
|
5111
5296
|
var matrix = this.generalPlanningState.grids[0].matrix;
|
|
5112
5297
|
var matrixWithMovables = [];
|
|
@@ -5153,6 +5338,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5153
5338
|
isSupport = !!matrix.find(function (x, idx) {
|
|
5154
5339
|
return idx >= ele.area.fromX && idx < ele.area.toX && matrix[idx].length > ele.area.toY;
|
|
5155
5340
|
}); // can't move if there is anything above these cells
|
|
5341
|
+
|
|
5342
|
+
// if it has left and right neighbour and is on the bottom
|
|
5343
|
+
if (ele.area.fromX == 0 && this.getNeighborElements(ele.elementId, 'LEFT').length > 0 && this.getNeighborElements(ele.elementId, 'RIGHT').length > 0) isSupport = true;
|
|
5156
5344
|
}
|
|
5157
5345
|
if (isSupport) return this.generalPlanningState;
|
|
5158
5346
|
for (var x = 0; x < maxWidth; x++) {
|
|
@@ -5173,7 +5361,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5173
5361
|
if (x >= from && x < to) return;
|
|
5174
5362
|
var row = matrixWithMovables[x];
|
|
5175
5363
|
var len = row.length;
|
|
5176
|
-
var _x = ele.fromX == 0 ? x : x - 1;
|
|
5364
|
+
var _x = ele.area.fromX == 0 ? x : x - 1;
|
|
5177
5365
|
row[len] = {
|
|
5178
5366
|
index: {
|
|
5179
5367
|
x: _x,
|
|
@@ -5186,7 +5374,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5186
5374
|
var len = matrixWithMovables.length;
|
|
5187
5375
|
if (((_ele2 = ele) === null || _ele2 === void 0 ? void 0 : _ele2.area.toX) != matrix.length) matrixWithMovables[len] = [{
|
|
5188
5376
|
index: {
|
|
5189
|
-
x: ele.fromX == 0 ? len : len - 1,
|
|
5377
|
+
x: ele.area.fromX == 0 ? len : len - 1,
|
|
5190
5378
|
y: 0
|
|
5191
5379
|
}
|
|
5192
5380
|
}];
|
|
@@ -5338,7 +5526,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5338
5526
|
key: "initPlanner",
|
|
5339
5527
|
value: function () {
|
|
5340
5528
|
var _initPlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(setPlanData) {
|
|
5341
|
-
var planData, jsonElements, i, jsonElement, elementID, plannerElement, data, highesElemId, _jsonElement, params;
|
|
5529
|
+
var planData, jsonElements, i, jsonElement, elementID, plannerElement, constructionRules, _constructionRules$co, _constructionRules$co2, data, highesElemId, _jsonElement, params;
|
|
5342
5530
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
5343
5531
|
while (1) switch (_context.prev = _context.next) {
|
|
5344
5532
|
case 0:
|
|
@@ -5368,7 +5556,20 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5368
5556
|
if (this.nextElementId < elementID + 1) this.nextElementId = elementID + 1;
|
|
5369
5557
|
this.set.setElementId(jsonElement.basketID, plannerElement.ElementId);
|
|
5370
5558
|
if (!this.constructionRulesHandler.getConstructionRulesLoaded()) {
|
|
5371
|
-
this.
|
|
5559
|
+
constructionRules = this.set.getConstructionRuleOfElementId(plannerElement.ElementId);
|
|
5560
|
+
if (constructionRules) {
|
|
5561
|
+
this.boxPlannerGrid.GridSetupParams = {
|
|
5562
|
+
fixCellRasterHeight: 19.2,
|
|
5563
|
+
fixCellRasterWidth: 19.2,
|
|
5564
|
+
forceFixCellRasterSize: (_constructionRules$co = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co !== void 0 ? _constructionRules$co : true,
|
|
5565
|
+
forceSingleCellPerElement: (_constructionRules$co2 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co2 !== void 0 ? _constructionRules$co2 : true,
|
|
5566
|
+
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5567
|
+
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5568
|
+
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
5569
|
+
maxGridRasterWidth: constructionRules.constructionRules.maxGridRasterWidth
|
|
5570
|
+
};
|
|
5571
|
+
}
|
|
5572
|
+
this.constructionRulesHandler.setConstructionRules(constructionRules);
|
|
5372
5573
|
}
|
|
5373
5574
|
data = this.set.getPlannerData(plannerElement.ElementId);
|
|
5374
5575
|
if (data) plannerElement.updatePlannerData(data);
|
|
@@ -5496,7 +5697,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5496
5697
|
key: "addPlannerElement",
|
|
5497
5698
|
value: (function () {
|
|
5498
5699
|
var _addPlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(basketID, params) {
|
|
5499
|
-
var plannerElement, data, constructionRules, _constructionRules$
|
|
5700
|
+
var plannerElement, data, constructionRules, _constructionRules$co3, _constructionRules$co4;
|
|
5500
5701
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
5501
5702
|
while (1) switch (_context2.prev = _context2.next) {
|
|
5502
5703
|
case 0:
|
|
@@ -5520,8 +5721,8 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5520
5721
|
this.boxPlannerGrid.GridSetupParams = {
|
|
5521
5722
|
fixCellRasterHeight: 19.2,
|
|
5522
5723
|
fixCellRasterWidth: 19.2,
|
|
5523
|
-
forceFixCellRasterSize: (_constructionRules$
|
|
5524
|
-
forceSingleCellPerElement: (_constructionRules$
|
|
5724
|
+
forceFixCellRasterSize: (_constructionRules$co3 = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co3 !== void 0 ? _constructionRules$co3 : true,
|
|
5725
|
+
forceSingleCellPerElement: (_constructionRules$co4 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co4 !== void 0 ? _constructionRules$co4 : true,
|
|
5525
5726
|
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5526
5727
|
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5527
5728
|
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
@@ -5916,42 +6117,58 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5916
6117
|
value: (function () {
|
|
5917
6118
|
var _updatePlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee7(changedOPT, targetElements) {
|
|
5918
6119
|
var _this2 = this;
|
|
5919
|
-
var message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
6120
|
+
var failed, message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
5920
6121
|
return _regeneratorRuntime__default["default"].wrap(function _callee7$(_context7) {
|
|
5921
6122
|
while (1) switch (_context7.prev = _context7.next) {
|
|
5922
6123
|
case 0:
|
|
5923
6124
|
LOG.debug('BoxPlanner - configurationHasChanged ' + changedOPT);
|
|
6125
|
+
failed = false;
|
|
5924
6126
|
targetElements === null || targetElements === void 0 || targetElements.forEach(function (e) {
|
|
5925
6127
|
var _this2$set$getArticle;
|
|
5926
|
-
|
|
6128
|
+
failed = _this2.boxPlannerGrid.updateGridElementDimensions(e, (_this2$set$getArticle = _this2.set.getArticleByElementId(e)) === null || _this2$set$getArticle === void 0 ? void 0 : _this2$set$getArticle.plannerData);
|
|
6129
|
+
if (failed) return;
|
|
6130
|
+
});
|
|
6131
|
+
if (!failed) {
|
|
6132
|
+
_context7.next = 5;
|
|
6133
|
+
break;
|
|
6134
|
+
}
|
|
6135
|
+
return _context7.abrupt("return", {
|
|
6136
|
+
doDeleteBackGrid: false,
|
|
6137
|
+
elemIdsToDelete: [],
|
|
6138
|
+
viewMessageCodex: "resizeerror",
|
|
6139
|
+
failed: true
|
|
5927
6140
|
});
|
|
6141
|
+
case 5:
|
|
6142
|
+
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5928
6143
|
if (!(changedOPT && targetElements && targetElements.length > 0 && changedOPT['OPTELEMENT'] && (changedOPT['OPTELEMENT'] == 'OPVECK_I' || changedOPT['OPTELEMENT'] == 'OPVECK_A'))) {
|
|
5929
|
-
_context7.next =
|
|
6144
|
+
_context7.next = 23;
|
|
5930
6145
|
break;
|
|
5931
6146
|
}
|
|
5932
6147
|
if (!(targetElements.length > 1)) {
|
|
5933
|
-
_context7.next =
|
|
6148
|
+
_context7.next = 14;
|
|
5934
6149
|
break;
|
|
5935
6150
|
}
|
|
5936
|
-
_context7.next =
|
|
6151
|
+
_context7.next = 10;
|
|
5937
6152
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements, true);
|
|
5938
|
-
case
|
|
6153
|
+
case 10:
|
|
5939
6154
|
message = _context7.sent;
|
|
5940
6155
|
if (!message) {
|
|
5941
|
-
_context7.next =
|
|
6156
|
+
_context7.next = 13;
|
|
5942
6157
|
break;
|
|
5943
6158
|
}
|
|
5944
6159
|
return _context7.abrupt("return", {
|
|
5945
6160
|
doDeleteBackGrid: false,
|
|
5946
6161
|
elemIdsToDelete: [],
|
|
5947
|
-
viewMessageCodex: message
|
|
6162
|
+
viewMessageCodex: message,
|
|
6163
|
+
failed: false
|
|
5948
6164
|
});
|
|
5949
|
-
case
|
|
6165
|
+
case 13:
|
|
5950
6166
|
return _context7.abrupt("return", {
|
|
5951
6167
|
doDeleteBackGrid: false,
|
|
5952
|
-
elemIdsToDelete: []
|
|
6168
|
+
elemIdsToDelete: [],
|
|
6169
|
+
failed: false
|
|
5953
6170
|
});
|
|
5954
|
-
case
|
|
6171
|
+
case 14:
|
|
5955
6172
|
//If the most bottom element has no neighbor right or left - copy element
|
|
5956
6173
|
cellPos = this.boxPlannerGrid.getCellsInGridByElementId(targetElements[0]);
|
|
5957
6174
|
elemToCheck = targetElements[0];
|
|
@@ -5959,7 +6176,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5959
6176
|
elemToCheck = this.boxPlannerGrid.getPlannerElementAtGridPos(cellPos.startColIndex, 0, false).getElementId();
|
|
5960
6177
|
}
|
|
5961
6178
|
if (!(!this.boxPlannerGrid.getElementHasLeftElement(elemToCheck) || !this.boxPlannerGrid.getElementHasRightElement(elemToCheck))) {
|
|
5962
|
-
_context7.next =
|
|
6179
|
+
_context7.next = 23;
|
|
5963
6180
|
break;
|
|
5964
6181
|
}
|
|
5965
6182
|
//Someone has changed Eck innen or aussen. If the current eselected Element has no neighbor left or right copy neighbor
|
|
@@ -5981,6 +6198,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5981
6198
|
copyType: 'BoxPlanner_COL'
|
|
5982
6199
|
});
|
|
5983
6200
|
return _context7.abrupt("return", {
|
|
6201
|
+
failed: false,
|
|
5984
6202
|
doDeleteBackGrid: false,
|
|
5985
6203
|
elemIdsToDelete: [],
|
|
5986
6204
|
elementIdToCopy: allElementsToCopy,
|
|
@@ -5989,17 +6207,17 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5989
6207
|
changedOPT: changedOPT,
|
|
5990
6208
|
targetElements: targetElements
|
|
5991
6209
|
});
|
|
5992
|
-
case
|
|
6210
|
+
case 23:
|
|
5993
6211
|
if (!(changedOPT && changedOPT['OPTDMOD'])) {
|
|
5994
|
-
_context7.next =
|
|
6212
|
+
_context7.next = 38;
|
|
5995
6213
|
break;
|
|
5996
6214
|
}
|
|
5997
6215
|
_context7.t0 = changedOPT['OPTDMOD'];
|
|
5998
|
-
_context7.next = _context7.t0 === 'OPVD_EIN' ?
|
|
6216
|
+
_context7.next = _context7.t0 === 'OPVD_EIN' ? 27 : _context7.t0 === 'OPVD_AUS' ? 31 : 36;
|
|
5999
6217
|
break;
|
|
6000
|
-
case
|
|
6218
|
+
case 27:
|
|
6001
6219
|
if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
6002
|
-
_context7.next =
|
|
6220
|
+
_context7.next = 30;
|
|
6003
6221
|
break;
|
|
6004
6222
|
}
|
|
6005
6223
|
_allElementsToCopy = this.getPlannerElementsInfluencedByCopy(-1, {
|
|
@@ -6011,25 +6229,27 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6011
6229
|
copyType: 'BoxPlanner_backside'
|
|
6012
6230
|
});
|
|
6013
6231
|
return _context7.abrupt("return", {
|
|
6232
|
+
failed: false,
|
|
6014
6233
|
doDeleteBackGrid: false,
|
|
6015
6234
|
elemIdsToDelete: [],
|
|
6016
6235
|
elementIdToCopy: _allElementsToCopy,
|
|
6017
6236
|
copyType: 'BoxPlanner_backside',
|
|
6018
6237
|
changedOPT: changedOPT
|
|
6019
6238
|
});
|
|
6020
|
-
case
|
|
6021
|
-
return _context7.abrupt("break",
|
|
6022
|
-
case
|
|
6239
|
+
case 30:
|
|
6240
|
+
return _context7.abrupt("break", 36);
|
|
6241
|
+
case 31:
|
|
6023
6242
|
if (!this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
6024
|
-
_context7.next =
|
|
6243
|
+
_context7.next = 35;
|
|
6025
6244
|
break;
|
|
6026
6245
|
}
|
|
6027
6246
|
allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6028
6247
|
if (!(allElementsInBackGrid.length > 0)) {
|
|
6029
|
-
_context7.next =
|
|
6248
|
+
_context7.next = 35;
|
|
6030
6249
|
break;
|
|
6031
6250
|
}
|
|
6032
6251
|
return _context7.abrupt("return", {
|
|
6252
|
+
failed: false,
|
|
6033
6253
|
doDeleteBackGrid: true,
|
|
6034
6254
|
elemIdsToDelete: allElementsInBackGrid.map(function (element) {
|
|
6035
6255
|
return element.ElementId;
|
|
@@ -6037,23 +6257,24 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6037
6257
|
deletionType: 'BoxPlanner_backside',
|
|
6038
6258
|
changedOPT: changedOPT
|
|
6039
6259
|
});
|
|
6040
|
-
case
|
|
6041
|
-
return _context7.abrupt("break",
|
|
6042
|
-
case
|
|
6043
|
-
_context7.next =
|
|
6260
|
+
case 35:
|
|
6261
|
+
return _context7.abrupt("break", 36);
|
|
6262
|
+
case 36:
|
|
6263
|
+
_context7.next = 52;
|
|
6044
6264
|
break;
|
|
6045
|
-
case
|
|
6265
|
+
case 38:
|
|
6046
6266
|
if (!(changedOPT && changedOPT['OPTFARBE_RAHMEN'] && changedOPT['OPTFARBE_RAHMEN'] == 'OPVSCHWARZ_MATT' && this.boxPlannerGrid.getPlannerHasActiveBackside())) {
|
|
6047
|
-
_context7.next =
|
|
6267
|
+
_context7.next = 44;
|
|
6048
6268
|
break;
|
|
6049
6269
|
}
|
|
6050
6270
|
//If the double modul is active but the color is changed to black - disable double modul
|
|
6051
6271
|
_allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6052
6272
|
if (!(_allElementsInBackGrid.length > 0)) {
|
|
6053
|
-
_context7.next =
|
|
6273
|
+
_context7.next = 42;
|
|
6054
6274
|
break;
|
|
6055
6275
|
}
|
|
6056
6276
|
return _context7.abrupt("return", {
|
|
6277
|
+
failed: false,
|
|
6057
6278
|
doDeleteBackGrid: true,
|
|
6058
6279
|
elemIdsToDelete: _allElementsInBackGrid.map(function (element) {
|
|
6059
6280
|
return element.ElementId;
|
|
@@ -6063,34 +6284,37 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6063
6284
|
targetElements: targetElements,
|
|
6064
6285
|
viewMessageCodex: 'BOXPLAN_BLACKFRAME_INCOMPATIBLE_ELEMENT_WARNING'
|
|
6065
6286
|
});
|
|
6066
|
-
case
|
|
6067
|
-
_context7.next =
|
|
6287
|
+
case 42:
|
|
6288
|
+
_context7.next = 52;
|
|
6068
6289
|
break;
|
|
6069
|
-
case
|
|
6070
|
-
_context7.next =
|
|
6290
|
+
case 44:
|
|
6291
|
+
_context7.next = 46;
|
|
6071
6292
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements);
|
|
6072
|
-
case
|
|
6293
|
+
case 46:
|
|
6073
6294
|
_message = _context7.sent;
|
|
6074
6295
|
if (!_message) {
|
|
6075
|
-
_context7.next =
|
|
6296
|
+
_context7.next = 51;
|
|
6076
6297
|
break;
|
|
6077
6298
|
}
|
|
6078
6299
|
return _context7.abrupt("return", {
|
|
6079
6300
|
doDeleteBackGrid: false,
|
|
6080
6301
|
elemIdsToDelete: [],
|
|
6081
|
-
viewMessageCodex: _message
|
|
6302
|
+
viewMessageCodex: _message,
|
|
6303
|
+
failed: false
|
|
6082
6304
|
});
|
|
6083
|
-
case
|
|
6305
|
+
case 51:
|
|
6084
6306
|
return _context7.abrupt("return", {
|
|
6085
6307
|
doDeleteBackGrid: false,
|
|
6086
|
-
elemIdsToDelete: []
|
|
6308
|
+
elemIdsToDelete: [],
|
|
6309
|
+
failed: false
|
|
6087
6310
|
});
|
|
6088
|
-
case
|
|
6311
|
+
case 52:
|
|
6089
6312
|
return _context7.abrupt("return", {
|
|
6090
6313
|
doDeleteBackGrid: false,
|
|
6091
|
-
elemIdsToDelete: []
|
|
6314
|
+
elemIdsToDelete: [],
|
|
6315
|
+
failed: false
|
|
6092
6316
|
});
|
|
6093
|
-
case
|
|
6317
|
+
case 53:
|
|
6094
6318
|
case "end":
|
|
6095
6319
|
return _context7.stop();
|
|
6096
6320
|
}
|