@crystaldesign/web-planner-logic 25.13.0-beta.9 → 25.14.0-beta.1
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-9dc63e6c.js → DivaBoxPlanner-1aa00c05.js} +949 -632
- package/build/cjs/{DivaStandardPlanner-edc8adbb.js → DivaStandardPlanner-6f7f29c2.js} +101 -74
- package/build/cjs/{DoorPlanner-4184aa93.js → DoorPlanner-cac35b21.js} +1 -1
- package/build/cjs/{Host3DSignalR-3e4afb1c.js → Host3DSignalR-99bf15f7.js} +19 -1
- package/build/cjs/{LiviqueWWSHandler-566296fe.js → LiviqueWWSHandler-96b45f30.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-c131cf9d.js → PfisterWWSHandler-ca57914a.js} +1 -1
- package/build/cjs/{PlannerHandler2D-cdf785a8.js → PlannerHandler2D-c2f424fb.js} +1 -1
- package/build/cjs/{SeriousBasketHandler-62a42abd.js → SeriousBasketHandler-3da471b1.js} +1 -1
- package/build/cjs/{ShelfPlanner-5d155708.js → ShelfPlanner-0e604bef.js} +1 -1
- package/build/cjs/{StandardWWSHandler-e33be010.js → StandardWWSHandler-7830aef9.js} +1 -1
- package/build/cjs/{index-589e2f4b.js → index-66e9bbd7.js} +2267 -1352
- package/build/cjs/index.js +3 -1
- package/build/esm/{DivaBoxPlanner-091c8b09.js → DivaBoxPlanner-8c163d35.js} +949 -632
- package/build/esm/{DivaStandardPlanner-8c6fe69d.js → DivaStandardPlanner-d89575a9.js} +101 -74
- package/build/esm/{DoorPlanner-b7931e1b.js → DoorPlanner-a5b01dbb.js} +1 -1
- package/build/esm/{Host3DSignalR-f59bbfff.js → Host3DSignalR-45d8f4c4.js} +19 -1
- package/build/esm/{LiviqueWWSHandler-17487162.js → LiviqueWWSHandler-ef620655.js} +1 -1
- package/build/esm/{PfisterWWSHandler-38fd3e0b.js → PfisterWWSHandler-bfd319db.js} +1 -1
- package/build/esm/{PlannerHandler2D-80d37ff1.js → PlannerHandler2D-af50a706.js} +1 -1
- package/build/esm/{SeriousBasketHandler-2843e656.js → SeriousBasketHandler-40a88689.js} +1 -1
- package/build/esm/{ShelfPlanner-d144ac1f.js → ShelfPlanner-e9996b84.js} +1 -1
- package/build/esm/{StandardWWSHandler-c87284af.js → StandardWWSHandler-f6e8e368.js} +1 -1
- package/build/esm/{index-f875e861.js → index-f5485f21.js} +2266 -1353
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/index.d.ts +4 -2
- 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 +82 -0
- package/build/types/web-planner-logic/src/interface/API/AiImageResult.d.ts.map +1 -0
- package/build/types/web-planner-logic/src/interface/API/Checkout.d.ts +4 -1
- 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 +2 -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 +19 -0
- package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +6 -15
- package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogPlannerArticleViewDataType.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/Articles/CatalogPlannerArticleViewDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/CoreTypes/index.d.ts +2 -0
- 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 -1
- package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/FunctionTypes/index.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionDataTypes.d.ts +6 -0
- package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionDataTypes.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionValueView.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/OptionTypes/ArticleOptionValueView.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts +26 -20
- package/build/types/web-planner-logic/src/interface/OptionTypes/CatalogOptionDataTypes.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts +1 -1
- package/build/types/web-planner-logic/src/interface/ShelfPlanner/ShelfAccessoiresView.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/interface/ViewTypes/index.d.ts +9 -0
- 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 +5 -0
- package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +2 -0
- package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +32 -0
- 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 +48 -5
- 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 +30 -6
- 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 +3 -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 -0
- 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 +12 -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 +1 -0
- 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/DivaMediaServiceHandler.d.ts +10 -0
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/DivaMediaServiceHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/Host3DSignalR.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/Rendering.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts +8 -0
- package/build/types/web-planner-logic/src/logic/Set/DivaSet.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +17 -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 +3 -13
- 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 +3 -3
- package/build/types/web-planner-logic/src/model/Articles/Article/DivaCatalogArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts +3 -3
- package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +3 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts +6 -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 +2 -1
- package/build/types/web-planner-logic/src/model/Options/ArticleOptionData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts +3 -9
- package/build/types/web-planner-logic/src/model/Options/ArticleOptionValueData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts +5 -3
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts +6 -4
- package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/BoxPlannerData.d.ts +2 -1
- package/build/types/web-planner-logic/src/model/Planner/BoxPlannerData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/PlannerInteractionData.d.ts +7 -2
- package/build/types/web-planner-logic/src/model/Planner/PlannerInteractionData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/datas/environments/scripts/pfister-prod.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/datas/environments/scripts/pfister-quality.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/datas/environments/testing/pfister-dev.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/datas/environments/testing/retail-dev.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/test/datas/environments/testing/retail-test.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -5,10 +5,10 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-66e9bbd7.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
11
|
+
var PlannerHandler2D = require('./PlannerHandler2D-c2f424fb.js');
|
|
12
12
|
require('@babel/runtime/helpers/slicedToArray');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
@@ -1834,6 +1834,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1834
1834
|
* Elements without bottom plate are "Garderobe" or "Offenes Fach ohne Boden"
|
|
1835
1835
|
*/
|
|
1836
1836
|
_defineProperty__default["default"](this, "getElementHasBottomPlate", function (curElement, optionHandler) {
|
|
1837
|
+
if (!curElement) return false;
|
|
1837
1838
|
if (_this.constructionRules.knotInfo.elementsWithGroundPlate) {
|
|
1838
1839
|
for (var i = 0; i < _this.constructionRules.knotInfo.elementsWithGroundPlate.length; i++) {
|
|
1839
1840
|
var onOPT = _this.constructionRules.knotInfo.elementsWithGroundPlate[i].onOPT;
|
|
@@ -1850,6 +1851,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1850
1851
|
* @param optionHandler
|
|
1851
1852
|
*/
|
|
1852
1853
|
_defineProperty__default["default"](this, "getElementIsCornerElement", function (curElement, optionHandler) {
|
|
1854
|
+
if (!curElement) return false;
|
|
1853
1855
|
return _this.constructionRules.hasCORNER && _this.arrayContainsValue(_this.constructionRules.knotInfo.cornerElements.onOPVs, _this.getOptionVal(curElement.getElementId(), _this.constructionRules.knotInfo.cornerElements.onOPT, optionHandler));
|
|
1854
1856
|
});
|
|
1855
1857
|
_defineProperty__default["default"](this, "getElementIsGarderobeElement", function (curElement, optionHandler) {
|
|
@@ -1869,9 +1871,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1869
1871
|
if (boxPlannerGrid.getElementHasTopElement(curElement.getElementId())) {
|
|
1870
1872
|
var allTopElements = boxPlannerGrid.getTopElements(curElement.getElementId());
|
|
1871
1873
|
var oneTrueFound = false;
|
|
1872
|
-
|
|
1873
|
-
if (_this.getElementHasBottomPlate(allTopElements[i], optionHandler)) oneTrueFound = true;
|
|
1874
|
-
}
|
|
1874
|
+
if (_this.getElementHasBottomPlate(allTopElements[0], optionHandler)) oneTrueFound = true;
|
|
1875
1875
|
return oneTrueFound;
|
|
1876
1876
|
}
|
|
1877
1877
|
return true;
|
|
@@ -2057,7 +2057,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2057
2057
|
}
|
|
2058
2058
|
}
|
|
2059
2059
|
if (cellsInGrid.endColIndex < colCount - 1) {
|
|
2060
|
-
var rightElement = boxPlannerGrid.getPlannerElementAtGridPos(cellsInGrid.endColIndex
|
|
2060
|
+
var rightElement = boxPlannerGrid.getPlannerElementAtGridPos(cellsInGrid.endColIndex, 0, false);
|
|
2061
2061
|
if (rightElement) {
|
|
2062
2062
|
var _cornerVal = this.getOptionVal(rightElement.getElementId(), 'OPTELEMENT', optionHandler);
|
|
2063
2063
|
if (_cornerVal == 'OPVECK_I') {
|
|
@@ -2072,7 +2072,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2072
2072
|
}
|
|
2073
2073
|
if (this.constructionRules.avoidOptionLastCol) {
|
|
2074
2074
|
var elementType = this.getOptionVal(allElementIds[i], this.constructionRules.avoidOptionLastCol.onOPT, optionHandler);
|
|
2075
|
-
if (this.arrayContainsValue(this.constructionRules.avoidOptionLastCol.onOPVs, elementType) && cellsInGrid.endColIndex == colCount - 1) {
|
|
2075
|
+
if (this.arrayContainsValue(this.constructionRules.avoidOptionLastCol.onOPVs, elementType) && cellsInGrid.endColIndex - 1 == colCount - 1) {
|
|
2076
2076
|
this.setOptionValue(allElementIds[i], this.constructionRules.avoidOptionLastCol.onOPT, this.constructionRules.avoidOptionLastCol.defaultOpv, optionHandler);
|
|
2077
2077
|
}
|
|
2078
2078
|
}
|
|
@@ -2231,6 +2231,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2231
2231
|
//Setze alle Fuße zurück
|
|
2232
2232
|
//DEPRECTED this.setOptionValue(allElementIds[i], "OPTFAF_LINKS", "OPVOHNE_FAF", optionHandler);
|
|
2233
2233
|
//DEPRECTED this.setOptionValue(allElementIds[i], "OPTFAF_RECHTS", "OPVOHNE_FAF", optionHandler);
|
|
2234
|
+
|
|
2234
2235
|
this.setOptionValue(allElementIds[i], 'OPTFAF_L_V', 'OPVOHNE_FAF', optionHandler);
|
|
2235
2236
|
this.setOptionValue(allElementIds[i], 'OPTFAF_L_H', 'OPVOHNE_FAF', optionHandler);
|
|
2236
2237
|
this.setOptionValue(allElementIds[i], 'OPTFAF_R_V', 'OPVOHNE_FAF', optionHandler);
|
|
@@ -2445,35 +2446,17 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2445
2446
|
var bottomElemts = boxPlannerGrid.getBottomElements(curElement.ElementId);
|
|
2446
2447
|
var topRightElemt = !fromBackside ? boxPlannerGrid.getTopRightElement(curElement.ElementId) : boxPlannerGrid.getTopLeftElement(curElement.ElementId);
|
|
2447
2448
|
if (rightElemts.length > 0) {
|
|
2448
|
-
|
|
2449
|
-
LOG$2.error(new DivaUtils.DivaError('BoxPlannerError - only one OPTNACHBAR_RECHTS allowed', {
|
|
2450
|
-
code: 'WC_0012'
|
|
2451
|
-
}));
|
|
2452
|
-
} else {
|
|
2453
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_RECHTS', this.getOptionVal(rightElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2454
|
-
}
|
|
2449
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_RECHTS', this.getOptionVal(rightElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2455
2450
|
} else {
|
|
2456
2451
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_RECHTS', optionHandler);
|
|
2457
2452
|
}
|
|
2458
2453
|
if (leftElemts.length > 0) {
|
|
2459
|
-
|
|
2460
|
-
LOG$2.error(new DivaUtils.DivaError('BoxPlannerError - only one OPTNACHBAR_LINKS allowed', {
|
|
2461
|
-
code: 'WC_0012'
|
|
2462
|
-
}));
|
|
2463
|
-
} else {
|
|
2464
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_LINKS', this.getOptionVal(leftElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2465
|
-
}
|
|
2454
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_LINKS', this.getOptionVal(leftElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2466
2455
|
} else {
|
|
2467
2456
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_LINKS', optionHandler);
|
|
2468
2457
|
}
|
|
2469
2458
|
if (topElemts.length > 0) {
|
|
2470
|
-
|
|
2471
|
-
LOG$2.error(new DivaUtils.DivaError('BoxPlannerError - only one OPTNACHBAR_OBEN allowed', {
|
|
2472
|
-
code: 'WC_0012'
|
|
2473
|
-
}));
|
|
2474
|
-
} else {
|
|
2475
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_OBEN', this.getOptionVal(topElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2476
|
-
}
|
|
2459
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_OBEN', this.getOptionVal(topElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2477
2460
|
} else {
|
|
2478
2461
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_OBEN', optionHandler);
|
|
2479
2462
|
}
|
|
@@ -2484,13 +2467,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2484
2467
|
}
|
|
2485
2468
|
if (this.constructionRules.hasNeighbors && this.constructionRules.hasNeighbors.indexOf('OPTNACHBAR_UNTEN') >= 0) {
|
|
2486
2469
|
if (bottomElemts.length > 0) {
|
|
2487
|
-
|
|
2488
|
-
LOG$2.error(new DivaUtils.DivaError('BoxPlannerError - only one OPTNACHBAR_UNTEN allowed', {
|
|
2489
|
-
code: 'WC_0012'
|
|
2490
|
-
}));
|
|
2491
|
-
} else {
|
|
2492
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_UNTEN', this.getOptionVal(bottomElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2493
|
-
}
|
|
2470
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_UNTEN', this.getOptionVal(bottomElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2494
2471
|
} else {
|
|
2495
2472
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_UNTEN', optionHandler);
|
|
2496
2473
|
}
|
|
@@ -2544,7 +2521,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2544
2521
|
}
|
|
2545
2522
|
}
|
|
2546
2523
|
}
|
|
2547
|
-
if (this.getElementHasBottomPlate(backElement, optionHandler)) {
|
|
2524
|
+
if (backElement && this.getElementHasBottomPlate(backElement, optionHandler)) {
|
|
2548
2525
|
//Set the opposite element has rahmen unten vorne
|
|
2549
2526
|
this.setOptionDoShow(frontElement, 'OPTOPP_RAHMEN_U_V', optionHandler);
|
|
2550
2527
|
} else {
|
|
@@ -2616,31 +2593,112 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2616
2593
|
}
|
|
2617
2594
|
return undefined;
|
|
2618
2595
|
}
|
|
2596
|
+
}, {
|
|
2597
|
+
key: "validateDimensionRule",
|
|
2598
|
+
value: function validateDimensionRule(dimRule, boxPlannerSize) {
|
|
2599
|
+
var isOver = false;
|
|
2600
|
+
var isEqual = false;
|
|
2601
|
+
if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
|
|
2602
|
+
if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
|
|
2603
|
+
if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
|
|
2604
|
+
if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
|
|
2605
|
+
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
|
|
2606
|
+
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
|
|
2607
|
+
if (isOver) {
|
|
2608
|
+
if (dimRule.higherLimit.toLowerCase() == 'doshow') return true;else if (dimRule.higherLimit.toLowerCase() == 'dohide') return false;
|
|
2609
|
+
} else if (isEqual) {
|
|
2610
|
+
return true;
|
|
2611
|
+
} else {
|
|
2612
|
+
if (dimRule.lowerLimit.toLowerCase() == 'doshow') return true;else if (dimRule.lowerLimit.toLowerCase() == 'dohide') return false;
|
|
2613
|
+
}
|
|
2614
|
+
return false;
|
|
2615
|
+
}
|
|
2616
|
+
|
|
2617
|
+
/*
|
|
2618
|
+
* This function corrects the elements in one row when the top element is wider then the bottom one.
|
|
2619
|
+
* Goal is to make all the bottom ones also atleast as wide as the top one because no element can overhang - omlin setup
|
|
2620
|
+
*/
|
|
2621
|
+
}, {
|
|
2622
|
+
key: "correctOverHangingElement",
|
|
2623
|
+
value: function correctOverHangingElement(changedElementId, boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2624
|
+
var _this2 = this;
|
|
2625
|
+
if (!changedOPTs) return;
|
|
2626
|
+
var _loop = function _loop() {
|
|
2627
|
+
var elements = boxPlannerGrid.getAllElementsInColumn(columndIdx, false, false); // from bottom to top
|
|
2628
|
+
var lastElement = null;
|
|
2629
|
+
var changedElementIdx = elements.findIndex(function (e) {
|
|
2630
|
+
return e.ElementId == changedElementId;
|
|
2631
|
+
});
|
|
2632
|
+
elements.forEach(function (element, idx) {
|
|
2633
|
+
var _lastElement$Width, _element$Width, _lastElement$Depth, _element$Depth;
|
|
2634
|
+
if (!lastElement) {
|
|
2635
|
+
lastElement = element;
|
|
2636
|
+
return;
|
|
2637
|
+
}
|
|
2638
|
+
if (((_lastElement$Width = lastElement.Width) !== null && _lastElement$Width !== void 0 ? _lastElement$Width : 0) > ((_element$Width = element.Width) !== null && _element$Width !== void 0 ? _element$Width : 0)) {
|
|
2639
|
+
// is either the above wider opt or the one under and smaller
|
|
2640
|
+
var t = Object.entries(changedOPTs);
|
|
2641
|
+
var opt = t[0][0];
|
|
2642
|
+
var opv = t[0][1];
|
|
2643
|
+
if (idx < changedElementIdx) {
|
|
2644
|
+
_this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2645
|
+
} else {
|
|
2646
|
+
_this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2647
|
+
}
|
|
2648
|
+
}
|
|
2649
|
+
if (((_lastElement$Depth = lastElement.Depth) !== null && _lastElement$Depth !== void 0 ? _lastElement$Depth : 0) > ((_element$Depth = element.Depth) !== null && _element$Depth !== void 0 ? _element$Depth : 0)) {
|
|
2650
|
+
var _t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
|
|
2651
|
+
var _opt = _t[0][0];
|
|
2652
|
+
var _opv2 = _t[0][1];
|
|
2653
|
+
_this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
|
|
2654
|
+
}
|
|
2655
|
+
lastElement = element;
|
|
2656
|
+
});
|
|
2657
|
+
};
|
|
2658
|
+
for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
|
|
2659
|
+
_loop();
|
|
2660
|
+
}
|
|
2661
|
+
}
|
|
2662
|
+
}, {
|
|
2663
|
+
key: "correctFoot",
|
|
2664
|
+
value: function correctFoot(boxPlannerGrid, optionHandler) {
|
|
2665
|
+
var _this3 = this;
|
|
2666
|
+
var elements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2667
|
+
elements.forEach(function (e) {
|
|
2668
|
+
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId)) _this3.setOptionValue(e.ElementId, 'OPTFUSS_SYS', 'OPVOHNE', optionHandler);
|
|
2669
|
+
});
|
|
2670
|
+
}
|
|
2671
|
+
|
|
2672
|
+
/*
|
|
2673
|
+
* This function corrects Options that are based on the total planning dimensions
|
|
2674
|
+
* */
|
|
2619
2675
|
}, {
|
|
2620
2676
|
key: "correctOptionsInfluencedByDimensions",
|
|
2621
2677
|
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2622
|
-
var
|
|
2678
|
+
var _this4 = this;
|
|
2623
2679
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2624
2680
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2625
2681
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2626
2682
|
this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
}
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
}
|
|
2643
|
-
|
|
2683
|
+
if (Array.isArray(dimRule)) {
|
|
2684
|
+
if (dimRule.every(function (rule) {
|
|
2685
|
+
return _this4.validateDimensionRule(rule, boxPlannerSize);
|
|
2686
|
+
})) dimRule.forEach(function (rule) {
|
|
2687
|
+
return allElements.forEach(function (element) {
|
|
2688
|
+
return _this4.setOptionDoShow(element.ElementId, rule.option, optionHandler);
|
|
2689
|
+
});
|
|
2690
|
+
});else dimRule.forEach(function (rule) {
|
|
2691
|
+
return allElements.forEach(function (element) {
|
|
2692
|
+
return _this4.setOptionDoHide(element.ElementId, rule.option, optionHandler);
|
|
2693
|
+
});
|
|
2694
|
+
});
|
|
2695
|
+
} else {
|
|
2696
|
+
if (_this4.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
|
|
2697
|
+
return _this4.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
|
|
2698
|
+
});else allElements.forEach(function (element) {
|
|
2699
|
+
return _this4.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2700
|
+
});
|
|
2701
|
+
}
|
|
2644
2702
|
});
|
|
2645
2703
|
}
|
|
2646
2704
|
}, {
|
|
@@ -2703,27 +2761,32 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2703
2761
|
}, {
|
|
2704
2762
|
key: "correctCoverPlate",
|
|
2705
2763
|
value: function correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler) {
|
|
2706
|
-
var
|
|
2764
|
+
var _this5 = this;
|
|
2707
2765
|
if (coverPlateRule.onHighestElementsOnly) return; // System4 not handled by this logic yet
|
|
2708
2766
|
|
|
2709
2767
|
var elementsPerSeries = boxPlannerGrid.getHighestElementsPerSeries(!!coverPlateRule.onBottom);
|
|
2710
2768
|
elementsPerSeries.forEach(function (serie) {
|
|
2711
2769
|
var seriesWidth = 0;
|
|
2712
2770
|
var seriesWidthToPlateOpv = coverPlateRule.seriesWidthToPlateOpv;
|
|
2771
|
+
|
|
2772
|
+
// default => set all to ohne
|
|
2713
2773
|
serie.forEach(function (element) {
|
|
2714
|
-
var _element$
|
|
2715
|
-
seriesWidth += (_element$
|
|
2716
|
-
|
|
2774
|
+
var _element$Width2;
|
|
2775
|
+
seriesWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
|
|
2776
|
+
boxPlannerGrid.getAllElementsDown(element.ElementId).elements.forEach(function (e) {
|
|
2777
|
+
return _this5.setOptionValue(e, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2778
|
+
});
|
|
2779
|
+
_this5.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2717
2780
|
});
|
|
2718
2781
|
var firstUncoveredElement = serie[0];
|
|
2719
|
-
var
|
|
2782
|
+
var _loop2 = function _loop2() {
|
|
2720
2783
|
var opv = seriesWidthToPlateOpv.findLast(function (stp) {
|
|
2721
2784
|
// is a clean element ending
|
|
2722
2785
|
var helperWidth = 0;
|
|
2723
2786
|
var isClean = false;
|
|
2724
2787
|
serie.forEach(function (element) {
|
|
2725
|
-
var _element$
|
|
2726
|
-
helperWidth += (_element$
|
|
2788
|
+
var _element$Width3;
|
|
2789
|
+
helperWidth += (_element$Width3 = element.Width) !== null && _element$Width3 !== void 0 ? _element$Width3 : 0;
|
|
2727
2790
|
if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
|
|
2728
2791
|
});
|
|
2729
2792
|
if (stp.limit <= seriesWidth && isClean) return true;
|
|
@@ -2732,7 +2795,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2732
2795
|
if (!opv) return {
|
|
2733
2796
|
v: void 0
|
|
2734
2797
|
};
|
|
2735
|
-
|
|
2798
|
+
_this5.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
|
|
2736
2799
|
var helperWidth = 0;
|
|
2737
2800
|
firstUncoveredElement = serie.find(function (e) {
|
|
2738
2801
|
var _e$Width;
|
|
@@ -2745,7 +2808,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2745
2808
|
},
|
|
2746
2809
|
_ret;
|
|
2747
2810
|
while (seriesWidth != 0) {
|
|
2748
|
-
_ret =
|
|
2811
|
+
_ret = _loop2();
|
|
2749
2812
|
if (_ret) return _ret.v;
|
|
2750
2813
|
}
|
|
2751
2814
|
});
|
|
@@ -3071,6 +3134,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3071
3134
|
key: "updateOptionLogicBoxPlanner",
|
|
3072
3135
|
value: function () {
|
|
3073
3136
|
var _updateOptionLogicBoxPlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(boxPlannerGrid, changedOPTs, targetElements, forceResetCornerElements) {
|
|
3137
|
+
var _targetElements;
|
|
3074
3138
|
var startTime, resultMessage, optionHandler, allElements, i, _iterator, _step, coverPlateRule, j, doChangeRetailArticleNumbers;
|
|
3075
3139
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
3076
3140
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -3145,8 +3209,10 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3145
3209
|
}
|
|
3146
3210
|
}
|
|
3147
3211
|
}
|
|
3212
|
+
this.correctFoot(boxPlannerGrid, optionHandler);
|
|
3148
3213
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3149
3214
|
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3215
|
+
this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
|
|
3150
3216
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3151
3217
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3152
3218
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
@@ -3155,13 +3221,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3155
3221
|
}
|
|
3156
3222
|
}
|
|
3157
3223
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3158
|
-
_context.next =
|
|
3224
|
+
_context.next = 29;
|
|
3159
3225
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3160
|
-
case
|
|
3226
|
+
case 29:
|
|
3161
3227
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3162
3228
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3163
3229
|
return _context.abrupt("return", resultMessage);
|
|
3164
|
-
case
|
|
3230
|
+
case 32:
|
|
3165
3231
|
case "end":
|
|
3166
3232
|
return _context.stop();
|
|
3167
3233
|
}
|
|
@@ -3223,21 +3289,26 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3223
3289
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3224
3290
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
3225
3291
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
3292
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3293
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3226
3294
|
var LOG$1 = DivaUtils__default["default"].initLog('Planner', 'BOX-PLANNER_GRID');
|
|
3227
3295
|
var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
3228
3296
|
function BoxPlannerGrid(gridSetupParams, getValueOfOptionOfArticle) {
|
|
3229
3297
|
_classCallCheck__default["default"](this, BoxPlannerGrid);
|
|
3230
3298
|
_defineProperty__default["default"](this, "plannerElements", void 0);
|
|
3231
|
-
_defineProperty__default["default"](this, "
|
|
3232
|
-
//
|
|
3233
|
-
_defineProperty__default["default"](this, "backGrid", void 0);
|
|
3234
|
-
//if cell is empty it is undefined
|
|
3299
|
+
_defineProperty__default["default"](this, "generalPlanningState", void 0);
|
|
3300
|
+
// [0] == frontgrid, and [1] == backgrid
|
|
3235
3301
|
_defineProperty__default["default"](this, "hasActiveBackside", void 0);
|
|
3236
3302
|
_defineProperty__default["default"](this, "getValueOfOptionOfArticle", void 0);
|
|
3237
3303
|
_defineProperty__default["default"](this, "gridSetupParams", void 0);
|
|
3238
3304
|
this.plannerElements = new Map();
|
|
3239
|
-
|
|
3240
|
-
|
|
3305
|
+
|
|
3306
|
+
// the old logic
|
|
3307
|
+
this.generalPlanningState = {
|
|
3308
|
+
grids: [{
|
|
3309
|
+
matrix: [[]]
|
|
3310
|
+
}]
|
|
3311
|
+
};
|
|
3241
3312
|
this.gridSetupParams = gridSetupParams;
|
|
3242
3313
|
this.getValueOfOptionOfArticle = getValueOfOptionOfArticle;
|
|
3243
3314
|
this.hasActiveBackside = false;
|
|
@@ -3256,50 +3327,57 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3256
3327
|
if (this.gridSetupParams.forceSingleCellPerElement) {
|
|
3257
3328
|
var cell = {
|
|
3258
3329
|
//isEmpty: false,
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3330
|
+
plannedElement: {
|
|
3331
|
+
elementId: newElement.ElementId,
|
|
3332
|
+
basketId: newElement.getBasketId(),
|
|
3333
|
+
size: {
|
|
3334
|
+
width: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterWidth : newElement.getWidth(),
|
|
3335
|
+
height: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterHeight : newElement.getHeight(),
|
|
3336
|
+
depth: newElement.getDepth()
|
|
3337
|
+
},
|
|
3338
|
+
articleCodex: newElement.ArticleCodex,
|
|
3339
|
+
area: {
|
|
3340
|
+
fromX: startColIndex,
|
|
3341
|
+
toX: startColIndex + 1,
|
|
3342
|
+
fromY: startRowIndex,
|
|
3343
|
+
toY: startRowIndex + 1
|
|
3344
|
+
}
|
|
3345
|
+
},
|
|
3262
3346
|
index: new index.Vector2(startColIndex, startRowIndex)
|
|
3263
3347
|
};
|
|
3264
|
-
return
|
|
3265
|
-
cells: [cell],
|
|
3266
|
-
startColIndex: startColIndex,
|
|
3267
|
-
endColIndex: startColIndex,
|
|
3268
|
-
startRowIndex: startRowIndex,
|
|
3269
|
-
endRowIndex: startRowIndex,
|
|
3270
|
-
backside: backside,
|
|
3271
|
-
colCount: 1,
|
|
3272
|
-
rowCount: 1
|
|
3273
|
-
};
|
|
3348
|
+
return [cell];
|
|
3274
3349
|
}
|
|
3275
3350
|
if (!this.gridSetupParams.forceFixCellRasterSize) {
|
|
3276
3351
|
LOG$1.error(new DivaUtils.DivaError('Box planner with params forceSingleCellPerElement is false and forceFixCellRasterSize is false are not allowed'));
|
|
3277
3352
|
}
|
|
3278
3353
|
var colCount = Math.round(newElement.getWidth() / this.gridSetupParams.fixCellRasterWidth);
|
|
3279
|
-
var rowCount = Math.round(newElement.getHeight() / this.gridSetupParams.
|
|
3354
|
+
var rowCount = Math.round(newElement.getHeight() / this.gridSetupParams.fixCellRasterHeight);
|
|
3280
3355
|
var cells = [];
|
|
3281
3356
|
for (var i = 0; i < colCount; i++) {
|
|
3282
3357
|
for (var j = 0; j < rowCount; j++) {
|
|
3283
3358
|
var _cell = {
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3359
|
+
plannedElement: {
|
|
3360
|
+
basketId: newElement.getBasketId(),
|
|
3361
|
+
elementId: newElement.getElementId(),
|
|
3362
|
+
articleCodex: newElement.ArticleCodex,
|
|
3363
|
+
size: {
|
|
3364
|
+
width: newElement.getWidth(),
|
|
3365
|
+
depth: newElement.getDepth(),
|
|
3366
|
+
height: newElement.getHeight()
|
|
3367
|
+
},
|
|
3368
|
+
area: {
|
|
3369
|
+
fromX: startColIndex,
|
|
3370
|
+
toX: startColIndex + newElement.getWidth() / this.gridSetupParams.fixCellRasterWidth,
|
|
3371
|
+
fromY: startRowIndex,
|
|
3372
|
+
toY: startRowIndex + newElement.getHeight() / this.gridSetupParams.fixCellRasterHeight
|
|
3373
|
+
}
|
|
3374
|
+
},
|
|
3288
3375
|
index: new index.Vector2(startColIndex + i, startRowIndex + j)
|
|
3289
3376
|
};
|
|
3290
3377
|
cells.push(_cell);
|
|
3291
3378
|
}
|
|
3292
3379
|
}
|
|
3293
|
-
return
|
|
3294
|
-
cells: cells,
|
|
3295
|
-
startColIndex: startColIndex,
|
|
3296
|
-
endColIndex: startColIndex + colCount - 1,
|
|
3297
|
-
startRowIndex: startRowIndex,
|
|
3298
|
-
endRowIndex: startRowIndex + rowCount - 1,
|
|
3299
|
-
backside: backside,
|
|
3300
|
-
colCount: colCount,
|
|
3301
|
-
rowCount: rowCount
|
|
3302
|
-
};
|
|
3380
|
+
return cells;
|
|
3303
3381
|
}
|
|
3304
3382
|
}, {
|
|
3305
3383
|
key: "createEmptyCells",
|
|
@@ -3345,7 +3423,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3345
3423
|
key: "getAllUsedCellsInGrid",
|
|
3346
3424
|
value: function getAllUsedCellsInGrid(backside) {
|
|
3347
3425
|
var allCellsInGrid = new Array();
|
|
3348
|
-
var curGrid = backside ? this.
|
|
3426
|
+
var curGrid = backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3349
3427
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3350
3428
|
for (var j = 0; j < curGrid[i].length; j++) {
|
|
3351
3429
|
if (curGrid[i][j] != undefined) allCellsInGrid.push(curGrid[i][j]);
|
|
@@ -3359,9 +3437,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3359
3437
|
*/
|
|
3360
3438
|
}, {
|
|
3361
3439
|
key: "getGridColumnWidth",
|
|
3362
|
-
value: function getGridColumnWidth(
|
|
3363
|
-
|
|
3364
|
-
|
|
3440
|
+
value: function getGridColumnWidth(x) {
|
|
3441
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3442
|
+
for (var y = 0; x < frontGrid[y].length; x++) {
|
|
3443
|
+
var _plannedElement$size$, _plannedElement;
|
|
3444
|
+
var cell = frontGrid[x][y];
|
|
3445
|
+
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;
|
|
3365
3446
|
}
|
|
3366
3447
|
return 0;
|
|
3367
3448
|
}
|
|
@@ -3373,14 +3454,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3373
3454
|
*/
|
|
3374
3455
|
}, {
|
|
3375
3456
|
key: "getGridColumnHeight",
|
|
3376
|
-
value: function getGridColumnHeight(
|
|
3457
|
+
value: function getGridColumnHeight(x) {
|
|
3377
3458
|
var height = 0;
|
|
3378
3459
|
var firstElementFound = false;
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3460
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3461
|
+
if (frontGrid.length > x) {
|
|
3462
|
+
var column = frontGrid[x];
|
|
3463
|
+
for (var y = column.length - 1; y >= 0; y--) {
|
|
3464
|
+
var _plannedElement$size$2, _plannedElement2;
|
|
3465
|
+
var cell = column[y];
|
|
3466
|
+
if (!firstElementFound && cell) firstElementFound = true;
|
|
3467
|
+
if (firstElementFound) height += (_plannedElement$size$2 = (_plannedElement2 = cell.plannedElement) === null || _plannedElement2 === void 0 ? void 0 : _plannedElement2.size.height) !== null && _plannedElement$size$2 !== void 0 ? _plannedElement$size$2 : 0;
|
|
3468
|
+
y = cell.plannedElement ? cell.plannedElement.area.fromY - 1 : y - 1;
|
|
3384
3469
|
}
|
|
3385
3470
|
}
|
|
3386
3471
|
return height;
|
|
@@ -3393,31 +3478,37 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3393
3478
|
key: "deleteElementByIdFromGrid",
|
|
3394
3479
|
value: function deleteElementByIdFromGrid(elementIdTodelete) {
|
|
3395
3480
|
var gridCellsToDelete = this.getCellsInGridByElementId(elementIdTodelete);
|
|
3396
|
-
var curGrid = gridCellsToDelete.backside ? this.
|
|
3481
|
+
var curGrid = gridCellsToDelete.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3397
3482
|
var rowCountToDelete = 1 + (gridCellsToDelete.endRowIndex - gridCellsToDelete.startRowIndex);
|
|
3398
|
-
var doDeleteCol = false;
|
|
3399
|
-
var startColToDelete = gridCellsToDelete.startColIndex;
|
|
3400
|
-
var colCountToDelete = 1 + (gridCellsToDelete.startColIndex - gridCellsToDelete.endColIndex);
|
|
3401
3483
|
|
|
3402
3484
|
//check if we need to delete all cols
|
|
3403
|
-
if (this.getRowCount(gridCellsToDelete.startColIndex, gridCellsToDelete.backside) == rowCountToDelete)
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
|
|
3485
|
+
if (this.getRowCount(gridCellsToDelete.startColIndex, gridCellsToDelete.backside) == rowCountToDelete) ;
|
|
3486
|
+
gridCellsToDelete.cells.reverse().forEach(function (cell) {
|
|
3487
|
+
curGrid[cell.index.x].splice(cell.index.y, 1);
|
|
3488
|
+
if (curGrid[cell.index.x].length == 0) curGrid.splice(cell.index.x, 1);
|
|
3489
|
+
});
|
|
3490
|
+
var refreshedGrid = [];
|
|
3491
|
+
curGrid.forEach(function (row, x) {
|
|
3492
|
+
refreshedGrid[x] = [];
|
|
3493
|
+
row.forEach(function (column, y) {
|
|
3494
|
+
var area = column.plannedElement.area;
|
|
3495
|
+
refreshedGrid[x][y] = {
|
|
3496
|
+
index: {
|
|
3497
|
+
x: x,
|
|
3498
|
+
y: y
|
|
3499
|
+
},
|
|
3500
|
+
plannedElement: _objectSpread(_objectSpread({}, column.plannedElement), {}, {
|
|
3501
|
+
area: {
|
|
3502
|
+
fromX: x,
|
|
3503
|
+
fromY: y,
|
|
3504
|
+
toX: x + (area.toX - area.fromX),
|
|
3505
|
+
toY: y + (area.toY - area.fromY)
|
|
3506
|
+
}
|
|
3507
|
+
})
|
|
3508
|
+
};
|
|
3509
|
+
});
|
|
3510
|
+
});
|
|
3511
|
+
if (gridCellsToDelete.backside) this.generalPlanningState.grids[1].matrix = refreshedGrid;else this.generalPlanningState.grids[0].matrix = refreshedGrid;
|
|
3421
3512
|
}
|
|
3422
3513
|
|
|
3423
3514
|
/**
|
|
@@ -3430,11 +3521,14 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3430
3521
|
}, {
|
|
3431
3522
|
key: "getPlannerElementAtGridPos",
|
|
3432
3523
|
value: function getPlannerElementAtGridPos(curXPos, curYPos, fromBackmodul) {
|
|
3433
|
-
var curElementGrid = fromBackmodul ? this.
|
|
3524
|
+
var curElementGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3434
3525
|
if (curElementGrid[curXPos] && curElementGrid[curXPos][curYPos]) {
|
|
3526
|
+
var _cell$plannedElement;
|
|
3435
3527
|
var cell = curElementGrid[curXPos][curYPos];
|
|
3436
3528
|
if (cell == undefined) return undefined;
|
|
3437
|
-
|
|
3529
|
+
var elementId = (_cell$plannedElement = cell.plannedElement) === null || _cell$plannedElement === void 0 ? void 0 : _cell$plannedElement.elementId;
|
|
3530
|
+
if (!elementId) return undefined;
|
|
3531
|
+
return this.plannerElements.get(elementId);
|
|
3438
3532
|
}
|
|
3439
3533
|
return undefined;
|
|
3440
3534
|
}
|
|
@@ -3448,82 +3542,53 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3448
3542
|
}, {
|
|
3449
3543
|
key: "getCellsInGridByElementId",
|
|
3450
3544
|
value: function getCellsInGridByElementId(elementId) {
|
|
3451
|
-
var
|
|
3545
|
+
var _this$generalPlanning, _cells$0$plannedEleme, _area$fromX, _area$toX, _area$fromY, _area$toY;
|
|
3452
3546
|
var onBacksideFound = false;
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
}
|
|
3461
|
-
}
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
onBacksideFound = true;
|
|
3469
|
-
}
|
|
3547
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3548
|
+
var backGrid = (_this$generalPlanning = this.generalPlanningState.grids[1]) === null || _this$generalPlanning === void 0 ? void 0 : _this$generalPlanning.matrix;
|
|
3549
|
+
var cells = [];
|
|
3550
|
+
frontGrid.forEach(function (x) {
|
|
3551
|
+
return x.forEach(function (y) {
|
|
3552
|
+
var _y$plannedElement;
|
|
3553
|
+
if (((_y$plannedElement = y.plannedElement) === null || _y$plannedElement === void 0 ? void 0 : _y$plannedElement.elementId) == elementId) cells.push(y);
|
|
3554
|
+
});
|
|
3555
|
+
});
|
|
3556
|
+
backGrid === null || backGrid === void 0 || backGrid.forEach(function (x) {
|
|
3557
|
+
return x.forEach(function (y) {
|
|
3558
|
+
var _y$plannedElement2;
|
|
3559
|
+
if (((_y$plannedElement2 = y.plannedElement) === null || _y$plannedElement2 === void 0 ? void 0 : _y$plannedElement2.elementId) == elementId) {
|
|
3560
|
+
cells.push(y);
|
|
3561
|
+
onBacksideFound = true;
|
|
3470
3562
|
}
|
|
3471
|
-
}
|
|
3472
|
-
}
|
|
3473
|
-
if (
|
|
3474
|
-
cells:
|
|
3475
|
-
backside:
|
|
3476
|
-
startColIndex:
|
|
3477
|
-
endColIndex:
|
|
3478
|
-
startRowIndex:
|
|
3479
|
-
endRowIndex:
|
|
3563
|
+
});
|
|
3564
|
+
});
|
|
3565
|
+
if (cells.length == 0) return {
|
|
3566
|
+
cells: cells,
|
|
3567
|
+
backside: onBacksideFound,
|
|
3568
|
+
startColIndex: 0,
|
|
3569
|
+
endColIndex: 0,
|
|
3570
|
+
startRowIndex: 0,
|
|
3571
|
+
endRowIndex: 0,
|
|
3480
3572
|
colCount: 0,
|
|
3481
3573
|
rowCount: 0
|
|
3482
3574
|
};
|
|
3483
|
-
|
|
3484
|
-
cells: [firstCell],
|
|
3485
|
-
backside: onBacksideFound,
|
|
3486
|
-
startColIndex: firstCell.index.x,
|
|
3487
|
-
endColIndex: firstCell.index.x,
|
|
3488
|
-
startRowIndex: firstCell.index.y,
|
|
3489
|
-
endRowIndex: firstCell.index.y,
|
|
3490
|
-
colCount: 1,
|
|
3491
|
-
rowCount: 1
|
|
3492
|
-
};
|
|
3493
|
-
//Now find the other cells that have the same element
|
|
3494
|
-
|
|
3495
|
-
var curGrid = onBacksideFound ? this.backGrid : this.frontGrid;
|
|
3496
|
-
var cells = [firstCell];
|
|
3497
|
-
var startColIndex = Infinity;
|
|
3498
|
-
var endColIndex = -Infinity;
|
|
3499
|
-
var startRowIndex = Infinity;
|
|
3500
|
-
var endRowIndex = -Infinity;
|
|
3501
|
-
for (var i = firstCell.index.x; i < curGrid.length; i++) {
|
|
3502
|
-
for (var j = firstCell.index.y + 1; j < curGrid.length; j++) {
|
|
3503
|
-
var nextCell = curGrid[i][j];
|
|
3504
|
-
if (nextCell && nextCell.plannerElementId == elementId) {
|
|
3505
|
-
if (i < startColIndex) startColIndex = i;
|
|
3506
|
-
if (i > endColIndex) endColIndex = i;
|
|
3507
|
-
if (j < startRowIndex) startRowIndex = j;
|
|
3508
|
-
if (j > endColIndex) endRowIndex = j;
|
|
3509
|
-
cells.push(nextCell); //also this cell has the same element
|
|
3510
|
-
//TODO
|
|
3511
|
-
} else {
|
|
3512
|
-
break;
|
|
3513
|
-
}
|
|
3514
|
-
}
|
|
3515
|
-
}
|
|
3575
|
+
var area = (_cells$0$plannedEleme = cells[0].plannedElement) === null || _cells$0$plannedEleme === void 0 ? void 0 : _cells$0$plannedEleme.area;
|
|
3516
3576
|
return {
|
|
3517
3577
|
cells: cells,
|
|
3518
3578
|
backside: onBacksideFound,
|
|
3519
|
-
startColIndex:
|
|
3520
|
-
endColIndex:
|
|
3521
|
-
startRowIndex:
|
|
3522
|
-
endRowIndex:
|
|
3523
|
-
colCount:
|
|
3524
|
-
rowCount:
|
|
3579
|
+
startColIndex: (_area$fromX = area === null || area === void 0 ? void 0 : area.fromX) !== null && _area$fromX !== void 0 ? _area$fromX : 0,
|
|
3580
|
+
endColIndex: (_area$toX = area === null || area === void 0 ? void 0 : area.toX) !== null && _area$toX !== void 0 ? _area$toX : 0,
|
|
3581
|
+
startRowIndex: (_area$fromY = area === null || area === void 0 ? void 0 : area.fromY) !== null && _area$fromY !== void 0 ? _area$fromY : 0,
|
|
3582
|
+
endRowIndex: (_area$toY = area === null || area === void 0 ? void 0 : area.toY) !== null && _area$toY !== void 0 ? _area$toY : 0,
|
|
3583
|
+
colCount: area ? area.toX - area.toX : 0,
|
|
3584
|
+
rowCount: area ? area.toY - area.fromY : 0
|
|
3525
3585
|
};
|
|
3526
3586
|
}
|
|
3587
|
+
}, {
|
|
3588
|
+
key: "GridSetupParams",
|
|
3589
|
+
set: function set(gridSetupParams) {
|
|
3590
|
+
this.gridSetupParams = gridSetupParams;
|
|
3591
|
+
}
|
|
3527
3592
|
|
|
3528
3593
|
/**
|
|
3529
3594
|
* This function returns all elementIds that are inside the grid
|
|
@@ -3540,11 +3605,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3540
3605
|
var allElements = [];
|
|
3541
3606
|
for (var i = 0; i < grid.length; i++) {
|
|
3542
3607
|
for (var j = 0; j < grid[i].length; j++) {
|
|
3608
|
+
var _cell$plannedElement2;
|
|
3543
3609
|
var cell = grid[i][j];
|
|
3544
3610
|
if (cell == undefined) continue;
|
|
3545
|
-
if (allElementIds.indexOf(cell.
|
|
3546
|
-
allElementIds.push(cell.
|
|
3547
|
-
allElements.push(this.plannerElements.get(cell.
|
|
3611
|
+
if ((_cell$plannedElement2 = cell.plannedElement) !== null && _cell$plannedElement2 !== void 0 && _cell$plannedElement2.elementId && allElementIds.indexOf(cell.plannedElement.elementId) == -1) {
|
|
3612
|
+
allElementIds.push(cell.plannedElement.elementId);
|
|
3613
|
+
allElements.push(this.plannerElements.get(cell.plannedElement.elementId));
|
|
3548
3614
|
}
|
|
3549
3615
|
}
|
|
3550
3616
|
}
|
|
@@ -3553,17 +3619,17 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3553
3619
|
}, {
|
|
3554
3620
|
key: "getAllElementsInFrontGrid",
|
|
3555
3621
|
value: function getAllElementsInFrontGrid() {
|
|
3556
|
-
return this._getAllElementsInGrid(this.
|
|
3622
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[0].matrix);
|
|
3557
3623
|
}
|
|
3558
3624
|
}, {
|
|
3559
3625
|
key: "getAllElementsInBackGrid",
|
|
3560
3626
|
value: function getAllElementsInBackGrid() {
|
|
3561
|
-
return this._getAllElementsInGrid(this.
|
|
3627
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[1].matrix);
|
|
3562
3628
|
}
|
|
3563
3629
|
}, {
|
|
3564
3630
|
key: "getAllElementsInBacksideModuleGrid",
|
|
3565
3631
|
value: function getAllElementsInBacksideModuleGrid() {
|
|
3566
|
-
return this._getAllElementsInGrid(this.
|
|
3632
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[1].matrix).map(function (element) {
|
|
3567
3633
|
return element.ElementId;
|
|
3568
3634
|
});
|
|
3569
3635
|
}
|
|
@@ -3578,24 +3644,31 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3578
3644
|
}, {
|
|
3579
3645
|
key: "getAllElementsInGridSortedbyGridPos",
|
|
3580
3646
|
value: function getAllElementsInGridSortedbyGridPos() {
|
|
3647
|
+
var _this$generalPlanning2, _this$generalPlanning3;
|
|
3581
3648
|
var returnElements = [];
|
|
3582
3649
|
var allCheckedElementIds = [];
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3650
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3651
|
+
var backGrid = (_this$generalPlanning2 = (_this$generalPlanning3 = this.generalPlanningState.grids[1]) === null || _this$generalPlanning3 === void 0 ? void 0 : _this$generalPlanning3.matrix) !== null && _this$generalPlanning2 !== void 0 ? _this$generalPlanning2 : 0;
|
|
3652
|
+
for (var i = 0; i < frontGrid.length; i++) {
|
|
3653
|
+
for (var j = 0; j < frontGrid[i].length; j++) {
|
|
3654
|
+
var _cell$plannedElement3;
|
|
3655
|
+
var cell = frontGrid[i][j];
|
|
3656
|
+
var elementId = (_cell$plannedElement3 = cell.plannedElement) === null || _cell$plannedElement3 === void 0 ? void 0 : _cell$plannedElement3.elementId;
|
|
3657
|
+
if (cell && elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
3658
|
+
var element = this.getElementById(elementId);
|
|
3659
|
+
allCheckedElementIds.push(elementId);
|
|
3589
3660
|
returnElements.push(element);
|
|
3590
3661
|
}
|
|
3591
3662
|
}
|
|
3592
3663
|
}
|
|
3593
|
-
for (var i = 0; i <
|
|
3594
|
-
for (var j = 0; j <
|
|
3595
|
-
var
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3664
|
+
for (var i = 0; i < backGrid.length; i++) {
|
|
3665
|
+
for (var j = 0; j < backGrid[i].length; j++) {
|
|
3666
|
+
var _cell2$plannedElement;
|
|
3667
|
+
var _cell2 = backGrid[i][j];
|
|
3668
|
+
var _elementId = (_cell2$plannedElement = _cell2.plannedElement) === null || _cell2$plannedElement === void 0 ? void 0 : _cell2$plannedElement.elementId;
|
|
3669
|
+
if (_cell2 && _elementId && allCheckedElementIds.indexOf(_elementId) == -1) {
|
|
3670
|
+
var _element = this.getElementById(_elementId);
|
|
3671
|
+
allCheckedElementIds.push(_elementId);
|
|
3599
3672
|
returnElements.push(_element);
|
|
3600
3673
|
}
|
|
3601
3674
|
}
|
|
@@ -3627,9 +3700,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3627
3700
|
}, {
|
|
3628
3701
|
key: "getElementIsInLastCol",
|
|
3629
3702
|
value: function getElementIsInLastCol(elementId, fromBackmodul) {
|
|
3630
|
-
var curElementGrid = fromBackmodul ? this.
|
|
3703
|
+
var curElementGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3631
3704
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3632
|
-
return result.endColIndex
|
|
3705
|
+
return result.endColIndex == curElementGrid.length;
|
|
3633
3706
|
}
|
|
3634
3707
|
|
|
3635
3708
|
/**
|
|
@@ -3640,10 +3713,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3640
3713
|
key: "getElementHasTopElement",
|
|
3641
3714
|
value: function getElementHasTopElement(elementId) {
|
|
3642
3715
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3643
|
-
var curGrid = result.backside ? this.
|
|
3644
|
-
for (var i = result.startColIndex; i
|
|
3716
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3717
|
+
for (var i = result.startColIndex; i < result.endColIndex; i++) {
|
|
3645
3718
|
//Check if in one of the top cells is another element
|
|
3646
|
-
if (curGrid[i].length > result.endRowIndex
|
|
3719
|
+
if (curGrid[i].length > result.endRowIndex && curGrid[i][result.endRowIndex]) {
|
|
3647
3720
|
return true;
|
|
3648
3721
|
}
|
|
3649
3722
|
}
|
|
@@ -3657,19 +3730,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3657
3730
|
}, {
|
|
3658
3731
|
key: "getTopElements",
|
|
3659
3732
|
value: function getTopElements(elementId) {
|
|
3733
|
+
var _curGrid$plannedEleme;
|
|
3660
3734
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3661
|
-
var curGrid = result.backside ? this.
|
|
3735
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3662
3736
|
var neighborPlannerElements = [];
|
|
3663
|
-
var
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
}
|
|
3672
|
-
}
|
|
3737
|
+
var plannedElement = result.cells[0].plannedElement;
|
|
3738
|
+
if (!plannedElement) return neighborPlannerElements;
|
|
3739
|
+
var topElement = (_curGrid$plannedEleme = curGrid[plannedElement.area.fromX]) === null || _curGrid$plannedEleme === void 0 ? void 0 : _curGrid$plannedEleme[plannedElement.area.toY];
|
|
3740
|
+
while (topElement) {
|
|
3741
|
+
var element = topElement.plannedElement;
|
|
3742
|
+
if (!element) break;
|
|
3743
|
+
neighborPlannerElements.push(this.plannerElements.get(element.elementId));
|
|
3744
|
+
topElement = curGrid[element.area.fromX][element.area.toY];
|
|
3673
3745
|
}
|
|
3674
3746
|
return neighborPlannerElements;
|
|
3675
3747
|
}
|
|
@@ -3682,10 +3754,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3682
3754
|
key: "getTopRightElement",
|
|
3683
3755
|
value: function getTopRightElement(elementId) {
|
|
3684
3756
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3685
|
-
var curGrid = result.backside ? this.
|
|
3686
|
-
if (curGrid.length > result.endColIndex
|
|
3687
|
-
var cell = curGrid[result.endColIndex
|
|
3688
|
-
return this.plannerElements.get(cell.
|
|
3757
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3758
|
+
if (curGrid.length > result.endColIndex && curGrid[result.endColIndex].length > result.endRowIndex && curGrid[result.endColIndex][result.endRowIndex]) {
|
|
3759
|
+
var cell = curGrid[result.endColIndex][result.endRowIndex];
|
|
3760
|
+
return this.plannerElements.get(cell.plannedElement.elementId);
|
|
3689
3761
|
}
|
|
3690
3762
|
return undefined;
|
|
3691
3763
|
}
|
|
@@ -3698,10 +3770,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3698
3770
|
key: "getTopLeftElement",
|
|
3699
3771
|
value: function getTopLeftElement(elementId) {
|
|
3700
3772
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3701
|
-
var curGrid = result.backside ? this.
|
|
3702
|
-
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1].length > 0 && curGrid[result.startColIndex - 1][result.endRowIndex
|
|
3703
|
-
var cell = curGrid[result.startColIndex - 1][result.endRowIndex
|
|
3704
|
-
return this.plannerElements.get(cell.
|
|
3773
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3774
|
+
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1].length > 0 && curGrid[result.startColIndex - 1][result.endRowIndex]) {
|
|
3775
|
+
var cell = curGrid[result.startColIndex - 1][result.endRowIndex];
|
|
3776
|
+
return this.plannerElements.get(cell.plannedElement.elementId);
|
|
3705
3777
|
}
|
|
3706
3778
|
return undefined;
|
|
3707
3779
|
}
|
|
@@ -3729,22 +3801,21 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3729
3801
|
}, {
|
|
3730
3802
|
key: "getBottomElements",
|
|
3731
3803
|
value: function getBottomElements(elementId) {
|
|
3804
|
+
var _curGrid$plannedEleme2;
|
|
3732
3805
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3733
|
-
var curGrid = result.backside ? this.
|
|
3734
|
-
var
|
|
3735
|
-
var
|
|
3736
|
-
if (
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
}
|
|
3745
|
-
}
|
|
3806
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3807
|
+
var neighborPlannerElements = [];
|
|
3808
|
+
var plannedElement = result.cells[0].plannedElement;
|
|
3809
|
+
if (!plannedElement) return neighborPlannerElements;
|
|
3810
|
+
var topElement = (_curGrid$plannedEleme2 = curGrid[plannedElement.area.fromX]) === null || _curGrid$plannedEleme2 === void 0 ? void 0 : _curGrid$plannedEleme2[plannedElement.area.fromY - 1];
|
|
3811
|
+
while (topElement) {
|
|
3812
|
+
var _curGrid$element$area;
|
|
3813
|
+
var element = topElement.plannedElement;
|
|
3814
|
+
if (!element) break;
|
|
3815
|
+
neighborPlannerElements.push(this.plannerElements.get(element.elementId));
|
|
3816
|
+
topElement = (_curGrid$element$area = curGrid[element.area.fromX]) === null || _curGrid$element$area === void 0 ? void 0 : _curGrid$element$area[element.area.fromY - 1];
|
|
3746
3817
|
}
|
|
3747
|
-
return
|
|
3818
|
+
return neighborPlannerElements;
|
|
3748
3819
|
}
|
|
3749
3820
|
|
|
3750
3821
|
/**
|
|
@@ -3755,9 +3826,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3755
3826
|
key: "getElementHasRightElement",
|
|
3756
3827
|
value: function getElementHasRightElement(elementId) {
|
|
3757
3828
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3758
|
-
var curGrid = result.backside ? this.
|
|
3759
|
-
if (curGrid.length > result.endColIndex
|
|
3760
|
-
var cell = curGrid[result.endColIndex
|
|
3829
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3830
|
+
if (curGrid.length > result.endColIndex && curGrid[result.endColIndex].length > result.startRowIndex) {
|
|
3831
|
+
var cell = curGrid[result.endColIndex][result.startRowIndex];
|
|
3761
3832
|
if (cell) return true;
|
|
3762
3833
|
}
|
|
3763
3834
|
return false;
|
|
@@ -3774,18 +3845,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3774
3845
|
key: "getRightElements",
|
|
3775
3846
|
value: function getRightElements(elementId) {
|
|
3776
3847
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3777
|
-
var curGrid = result.backside ? this.
|
|
3848
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3778
3849
|
var rightElements = [];
|
|
3779
3850
|
var rightElementIds = [];
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3851
|
+
var element = result.cells[0].plannedElement;
|
|
3852
|
+
if (!element) return rightElements;
|
|
3853
|
+
for (var y = element.area.fromY; y < element.area.toY; y++) {
|
|
3854
|
+
var _curGrid$element$area2, _cell$plannedElement4;
|
|
3855
|
+
var cell = (_curGrid$element$area2 = curGrid[element.area.toX]) === null || _curGrid$element$area2 === void 0 ? void 0 : _curGrid$element$area2[y];
|
|
3856
|
+
var _elementId2 = cell === null || cell === void 0 || (_cell$plannedElement4 = cell.plannedElement) === null || _cell$plannedElement4 === void 0 ? void 0 : _cell$plannedElement4.elementId;
|
|
3857
|
+
if (cell && _elementId2 && rightElementIds.indexOf(_elementId2) == -1) {
|
|
3858
|
+
rightElementIds.push(_elementId2);
|
|
3859
|
+
rightElements.push(this.plannerElements.get(_elementId2));
|
|
3789
3860
|
}
|
|
3790
3861
|
}
|
|
3791
3862
|
return rightElements;
|
|
@@ -3799,7 +3870,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3799
3870
|
key: "getElementHasLeftElement",
|
|
3800
3871
|
value: function getElementHasLeftElement(elementId) {
|
|
3801
3872
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3802
|
-
var curGrid = result.backside ? this.
|
|
3873
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3803
3874
|
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1][result.startRowIndex]) {
|
|
3804
3875
|
return true;
|
|
3805
3876
|
}
|
|
@@ -3817,21 +3888,21 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3817
3888
|
key: "getLeftElements",
|
|
3818
3889
|
value: function getLeftElements(elementId) {
|
|
3819
3890
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3820
|
-
var curGrid = result.backside ? this.
|
|
3821
|
-
var
|
|
3822
|
-
var
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
3831
|
-
|
|
3891
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3892
|
+
var rightElements = [];
|
|
3893
|
+
var rightElementIds = [];
|
|
3894
|
+
var element = result.cells[0].plannedElement;
|
|
3895
|
+
if (!element) return rightElements;
|
|
3896
|
+
for (var y = element.area.fromY; y < element.area.toY; y++) {
|
|
3897
|
+
var _curGrid, _cell$plannedElement5;
|
|
3898
|
+
var cell = (_curGrid = curGrid[element.area.fromX - 1]) === null || _curGrid === void 0 ? void 0 : _curGrid[y];
|
|
3899
|
+
var _elementId3 = cell === null || cell === void 0 || (_cell$plannedElement5 = cell.plannedElement) === null || _cell$plannedElement5 === void 0 ? void 0 : _cell$plannedElement5.elementId;
|
|
3900
|
+
if (cell && _elementId3 && rightElementIds.indexOf(_elementId3) == -1) {
|
|
3901
|
+
rightElementIds.push(_elementId3);
|
|
3902
|
+
rightElements.push(this.plannerElements.get(_elementId3));
|
|
3832
3903
|
}
|
|
3833
3904
|
}
|
|
3834
|
-
return
|
|
3905
|
+
return rightElements;
|
|
3835
3906
|
}
|
|
3836
3907
|
|
|
3837
3908
|
/*
|
|
@@ -3842,15 +3913,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3842
3913
|
}, {
|
|
3843
3914
|
key: "getAllElementsInColumn",
|
|
3844
3915
|
value: function getAllElementsInColumn(index, fromBackmodul) {
|
|
3845
|
-
var
|
|
3916
|
+
var orderBottomDown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
3917
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3846
3918
|
var allElements = [];
|
|
3847
3919
|
var allElementIds = [];
|
|
3848
|
-
if (curGrid
|
|
3920
|
+
if (!curGrid[index]) return allElements;
|
|
3921
|
+
if (orderBottomDown) {
|
|
3849
3922
|
for (var i = 0; i < curGrid[index].length; i++) {
|
|
3923
|
+
var _cell$plannedElement6;
|
|
3850
3924
|
var cell = curGrid[index][i];
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3925
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement6 = cell.plannedElement) === null || _cell$plannedElement6 === void 0 ? void 0 : _cell$plannedElement6.elementId;
|
|
3926
|
+
if (elementId && cell && allElementIds.indexOf(elementId) == -1) {
|
|
3927
|
+
allElementIds.push(elementId);
|
|
3928
|
+
allElements.push(this.plannerElements.get(elementId));
|
|
3929
|
+
}
|
|
3930
|
+
}
|
|
3931
|
+
} else {
|
|
3932
|
+
for (var i = curGrid[index].length - 1; i >= 0; i--) {
|
|
3933
|
+
var _cell3$plannedElement;
|
|
3934
|
+
var _cell3 = curGrid[index][i];
|
|
3935
|
+
var _elementId4 = _cell3 === null || _cell3 === void 0 || (_cell3$plannedElement = _cell3.plannedElement) === null || _cell3$plannedElement === void 0 ? void 0 : _cell3$plannedElement.elementId;
|
|
3936
|
+
if (_cell3 && _elementId4 && allElementIds.indexOf(_elementId4) == -1) {
|
|
3937
|
+
allElementIds.push(_elementId4);
|
|
3938
|
+
allElements.push(this.plannerElements.get(_elementId4));
|
|
3854
3939
|
}
|
|
3855
3940
|
}
|
|
3856
3941
|
}
|
|
@@ -3863,7 +3948,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3863
3948
|
}, {
|
|
3864
3949
|
key: "getColumnCount",
|
|
3865
3950
|
value: function getColumnCount() {
|
|
3866
|
-
return this.
|
|
3951
|
+
return this.generalPlanningState.grids[0].matrix.length;
|
|
3867
3952
|
}
|
|
3868
3953
|
|
|
3869
3954
|
/**
|
|
@@ -3873,7 +3958,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3873
3958
|
}, {
|
|
3874
3959
|
key: "getRowCount",
|
|
3875
3960
|
value: function getRowCount(colIndex, fromBackmodul) {
|
|
3876
|
-
return fromBackmodul ? this.
|
|
3961
|
+
return fromBackmodul ? this.generalPlanningState.grids[1].matrix[colIndex].length : this.generalPlanningState.grids[0].matrix[colIndex].length;
|
|
3877
3962
|
}
|
|
3878
3963
|
|
|
3879
3964
|
/*
|
|
@@ -3884,15 +3969,17 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3884
3969
|
}, {
|
|
3885
3970
|
key: "getAllElementsInRow",
|
|
3886
3971
|
value: function getAllElementsInRow(index, fromBackmodul) {
|
|
3887
|
-
var curGrid = fromBackmodul ? this.
|
|
3972
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3888
3973
|
var allElements = [];
|
|
3889
3974
|
var allElementIds = [];
|
|
3890
3975
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3891
3976
|
if (curGrid[i].length > index) {
|
|
3977
|
+
var _cell$plannedElement7;
|
|
3892
3978
|
var cell = curGrid[i][index];
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3979
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement7 = cell.plannedElement) === null || _cell$plannedElement7 === void 0 ? void 0 : _cell$plannedElement7.elementId;
|
|
3980
|
+
if (cell && elementId && allElementIds.indexOf(elementId) == -1) {
|
|
3981
|
+
allElementIds.push(elementId);
|
|
3982
|
+
allElements.push(this.plannerElements.get(elementId));
|
|
3896
3983
|
}
|
|
3897
3984
|
}
|
|
3898
3985
|
}
|
|
@@ -3906,7 +3993,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3906
3993
|
}, {
|
|
3907
3994
|
key: "getSizeOfHighesRow",
|
|
3908
3995
|
value: function getSizeOfHighesRow(fromBackmodul) {
|
|
3909
|
-
var curGrid = fromBackmodul ? this.
|
|
3996
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3910
3997
|
var highestRow = 0;
|
|
3911
3998
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3912
3999
|
for (var j = curGrid[i].length; j >= 0; j--) {
|
|
@@ -3935,69 +4022,39 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3935
4022
|
}, {
|
|
3936
4023
|
key: "getNeighborElements",
|
|
3937
4024
|
value: function getNeighborElements(elementId, dir) {
|
|
3938
|
-
var
|
|
3939
|
-
var
|
|
4025
|
+
var _curGrid$area$toX, _curGrid$area$toX2, _curGrid2, _curGrid3, _curGrid$area$fromX, _topNeighbour$planned, _curGrid$area$fromX2, _downNeighbour$planne;
|
|
4026
|
+
var res = this.getCellsInGridByElementId(elementId);
|
|
4027
|
+
var curGrid = res.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3940
4028
|
var result = [];
|
|
3941
|
-
var
|
|
4029
|
+
var plannedElement = res.cells[0].plannedElement;
|
|
4030
|
+
if (!plannedElement) return result;
|
|
3942
4031
|
switch (dir) {
|
|
3943
|
-
case '
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
var neighborCell = curGrid[neighborX][neighborY];
|
|
3949
|
-
if (neighborCell && resultPlannerIds.indexOf(neighborCell.plannerElementId) == -1) {
|
|
3950
|
-
resultPlannerIds.push(neighborCell.plannerElementId);
|
|
3951
|
-
result.push(this.plannerElements.get(neighborCell.plannerElementId));
|
|
3952
|
-
}
|
|
3953
|
-
}
|
|
3954
|
-
}
|
|
3955
|
-
break;
|
|
3956
|
-
case 'DOWN':
|
|
3957
|
-
for (var i = cellPos.startColIndex; i <= cellPos.endColIndex; i++) {
|
|
3958
|
-
var _neighborX = i;
|
|
3959
|
-
var _neighborY = cellPos.startRowIndex - 1;
|
|
3960
|
-
if (_neighborY >= 0) {
|
|
3961
|
-
var _neighborCell = curGrid[_neighborX][_neighborY];
|
|
3962
|
-
if (_neighborCell && resultPlannerIds.indexOf(_neighborCell.plannerElementId) == -1) {
|
|
3963
|
-
resultPlannerIds.push(_neighborCell.plannerElementId);
|
|
3964
|
-
result.push(this.plannerElements.get(_neighborCell.plannerElementId));
|
|
3965
|
-
}
|
|
3966
|
-
}
|
|
3967
|
-
}
|
|
4032
|
+
case 'RIGHT':
|
|
4033
|
+
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4034
|
+
var rLowestNeighbour = (_curGrid$area$toX = curGrid[plannedElement.area.toX]) === null || _curGrid$area$toX === void 0 || (_curGrid$area$toX = _curGrid$area$toX[plannedElement.area.fromY]) === null || _curGrid$area$toX === void 0 || (_curGrid$area$toX = _curGrid$area$toX.plannedElement) === null || _curGrid$area$toX === void 0 ? void 0 : _curGrid$area$toX.elementId;
|
|
4035
|
+
var rHighestNeighbour = (_curGrid$area$toX2 = curGrid[plannedElement.area.toX]) === null || _curGrid$area$toX2 === void 0 || (_curGrid$area$toX2 = _curGrid$area$toX2[plannedElement.area.toY - 1]) === null || _curGrid$area$toX2 === void 0 || (_curGrid$area$toX2 = _curGrid$area$toX2.plannedElement) === null || _curGrid$area$toX2 === void 0 ? void 0 : _curGrid$area$toX2.elementId;
|
|
4036
|
+
if (rLowestNeighbour == rHighestNeighbour && rLowestNeighbour) result.push(this.plannerElements.get(rLowestNeighbour));
|
|
3968
4037
|
break;
|
|
3969
4038
|
case 'LEFT':
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
if (_neighborX2 >= 0) {
|
|
3974
|
-
var _neighborCell2 = curGrid[_neighborX2][_neighborY2];
|
|
3975
|
-
if (_neighborCell2 && resultPlannerIds.indexOf(_neighborCell2.plannerElementId) == -1) {
|
|
3976
|
-
resultPlannerIds.push(_neighborCell2.plannerElementId);
|
|
3977
|
-
result.push(this.plannerElements.get(_neighborCell2.plannerElementId));
|
|
3978
|
-
}
|
|
3979
|
-
}
|
|
3980
|
-
}
|
|
4039
|
+
var lowestNeighbour = (_curGrid2 = curGrid[plannedElement.area.fromX - 1]) === null || _curGrid2 === void 0 || (_curGrid2 = _curGrid2[plannedElement.area.fromY]) === null || _curGrid2 === void 0 || (_curGrid2 = _curGrid2.plannedElement) === null || _curGrid2 === void 0 ? void 0 : _curGrid2.elementId;
|
|
4040
|
+
var highestNeighbour = (_curGrid3 = curGrid[plannedElement.area.fromX - 1]) === null || _curGrid3 === void 0 || (_curGrid3 = _curGrid3[plannedElement.area.toY - 1]) === null || _curGrid3 === void 0 || (_curGrid3 = _curGrid3.plannedElement) === null || _curGrid3 === void 0 ? void 0 : _curGrid3.elementId;
|
|
4041
|
+
if (lowestNeighbour == highestNeighbour && lowestNeighbour) result.push(this.plannerElements.get(lowestNeighbour));
|
|
3981
4042
|
break;
|
|
3982
|
-
case '
|
|
3983
|
-
|
|
3984
|
-
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
}
|
|
3992
|
-
}
|
|
3993
|
-
}
|
|
4043
|
+
case 'TOP':
|
|
4044
|
+
var topNeighbour = (_curGrid$area$fromX = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX === void 0 ? void 0 : _curGrid$area$fromX[plannedElement.area.toY];
|
|
4045
|
+
var tElementId = topNeighbour === null || topNeighbour === void 0 || (_topNeighbour$planned = topNeighbour.plannedElement) === null || _topNeighbour$planned === void 0 ? void 0 : _topNeighbour$planned.elementId;
|
|
4046
|
+
if (tElementId) result.push(this.plannerElements.get(tElementId));
|
|
4047
|
+
break;
|
|
4048
|
+
case 'DOWN':
|
|
4049
|
+
var downNeighbour = (_curGrid$area$fromX2 = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX2 === void 0 ? void 0 : _curGrid$area$fromX2[plannedElement.area.fromY - 1];
|
|
4050
|
+
var dElementId = downNeighbour === null || downNeighbour === void 0 || (_downNeighbour$planne = downNeighbour.plannedElement) === null || _downNeighbour$planne === void 0 ? void 0 : _downNeighbour$planne.elementId;
|
|
4051
|
+
if (dElementId) result.push(this.plannerElements.get(dElementId));
|
|
3994
4052
|
break;
|
|
3995
4053
|
case 'BACK':
|
|
3996
4054
|
if (this.hasActiveBackside) {
|
|
3997
|
-
var plannerElement = this.getPlannerElementAtGridPos(
|
|
4055
|
+
var plannerElement = this.getPlannerElementAtGridPos(res.startColIndex, res.startRowIndex, true);
|
|
3998
4056
|
if (plannerElement != undefined) result = [plannerElement];
|
|
3999
4057
|
}
|
|
4000
|
-
break;
|
|
4001
4058
|
}
|
|
4002
4059
|
return result;
|
|
4003
4060
|
}
|
|
@@ -4053,22 +4110,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4053
4110
|
var depth = 0;
|
|
4054
4111
|
var height = 0;
|
|
4055
4112
|
var checkedElementIds = [];
|
|
4056
|
-
|
|
4113
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4114
|
+
for (var x = 0; x < frontGrid.length;) {
|
|
4115
|
+
var _row$0$plannedElement, _row$0$plannedElement2;
|
|
4057
4116
|
var curHeight = 0;
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
|
|
4117
|
+
var row = frontGrid[x];
|
|
4118
|
+
for (var y = 0; y < row.length;) {
|
|
4119
|
+
var _cell4, _cell$plannedElement$, _cell$plannedElement8;
|
|
4120
|
+
var cell = row[y];
|
|
4121
|
+
var elementId = (_cell4 = cell) === null || _cell4 === void 0 || (_cell4 = _cell4.plannedElement) === null || _cell4 === void 0 ? void 0 : _cell4.elementId;
|
|
4122
|
+
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4123
|
+
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4124
|
+
if (x == 0 && y == 0) depth = this.plannerElements.get(elementId).getDepth();
|
|
4063
4125
|
}
|
|
4126
|
+
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;
|
|
4064
4127
|
}
|
|
4065
4128
|
if (curHeight > height) height = curHeight;
|
|
4066
|
-
var curWidth = this.getGridColumnWidth(
|
|
4067
|
-
if (correctSizeSystem4 &&
|
|
4129
|
+
var curWidth = this.getGridColumnWidth(x);
|
|
4130
|
+
if (correctSizeSystem4 && x > 0) {
|
|
4068
4131
|
//Correct width
|
|
4069
4132
|
if (curWidth == 77.9) curWidth = 75;else if (curWidth == 40.4) curWidth = 37.5;else if (curWidth == 21.7) curWidth = 18.75;
|
|
4070
4133
|
}
|
|
4071
4134
|
width += curWidth;
|
|
4135
|
+
x = (_row$0$plannedElement = (_row$0$plannedElement2 = row[0].plannedElement) === null || _row$0$plannedElement2 === void 0 ? void 0 : _row$0$plannedElement2.area.toX) !== null && _row$0$plannedElement !== void 0 ? _row$0$plannedElement : x + 1;
|
|
4072
4136
|
}
|
|
4073
4137
|
if (this.hasActiveBackside) depth *= 2;
|
|
4074
4138
|
return new index.Vector3(width, height, depth);
|
|
@@ -4081,21 +4145,26 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4081
4145
|
}, {
|
|
4082
4146
|
key: "getHighestElementsPerSeries",
|
|
4083
4147
|
value: function getHighestElementsPerSeries() {
|
|
4148
|
+
var onBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4084
4149
|
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4085
4150
|
var result = [];
|
|
4086
4151
|
var lastHeight = -1;
|
|
4087
|
-
for (var
|
|
4088
|
-
var row = this.
|
|
4089
|
-
var height =
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
|
|
4152
|
+
for (var x = 0; x < this.getColumnCount();) {
|
|
4153
|
+
var row = this.generalPlanningState.grids[0].matrix[x];
|
|
4154
|
+
var height = 0;
|
|
4155
|
+
for (var y = 0; y < row.length;) {
|
|
4156
|
+
var element = row[y].plannedElement;
|
|
4157
|
+
height += element.size.height;
|
|
4158
|
+
y = element.area.toY;
|
|
4159
|
+
}
|
|
4160
|
+
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4093
4161
|
if (!result[result.length - 1]) result.push([]);
|
|
4094
|
-
result[result.length - 1].push(this.getPlannerElementAtGridPos(
|
|
4162
|
+
result[result.length - 1].push(this.getPlannerElementAtGridPos(x, row.length - 1, false));
|
|
4095
4163
|
} else {
|
|
4096
|
-
result.push([this.getPlannerElementAtGridPos(
|
|
4164
|
+
result.push([this.getPlannerElementAtGridPos(x, row.length - 1, false)]);
|
|
4097
4165
|
}
|
|
4098
4166
|
lastHeight = height;
|
|
4167
|
+
x = row[row.length - 1].plannedElement ? row[row.length - 1].plannedElement.area.toX : x + 1;
|
|
4099
4168
|
}
|
|
4100
4169
|
return result;
|
|
4101
4170
|
}
|
|
@@ -4127,6 +4196,60 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4127
4196
|
};
|
|
4128
4197
|
}
|
|
4129
4198
|
|
|
4199
|
+
/**
|
|
4200
|
+
* Get all the Elements need to fill up for the copy of Element x fxe:
|
|
4201
|
+
*
|
|
4202
|
+
* [4] ->
|
|
4203
|
+
* [3]
|
|
4204
|
+
* [2]
|
|
4205
|
+
* [0][1]
|
|
4206
|
+
*
|
|
4207
|
+
* returns element 4, 3 and 2 because those are needed to copy in order
|
|
4208
|
+
* for the copy of element 4 to not float
|
|
4209
|
+
*/
|
|
4210
|
+
}, {
|
|
4211
|
+
key: "getAllElementsToFillUp",
|
|
4212
|
+
value: function getAllElementsToFillUp(elementId, dir) {
|
|
4213
|
+
var _this = this;
|
|
4214
|
+
var curPos = this.getCellsInGridByElementId(elementId);
|
|
4215
|
+
|
|
4216
|
+
//columns and rows are swapped don't ask me why
|
|
4217
|
+
var element = curPos.cells[0].plannedElement;
|
|
4218
|
+
var index = {
|
|
4219
|
+
x: curPos.startColIndex,
|
|
4220
|
+
y: curPos.startRowIndex
|
|
4221
|
+
};
|
|
4222
|
+
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4223
|
+
var plannerIdsToFill = [];
|
|
4224
|
+
var existingPlannerIds = [];
|
|
4225
|
+
var _loop = function _loop(_y) {
|
|
4226
|
+
var _curGrid$index$x$_y;
|
|
4227
|
+
var elementToCopy = (_curGrid$index$x$_y = curGrid[index.x][_y]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
4228
|
+
if (!elementToCopy) {
|
|
4229
|
+
y = _y;
|
|
4230
|
+
return 1;
|
|
4231
|
+
} // break
|
|
4232
|
+
var length = element.area.toX - element.area.fromX;
|
|
4233
|
+
var d = dir == 'RIGHT' ? +length : -length;
|
|
4234
|
+
var isPlanned = curGrid.every(function (x, idx) {
|
|
4235
|
+
var _x$_y;
|
|
4236
|
+
return idx < element.area.fromX + d || idx >= element.area.toX + d || ((_x$_y = x[_y]) === null || _x$_y === void 0 ? void 0 : _x$_y.plannedElement);
|
|
4237
|
+
});
|
|
4238
|
+
var neighbour = _this.getNeighborElements(elementToCopy.elementId, dir);
|
|
4239
|
+
if (neighbour.length == 0 && !isPlanned && elementToCopy) plannerIdsToFill.push(elementToCopy.elementId);else if (elementToCopy) existingPlannerIds.push(elementToCopy.elementId);
|
|
4240
|
+
_y = elementToCopy.area.toY;
|
|
4241
|
+
y = _y;
|
|
4242
|
+
};
|
|
4243
|
+
for (var y = 0; y <= index.y;) {
|
|
4244
|
+
if (_loop(y)) break;
|
|
4245
|
+
}
|
|
4246
|
+
// if there is nothing to fill we copy everyting
|
|
4247
|
+
return {
|
|
4248
|
+
elements: plannerIdsToFill.length == 0 ? existingPlannerIds : plannerIdsToFill,
|
|
4249
|
+
backside: curPos.backside
|
|
4250
|
+
};
|
|
4251
|
+
}
|
|
4252
|
+
|
|
4130
4253
|
/**
|
|
4131
4254
|
* Returns all Elements that are under the specified element
|
|
4132
4255
|
* AAAE
|
|
@@ -4143,13 +4266,15 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4143
4266
|
elements: [],
|
|
4144
4267
|
backside: false
|
|
4145
4268
|
};
|
|
4146
|
-
var curGrid = curPos.backside ? this.
|
|
4269
|
+
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4147
4270
|
var resultPlannerIds = [];
|
|
4148
|
-
for (var i = curPos.startColIndex; i
|
|
4271
|
+
for (var i = curPos.startColIndex; i < curPos.endColIndex; i++) {
|
|
4149
4272
|
for (var j = curPos.startRowIndex--; j >= 0; j--) {
|
|
4273
|
+
var _neighborCell$planned;
|
|
4150
4274
|
var neighborCell = curGrid[i][j];
|
|
4151
|
-
|
|
4152
|
-
|
|
4275
|
+
var _elementId5 = neighborCell === null || neighborCell === void 0 || (_neighborCell$planned = neighborCell.plannedElement) === null || _neighborCell$planned === void 0 ? void 0 : _neighborCell$planned.elementId;
|
|
4276
|
+
if (neighborCell && _elementId5 && resultPlannerIds.indexOf(_elementId5) == -1) {
|
|
4277
|
+
resultPlannerIds.push(_elementId5);
|
|
4153
4278
|
}
|
|
4154
4279
|
}
|
|
4155
4280
|
}
|
|
@@ -4185,56 +4310,78 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4185
4310
|
}
|
|
4186
4311
|
}, {
|
|
4187
4312
|
key: "prepareGridForColCopy",
|
|
4188
|
-
value: function prepareGridForColCopy(elementId,
|
|
4189
|
-
|
|
4313
|
+
value: function prepareGridForColCopy(elementId, relativeCopyIndex) {
|
|
4314
|
+
var _this$generalPlanning4, _this$generalPlanning5, _frontGrid;
|
|
4315
|
+
if (relativeCopyIndex.y > 0) return;
|
|
4190
4316
|
var elementToCopyPos = this.getCellsInGridByElementId(elementId);
|
|
4191
|
-
|
|
4192
|
-
//
|
|
4193
|
-
//
|
|
4194
|
-
|
|
4195
|
-
var
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
|
|
4199
|
-
|
|
4200
|
-
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
//
|
|
4211
|
-
|
|
4212
|
-
|
|
4317
|
+
var copyDirectionIsRight = relativeCopyIndex.x > 0;
|
|
4318
|
+
// We add the relativeCopyIndex only if positive otherwise the whole grid get's
|
|
4319
|
+
// shifted to the right bexause can`t got negative
|
|
4320
|
+
var element = elementToCopyPos.cells[0].plannedElement;
|
|
4321
|
+
var absoluteCopyIndex = {
|
|
4322
|
+
x: element.area.toX - 1 + relativeCopyIndex.x,
|
|
4323
|
+
y: element.area.fromY + relativeCopyIndex.y
|
|
4324
|
+
};
|
|
4325
|
+
if (relativeCopyIndex.x < 0) absoluteCopyIndex.x = elementToCopyPos.cells[0].plannedElement.area.fromX - 1;
|
|
4326
|
+
|
|
4327
|
+
// check if the side we copy to is already blocked
|
|
4328
|
+
// if blocked and we copy to the left the grid get's shifted so the copy
|
|
4329
|
+
// get's the index of the copied
|
|
4330
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4331
|
+
var backGrid = (_this$generalPlanning4 = (_this$generalPlanning5 = this.generalPlanningState.grids[1]) === null || _this$generalPlanning5 === void 0 ? void 0 : _this$generalPlanning5.matrix) !== null && _this$generalPlanning4 !== void 0 ? _this$generalPlanning4 : 0;
|
|
4332
|
+
var widthCopyArea = element.area.toX - element.area.fromX;
|
|
4333
|
+
var isBlocked = (_frontGrid = frontGrid[elementToCopyPos.cells[0].index.x + relativeCopyIndex.x]) === null || _frontGrid === void 0 ? void 0 : _frontGrid[elementToCopyPos.cells[0].index.y];
|
|
4334
|
+
if (absoluteCopyIndex.x == -1 || isBlocked && !copyDirectionIsRight) absoluteCopyIndex.x -= relativeCopyIndex.x;
|
|
4335
|
+
|
|
4336
|
+
// new copy logic fill up like this:
|
|
4337
|
+
// [][] -> | [][][]
|
|
4338
|
+
// [][] | [][][]
|
|
4339
|
+
// [][][] | [][][]
|
|
4340
|
+
// not like this (old logic)
|
|
4341
|
+
// [][] -> | [][][]
|
|
4342
|
+
// [][] | [][][]
|
|
4343
|
+
// [][][] | [][][][]
|
|
4344
|
+
function moveGrid(plannedCells) {
|
|
4345
|
+
var grid = new Array();
|
|
4346
|
+
var rightNeighbour = plannedCells.filter(function (c) {
|
|
4347
|
+
return c.index.x == element.area.toX;
|
|
4348
|
+
});
|
|
4349
|
+
var rightNeighbourOfCopy = rightNeighbour.find(function (c) {
|
|
4350
|
+
return c.index.y == absoluteCopyIndex.y;
|
|
4351
|
+
});
|
|
4352
|
+
var leftNeighbour = plannedCells.filter(function (c) {
|
|
4353
|
+
return c.index.x == element.area.fromX - 1;
|
|
4354
|
+
});
|
|
4355
|
+
var leftNeighbourOfCopy = leftNeighbour.find(function (neighbour) {
|
|
4356
|
+
return neighbour.index.y == absoluteCopyIndex.y;
|
|
4357
|
+
});
|
|
4358
|
+
plannedCells.forEach(function (cell) {
|
|
4359
|
+
// if we can't fill up (need to move the grid)
|
|
4360
|
+
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0) || !copyDirectionIsRight && (leftNeighbourOfCopy || leftNeighbour.length == 0) || absoluteCopyIndex.x == -1)) {
|
|
4361
|
+
cell.index.x += widthCopyArea;
|
|
4362
|
+
cell.plannedElement.area.fromX += widthCopyArea;
|
|
4363
|
+
cell.plannedElement.area.toX += widthCopyArea;
|
|
4364
|
+
}
|
|
4365
|
+
if (!grid[cell.index.x]) grid[cell.index.x] = [];
|
|
4366
|
+
grid[cell.index.x][cell.index.y] = cell;
|
|
4367
|
+
});
|
|
4368
|
+
return grid;
|
|
4213
4369
|
}
|
|
4370
|
+
frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
|
|
4371
|
+
for (var x = 0; x < widthCopyArea; x++) if (!frontGrid[absoluteCopyIndex.x + x]) frontGrid[absoluteCopyIndex.x + x] = [];
|
|
4372
|
+
this.generalPlanningState.grids[0].matrix = frontGrid;
|
|
4214
4373
|
if (this.hasActiveBackside) {
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
var curCellBackGrid = allUsedCellsBackGrid[i];
|
|
4219
|
-
if (curCellBackGrid.index.x >= copyStartIndex) {
|
|
4220
|
-
curCellBackGrid.index.x += copyIndexCount;
|
|
4221
|
-
}
|
|
4222
|
-
if (!this.backGrid[curCellBackGrid.index.x]) {
|
|
4223
|
-
this.backGrid[curCellBackGrid.index.x] = [];
|
|
4224
|
-
}
|
|
4225
|
-
this.backGrid[curCellBackGrid.index.x][curCellBackGrid.index.y] = curCellBackGrid;
|
|
4226
|
-
}
|
|
4227
|
-
|
|
4228
|
-
//Init empty cols
|
|
4229
|
-
for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
|
|
4230
|
-
if (!this.backGrid[i]) this.backGrid[i] = [];
|
|
4231
|
-
}
|
|
4374
|
+
backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
|
|
4375
|
+
for (var _x2 = 0; _x2 < widthCopyArea; _x2++) if (!backGrid[absoluteCopyIndex.x + _x2]) backGrid[absoluteCopyIndex.x + _x2] = [];
|
|
4376
|
+
this.generalPlanningState.grids[1].matrix = backGrid;
|
|
4232
4377
|
}
|
|
4233
4378
|
}
|
|
4234
4379
|
}, {
|
|
4235
4380
|
key: "prepareGridForBackSideCopy",
|
|
4236
4381
|
value: function prepareGridForBackSideCopy() {
|
|
4237
|
-
this.
|
|
4382
|
+
this.generalPlanningState.grids[1] = {
|
|
4383
|
+
matrix: [[]]
|
|
4384
|
+
};
|
|
4238
4385
|
this.hasActiveBackside = true;
|
|
4239
4386
|
}
|
|
4240
4387
|
|
|
@@ -4248,11 +4395,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4248
4395
|
}, {
|
|
4249
4396
|
key: "addElementAtGridPos",
|
|
4250
4397
|
value: function addElementAtGridPos(newElement, col, row, fromBackmodul) {
|
|
4251
|
-
var curGrid = fromBackmodul ? this.
|
|
4252
|
-
var
|
|
4253
|
-
for (var i = 0; i <
|
|
4254
|
-
var cell =
|
|
4255
|
-
// Prüfen, ob das innere Array existiert, sonst erstellen
|
|
4398
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4399
|
+
var cells = this.createNewCells(newElement, col, row, fromBackmodul);
|
|
4400
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4401
|
+
var cell = cells[i];
|
|
4256
4402
|
if (!curGrid[cell.index.x]) {
|
|
4257
4403
|
curGrid[cell.index.x] = [];
|
|
4258
4404
|
}
|
|
@@ -4261,6 +4407,67 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4261
4407
|
this.plannerElements.set(newElement.getElementId(), newElement);
|
|
4262
4408
|
if (fromBackmodul) this.hasActiveBackside = true;
|
|
4263
4409
|
}
|
|
4410
|
+
/**
|
|
4411
|
+
* move element
|
|
4412
|
+
* @param elementIDToMove
|
|
4413
|
+
* @param copyInfo
|
|
4414
|
+
*/
|
|
4415
|
+
}, {
|
|
4416
|
+
key: "moveElementAsCopy",
|
|
4417
|
+
value: function moveElementAsCopy(elementId, absoluteIndex) {
|
|
4418
|
+
var elementData = this.plannerElements.get(elementId);
|
|
4419
|
+
var deletedCells = this.getCellsInGridByElementId(elementId);
|
|
4420
|
+
if (!elementData) return;
|
|
4421
|
+
this.deleteElement(elementId, "STD");
|
|
4422
|
+
var curGrid = this.generalPlanningState.grids[0].matrix;
|
|
4423
|
+
var cells = undefined;
|
|
4424
|
+
if (absoluteIndex.x < 0 || absoluteIndex.y == 0 && deletedCells.endRowIndex >= absoluteIndex.x // moved 0 to 4 so now shift to left
|
|
4425
|
+
) {
|
|
4426
|
+
var dir = deletedCells.endColIndex >= absoluteIndex.x;
|
|
4427
|
+
if (deletedCells.startColIndex >= absoluteIndex.x) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4428
|
+
if (absoluteIndex.x < 0) absoluteIndex.x = 0;
|
|
4429
|
+
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4430
|
+
var movedGrid = [];
|
|
4431
|
+
var element = cells[0].plannedElement;
|
|
4432
|
+
curGrid.forEach(function (_, x) {
|
|
4433
|
+
_.forEach(function (_, y) {
|
|
4434
|
+
var newX = x;
|
|
4435
|
+
var shiftX = 0;
|
|
4436
|
+
if (y == absoluteIndex.y) {
|
|
4437
|
+
newX += dir ? element.area.toX - element.area.fromX : -(element.area.toX - element.area.fromX);
|
|
4438
|
+
shiftX = dir ? element.area.toX - element.area.fromX : -(element.area.toX - element.area.fromX);
|
|
4439
|
+
}
|
|
4440
|
+
if (!movedGrid[newX]) movedGrid[newX] = [];
|
|
4441
|
+
var cellElem = curGrid[x][y].plannedElement;
|
|
4442
|
+
var newCell = {
|
|
4443
|
+
plannedElement: _objectSpread(_objectSpread({}, cellElem), {}, {
|
|
4444
|
+
area: {
|
|
4445
|
+
fromX: newX,
|
|
4446
|
+
toX: cellElem.area.toX + shiftX,
|
|
4447
|
+
fromY: cellElem.area.fromY,
|
|
4448
|
+
toY: cellElem.area.toY
|
|
4449
|
+
}
|
|
4450
|
+
}),
|
|
4451
|
+
index: {
|
|
4452
|
+
x: newX,
|
|
4453
|
+
y: y
|
|
4454
|
+
}
|
|
4455
|
+
};
|
|
4456
|
+
movedGrid[newX][y] = newCell;
|
|
4457
|
+
});
|
|
4458
|
+
});
|
|
4459
|
+
curGrid = movedGrid;
|
|
4460
|
+
} else {
|
|
4461
|
+
if (absoluteIndex.x > deletedCells.startColIndex && absoluteIndex.y == deletedCells.startRowIndex) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4462
|
+
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4463
|
+
}
|
|
4464
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4465
|
+
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
4466
|
+
curGrid[cells[i].index.x][cells[i].index.y] = cells[i];
|
|
4467
|
+
}
|
|
4468
|
+
this.plannerElements.set(elementId, elementData);
|
|
4469
|
+
this.generalPlanningState.grids[0].matrix = curGrid;
|
|
4470
|
+
}
|
|
4264
4471
|
|
|
4265
4472
|
/**
|
|
4266
4473
|
* Assume that the grid is already prepared and there is enough empty space for the new element.
|
|
@@ -4272,22 +4479,27 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4272
4479
|
key: "addElementAsCopy",
|
|
4273
4480
|
value: function addElementAsCopy(copiedElementId, newElement, copyIndex) {
|
|
4274
4481
|
var curPos = this.getCellsInGridByElementId(copiedElementId);
|
|
4482
|
+
var area = curPos.cells[0].plannedElement.area;
|
|
4275
4483
|
var cellIndex = {
|
|
4276
|
-
x:
|
|
4277
|
-
y:
|
|
4484
|
+
x: area.fromX,
|
|
4485
|
+
y: area.fromY
|
|
4278
4486
|
};
|
|
4487
|
+
if (copyIndex.x > 0) cellIndex.x = area.toX - 1 + copyIndex.x;else if (copyIndex.x < 0) cellIndex.x = area.fromX - (area.toX - area.fromX);else if (copyIndex.y > 0) cellIndex.y = area.toY - 1 + copyIndex.y;
|
|
4279
4488
|
var backsideForCopy = copyIndex.z == -1 || curPos.backside == true;
|
|
4280
|
-
|
|
4281
|
-
var curGrid = backsideForCopy ? this.
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4489
|
+
if (cellIndex.x < 0) cellIndex.x = 0; // can't plan to negative space see prepareGridForColCopy
|
|
4490
|
+
var curGrid = backsideForCopy ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4491
|
+
// can't float need to dock
|
|
4492
|
+
if (curGrid[cellIndex.x].length < cellIndex.y) cellIndex.y = curGrid[cellIndex.x].length;
|
|
4493
|
+
var cells = this.createNewCells(newElement, cellIndex.x, cellIndex.y, backsideForCopy);
|
|
4494
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4495
|
+
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
4496
|
+
curGrid[cells[i].index.x][cells[i].index.y] = cells[i];
|
|
4285
4497
|
}
|
|
4286
4498
|
this.plannerElements.set(newElement.getElementId(), newElement);
|
|
4287
4499
|
}
|
|
4288
4500
|
|
|
4289
4501
|
/**
|
|
4290
|
-
* This function deletes an Element from the grid.
|
|
4502
|
+
* This function deletes an Element from the grid.ShaderMaterial
|
|
4291
4503
|
* If backsideModule is active, than the oppsite Element is deleted as well
|
|
4292
4504
|
* If the boxPlanner_backside switch deletion type is set, do not delete the opposite element
|
|
4293
4505
|
* If the last element in col was deleted, do delete whole col.
|
|
@@ -4308,12 +4520,75 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4308
4520
|
}, {
|
|
4309
4521
|
key: "updateGridElementDimensions",
|
|
4310
4522
|
value: function updateGridElementDimensions(elementId, elementData) {
|
|
4523
|
+
var _this2 = this;
|
|
4311
4524
|
if (!elementData) return;
|
|
4312
4525
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4526
|
+
var scpe = this.gridSetupParams.forceSingleCellPerElement;
|
|
4313
4527
|
res.cells.forEach(function (cell) {
|
|
4314
|
-
cell.
|
|
4315
|
-
cell.
|
|
4528
|
+
if (!cell.plannedElement) return;
|
|
4529
|
+
cell.plannedElement.size.width = elementData.width;
|
|
4530
|
+
cell.plannedElement.size.height = elementData.height;
|
|
4531
|
+
cell.plannedElement.area = {
|
|
4532
|
+
fromX: cell.index.x,
|
|
4533
|
+
toX: !scpe ? Math.round(cell.index.x + elementData.width / _this2.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
4534
|
+
fromY: cell.index.y,
|
|
4535
|
+
toY: !scpe ? Math.round(cell.index.y + elementData.height / _this2.gridSetupParams.fixCellRasterHeight) : cell.index.y + 1
|
|
4536
|
+
};
|
|
4316
4537
|
});
|
|
4538
|
+
if (scpe) return;
|
|
4539
|
+
var newGrid = new Array();
|
|
4540
|
+
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4541
|
+
plannedCells.forEach(function (cell) {
|
|
4542
|
+
var area = cell.plannedElement.area;
|
|
4543
|
+
if (newGrid.find(function (x) {
|
|
4544
|
+
return x.find(function (y) {
|
|
4545
|
+
var _y$plannedElement3, _cell$plannedElement9;
|
|
4546
|
+
return ((_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);
|
|
4547
|
+
});
|
|
4548
|
+
})) return;
|
|
4549
|
+
for (var x = area.fromX; x < area.toX; x++) {
|
|
4550
|
+
var _loop2 = function _loop2(y) {
|
|
4551
|
+
if (!newGrid[x]) newGrid[x] = [];
|
|
4552
|
+
if (y < area.fromY) {
|
|
4553
|
+
if (newGrid[x][y]) return 0; // continue
|
|
4554
|
+
var el = _this2.generalPlanningState.grids[0].matrix.findLast(function (_x) {
|
|
4555
|
+
return _x[y].plannedElement;
|
|
4556
|
+
});
|
|
4557
|
+
newGrid[x][y] = {
|
|
4558
|
+
index: {
|
|
4559
|
+
x: x,
|
|
4560
|
+
y: y
|
|
4561
|
+
},
|
|
4562
|
+
plannedElement: el && el.length > 0 ? el[0].plannedElement : undefined
|
|
4563
|
+
};
|
|
4564
|
+
return 0; // continue
|
|
4565
|
+
}
|
|
4566
|
+
|
|
4567
|
+
// if the element got smaller we need to move it to the neighbour
|
|
4568
|
+
//newGrid[x][y] = { ...cell, index: { x, y: y } };
|
|
4569
|
+
newGrid[x][y] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4570
|
+
index: {
|
|
4571
|
+
x: x,
|
|
4572
|
+
y: y
|
|
4573
|
+
},
|
|
4574
|
+
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4575
|
+
area: {
|
|
4576
|
+
fromX: x,
|
|
4577
|
+
toX: x + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4578
|
+
fromY: y,
|
|
4579
|
+
toY: y + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4580
|
+
}
|
|
4581
|
+
})
|
|
4582
|
+
});
|
|
4583
|
+
},
|
|
4584
|
+
_ret;
|
|
4585
|
+
for (var y = 0; y < area.toY; y++) {
|
|
4586
|
+
_ret = _loop2(y);
|
|
4587
|
+
if (_ret === 0) continue;
|
|
4588
|
+
}
|
|
4589
|
+
}
|
|
4590
|
+
});
|
|
4591
|
+
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4317
4592
|
}
|
|
4318
4593
|
|
|
4319
4594
|
/**
|
|
@@ -4323,6 +4598,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4323
4598
|
}, {
|
|
4324
4599
|
key: "updateWorldPosOfElements",
|
|
4325
4600
|
value: function updateWorldPosOfElements() {
|
|
4601
|
+
var _this$generalPlanning6, _this$generalPlanning7;
|
|
4326
4602
|
//First remove all docking Point relation information
|
|
4327
4603
|
var _iterator = _createForOfIteratorHelper(this.plannerElements.values()),
|
|
4328
4604
|
_step;
|
|
@@ -4340,45 +4616,45 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4340
4616
|
//First remove all docking Point relation information
|
|
4341
4617
|
|
|
4342
4618
|
var allCheckedElementIds = [];
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4349
|
-
|
|
4350
|
-
|
|
4351
|
-
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4619
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4620
|
+
var backGrid = (_this$generalPlanning6 = (_this$generalPlanning7 = this.generalPlanningState.grids[1]) === null || _this$generalPlanning7 === void 0 ? void 0 : _this$generalPlanning7.matrix) !== null && _this$generalPlanning6 !== void 0 ? _this$generalPlanning6 : [];
|
|
4621
|
+
for (var x = 0; x < frontGrid.length; x++) {
|
|
4622
|
+
for (var y = 0; y < frontGrid[x].length; y++) {
|
|
4623
|
+
var _cell$plannedElement10;
|
|
4624
|
+
var cell = frontGrid[x][y];
|
|
4625
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement10 = cell.plannedElement) === null || _cell$plannedElement10 === void 0 ? void 0 : _cell$plannedElement10.elementId;
|
|
4626
|
+
if (elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
4627
|
+
var element = this.plannerElements.get(elementId);
|
|
4628
|
+
allCheckedElementIds.push(elementId);
|
|
4629
|
+
var topNeighbors = this.getNeighborElements(elementId, 'TOP');
|
|
4630
|
+
var rightNeighbors = this.getNeighborElements(elementId, 'RIGHT');
|
|
4631
|
+
var leftNeighbors = this.getNeighborElements(elementId, 'LEFT');
|
|
4632
|
+
if (topNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4633
|
+
if (leftNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4634
|
+
if (rightNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4357
4635
|
element.PosNr = posNr;
|
|
4358
4636
|
posNr++;
|
|
4359
4637
|
}
|
|
4360
4638
|
}
|
|
4361
4639
|
}
|
|
4362
|
-
for (var i = 0; i <
|
|
4363
|
-
for (var j = 0; j <
|
|
4364
|
-
var
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
var
|
|
4369
|
-
|
|
4640
|
+
for (var i = 0; i < backGrid.length; i++) {
|
|
4641
|
+
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4642
|
+
var _cell5$plannedElement;
|
|
4643
|
+
var _cell5 = backGrid[i][j];
|
|
4644
|
+
var _elementId6 = _cell5 === null || _cell5 === void 0 || (_cell5$plannedElement = _cell5.plannedElement) === null || _cell5$plannedElement === void 0 ? void 0 : _cell5$plannedElement.elementId;
|
|
4645
|
+
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4646
|
+
var _element2 = this.plannerElements.get(_elementId6);
|
|
4647
|
+
allCheckedElementIds.push(_elementId6);
|
|
4648
|
+
var frontCell = frontGrid[i][j];
|
|
4649
|
+
var elementFrontGrid = this.plannerElements.get(frontCell.plannedElement.elementId);
|
|
4370
4650
|
if (elementFrontGrid) {
|
|
4371
4651
|
var targetDPFrontGrid = elementFrontGrid === null || elementFrontGrid === void 0 ? void 0 : elementFrontGrid.getDockingPointById('AVO_AVO_2_IL');
|
|
4372
4652
|
if (!targetDPFrontGrid) LOG$1.error(new DivaUtils.DivaError('Error Loading DockingPoint AVO_2 for plannerElement'));else if (_element2) PlannerHandler2D.dockingPointHandlerInst.tryDockElementToDP(_element2, elementFrontGrid, targetDPFrontGrid);
|
|
4373
4653
|
}
|
|
4374
|
-
var _topNeighbors = this.getNeighborElements(
|
|
4375
|
-
var _rightNeighbors = this.getNeighborElements(
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
}
|
|
4379
|
-
for (var n = 0; n < _rightNeighbors.length; n++) {
|
|
4380
|
-
PlannerHandler2D.dockingPointHandlerInst.tryDockElement(_element2, 'AVL', [_rightNeighbors[n]]);
|
|
4381
|
-
}
|
|
4654
|
+
var _topNeighbors = this.getNeighborElements(_elementId6, 'TOP');
|
|
4655
|
+
var _rightNeighbors = this.getNeighborElements(_elementId6, 'RIGHT');
|
|
4656
|
+
if (_topNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(_element2, 'AVO', [_topNeighbors[0]]);
|
|
4657
|
+
if (_rightNeighbors.length > 0) PlannerHandler2D.dockingPointHandlerInst.tryDockElement(_element2, 'AVL', [_rightNeighbors[0]]);
|
|
4382
4658
|
_element2.PosNr = posNr;
|
|
4383
4659
|
posNr++;
|
|
4384
4660
|
}
|
|
@@ -4406,10 +4682,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4406
4682
|
_iterator2.f();
|
|
4407
4683
|
}
|
|
4408
4684
|
this.plannerElements.clear();
|
|
4409
|
-
this.
|
|
4685
|
+
this.generalPlanningState.grids[0].matrix = [];
|
|
4410
4686
|
if (this.hasActiveBackside) {
|
|
4411
4687
|
this.hasActiveBackside = false;
|
|
4412
|
-
this.
|
|
4688
|
+
this.generalPlanningState.grids[1].matrix = [];
|
|
4413
4689
|
}
|
|
4414
4690
|
}
|
|
4415
4691
|
|
|
@@ -4435,7 +4711,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4435
4711
|
_iterator3.f();
|
|
4436
4712
|
}
|
|
4437
4713
|
allElements = [];
|
|
4438
|
-
this.
|
|
4714
|
+
this.generalPlanningState.grids[1].matrix = [];
|
|
4439
4715
|
}
|
|
4440
4716
|
}, {
|
|
4441
4717
|
key: "getPlannerHasActiveBackside",
|
|
@@ -4450,26 +4726,31 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4450
4726
|
}, {
|
|
4451
4727
|
key: "getBoundingBox",
|
|
4452
4728
|
value: function getBoundingBox() {
|
|
4729
|
+
var _frontGrid$;
|
|
4730
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4731
|
+
var element = frontGrid === null || frontGrid === void 0 || (_frontGrid$ = frontGrid[0]) === null || _frontGrid$ === void 0 || (_frontGrid$ = _frontGrid$[0]) === null || _frontGrid$ === void 0 ? void 0 : _frontGrid$.plannedElement;
|
|
4453
4732
|
var height = 0;
|
|
4454
4733
|
var minX = 0;
|
|
4455
4734
|
var maxX = 0;
|
|
4456
4735
|
var curX = 0;
|
|
4457
4736
|
var minZ = 0;
|
|
4458
|
-
var curZ =
|
|
4737
|
+
var curZ = element ? element.size.depth : 0;
|
|
4459
4738
|
var maxZ = 0;
|
|
4460
4739
|
var curDir;
|
|
4461
4740
|
curDir = 'RIGHT';
|
|
4462
4741
|
var allCheckedElementIds = [];
|
|
4463
|
-
for (var i = 0; i <
|
|
4464
|
-
var
|
|
4742
|
+
for (var i = 0; i < frontGrid.length; i++) {
|
|
4743
|
+
var _groundCell$plannedEl;
|
|
4744
|
+
var groundCell = frontGrid[i][0];
|
|
4465
4745
|
if (!groundCell) break; //if on the lowest position the cell is empty, the grid ist finished - no wholes are allowed
|
|
4466
4746
|
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4747
|
+
var elementId = (_groundCell$plannedEl = groundCell.plannedElement) === null || _groundCell$plannedEl === void 0 ? void 0 : _groundCell$plannedEl.elementId;
|
|
4748
|
+
if (elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
4749
|
+
allCheckedElementIds.push(elementId);
|
|
4750
|
+
var groundElement = this.plannerElements.get(elementId);
|
|
4470
4751
|
if (!groundElement) continue;
|
|
4471
4752
|
//Check if the col has a corner.
|
|
4472
|
-
var elementOption = this.getValueOfOptionOfArticle(
|
|
4753
|
+
var elementOption = this.getValueOfOptionOfArticle(elementId, 'OPTELEMENT');
|
|
4473
4754
|
if (curDir == 'RIGHT') {
|
|
4474
4755
|
curX += groundElement.getWidth();
|
|
4475
4756
|
} else if (curDir == 'FRONT') {
|
|
@@ -4538,7 +4819,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4538
4819
|
var _curGrid$x;
|
|
4539
4820
|
return ((_curGrid$x = curGrid[x]) === null || _curGrid$x === void 0 ? void 0 : _curGrid$x[y]) === undefined;
|
|
4540
4821
|
};
|
|
4541
|
-
var curGrid = elementCells.backside ? this.
|
|
4822
|
+
var curGrid = elementCells.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4542
4823
|
var _iterator4 = _createForOfIteratorHelper(this.plannerElements.keys()),
|
|
4543
4824
|
_step4;
|
|
4544
4825
|
try {
|
|
@@ -4557,7 +4838,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4557
4838
|
|
|
4558
4839
|
//Now we found a possible place
|
|
4559
4840
|
|
|
4560
|
-
var locationInformation = this.createLocationInformation(element, elementCells.backside, this.createEmptyCells(otherElementCells.
|
|
4841
|
+
var locationInformation = this.createLocationInformation(element, elementCells.backside, this.createEmptyCells(otherElementCells.cells[0].plannedElement.area.fromX, otherElementCells.cells[0].plannedElement.area.toX, otherElementCells.cells[0].plannedElement.area.fromY, otherElementCells.cells[0].plannedElement.area.toY + 1, element.getWidth(), element.getHeight()), otherElementCells.cells[0].plannedElement.area.fromX, otherElementCells.cells[0].plannedElement.area.toX, 1, 1);
|
|
4561
4842
|
allFreeMoveLocations.push(locationInformation);
|
|
4562
4843
|
}
|
|
4563
4844
|
} else {
|
|
@@ -4566,7 +4847,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4566
4847
|
var _otherElementCells = this.getCellsInGridByElementId(otherElementId);
|
|
4567
4848
|
var freeStartTopColIndex = -1;
|
|
4568
4849
|
var freeEndTopColIndex = -1;
|
|
4569
|
-
var topRow = _otherElementCells.
|
|
4850
|
+
var topRow = _otherElementCells.cells[0].plannedElement.area.toY + 1;
|
|
4570
4851
|
for (var x = _otherElementCells.startColIndex; x <= _otherElementCells.startColIndex + _otherElementCells.colCount - 1; x++) {
|
|
4571
4852
|
var freeSpaceFound = false;
|
|
4572
4853
|
if (isEmptyCell(x, topRow)) {
|
|
@@ -4639,7 +4920,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4639
4920
|
}
|
|
4640
4921
|
|
|
4641
4922
|
// Determine the grid to work with (front or back) based on the element's location
|
|
4642
|
-
var curGrid = elementCells.backside ? this.
|
|
4923
|
+
var curGrid = elementCells.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4643
4924
|
|
|
4644
4925
|
// Get the boundaries of the element in the grid
|
|
4645
4926
|
var startColIndex = elementCells.startColIndex;
|
|
@@ -4698,9 +4979,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4698
4979
|
var targetRowIndex = endRowIndex + 1;
|
|
4699
4980
|
var _copyPossible = false;
|
|
4700
4981
|
// Iterate through columns within the element's width
|
|
4701
|
-
for (var
|
|
4702
|
-
if (isValidCell(
|
|
4703
|
-
copyStartColIndex =
|
|
4982
|
+
for (var _x3 = endColIndex; _x3 >= startColIndex; _x3--) {
|
|
4983
|
+
if (isValidCell(_x3, targetRowIndex)) {
|
|
4984
|
+
copyStartColIndex = _x3;
|
|
4704
4985
|
_copyPossible = true;
|
|
4705
4986
|
}
|
|
4706
4987
|
}
|
|
@@ -4714,29 +4995,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4714
4995
|
case 'RIGHT':
|
|
4715
4996
|
{
|
|
4716
4997
|
// Target column to the left of the element
|
|
4717
|
-
var _targetColIndex = endColIndex
|
|
4998
|
+
var _targetColIndex = endColIndex;
|
|
4718
4999
|
var _copyPossible2 = false;
|
|
4719
5000
|
// Iterate through rows within the element's height
|
|
4720
|
-
for (var
|
|
4721
|
-
if (isValidCell(_targetColIndex,
|
|
4722
|
-
copyStartRowIndex =
|
|
5001
|
+
for (var _y2 = startRowIndex; _y2 <= endRowIndex; _y2++) {
|
|
5002
|
+
if (isValidCell(_targetColIndex, _y2)) {
|
|
5003
|
+
copyStartRowIndex = _y2;
|
|
4723
5004
|
_copyPossible2 = true;
|
|
4724
5005
|
break;
|
|
4725
5006
|
}
|
|
4726
5007
|
}
|
|
4727
5008
|
if (!_copyPossible2) return undefined;
|
|
4728
5009
|
_copyPossible2 = false;
|
|
4729
|
-
for (var
|
|
4730
|
-
if (isValidCell(
|
|
5010
|
+
for (var _x4 = endColIndex; _x4 <= endColIndex + elementCells.colCount; _x4++) {
|
|
5011
|
+
if (isValidCell(_x4, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x4, copyStartRowIndex - 1))) {
|
|
4731
5012
|
//check also for overhang
|
|
4732
|
-
copyEndColIndex =
|
|
5013
|
+
copyEndColIndex = _x4;
|
|
4733
5014
|
_copyPossible2 = true;
|
|
4734
5015
|
} else {
|
|
4735
5016
|
break; //when you find one situation where it is not valid skip outside.
|
|
4736
5017
|
}
|
|
4737
5018
|
}
|
|
4738
5019
|
if (!_copyPossible2) return undefined;
|
|
4739
|
-
copyStartColIndex = endColIndex
|
|
5020
|
+
copyStartColIndex = endColIndex;
|
|
4740
5021
|
copyEndRowIndex = endRowIndex;
|
|
4741
5022
|
freeCells = this.createEmptyCells(copyStartColIndex, copyStartRowIndex, copyEndColIndex, copyEndRowIndex, element.getWidth(), element.getHeight());
|
|
4742
5023
|
break;
|
|
@@ -4753,7 +5034,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4753
5034
|
}, {
|
|
4754
5035
|
key: "createLocationInformation",
|
|
4755
5036
|
value: function createLocationInformation(element, fromBackside, cells, cellsStartColIndex, cellsStartRowIndex, cellsColCount, cellsRowCount) {
|
|
4756
|
-
var curGrid = fromBackside ? this.
|
|
5037
|
+
var curGrid = fromBackside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4757
5038
|
var elementLocation = {
|
|
4758
5039
|
cells: cells,
|
|
4759
5040
|
widthPerCell: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterWidth : element.getWidth(),
|
|
@@ -4769,14 +5050,16 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4769
5050
|
} else {
|
|
4770
5051
|
var distToOriginX = 0;
|
|
4771
5052
|
for (var i = 0; i < cellsStartColIndex; i++) {
|
|
4772
|
-
|
|
5053
|
+
var _plannedElement$size$3, _plannedElement3;
|
|
5054
|
+
distToOriginX += (_plannedElement$size$3 = (_plannedElement3 = curGrid[i][0].plannedElement) === null || _plannedElement3 === void 0 ? void 0 : _plannedElement3.size.width) !== null && _plannedElement$size$3 !== void 0 ? _plannedElement$size$3 : 0;
|
|
4773
5055
|
}
|
|
4774
5056
|
if (cellsStartColIndex < 0) {
|
|
4775
5057
|
distToOriginX = -element.getWidth();
|
|
4776
5058
|
}
|
|
4777
5059
|
var distToOriginY = 0;
|
|
4778
5060
|
for (var i = 0; i < cellsStartRowIndex; i++) {
|
|
4779
|
-
|
|
5061
|
+
var _plannedElement$size$4, _plannedElement4;
|
|
5062
|
+
distToOriginY += (_plannedElement$size$4 = (_plannedElement4 = curGrid[cellsStartColIndex][i].plannedElement) === null || _plannedElement4 === void 0 ? void 0 : _plannedElement4.size.width) !== null && _plannedElement$size$4 !== void 0 ? _plannedElement$size$4 : 0;
|
|
4780
5063
|
}
|
|
4781
5064
|
elementLocation.startIndexWorldPos = new index.Vector2(distToOriginX, distToOriginY);
|
|
4782
5065
|
}
|
|
@@ -4792,7 +5075,8 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4792
5075
|
for (var i = 0; i < allElements.length; i++) {
|
|
4793
5076
|
var element = allElements[i];
|
|
4794
5077
|
var elementCells = this.getCellsInGridByElementId(element.getElementId());
|
|
4795
|
-
var
|
|
5078
|
+
var area = elementCells.cells[0].plannedElement.area;
|
|
5079
|
+
var elementLocation = this.createLocationInformation(element, elementCells.backside, elementCells.cells, area.fromX, area.toX, area.fromY, area.toY);
|
|
4796
5080
|
var planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4797
5081
|
var planningRightLocation = this.getFreePlanningLocation(element.getElementId(), 'RIGHT');
|
|
4798
5082
|
var planningTopLocation = this.getFreePlanningLocation(element.getElementId(), 'TOP');
|
|
@@ -4818,10 +5102,20 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4818
5102
|
}
|
|
4819
5103
|
}, {
|
|
4820
5104
|
key: "getGeneralPlanningState",
|
|
4821
|
-
value: function getGeneralPlanningState(
|
|
4822
|
-
var
|
|
4823
|
-
var
|
|
4824
|
-
var
|
|
5105
|
+
value: function getGeneralPlanningState() {
|
|
5106
|
+
var _ele2, _ele3;
|
|
5107
|
+
var movables = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5108
|
+
var selectedElementId = arguments.length > 1 ? arguments[1] : undefined;
|
|
5109
|
+
if (!movables) return this.generalPlanningState;
|
|
5110
|
+
// fill to equal size
|
|
5111
|
+
var matrix = this.generalPlanningState.grids[0].matrix;
|
|
5112
|
+
var matrixWithMovables = [];
|
|
5113
|
+
var maxWidth = matrix.length;
|
|
5114
|
+
var maxHeight = 0;
|
|
5115
|
+
matrix.forEach(function (x) {
|
|
5116
|
+
if (x.length > maxHeight) maxHeight = x.length;
|
|
5117
|
+
});
|
|
5118
|
+
Array.from(this.plannerElements.values()).map(function (p) {
|
|
4825
5119
|
return {
|
|
4826
5120
|
basketId: p.getBasketId(),
|
|
4827
5121
|
elementId: p.getElementId(),
|
|
@@ -4839,86 +5133,75 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4839
5133
|
}
|
|
4840
5134
|
};
|
|
4841
5135
|
});
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
|
|
4848
|
-
var plannedElement = plannedElements.find(function (p) {
|
|
4849
|
-
return p.elementId === cell.plannerElementId;
|
|
4850
|
-
});
|
|
4851
|
-
if (plannedElement) {
|
|
4852
|
-
if (plannedElement.area.fromX === undefined || plannedElement.area.fromX > cell.index.x) plannedElement.area.fromX = cell.index.x;
|
|
4853
|
-
if (plannedElement.area.toX === undefined || plannedElement.area.toX < cell.index.x) plannedElement.area.toX = cell.index.x;
|
|
4854
|
-
if (plannedElement.area.fromY === undefined || plannedElement.area.fromY > cell.index.y) plannedElement.area.fromY = cell.index.y;
|
|
4855
|
-
if (plannedElement.area.toY === undefined || plannedElement.area.toY < cell.index.y) plannedElement.area.toY = cell.index.y;
|
|
4856
|
-
}
|
|
4857
|
-
matrix[i].push({
|
|
4858
|
-
index: cell.index,
|
|
4859
|
-
plannedElement: plannedElement
|
|
4860
|
-
});
|
|
4861
|
-
}
|
|
4862
|
-
};
|
|
4863
|
-
for (var j = 0; j < frontGridRow.length; j++) {
|
|
4864
|
-
_loop();
|
|
4865
|
-
}
|
|
4866
|
-
}
|
|
4867
|
-
|
|
4868
|
-
// Fill matrix rows to equal length
|
|
4869
|
-
var maxLength = Math.max.apply(Math, _toConsumableArray__default["default"](matrix.map(function (row) {
|
|
4870
|
-
return row.length;
|
|
4871
|
-
})));
|
|
4872
|
-
matrix.forEach(function (row) {
|
|
4873
|
-
while (row.length < maxLength) {
|
|
4874
|
-
var _row$;
|
|
4875
|
-
var lastCell = row[row.length - 1];
|
|
4876
|
-
var newY = lastCell ? lastCell.index.y + 1 : 0;
|
|
4877
|
-
row.push({
|
|
4878
|
-
index: new index.Vector2(((_row$ = row[0]) === null || _row$ === void 0 ? void 0 : _row$.index.x) || 0, newY),
|
|
4879
|
-
plannedElement: undefined
|
|
4880
|
-
});
|
|
4881
|
-
}
|
|
4882
|
-
});
|
|
4883
|
-
var selectedPlannedElement = selectedElementId ? plannedElements.find(function (p) {
|
|
4884
|
-
return p.elementId === selectedElementId;
|
|
4885
|
-
}) : undefined;
|
|
4886
|
-
if (selectedPlannedElement) {
|
|
4887
|
-
//add the free let planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4888
|
-
var planningLeftLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'LEFT');
|
|
4889
|
-
var planningRightLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'RIGHT');
|
|
4890
|
-
var planningTopLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'TOP');
|
|
4891
|
-
var fixedPositionRules = [];
|
|
4892
|
-
if (planningLeftLocation) {
|
|
4893
|
-
this.addFreeCellsToMatrix(matrix, planningLeftLocation.cells, fixedPositionRules);
|
|
4894
|
-
}
|
|
4895
|
-
if (planningRightLocation) {
|
|
4896
|
-
this.addFreeCellsToMatrix(matrix, planningRightLocation.cells, fixedPositionRules);
|
|
4897
|
-
}
|
|
4898
|
-
if (planningTopLocation) {
|
|
4899
|
-
this.addFreeCellsToMatrix(matrix, planningTopLocation.cells, fixedPositionRules);
|
|
4900
|
-
}
|
|
5136
|
+
var isSupport = false;
|
|
5137
|
+
var selectedElement = undefined;
|
|
5138
|
+
var ele = undefined;
|
|
5139
|
+
if (selectedElementId) {
|
|
5140
|
+
var res = this.getCellsInGridByElementId(selectedElementId);
|
|
5141
|
+
ele = res.cells[0].plannedElement;
|
|
4901
5142
|
selectedElement = {
|
|
4902
|
-
articleCodex:
|
|
4903
|
-
|
|
5143
|
+
articleCodex: ele.articleCodex,
|
|
5144
|
+
elementId: ele.elementId,
|
|
4904
5145
|
gridSpace: {
|
|
4905
|
-
rows:
|
|
4906
|
-
colums:
|
|
5146
|
+
rows: ele.area.toY - ele.area.fromY + 1,
|
|
5147
|
+
colums: ele.area.toX - ele.area.fromX + 1
|
|
4907
5148
|
},
|
|
4908
|
-
|
|
4909
|
-
|
|
5149
|
+
area: ele.area,
|
|
5150
|
+
size: ele.size,
|
|
5151
|
+
rules: []
|
|
4910
5152
|
};
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
5153
|
+
isSupport = !!matrix.find(function (x, idx) {
|
|
5154
|
+
return idx >= ele.area.fromX && idx < ele.area.toX && matrix[idx].length > ele.area.toY;
|
|
5155
|
+
}); // can't move if there is anything above these cells
|
|
5156
|
+
}
|
|
5157
|
+
if (isSupport) return this.generalPlanningState;
|
|
5158
|
+
for (var x = 0; x < maxWidth; x++) {
|
|
5159
|
+
var _x = ele.area.fromX == 0 ? x : x + 1;
|
|
5160
|
+
if (!matrixWithMovables[_x]) if (matrix[x]) matrixWithMovables[_x] = _toConsumableArray__default["default"](matrix[x]);
|
|
5161
|
+
for (var y = 0; y < maxHeight; y++) {
|
|
5162
|
+
if (matrix[x].length > y && matrix[x][y]) {
|
|
5163
|
+
matrixWithMovables[_x][y].plannedElement;
|
|
5164
|
+
matrixWithMovables[_x][y] = _objectSpread({}, matrix[x][y]);
|
|
5165
|
+
}
|
|
5166
|
+
}
|
|
5167
|
+
}
|
|
5168
|
+
|
|
5169
|
+
// add movable to the top
|
|
5170
|
+
var from = ele.area.fromX == 0 ? ele.area.fromX : ele.area.fromX + 1;
|
|
5171
|
+
var to = ele.area.fromX == 0 ? ele.area.toX : ele.area.toX + 1;
|
|
5172
|
+
matrixWithMovables.forEach(function (_, x) {
|
|
5173
|
+
if (x >= from && x < to) return;
|
|
5174
|
+
var row = matrixWithMovables[x];
|
|
5175
|
+
var len = row.length;
|
|
5176
|
+
var _x = ele.fromX == 0 ? x : x - 1;
|
|
5177
|
+
row[len] = {
|
|
5178
|
+
index: {
|
|
5179
|
+
x: _x,
|
|
5180
|
+
y: len
|
|
5181
|
+
}
|
|
5182
|
+
};
|
|
5183
|
+
});
|
|
5184
|
+
|
|
5185
|
+
// add movable to the side
|
|
5186
|
+
var len = matrixWithMovables.length;
|
|
5187
|
+
if (((_ele2 = ele) === null || _ele2 === void 0 ? void 0 : _ele2.area.toX) != matrix.length) matrixWithMovables[len] = [{
|
|
5188
|
+
index: {
|
|
5189
|
+
x: ele.fromX == 0 ? len : len - 1,
|
|
5190
|
+
y: 0
|
|
5191
|
+
}
|
|
5192
|
+
}];
|
|
5193
|
+
if (((_ele3 = ele) === null || _ele3 === void 0 ? void 0 : _ele3.area.fromX) != 0) matrixWithMovables[0] = [{
|
|
5194
|
+
index: {
|
|
5195
|
+
x: -1,
|
|
5196
|
+
y: 0
|
|
5197
|
+
}
|
|
5198
|
+
}];
|
|
5199
|
+
return _objectSpread(_objectSpread({}, this.generalPlanningState), {}, {
|
|
5200
|
+
selectedElement: selectedElement,
|
|
5201
|
+
grids: [_objectSpread(_objectSpread({}, this.generalPlanningState.grids[0]), {}, {
|
|
5202
|
+
matrix: matrixWithMovables
|
|
5203
|
+
})]
|
|
5204
|
+
});
|
|
4922
5205
|
}
|
|
4923
5206
|
}, {
|
|
4924
5207
|
key: "getRowSizes",
|
|
@@ -4927,7 +5210,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4927
5210
|
//system 4 useacse
|
|
4928
5211
|
var totalColCount = matrix[0].length;
|
|
4929
5212
|
var colSizes = Array(totalColCount).fill(-1);
|
|
4930
|
-
var
|
|
5213
|
+
var _loop3 = function _loop3(i) {
|
|
4931
5214
|
var _matrix$find;
|
|
4932
5215
|
var cell = (_matrix$find = matrix.find(function (row) {
|
|
4933
5216
|
var _row$i$plannedElement, _row$i$plannedElement2;
|
|
@@ -4941,7 +5224,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4941
5224
|
if (colSizes[i] === -1) return 1; // break
|
|
4942
5225
|
};
|
|
4943
5226
|
for (var i = 0; i < totalColCount; i++) {
|
|
4944
|
-
if (
|
|
5227
|
+
if (_loop3(i)) break;
|
|
4945
5228
|
}
|
|
4946
5229
|
if (colSizes.includes(-1)) LOG$1.error(new Error('Column sizes are not set'));
|
|
4947
5230
|
return colSizes;
|
|
@@ -5004,9 +5287,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
5004
5287
|
});
|
|
5005
5288
|
if (!column) {
|
|
5006
5289
|
matrix.map(function (row) {
|
|
5007
|
-
var _row
|
|
5290
|
+
var _row$;
|
|
5008
5291
|
return row.push({
|
|
5009
|
-
index: new index.Vector2(((_row$
|
|
5292
|
+
index: new index.Vector2(((_row$ = row[0]) === null || _row$ === void 0 ? void 0 : _row$.index.x) || 0, y),
|
|
5010
5293
|
plannedElement: undefined
|
|
5011
5294
|
});
|
|
5012
5295
|
});
|
|
@@ -5213,7 +5496,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5213
5496
|
key: "addPlannerElement",
|
|
5214
5497
|
value: (function () {
|
|
5215
5498
|
var _addPlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(basketID, params) {
|
|
5216
|
-
var plannerElement, data;
|
|
5499
|
+
var plannerElement, data, constructionRules, _constructionRules$co, _constructionRules$co2;
|
|
5217
5500
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
5218
5501
|
while (1) switch (_context2.prev = _context2.next) {
|
|
5219
5502
|
case 0:
|
|
@@ -5232,7 +5515,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5232
5515
|
return PlannerHandler2D.handler2D.loadSVG(plannerElement, this.set);
|
|
5233
5516
|
case 9:
|
|
5234
5517
|
if (!this.constructionRulesHandler.getConstructionRulesLoaded()) {
|
|
5235
|
-
this.
|
|
5518
|
+
constructionRules = this.set.getConstructionRuleOfElementId(plannerElement.ElementId);
|
|
5519
|
+
if (constructionRules) {
|
|
5520
|
+
this.boxPlannerGrid.GridSetupParams = {
|
|
5521
|
+
fixCellRasterHeight: 19.2,
|
|
5522
|
+
fixCellRasterWidth: 19.2,
|
|
5523
|
+
forceFixCellRasterSize: (_constructionRules$co = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co !== void 0 ? _constructionRules$co : true,
|
|
5524
|
+
forceSingleCellPerElement: (_constructionRules$co2 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co2 !== void 0 ? _constructionRules$co2 : true,
|
|
5525
|
+
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5526
|
+
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5527
|
+
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
5528
|
+
maxGridRasterWidth: constructionRules.constructionRules.maxGridRasterWidth
|
|
5529
|
+
}, this.constructionRulesHandler.setConstructionRules(constructionRules);
|
|
5530
|
+
}
|
|
5236
5531
|
}
|
|
5237
5532
|
this.boxPlannerGrid.addElementAtGridPos(plannerElement, params.boxCol, params.boxRow, params.backside != undefined ? params.backside : false);
|
|
5238
5533
|
if (!params.boxUpdateWholePlanning) {
|
|
@@ -5272,6 +5567,28 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5272
5567
|
}
|
|
5273
5568
|
return extendPlanner;
|
|
5274
5569
|
}()
|
|
5570
|
+
}, {
|
|
5571
|
+
key: "movePlannerElement",
|
|
5572
|
+
value: function () {
|
|
5573
|
+
var _movePlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee4(elementId, absoluteIndex) {
|
|
5574
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee4$(_context4) {
|
|
5575
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
5576
|
+
case 0:
|
|
5577
|
+
this.boxPlannerGrid.moveElementAsCopy(elementId, absoluteIndex);
|
|
5578
|
+
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5579
|
+
_context4.next = 4;
|
|
5580
|
+
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, "", [elementId]);
|
|
5581
|
+
case 4:
|
|
5582
|
+
case "end":
|
|
5583
|
+
return _context4.stop();
|
|
5584
|
+
}
|
|
5585
|
+
}, _callee4, this);
|
|
5586
|
+
}));
|
|
5587
|
+
function movePlannerElement(_x6, _x7) {
|
|
5588
|
+
return _movePlannerElement.apply(this, arguments);
|
|
5589
|
+
}
|
|
5590
|
+
return movePlannerElement;
|
|
5591
|
+
}()
|
|
5275
5592
|
/**
|
|
5276
5593
|
* Handles copyying the planner Element. it can happen that also other planner elements are influenced
|
|
5277
5594
|
* @param articleCopyRelation Holds the relation - which element with elementID is copyed and has a new Article. ElementToCopyID -> BasketID of new Article
|
|
@@ -5280,18 +5597,18 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5280
5597
|
}, {
|
|
5281
5598
|
key: "copyPlannerElement",
|
|
5282
5599
|
value: (function () {
|
|
5283
|
-
var _copyPlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function
|
|
5600
|
+
var _copyPlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee5(articleCopyRelation, copyInfo) {
|
|
5284
5601
|
var _this = this;
|
|
5285
5602
|
var gridIsPrepared, plannerElementsToLoadSVG, that, i, cellPos, allDPs, j;
|
|
5286
|
-
return _regeneratorRuntime__default["default"].wrap(function
|
|
5287
|
-
while (1) switch (
|
|
5603
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee5$(_context5) {
|
|
5604
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
5288
5605
|
case 0:
|
|
5289
5606
|
gridIsPrepared = false;
|
|
5290
5607
|
if (copyInfo) {
|
|
5291
|
-
|
|
5608
|
+
_context5.next = 3;
|
|
5292
5609
|
break;
|
|
5293
5610
|
}
|
|
5294
|
-
return
|
|
5611
|
+
return _context5.abrupt("return");
|
|
5295
5612
|
case 3:
|
|
5296
5613
|
if (copyInfo.copyType == 'STD') copyInfo.targetElements = [];
|
|
5297
5614
|
plannerElementsToLoadSVG = [];
|
|
@@ -5321,10 +5638,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5321
5638
|
i = 0;
|
|
5322
5639
|
case 8:
|
|
5323
5640
|
if (!(i < plannerElementsToLoadSVG.length)) {
|
|
5324
|
-
|
|
5641
|
+
_context5.next = 15;
|
|
5325
5642
|
break;
|
|
5326
5643
|
}
|
|
5327
|
-
|
|
5644
|
+
_context5.next = 11;
|
|
5328
5645
|
return PlannerHandler2D.handler2D.loadSVG(plannerElementsToLoadSVG[i], this.set);
|
|
5329
5646
|
case 11:
|
|
5330
5647
|
//Check if we have to prevent to build even higher in this col
|
|
@@ -5340,19 +5657,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5340
5657
|
}
|
|
5341
5658
|
case 12:
|
|
5342
5659
|
i++;
|
|
5343
|
-
|
|
5660
|
+
_context5.next = 8;
|
|
5344
5661
|
break;
|
|
5345
5662
|
case 15:
|
|
5346
5663
|
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5347
|
-
|
|
5664
|
+
_context5.next = 18;
|
|
5348
5665
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, copyInfo.changedOPT, copyInfo.targetElements);
|
|
5349
5666
|
case 18:
|
|
5350
5667
|
case "end":
|
|
5351
|
-
return
|
|
5668
|
+
return _context5.stop();
|
|
5352
5669
|
}
|
|
5353
|
-
},
|
|
5670
|
+
}, _callee5, this);
|
|
5354
5671
|
}));
|
|
5355
|
-
function copyPlannerElement(
|
|
5672
|
+
function copyPlannerElement(_x8, _x9) {
|
|
5356
5673
|
return _copyPlannerElement.apply(this, arguments);
|
|
5357
5674
|
}
|
|
5358
5675
|
return copyPlannerElement;
|
|
@@ -5425,8 +5742,8 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5425
5742
|
allElementsToCopy = result.elements;
|
|
5426
5743
|
result.backside;
|
|
5427
5744
|
} else {
|
|
5428
|
-
var _result = this.boxPlannerGrid.
|
|
5429
|
-
allElementsToCopy =
|
|
5745
|
+
var _result = this.boxPlannerGrid.getAllElementsToFillUp(elementId, copyInfo.copyIndex.x > 0 ? 'RIGHT' : 'LEFT');
|
|
5746
|
+
allElementsToCopy = _result.elements;
|
|
5430
5747
|
_result.backside;
|
|
5431
5748
|
}
|
|
5432
5749
|
}
|
|
@@ -5458,10 +5775,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5458
5775
|
}, {
|
|
5459
5776
|
key: "deletePlannerElement",
|
|
5460
5777
|
value: (function () {
|
|
5461
|
-
var _deletePlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function
|
|
5778
|
+
var _deletePlannerElement = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee6(elementId, autoCorrectAVL_AVR, deletionType) {
|
|
5462
5779
|
var cellPos, newSelectedPos, doUpdateWholeLogic, _this$boxPlannerGrid$;
|
|
5463
|
-
return _regeneratorRuntime__default["default"].wrap(function
|
|
5464
|
-
while (1) switch (
|
|
5780
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee6$(_context6) {
|
|
5781
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
5465
5782
|
case 0:
|
|
5466
5783
|
//TODO ÜBERLEGEN WIE MAN DAS JETZT RICHTET: BESSER WÄRE ES MAN GIBT DAS NÄCHSTE ZU SELECTIERENDE ELEMENT ID ZURÜCK
|
|
5467
5784
|
//var pos = this.boxPlannerGrid.getIndexInGridByElementId(elementId);
|
|
@@ -5495,29 +5812,29 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5495
5812
|
} else if (deletionType == 'STD_DONTUPDATE') doUpdateWholeLogic = false;
|
|
5496
5813
|
}
|
|
5497
5814
|
if (!doUpdateWholeLogic) {
|
|
5498
|
-
|
|
5815
|
+
_context6.next = 11;
|
|
5499
5816
|
break;
|
|
5500
5817
|
}
|
|
5501
5818
|
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5502
|
-
|
|
5819
|
+
_context6.next = 11;
|
|
5503
5820
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid);
|
|
5504
5821
|
case 11:
|
|
5505
5822
|
if (!this.boxPlannerGrid.getPlannerElementAtGridPos(newSelectedPos.col, newSelectedPos.row, newSelectedPos.backside)) {
|
|
5506
|
-
|
|
5823
|
+
_context6.next = 13;
|
|
5507
5824
|
break;
|
|
5508
5825
|
}
|
|
5509
|
-
return
|
|
5826
|
+
return _context6.abrupt("return", {
|
|
5510
5827
|
newElementToSelect: (_this$boxPlannerGrid$ = this.boxPlannerGrid.getPlannerElementAtGridPos(newSelectedPos.col, newSelectedPos.row, newSelectedPos.backside)) === null || _this$boxPlannerGrid$ === void 0 ? void 0 : _this$boxPlannerGrid$.getElementId()
|
|
5511
5828
|
});
|
|
5512
5829
|
case 13:
|
|
5513
|
-
return
|
|
5830
|
+
return _context6.abrupt("return", {});
|
|
5514
5831
|
case 14:
|
|
5515
5832
|
case "end":
|
|
5516
|
-
return
|
|
5833
|
+
return _context6.stop();
|
|
5517
5834
|
}
|
|
5518
|
-
},
|
|
5835
|
+
}, _callee6, this);
|
|
5519
5836
|
}));
|
|
5520
|
-
function deletePlannerElement(
|
|
5837
|
+
function deletePlannerElement(_x10, _x11, _x12) {
|
|
5521
5838
|
return _deletePlannerElement.apply(this, arguments);
|
|
5522
5839
|
}
|
|
5523
5840
|
return deletePlannerElement;
|
|
@@ -5597,11 +5914,11 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5597
5914
|
}, {
|
|
5598
5915
|
key: "updatePlanner",
|
|
5599
5916
|
value: (function () {
|
|
5600
|
-
var _updatePlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function
|
|
5917
|
+
var _updatePlanner = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee7(changedOPT, targetElements) {
|
|
5601
5918
|
var _this2 = this;
|
|
5602
5919
|
var message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
5603
|
-
return _regeneratorRuntime__default["default"].wrap(function
|
|
5604
|
-
while (1) switch (
|
|
5920
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee7$(_context7) {
|
|
5921
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
5605
5922
|
case 0:
|
|
5606
5923
|
LOG.debug('BoxPlanner - configurationHasChanged ' + changedOPT);
|
|
5607
5924
|
targetElements === null || targetElements === void 0 || targetElements.forEach(function (e) {
|
|
@@ -5609,28 +5926,28 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5609
5926
|
return _this2.boxPlannerGrid.updateGridElementDimensions(e, (_this2$set$getArticle = _this2.set.getArticleByElementId(e)) === null || _this2$set$getArticle === void 0 ? void 0 : _this2$set$getArticle.plannerData);
|
|
5610
5927
|
});
|
|
5611
5928
|
if (!(changedOPT && targetElements && targetElements.length > 0 && changedOPT['OPTELEMENT'] && (changedOPT['OPTELEMENT'] == 'OPVECK_I' || changedOPT['OPTELEMENT'] == 'OPVECK_A'))) {
|
|
5612
|
-
|
|
5929
|
+
_context7.next = 19;
|
|
5613
5930
|
break;
|
|
5614
5931
|
}
|
|
5615
5932
|
if (!(targetElements.length > 1)) {
|
|
5616
|
-
|
|
5933
|
+
_context7.next = 10;
|
|
5617
5934
|
break;
|
|
5618
5935
|
}
|
|
5619
|
-
|
|
5936
|
+
_context7.next = 6;
|
|
5620
5937
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements, true);
|
|
5621
5938
|
case 6:
|
|
5622
|
-
message =
|
|
5939
|
+
message = _context7.sent;
|
|
5623
5940
|
if (!message) {
|
|
5624
|
-
|
|
5941
|
+
_context7.next = 9;
|
|
5625
5942
|
break;
|
|
5626
5943
|
}
|
|
5627
|
-
return
|
|
5944
|
+
return _context7.abrupt("return", {
|
|
5628
5945
|
doDeleteBackGrid: false,
|
|
5629
5946
|
elemIdsToDelete: [],
|
|
5630
5947
|
viewMessageCodex: message
|
|
5631
5948
|
});
|
|
5632
5949
|
case 9:
|
|
5633
|
-
return
|
|
5950
|
+
return _context7.abrupt("return", {
|
|
5634
5951
|
doDeleteBackGrid: false,
|
|
5635
5952
|
elemIdsToDelete: []
|
|
5636
5953
|
});
|
|
@@ -5642,7 +5959,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5642
5959
|
elemToCheck = this.boxPlannerGrid.getPlannerElementAtGridPos(cellPos.startColIndex, 0, false).getElementId();
|
|
5643
5960
|
}
|
|
5644
5961
|
if (!(!this.boxPlannerGrid.getElementHasLeftElement(elemToCheck) || !this.boxPlannerGrid.getElementHasRightElement(elemToCheck))) {
|
|
5645
|
-
|
|
5962
|
+
_context7.next = 19;
|
|
5646
5963
|
break;
|
|
5647
5964
|
}
|
|
5648
5965
|
//Someone has changed Eck innen or aussen. If the current eselected Element has no neighbor left or right copy neighbor
|
|
@@ -5663,7 +5980,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5663
5980
|
copyIndex: copyIndex,
|
|
5664
5981
|
copyType: 'BoxPlanner_COL'
|
|
5665
5982
|
});
|
|
5666
|
-
return
|
|
5983
|
+
return _context7.abrupt("return", {
|
|
5667
5984
|
doDeleteBackGrid: false,
|
|
5668
5985
|
elemIdsToDelete: [],
|
|
5669
5986
|
elementIdToCopy: allElementsToCopy,
|
|
@@ -5674,15 +5991,15 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5674
5991
|
});
|
|
5675
5992
|
case 19:
|
|
5676
5993
|
if (!(changedOPT && changedOPT['OPTDMOD'])) {
|
|
5677
|
-
|
|
5994
|
+
_context7.next = 34;
|
|
5678
5995
|
break;
|
|
5679
5996
|
}
|
|
5680
|
-
|
|
5681
|
-
|
|
5997
|
+
_context7.t0 = changedOPT['OPTDMOD'];
|
|
5998
|
+
_context7.next = _context7.t0 === 'OPVD_EIN' ? 23 : _context7.t0 === 'OPVD_AUS' ? 27 : 32;
|
|
5682
5999
|
break;
|
|
5683
6000
|
case 23:
|
|
5684
6001
|
if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5685
|
-
|
|
6002
|
+
_context7.next = 26;
|
|
5686
6003
|
break;
|
|
5687
6004
|
}
|
|
5688
6005
|
_allElementsToCopy = this.getPlannerElementsInfluencedByCopy(-1, {
|
|
@@ -5693,7 +6010,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5693
6010
|
},
|
|
5694
6011
|
copyType: 'BoxPlanner_backside'
|
|
5695
6012
|
});
|
|
5696
|
-
return
|
|
6013
|
+
return _context7.abrupt("return", {
|
|
5697
6014
|
doDeleteBackGrid: false,
|
|
5698
6015
|
elemIdsToDelete: [],
|
|
5699
6016
|
elementIdToCopy: _allElementsToCopy,
|
|
@@ -5701,18 +6018,18 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5701
6018
|
changedOPT: changedOPT
|
|
5702
6019
|
});
|
|
5703
6020
|
case 26:
|
|
5704
|
-
return
|
|
6021
|
+
return _context7.abrupt("break", 32);
|
|
5705
6022
|
case 27:
|
|
5706
6023
|
if (!this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5707
|
-
|
|
6024
|
+
_context7.next = 31;
|
|
5708
6025
|
break;
|
|
5709
6026
|
}
|
|
5710
6027
|
allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
5711
6028
|
if (!(allElementsInBackGrid.length > 0)) {
|
|
5712
|
-
|
|
6029
|
+
_context7.next = 31;
|
|
5713
6030
|
break;
|
|
5714
6031
|
}
|
|
5715
|
-
return
|
|
6032
|
+
return _context7.abrupt("return", {
|
|
5716
6033
|
doDeleteBackGrid: true,
|
|
5717
6034
|
elemIdsToDelete: allElementsInBackGrid.map(function (element) {
|
|
5718
6035
|
return element.ElementId;
|
|
@@ -5721,22 +6038,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5721
6038
|
changedOPT: changedOPT
|
|
5722
6039
|
});
|
|
5723
6040
|
case 31:
|
|
5724
|
-
return
|
|
6041
|
+
return _context7.abrupt("break", 32);
|
|
5725
6042
|
case 32:
|
|
5726
|
-
|
|
6043
|
+
_context7.next = 48;
|
|
5727
6044
|
break;
|
|
5728
6045
|
case 34:
|
|
5729
6046
|
if (!(changedOPT && changedOPT['OPTFARBE_RAHMEN'] && changedOPT['OPTFARBE_RAHMEN'] == 'OPVSCHWARZ_MATT' && this.boxPlannerGrid.getPlannerHasActiveBackside())) {
|
|
5730
|
-
|
|
6047
|
+
_context7.next = 40;
|
|
5731
6048
|
break;
|
|
5732
6049
|
}
|
|
5733
6050
|
//If the double modul is active but the color is changed to black - disable double modul
|
|
5734
6051
|
_allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
5735
6052
|
if (!(_allElementsInBackGrid.length > 0)) {
|
|
5736
|
-
|
|
6053
|
+
_context7.next = 38;
|
|
5737
6054
|
break;
|
|
5738
6055
|
}
|
|
5739
|
-
return
|
|
6056
|
+
return _context7.abrupt("return", {
|
|
5740
6057
|
doDeleteBackGrid: true,
|
|
5741
6058
|
elemIdsToDelete: _allElementsInBackGrid.map(function (element) {
|
|
5742
6059
|
return element.ElementId;
|
|
@@ -5747,39 +6064,39 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5747
6064
|
viewMessageCodex: 'BOXPLAN_BLACKFRAME_INCOMPATIBLE_ELEMENT_WARNING'
|
|
5748
6065
|
});
|
|
5749
6066
|
case 38:
|
|
5750
|
-
|
|
6067
|
+
_context7.next = 48;
|
|
5751
6068
|
break;
|
|
5752
6069
|
case 40:
|
|
5753
|
-
|
|
6070
|
+
_context7.next = 42;
|
|
5754
6071
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements);
|
|
5755
6072
|
case 42:
|
|
5756
|
-
_message =
|
|
6073
|
+
_message = _context7.sent;
|
|
5757
6074
|
if (!_message) {
|
|
5758
|
-
|
|
6075
|
+
_context7.next = 47;
|
|
5759
6076
|
break;
|
|
5760
6077
|
}
|
|
5761
|
-
return
|
|
6078
|
+
return _context7.abrupt("return", {
|
|
5762
6079
|
doDeleteBackGrid: false,
|
|
5763
6080
|
elemIdsToDelete: [],
|
|
5764
6081
|
viewMessageCodex: _message
|
|
5765
6082
|
});
|
|
5766
6083
|
case 47:
|
|
5767
|
-
return
|
|
6084
|
+
return _context7.abrupt("return", {
|
|
5768
6085
|
doDeleteBackGrid: false,
|
|
5769
6086
|
elemIdsToDelete: []
|
|
5770
6087
|
});
|
|
5771
6088
|
case 48:
|
|
5772
|
-
return
|
|
6089
|
+
return _context7.abrupt("return", {
|
|
5773
6090
|
doDeleteBackGrid: false,
|
|
5774
6091
|
elemIdsToDelete: []
|
|
5775
6092
|
});
|
|
5776
6093
|
case 49:
|
|
5777
6094
|
case "end":
|
|
5778
|
-
return
|
|
6095
|
+
return _context7.stop();
|
|
5779
6096
|
}
|
|
5780
|
-
},
|
|
6097
|
+
}, _callee7, this);
|
|
5781
6098
|
}));
|
|
5782
|
-
function updatePlanner(
|
|
6099
|
+
function updatePlanner(_x13, _x14) {
|
|
5783
6100
|
return _updatePlanner.apply(this, arguments);
|
|
5784
6101
|
}
|
|
5785
6102
|
return updatePlanner;
|
|
@@ -5908,7 +6225,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5908
6225
|
}, {
|
|
5909
6226
|
key: "getGeneralPlanningState",
|
|
5910
6227
|
value: function getGeneralPlanningState(selectedElementId) {
|
|
5911
|
-
return this.boxPlannerGrid.getGeneralPlanningState(selectedElementId);
|
|
6228
|
+
return this.boxPlannerGrid.getGeneralPlanningState(true, selectedElementId);
|
|
5912
6229
|
}
|
|
5913
6230
|
}]);
|
|
5914
6231
|
}();
|