@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
|
@@ -3,11 +3,11 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
|
3
3
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
4
4
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
6
|
-
import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-
|
|
6
|
+
import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-07df9d4d.js';
|
|
7
7
|
import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
|
|
8
8
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
9
|
-
import
|
|
10
|
-
import '
|
|
9
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
10
|
+
import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-6aa7326e.js';
|
|
11
11
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
12
12
|
import 'axios';
|
|
13
13
|
import '@crystaldesign/basket-model';
|
|
@@ -1959,6 +1959,18 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1959
1959
|
if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
|
|
1960
1960
|
(_this$hideOptionsForC2 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC2 === void 0 || _this$hideOptionsForC2.push(option);
|
|
1961
1961
|
}
|
|
1962
|
+
}, {
|
|
1963
|
+
key: "setOptionDoCustom",
|
|
1964
|
+
value: function setOptionDoCustom(elementId, option, val, optionHandler) {
|
|
1965
|
+
var _optionHandler$get4, _this$hideOptionsForC3;
|
|
1966
|
+
// LOG.log("Update Box Planner Logic. SetOptionDoHide: elementId: " + elementId + "; Option: " + option);
|
|
1967
|
+
var curOptVisibilityInfo = this.constructionRules.optionsVisibilityInfo[option];
|
|
1968
|
+
if (!curOptVisibilityInfo) return;
|
|
1969
|
+
if (!optionHandler.has(elementId)) optionHandler.set(elementId, new Map());
|
|
1970
|
+
(_optionHandler$get4 = optionHandler.get(elementId)) === null || _optionHandler$get4 === void 0 || _optionHandler$get4.set(option, curOptVisibilityInfo[val]);
|
|
1971
|
+
if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
|
|
1972
|
+
(_this$hideOptionsForC3 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC3 === void 0 || _this$hideOptionsForC3.push(option);
|
|
1973
|
+
}
|
|
1962
1974
|
|
|
1963
1975
|
//Returns all
|
|
1964
1976
|
}, {
|
|
@@ -1999,7 +2011,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1999
2011
|
}
|
|
2000
2012
|
var allElementIds = boxPlannerGrid.getAllElementIdsInGrid(); //run through front an backside grid
|
|
2001
2013
|
for (var i = 0; i < allElementIds.length; i++) {
|
|
2002
|
-
var _optionHandler$
|
|
2014
|
+
var _optionHandler$get5;
|
|
2003
2015
|
if (this.hideOptionsForConstruction.has(allElementIds[i]) && this.hideOptionsForConstruction.get(allElementIds[i]).length > 0) {
|
|
2004
2016
|
while (this.hideOptionsForConstruction.get(allElementIds[i]).length > 0) {
|
|
2005
2017
|
var optName = this.hideOptionsForConstruction.get(allElementIds[i])[0];
|
|
@@ -2088,7 +2100,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2088
2100
|
|
|
2089
2101
|
///Add debug input
|
|
2090
2102
|
if (!optionHandler.has(allElementIds[i])) optionHandler.set(allElementIds[i], new Map());
|
|
2091
|
-
(_optionHandler$
|
|
2103
|
+
(_optionHandler$get5 = optionHandler.get(allElementIds[i])) === null || _optionHandler$get5 === void 0 || _optionHandler$get5.set('DEBUG', boxPlannerGrid.getElementById(allElementIds[i]).getPosNr() + '');
|
|
2092
2104
|
if (opvToReset.length > 0) {
|
|
2093
2105
|
for (var r = 0; r < opvToReset.length; r++) {
|
|
2094
2106
|
var articleOPV = this.getOptionVal(allElementIds[i], opvToReset[r].opt, optionHandler);
|
|
@@ -2368,6 +2380,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2368
2380
|
key: "correctSimpleOpt",
|
|
2369
2381
|
value: function correctSimpleOpt(xIndex, yIndex, boxPlannerGrid, optionHandler, fromBackside) {
|
|
2370
2382
|
var curElement = boxPlannerGrid.getPlannerElementAtGridPos(xIndex, yIndex, fromBackside);
|
|
2383
|
+
if (!curElement) return;
|
|
2371
2384
|
//Schauen ob Element top Element hat.
|
|
2372
2385
|
if (this.constructionRules.defaultConstructionRules.TOP) {
|
|
2373
2386
|
var hasTopElement = boxPlannerGrid.getElementHasTopElement(curElement.ElementId);
|
|
@@ -2593,13 +2606,12 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2593
2606
|
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
|
|
2594
2607
|
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
|
|
2595
2608
|
if (isOver) {
|
|
2596
|
-
|
|
2609
|
+
return dimRule.higherLimit;
|
|
2597
2610
|
} else if (isEqual) {
|
|
2598
|
-
return
|
|
2611
|
+
return dimRule.higherLimit;
|
|
2599
2612
|
} else {
|
|
2600
|
-
|
|
2613
|
+
return dimRule.lowerLimit;
|
|
2601
2614
|
}
|
|
2602
|
-
return false;
|
|
2603
2615
|
}
|
|
2604
2616
|
|
|
2605
2617
|
/*
|
|
@@ -2610,42 +2622,34 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2610
2622
|
key: "correctOverHangingElement",
|
|
2611
2623
|
value: function correctOverHangingElement(changedElementId, boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2612
2624
|
var _this2 = this;
|
|
2613
|
-
if (!changedOPTs) return;
|
|
2614
|
-
var
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
if (
|
|
2632
|
-
|
|
2633
|
-
}
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
_this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
|
|
2642
|
-
}
|
|
2643
|
-
lastElement = element;
|
|
2644
|
-
});
|
|
2645
|
-
};
|
|
2646
|
-
for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
|
|
2647
|
-
_loop();
|
|
2648
|
-
}
|
|
2625
|
+
if (!changedOPTs || !changedElementId) return;
|
|
2626
|
+
var startIdx = boxPlannerGrid.getCellsInGridByElementId(changedElementId).startColIndex;
|
|
2627
|
+
var elements = boxPlannerGrid.getAllElementsInColumn(startIdx, false, true); // from bottom to top
|
|
2628
|
+
var changedElementIdx = elements.findIndex(function (e) {
|
|
2629
|
+
return e.ElementId == changedElementId;
|
|
2630
|
+
});
|
|
2631
|
+
var changedElement = elements[changedElementIdx];
|
|
2632
|
+
if (!changedElement) return; // nothing changed in this row
|
|
2633
|
+
var t = Object.entries(changedOPTs);
|
|
2634
|
+
var opt = t[0][0];
|
|
2635
|
+
var opv = t[0][1];
|
|
2636
|
+
elements.forEach(function (element, idx) {
|
|
2637
|
+
if (idx < changedElementIdx) {
|
|
2638
|
+
//under the changed one
|
|
2639
|
+
var rightNeighbours = boxPlannerGrid.getNeighborElements(element.ElementId, "RIGHT");
|
|
2640
|
+
var freeSpace = element.Width;
|
|
2641
|
+
rightNeighbours.forEach(function (n) {
|
|
2642
|
+
if (n.ElementId == changedElement.ElementId) return;
|
|
2643
|
+
if (!boxPlannerGrid.getNeighborElements(n.ElementId, "TOP", false).find(function (n) {
|
|
2644
|
+
return n.ElementId != changedElement.ElementId;
|
|
2645
|
+
})) freeSpace += n.Width;
|
|
2646
|
+
});
|
|
2647
|
+
if (changedElement.Width > freeSpace) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2648
|
+
} else {
|
|
2649
|
+
// over the changed one
|
|
2650
|
+
if (changedElement.Width < element.Width) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2651
|
+
}
|
|
2652
|
+
});
|
|
2649
2653
|
}
|
|
2650
2654
|
}, {
|
|
2651
2655
|
key: "correctFoot",
|
|
@@ -2662,31 +2666,35 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2662
2666
|
* */
|
|
2663
2667
|
}, {
|
|
2664
2668
|
key: "correctOptionsInfluencedByDimensions",
|
|
2665
|
-
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2669
|
+
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2666
2670
|
var _this4 = this;
|
|
2667
2671
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2668
2672
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2669
2673
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
});else dimRule.forEach(function (rule) {
|
|
2679
|
-
return allElements.forEach(function (element) {
|
|
2680
|
-
return _this4.setOptionDoHide(element.ElementId, rule.option, optionHandler);
|
|
2681
|
-
});
|
|
2682
|
-
});
|
|
2683
|
-
} else {
|
|
2684
|
-
if (_this4.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
|
|
2685
|
-
return _this4.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
|
|
2686
|
-
});else allElements.forEach(function (element) {
|
|
2687
|
-
return _this4.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2674
|
+
var setRule = function setRule(rule) {
|
|
2675
|
+
var res = _this4.validateDimensionRule(rule, boxPlannerSize);
|
|
2676
|
+
if (changedOPTs) {
|
|
2677
|
+
var changedOpt = Object.entries(changedOPTs).find(function (_ref) {
|
|
2678
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
2679
|
+
key = _ref2[0];
|
|
2680
|
+
_ref2[1];
|
|
2681
|
+
return key == rule.option;
|
|
2688
2682
|
});
|
|
2683
|
+
if (changedOpt) {
|
|
2684
|
+
allElements.forEach(function (element) {
|
|
2685
|
+
return _this4.setOptionValue(element.ElementId, changedOpt[0], changedOpt[1], optionHandler);
|
|
2686
|
+
});
|
|
2687
|
+
return;
|
|
2688
|
+
}
|
|
2689
2689
|
}
|
|
2690
|
+
allElements.forEach(function (element) {
|
|
2691
|
+
return _this4.setOptionDoCustom(element.ElementId, res, rule.option, optionHandler);
|
|
2692
|
+
});
|
|
2693
|
+
};
|
|
2694
|
+
this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
|
|
2695
|
+
if (Array.isArray(dimRule)) dimRule.forEach(function (rule) {
|
|
2696
|
+
return setRule(rule);
|
|
2697
|
+
});else setRule(dimRule);
|
|
2690
2698
|
});
|
|
2691
2699
|
}
|
|
2692
2700
|
}, {
|
|
@@ -2759,22 +2767,22 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2759
2767
|
|
|
2760
2768
|
// default => set all to ohne
|
|
2761
2769
|
serie.forEach(function (element) {
|
|
2762
|
-
var _element$
|
|
2763
|
-
seriesWidth += (_element$
|
|
2764
|
-
boxPlannerGrid.getAllElementsDown(element.
|
|
2770
|
+
var _element$size$width;
|
|
2771
|
+
seriesWidth += (_element$size$width = element.size.width) !== null && _element$size$width !== void 0 ? _element$size$width : 0;
|
|
2772
|
+
boxPlannerGrid.getAllElementsDown(element.elementId).elements.forEach(function (e) {
|
|
2765
2773
|
return _this5.setOptionValue(e, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2766
2774
|
});
|
|
2767
|
-
_this5.setOptionValue(element.
|
|
2775
|
+
_this5.setOptionValue(element.elementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2768
2776
|
});
|
|
2769
2777
|
var firstUncoveredElement = serie[0];
|
|
2770
|
-
var
|
|
2778
|
+
var _loop = function _loop() {
|
|
2771
2779
|
var opv = seriesWidthToPlateOpv.findLast(function (stp) {
|
|
2772
2780
|
// is a clean element ending
|
|
2773
2781
|
var helperWidth = 0;
|
|
2774
2782
|
var isClean = false;
|
|
2775
2783
|
serie.forEach(function (element) {
|
|
2776
|
-
var _element$
|
|
2777
|
-
helperWidth += (_element$
|
|
2784
|
+
var _element$size$width2;
|
|
2785
|
+
helperWidth += (_element$size$width2 = element.size.width) !== null && _element$size$width2 !== void 0 ? _element$size$width2 : 0;
|
|
2778
2786
|
if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
|
|
2779
2787
|
});
|
|
2780
2788
|
if (stp.limit <= seriesWidth && isClean) return true;
|
|
@@ -2783,11 +2791,11 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2783
2791
|
if (!opv) return {
|
|
2784
2792
|
v: void 0
|
|
2785
2793
|
};
|
|
2786
|
-
_this5.setOptionValue(firstUncoveredElement.
|
|
2794
|
+
_this5.setOptionValue(firstUncoveredElement.elementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
|
|
2787
2795
|
var helperWidth = 0;
|
|
2788
2796
|
firstUncoveredElement = serie.find(function (e) {
|
|
2789
|
-
var _e$
|
|
2790
|
-
helperWidth += (_e$
|
|
2797
|
+
var _e$size$width;
|
|
2798
|
+
helperWidth += (_e$size$width = e.size.width) !== null && _e$size$width !== void 0 ? _e$size$width : 0;
|
|
2791
2799
|
if (helperWidth > opv.limit) return true;
|
|
2792
2800
|
return false;
|
|
2793
2801
|
});
|
|
@@ -2796,7 +2804,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2796
2804
|
},
|
|
2797
2805
|
_ret;
|
|
2798
2806
|
while (seriesWidth != 0) {
|
|
2799
|
-
_ret =
|
|
2807
|
+
_ret = _loop();
|
|
2800
2808
|
if (_ret) return _ret.v;
|
|
2801
2809
|
}
|
|
2802
2810
|
});
|
|
@@ -3123,7 +3131,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3123
3131
|
value: function () {
|
|
3124
3132
|
var _updateOptionLogicBoxPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(boxPlannerGrid, changedOPTs, targetElements, forceResetCornerElements) {
|
|
3125
3133
|
var _targetElements;
|
|
3126
|
-
var startTime, resultMessage, optionHandler, allElements, i, _iterator, _step, coverPlateRule,
|
|
3134
|
+
var startTime, resultMessage, optionHandler, allElements, i, j, _boxPlannerGrid$getPl2, elementId, _boxPlannerGrid$getPl3, _elementId, _iterator, _step, coverPlateRule, _boxPlannerGrid$getPl4, _elementId2, doChangeRetailArticleNumbers;
|
|
3127
3135
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
3128
3136
|
while (1) switch (_context.prev = _context.next) {
|
|
3129
3137
|
case 0:
|
|
@@ -3158,19 +3166,6 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3158
3166
|
this.correctBottom(boxPlannerGrid, optionHandler, false);
|
|
3159
3167
|
if (boxPlannerGrid.getPlannerHasActiveBackside()) this.correctBottom(boxPlannerGrid, optionHandler, true);
|
|
3160
3168
|
this.correctSeries(boxPlannerGrid, optionHandler);
|
|
3161
|
-
if (this.constructionRules.coverPlateRule) {
|
|
3162
|
-
_iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
|
|
3163
|
-
try {
|
|
3164
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3165
|
-
coverPlateRule = _step.value;
|
|
3166
|
-
this.correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler);
|
|
3167
|
-
}
|
|
3168
|
-
} catch (err) {
|
|
3169
|
-
_iterator.e(err);
|
|
3170
|
-
} finally {
|
|
3171
|
-
_iterator.f();
|
|
3172
|
-
}
|
|
3173
|
-
}
|
|
3174
3169
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
3175
3170
|
for (j = 0; j < boxPlannerGrid.getRowCount(i, false); j++) {
|
|
3176
3171
|
this.correctSimpleOpt(i, j, boxPlannerGrid, optionHandler, false);
|
|
@@ -3183,39 +3178,126 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3183
3178
|
}
|
|
3184
3179
|
}
|
|
3185
3180
|
}
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3181
|
+
i = 0;
|
|
3182
|
+
case 17:
|
|
3183
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3184
|
+
_context.next = 31;
|
|
3185
|
+
break;
|
|
3191
3186
|
}
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3187
|
+
j = 0;
|
|
3188
|
+
case 19:
|
|
3189
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3190
|
+
_context.next = 28;
|
|
3191
|
+
break;
|
|
3192
|
+
}
|
|
3193
|
+
elementId = (_boxPlannerGrid$getPl2 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl2 === void 0 ? void 0 : _boxPlannerGrid$getPl2.ElementId;
|
|
3194
|
+
if (elementId) {
|
|
3195
|
+
_context.next = 23;
|
|
3196
|
+
break;
|
|
3199
3197
|
}
|
|
3198
|
+
return _context.abrupt("continue", 25);
|
|
3199
|
+
case 23:
|
|
3200
|
+
this.correctForceOptOfElement(elementId, boxPlannerGrid, optionHandler, false);
|
|
3201
|
+
this.correctNeighborCustomOLTs(elementId, boxPlannerGrid, optionHandler);
|
|
3202
|
+
case 25:
|
|
3203
|
+
j++;
|
|
3204
|
+
_context.next = 19;
|
|
3205
|
+
break;
|
|
3206
|
+
case 28:
|
|
3207
|
+
i++;
|
|
3208
|
+
_context.next = 17;
|
|
3209
|
+
break;
|
|
3210
|
+
case 31:
|
|
3211
|
+
if (!boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
3212
|
+
_context.next = 47;
|
|
3213
|
+
break;
|
|
3214
|
+
}
|
|
3215
|
+
i = boxPlannerGrid.getColumnCount() - 1;
|
|
3216
|
+
case 33:
|
|
3217
|
+
if (!(i >= 0)) {
|
|
3218
|
+
_context.next = 47;
|
|
3219
|
+
break;
|
|
3220
|
+
}
|
|
3221
|
+
j = 0;
|
|
3222
|
+
case 35:
|
|
3223
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3224
|
+
_context.next = 44;
|
|
3225
|
+
break;
|
|
3226
|
+
}
|
|
3227
|
+
_elementId = (_boxPlannerGrid$getPl3 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl3 === void 0 ? void 0 : _boxPlannerGrid$getPl3.ElementId;
|
|
3228
|
+
if (_elementId) {
|
|
3229
|
+
_context.next = 39;
|
|
3230
|
+
break;
|
|
3231
|
+
}
|
|
3232
|
+
return _context.abrupt("continue", 41);
|
|
3233
|
+
case 39:
|
|
3234
|
+
this.correctForceOptOfElement(_elementId, boxPlannerGrid, optionHandler, true);
|
|
3235
|
+
this.correctNeighborCustomOLTs(_elementId, boxPlannerGrid, optionHandler);
|
|
3236
|
+
case 41:
|
|
3237
|
+
j++;
|
|
3238
|
+
_context.next = 35;
|
|
3239
|
+
break;
|
|
3240
|
+
case 44:
|
|
3241
|
+
i--;
|
|
3242
|
+
_context.next = 33;
|
|
3243
|
+
break;
|
|
3244
|
+
case 47:
|
|
3200
3245
|
this.correctFoot(boxPlannerGrid, optionHandler);
|
|
3201
3246
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3202
|
-
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3247
|
+
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs);
|
|
3203
3248
|
this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
|
|
3204
3249
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3205
3250
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3251
|
+
if (this.constructionRules.coverPlateRule) {
|
|
3252
|
+
_iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
|
|
3253
|
+
try {
|
|
3254
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3255
|
+
coverPlateRule = _step.value;
|
|
3256
|
+
this.correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler);
|
|
3257
|
+
}
|
|
3258
|
+
} catch (err) {
|
|
3259
|
+
_iterator.e(err);
|
|
3260
|
+
} finally {
|
|
3261
|
+
_iterator.f();
|
|
3209
3262
|
}
|
|
3210
3263
|
}
|
|
3264
|
+
i = 0;
|
|
3265
|
+
case 55:
|
|
3266
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3267
|
+
_context.next = 68;
|
|
3268
|
+
break;
|
|
3269
|
+
}
|
|
3270
|
+
j = 0;
|
|
3271
|
+
case 57:
|
|
3272
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3273
|
+
_context.next = 65;
|
|
3274
|
+
break;
|
|
3275
|
+
}
|
|
3276
|
+
_elementId2 = (_boxPlannerGrid$getPl4 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl4 === void 0 ? void 0 : _boxPlannerGrid$getPl4.getElementId();
|
|
3277
|
+
if (_elementId2) {
|
|
3278
|
+
_context.next = 61;
|
|
3279
|
+
break;
|
|
3280
|
+
}
|
|
3281
|
+
return _context.abrupt("continue", 62);
|
|
3282
|
+
case 61:
|
|
3283
|
+
this.correctBack(boxPlannerGrid, optionHandler, _elementId2);
|
|
3284
|
+
case 62:
|
|
3285
|
+
j++;
|
|
3286
|
+
_context.next = 57;
|
|
3287
|
+
break;
|
|
3288
|
+
case 65:
|
|
3289
|
+
i++;
|
|
3290
|
+
_context.next = 55;
|
|
3291
|
+
break;
|
|
3292
|
+
case 68:
|
|
3211
3293
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3212
|
-
_context.next =
|
|
3294
|
+
_context.next = 71;
|
|
3213
3295
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3214
|
-
case
|
|
3296
|
+
case 71:
|
|
3215
3297
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3216
3298
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3217
3299
|
return _context.abrupt("return", resultMessage);
|
|
3218
|
-
case
|
|
3300
|
+
case 74:
|
|
3219
3301
|
case "end":
|
|
3220
3302
|
return _context.stop();
|
|
3221
3303
|
}
|
|
@@ -3343,7 +3425,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3343
3425
|
var cells = [];
|
|
3344
3426
|
for (var i = 0; i < colCount; i++) {
|
|
3345
3427
|
for (var j = 0; j < rowCount; j++) {
|
|
3346
|
-
var
|
|
3428
|
+
var _cell2 = {
|
|
3347
3429
|
plannedElement: {
|
|
3348
3430
|
basketId: newElement.getBasketId(),
|
|
3349
3431
|
elementId: newElement.getElementId(),
|
|
@@ -3362,7 +3444,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3362
3444
|
},
|
|
3363
3445
|
index: new Vector2(startColIndex + i, startRowIndex + j)
|
|
3364
3446
|
};
|
|
3365
|
-
cells.push(
|
|
3447
|
+
cells.push(_cell2);
|
|
3366
3448
|
}
|
|
3367
3449
|
}
|
|
3368
3450
|
return cells;
|
|
@@ -3651,10 +3733,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3651
3733
|
}
|
|
3652
3734
|
for (var i = 0; i < backGrid.length; i++) {
|
|
3653
3735
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
3654
|
-
var
|
|
3655
|
-
var
|
|
3656
|
-
var _elementId = (
|
|
3657
|
-
if (
|
|
3736
|
+
var _cell3$plannedElement;
|
|
3737
|
+
var _cell3 = backGrid[i][j];
|
|
3738
|
+
var _elementId = (_cell3$plannedElement = _cell3.plannedElement) === null || _cell3$plannedElement === void 0 ? void 0 : _cell3$plannedElement.elementId;
|
|
3739
|
+
if (_cell3 && _elementId && allCheckedElementIds.indexOf(_elementId) == -1) {
|
|
3658
3740
|
var _element = this.getElementById(_elementId);
|
|
3659
3741
|
allCheckedElementIds.push(_elementId);
|
|
3660
3742
|
returnElements.push(_element);
|
|
@@ -3918,10 +4000,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3918
4000
|
}
|
|
3919
4001
|
} else {
|
|
3920
4002
|
for (var i = curGrid[index].length - 1; i >= 0; i--) {
|
|
3921
|
-
var
|
|
3922
|
-
var
|
|
3923
|
-
var _elementId4 =
|
|
3924
|
-
if (
|
|
4003
|
+
var _cell4$plannedElement;
|
|
4004
|
+
var _cell4 = curGrid[index][i];
|
|
4005
|
+
var _elementId4 = _cell4 === null || _cell4 === void 0 || (_cell4$plannedElement = _cell4.plannedElement) === null || _cell4$plannedElement === void 0 ? void 0 : _cell4$plannedElement.elementId;
|
|
4006
|
+
if (_cell4 && _elementId4 && allElementIds.indexOf(_elementId4) == -1) {
|
|
3925
4007
|
allElementIds.push(_elementId4);
|
|
3926
4008
|
allElements.push(this.plannerElements.get(_elementId4));
|
|
3927
4009
|
}
|
|
@@ -4010,31 +4092,64 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4010
4092
|
}, {
|
|
4011
4093
|
key: "getNeighborElements",
|
|
4012
4094
|
value: function getNeighborElements(elementId, dir) {
|
|
4013
|
-
var
|
|
4095
|
+
var _this = this,
|
|
4096
|
+
_plannedElement3,
|
|
4097
|
+
_curGrid$area$fromX,
|
|
4098
|
+
_downNeighbour$planne;
|
|
4099
|
+
var clean = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
4014
4100
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4015
4101
|
var curGrid = res.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4016
4102
|
var result = [];
|
|
4017
4103
|
var plannedElement = res.cells[0].plannedElement;
|
|
4018
4104
|
if (!plannedElement) return result;
|
|
4105
|
+
var currentRow = curGrid[plannedElement.area.fromX];
|
|
4106
|
+
var startHeight = 0;
|
|
4107
|
+
var endHeight = 0;
|
|
4108
|
+
currentRow.forEach(function (cell) {
|
|
4109
|
+
if (cell.index.y < res.startRowIndex) startHeight = Math.round((startHeight + cell.plannedElement.size.height) * 1000);
|
|
4110
|
+
if (cell.index.y < res.endRowIndex) endHeight = Math.round((endHeight + cell.plannedElement.size.height) * 1000);
|
|
4111
|
+
});
|
|
4019
4112
|
switch (dir) {
|
|
4020
4113
|
case 'RIGHT':
|
|
4021
4114
|
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4022
|
-
|
|
4023
|
-
var
|
|
4024
|
-
if (
|
|
4115
|
+
|
|
4116
|
+
var neighbourRow = curGrid[plannedElement.area.toX];
|
|
4117
|
+
if (!neighbourRow) break;
|
|
4118
|
+
var neighbourSize = 0;
|
|
4119
|
+
var neighbours = neighbourRow.filter(function (cell) {
|
|
4120
|
+
if (clean && neighbourSize == startHeight) return true;else if (!clean && neighbourSize > endHeight) return true;
|
|
4121
|
+
neighbourSize = Math.round((neighbourSize + cell.plannedElement.size.height) * 1000);
|
|
4122
|
+
return false;
|
|
4123
|
+
});
|
|
4124
|
+
neighbours.forEach(function (n) {
|
|
4125
|
+
return !result.find(function (r) {
|
|
4126
|
+
return r.ElementId == n.plannedElement.elementId;
|
|
4127
|
+
}) && result.push(_this.plannerElements.get(n.plannedElement.elementId));
|
|
4128
|
+
});
|
|
4025
4129
|
break;
|
|
4026
4130
|
case 'LEFT':
|
|
4027
|
-
var
|
|
4028
|
-
|
|
4029
|
-
|
|
4131
|
+
var leftNeighbourRow = curGrid[plannedElement.area.fromX - 1];
|
|
4132
|
+
if (!leftNeighbourRow) break;
|
|
4133
|
+
var leftNeighbourSize = 0;
|
|
4134
|
+
var leftStartElement = leftNeighbourRow.find(function (cell) {
|
|
4135
|
+
if (leftNeighbourSize == startHeight) return true;
|
|
4136
|
+
leftNeighbourSize = Math.round((leftNeighbourSize + cell.plannedElement.size.height) * 1000);
|
|
4137
|
+
return false;
|
|
4138
|
+
});
|
|
4139
|
+
if (leftStartElement) result.push(this.plannerElements.get(leftStartElement.plannedElement.elementId));
|
|
4030
4140
|
break;
|
|
4031
4141
|
case 'TOP':
|
|
4032
|
-
var topNeighbour =
|
|
4033
|
-
var
|
|
4142
|
+
var topNeighbour = undefined;
|
|
4143
|
+
for (var y = plannedElement.area.toY; y < curGrid[plannedElement.area.fromX].length; y++) {
|
|
4144
|
+
topNeighbour = curGrid[plannedElement.area.fromX][y];
|
|
4145
|
+
break;
|
|
4146
|
+
}
|
|
4147
|
+
if (!topNeighbour) break;
|
|
4148
|
+
var tElementId = (_plannedElement3 = topNeighbour.plannedElement) === null || _plannedElement3 === void 0 ? void 0 : _plannedElement3.elementId;
|
|
4034
4149
|
if (tElementId) result.push(this.plannerElements.get(tElementId));
|
|
4035
4150
|
break;
|
|
4036
4151
|
case 'DOWN':
|
|
4037
|
-
var downNeighbour = (_curGrid$area$
|
|
4152
|
+
var downNeighbour = (_curGrid$area$fromX = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX === void 0 ? void 0 : _curGrid$area$fromX[plannedElement.area.fromY - 1];
|
|
4038
4153
|
var dElementId = downNeighbour === null || downNeighbour === void 0 || (_downNeighbour$planne = downNeighbour.plannedElement) === null || _downNeighbour$planne === void 0 ? void 0 : _downNeighbour$planne.elementId;
|
|
4039
4154
|
if (dElementId) result.push(this.plannerElements.get(dElementId));
|
|
4040
4155
|
break;
|
|
@@ -4104,9 +4219,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4104
4219
|
var curHeight = 0;
|
|
4105
4220
|
var row = frontGrid[x];
|
|
4106
4221
|
for (var y = 0; y < row.length;) {
|
|
4107
|
-
var
|
|
4222
|
+
var _cell5, _cell$plannedElement$, _cell$plannedElement8;
|
|
4108
4223
|
var cell = row[y];
|
|
4109
|
-
var elementId = (
|
|
4224
|
+
var elementId = (_cell5 = cell) === null || _cell5 === void 0 || (_cell5 = _cell5.plannedElement) === null || _cell5 === void 0 ? void 0 : _cell5.elementId;
|
|
4110
4225
|
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4111
4226
|
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4112
4227
|
if (x == 0 && y == 0) depth = this.plannerElements.get(elementId).getDepth();
|
|
@@ -4136,9 +4251,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4136
4251
|
var onBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4137
4252
|
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4138
4253
|
var result = [];
|
|
4254
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4139
4255
|
var lastHeight = -1;
|
|
4140
|
-
for (var x = 0; x <
|
|
4141
|
-
var
|
|
4256
|
+
for (var x = 0; x < grid.length;) {
|
|
4257
|
+
var _grid$new_x;
|
|
4258
|
+
var row = grid[x];
|
|
4142
4259
|
var height = 0;
|
|
4143
4260
|
for (var y = 0; y < row.length;) {
|
|
4144
4261
|
var element = row[y].plannedElement;
|
|
@@ -4147,12 +4264,20 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4147
4264
|
}
|
|
4148
4265
|
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4149
4266
|
if (!result[result.length - 1]) result.push([]);
|
|
4150
|
-
result[result.length - 1].push(
|
|
4151
|
-
} else {
|
|
4152
|
-
result.push([
|
|
4267
|
+
result[result.length - 1].push(grid[x][row.length - 1].plannedElement);
|
|
4268
|
+
} else if (grid[x][row.length - 1].plannedElement.area.fromX == x) {
|
|
4269
|
+
result.push([grid[x][row.length - 1].plannedElement]);
|
|
4153
4270
|
}
|
|
4154
4271
|
lastHeight = height;
|
|
4155
|
-
|
|
4272
|
+
var new_x = row[row.length - 1].plannedElement.area.toX;
|
|
4273
|
+
var newHeight = (_grid$new_x = grid[new_x]) === null || _grid$new_x === void 0 ? void 0 : _grid$new_x.length;
|
|
4274
|
+
|
|
4275
|
+
// if the next row is fx. lower and doesn't have a clean cut here we need to skip more
|
|
4276
|
+
if (newHeight && newHeight != row.length) {
|
|
4277
|
+
var cell = grid[new_x][newHeight - 1];
|
|
4278
|
+
if (cell.index.x != cell.plannedElement.area.fromX) new_x = cell.plannedElement.area.toX;
|
|
4279
|
+
}
|
|
4280
|
+
x = new_x;
|
|
4156
4281
|
}
|
|
4157
4282
|
return result;
|
|
4158
4283
|
}
|
|
@@ -4198,18 +4323,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4198
4323
|
}, {
|
|
4199
4324
|
key: "getAllElementsToFillUp",
|
|
4200
4325
|
value: function getAllElementsToFillUp(elementId, dir) {
|
|
4201
|
-
var
|
|
4326
|
+
var _this2 = this;
|
|
4202
4327
|
var curPos = this.getCellsInGridByElementId(elementId);
|
|
4203
4328
|
|
|
4204
4329
|
//columns and rows are swapped don't ask me why
|
|
4205
4330
|
var element = curPos.cells[0].plannedElement;
|
|
4206
4331
|
var index = {
|
|
4207
|
-
x: curPos.startColIndex,
|
|
4332
|
+
x: dir == 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1,
|
|
4208
4333
|
y: curPos.startRowIndex
|
|
4209
4334
|
};
|
|
4210
4335
|
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4211
4336
|
var plannerIdsToFill = [];
|
|
4212
4337
|
var existingPlannerIds = [];
|
|
4338
|
+
var lastFreeSpace = 0;
|
|
4213
4339
|
var _loop = function _loop(_y) {
|
|
4214
4340
|
var _curGrid$index$x$_y;
|
|
4215
4341
|
var elementToCopy = (_curGrid$index$x$_y = curGrid[index.x][_y]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
@@ -4219,13 +4345,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4219
4345
|
} // break
|
|
4220
4346
|
var length = element.area.toX - element.area.fromX;
|
|
4221
4347
|
var d = dir == 'RIGHT' ? +length : -length;
|
|
4222
|
-
var isPlanned = curGrid.
|
|
4223
|
-
|
|
4224
|
-
|
|
4348
|
+
var isPlanned = curGrid.find(function (x, idx) {
|
|
4349
|
+
return idx == element.area.toX + d - 1 && x[x.length - 1].index.y >= elementToCopy.area.fromY;
|
|
4350
|
+
});
|
|
4351
|
+
var neighbours = _this2.getNeighborElements(elementToCopy.elementId, dir);
|
|
4352
|
+
var freeSpace = 0;
|
|
4353
|
+
neighbours.forEach(function (n) {
|
|
4354
|
+
if (_this2.getNeighborElements(n.ElementId, "TOP").length == 0) freeSpace += n.Width;
|
|
4225
4355
|
});
|
|
4226
|
-
|
|
4227
|
-
if (
|
|
4356
|
+
if (neighbours.length == 0 && lastFreeSpace >= elementToCopy.size.width && !isPlanned && elementToCopy) plannerIdsToFill.push(elementToCopy.elementId);
|
|
4357
|
+
if (neighbours.length > 0 && freeSpace > element.size.width) plannerIdsToFill.push(neighbours[neighbours.length - 1].ElementId);else if (elementToCopy) existingPlannerIds.push(elementToCopy.elementId);
|
|
4228
4358
|
_y = elementToCopy.area.toY;
|
|
4359
|
+
lastFreeSpace = freeSpace;
|
|
4229
4360
|
y = _y;
|
|
4230
4361
|
};
|
|
4231
4362
|
for (var y = 0; y <= index.y;) {
|
|
@@ -4406,13 +4537,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4406
4537
|
var elementData = this.plannerElements.get(elementId);
|
|
4407
4538
|
var deletedCells = this.getCellsInGridByElementId(elementId);
|
|
4408
4539
|
if (!elementData) return;
|
|
4409
|
-
this.deleteElement(elementId,
|
|
4540
|
+
this.deleteElement(elementId, 'STD');
|
|
4410
4541
|
var curGrid = this.generalPlanningState.grids[0].matrix;
|
|
4411
4542
|
var cells = undefined;
|
|
4412
|
-
if (absoluteIndex.x < 0
|
|
4413
|
-
) {
|
|
4543
|
+
if (absoluteIndex.x < 0 && absoluteIndex.y == 0) {
|
|
4414
4544
|
var dir = deletedCells.endColIndex >= absoluteIndex.x;
|
|
4415
|
-
if (deletedCells.startColIndex
|
|
4545
|
+
if (deletedCells.startColIndex <= absoluteIndex.x) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4416
4546
|
if (absoluteIndex.x < 0) absoluteIndex.x = 0;
|
|
4417
4547
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4418
4548
|
var movedGrid = [];
|
|
@@ -4421,9 +4551,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4421
4551
|
_.forEach(function (_, y) {
|
|
4422
4552
|
var newX = x;
|
|
4423
4553
|
var shiftX = 0;
|
|
4424
|
-
if (y == absoluteIndex.y) {
|
|
4425
|
-
newX += dir ? element.area.toX - element.area.fromX :
|
|
4426
|
-
shiftX = dir ? element.area.toX - element.area.fromX :
|
|
4554
|
+
if (y == absoluteIndex.y || absoluteIndex.y == 0) {
|
|
4555
|
+
newX += dir ? element.area.toX - element.area.fromX : 0;
|
|
4556
|
+
shiftX = dir ? element.area.toX - element.area.fromX : 0;
|
|
4427
4557
|
}
|
|
4428
4558
|
if (!movedGrid[newX]) movedGrid[newX] = [];
|
|
4429
4559
|
var cellElem = curGrid[x][y].plannedElement;
|
|
@@ -4446,7 +4576,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4446
4576
|
});
|
|
4447
4577
|
curGrid = movedGrid;
|
|
4448
4578
|
} else {
|
|
4449
|
-
if (absoluteIndex.x > deletedCells.startColIndex &&
|
|
4579
|
+
if (absoluteIndex.x > deletedCells.startColIndex && deletedCells.startRowIndex == 0) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4450
4580
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4451
4581
|
}
|
|
4452
4582
|
for (var i = 0; i < cells.length; i++) {
|
|
@@ -4508,75 +4638,127 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4508
4638
|
}, {
|
|
4509
4639
|
key: "updateGridElementDimensions",
|
|
4510
4640
|
value: function updateGridElementDimensions(elementId, elementData) {
|
|
4511
|
-
var
|
|
4512
|
-
if (!elementData) return;
|
|
4641
|
+
var _this3 = this;
|
|
4642
|
+
if (!elementData) return false;
|
|
4643
|
+
var backup = structuredClone(this.generalPlanningState);
|
|
4513
4644
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4514
4645
|
var scpe = this.gridSetupParams.forceSingleCellPerElement;
|
|
4646
|
+
var origin = {
|
|
4647
|
+
x: res.cells[0].plannedElement.area.toX,
|
|
4648
|
+
y: res.cells[0].plannedElement.area.toY
|
|
4649
|
+
};
|
|
4650
|
+
var diff = {
|
|
4651
|
+
x: 0,
|
|
4652
|
+
y: 0
|
|
4653
|
+
};
|
|
4515
4654
|
res.cells.forEach(function (cell) {
|
|
4516
4655
|
if (!cell.plannedElement) return;
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4656
|
+
var el = cell.plannedElement;
|
|
4657
|
+
el.size.width = elementData.width;
|
|
4658
|
+
el.size.height = elementData.height;
|
|
4659
|
+
el.area = {
|
|
4660
|
+
fromX: el.area.fromX,
|
|
4661
|
+
toX: !scpe ? Math.round(el.area.fromX + elementData.width / _this3.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
4662
|
+
fromY: el.area.fromY,
|
|
4663
|
+
toY: !scpe ? Math.round(el.area.fromY + elementData.height / _this3.gridSetupParams.fixCellRasterHeight) : cell.index.y + 1
|
|
4524
4664
|
};
|
|
4665
|
+
diff.y = cell.plannedElement.area.toY - origin.y;
|
|
4666
|
+
diff.x = cell.plannedElement.area.toX - origin.x;
|
|
4525
4667
|
});
|
|
4526
|
-
|
|
4668
|
+
var cell = res.cells[0];
|
|
4669
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4670
|
+
// if the element got bigger we need to move all the above elements up
|
|
4671
|
+
// if it got wider we need to move all the elements to the right
|
|
4672
|
+
if (diff.y != 0) {
|
|
4673
|
+
for (var x = cell.plannedElement.area.fromX; x < cell.plannedElement.area.toX; x++) {
|
|
4674
|
+
var row = grid[x];
|
|
4675
|
+
if (!row) continue;
|
|
4676
|
+
for (var y = origin.y; y < row.length; y++) {
|
|
4677
|
+
var _cell = row[y];
|
|
4678
|
+
if (_cell.index.y != y || _cell.plannedElement.elementId == cell.plannedElement.elementId) continue; //already corrected
|
|
4679
|
+
_cell.index.y += diff.y;
|
|
4680
|
+
_cell.plannedElement.area.fromY += diff.y;
|
|
4681
|
+
_cell.plannedElement.area.toY += diff.y;
|
|
4682
|
+
}
|
|
4683
|
+
}
|
|
4684
|
+
} else if (diff.x != 0) {
|
|
4685
|
+
for (var _x3 = cell.plannedElement.area.fromX; _x3 < grid.length; _x3++) {
|
|
4686
|
+
for (var _y2 = cell.plannedElement.area.fromY; _y2 < cell.plannedElement.area.toY; _y2++) {
|
|
4687
|
+
var _cell6 = grid[_x3][_y2];
|
|
4688
|
+
if (!_cell6 || _cell6.plannedElement.elementId == elementId) continue; //already corrected
|
|
4689
|
+
_cell6.index.x += diff.x;
|
|
4690
|
+
_cell6.plannedElement.area.fromX += diff.x;
|
|
4691
|
+
_cell6.plannedElement.area.toX += diff.x;
|
|
4692
|
+
}
|
|
4693
|
+
}
|
|
4694
|
+
}
|
|
4695
|
+
|
|
4696
|
+
// after indices/areas are corrected rebuild the grid
|
|
4697
|
+
if (scpe) return false;
|
|
4698
|
+
var changedElementData = res.cells[0].plannedElement;
|
|
4527
4699
|
var newGrid = new Array();
|
|
4528
4700
|
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
var
|
|
4539
|
-
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
|
|
4701
|
+
var _loop2 = function _loop2() {
|
|
4702
|
+
var cell = plannedCells[idx];
|
|
4703
|
+
var area = cell.plannedElement.area;
|
|
4704
|
+
if (newGrid.find(function (x) {
|
|
4705
|
+
return x.find(function (y) {
|
|
4706
|
+
var _y$plannedElement3, _cell$plannedElement9;
|
|
4707
|
+
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);
|
|
4708
|
+
});
|
|
4709
|
+
})) return 0; // continue
|
|
4710
|
+
for (var _x4 = area.fromX; _x4 < area.toX; _x4++) {
|
|
4711
|
+
for (var _y3 = area.fromY; _y3 < area.toY; _y3++) {
|
|
4712
|
+
var _support$plannedEleme;
|
|
4713
|
+
if (!newGrid[_x4] && area.fromY == 0) newGrid[_x4] = [];
|
|
4714
|
+
|
|
4715
|
+
// we have a so called overhanging element not so nice, let's correct:
|
|
4716
|
+
var support = plannedCells.find(function (c) {
|
|
4717
|
+
return c.plannedElement.area.toX >= cell.plannedElement.area.toX && c.plannedElement.area.toY == cell.index.y;
|
|
4718
|
+
});
|
|
4719
|
+
if (!support && !newGrid[_x4]) {
|
|
4720
|
+
_this3.generalPlanningState = backup;
|
|
4721
|
+
return {
|
|
4722
|
+
v: true
|
|
4551
4723
|
};
|
|
4552
|
-
return 0; // continue
|
|
4553
4724
|
}
|
|
4554
4725
|
|
|
4555
|
-
//
|
|
4556
|
-
|
|
4557
|
-
|
|
4726
|
+
// the element below got smaller
|
|
4727
|
+
if (!newGrid[_x4] && (!support || ((_support$plannedEleme = support.plannedElement) === null || _support$plannedEleme === void 0 ? void 0 : _support$plannedEleme.elementId) == changedElementData.elementId)) {
|
|
4728
|
+
_this3.generalPlanningState = backup;
|
|
4729
|
+
return {
|
|
4730
|
+
v: true
|
|
4731
|
+
};
|
|
4732
|
+
} else if (!newGrid[_x4]) newGrid[_x4] = [];
|
|
4733
|
+
// when the element above starts early and goes over multiple ones
|
|
4734
|
+
|
|
4735
|
+
// regular case
|
|
4736
|
+
newGrid[_x4][_y3] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4558
4737
|
index: {
|
|
4559
|
-
x:
|
|
4560
|
-
y:
|
|
4738
|
+
x: _x4,
|
|
4739
|
+
y: _y3
|
|
4561
4740
|
},
|
|
4562
4741
|
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4563
4742
|
area: {
|
|
4564
|
-
fromX:
|
|
4565
|
-
toX:
|
|
4566
|
-
fromY:
|
|
4567
|
-
toY:
|
|
4743
|
+
fromX: cell.plannedElement.area.fromX,
|
|
4744
|
+
toX: cell.plannedElement.area.fromX + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4745
|
+
fromY: cell.plannedElement.area.fromY,
|
|
4746
|
+
toY: cell.plannedElement.area.fromY + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4568
4747
|
}
|
|
4569
4748
|
})
|
|
4570
4749
|
});
|
|
4571
|
-
}
|
|
4572
|
-
_ret;
|
|
4573
|
-
for (var y = 0; y < area.toY; y++) {
|
|
4574
|
-
_ret = _loop2(y);
|
|
4575
|
-
if (_ret === 0) continue;
|
|
4750
|
+
}
|
|
4576
4751
|
}
|
|
4577
|
-
}
|
|
4578
|
-
|
|
4752
|
+
},
|
|
4753
|
+
_ret;
|
|
4754
|
+
for (var idx = 0; idx < plannedCells.length; idx++) {
|
|
4755
|
+
_ret = _loop2();
|
|
4756
|
+
if (_ret === 0) continue;
|
|
4757
|
+
if (_ret) return _ret.v;
|
|
4758
|
+
}
|
|
4759
|
+
console.log('thoula 2 => ', newGrid);
|
|
4579
4760
|
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4761
|
+
return false;
|
|
4580
4762
|
}
|
|
4581
4763
|
|
|
4582
4764
|
/**
|
|
@@ -4617,9 +4799,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4617
4799
|
var topNeighbors = this.getNeighborElements(elementId, 'TOP');
|
|
4618
4800
|
var rightNeighbors = this.getNeighborElements(elementId, 'RIGHT');
|
|
4619
4801
|
var leftNeighbors = this.getNeighborElements(elementId, 'LEFT');
|
|
4802
|
+
var downNeighbors = this.getNeighborElements(elementId, 'DOWN');
|
|
4620
4803
|
if (topNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4621
4804
|
if (leftNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4622
4805
|
if (rightNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4806
|
+
if (rightNeighbors.length == 0 && leftNeighbors.length == 0 && downNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVU', [downNeighbors[0]]);
|
|
4623
4807
|
element.PosNr = posNr;
|
|
4624
4808
|
posNr++;
|
|
4625
4809
|
}
|
|
@@ -4627,9 +4811,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4627
4811
|
}
|
|
4628
4812
|
for (var i = 0; i < backGrid.length; i++) {
|
|
4629
4813
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4630
|
-
var
|
|
4631
|
-
var
|
|
4632
|
-
var _elementId6 =
|
|
4814
|
+
var _cell7$plannedElement;
|
|
4815
|
+
var _cell7 = backGrid[i][j];
|
|
4816
|
+
var _elementId6 = _cell7 === null || _cell7 === void 0 || (_cell7$plannedElement = _cell7.plannedElement) === null || _cell7$plannedElement === void 0 ? void 0 : _cell7$plannedElement.elementId;
|
|
4633
4817
|
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4634
4818
|
var _element2 = this.plannerElements.get(_elementId6);
|
|
4635
4819
|
allCheckedElementIds.push(_elementId6);
|
|
@@ -4967,9 +5151,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4967
5151
|
var targetRowIndex = endRowIndex + 1;
|
|
4968
5152
|
var _copyPossible = false;
|
|
4969
5153
|
// Iterate through columns within the element's width
|
|
4970
|
-
for (var
|
|
4971
|
-
if (isValidCell(
|
|
4972
|
-
copyStartColIndex =
|
|
5154
|
+
for (var _x5 = endColIndex; _x5 >= startColIndex; _x5--) {
|
|
5155
|
+
if (isValidCell(_x5, targetRowIndex)) {
|
|
5156
|
+
copyStartColIndex = _x5;
|
|
4973
5157
|
_copyPossible = true;
|
|
4974
5158
|
}
|
|
4975
5159
|
}
|
|
@@ -4986,19 +5170,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4986
5170
|
var _targetColIndex = endColIndex;
|
|
4987
5171
|
var _copyPossible2 = false;
|
|
4988
5172
|
// Iterate through rows within the element's height
|
|
4989
|
-
for (var
|
|
4990
|
-
if (isValidCell(_targetColIndex,
|
|
4991
|
-
copyStartRowIndex =
|
|
5173
|
+
for (var _y4 = startRowIndex; _y4 <= endRowIndex; _y4++) {
|
|
5174
|
+
if (isValidCell(_targetColIndex, _y4)) {
|
|
5175
|
+
copyStartRowIndex = _y4;
|
|
4992
5176
|
_copyPossible2 = true;
|
|
4993
5177
|
break;
|
|
4994
5178
|
}
|
|
4995
5179
|
}
|
|
4996
5180
|
if (!_copyPossible2) return undefined;
|
|
4997
5181
|
_copyPossible2 = false;
|
|
4998
|
-
for (var
|
|
4999
|
-
if (isValidCell(
|
|
5182
|
+
for (var _x6 = endColIndex; _x6 <= endColIndex + elementCells.colCount; _x6++) {
|
|
5183
|
+
if (isValidCell(_x6, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x6, copyStartRowIndex - 1))) {
|
|
5000
5184
|
//check also for overhang
|
|
5001
|
-
copyEndColIndex =
|
|
5185
|
+
copyEndColIndex = _x6;
|
|
5002
5186
|
_copyPossible2 = true;
|
|
5003
5187
|
} else {
|
|
5004
5188
|
break; //when you find one situation where it is not valid skip outside.
|
|
@@ -5038,16 +5222,16 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5038
5222
|
} else {
|
|
5039
5223
|
var distToOriginX = 0;
|
|
5040
5224
|
for (var i = 0; i < cellsStartColIndex; i++) {
|
|
5041
|
-
var _plannedElement$size$3,
|
|
5042
|
-
distToOriginX += (_plannedElement$size$3 = (
|
|
5225
|
+
var _plannedElement$size$3, _plannedElement4;
|
|
5226
|
+
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;
|
|
5043
5227
|
}
|
|
5044
5228
|
if (cellsStartColIndex < 0) {
|
|
5045
5229
|
distToOriginX = -element.getWidth();
|
|
5046
5230
|
}
|
|
5047
5231
|
var distToOriginY = 0;
|
|
5048
5232
|
for (var i = 0; i < cellsStartRowIndex; i++) {
|
|
5049
|
-
var _plannedElement$size$4,
|
|
5050
|
-
distToOriginY += (_plannedElement$size$4 = (
|
|
5233
|
+
var _plannedElement$size$4, _plannedElement5;
|
|
5234
|
+
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;
|
|
5051
5235
|
}
|
|
5052
5236
|
elementLocation.startIndexWorldPos = new Vector2(distToOriginX, distToOriginY);
|
|
5053
5237
|
}
|
|
@@ -5094,7 +5278,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5094
5278
|
var _ele2, _ele3;
|
|
5095
5279
|
var movables = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5096
5280
|
var selectedElementId = arguments.length > 1 ? arguments[1] : undefined;
|
|
5097
|
-
if (!movables) return this.generalPlanningState;
|
|
5281
|
+
if (!movables || !selectedElementId) return this.generalPlanningState;
|
|
5098
5282
|
// fill to equal size
|
|
5099
5283
|
var matrix = this.generalPlanningState.grids[0].matrix;
|
|
5100
5284
|
var matrixWithMovables = [];
|
|
@@ -5141,6 +5325,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5141
5325
|
isSupport = !!matrix.find(function (x, idx) {
|
|
5142
5326
|
return idx >= ele.area.fromX && idx < ele.area.toX && matrix[idx].length > ele.area.toY;
|
|
5143
5327
|
}); // can't move if there is anything above these cells
|
|
5328
|
+
|
|
5329
|
+
// if it has left and right neighbour and is on the bottom
|
|
5330
|
+
if (ele.area.fromX == 0 && this.getNeighborElements(ele.elementId, 'LEFT').length > 0 && this.getNeighborElements(ele.elementId, 'RIGHT').length > 0) isSupport = true;
|
|
5144
5331
|
}
|
|
5145
5332
|
if (isSupport) return this.generalPlanningState;
|
|
5146
5333
|
for (var x = 0; x < maxWidth; x++) {
|
|
@@ -5161,7 +5348,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5161
5348
|
if (x >= from && x < to) return;
|
|
5162
5349
|
var row = matrixWithMovables[x];
|
|
5163
5350
|
var len = row.length;
|
|
5164
|
-
var _x = ele.fromX == 0 ? x : x - 1;
|
|
5351
|
+
var _x = ele.area.fromX == 0 ? x : x - 1;
|
|
5165
5352
|
row[len] = {
|
|
5166
5353
|
index: {
|
|
5167
5354
|
x: _x,
|
|
@@ -5174,7 +5361,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5174
5361
|
var len = matrixWithMovables.length;
|
|
5175
5362
|
if (((_ele2 = ele) === null || _ele2 === void 0 ? void 0 : _ele2.area.toX) != matrix.length) matrixWithMovables[len] = [{
|
|
5176
5363
|
index: {
|
|
5177
|
-
x: ele.fromX == 0 ? len : len - 1,
|
|
5364
|
+
x: ele.area.fromX == 0 ? len : len - 1,
|
|
5178
5365
|
y: 0
|
|
5179
5366
|
}
|
|
5180
5367
|
}];
|
|
@@ -5326,7 +5513,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5326
5513
|
key: "initPlanner",
|
|
5327
5514
|
value: function () {
|
|
5328
5515
|
var _initPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(setPlanData) {
|
|
5329
|
-
var planData, jsonElements, i, jsonElement, elementID, plannerElement, data, highesElemId, _jsonElement, params;
|
|
5516
|
+
var planData, jsonElements, i, jsonElement, elementID, plannerElement, constructionRules, _constructionRules$co, _constructionRules$co2, data, highesElemId, _jsonElement, params;
|
|
5330
5517
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5331
5518
|
while (1) switch (_context.prev = _context.next) {
|
|
5332
5519
|
case 0:
|
|
@@ -5356,7 +5543,20 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5356
5543
|
if (this.nextElementId < elementID + 1) this.nextElementId = elementID + 1;
|
|
5357
5544
|
this.set.setElementId(jsonElement.basketID, plannerElement.ElementId);
|
|
5358
5545
|
if (!this.constructionRulesHandler.getConstructionRulesLoaded()) {
|
|
5359
|
-
this.
|
|
5546
|
+
constructionRules = this.set.getConstructionRuleOfElementId(plannerElement.ElementId);
|
|
5547
|
+
if (constructionRules) {
|
|
5548
|
+
this.boxPlannerGrid.GridSetupParams = {
|
|
5549
|
+
fixCellRasterHeight: 19.2,
|
|
5550
|
+
fixCellRasterWidth: 19.2,
|
|
5551
|
+
forceFixCellRasterSize: (_constructionRules$co = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co !== void 0 ? _constructionRules$co : true,
|
|
5552
|
+
forceSingleCellPerElement: (_constructionRules$co2 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co2 !== void 0 ? _constructionRules$co2 : true,
|
|
5553
|
+
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5554
|
+
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5555
|
+
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
5556
|
+
maxGridRasterWidth: constructionRules.constructionRules.maxGridRasterWidth
|
|
5557
|
+
};
|
|
5558
|
+
}
|
|
5559
|
+
this.constructionRulesHandler.setConstructionRules(constructionRules);
|
|
5360
5560
|
}
|
|
5361
5561
|
data = this.set.getPlannerData(plannerElement.ElementId);
|
|
5362
5562
|
if (data) plannerElement.updatePlannerData(data);
|
|
@@ -5484,7 +5684,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5484
5684
|
key: "addPlannerElement",
|
|
5485
5685
|
value: (function () {
|
|
5486
5686
|
var _addPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(basketID, params) {
|
|
5487
|
-
var plannerElement, data, constructionRules, _constructionRules$
|
|
5687
|
+
var plannerElement, data, constructionRules, _constructionRules$co3, _constructionRules$co4;
|
|
5488
5688
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
5489
5689
|
while (1) switch (_context2.prev = _context2.next) {
|
|
5490
5690
|
case 0:
|
|
@@ -5508,8 +5708,8 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5508
5708
|
this.boxPlannerGrid.GridSetupParams = {
|
|
5509
5709
|
fixCellRasterHeight: 19.2,
|
|
5510
5710
|
fixCellRasterWidth: 19.2,
|
|
5511
|
-
forceFixCellRasterSize: (_constructionRules$
|
|
5512
|
-
forceSingleCellPerElement: (_constructionRules$
|
|
5711
|
+
forceFixCellRasterSize: (_constructionRules$co3 = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co3 !== void 0 ? _constructionRules$co3 : true,
|
|
5712
|
+
forceSingleCellPerElement: (_constructionRules$co4 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co4 !== void 0 ? _constructionRules$co4 : true,
|
|
5513
5713
|
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5514
5714
|
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5515
5715
|
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
@@ -5904,42 +6104,58 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5904
6104
|
value: (function () {
|
|
5905
6105
|
var _updatePlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(changedOPT, targetElements) {
|
|
5906
6106
|
var _this2 = this;
|
|
5907
|
-
var message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
6107
|
+
var failed, message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
5908
6108
|
return _regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
5909
6109
|
while (1) switch (_context7.prev = _context7.next) {
|
|
5910
6110
|
case 0:
|
|
5911
6111
|
LOG.debug('BoxPlanner - configurationHasChanged ' + changedOPT);
|
|
6112
|
+
failed = false;
|
|
5912
6113
|
targetElements === null || targetElements === void 0 || targetElements.forEach(function (e) {
|
|
5913
6114
|
var _this2$set$getArticle;
|
|
5914
|
-
|
|
6115
|
+
failed = _this2.boxPlannerGrid.updateGridElementDimensions(e, (_this2$set$getArticle = _this2.set.getArticleByElementId(e)) === null || _this2$set$getArticle === void 0 ? void 0 : _this2$set$getArticle.plannerData);
|
|
6116
|
+
if (failed) return;
|
|
6117
|
+
});
|
|
6118
|
+
if (!failed) {
|
|
6119
|
+
_context7.next = 5;
|
|
6120
|
+
break;
|
|
6121
|
+
}
|
|
6122
|
+
return _context7.abrupt("return", {
|
|
6123
|
+
doDeleteBackGrid: false,
|
|
6124
|
+
elemIdsToDelete: [],
|
|
6125
|
+
viewMessageCodex: "resizeerror",
|
|
6126
|
+
failed: true
|
|
5915
6127
|
});
|
|
6128
|
+
case 5:
|
|
6129
|
+
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5916
6130
|
if (!(changedOPT && targetElements && targetElements.length > 0 && changedOPT['OPTELEMENT'] && (changedOPT['OPTELEMENT'] == 'OPVECK_I' || changedOPT['OPTELEMENT'] == 'OPVECK_A'))) {
|
|
5917
|
-
_context7.next =
|
|
6131
|
+
_context7.next = 23;
|
|
5918
6132
|
break;
|
|
5919
6133
|
}
|
|
5920
6134
|
if (!(targetElements.length > 1)) {
|
|
5921
|
-
_context7.next =
|
|
6135
|
+
_context7.next = 14;
|
|
5922
6136
|
break;
|
|
5923
6137
|
}
|
|
5924
|
-
_context7.next =
|
|
6138
|
+
_context7.next = 10;
|
|
5925
6139
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements, true);
|
|
5926
|
-
case
|
|
6140
|
+
case 10:
|
|
5927
6141
|
message = _context7.sent;
|
|
5928
6142
|
if (!message) {
|
|
5929
|
-
_context7.next =
|
|
6143
|
+
_context7.next = 13;
|
|
5930
6144
|
break;
|
|
5931
6145
|
}
|
|
5932
6146
|
return _context7.abrupt("return", {
|
|
5933
6147
|
doDeleteBackGrid: false,
|
|
5934
6148
|
elemIdsToDelete: [],
|
|
5935
|
-
viewMessageCodex: message
|
|
6149
|
+
viewMessageCodex: message,
|
|
6150
|
+
failed: false
|
|
5936
6151
|
});
|
|
5937
|
-
case
|
|
6152
|
+
case 13:
|
|
5938
6153
|
return _context7.abrupt("return", {
|
|
5939
6154
|
doDeleteBackGrid: false,
|
|
5940
|
-
elemIdsToDelete: []
|
|
6155
|
+
elemIdsToDelete: [],
|
|
6156
|
+
failed: false
|
|
5941
6157
|
});
|
|
5942
|
-
case
|
|
6158
|
+
case 14:
|
|
5943
6159
|
//If the most bottom element has no neighbor right or left - copy element
|
|
5944
6160
|
cellPos = this.boxPlannerGrid.getCellsInGridByElementId(targetElements[0]);
|
|
5945
6161
|
elemToCheck = targetElements[0];
|
|
@@ -5947,7 +6163,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5947
6163
|
elemToCheck = this.boxPlannerGrid.getPlannerElementAtGridPos(cellPos.startColIndex, 0, false).getElementId();
|
|
5948
6164
|
}
|
|
5949
6165
|
if (!(!this.boxPlannerGrid.getElementHasLeftElement(elemToCheck) || !this.boxPlannerGrid.getElementHasRightElement(elemToCheck))) {
|
|
5950
|
-
_context7.next =
|
|
6166
|
+
_context7.next = 23;
|
|
5951
6167
|
break;
|
|
5952
6168
|
}
|
|
5953
6169
|
//Someone has changed Eck innen or aussen. If the current eselected Element has no neighbor left or right copy neighbor
|
|
@@ -5969,6 +6185,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5969
6185
|
copyType: 'BoxPlanner_COL'
|
|
5970
6186
|
});
|
|
5971
6187
|
return _context7.abrupt("return", {
|
|
6188
|
+
failed: false,
|
|
5972
6189
|
doDeleteBackGrid: false,
|
|
5973
6190
|
elemIdsToDelete: [],
|
|
5974
6191
|
elementIdToCopy: allElementsToCopy,
|
|
@@ -5977,17 +6194,17 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5977
6194
|
changedOPT: changedOPT,
|
|
5978
6195
|
targetElements: targetElements
|
|
5979
6196
|
});
|
|
5980
|
-
case
|
|
6197
|
+
case 23:
|
|
5981
6198
|
if (!(changedOPT && changedOPT['OPTDMOD'])) {
|
|
5982
|
-
_context7.next =
|
|
6199
|
+
_context7.next = 38;
|
|
5983
6200
|
break;
|
|
5984
6201
|
}
|
|
5985
6202
|
_context7.t0 = changedOPT['OPTDMOD'];
|
|
5986
|
-
_context7.next = _context7.t0 === 'OPVD_EIN' ?
|
|
6203
|
+
_context7.next = _context7.t0 === 'OPVD_EIN' ? 27 : _context7.t0 === 'OPVD_AUS' ? 31 : 36;
|
|
5987
6204
|
break;
|
|
5988
|
-
case
|
|
6205
|
+
case 27:
|
|
5989
6206
|
if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5990
|
-
_context7.next =
|
|
6207
|
+
_context7.next = 30;
|
|
5991
6208
|
break;
|
|
5992
6209
|
}
|
|
5993
6210
|
_allElementsToCopy = this.getPlannerElementsInfluencedByCopy(-1, {
|
|
@@ -5999,25 +6216,27 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5999
6216
|
copyType: 'BoxPlanner_backside'
|
|
6000
6217
|
});
|
|
6001
6218
|
return _context7.abrupt("return", {
|
|
6219
|
+
failed: false,
|
|
6002
6220
|
doDeleteBackGrid: false,
|
|
6003
6221
|
elemIdsToDelete: [],
|
|
6004
6222
|
elementIdToCopy: _allElementsToCopy,
|
|
6005
6223
|
copyType: 'BoxPlanner_backside',
|
|
6006
6224
|
changedOPT: changedOPT
|
|
6007
6225
|
});
|
|
6008
|
-
case
|
|
6009
|
-
return _context7.abrupt("break",
|
|
6010
|
-
case
|
|
6226
|
+
case 30:
|
|
6227
|
+
return _context7.abrupt("break", 36);
|
|
6228
|
+
case 31:
|
|
6011
6229
|
if (!this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
6012
|
-
_context7.next =
|
|
6230
|
+
_context7.next = 35;
|
|
6013
6231
|
break;
|
|
6014
6232
|
}
|
|
6015
6233
|
allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6016
6234
|
if (!(allElementsInBackGrid.length > 0)) {
|
|
6017
|
-
_context7.next =
|
|
6235
|
+
_context7.next = 35;
|
|
6018
6236
|
break;
|
|
6019
6237
|
}
|
|
6020
6238
|
return _context7.abrupt("return", {
|
|
6239
|
+
failed: false,
|
|
6021
6240
|
doDeleteBackGrid: true,
|
|
6022
6241
|
elemIdsToDelete: allElementsInBackGrid.map(function (element) {
|
|
6023
6242
|
return element.ElementId;
|
|
@@ -6025,23 +6244,24 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6025
6244
|
deletionType: 'BoxPlanner_backside',
|
|
6026
6245
|
changedOPT: changedOPT
|
|
6027
6246
|
});
|
|
6028
|
-
case
|
|
6029
|
-
return _context7.abrupt("break",
|
|
6030
|
-
case
|
|
6031
|
-
_context7.next =
|
|
6247
|
+
case 35:
|
|
6248
|
+
return _context7.abrupt("break", 36);
|
|
6249
|
+
case 36:
|
|
6250
|
+
_context7.next = 52;
|
|
6032
6251
|
break;
|
|
6033
|
-
case
|
|
6252
|
+
case 38:
|
|
6034
6253
|
if (!(changedOPT && changedOPT['OPTFARBE_RAHMEN'] && changedOPT['OPTFARBE_RAHMEN'] == 'OPVSCHWARZ_MATT' && this.boxPlannerGrid.getPlannerHasActiveBackside())) {
|
|
6035
|
-
_context7.next =
|
|
6254
|
+
_context7.next = 44;
|
|
6036
6255
|
break;
|
|
6037
6256
|
}
|
|
6038
6257
|
//If the double modul is active but the color is changed to black - disable double modul
|
|
6039
6258
|
_allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6040
6259
|
if (!(_allElementsInBackGrid.length > 0)) {
|
|
6041
|
-
_context7.next =
|
|
6260
|
+
_context7.next = 42;
|
|
6042
6261
|
break;
|
|
6043
6262
|
}
|
|
6044
6263
|
return _context7.abrupt("return", {
|
|
6264
|
+
failed: false,
|
|
6045
6265
|
doDeleteBackGrid: true,
|
|
6046
6266
|
elemIdsToDelete: _allElementsInBackGrid.map(function (element) {
|
|
6047
6267
|
return element.ElementId;
|
|
@@ -6051,34 +6271,37 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6051
6271
|
targetElements: targetElements,
|
|
6052
6272
|
viewMessageCodex: 'BOXPLAN_BLACKFRAME_INCOMPATIBLE_ELEMENT_WARNING'
|
|
6053
6273
|
});
|
|
6054
|
-
case
|
|
6055
|
-
_context7.next =
|
|
6274
|
+
case 42:
|
|
6275
|
+
_context7.next = 52;
|
|
6056
6276
|
break;
|
|
6057
|
-
case
|
|
6058
|
-
_context7.next =
|
|
6277
|
+
case 44:
|
|
6278
|
+
_context7.next = 46;
|
|
6059
6279
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements);
|
|
6060
|
-
case
|
|
6280
|
+
case 46:
|
|
6061
6281
|
_message = _context7.sent;
|
|
6062
6282
|
if (!_message) {
|
|
6063
|
-
_context7.next =
|
|
6283
|
+
_context7.next = 51;
|
|
6064
6284
|
break;
|
|
6065
6285
|
}
|
|
6066
6286
|
return _context7.abrupt("return", {
|
|
6067
6287
|
doDeleteBackGrid: false,
|
|
6068
6288
|
elemIdsToDelete: [],
|
|
6069
|
-
viewMessageCodex: _message
|
|
6289
|
+
viewMessageCodex: _message,
|
|
6290
|
+
failed: false
|
|
6070
6291
|
});
|
|
6071
|
-
case
|
|
6292
|
+
case 51:
|
|
6072
6293
|
return _context7.abrupt("return", {
|
|
6073
6294
|
doDeleteBackGrid: false,
|
|
6074
|
-
elemIdsToDelete: []
|
|
6295
|
+
elemIdsToDelete: [],
|
|
6296
|
+
failed: false
|
|
6075
6297
|
});
|
|
6076
|
-
case
|
|
6298
|
+
case 52:
|
|
6077
6299
|
return _context7.abrupt("return", {
|
|
6078
6300
|
doDeleteBackGrid: false,
|
|
6079
|
-
elemIdsToDelete: []
|
|
6301
|
+
elemIdsToDelete: [],
|
|
6302
|
+
failed: false
|
|
6080
6303
|
});
|
|
6081
|
-
case
|
|
6304
|
+
case 53:
|
|
6082
6305
|
case "end":
|
|
6083
6306
|
return _context7.stop();
|
|
6084
6307
|
}
|