@crystaldesign/web-planner-logic 25.14.0-beta.4 → 25.14.0-beta.40
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-d49621ee.js → DivaBoxPlanner-590fa04b.js} +619 -315
- package/build/cjs/{DivaStandardPlanner-0b694655.js → DivaStandardPlanner-14f641eb.js} +98 -88
- package/build/cjs/{DoorPlanner-772341ef.js → DoorPlanner-2fd36cbe.js} +1 -1
- package/build/cjs/{Host3DSignalR-b13956a3.js → Host3DSignalR-01d03fbe.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-1a5e2abb.js → LiviqueWWSHandler-ce234c4d.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-89a523b6.js → PfisterWWSHandler-14763bec.js} +1 -1
- package/build/cjs/{PlannerHandler2D-1da507c8.js → PlannerHandler2D-69bf367e.js} +2 -2
- package/build/cjs/{SeriousBasketHandler-1bd2230c.js → SeriousBasketHandler-3284d8e6.js} +1 -1
- package/build/cjs/{ShelfPlanner-db3521f9.js → ShelfPlanner-fdf5c5ea.js} +1 -1
- package/build/cjs/{StandardWWSHandler-5e6076d4.js → StandardWWSHandler-75b86bd6.js} +1 -1
- package/build/cjs/{index-ea4df511.js → index-d851c847.js} +257 -178
- package/build/cjs/index.js +1 -3
- package/build/esm/{DivaBoxPlanner-556bd49b.js → DivaBoxPlanner-90c95fe0.js} +618 -315
- package/build/esm/{DivaStandardPlanner-39fa4919.js → DivaStandardPlanner-15cc1700.js} +98 -88
- package/build/esm/{DoorPlanner-4feb77a1.js → DoorPlanner-6e3a0841.js} +1 -1
- package/build/esm/{Host3DSignalR-fd7a22e0.js → Host3DSignalR-e8cf0b3e.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-799592fc.js → LiviqueWWSHandler-108cb348.js} +1 -1
- package/build/esm/{PfisterWWSHandler-3c27e9a1.js → PfisterWWSHandler-41c995d8.js} +1 -1
- package/build/esm/{PlannerHandler2D-bfed02e3.js → PlannerHandler2D-67320283.js} +2 -2
- package/build/esm/{SeriousBasketHandler-390bf174.js → SeriousBasketHandler-23209e7b.js} +1 -1
- package/build/esm/{ShelfPlanner-778dd54c.js → ShelfPlanner-ac57278a.js} +1 -1
- package/build/esm/{StandardWWSHandler-eff7c728.js → StandardWWSHandler-6959f79c.js} +1 -1
- package/build/esm/{index-13aa8d15.js → index-8f6efc60.js} +258 -177
- 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/API/ViewConfigDataType.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/API/ViewConfigDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +5 -0
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/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 +2 -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/interface/webPlannerParams/WebPlannerParamsType.d.ts +1 -0
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts +2 -1
- package/build/types/web-planner-logic/src/logic/Basket/DivaBasketHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +4 -2
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +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 +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts +4 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +7 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/DivaCatalogArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +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/Catalog/IDMCatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/scripts/create_renderorder.d.ts +1 -1
- package/build/types/web-planner-logic/src/test/scripts/create_renderorder.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/scripts/getOrigProductId.d.ts +1 -1
- package/build/types/web-planner-logic/src/test/scripts/getOrigProductId.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-8f6efc60.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-67320283.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);
|
|
@@ -2583,23 +2596,22 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2583
2596
|
}
|
|
2584
2597
|
}, {
|
|
2585
2598
|
key: "validateDimensionRule",
|
|
2586
|
-
value: function validateDimensionRule(
|
|
2599
|
+
value: function validateDimensionRule(dimension, dimensionLimit, boxPlannerSize, higherLimit, lowerLimit) {
|
|
2587
2600
|
var isOver = false;
|
|
2588
2601
|
var isEqual = false;
|
|
2589
|
-
if (
|
|
2590
|
-
if (
|
|
2591
|
-
if (
|
|
2592
|
-
if (
|
|
2593
|
-
if (
|
|
2594
|
-
if (
|
|
2602
|
+
if (dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimensionLimit) isOver = true;
|
|
2603
|
+
if (dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimensionLimit) isEqual = true;
|
|
2604
|
+
if (dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimensionLimit) isOver = true;
|
|
2605
|
+
if (dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimensionLimit) isEqual = true;
|
|
2606
|
+
if (dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimensionLimit) isOver = true;
|
|
2607
|
+
if (dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimensionLimit) isEqual = true;
|
|
2595
2608
|
if (isOver) {
|
|
2596
|
-
|
|
2609
|
+
return higherLimit;
|
|
2597
2610
|
} else if (isEqual) {
|
|
2598
|
-
return
|
|
2611
|
+
return higherLimit;
|
|
2599
2612
|
} else {
|
|
2600
|
-
|
|
2613
|
+
return lowerLimit;
|
|
2601
2614
|
}
|
|
2602
|
-
return false;
|
|
2603
2615
|
}
|
|
2604
2616
|
|
|
2605
2617
|
/*
|
|
@@ -2610,42 +2622,38 @@ 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
|
-
|
|
2632
|
-
|
|
2633
|
-
}
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
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', false);
|
|
2640
|
+
var freeSpace = element.Width;
|
|
2641
|
+
rightNeighbours.forEach(function (n) {
|
|
2642
|
+
if (n.ElementId == changedElement.ElementId) return;
|
|
2643
|
+
var topElements = boxPlannerGrid.getNeighborElements(n.ElementId, 'TOP', false).filter(function (n) {
|
|
2644
|
+
return n.ElementId != changedElement.ElementId;
|
|
2645
|
+
});
|
|
2646
|
+
var topWidth = topElements.reduce(function (totalwidth, e) {
|
|
2647
|
+
return totalwidth += e.Width;
|
|
2648
|
+
}, 0);
|
|
2649
|
+
if (topWidth < n.Width) freeSpace += n.Width - topWidth;
|
|
2650
|
+
});
|
|
2651
|
+
if (Math.round(changedElement.Width) > Math.round(freeSpace)) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2652
|
+
} else {
|
|
2653
|
+
// over the changed one
|
|
2654
|
+
if (changedElement.Width < element.Width) _this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2655
|
+
}
|
|
2656
|
+
});
|
|
2649
2657
|
}
|
|
2650
2658
|
}, {
|
|
2651
2659
|
key: "correctFoot",
|
|
@@ -2653,7 +2661,10 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2653
2661
|
var _this3 = this;
|
|
2654
2662
|
var elements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2655
2663
|
elements.forEach(function (e) {
|
|
2656
|
-
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId))
|
|
2664
|
+
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId)) {
|
|
2665
|
+
_this3.setOptionValue(e.ElementId, 'OPTFUSS_SYS', 'OPVOHNE', optionHandler);
|
|
2666
|
+
_this3.setOptionValue(e.ElementId, 'OPTPOSSIBILITY_FUSS_OHNE', 'OPVTRUE', optionHandler);
|
|
2667
|
+
}
|
|
2657
2668
|
});
|
|
2658
2669
|
}
|
|
2659
2670
|
|
|
@@ -2662,30 +2673,49 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2662
2673
|
* */
|
|
2663
2674
|
}, {
|
|
2664
2675
|
key: "correctOptionsInfluencedByDimensions",
|
|
2665
|
-
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2676
|
+
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2666
2677
|
var _this4 = this;
|
|
2667
2678
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2668
2679
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2669
2680
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2670
|
-
|
|
2671
|
-
if (
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
return _this4.
|
|
2681
|
+
var setRule = function setRule(option, res) {
|
|
2682
|
+
if (changedOPTs) {
|
|
2683
|
+
var changedOpt = Object.entries(changedOPTs).find(function (_ref) {
|
|
2684
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
2685
|
+
key = _ref2[0];
|
|
2686
|
+
_ref2[1];
|
|
2687
|
+
return key == option;
|
|
2688
|
+
});
|
|
2689
|
+
if (changedOpt) {
|
|
2690
|
+
allElements.forEach(function (element) {
|
|
2691
|
+
return _this4.setOptionValue(element.ElementId, changedOpt[0], changedOpt[1], optionHandler);
|
|
2681
2692
|
});
|
|
2693
|
+
return;
|
|
2694
|
+
}
|
|
2695
|
+
}
|
|
2696
|
+
allElements.forEach(function (element) {
|
|
2697
|
+
return _this4.setOptionDoCustom(element.ElementId, option, res, optionHandler);
|
|
2698
|
+
});
|
|
2699
|
+
};
|
|
2700
|
+
var dim = this.constructionRules.optionsInfluencedByDimensions;
|
|
2701
|
+
dim.forEach(function (dimRule) {
|
|
2702
|
+
if (Array.isArray(dimRule)) {
|
|
2703
|
+
var res = dimRule.every(function (r) {
|
|
2704
|
+
return _this4.validateDimensionRule(r.dimension, r.dimensionLimit, boxPlannerSize, r.higherLimit, r.lowerLimit).toLowerCase() == 'doshow';
|
|
2682
2705
|
});
|
|
2706
|
+
var t = dimRule[0];
|
|
2707
|
+
if (res) setRule(t.option, 'doShow');else setRule(t.option, 'doHide');
|
|
2683
2708
|
} else {
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2709
|
+
var seriesDimRule = dimRule;
|
|
2710
|
+
var baseDimRule = dimRule;
|
|
2711
|
+
if (seriesDimRule.series) {
|
|
2712
|
+
var _dimRule = seriesDimRule.series.findLast(function (r) {
|
|
2713
|
+
return _this4.validateDimensionRule(r.dimension, r.dimensionLimit, boxPlannerSize, '1', '2') == '1';
|
|
2714
|
+
});
|
|
2715
|
+
if (_dimRule) setRule(seriesDimRule.option, _dimRule.value);
|
|
2716
|
+
} else {
|
|
2717
|
+
setRule(baseDimRule.option, _this4.validateDimensionRule(baseDimRule.option, baseDimRule.dimensionLimit, boxPlannerSize, baseDimRule.higherLimit, baseDimRule.lowerLimit));
|
|
2718
|
+
}
|
|
2689
2719
|
}
|
|
2690
2720
|
});
|
|
2691
2721
|
}
|
|
@@ -2759,22 +2789,22 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2759
2789
|
|
|
2760
2790
|
// default => set all to ohne
|
|
2761
2791
|
serie.forEach(function (element) {
|
|
2762
|
-
var _element$
|
|
2763
|
-
seriesWidth += (_element$
|
|
2764
|
-
boxPlannerGrid.getAllElementsDown(element.
|
|
2792
|
+
var _element$size$width;
|
|
2793
|
+
seriesWidth += (_element$size$width = element.size.width) !== null && _element$size$width !== void 0 ? _element$size$width : 0;
|
|
2794
|
+
boxPlannerGrid.getAllElementsDown(element.elementId).elements.forEach(function (e) {
|
|
2765
2795
|
return _this5.setOptionValue(e, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2766
2796
|
});
|
|
2767
|
-
_this5.setOptionValue(element.
|
|
2797
|
+
_this5.setOptionValue(element.elementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2768
2798
|
});
|
|
2769
2799
|
var firstUncoveredElement = serie[0];
|
|
2770
|
-
var
|
|
2800
|
+
var _loop = function _loop() {
|
|
2771
2801
|
var opv = seriesWidthToPlateOpv.findLast(function (stp) {
|
|
2772
2802
|
// is a clean element ending
|
|
2773
2803
|
var helperWidth = 0;
|
|
2774
2804
|
var isClean = false;
|
|
2775
2805
|
serie.forEach(function (element) {
|
|
2776
|
-
var _element$
|
|
2777
|
-
helperWidth += (_element$
|
|
2806
|
+
var _element$size$width2;
|
|
2807
|
+
helperWidth += (_element$size$width2 = element.size.width) !== null && _element$size$width2 !== void 0 ? _element$size$width2 : 0;
|
|
2778
2808
|
if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
|
|
2779
2809
|
});
|
|
2780
2810
|
if (stp.limit <= seriesWidth && isClean) return true;
|
|
@@ -2783,11 +2813,11 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2783
2813
|
if (!opv) return {
|
|
2784
2814
|
v: void 0
|
|
2785
2815
|
};
|
|
2786
|
-
_this5.setOptionValue(firstUncoveredElement.
|
|
2816
|
+
_this5.setOptionValue(firstUncoveredElement.elementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
|
|
2787
2817
|
var helperWidth = 0;
|
|
2788
2818
|
firstUncoveredElement = serie.find(function (e) {
|
|
2789
|
-
var _e$
|
|
2790
|
-
helperWidth += (_e$
|
|
2819
|
+
var _e$size$width;
|
|
2820
|
+
helperWidth += (_e$size$width = e.size.width) !== null && _e$size$width !== void 0 ? _e$size$width : 0;
|
|
2791
2821
|
if (helperWidth > opv.limit) return true;
|
|
2792
2822
|
return false;
|
|
2793
2823
|
});
|
|
@@ -2796,7 +2826,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2796
2826
|
},
|
|
2797
2827
|
_ret;
|
|
2798
2828
|
while (seriesWidth != 0) {
|
|
2799
|
-
_ret =
|
|
2829
|
+
_ret = _loop();
|
|
2800
2830
|
if (_ret) return _ret.v;
|
|
2801
2831
|
}
|
|
2802
2832
|
});
|
|
@@ -3123,7 +3153,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3123
3153
|
value: function () {
|
|
3124
3154
|
var _updateOptionLogicBoxPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(boxPlannerGrid, changedOPTs, targetElements, forceResetCornerElements) {
|
|
3125
3155
|
var _targetElements;
|
|
3126
|
-
var startTime, resultMessage, optionHandler, allElements, i, _iterator, _step, coverPlateRule,
|
|
3156
|
+
var startTime, resultMessage, optionHandler, allElements, i, j, _boxPlannerGrid$getPl2, elementId, _boxPlannerGrid$getPl3, _elementId, _iterator, _step, coverPlateRule, _boxPlannerGrid$getPl4, _elementId2, doChangeRetailArticleNumbers;
|
|
3127
3157
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
3128
3158
|
while (1) switch (_context.prev = _context.next) {
|
|
3129
3159
|
case 0:
|
|
@@ -3158,19 +3188,6 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3158
3188
|
this.correctBottom(boxPlannerGrid, optionHandler, false);
|
|
3159
3189
|
if (boxPlannerGrid.getPlannerHasActiveBackside()) this.correctBottom(boxPlannerGrid, optionHandler, true);
|
|
3160
3190
|
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
3191
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
3175
3192
|
for (j = 0; j < boxPlannerGrid.getRowCount(i, false); j++) {
|
|
3176
3193
|
this.correctSimpleOpt(i, j, boxPlannerGrid, optionHandler, false);
|
|
@@ -3183,39 +3200,126 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3183
3200
|
}
|
|
3184
3201
|
}
|
|
3185
3202
|
}
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3203
|
+
i = 0;
|
|
3204
|
+
case 17:
|
|
3205
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3206
|
+
_context.next = 31;
|
|
3207
|
+
break;
|
|
3191
3208
|
}
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
}
|
|
3198
|
-
}
|
|
3209
|
+
j = 0;
|
|
3210
|
+
case 19:
|
|
3211
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3212
|
+
_context.next = 28;
|
|
3213
|
+
break;
|
|
3199
3214
|
}
|
|
3215
|
+
elementId = (_boxPlannerGrid$getPl2 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl2 === void 0 ? void 0 : _boxPlannerGrid$getPl2.ElementId;
|
|
3216
|
+
if (elementId) {
|
|
3217
|
+
_context.next = 23;
|
|
3218
|
+
break;
|
|
3219
|
+
}
|
|
3220
|
+
return _context.abrupt("continue", 25);
|
|
3221
|
+
case 23:
|
|
3222
|
+
this.correctForceOptOfElement(elementId, boxPlannerGrid, optionHandler, false);
|
|
3223
|
+
this.correctNeighborCustomOLTs(elementId, boxPlannerGrid, optionHandler);
|
|
3224
|
+
case 25:
|
|
3225
|
+
j++;
|
|
3226
|
+
_context.next = 19;
|
|
3227
|
+
break;
|
|
3228
|
+
case 28:
|
|
3229
|
+
i++;
|
|
3230
|
+
_context.next = 17;
|
|
3231
|
+
break;
|
|
3232
|
+
case 31:
|
|
3233
|
+
if (!boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
3234
|
+
_context.next = 47;
|
|
3235
|
+
break;
|
|
3236
|
+
}
|
|
3237
|
+
i = boxPlannerGrid.getColumnCount() - 1;
|
|
3238
|
+
case 33:
|
|
3239
|
+
if (!(i >= 0)) {
|
|
3240
|
+
_context.next = 47;
|
|
3241
|
+
break;
|
|
3242
|
+
}
|
|
3243
|
+
j = 0;
|
|
3244
|
+
case 35:
|
|
3245
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3246
|
+
_context.next = 44;
|
|
3247
|
+
break;
|
|
3248
|
+
}
|
|
3249
|
+
_elementId = (_boxPlannerGrid$getPl3 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl3 === void 0 ? void 0 : _boxPlannerGrid$getPl3.ElementId;
|
|
3250
|
+
if (_elementId) {
|
|
3251
|
+
_context.next = 39;
|
|
3252
|
+
break;
|
|
3253
|
+
}
|
|
3254
|
+
return _context.abrupt("continue", 41);
|
|
3255
|
+
case 39:
|
|
3256
|
+
this.correctForceOptOfElement(_elementId, boxPlannerGrid, optionHandler, true);
|
|
3257
|
+
this.correctNeighborCustomOLTs(_elementId, boxPlannerGrid, optionHandler);
|
|
3258
|
+
case 41:
|
|
3259
|
+
j++;
|
|
3260
|
+
_context.next = 35;
|
|
3261
|
+
break;
|
|
3262
|
+
case 44:
|
|
3263
|
+
i--;
|
|
3264
|
+
_context.next = 33;
|
|
3265
|
+
break;
|
|
3266
|
+
case 47:
|
|
3200
3267
|
this.correctFoot(boxPlannerGrid, optionHandler);
|
|
3201
3268
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3202
|
-
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3269
|
+
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler, changedOPTs);
|
|
3203
3270
|
this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
|
|
3204
3271
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3205
3272
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3273
|
+
if (this.constructionRules.coverPlateRule) {
|
|
3274
|
+
_iterator = _createForOfIteratorHelper$1(this.constructionRules.coverPlateRule);
|
|
3275
|
+
try {
|
|
3276
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3277
|
+
coverPlateRule = _step.value;
|
|
3278
|
+
this.correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler);
|
|
3279
|
+
}
|
|
3280
|
+
} catch (err) {
|
|
3281
|
+
_iterator.e(err);
|
|
3282
|
+
} finally {
|
|
3283
|
+
_iterator.f();
|
|
3209
3284
|
}
|
|
3210
3285
|
}
|
|
3286
|
+
i = 0;
|
|
3287
|
+
case 55:
|
|
3288
|
+
if (!(i < boxPlannerGrid.getColumnCount())) {
|
|
3289
|
+
_context.next = 68;
|
|
3290
|
+
break;
|
|
3291
|
+
}
|
|
3292
|
+
j = 0;
|
|
3293
|
+
case 57:
|
|
3294
|
+
if (!(j < boxPlannerGrid.getRowCount(i, false))) {
|
|
3295
|
+
_context.next = 65;
|
|
3296
|
+
break;
|
|
3297
|
+
}
|
|
3298
|
+
_elementId2 = (_boxPlannerGrid$getPl4 = boxPlannerGrid.getPlannerElementAtGridPos(i, j, false)) === null || _boxPlannerGrid$getPl4 === void 0 ? void 0 : _boxPlannerGrid$getPl4.getElementId();
|
|
3299
|
+
if (_elementId2) {
|
|
3300
|
+
_context.next = 61;
|
|
3301
|
+
break;
|
|
3302
|
+
}
|
|
3303
|
+
return _context.abrupt("continue", 62);
|
|
3304
|
+
case 61:
|
|
3305
|
+
this.correctBack(boxPlannerGrid, optionHandler, _elementId2);
|
|
3306
|
+
case 62:
|
|
3307
|
+
j++;
|
|
3308
|
+
_context.next = 57;
|
|
3309
|
+
break;
|
|
3310
|
+
case 65:
|
|
3311
|
+
i++;
|
|
3312
|
+
_context.next = 55;
|
|
3313
|
+
break;
|
|
3314
|
+
case 68:
|
|
3211
3315
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3212
|
-
_context.next =
|
|
3316
|
+
_context.next = 71;
|
|
3213
3317
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3214
|
-
case
|
|
3318
|
+
case 71:
|
|
3215
3319
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3216
3320
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3217
3321
|
return _context.abrupt("return", resultMessage);
|
|
3218
|
-
case
|
|
3322
|
+
case 74:
|
|
3219
3323
|
case "end":
|
|
3220
3324
|
return _context.stop();
|
|
3221
3325
|
}
|
|
@@ -3343,7 +3447,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3343
3447
|
var cells = [];
|
|
3344
3448
|
for (var i = 0; i < colCount; i++) {
|
|
3345
3449
|
for (var j = 0; j < rowCount; j++) {
|
|
3346
|
-
var
|
|
3450
|
+
var _cell2 = {
|
|
3347
3451
|
plannedElement: {
|
|
3348
3452
|
basketId: newElement.getBasketId(),
|
|
3349
3453
|
elementId: newElement.getElementId(),
|
|
@@ -3362,7 +3466,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3362
3466
|
},
|
|
3363
3467
|
index: new Vector2(startColIndex + i, startRowIndex + j)
|
|
3364
3468
|
};
|
|
3365
|
-
cells.push(
|
|
3469
|
+
cells.push(_cell2);
|
|
3366
3470
|
}
|
|
3367
3471
|
}
|
|
3368
3472
|
return cells;
|
|
@@ -3427,7 +3531,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3427
3531
|
key: "getGridColumnWidth",
|
|
3428
3532
|
value: function getGridColumnWidth(x) {
|
|
3429
3533
|
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3430
|
-
for (var y = 0;
|
|
3534
|
+
for (var y = 0; y < frontGrid[y].length; y++) {
|
|
3431
3535
|
var _plannedElement$size$, _plannedElement;
|
|
3432
3536
|
var cell = frontGrid[x][y];
|
|
3433
3537
|
if (cell) return (_plannedElement$size$ = (_plannedElement = cell.plannedElement) === null || _plannedElement === void 0 ? void 0 : _plannedElement.size.width) !== null && _plannedElement$size$ !== void 0 ? _plannedElement$size$ : 0;
|
|
@@ -3651,10 +3755,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3651
3755
|
}
|
|
3652
3756
|
for (var i = 0; i < backGrid.length; i++) {
|
|
3653
3757
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
3654
|
-
var
|
|
3655
|
-
var
|
|
3656
|
-
var _elementId = (
|
|
3657
|
-
if (
|
|
3758
|
+
var _cell3$plannedElement;
|
|
3759
|
+
var _cell3 = backGrid[i][j];
|
|
3760
|
+
var _elementId = (_cell3$plannedElement = _cell3.plannedElement) === null || _cell3$plannedElement === void 0 ? void 0 : _cell3$plannedElement.elementId;
|
|
3761
|
+
if (_cell3 && _elementId && allCheckedElementIds.indexOf(_elementId) == -1) {
|
|
3658
3762
|
var _element = this.getElementById(_elementId);
|
|
3659
3763
|
allCheckedElementIds.push(_elementId);
|
|
3660
3764
|
returnElements.push(_element);
|
|
@@ -3918,10 +4022,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3918
4022
|
}
|
|
3919
4023
|
} else {
|
|
3920
4024
|
for (var i = curGrid[index].length - 1; i >= 0; i--) {
|
|
3921
|
-
var
|
|
3922
|
-
var
|
|
3923
|
-
var _elementId4 =
|
|
3924
|
-
if (
|
|
4025
|
+
var _cell4$plannedElement;
|
|
4026
|
+
var _cell4 = curGrid[index][i];
|
|
4027
|
+
var _elementId4 = _cell4 === null || _cell4 === void 0 || (_cell4$plannedElement = _cell4.plannedElement) === null || _cell4$plannedElement === void 0 ? void 0 : _cell4$plannedElement.elementId;
|
|
4028
|
+
if (_cell4 && _elementId4 && allElementIds.indexOf(_elementId4) == -1) {
|
|
3925
4029
|
allElementIds.push(_elementId4);
|
|
3926
4030
|
allElements.push(this.plannerElements.get(_elementId4));
|
|
3927
4031
|
}
|
|
@@ -4010,31 +4114,88 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4010
4114
|
}, {
|
|
4011
4115
|
key: "getNeighborElements",
|
|
4012
4116
|
value: function getNeighborElements(elementId, dir) {
|
|
4013
|
-
var
|
|
4117
|
+
var _this = this,
|
|
4118
|
+
_curGrid$area$fromX,
|
|
4119
|
+
_downNeighbour$planne;
|
|
4120
|
+
var clean = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
4014
4121
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4015
4122
|
var curGrid = res.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4016
4123
|
var result = [];
|
|
4017
4124
|
var plannedElement = res.cells[0].plannedElement;
|
|
4018
4125
|
if (!plannedElement) return result;
|
|
4126
|
+
var currentRow = curGrid[plannedElement.area.fromX];
|
|
4127
|
+
var startHeight = 0;
|
|
4128
|
+
var endHeight = 0;
|
|
4129
|
+
for (var y = 0; y < currentRow.length;) {
|
|
4130
|
+
var cell = currentRow[y];
|
|
4131
|
+
if (cell.index.y < res.startRowIndex) startHeight = Math.round((startHeight + cell.plannedElement.size.height) * 1000) / 1000;
|
|
4132
|
+
if (cell.index.y < res.endRowIndex) endHeight = Math.round((endHeight + cell.plannedElement.size.height) * 1000) / 1000;
|
|
4133
|
+
y = cell.plannedElement.area.toY;
|
|
4134
|
+
}
|
|
4135
|
+
var neighbourSize = 0;
|
|
4136
|
+
var neighbours = [];
|
|
4019
4137
|
switch (dir) {
|
|
4020
4138
|
case 'RIGHT':
|
|
4021
4139
|
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4022
|
-
|
|
4023
|
-
var
|
|
4024
|
-
|
|
4140
|
+
|
|
4141
|
+
for (var x = plannedElement.area.toX; x < curGrid.length;) {
|
|
4142
|
+
var _neighbourRow$0$plann, _neighbourRow$0$plann2;
|
|
4143
|
+
var neighbourRow = curGrid[x];
|
|
4144
|
+
for (var _y = 0; _y < neighbourRow.length;) {
|
|
4145
|
+
var _cell5$plannedElement, _cell5$plannedElement2;
|
|
4146
|
+
var _cell5 = neighbourRow[_y];
|
|
4147
|
+
if (neighbours.includes(_cell5)) continue;
|
|
4148
|
+
if (clean && neighbourSize == startHeight) neighbours.push(_cell5);else if (!clean && neighbourSize >= startHeight && neighbourSize <= endHeight) neighbours.push(_cell5);
|
|
4149
|
+
neighbourSize = Math.round((neighbourSize + _cell5.plannedElement.size.height) * 1000) / 1000;
|
|
4150
|
+
_y = (_cell5$plannedElement = (_cell5$plannedElement2 = _cell5.plannedElement) === null || _cell5$plannedElement2 === void 0 ? void 0 : _cell5$plannedElement2.area.toY) !== null && _cell5$plannedElement !== void 0 ? _cell5$plannedElement : _y + 1;
|
|
4151
|
+
}
|
|
4152
|
+
neighbourSize = 0;
|
|
4153
|
+
x = (_neighbourRow$0$plann = (_neighbourRow$0$plann2 = neighbourRow[0].plannedElement) === null || _neighbourRow$0$plann2 === void 0 ? void 0 : _neighbourRow$0$plann2.area.toX) !== null && _neighbourRow$0$plann !== void 0 ? _neighbourRow$0$plann : x + 1;
|
|
4154
|
+
}
|
|
4155
|
+
neighbours.forEach(function (n) {
|
|
4156
|
+
return !result.find(function (r) {
|
|
4157
|
+
return r.ElementId == n.plannedElement.elementId;
|
|
4158
|
+
}) && result.push(_this.plannerElements.get(n.plannedElement.elementId));
|
|
4159
|
+
});
|
|
4025
4160
|
break;
|
|
4026
4161
|
case 'LEFT':
|
|
4027
|
-
var
|
|
4028
|
-
|
|
4029
|
-
|
|
4162
|
+
for (var _x2 = plannedElement.area.fromX - 1; _x2 > 0;) {
|
|
4163
|
+
var _neighbourRow = curGrid[_x2];
|
|
4164
|
+
for (var _y2 = 0; _y2 < _neighbourRow.length;) {
|
|
4165
|
+
var _cell6$plannedElement, _cell6$plannedElement2;
|
|
4166
|
+
var _cell6 = _neighbourRow[_y2];
|
|
4167
|
+
if (neighbours.includes(_cell6)) continue;
|
|
4168
|
+
if (clean && neighbourSize == startHeight) neighbours.push(_cell6);else if (!clean && neighbourSize >= startHeight && neighbourSize <= endHeight) neighbours.push(_cell6);
|
|
4169
|
+
neighbourSize = Math.round((neighbourSize + _cell6.plannedElement.size.height) * 1000) / 1000;
|
|
4170
|
+
_y2 = (_cell6$plannedElement = (_cell6$plannedElement2 = _cell6.plannedElement) === null || _cell6$plannedElement2 === void 0 ? void 0 : _cell6$plannedElement2.area.toY) !== null && _cell6$plannedElement !== void 0 ? _cell6$plannedElement : _y2 + 1;
|
|
4171
|
+
}
|
|
4172
|
+
neighbourSize = 0;
|
|
4173
|
+
_x2 = _neighbourRow[0].plannedElement ? _neighbourRow[0].plannedElement.area.fromX - 1 : _x2 + 1;
|
|
4174
|
+
}
|
|
4175
|
+
neighbours.forEach(function (n) {
|
|
4176
|
+
return !result.find(function (r) {
|
|
4177
|
+
return r.ElementId == n.plannedElement.elementId;
|
|
4178
|
+
}) && result.push(_this.plannerElements.get(n.plannedElement.elementId));
|
|
4179
|
+
});
|
|
4030
4180
|
break;
|
|
4031
4181
|
case 'TOP':
|
|
4032
|
-
var
|
|
4033
|
-
var
|
|
4034
|
-
|
|
4182
|
+
var topNeighbours = [];
|
|
4183
|
+
for (var _x3 = plannedElement.area.fromX; _x3 < plannedElement.area.toX;) {
|
|
4184
|
+
var _cell7 = curGrid[_x3][plannedElement.area.toY];
|
|
4185
|
+
if (!_cell7) break;
|
|
4186
|
+
topNeighbours.push(_cell7);
|
|
4187
|
+
if (clean) break;
|
|
4188
|
+
_x3 = _cell7.plannedElement.area.toX;
|
|
4189
|
+
}
|
|
4190
|
+
if (topNeighbours.length == 0) break;
|
|
4191
|
+
topNeighbours.forEach(function (topNeighbour) {
|
|
4192
|
+
var _plannedElement3;
|
|
4193
|
+
var tElementId = (_plannedElement3 = topNeighbour.plannedElement) === null || _plannedElement3 === void 0 ? void 0 : _plannedElement3.elementId;
|
|
4194
|
+
if (tElementId) result.push(_this.plannerElements.get(tElementId));
|
|
4195
|
+
});
|
|
4035
4196
|
break;
|
|
4036
4197
|
case 'DOWN':
|
|
4037
|
-
var downNeighbour = (_curGrid$area$
|
|
4198
|
+
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
4199
|
var dElementId = downNeighbour === null || downNeighbour === void 0 || (_downNeighbour$planne = downNeighbour.plannedElement) === null || _downNeighbour$planne === void 0 ? void 0 : _downNeighbour$planne.elementId;
|
|
4039
4200
|
if (dElementId) result.push(this.plannerElements.get(dElementId));
|
|
4040
4201
|
break;
|
|
@@ -4104,12 +4265,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4104
4265
|
var curHeight = 0;
|
|
4105
4266
|
var row = frontGrid[x];
|
|
4106
4267
|
for (var y = 0; y < row.length;) {
|
|
4107
|
-
var
|
|
4268
|
+
var _cell8, _cell$plannedElement$, _cell$plannedElement8;
|
|
4108
4269
|
var cell = row[y];
|
|
4109
|
-
var elementId = (
|
|
4270
|
+
var elementId = (_cell8 = cell) === null || _cell8 === void 0 || (_cell8 = _cell8.plannedElement) === null || _cell8 === void 0 ? void 0 : _cell8.elementId;
|
|
4110
4271
|
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4111
4272
|
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4112
|
-
if (x == 0 && y == 0) depth =
|
|
4273
|
+
if (x == 0 && y == 0) depth = cell.plannedElement.size.depth;
|
|
4113
4274
|
}
|
|
4114
4275
|
y = (_cell$plannedElement$ = (_cell$plannedElement8 = cell.plannedElement) === null || _cell$plannedElement8 === void 0 ? void 0 : _cell$plannedElement8.area.toY) !== null && _cell$plannedElement$ !== void 0 ? _cell$plannedElement$ : y + 1;
|
|
4115
4276
|
}
|
|
@@ -4136,9 +4297,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4136
4297
|
var onBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4137
4298
|
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4138
4299
|
var result = [];
|
|
4300
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4139
4301
|
var lastHeight = -1;
|
|
4140
|
-
for (var x = 0; x <
|
|
4141
|
-
var
|
|
4302
|
+
for (var x = 0; x < grid.length;) {
|
|
4303
|
+
var _grid$new_x;
|
|
4304
|
+
var row = grid[x];
|
|
4142
4305
|
var height = 0;
|
|
4143
4306
|
for (var y = 0; y < row.length;) {
|
|
4144
4307
|
var element = row[y].plannedElement;
|
|
@@ -4147,12 +4310,20 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4147
4310
|
}
|
|
4148
4311
|
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4149
4312
|
if (!result[result.length - 1]) result.push([]);
|
|
4150
|
-
result[result.length - 1].push(
|
|
4151
|
-
} else {
|
|
4152
|
-
result.push([
|
|
4313
|
+
result[result.length - 1].push(grid[x][onBottom ? 0 : row.length - 1].plannedElement);
|
|
4314
|
+
} else if (grid[x][row.length - 1].plannedElement.area.fromX == x) {
|
|
4315
|
+
result.push([grid[x][onBottom ? 0 : row.length - 1].plannedElement]);
|
|
4153
4316
|
}
|
|
4154
4317
|
lastHeight = height;
|
|
4155
|
-
|
|
4318
|
+
var new_x = row[row.length - 1].plannedElement.area.toX;
|
|
4319
|
+
var newHeight = (_grid$new_x = grid[new_x]) === null || _grid$new_x === void 0 ? void 0 : _grid$new_x.length;
|
|
4320
|
+
|
|
4321
|
+
// if the next row is fx. lower and doesn't have a clean cut here we need to skip more
|
|
4322
|
+
if (newHeight && newHeight != row.length) {
|
|
4323
|
+
var cell = grid[new_x][newHeight - 1];
|
|
4324
|
+
if (cell.index.x != cell.plannedElement.area.fromX) new_x = cell.plannedElement.area.toX;
|
|
4325
|
+
}
|
|
4326
|
+
x = new_x;
|
|
4156
4327
|
}
|
|
4157
4328
|
return result;
|
|
4158
4329
|
}
|
|
@@ -4198,42 +4369,63 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4198
4369
|
}, {
|
|
4199
4370
|
key: "getAllElementsToFillUp",
|
|
4200
4371
|
value: function getAllElementsToFillUp(elementId, dir) {
|
|
4201
|
-
var
|
|
4372
|
+
var _this2 = this;
|
|
4202
4373
|
var curPos = this.getCellsInGridByElementId(elementId);
|
|
4203
4374
|
|
|
4204
4375
|
//columns and rows are swapped don't ask me why
|
|
4205
4376
|
var element = curPos.cells[0].plannedElement;
|
|
4206
4377
|
var index = {
|
|
4207
|
-
x: curPos.startColIndex,
|
|
4378
|
+
x: dir == 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1,
|
|
4208
4379
|
y: curPos.startRowIndex
|
|
4209
4380
|
};
|
|
4210
4381
|
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4211
4382
|
var plannerIdsToFill = [];
|
|
4212
|
-
var
|
|
4213
|
-
var
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4383
|
+
var length = element.area.toX - element.area.fromX;
|
|
4384
|
+
var d = dir == 'RIGHT' ? +length : -length;
|
|
4385
|
+
plannerIdsToFill.push(element.elementId);
|
|
4386
|
+
_objectSpread(_objectSpread({}, element.area), {}, {
|
|
4387
|
+
fromX: element.area.fromX + d,
|
|
4388
|
+
toX: element.area.toX + d
|
|
4389
|
+
});
|
|
4390
|
+
var _loop = function _loop(_y3) {
|
|
4391
|
+
var _curGrid$index$x$_y;
|
|
4392
|
+
var supportElement = (_curGrid$index$x$_y = curGrid[index.x][_y3]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
4393
|
+
if (!supportElement) {
|
|
4394
|
+
y = _y3;
|
|
4395
|
+
return 0;
|
|
4396
|
+
} // break
|
|
4397
|
+
var topElements = _this2.getNeighborElements(supportElement.elementId, 'TOP', false);
|
|
4398
|
+
var topWidth = 0;
|
|
4399
|
+
topElements.forEach(function (t) {
|
|
4400
|
+
return topWidth += t.Width;
|
|
4401
|
+
});
|
|
4402
|
+
var freeSpace = 0;
|
|
4403
|
+
if (supportElement.size.width > topWidth) freeSpace = supportElement.size.width - topWidth;
|
|
4404
|
+
var neighbours = _this2.getNeighborElements(supportElement.elementId, dir, false);
|
|
4405
|
+
neighbours.forEach(function (n) {
|
|
4406
|
+
if (_this2.getNeighborElements(n.ElementId, 'TOP').length > 0) return;
|
|
4407
|
+
freeSpace += n.Width;
|
|
4408
|
+
});
|
|
4409
|
+
if (freeSpace >= element.size.width) {
|
|
4410
|
+
y = _y3;
|
|
4411
|
+
return 0;
|
|
4412
|
+
} // break
|
|
4413
|
+
var missingWidth = element.size.width - freeSpace;
|
|
4414
|
+
while (missingWidth > 0) {
|
|
4415
|
+
plannerIdsToFill.push(supportElement.elementId);
|
|
4416
|
+
missingWidth = Math.round(missingWidth - supportElement.size.width);
|
|
4417
|
+
}
|
|
4418
|
+
_y3 = supportElement.area.fromY - 1;
|
|
4419
|
+
y = _y3;
|
|
4420
|
+
},
|
|
4421
|
+
_ret;
|
|
4422
|
+
for (var y = index.y - 1; y >= 0;) {
|
|
4423
|
+
_ret = _loop(y);
|
|
4424
|
+
if (_ret === 0) break;
|
|
4233
4425
|
}
|
|
4234
4426
|
// if there is nothing to fill we copy everyting
|
|
4235
4427
|
return {
|
|
4236
|
-
elements: plannerIdsToFill.
|
|
4428
|
+
elements: plannerIdsToFill.reverse(),
|
|
4237
4429
|
backside: curPos.backside
|
|
4238
4430
|
};
|
|
4239
4431
|
}
|
|
@@ -4329,11 +4521,32 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4329
4521
|
// [][] -> | [][][]
|
|
4330
4522
|
// [][] | [][][]
|
|
4331
4523
|
// [][][] | [][][][]
|
|
4332
|
-
function moveGrid(plannedCells) {
|
|
4524
|
+
var moveGrid = function moveGrid(plannedCells) {
|
|
4333
4525
|
var grid = new Array();
|
|
4334
4526
|
var rightNeighbour = plannedCells.filter(function (c) {
|
|
4335
4527
|
return c.index.x == element.area.toX;
|
|
4336
4528
|
});
|
|
4529
|
+
var col = [];
|
|
4530
|
+
var support = [];
|
|
4531
|
+
var _loop2 = function _loop2() {
|
|
4532
|
+
var c = frontGrid[x][element.area.fromY];
|
|
4533
|
+
var s = frontGrid[x][element.area.fromY - 1];
|
|
4534
|
+
if (c && !col.find(function (_c) {
|
|
4535
|
+
return _c.plannedElement.elementId == c.plannedElement.elementId;
|
|
4536
|
+
})) col.push(frontGrid[x][element.area.fromY]);
|
|
4537
|
+
if (s && !support.find(function (_c) {
|
|
4538
|
+
return _c.plannedElement.elementId == s.plannedElement.elementId;
|
|
4539
|
+
})) support.push(frontGrid[x][element.area.fromY - 1]);
|
|
4540
|
+
};
|
|
4541
|
+
for (var x = 0; x < frontGrid.length; x++) {
|
|
4542
|
+
_loop2();
|
|
4543
|
+
}
|
|
4544
|
+
var sizeXTop = col.reduce(function (acc, n) {
|
|
4545
|
+
return acc += n.plannedElement.size.width;
|
|
4546
|
+
}, 0);
|
|
4547
|
+
var sizeXUnder = support ? support.reduce(function (acc, n) {
|
|
4548
|
+
return acc += n.plannedElement.size.width;
|
|
4549
|
+
}, 0) : 0;
|
|
4337
4550
|
var rightNeighbourOfCopy = rightNeighbour.find(function (c) {
|
|
4338
4551
|
return c.index.y == absoluteCopyIndex.y;
|
|
4339
4552
|
});
|
|
@@ -4345,7 +4558,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4345
4558
|
});
|
|
4346
4559
|
plannedCells.forEach(function (cell) {
|
|
4347
4560
|
// if we can't fill up (need to move the grid)
|
|
4348
|
-
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0)
|
|
4561
|
+
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0) && (
|
|
4562
|
+
// no free space or on the right height == move
|
|
4563
|
+
!(sizeXTop <= sizeXUnder - element.size.width) || cell.index.y >= element.area.fromY && cell.index.y < element.area.toY) || !copyDirectionIsRight && (leftNeighbourOfCopy || leftNeighbour.length == 0) || absoluteCopyIndex.x == -1)) {
|
|
4349
4564
|
cell.index.x += widthCopyArea;
|
|
4350
4565
|
cell.plannedElement.area.fromX += widthCopyArea;
|
|
4351
4566
|
cell.plannedElement.area.toX += widthCopyArea;
|
|
@@ -4354,13 +4569,13 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4354
4569
|
grid[cell.index.x][cell.index.y] = cell;
|
|
4355
4570
|
});
|
|
4356
4571
|
return grid;
|
|
4357
|
-
}
|
|
4572
|
+
};
|
|
4358
4573
|
frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
|
|
4359
4574
|
for (var x = 0; x < widthCopyArea; x++) if (!frontGrid[absoluteCopyIndex.x + x]) frontGrid[absoluteCopyIndex.x + x] = [];
|
|
4360
4575
|
this.generalPlanningState.grids[0].matrix = frontGrid;
|
|
4361
4576
|
if (this.hasActiveBackside) {
|
|
4362
4577
|
backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
|
|
4363
|
-
for (var
|
|
4578
|
+
for (var _x4 = 0; _x4 < widthCopyArea; _x4++) if (!backGrid[absoluteCopyIndex.x + _x4]) backGrid[absoluteCopyIndex.x + _x4] = [];
|
|
4364
4579
|
this.generalPlanningState.grids[1].matrix = backGrid;
|
|
4365
4580
|
}
|
|
4366
4581
|
}
|
|
@@ -4406,13 +4621,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4406
4621
|
var elementData = this.plannerElements.get(elementId);
|
|
4407
4622
|
var deletedCells = this.getCellsInGridByElementId(elementId);
|
|
4408
4623
|
if (!elementData) return;
|
|
4409
|
-
this.deleteElement(elementId,
|
|
4624
|
+
this.deleteElement(elementId, 'STD');
|
|
4410
4625
|
var curGrid = this.generalPlanningState.grids[0].matrix;
|
|
4411
4626
|
var cells = undefined;
|
|
4412
|
-
if (absoluteIndex.x < 0
|
|
4413
|
-
) {
|
|
4627
|
+
if (absoluteIndex.x < 0 && absoluteIndex.y == 0) {
|
|
4414
4628
|
var dir = deletedCells.endColIndex >= absoluteIndex.x;
|
|
4415
|
-
if (deletedCells.startColIndex
|
|
4629
|
+
if (deletedCells.startColIndex <= absoluteIndex.x) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4416
4630
|
if (absoluteIndex.x < 0) absoluteIndex.x = 0;
|
|
4417
4631
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4418
4632
|
var movedGrid = [];
|
|
@@ -4421,9 +4635,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4421
4635
|
_.forEach(function (_, y) {
|
|
4422
4636
|
var newX = x;
|
|
4423
4637
|
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 :
|
|
4638
|
+
if (y == absoluteIndex.y || absoluteIndex.y == 0) {
|
|
4639
|
+
newX += dir ? element.area.toX - element.area.fromX : 0;
|
|
4640
|
+
shiftX = dir ? element.area.toX - element.area.fromX : 0;
|
|
4427
4641
|
}
|
|
4428
4642
|
if (!movedGrid[newX]) movedGrid[newX] = [];
|
|
4429
4643
|
var cellElem = curGrid[x][y].plannedElement;
|
|
@@ -4446,7 +4660,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4446
4660
|
});
|
|
4447
4661
|
curGrid = movedGrid;
|
|
4448
4662
|
} else {
|
|
4449
|
-
if (absoluteIndex.x > deletedCells.startColIndex &&
|
|
4663
|
+
if (absoluteIndex.x > deletedCells.startColIndex && deletedCells.startRowIndex == 0) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4450
4664
|
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4451
4665
|
}
|
|
4452
4666
|
for (var i = 0; i < cells.length; i++) {
|
|
@@ -4476,8 +4690,6 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4476
4690
|
var backsideForCopy = copyIndex.z == -1 || curPos.backside == true;
|
|
4477
4691
|
if (cellIndex.x < 0) cellIndex.x = 0; // can't plan to negative space see prepareGridForColCopy
|
|
4478
4692
|
var curGrid = backsideForCopy ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4479
|
-
// can't float need to dock
|
|
4480
|
-
if (curGrid[cellIndex.x].length < cellIndex.y) cellIndex.y = curGrid[cellIndex.x].length;
|
|
4481
4693
|
var cells = this.createNewCells(newElement, cellIndex.x, cellIndex.y, backsideForCopy);
|
|
4482
4694
|
for (var i = 0; i < cells.length; i++) {
|
|
4483
4695
|
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
@@ -4508,75 +4720,129 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4508
4720
|
}, {
|
|
4509
4721
|
key: "updateGridElementDimensions",
|
|
4510
4722
|
value: function updateGridElementDimensions(elementId, elementData) {
|
|
4511
|
-
var
|
|
4512
|
-
if (!elementData) return;
|
|
4723
|
+
var _this3 = this;
|
|
4724
|
+
if (!elementData) return false;
|
|
4725
|
+
var backup = structuredClone(this.generalPlanningState);
|
|
4513
4726
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4514
4727
|
var scpe = this.gridSetupParams.forceSingleCellPerElement;
|
|
4728
|
+
var origin = {
|
|
4729
|
+
x: res.cells[0].plannedElement.area.toX,
|
|
4730
|
+
y: res.cells[0].plannedElement.area.toY
|
|
4731
|
+
};
|
|
4732
|
+
var diff = {
|
|
4733
|
+
x: 0,
|
|
4734
|
+
y: 0
|
|
4735
|
+
};
|
|
4515
4736
|
res.cells.forEach(function (cell) {
|
|
4516
4737
|
if (!cell.plannedElement) return;
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4738
|
+
var el = cell.plannedElement;
|
|
4739
|
+
el.size.width = elementData.width;
|
|
4740
|
+
el.size.height = elementData.height;
|
|
4741
|
+
el.size.depth = elementData.depth;
|
|
4742
|
+
el.area = {
|
|
4743
|
+
fromX: el.area.fromX,
|
|
4744
|
+
toX: !scpe ? Math.round(el.area.fromX + elementData.width / _this3.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
4745
|
+
fromY: el.area.fromY,
|
|
4746
|
+
toY: !scpe ? Math.round(el.area.fromY + elementData.height / _this3.gridSetupParams.fixCellRasterHeight) : cell.index.y + 1
|
|
4524
4747
|
};
|
|
4748
|
+
diff.y = cell.plannedElement.area.toY - origin.y;
|
|
4749
|
+
diff.x = cell.plannedElement.area.toX - origin.x;
|
|
4525
4750
|
});
|
|
4526
|
-
|
|
4751
|
+
var cell = res.cells[0];
|
|
4752
|
+
var grid = this.generalPlanningState.grids[0].matrix;
|
|
4753
|
+
// if the element got bigger we need to move all the above elements up
|
|
4754
|
+
// if it got wider we need to move all the elements to the right
|
|
4755
|
+
if (diff.y != 0) {
|
|
4756
|
+
for (var x = cell.plannedElement.area.fromX; x < cell.plannedElement.area.toX; x++) {
|
|
4757
|
+
var row = grid[x];
|
|
4758
|
+
if (!row) continue;
|
|
4759
|
+
for (var y = origin.y; y < row.length; y++) {
|
|
4760
|
+
var _cell = row[y];
|
|
4761
|
+
if (_cell.index.y != y || _cell.plannedElement.elementId == cell.plannedElement.elementId) continue; //already corrected
|
|
4762
|
+
_cell.index.y += diff.y;
|
|
4763
|
+
_cell.plannedElement.area.fromY += diff.y;
|
|
4764
|
+
_cell.plannedElement.area.toY += diff.y;
|
|
4765
|
+
}
|
|
4766
|
+
}
|
|
4767
|
+
} else if (diff.x != 0) {
|
|
4768
|
+
for (var _x5 = cell.plannedElement.area.fromX; _x5 < grid.length; _x5++) {
|
|
4769
|
+
for (var _y4 = cell.plannedElement.area.fromY; _y4 < cell.plannedElement.area.toY; _y4++) {
|
|
4770
|
+
var _cell9 = grid[_x5][_y4];
|
|
4771
|
+
if (!_cell9 || _cell9.plannedElement.elementId == elementId) continue; //already corrected
|
|
4772
|
+
_cell9.index.x += diff.x;
|
|
4773
|
+
_cell9.plannedElement.area.fromX += diff.x;
|
|
4774
|
+
_cell9.plannedElement.area.toX += diff.x;
|
|
4775
|
+
}
|
|
4776
|
+
}
|
|
4777
|
+
}
|
|
4778
|
+
|
|
4779
|
+
// after indices/areas are corrected rebuild the grid
|
|
4780
|
+
if (scpe) return false;
|
|
4781
|
+
res.cells[0].plannedElement;
|
|
4527
4782
|
var newGrid = new Array();
|
|
4528
4783
|
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
var
|
|
4539
|
-
|
|
4540
|
-
if (
|
|
4541
|
-
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
|
|
4550
|
-
plannedElement: el && el.length > 0 ? el[0].plannedElement : undefined
|
|
4784
|
+
var _loop3 = function _loop3() {
|
|
4785
|
+
var cell = plannedCells[idx];
|
|
4786
|
+
var area = cell.plannedElement.area;
|
|
4787
|
+
if (newGrid.find(function (x) {
|
|
4788
|
+
return x.find(function (y) {
|
|
4789
|
+
var _y$plannedElement3, _cell$plannedElement9;
|
|
4790
|
+
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);
|
|
4791
|
+
});
|
|
4792
|
+
})) return 0; // continue
|
|
4793
|
+
for (var _x6 = area.fromX; _x6 < area.toX; _x6++) {
|
|
4794
|
+
for (var _y5 = area.fromY; _y5 < area.toY; _y5++) {
|
|
4795
|
+
if (!newGrid[_x6] && area.fromY == 0) newGrid[_x6] = [];
|
|
4796
|
+
|
|
4797
|
+
// we have a so called overhanging element not so nice, let's correct:
|
|
4798
|
+
var support = plannedCells.find(function (c) {
|
|
4799
|
+
return c.plannedElement.area.toX >= cell.plannedElement.area.toX && c.plannedElement.area.toY == cell.index.y;
|
|
4800
|
+
});
|
|
4801
|
+
if (!support && !newGrid[_x6]) {
|
|
4802
|
+
_this3.generalPlanningState = backup;
|
|
4803
|
+
return {
|
|
4804
|
+
v: true
|
|
4551
4805
|
};
|
|
4552
|
-
return 0; // continue
|
|
4553
4806
|
}
|
|
4554
4807
|
|
|
4555
|
-
//
|
|
4556
|
-
|
|
4557
|
-
|
|
4808
|
+
// the element below got smaller
|
|
4809
|
+
if (!newGrid[_x6] && !support) {
|
|
4810
|
+
_this3.generalPlanningState = backup;
|
|
4811
|
+
return {
|
|
4812
|
+
v: true
|
|
4813
|
+
};
|
|
4814
|
+
} else if (!newGrid[_x6]) newGrid[_x6] = [];
|
|
4815
|
+
// when the element above starts early and goes over multiple ones
|
|
4816
|
+
|
|
4817
|
+
// regular case
|
|
4818
|
+
newGrid[_x6][_y5] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4558
4819
|
index: {
|
|
4559
|
-
x:
|
|
4560
|
-
y:
|
|
4820
|
+
x: _x6,
|
|
4821
|
+
y: _y5
|
|
4561
4822
|
},
|
|
4562
4823
|
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4563
4824
|
area: {
|
|
4564
|
-
fromX:
|
|
4565
|
-
toX:
|
|
4566
|
-
fromY:
|
|
4567
|
-
toY:
|
|
4568
|
-
}
|
|
4825
|
+
fromX: cell.plannedElement.area.fromX,
|
|
4826
|
+
toX: cell.plannedElement.area.fromX + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4827
|
+
fromY: cell.plannedElement.area.fromY,
|
|
4828
|
+
toY: cell.plannedElement.area.fromY + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4829
|
+
},
|
|
4830
|
+
size: _objectSpread(_objectSpread({}, cell.plannedElement.size), {}, {
|
|
4831
|
+
depth: elementData.depth
|
|
4832
|
+
})
|
|
4569
4833
|
})
|
|
4570
4834
|
});
|
|
4571
|
-
}
|
|
4572
|
-
_ret;
|
|
4573
|
-
for (var y = 0; y < area.toY; y++) {
|
|
4574
|
-
_ret = _loop2(y);
|
|
4575
|
-
if (_ret === 0) continue;
|
|
4835
|
+
}
|
|
4576
4836
|
}
|
|
4577
|
-
}
|
|
4578
|
-
|
|
4837
|
+
},
|
|
4838
|
+
_ret2;
|
|
4839
|
+
for (var idx = 0; idx < plannedCells.length; idx++) {
|
|
4840
|
+
_ret2 = _loop3();
|
|
4841
|
+
if (_ret2 === 0) continue;
|
|
4842
|
+
if (_ret2) return _ret2.v;
|
|
4843
|
+
}
|
|
4579
4844
|
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4845
|
+
return false;
|
|
4580
4846
|
}
|
|
4581
4847
|
|
|
4582
4848
|
/**
|
|
@@ -4617,9 +4883,11 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4617
4883
|
var topNeighbors = this.getNeighborElements(elementId, 'TOP');
|
|
4618
4884
|
var rightNeighbors = this.getNeighborElements(elementId, 'RIGHT');
|
|
4619
4885
|
var leftNeighbors = this.getNeighborElements(elementId, 'LEFT');
|
|
4886
|
+
var downNeighbors = this.getNeighborElements(elementId, 'DOWN');
|
|
4620
4887
|
if (topNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4621
4888
|
if (leftNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4622
4889
|
if (rightNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4890
|
+
if (downNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVU', [downNeighbors[0]]);
|
|
4623
4891
|
element.PosNr = posNr;
|
|
4624
4892
|
posNr++;
|
|
4625
4893
|
}
|
|
@@ -4627,9 +4895,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4627
4895
|
}
|
|
4628
4896
|
for (var i = 0; i < backGrid.length; i++) {
|
|
4629
4897
|
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4630
|
-
var
|
|
4631
|
-
var
|
|
4632
|
-
var _elementId6 =
|
|
4898
|
+
var _cell10$plannedElemen;
|
|
4899
|
+
var _cell10 = backGrid[i][j];
|
|
4900
|
+
var _elementId6 = _cell10 === null || _cell10 === void 0 || (_cell10$plannedElemen = _cell10.plannedElement) === null || _cell10$plannedElemen === void 0 ? void 0 : _cell10$plannedElemen.elementId;
|
|
4633
4901
|
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4634
4902
|
var _element2 = this.plannerElements.get(_elementId6);
|
|
4635
4903
|
allCheckedElementIds.push(_elementId6);
|
|
@@ -4967,9 +5235,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4967
5235
|
var targetRowIndex = endRowIndex + 1;
|
|
4968
5236
|
var _copyPossible = false;
|
|
4969
5237
|
// Iterate through columns within the element's width
|
|
4970
|
-
for (var
|
|
4971
|
-
if (isValidCell(
|
|
4972
|
-
copyStartColIndex =
|
|
5238
|
+
for (var _x7 = endColIndex; _x7 >= startColIndex; _x7--) {
|
|
5239
|
+
if (isValidCell(_x7, targetRowIndex)) {
|
|
5240
|
+
copyStartColIndex = _x7;
|
|
4973
5241
|
_copyPossible = true;
|
|
4974
5242
|
}
|
|
4975
5243
|
}
|
|
@@ -4986,19 +5254,19 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4986
5254
|
var _targetColIndex = endColIndex;
|
|
4987
5255
|
var _copyPossible2 = false;
|
|
4988
5256
|
// Iterate through rows within the element's height
|
|
4989
|
-
for (var
|
|
4990
|
-
if (isValidCell(_targetColIndex,
|
|
4991
|
-
copyStartRowIndex =
|
|
5257
|
+
for (var _y6 = startRowIndex; _y6 <= endRowIndex; _y6++) {
|
|
5258
|
+
if (isValidCell(_targetColIndex, _y6)) {
|
|
5259
|
+
copyStartRowIndex = _y6;
|
|
4992
5260
|
_copyPossible2 = true;
|
|
4993
5261
|
break;
|
|
4994
5262
|
}
|
|
4995
5263
|
}
|
|
4996
5264
|
if (!_copyPossible2) return undefined;
|
|
4997
5265
|
_copyPossible2 = false;
|
|
4998
|
-
for (var
|
|
4999
|
-
if (isValidCell(
|
|
5266
|
+
for (var _x8 = endColIndex; _x8 <= endColIndex + elementCells.colCount; _x8++) {
|
|
5267
|
+
if (isValidCell(_x8, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x8, copyStartRowIndex - 1))) {
|
|
5000
5268
|
//check also for overhang
|
|
5001
|
-
copyEndColIndex =
|
|
5269
|
+
copyEndColIndex = _x8;
|
|
5002
5270
|
_copyPossible2 = true;
|
|
5003
5271
|
} else {
|
|
5004
5272
|
break; //when you find one situation where it is not valid skip outside.
|
|
@@ -5038,16 +5306,16 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5038
5306
|
} else {
|
|
5039
5307
|
var distToOriginX = 0;
|
|
5040
5308
|
for (var i = 0; i < cellsStartColIndex; i++) {
|
|
5041
|
-
var _plannedElement$size$3,
|
|
5042
|
-
distToOriginX += (_plannedElement$size$3 = (
|
|
5309
|
+
var _plannedElement$size$3, _plannedElement4;
|
|
5310
|
+
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
5311
|
}
|
|
5044
5312
|
if (cellsStartColIndex < 0) {
|
|
5045
5313
|
distToOriginX = -element.getWidth();
|
|
5046
5314
|
}
|
|
5047
5315
|
var distToOriginY = 0;
|
|
5048
5316
|
for (var i = 0; i < cellsStartRowIndex; i++) {
|
|
5049
|
-
var _plannedElement$size$4,
|
|
5050
|
-
distToOriginY += (_plannedElement$size$4 = (
|
|
5317
|
+
var _plannedElement$size$4, _plannedElement5;
|
|
5318
|
+
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
5319
|
}
|
|
5052
5320
|
elementLocation.startIndexWorldPos = new Vector2(distToOriginX, distToOriginY);
|
|
5053
5321
|
}
|
|
@@ -5094,7 +5362,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5094
5362
|
var _ele2, _ele3;
|
|
5095
5363
|
var movables = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5096
5364
|
var selectedElementId = arguments.length > 1 ? arguments[1] : undefined;
|
|
5097
|
-
if (!movables) return this.generalPlanningState;
|
|
5365
|
+
if (!movables || !selectedElementId) return this.generalPlanningState;
|
|
5098
5366
|
// fill to equal size
|
|
5099
5367
|
var matrix = this.generalPlanningState.grids[0].matrix;
|
|
5100
5368
|
var matrixWithMovables = [];
|
|
@@ -5141,6 +5409,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5141
5409
|
isSupport = !!matrix.find(function (x, idx) {
|
|
5142
5410
|
return idx >= ele.area.fromX && idx < ele.area.toX && matrix[idx].length > ele.area.toY;
|
|
5143
5411
|
}); // can't move if there is anything above these cells
|
|
5412
|
+
|
|
5413
|
+
// if it has left and right neighbour and is on the bottom
|
|
5414
|
+
if (ele.area.fromX == 0 && this.getNeighborElements(ele.elementId, 'LEFT').length > 0 && this.getNeighborElements(ele.elementId, 'RIGHT').length > 0) isSupport = true;
|
|
5144
5415
|
}
|
|
5145
5416
|
if (isSupport) return this.generalPlanningState;
|
|
5146
5417
|
for (var x = 0; x < maxWidth; x++) {
|
|
@@ -5161,7 +5432,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5161
5432
|
if (x >= from && x < to) return;
|
|
5162
5433
|
var row = matrixWithMovables[x];
|
|
5163
5434
|
var len = row.length;
|
|
5164
|
-
var _x = ele.fromX == 0 ? x : x - 1;
|
|
5435
|
+
var _x = ele.area.fromX == 0 ? x : x - 1;
|
|
5165
5436
|
row[len] = {
|
|
5166
5437
|
index: {
|
|
5167
5438
|
x: _x,
|
|
@@ -5174,7 +5445,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5174
5445
|
var len = matrixWithMovables.length;
|
|
5175
5446
|
if (((_ele2 = ele) === null || _ele2 === void 0 ? void 0 : _ele2.area.toX) != matrix.length) matrixWithMovables[len] = [{
|
|
5176
5447
|
index: {
|
|
5177
|
-
x: ele.fromX == 0 ? len : len - 1,
|
|
5448
|
+
x: ele.area.fromX == 0 ? len : len - 1,
|
|
5178
5449
|
y: 0
|
|
5179
5450
|
}
|
|
5180
5451
|
}];
|
|
@@ -5198,7 +5469,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5198
5469
|
//system 4 useacse
|
|
5199
5470
|
var totalColCount = matrix[0].length;
|
|
5200
5471
|
var colSizes = Array(totalColCount).fill(-1);
|
|
5201
|
-
var
|
|
5472
|
+
var _loop4 = function _loop4(i) {
|
|
5202
5473
|
var _matrix$find;
|
|
5203
5474
|
var cell = (_matrix$find = matrix.find(function (row) {
|
|
5204
5475
|
var _row$i$plannedElement, _row$i$plannedElement2;
|
|
@@ -5212,7 +5483,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5212
5483
|
if (colSizes[i] === -1) return 1; // break
|
|
5213
5484
|
};
|
|
5214
5485
|
for (var i = 0; i < totalColCount; i++) {
|
|
5215
|
-
if (
|
|
5486
|
+
if (_loop4(i)) break;
|
|
5216
5487
|
}
|
|
5217
5488
|
if (colSizes.includes(-1)) LOG$1.error(new Error('Column sizes are not set'));
|
|
5218
5489
|
return colSizes;
|
|
@@ -5326,7 +5597,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5326
5597
|
key: "initPlanner",
|
|
5327
5598
|
value: function () {
|
|
5328
5599
|
var _initPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(setPlanData) {
|
|
5329
|
-
var planData, jsonElements, i, jsonElement, elementID, plannerElement, data, highesElemId, _jsonElement, params;
|
|
5600
|
+
var planData, jsonElements, i, jsonElement, elementID, plannerElement, constructionRules, _constructionRules$co, _constructionRules$co2, data, highesElemId, _jsonElement, params;
|
|
5330
5601
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5331
5602
|
while (1) switch (_context.prev = _context.next) {
|
|
5332
5603
|
case 0:
|
|
@@ -5356,7 +5627,20 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5356
5627
|
if (this.nextElementId < elementID + 1) this.nextElementId = elementID + 1;
|
|
5357
5628
|
this.set.setElementId(jsonElement.basketID, plannerElement.ElementId);
|
|
5358
5629
|
if (!this.constructionRulesHandler.getConstructionRulesLoaded()) {
|
|
5359
|
-
this.
|
|
5630
|
+
constructionRules = this.set.getConstructionRuleOfElementId(plannerElement.ElementId);
|
|
5631
|
+
if (constructionRules) {
|
|
5632
|
+
this.boxPlannerGrid.GridSetupParams = {
|
|
5633
|
+
fixCellRasterHeight: 19.2,
|
|
5634
|
+
fixCellRasterWidth: 19.2,
|
|
5635
|
+
forceFixCellRasterSize: (_constructionRules$co = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co !== void 0 ? _constructionRules$co : true,
|
|
5636
|
+
forceSingleCellPerElement: (_constructionRules$co2 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co2 !== void 0 ? _constructionRules$co2 : true,
|
|
5637
|
+
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5638
|
+
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5639
|
+
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
5640
|
+
maxGridRasterWidth: constructionRules.constructionRules.maxGridRasterWidth
|
|
5641
|
+
};
|
|
5642
|
+
}
|
|
5643
|
+
this.constructionRulesHandler.setConstructionRules(constructionRules);
|
|
5360
5644
|
}
|
|
5361
5645
|
data = this.set.getPlannerData(plannerElement.ElementId);
|
|
5362
5646
|
if (data) plannerElement.updatePlannerData(data);
|
|
@@ -5484,7 +5768,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5484
5768
|
key: "addPlannerElement",
|
|
5485
5769
|
value: (function () {
|
|
5486
5770
|
var _addPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(basketID, params) {
|
|
5487
|
-
var plannerElement, data, constructionRules, _constructionRules$
|
|
5771
|
+
var plannerElement, data, constructionRules, _constructionRules$co3, _constructionRules$co4;
|
|
5488
5772
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
5489
5773
|
while (1) switch (_context2.prev = _context2.next) {
|
|
5490
5774
|
case 0:
|
|
@@ -5508,8 +5792,8 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5508
5792
|
this.boxPlannerGrid.GridSetupParams = {
|
|
5509
5793
|
fixCellRasterHeight: 19.2,
|
|
5510
5794
|
fixCellRasterWidth: 19.2,
|
|
5511
|
-
forceFixCellRasterSize: (_constructionRules$
|
|
5512
|
-
forceSingleCellPerElement: (_constructionRules$
|
|
5795
|
+
forceFixCellRasterSize: (_constructionRules$co3 = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co3 !== void 0 ? _constructionRules$co3 : true,
|
|
5796
|
+
forceSingleCellPerElement: (_constructionRules$co4 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co4 !== void 0 ? _constructionRules$co4 : true,
|
|
5513
5797
|
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5514
5798
|
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5515
5799
|
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
@@ -5587,11 +5871,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5587
5871
|
value: (function () {
|
|
5588
5872
|
var _copyPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(articleCopyRelation, copyInfo) {
|
|
5589
5873
|
var _this = this;
|
|
5590
|
-
var
|
|
5874
|
+
var plannerElementsToLoadSVG, that, i, cellPos, allDPs, j;
|
|
5591
5875
|
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
5592
5876
|
while (1) switch (_context5.prev = _context5.next) {
|
|
5593
5877
|
case 0:
|
|
5594
|
-
gridIsPrepared = false;
|
|
5595
5878
|
if (copyInfo) {
|
|
5596
5879
|
_context5.next = 3;
|
|
5597
5880
|
break;
|
|
@@ -5601,25 +5884,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5601
5884
|
if (copyInfo.copyType == 'STD') copyInfo.targetElements = [];
|
|
5602
5885
|
plannerElementsToLoadSVG = [];
|
|
5603
5886
|
that = this;
|
|
5604
|
-
articleCopyRelation.forEach(function (
|
|
5887
|
+
articleCopyRelation.forEach(function (val) {
|
|
5605
5888
|
var _copyInfo$targetEleme;
|
|
5606
|
-
if (
|
|
5607
|
-
if (
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
_this.boxPlannerGrid.prepareGridForColCopy(elementToCopyId, copyInfo.copyIndex);
|
|
5611
|
-
}
|
|
5889
|
+
if (copyInfo.copyIndex.z == -1) {
|
|
5890
|
+
if (!_this.boxPlannerGrid.getPlannerHasActiveBackside()) _this.boxPlannerGrid.prepareGridForBackSideCopy();
|
|
5891
|
+
} else {
|
|
5892
|
+
_this.boxPlannerGrid.prepareGridForColCopy(val.key, copyInfo.copyIndex);
|
|
5612
5893
|
}
|
|
5613
|
-
gridIsPrepared = true;
|
|
5614
5894
|
|
|
5615
5895
|
//Init Planner Element
|
|
5616
|
-
var plannerElement = new PlannerElementData(_this.set.getSetId(),
|
|
5896
|
+
var plannerElement = new PlannerElementData(_this.set.getSetId(), val.value, _this.nextElementId, DivaBoxPlanner.plannerType);
|
|
5617
5897
|
_this.nextElementId++;
|
|
5618
|
-
_this.set.setElementId(
|
|
5898
|
+
_this.set.setElementId(val.value, plannerElement.ElementId);
|
|
5619
5899
|
var data = _this.set.getPlannerData(plannerElement.ElementId);
|
|
5620
5900
|
plannerElement.updatePlannerData(data);
|
|
5621
|
-
_this.boxPlannerGrid.addElementAsCopy(
|
|
5622
|
-
_this.constructionRulesHandler.onElementCopy(
|
|
5901
|
+
_this.boxPlannerGrid.addElementAsCopy(val.key, plannerElement, copyInfo.copyIndex);
|
|
5902
|
+
_this.constructionRulesHandler.onElementCopy(val.key, plannerElement.getElementId());
|
|
5623
5903
|
plannerElementsToLoadSVG.push(plannerElement);
|
|
5624
5904
|
if (copyInfo.copyType == 'STD') (_copyInfo$targetEleme = copyInfo.targetElements) === null || _copyInfo$targetEleme === void 0 || _copyInfo$targetEleme.push(plannerElement.getElementId());
|
|
5625
5905
|
});
|
|
@@ -5750,7 +6030,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5750
6030
|
}
|
|
5751
6031
|
}
|
|
5752
6032
|
//remove duplicate
|
|
5753
|
-
return
|
|
6033
|
+
return allElementsToCopy;
|
|
5754
6034
|
}
|
|
5755
6035
|
|
|
5756
6036
|
/**
|
|
@@ -5904,42 +6184,58 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5904
6184
|
value: (function () {
|
|
5905
6185
|
var _updatePlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(changedOPT, targetElements) {
|
|
5906
6186
|
var _this2 = this;
|
|
5907
|
-
var message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
6187
|
+
var failed, message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
5908
6188
|
return _regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
5909
6189
|
while (1) switch (_context7.prev = _context7.next) {
|
|
5910
6190
|
case 0:
|
|
5911
6191
|
LOG.debug('BoxPlanner - configurationHasChanged ' + changedOPT);
|
|
6192
|
+
failed = false;
|
|
5912
6193
|
targetElements === null || targetElements === void 0 || targetElements.forEach(function (e) {
|
|
5913
6194
|
var _this2$set$getArticle;
|
|
5914
|
-
|
|
6195
|
+
failed = _this2.boxPlannerGrid.updateGridElementDimensions(e, (_this2$set$getArticle = _this2.set.getArticleByElementId(e)) === null || _this2$set$getArticle === void 0 ? void 0 : _this2$set$getArticle.plannerData);
|
|
6196
|
+
if (failed) return;
|
|
6197
|
+
});
|
|
6198
|
+
if (!failed) {
|
|
6199
|
+
_context7.next = 5;
|
|
6200
|
+
break;
|
|
6201
|
+
}
|
|
6202
|
+
return _context7.abrupt("return", {
|
|
6203
|
+
doDeleteBackGrid: false,
|
|
6204
|
+
elemIdsToDelete: [],
|
|
6205
|
+
viewMessageCodex: "resizeerror",
|
|
6206
|
+
failed: true
|
|
5915
6207
|
});
|
|
6208
|
+
case 5:
|
|
6209
|
+
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5916
6210
|
if (!(changedOPT && targetElements && targetElements.length > 0 && changedOPT['OPTELEMENT'] && (changedOPT['OPTELEMENT'] == 'OPVECK_I' || changedOPT['OPTELEMENT'] == 'OPVECK_A'))) {
|
|
5917
|
-
_context7.next =
|
|
6211
|
+
_context7.next = 23;
|
|
5918
6212
|
break;
|
|
5919
6213
|
}
|
|
5920
6214
|
if (!(targetElements.length > 1)) {
|
|
5921
|
-
_context7.next =
|
|
6215
|
+
_context7.next = 14;
|
|
5922
6216
|
break;
|
|
5923
6217
|
}
|
|
5924
|
-
_context7.next =
|
|
6218
|
+
_context7.next = 10;
|
|
5925
6219
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements, true);
|
|
5926
|
-
case
|
|
6220
|
+
case 10:
|
|
5927
6221
|
message = _context7.sent;
|
|
5928
6222
|
if (!message) {
|
|
5929
|
-
_context7.next =
|
|
6223
|
+
_context7.next = 13;
|
|
5930
6224
|
break;
|
|
5931
6225
|
}
|
|
5932
6226
|
return _context7.abrupt("return", {
|
|
5933
6227
|
doDeleteBackGrid: false,
|
|
5934
6228
|
elemIdsToDelete: [],
|
|
5935
|
-
viewMessageCodex: message
|
|
6229
|
+
viewMessageCodex: message,
|
|
6230
|
+
failed: false
|
|
5936
6231
|
});
|
|
5937
|
-
case
|
|
6232
|
+
case 13:
|
|
5938
6233
|
return _context7.abrupt("return", {
|
|
5939
6234
|
doDeleteBackGrid: false,
|
|
5940
|
-
elemIdsToDelete: []
|
|
6235
|
+
elemIdsToDelete: [],
|
|
6236
|
+
failed: false
|
|
5941
6237
|
});
|
|
5942
|
-
case
|
|
6238
|
+
case 14:
|
|
5943
6239
|
//If the most bottom element has no neighbor right or left - copy element
|
|
5944
6240
|
cellPos = this.boxPlannerGrid.getCellsInGridByElementId(targetElements[0]);
|
|
5945
6241
|
elemToCheck = targetElements[0];
|
|
@@ -5947,7 +6243,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5947
6243
|
elemToCheck = this.boxPlannerGrid.getPlannerElementAtGridPos(cellPos.startColIndex, 0, false).getElementId();
|
|
5948
6244
|
}
|
|
5949
6245
|
if (!(!this.boxPlannerGrid.getElementHasLeftElement(elemToCheck) || !this.boxPlannerGrid.getElementHasRightElement(elemToCheck))) {
|
|
5950
|
-
_context7.next =
|
|
6246
|
+
_context7.next = 23;
|
|
5951
6247
|
break;
|
|
5952
6248
|
}
|
|
5953
6249
|
//Someone has changed Eck innen or aussen. If the current eselected Element has no neighbor left or right copy neighbor
|
|
@@ -5969,6 +6265,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5969
6265
|
copyType: 'BoxPlanner_COL'
|
|
5970
6266
|
});
|
|
5971
6267
|
return _context7.abrupt("return", {
|
|
6268
|
+
failed: false,
|
|
5972
6269
|
doDeleteBackGrid: false,
|
|
5973
6270
|
elemIdsToDelete: [],
|
|
5974
6271
|
elementIdToCopy: allElementsToCopy,
|
|
@@ -5977,17 +6274,17 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5977
6274
|
changedOPT: changedOPT,
|
|
5978
6275
|
targetElements: targetElements
|
|
5979
6276
|
});
|
|
5980
|
-
case
|
|
6277
|
+
case 23:
|
|
5981
6278
|
if (!(changedOPT && changedOPT['OPTDMOD'])) {
|
|
5982
|
-
_context7.next =
|
|
6279
|
+
_context7.next = 38;
|
|
5983
6280
|
break;
|
|
5984
6281
|
}
|
|
5985
6282
|
_context7.t0 = changedOPT['OPTDMOD'];
|
|
5986
|
-
_context7.next = _context7.t0 === 'OPVD_EIN' ?
|
|
6283
|
+
_context7.next = _context7.t0 === 'OPVD_EIN' ? 27 : _context7.t0 === 'OPVD_AUS' ? 31 : 36;
|
|
5987
6284
|
break;
|
|
5988
|
-
case
|
|
6285
|
+
case 27:
|
|
5989
6286
|
if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5990
|
-
_context7.next =
|
|
6287
|
+
_context7.next = 30;
|
|
5991
6288
|
break;
|
|
5992
6289
|
}
|
|
5993
6290
|
_allElementsToCopy = this.getPlannerElementsInfluencedByCopy(-1, {
|
|
@@ -5999,25 +6296,27 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5999
6296
|
copyType: 'BoxPlanner_backside'
|
|
6000
6297
|
});
|
|
6001
6298
|
return _context7.abrupt("return", {
|
|
6299
|
+
failed: false,
|
|
6002
6300
|
doDeleteBackGrid: false,
|
|
6003
6301
|
elemIdsToDelete: [],
|
|
6004
6302
|
elementIdToCopy: _allElementsToCopy,
|
|
6005
6303
|
copyType: 'BoxPlanner_backside',
|
|
6006
6304
|
changedOPT: changedOPT
|
|
6007
6305
|
});
|
|
6008
|
-
case
|
|
6009
|
-
return _context7.abrupt("break",
|
|
6010
|
-
case
|
|
6306
|
+
case 30:
|
|
6307
|
+
return _context7.abrupt("break", 36);
|
|
6308
|
+
case 31:
|
|
6011
6309
|
if (!this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
6012
|
-
_context7.next =
|
|
6310
|
+
_context7.next = 35;
|
|
6013
6311
|
break;
|
|
6014
6312
|
}
|
|
6015
6313
|
allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6016
6314
|
if (!(allElementsInBackGrid.length > 0)) {
|
|
6017
|
-
_context7.next =
|
|
6315
|
+
_context7.next = 35;
|
|
6018
6316
|
break;
|
|
6019
6317
|
}
|
|
6020
6318
|
return _context7.abrupt("return", {
|
|
6319
|
+
failed: false,
|
|
6021
6320
|
doDeleteBackGrid: true,
|
|
6022
6321
|
elemIdsToDelete: allElementsInBackGrid.map(function (element) {
|
|
6023
6322
|
return element.ElementId;
|
|
@@ -6025,23 +6324,24 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6025
6324
|
deletionType: 'BoxPlanner_backside',
|
|
6026
6325
|
changedOPT: changedOPT
|
|
6027
6326
|
});
|
|
6028
|
-
case
|
|
6029
|
-
return _context7.abrupt("break",
|
|
6030
|
-
case
|
|
6031
|
-
_context7.next =
|
|
6327
|
+
case 35:
|
|
6328
|
+
return _context7.abrupt("break", 36);
|
|
6329
|
+
case 36:
|
|
6330
|
+
_context7.next = 52;
|
|
6032
6331
|
break;
|
|
6033
|
-
case
|
|
6332
|
+
case 38:
|
|
6034
6333
|
if (!(changedOPT && changedOPT['OPTFARBE_RAHMEN'] && changedOPT['OPTFARBE_RAHMEN'] == 'OPVSCHWARZ_MATT' && this.boxPlannerGrid.getPlannerHasActiveBackside())) {
|
|
6035
|
-
_context7.next =
|
|
6334
|
+
_context7.next = 44;
|
|
6036
6335
|
break;
|
|
6037
6336
|
}
|
|
6038
6337
|
//If the double modul is active but the color is changed to black - disable double modul
|
|
6039
6338
|
_allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
6040
6339
|
if (!(_allElementsInBackGrid.length > 0)) {
|
|
6041
|
-
_context7.next =
|
|
6340
|
+
_context7.next = 42;
|
|
6042
6341
|
break;
|
|
6043
6342
|
}
|
|
6044
6343
|
return _context7.abrupt("return", {
|
|
6344
|
+
failed: false,
|
|
6045
6345
|
doDeleteBackGrid: true,
|
|
6046
6346
|
elemIdsToDelete: _allElementsInBackGrid.map(function (element) {
|
|
6047
6347
|
return element.ElementId;
|
|
@@ -6051,34 +6351,37 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
6051
6351
|
targetElements: targetElements,
|
|
6052
6352
|
viewMessageCodex: 'BOXPLAN_BLACKFRAME_INCOMPATIBLE_ELEMENT_WARNING'
|
|
6053
6353
|
});
|
|
6054
|
-
case
|
|
6055
|
-
_context7.next =
|
|
6354
|
+
case 42:
|
|
6355
|
+
_context7.next = 52;
|
|
6056
6356
|
break;
|
|
6057
|
-
case
|
|
6058
|
-
_context7.next =
|
|
6357
|
+
case 44:
|
|
6358
|
+
_context7.next = 46;
|
|
6059
6359
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements);
|
|
6060
|
-
case
|
|
6360
|
+
case 46:
|
|
6061
6361
|
_message = _context7.sent;
|
|
6062
6362
|
if (!_message) {
|
|
6063
|
-
_context7.next =
|
|
6363
|
+
_context7.next = 51;
|
|
6064
6364
|
break;
|
|
6065
6365
|
}
|
|
6066
6366
|
return _context7.abrupt("return", {
|
|
6067
6367
|
doDeleteBackGrid: false,
|
|
6068
6368
|
elemIdsToDelete: [],
|
|
6069
|
-
viewMessageCodex: _message
|
|
6369
|
+
viewMessageCodex: _message,
|
|
6370
|
+
failed: false
|
|
6070
6371
|
});
|
|
6071
|
-
case
|
|
6372
|
+
case 51:
|
|
6072
6373
|
return _context7.abrupt("return", {
|
|
6073
6374
|
doDeleteBackGrid: false,
|
|
6074
|
-
elemIdsToDelete: []
|
|
6375
|
+
elemIdsToDelete: [],
|
|
6376
|
+
failed: false
|
|
6075
6377
|
});
|
|
6076
|
-
case
|
|
6378
|
+
case 52:
|
|
6077
6379
|
return _context7.abrupt("return", {
|
|
6078
6380
|
doDeleteBackGrid: false,
|
|
6079
|
-
elemIdsToDelete: []
|
|
6381
|
+
elemIdsToDelete: [],
|
|
6382
|
+
failed: false
|
|
6080
6383
|
});
|
|
6081
|
-
case
|
|
6384
|
+
case 53:
|
|
6082
6385
|
case "end":
|
|
6083
6386
|
return _context7.stop();
|
|
6084
6387
|
}
|