@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
|
@@ -3,10 +3,10 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
|
3
3
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
4
4
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
6
|
-
import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-
|
|
6
|
+
import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-f5485f21.js';
|
|
7
7
|
import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
|
|
8
8
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
9
|
-
import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-
|
|
9
|
+
import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-af50a706.js';
|
|
10
10
|
import '@babel/runtime/helpers/slicedToArray';
|
|
11
11
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
12
12
|
import 'axios';
|
|
@@ -1822,6 +1822,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1822
1822
|
* Elements without bottom plate are "Garderobe" or "Offenes Fach ohne Boden"
|
|
1823
1823
|
*/
|
|
1824
1824
|
_defineProperty(this, "getElementHasBottomPlate", function (curElement, optionHandler) {
|
|
1825
|
+
if (!curElement) return false;
|
|
1825
1826
|
if (_this.constructionRules.knotInfo.elementsWithGroundPlate) {
|
|
1826
1827
|
for (var i = 0; i < _this.constructionRules.knotInfo.elementsWithGroundPlate.length; i++) {
|
|
1827
1828
|
var onOPT = _this.constructionRules.knotInfo.elementsWithGroundPlate[i].onOPT;
|
|
@@ -1838,6 +1839,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1838
1839
|
* @param optionHandler
|
|
1839
1840
|
*/
|
|
1840
1841
|
_defineProperty(this, "getElementIsCornerElement", function (curElement, optionHandler) {
|
|
1842
|
+
if (!curElement) return false;
|
|
1841
1843
|
return _this.constructionRules.hasCORNER && _this.arrayContainsValue(_this.constructionRules.knotInfo.cornerElements.onOPVs, _this.getOptionVal(curElement.getElementId(), _this.constructionRules.knotInfo.cornerElements.onOPT, optionHandler));
|
|
1842
1844
|
});
|
|
1843
1845
|
_defineProperty(this, "getElementIsGarderobeElement", function (curElement, optionHandler) {
|
|
@@ -1857,9 +1859,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1857
1859
|
if (boxPlannerGrid.getElementHasTopElement(curElement.getElementId())) {
|
|
1858
1860
|
var allTopElements = boxPlannerGrid.getTopElements(curElement.getElementId());
|
|
1859
1861
|
var oneTrueFound = false;
|
|
1860
|
-
|
|
1861
|
-
if (_this.getElementHasBottomPlate(allTopElements[i], optionHandler)) oneTrueFound = true;
|
|
1862
|
-
}
|
|
1862
|
+
if (_this.getElementHasBottomPlate(allTopElements[0], optionHandler)) oneTrueFound = true;
|
|
1863
1863
|
return oneTrueFound;
|
|
1864
1864
|
}
|
|
1865
1865
|
return true;
|
|
@@ -2045,7 +2045,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2045
2045
|
}
|
|
2046
2046
|
}
|
|
2047
2047
|
if (cellsInGrid.endColIndex < colCount - 1) {
|
|
2048
|
-
var rightElement = boxPlannerGrid.getPlannerElementAtGridPos(cellsInGrid.endColIndex
|
|
2048
|
+
var rightElement = boxPlannerGrid.getPlannerElementAtGridPos(cellsInGrid.endColIndex, 0, false);
|
|
2049
2049
|
if (rightElement) {
|
|
2050
2050
|
var _cornerVal = this.getOptionVal(rightElement.getElementId(), 'OPTELEMENT', optionHandler);
|
|
2051
2051
|
if (_cornerVal == 'OPVECK_I') {
|
|
@@ -2060,7 +2060,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2060
2060
|
}
|
|
2061
2061
|
if (this.constructionRules.avoidOptionLastCol) {
|
|
2062
2062
|
var elementType = this.getOptionVal(allElementIds[i], this.constructionRules.avoidOptionLastCol.onOPT, optionHandler);
|
|
2063
|
-
if (this.arrayContainsValue(this.constructionRules.avoidOptionLastCol.onOPVs, elementType) && cellsInGrid.endColIndex == colCount - 1) {
|
|
2063
|
+
if (this.arrayContainsValue(this.constructionRules.avoidOptionLastCol.onOPVs, elementType) && cellsInGrid.endColIndex - 1 == colCount - 1) {
|
|
2064
2064
|
this.setOptionValue(allElementIds[i], this.constructionRules.avoidOptionLastCol.onOPT, this.constructionRules.avoidOptionLastCol.defaultOpv, optionHandler);
|
|
2065
2065
|
}
|
|
2066
2066
|
}
|
|
@@ -2219,6 +2219,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2219
2219
|
//Setze alle Fuße zurück
|
|
2220
2220
|
//DEPRECTED this.setOptionValue(allElementIds[i], "OPTFAF_LINKS", "OPVOHNE_FAF", optionHandler);
|
|
2221
2221
|
//DEPRECTED this.setOptionValue(allElementIds[i], "OPTFAF_RECHTS", "OPVOHNE_FAF", optionHandler);
|
|
2222
|
+
|
|
2222
2223
|
this.setOptionValue(allElementIds[i], 'OPTFAF_L_V', 'OPVOHNE_FAF', optionHandler);
|
|
2223
2224
|
this.setOptionValue(allElementIds[i], 'OPTFAF_L_H', 'OPVOHNE_FAF', optionHandler);
|
|
2224
2225
|
this.setOptionValue(allElementIds[i], 'OPTFAF_R_V', 'OPVOHNE_FAF', optionHandler);
|
|
@@ -2433,35 +2434,17 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2433
2434
|
var bottomElemts = boxPlannerGrid.getBottomElements(curElement.ElementId);
|
|
2434
2435
|
var topRightElemt = !fromBackside ? boxPlannerGrid.getTopRightElement(curElement.ElementId) : boxPlannerGrid.getTopLeftElement(curElement.ElementId);
|
|
2435
2436
|
if (rightElemts.length > 0) {
|
|
2436
|
-
|
|
2437
|
-
LOG$2.error(new DivaError('BoxPlannerError - only one OPTNACHBAR_RECHTS allowed', {
|
|
2438
|
-
code: 'WC_0012'
|
|
2439
|
-
}));
|
|
2440
|
-
} else {
|
|
2441
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_RECHTS', this.getOptionVal(rightElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2442
|
-
}
|
|
2437
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_RECHTS', this.getOptionVal(rightElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2443
2438
|
} else {
|
|
2444
2439
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_RECHTS', optionHandler);
|
|
2445
2440
|
}
|
|
2446
2441
|
if (leftElemts.length > 0) {
|
|
2447
|
-
|
|
2448
|
-
LOG$2.error(new DivaError('BoxPlannerError - only one OPTNACHBAR_LINKS allowed', {
|
|
2449
|
-
code: 'WC_0012'
|
|
2450
|
-
}));
|
|
2451
|
-
} else {
|
|
2452
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_LINKS', this.getOptionVal(leftElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2453
|
-
}
|
|
2442
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_LINKS', this.getOptionVal(leftElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2454
2443
|
} else {
|
|
2455
2444
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_LINKS', optionHandler);
|
|
2456
2445
|
}
|
|
2457
2446
|
if (topElemts.length > 0) {
|
|
2458
|
-
|
|
2459
|
-
LOG$2.error(new DivaError('BoxPlannerError - only one OPTNACHBAR_OBEN allowed', {
|
|
2460
|
-
code: 'WC_0012'
|
|
2461
|
-
}));
|
|
2462
|
-
} else {
|
|
2463
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_OBEN', this.getOptionVal(topElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2464
|
-
}
|
|
2447
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_OBEN', this.getOptionVal(topElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2465
2448
|
} else {
|
|
2466
2449
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_OBEN', optionHandler);
|
|
2467
2450
|
}
|
|
@@ -2472,13 +2455,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2472
2455
|
}
|
|
2473
2456
|
if (this.constructionRules.hasNeighbors && this.constructionRules.hasNeighbors.indexOf('OPTNACHBAR_UNTEN') >= 0) {
|
|
2474
2457
|
if (bottomElemts.length > 0) {
|
|
2475
|
-
|
|
2476
|
-
LOG$2.error(new DivaError('BoxPlannerError - only one OPTNACHBAR_UNTEN allowed', {
|
|
2477
|
-
code: 'WC_0012'
|
|
2478
|
-
}));
|
|
2479
|
-
} else {
|
|
2480
|
-
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_UNTEN', this.getOptionVal(bottomElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2481
|
-
}
|
|
2458
|
+
this.setOptionValue(curElement.ElementId, 'OPTNACHBAR_UNTEN', this.getOptionVal(bottomElemts[0].ElementId, 'OPTELEMENT', optionHandler), optionHandler);
|
|
2482
2459
|
} else {
|
|
2483
2460
|
this.setOptionDoHide(curElement.ElementId, 'OPTNACHBAR_UNTEN', optionHandler);
|
|
2484
2461
|
}
|
|
@@ -2532,7 +2509,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2532
2509
|
}
|
|
2533
2510
|
}
|
|
2534
2511
|
}
|
|
2535
|
-
if (this.getElementHasBottomPlate(backElement, optionHandler)) {
|
|
2512
|
+
if (backElement && this.getElementHasBottomPlate(backElement, optionHandler)) {
|
|
2536
2513
|
//Set the opposite element has rahmen unten vorne
|
|
2537
2514
|
this.setOptionDoShow(frontElement, 'OPTOPP_RAHMEN_U_V', optionHandler);
|
|
2538
2515
|
} else {
|
|
@@ -2604,31 +2581,112 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2604
2581
|
}
|
|
2605
2582
|
return undefined;
|
|
2606
2583
|
}
|
|
2584
|
+
}, {
|
|
2585
|
+
key: "validateDimensionRule",
|
|
2586
|
+
value: function validateDimensionRule(dimRule, boxPlannerSize) {
|
|
2587
|
+
var isOver = false;
|
|
2588
|
+
var isEqual = false;
|
|
2589
|
+
if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y > dimRule.dimensionLimit) isOver = true;
|
|
2590
|
+
if (dimRule.dimension.toLowerCase() == 'height' && boxPlannerSize.y == dimRule.dimensionLimit) isEqual = true;
|
|
2591
|
+
if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x > dimRule.dimensionLimit) isOver = true;
|
|
2592
|
+
if (dimRule.dimension.toLowerCase() == 'width' && boxPlannerSize.x == dimRule.dimensionLimit) isEqual = true;
|
|
2593
|
+
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z > dimRule.dimensionLimit) isOver = true;
|
|
2594
|
+
if (dimRule.dimension.toLowerCase() == 'depth' && boxPlannerSize.z == dimRule.dimensionLimit) isEqual = true;
|
|
2595
|
+
if (isOver) {
|
|
2596
|
+
if (dimRule.higherLimit.toLowerCase() == 'doshow') return true;else if (dimRule.higherLimit.toLowerCase() == 'dohide') return false;
|
|
2597
|
+
} else if (isEqual) {
|
|
2598
|
+
return true;
|
|
2599
|
+
} else {
|
|
2600
|
+
if (dimRule.lowerLimit.toLowerCase() == 'doshow') return true;else if (dimRule.lowerLimit.toLowerCase() == 'dohide') return false;
|
|
2601
|
+
}
|
|
2602
|
+
return false;
|
|
2603
|
+
}
|
|
2604
|
+
|
|
2605
|
+
/*
|
|
2606
|
+
* This function corrects the elements in one row when the top element is wider then the bottom one.
|
|
2607
|
+
* Goal is to make all the bottom ones also atleast as wide as the top one because no element can overhang - omlin setup
|
|
2608
|
+
*/
|
|
2609
|
+
}, {
|
|
2610
|
+
key: "correctOverHangingElement",
|
|
2611
|
+
value: function correctOverHangingElement(changedElementId, boxPlannerGrid, optionHandler, changedOPTs) {
|
|
2612
|
+
var _this2 = this;
|
|
2613
|
+
if (!changedOPTs) return;
|
|
2614
|
+
var _loop = function _loop() {
|
|
2615
|
+
var elements = boxPlannerGrid.getAllElementsInColumn(columndIdx, false, false); // from bottom to top
|
|
2616
|
+
var lastElement = null;
|
|
2617
|
+
var changedElementIdx = elements.findIndex(function (e) {
|
|
2618
|
+
return e.ElementId == changedElementId;
|
|
2619
|
+
});
|
|
2620
|
+
elements.forEach(function (element, idx) {
|
|
2621
|
+
var _lastElement$Width, _element$Width, _lastElement$Depth, _element$Depth;
|
|
2622
|
+
if (!lastElement) {
|
|
2623
|
+
lastElement = element;
|
|
2624
|
+
return;
|
|
2625
|
+
}
|
|
2626
|
+
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)) {
|
|
2627
|
+
// is either the above wider opt or the one under and smaller
|
|
2628
|
+
var t = Object.entries(changedOPTs);
|
|
2629
|
+
var opt = t[0][0];
|
|
2630
|
+
var opv = t[0][1];
|
|
2631
|
+
if (idx < changedElementIdx) {
|
|
2632
|
+
_this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2633
|
+
} else {
|
|
2634
|
+
_this2.setOptionValue(element.ElementId, opt, opv, optionHandler);
|
|
2635
|
+
}
|
|
2636
|
+
}
|
|
2637
|
+
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)) {
|
|
2638
|
+
var _t = Object.entries(changedOPTs); // should be the new wider width that causes the overhanging
|
|
2639
|
+
var _opt = _t[0][0];
|
|
2640
|
+
var _opv2 = _t[0][1];
|
|
2641
|
+
_this2.setOptionValue(element.ElementId, _opt, _opv2, optionHandler);
|
|
2642
|
+
}
|
|
2643
|
+
lastElement = element;
|
|
2644
|
+
});
|
|
2645
|
+
};
|
|
2646
|
+
for (var columndIdx = 0; columndIdx < boxPlannerGrid.getColumnCount(); columndIdx++) {
|
|
2647
|
+
_loop();
|
|
2648
|
+
}
|
|
2649
|
+
}
|
|
2650
|
+
}, {
|
|
2651
|
+
key: "correctFoot",
|
|
2652
|
+
value: function correctFoot(boxPlannerGrid, optionHandler) {
|
|
2653
|
+
var _this3 = this;
|
|
2654
|
+
var elements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2655
|
+
elements.forEach(function (e) {
|
|
2656
|
+
if (boxPlannerGrid.getElementHasBottomElement(e.ElementId)) _this3.setOptionValue(e.ElementId, 'OPTFUSS_SYS', 'OPVOHNE', optionHandler);
|
|
2657
|
+
});
|
|
2658
|
+
}
|
|
2659
|
+
|
|
2660
|
+
/*
|
|
2661
|
+
* This function corrects Options that are based on the total planning dimensions
|
|
2662
|
+
* */
|
|
2607
2663
|
}, {
|
|
2608
2664
|
key: "correctOptionsInfluencedByDimensions",
|
|
2609
2665
|
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2610
|
-
var
|
|
2666
|
+
var _this4 = this;
|
|
2611
2667
|
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2612
2668
|
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2613
2669
|
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2614
2670
|
this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
}
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
}
|
|
2631
|
-
|
|
2671
|
+
if (Array.isArray(dimRule)) {
|
|
2672
|
+
if (dimRule.every(function (rule) {
|
|
2673
|
+
return _this4.validateDimensionRule(rule, boxPlannerSize);
|
|
2674
|
+
})) dimRule.forEach(function (rule) {
|
|
2675
|
+
return allElements.forEach(function (element) {
|
|
2676
|
+
return _this4.setOptionDoShow(element.ElementId, rule.option, optionHandler);
|
|
2677
|
+
});
|
|
2678
|
+
});else dimRule.forEach(function (rule) {
|
|
2679
|
+
return allElements.forEach(function (element) {
|
|
2680
|
+
return _this4.setOptionDoHide(element.ElementId, rule.option, optionHandler);
|
|
2681
|
+
});
|
|
2682
|
+
});
|
|
2683
|
+
} else {
|
|
2684
|
+
if (_this4.validateDimensionRule(dimRule, boxPlannerSize)) allElements.forEach(function (element) {
|
|
2685
|
+
return _this4.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);
|
|
2686
|
+
});else allElements.forEach(function (element) {
|
|
2687
|
+
return _this4.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2688
|
+
});
|
|
2689
|
+
}
|
|
2632
2690
|
});
|
|
2633
2691
|
}
|
|
2634
2692
|
}, {
|
|
@@ -2691,27 +2749,32 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2691
2749
|
}, {
|
|
2692
2750
|
key: "correctCoverPlate",
|
|
2693
2751
|
value: function correctCoverPlate(coverPlateRule, boxPlannerGrid, optionHandler) {
|
|
2694
|
-
var
|
|
2752
|
+
var _this5 = this;
|
|
2695
2753
|
if (coverPlateRule.onHighestElementsOnly) return; // System4 not handled by this logic yet
|
|
2696
2754
|
|
|
2697
2755
|
var elementsPerSeries = boxPlannerGrid.getHighestElementsPerSeries(!!coverPlateRule.onBottom);
|
|
2698
2756
|
elementsPerSeries.forEach(function (serie) {
|
|
2699
2757
|
var seriesWidth = 0;
|
|
2700
2758
|
var seriesWidthToPlateOpv = coverPlateRule.seriesWidthToPlateOpv;
|
|
2759
|
+
|
|
2760
|
+
// default => set all to ohne
|
|
2701
2761
|
serie.forEach(function (element) {
|
|
2702
|
-
var _element$
|
|
2703
|
-
seriesWidth += (_element$
|
|
2704
|
-
|
|
2762
|
+
var _element$Width2;
|
|
2763
|
+
seriesWidth += (_element$Width2 = element.Width) !== null && _element$Width2 !== void 0 ? _element$Width2 : 0;
|
|
2764
|
+
boxPlannerGrid.getAllElementsDown(element.ElementId).elements.forEach(function (e) {
|
|
2765
|
+
return _this5.setOptionValue(e, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2766
|
+
});
|
|
2767
|
+
_this5.setOptionValue(element.ElementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
|
|
2705
2768
|
});
|
|
2706
2769
|
var firstUncoveredElement = serie[0];
|
|
2707
|
-
var
|
|
2770
|
+
var _loop2 = function _loop2() {
|
|
2708
2771
|
var opv = seriesWidthToPlateOpv.findLast(function (stp) {
|
|
2709
2772
|
// is a clean element ending
|
|
2710
2773
|
var helperWidth = 0;
|
|
2711
2774
|
var isClean = false;
|
|
2712
2775
|
serie.forEach(function (element) {
|
|
2713
|
-
var _element$
|
|
2714
|
-
helperWidth += (_element$
|
|
2776
|
+
var _element$Width3;
|
|
2777
|
+
helperWidth += (_element$Width3 = element.Width) !== null && _element$Width3 !== void 0 ? _element$Width3 : 0;
|
|
2715
2778
|
if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
|
|
2716
2779
|
});
|
|
2717
2780
|
if (stp.limit <= seriesWidth && isClean) return true;
|
|
@@ -2720,7 +2783,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2720
2783
|
if (!opv) return {
|
|
2721
2784
|
v: void 0
|
|
2722
2785
|
};
|
|
2723
|
-
|
|
2786
|
+
_this5.setOptionValue(firstUncoveredElement.ElementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
|
|
2724
2787
|
var helperWidth = 0;
|
|
2725
2788
|
firstUncoveredElement = serie.find(function (e) {
|
|
2726
2789
|
var _e$Width;
|
|
@@ -2733,7 +2796,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2733
2796
|
},
|
|
2734
2797
|
_ret;
|
|
2735
2798
|
while (seriesWidth != 0) {
|
|
2736
|
-
_ret =
|
|
2799
|
+
_ret = _loop2();
|
|
2737
2800
|
if (_ret) return _ret.v;
|
|
2738
2801
|
}
|
|
2739
2802
|
});
|
|
@@ -3059,6 +3122,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3059
3122
|
key: "updateOptionLogicBoxPlanner",
|
|
3060
3123
|
value: function () {
|
|
3061
3124
|
var _updateOptionLogicBoxPlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(boxPlannerGrid, changedOPTs, targetElements, forceResetCornerElements) {
|
|
3125
|
+
var _targetElements;
|
|
3062
3126
|
var startTime, resultMessage, optionHandler, allElements, i, _iterator, _step, coverPlateRule, j, doChangeRetailArticleNumbers;
|
|
3063
3127
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
3064
3128
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -3133,8 +3197,10 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3133
3197
|
}
|
|
3134
3198
|
}
|
|
3135
3199
|
}
|
|
3200
|
+
this.correctFoot(boxPlannerGrid, optionHandler);
|
|
3136
3201
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3137
3202
|
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3203
|
+
this.correctOverHangingElement((_targetElements = targetElements) === null || _targetElements === void 0 ? void 0 : _targetElements[0], boxPlannerGrid, optionHandler, changedOPTs);
|
|
3138
3204
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3139
3205
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3140
3206
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
@@ -3143,13 +3209,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3143
3209
|
}
|
|
3144
3210
|
}
|
|
3145
3211
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3146
|
-
_context.next =
|
|
3212
|
+
_context.next = 29;
|
|
3147
3213
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3148
|
-
case
|
|
3214
|
+
case 29:
|
|
3149
3215
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3150
3216
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3151
3217
|
return _context.abrupt("return", resultMessage);
|
|
3152
|
-
case
|
|
3218
|
+
case 32:
|
|
3153
3219
|
case "end":
|
|
3154
3220
|
return _context.stop();
|
|
3155
3221
|
}
|
|
@@ -3211,21 +3277,26 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3211
3277
|
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; } } }; }
|
|
3212
3278
|
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; } }
|
|
3213
3279
|
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; }
|
|
3280
|
+
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; }
|
|
3281
|
+
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(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; }
|
|
3214
3282
|
var LOG$1 = DivaUtils.initLog('Planner', 'BOX-PLANNER_GRID');
|
|
3215
3283
|
var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
3216
3284
|
function BoxPlannerGrid(gridSetupParams, getValueOfOptionOfArticle) {
|
|
3217
3285
|
_classCallCheck(this, BoxPlannerGrid);
|
|
3218
3286
|
_defineProperty(this, "plannerElements", void 0);
|
|
3219
|
-
_defineProperty(this, "
|
|
3220
|
-
//
|
|
3221
|
-
_defineProperty(this, "backGrid", void 0);
|
|
3222
|
-
//if cell is empty it is undefined
|
|
3287
|
+
_defineProperty(this, "generalPlanningState", void 0);
|
|
3288
|
+
// [0] == frontgrid, and [1] == backgrid
|
|
3223
3289
|
_defineProperty(this, "hasActiveBackside", void 0);
|
|
3224
3290
|
_defineProperty(this, "getValueOfOptionOfArticle", void 0);
|
|
3225
3291
|
_defineProperty(this, "gridSetupParams", void 0);
|
|
3226
3292
|
this.plannerElements = new Map();
|
|
3227
|
-
|
|
3228
|
-
|
|
3293
|
+
|
|
3294
|
+
// the old logic
|
|
3295
|
+
this.generalPlanningState = {
|
|
3296
|
+
grids: [{
|
|
3297
|
+
matrix: [[]]
|
|
3298
|
+
}]
|
|
3299
|
+
};
|
|
3229
3300
|
this.gridSetupParams = gridSetupParams;
|
|
3230
3301
|
this.getValueOfOptionOfArticle = getValueOfOptionOfArticle;
|
|
3231
3302
|
this.hasActiveBackside = false;
|
|
@@ -3244,50 +3315,57 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3244
3315
|
if (this.gridSetupParams.forceSingleCellPerElement) {
|
|
3245
3316
|
var cell = {
|
|
3246
3317
|
//isEmpty: false,
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3318
|
+
plannedElement: {
|
|
3319
|
+
elementId: newElement.ElementId,
|
|
3320
|
+
basketId: newElement.getBasketId(),
|
|
3321
|
+
size: {
|
|
3322
|
+
width: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterWidth : newElement.getWidth(),
|
|
3323
|
+
height: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterHeight : newElement.getHeight(),
|
|
3324
|
+
depth: newElement.getDepth()
|
|
3325
|
+
},
|
|
3326
|
+
articleCodex: newElement.ArticleCodex,
|
|
3327
|
+
area: {
|
|
3328
|
+
fromX: startColIndex,
|
|
3329
|
+
toX: startColIndex + 1,
|
|
3330
|
+
fromY: startRowIndex,
|
|
3331
|
+
toY: startRowIndex + 1
|
|
3332
|
+
}
|
|
3333
|
+
},
|
|
3250
3334
|
index: new Vector2(startColIndex, startRowIndex)
|
|
3251
3335
|
};
|
|
3252
|
-
return
|
|
3253
|
-
cells: [cell],
|
|
3254
|
-
startColIndex: startColIndex,
|
|
3255
|
-
endColIndex: startColIndex,
|
|
3256
|
-
startRowIndex: startRowIndex,
|
|
3257
|
-
endRowIndex: startRowIndex,
|
|
3258
|
-
backside: backside,
|
|
3259
|
-
colCount: 1,
|
|
3260
|
-
rowCount: 1
|
|
3261
|
-
};
|
|
3336
|
+
return [cell];
|
|
3262
3337
|
}
|
|
3263
3338
|
if (!this.gridSetupParams.forceFixCellRasterSize) {
|
|
3264
3339
|
LOG$1.error(new DivaError('Box planner with params forceSingleCellPerElement is false and forceFixCellRasterSize is false are not allowed'));
|
|
3265
3340
|
}
|
|
3266
3341
|
var colCount = Math.round(newElement.getWidth() / this.gridSetupParams.fixCellRasterWidth);
|
|
3267
|
-
var rowCount = Math.round(newElement.getHeight() / this.gridSetupParams.
|
|
3342
|
+
var rowCount = Math.round(newElement.getHeight() / this.gridSetupParams.fixCellRasterHeight);
|
|
3268
3343
|
var cells = [];
|
|
3269
3344
|
for (var i = 0; i < colCount; i++) {
|
|
3270
3345
|
for (var j = 0; j < rowCount; j++) {
|
|
3271
3346
|
var _cell = {
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3347
|
+
plannedElement: {
|
|
3348
|
+
basketId: newElement.getBasketId(),
|
|
3349
|
+
elementId: newElement.getElementId(),
|
|
3350
|
+
articleCodex: newElement.ArticleCodex,
|
|
3351
|
+
size: {
|
|
3352
|
+
width: newElement.getWidth(),
|
|
3353
|
+
depth: newElement.getDepth(),
|
|
3354
|
+
height: newElement.getHeight()
|
|
3355
|
+
},
|
|
3356
|
+
area: {
|
|
3357
|
+
fromX: startColIndex,
|
|
3358
|
+
toX: startColIndex + newElement.getWidth() / this.gridSetupParams.fixCellRasterWidth,
|
|
3359
|
+
fromY: startRowIndex,
|
|
3360
|
+
toY: startRowIndex + newElement.getHeight() / this.gridSetupParams.fixCellRasterHeight
|
|
3361
|
+
}
|
|
3362
|
+
},
|
|
3276
3363
|
index: new Vector2(startColIndex + i, startRowIndex + j)
|
|
3277
3364
|
};
|
|
3278
3365
|
cells.push(_cell);
|
|
3279
3366
|
}
|
|
3280
3367
|
}
|
|
3281
|
-
return
|
|
3282
|
-
cells: cells,
|
|
3283
|
-
startColIndex: startColIndex,
|
|
3284
|
-
endColIndex: startColIndex + colCount - 1,
|
|
3285
|
-
startRowIndex: startRowIndex,
|
|
3286
|
-
endRowIndex: startRowIndex + rowCount - 1,
|
|
3287
|
-
backside: backside,
|
|
3288
|
-
colCount: colCount,
|
|
3289
|
-
rowCount: rowCount
|
|
3290
|
-
};
|
|
3368
|
+
return cells;
|
|
3291
3369
|
}
|
|
3292
3370
|
}, {
|
|
3293
3371
|
key: "createEmptyCells",
|
|
@@ -3333,7 +3411,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3333
3411
|
key: "getAllUsedCellsInGrid",
|
|
3334
3412
|
value: function getAllUsedCellsInGrid(backside) {
|
|
3335
3413
|
var allCellsInGrid = new Array();
|
|
3336
|
-
var curGrid = backside ? this.
|
|
3414
|
+
var curGrid = backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3337
3415
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3338
3416
|
for (var j = 0; j < curGrid[i].length; j++) {
|
|
3339
3417
|
if (curGrid[i][j] != undefined) allCellsInGrid.push(curGrid[i][j]);
|
|
@@ -3347,9 +3425,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3347
3425
|
*/
|
|
3348
3426
|
}, {
|
|
3349
3427
|
key: "getGridColumnWidth",
|
|
3350
|
-
value: function getGridColumnWidth(
|
|
3351
|
-
|
|
3352
|
-
|
|
3428
|
+
value: function getGridColumnWidth(x) {
|
|
3429
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3430
|
+
for (var y = 0; x < frontGrid[y].length; x++) {
|
|
3431
|
+
var _plannedElement$size$, _plannedElement;
|
|
3432
|
+
var cell = frontGrid[x][y];
|
|
3433
|
+
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;
|
|
3353
3434
|
}
|
|
3354
3435
|
return 0;
|
|
3355
3436
|
}
|
|
@@ -3361,14 +3442,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3361
3442
|
*/
|
|
3362
3443
|
}, {
|
|
3363
3444
|
key: "getGridColumnHeight",
|
|
3364
|
-
value: function getGridColumnHeight(
|
|
3445
|
+
value: function getGridColumnHeight(x) {
|
|
3365
3446
|
var height = 0;
|
|
3366
3447
|
var firstElementFound = false;
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3448
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3449
|
+
if (frontGrid.length > x) {
|
|
3450
|
+
var column = frontGrid[x];
|
|
3451
|
+
for (var y = column.length - 1; y >= 0; y--) {
|
|
3452
|
+
var _plannedElement$size$2, _plannedElement2;
|
|
3453
|
+
var cell = column[y];
|
|
3454
|
+
if (!firstElementFound && cell) firstElementFound = true;
|
|
3455
|
+
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;
|
|
3456
|
+
y = cell.plannedElement ? cell.plannedElement.area.fromY - 1 : y - 1;
|
|
3372
3457
|
}
|
|
3373
3458
|
}
|
|
3374
3459
|
return height;
|
|
@@ -3381,31 +3466,37 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3381
3466
|
key: "deleteElementByIdFromGrid",
|
|
3382
3467
|
value: function deleteElementByIdFromGrid(elementIdTodelete) {
|
|
3383
3468
|
var gridCellsToDelete = this.getCellsInGridByElementId(elementIdTodelete);
|
|
3384
|
-
var curGrid = gridCellsToDelete.backside ? this.
|
|
3469
|
+
var curGrid = gridCellsToDelete.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3385
3470
|
var rowCountToDelete = 1 + (gridCellsToDelete.endRowIndex - gridCellsToDelete.startRowIndex);
|
|
3386
|
-
var doDeleteCol = false;
|
|
3387
|
-
var startColToDelete = gridCellsToDelete.startColIndex;
|
|
3388
|
-
var colCountToDelete = 1 + (gridCellsToDelete.startColIndex - gridCellsToDelete.endColIndex);
|
|
3389
3471
|
|
|
3390
3472
|
//check if we need to delete all cols
|
|
3391
|
-
if (this.getRowCount(gridCellsToDelete.startColIndex, gridCellsToDelete.backside) == rowCountToDelete)
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3473
|
+
if (this.getRowCount(gridCellsToDelete.startColIndex, gridCellsToDelete.backside) == rowCountToDelete) ;
|
|
3474
|
+
gridCellsToDelete.cells.reverse().forEach(function (cell) {
|
|
3475
|
+
curGrid[cell.index.x].splice(cell.index.y, 1);
|
|
3476
|
+
if (curGrid[cell.index.x].length == 0) curGrid.splice(cell.index.x, 1);
|
|
3477
|
+
});
|
|
3478
|
+
var refreshedGrid = [];
|
|
3479
|
+
curGrid.forEach(function (row, x) {
|
|
3480
|
+
refreshedGrid[x] = [];
|
|
3481
|
+
row.forEach(function (column, y) {
|
|
3482
|
+
var area = column.plannedElement.area;
|
|
3483
|
+
refreshedGrid[x][y] = {
|
|
3484
|
+
index: {
|
|
3485
|
+
x: x,
|
|
3486
|
+
y: y
|
|
3487
|
+
},
|
|
3488
|
+
plannedElement: _objectSpread(_objectSpread({}, column.plannedElement), {}, {
|
|
3489
|
+
area: {
|
|
3490
|
+
fromX: x,
|
|
3491
|
+
fromY: y,
|
|
3492
|
+
toX: x + (area.toX - area.fromX),
|
|
3493
|
+
toY: y + (area.toY - area.fromY)
|
|
3494
|
+
}
|
|
3495
|
+
})
|
|
3496
|
+
};
|
|
3497
|
+
});
|
|
3498
|
+
});
|
|
3499
|
+
if (gridCellsToDelete.backside) this.generalPlanningState.grids[1].matrix = refreshedGrid;else this.generalPlanningState.grids[0].matrix = refreshedGrid;
|
|
3409
3500
|
}
|
|
3410
3501
|
|
|
3411
3502
|
/**
|
|
@@ -3418,11 +3509,14 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3418
3509
|
}, {
|
|
3419
3510
|
key: "getPlannerElementAtGridPos",
|
|
3420
3511
|
value: function getPlannerElementAtGridPos(curXPos, curYPos, fromBackmodul) {
|
|
3421
|
-
var curElementGrid = fromBackmodul ? this.
|
|
3512
|
+
var curElementGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3422
3513
|
if (curElementGrid[curXPos] && curElementGrid[curXPos][curYPos]) {
|
|
3514
|
+
var _cell$plannedElement;
|
|
3423
3515
|
var cell = curElementGrid[curXPos][curYPos];
|
|
3424
3516
|
if (cell == undefined) return undefined;
|
|
3425
|
-
|
|
3517
|
+
var elementId = (_cell$plannedElement = cell.plannedElement) === null || _cell$plannedElement === void 0 ? void 0 : _cell$plannedElement.elementId;
|
|
3518
|
+
if (!elementId) return undefined;
|
|
3519
|
+
return this.plannerElements.get(elementId);
|
|
3426
3520
|
}
|
|
3427
3521
|
return undefined;
|
|
3428
3522
|
}
|
|
@@ -3436,82 +3530,53 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3436
3530
|
}, {
|
|
3437
3531
|
key: "getCellsInGridByElementId",
|
|
3438
3532
|
value: function getCellsInGridByElementId(elementId) {
|
|
3439
|
-
var
|
|
3533
|
+
var _this$generalPlanning, _cells$0$plannedEleme, _area$fromX, _area$toX, _area$fromY, _area$toY;
|
|
3440
3534
|
var onBacksideFound = false;
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
}
|
|
3449
|
-
}
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
onBacksideFound = true;
|
|
3457
|
-
}
|
|
3535
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3536
|
+
var backGrid = (_this$generalPlanning = this.generalPlanningState.grids[1]) === null || _this$generalPlanning === void 0 ? void 0 : _this$generalPlanning.matrix;
|
|
3537
|
+
var cells = [];
|
|
3538
|
+
frontGrid.forEach(function (x) {
|
|
3539
|
+
return x.forEach(function (y) {
|
|
3540
|
+
var _y$plannedElement;
|
|
3541
|
+
if (((_y$plannedElement = y.plannedElement) === null || _y$plannedElement === void 0 ? void 0 : _y$plannedElement.elementId) == elementId) cells.push(y);
|
|
3542
|
+
});
|
|
3543
|
+
});
|
|
3544
|
+
backGrid === null || backGrid === void 0 || backGrid.forEach(function (x) {
|
|
3545
|
+
return x.forEach(function (y) {
|
|
3546
|
+
var _y$plannedElement2;
|
|
3547
|
+
if (((_y$plannedElement2 = y.plannedElement) === null || _y$plannedElement2 === void 0 ? void 0 : _y$plannedElement2.elementId) == elementId) {
|
|
3548
|
+
cells.push(y);
|
|
3549
|
+
onBacksideFound = true;
|
|
3458
3550
|
}
|
|
3459
|
-
}
|
|
3460
|
-
}
|
|
3461
|
-
if (
|
|
3462
|
-
cells:
|
|
3463
|
-
backside:
|
|
3464
|
-
startColIndex:
|
|
3465
|
-
endColIndex:
|
|
3466
|
-
startRowIndex:
|
|
3467
|
-
endRowIndex:
|
|
3551
|
+
});
|
|
3552
|
+
});
|
|
3553
|
+
if (cells.length == 0) return {
|
|
3554
|
+
cells: cells,
|
|
3555
|
+
backside: onBacksideFound,
|
|
3556
|
+
startColIndex: 0,
|
|
3557
|
+
endColIndex: 0,
|
|
3558
|
+
startRowIndex: 0,
|
|
3559
|
+
endRowIndex: 0,
|
|
3468
3560
|
colCount: 0,
|
|
3469
3561
|
rowCount: 0
|
|
3470
3562
|
};
|
|
3471
|
-
|
|
3472
|
-
cells: [firstCell],
|
|
3473
|
-
backside: onBacksideFound,
|
|
3474
|
-
startColIndex: firstCell.index.x,
|
|
3475
|
-
endColIndex: firstCell.index.x,
|
|
3476
|
-
startRowIndex: firstCell.index.y,
|
|
3477
|
-
endRowIndex: firstCell.index.y,
|
|
3478
|
-
colCount: 1,
|
|
3479
|
-
rowCount: 1
|
|
3480
|
-
};
|
|
3481
|
-
//Now find the other cells that have the same element
|
|
3482
|
-
|
|
3483
|
-
var curGrid = onBacksideFound ? this.backGrid : this.frontGrid;
|
|
3484
|
-
var cells = [firstCell];
|
|
3485
|
-
var startColIndex = Infinity;
|
|
3486
|
-
var endColIndex = -Infinity;
|
|
3487
|
-
var startRowIndex = Infinity;
|
|
3488
|
-
var endRowIndex = -Infinity;
|
|
3489
|
-
for (var i = firstCell.index.x; i < curGrid.length; i++) {
|
|
3490
|
-
for (var j = firstCell.index.y + 1; j < curGrid.length; j++) {
|
|
3491
|
-
var nextCell = curGrid[i][j];
|
|
3492
|
-
if (nextCell && nextCell.plannerElementId == elementId) {
|
|
3493
|
-
if (i < startColIndex) startColIndex = i;
|
|
3494
|
-
if (i > endColIndex) endColIndex = i;
|
|
3495
|
-
if (j < startRowIndex) startRowIndex = j;
|
|
3496
|
-
if (j > endColIndex) endRowIndex = j;
|
|
3497
|
-
cells.push(nextCell); //also this cell has the same element
|
|
3498
|
-
//TODO
|
|
3499
|
-
} else {
|
|
3500
|
-
break;
|
|
3501
|
-
}
|
|
3502
|
-
}
|
|
3503
|
-
}
|
|
3563
|
+
var area = (_cells$0$plannedEleme = cells[0].plannedElement) === null || _cells$0$plannedEleme === void 0 ? void 0 : _cells$0$plannedEleme.area;
|
|
3504
3564
|
return {
|
|
3505
3565
|
cells: cells,
|
|
3506
3566
|
backside: onBacksideFound,
|
|
3507
|
-
startColIndex:
|
|
3508
|
-
endColIndex:
|
|
3509
|
-
startRowIndex:
|
|
3510
|
-
endRowIndex:
|
|
3511
|
-
colCount:
|
|
3512
|
-
rowCount:
|
|
3567
|
+
startColIndex: (_area$fromX = area === null || area === void 0 ? void 0 : area.fromX) !== null && _area$fromX !== void 0 ? _area$fromX : 0,
|
|
3568
|
+
endColIndex: (_area$toX = area === null || area === void 0 ? void 0 : area.toX) !== null && _area$toX !== void 0 ? _area$toX : 0,
|
|
3569
|
+
startRowIndex: (_area$fromY = area === null || area === void 0 ? void 0 : area.fromY) !== null && _area$fromY !== void 0 ? _area$fromY : 0,
|
|
3570
|
+
endRowIndex: (_area$toY = area === null || area === void 0 ? void 0 : area.toY) !== null && _area$toY !== void 0 ? _area$toY : 0,
|
|
3571
|
+
colCount: area ? area.toX - area.toX : 0,
|
|
3572
|
+
rowCount: area ? area.toY - area.fromY : 0
|
|
3513
3573
|
};
|
|
3514
3574
|
}
|
|
3575
|
+
}, {
|
|
3576
|
+
key: "GridSetupParams",
|
|
3577
|
+
set: function set(gridSetupParams) {
|
|
3578
|
+
this.gridSetupParams = gridSetupParams;
|
|
3579
|
+
}
|
|
3515
3580
|
|
|
3516
3581
|
/**
|
|
3517
3582
|
* This function returns all elementIds that are inside the grid
|
|
@@ -3528,11 +3593,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3528
3593
|
var allElements = [];
|
|
3529
3594
|
for (var i = 0; i < grid.length; i++) {
|
|
3530
3595
|
for (var j = 0; j < grid[i].length; j++) {
|
|
3596
|
+
var _cell$plannedElement2;
|
|
3531
3597
|
var cell = grid[i][j];
|
|
3532
3598
|
if (cell == undefined) continue;
|
|
3533
|
-
if (allElementIds.indexOf(cell.
|
|
3534
|
-
allElementIds.push(cell.
|
|
3535
|
-
allElements.push(this.plannerElements.get(cell.
|
|
3599
|
+
if ((_cell$plannedElement2 = cell.plannedElement) !== null && _cell$plannedElement2 !== void 0 && _cell$plannedElement2.elementId && allElementIds.indexOf(cell.plannedElement.elementId) == -1) {
|
|
3600
|
+
allElementIds.push(cell.plannedElement.elementId);
|
|
3601
|
+
allElements.push(this.plannerElements.get(cell.plannedElement.elementId));
|
|
3536
3602
|
}
|
|
3537
3603
|
}
|
|
3538
3604
|
}
|
|
@@ -3541,17 +3607,17 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3541
3607
|
}, {
|
|
3542
3608
|
key: "getAllElementsInFrontGrid",
|
|
3543
3609
|
value: function getAllElementsInFrontGrid() {
|
|
3544
|
-
return this._getAllElementsInGrid(this.
|
|
3610
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[0].matrix);
|
|
3545
3611
|
}
|
|
3546
3612
|
}, {
|
|
3547
3613
|
key: "getAllElementsInBackGrid",
|
|
3548
3614
|
value: function getAllElementsInBackGrid() {
|
|
3549
|
-
return this._getAllElementsInGrid(this.
|
|
3615
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[1].matrix);
|
|
3550
3616
|
}
|
|
3551
3617
|
}, {
|
|
3552
3618
|
key: "getAllElementsInBacksideModuleGrid",
|
|
3553
3619
|
value: function getAllElementsInBacksideModuleGrid() {
|
|
3554
|
-
return this._getAllElementsInGrid(this.
|
|
3620
|
+
return this._getAllElementsInGrid(this.generalPlanningState.grids[1].matrix).map(function (element) {
|
|
3555
3621
|
return element.ElementId;
|
|
3556
3622
|
});
|
|
3557
3623
|
}
|
|
@@ -3566,24 +3632,31 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3566
3632
|
}, {
|
|
3567
3633
|
key: "getAllElementsInGridSortedbyGridPos",
|
|
3568
3634
|
value: function getAllElementsInGridSortedbyGridPos() {
|
|
3635
|
+
var _this$generalPlanning2, _this$generalPlanning3;
|
|
3569
3636
|
var returnElements = [];
|
|
3570
3637
|
var allCheckedElementIds = [];
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3638
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
3639
|
+
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;
|
|
3640
|
+
for (var i = 0; i < frontGrid.length; i++) {
|
|
3641
|
+
for (var j = 0; j < frontGrid[i].length; j++) {
|
|
3642
|
+
var _cell$plannedElement3;
|
|
3643
|
+
var cell = frontGrid[i][j];
|
|
3644
|
+
var elementId = (_cell$plannedElement3 = cell.plannedElement) === null || _cell$plannedElement3 === void 0 ? void 0 : _cell$plannedElement3.elementId;
|
|
3645
|
+
if (cell && elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
3646
|
+
var element = this.getElementById(elementId);
|
|
3647
|
+
allCheckedElementIds.push(elementId);
|
|
3577
3648
|
returnElements.push(element);
|
|
3578
3649
|
}
|
|
3579
3650
|
}
|
|
3580
3651
|
}
|
|
3581
|
-
for (var i = 0; i <
|
|
3582
|
-
for (var j = 0; j <
|
|
3583
|
-
var
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3652
|
+
for (var i = 0; i < backGrid.length; i++) {
|
|
3653
|
+
for (var j = 0; j < backGrid[i].length; j++) {
|
|
3654
|
+
var _cell2$plannedElement;
|
|
3655
|
+
var _cell2 = backGrid[i][j];
|
|
3656
|
+
var _elementId = (_cell2$plannedElement = _cell2.plannedElement) === null || _cell2$plannedElement === void 0 ? void 0 : _cell2$plannedElement.elementId;
|
|
3657
|
+
if (_cell2 && _elementId && allCheckedElementIds.indexOf(_elementId) == -1) {
|
|
3658
|
+
var _element = this.getElementById(_elementId);
|
|
3659
|
+
allCheckedElementIds.push(_elementId);
|
|
3587
3660
|
returnElements.push(_element);
|
|
3588
3661
|
}
|
|
3589
3662
|
}
|
|
@@ -3615,9 +3688,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3615
3688
|
}, {
|
|
3616
3689
|
key: "getElementIsInLastCol",
|
|
3617
3690
|
value: function getElementIsInLastCol(elementId, fromBackmodul) {
|
|
3618
|
-
var curElementGrid = fromBackmodul ? this.
|
|
3691
|
+
var curElementGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3619
3692
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3620
|
-
return result.endColIndex
|
|
3693
|
+
return result.endColIndex == curElementGrid.length;
|
|
3621
3694
|
}
|
|
3622
3695
|
|
|
3623
3696
|
/**
|
|
@@ -3628,10 +3701,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3628
3701
|
key: "getElementHasTopElement",
|
|
3629
3702
|
value: function getElementHasTopElement(elementId) {
|
|
3630
3703
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3631
|
-
var curGrid = result.backside ? this.
|
|
3632
|
-
for (var i = result.startColIndex; i
|
|
3704
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3705
|
+
for (var i = result.startColIndex; i < result.endColIndex; i++) {
|
|
3633
3706
|
//Check if in one of the top cells is another element
|
|
3634
|
-
if (curGrid[i].length > result.endRowIndex
|
|
3707
|
+
if (curGrid[i].length > result.endRowIndex && curGrid[i][result.endRowIndex]) {
|
|
3635
3708
|
return true;
|
|
3636
3709
|
}
|
|
3637
3710
|
}
|
|
@@ -3645,19 +3718,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3645
3718
|
}, {
|
|
3646
3719
|
key: "getTopElements",
|
|
3647
3720
|
value: function getTopElements(elementId) {
|
|
3721
|
+
var _curGrid$plannedEleme;
|
|
3648
3722
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3649
|
-
var curGrid = result.backside ? this.
|
|
3723
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3650
3724
|
var neighborPlannerElements = [];
|
|
3651
|
-
var
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
}
|
|
3660
|
-
}
|
|
3725
|
+
var plannedElement = result.cells[0].plannedElement;
|
|
3726
|
+
if (!plannedElement) return neighborPlannerElements;
|
|
3727
|
+
var topElement = (_curGrid$plannedEleme = curGrid[plannedElement.area.fromX]) === null || _curGrid$plannedEleme === void 0 ? void 0 : _curGrid$plannedEleme[plannedElement.area.toY];
|
|
3728
|
+
while (topElement) {
|
|
3729
|
+
var element = topElement.plannedElement;
|
|
3730
|
+
if (!element) break;
|
|
3731
|
+
neighborPlannerElements.push(this.plannerElements.get(element.elementId));
|
|
3732
|
+
topElement = curGrid[element.area.fromX][element.area.toY];
|
|
3661
3733
|
}
|
|
3662
3734
|
return neighborPlannerElements;
|
|
3663
3735
|
}
|
|
@@ -3670,10 +3742,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3670
3742
|
key: "getTopRightElement",
|
|
3671
3743
|
value: function getTopRightElement(elementId) {
|
|
3672
3744
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3673
|
-
var curGrid = result.backside ? this.
|
|
3674
|
-
if (curGrid.length > result.endColIndex
|
|
3675
|
-
var cell = curGrid[result.endColIndex
|
|
3676
|
-
return this.plannerElements.get(cell.
|
|
3745
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3746
|
+
if (curGrid.length > result.endColIndex && curGrid[result.endColIndex].length > result.endRowIndex && curGrid[result.endColIndex][result.endRowIndex]) {
|
|
3747
|
+
var cell = curGrid[result.endColIndex][result.endRowIndex];
|
|
3748
|
+
return this.plannerElements.get(cell.plannedElement.elementId);
|
|
3677
3749
|
}
|
|
3678
3750
|
return undefined;
|
|
3679
3751
|
}
|
|
@@ -3686,10 +3758,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3686
3758
|
key: "getTopLeftElement",
|
|
3687
3759
|
value: function getTopLeftElement(elementId) {
|
|
3688
3760
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3689
|
-
var curGrid = result.backside ? this.
|
|
3690
|
-
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1].length > 0 && curGrid[result.startColIndex - 1][result.endRowIndex
|
|
3691
|
-
var cell = curGrid[result.startColIndex - 1][result.endRowIndex
|
|
3692
|
-
return this.plannerElements.get(cell.
|
|
3761
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3762
|
+
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1].length > 0 && curGrid[result.startColIndex - 1][result.endRowIndex]) {
|
|
3763
|
+
var cell = curGrid[result.startColIndex - 1][result.endRowIndex];
|
|
3764
|
+
return this.plannerElements.get(cell.plannedElement.elementId);
|
|
3693
3765
|
}
|
|
3694
3766
|
return undefined;
|
|
3695
3767
|
}
|
|
@@ -3717,22 +3789,21 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3717
3789
|
}, {
|
|
3718
3790
|
key: "getBottomElements",
|
|
3719
3791
|
value: function getBottomElements(elementId) {
|
|
3792
|
+
var _curGrid$plannedEleme2;
|
|
3720
3793
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3721
|
-
var curGrid = result.backside ? this.
|
|
3722
|
-
var
|
|
3723
|
-
var
|
|
3724
|
-
if (
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
}
|
|
3733
|
-
}
|
|
3794
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3795
|
+
var neighborPlannerElements = [];
|
|
3796
|
+
var plannedElement = result.cells[0].plannedElement;
|
|
3797
|
+
if (!plannedElement) return neighborPlannerElements;
|
|
3798
|
+
var topElement = (_curGrid$plannedEleme2 = curGrid[plannedElement.area.fromX]) === null || _curGrid$plannedEleme2 === void 0 ? void 0 : _curGrid$plannedEleme2[plannedElement.area.fromY - 1];
|
|
3799
|
+
while (topElement) {
|
|
3800
|
+
var _curGrid$element$area;
|
|
3801
|
+
var element = topElement.plannedElement;
|
|
3802
|
+
if (!element) break;
|
|
3803
|
+
neighborPlannerElements.push(this.plannerElements.get(element.elementId));
|
|
3804
|
+
topElement = (_curGrid$element$area = curGrid[element.area.fromX]) === null || _curGrid$element$area === void 0 ? void 0 : _curGrid$element$area[element.area.fromY - 1];
|
|
3734
3805
|
}
|
|
3735
|
-
return
|
|
3806
|
+
return neighborPlannerElements;
|
|
3736
3807
|
}
|
|
3737
3808
|
|
|
3738
3809
|
/**
|
|
@@ -3743,9 +3814,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3743
3814
|
key: "getElementHasRightElement",
|
|
3744
3815
|
value: function getElementHasRightElement(elementId) {
|
|
3745
3816
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3746
|
-
var curGrid = result.backside ? this.
|
|
3747
|
-
if (curGrid.length > result.endColIndex
|
|
3748
|
-
var cell = curGrid[result.endColIndex
|
|
3817
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3818
|
+
if (curGrid.length > result.endColIndex && curGrid[result.endColIndex].length > result.startRowIndex) {
|
|
3819
|
+
var cell = curGrid[result.endColIndex][result.startRowIndex];
|
|
3749
3820
|
if (cell) return true;
|
|
3750
3821
|
}
|
|
3751
3822
|
return false;
|
|
@@ -3762,18 +3833,18 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3762
3833
|
key: "getRightElements",
|
|
3763
3834
|
value: function getRightElements(elementId) {
|
|
3764
3835
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3765
|
-
var curGrid = result.backside ? this.
|
|
3836
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3766
3837
|
var rightElements = [];
|
|
3767
3838
|
var rightElementIds = [];
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3839
|
+
var element = result.cells[0].plannedElement;
|
|
3840
|
+
if (!element) return rightElements;
|
|
3841
|
+
for (var y = element.area.fromY; y < element.area.toY; y++) {
|
|
3842
|
+
var _curGrid$element$area2, _cell$plannedElement4;
|
|
3843
|
+
var cell = (_curGrid$element$area2 = curGrid[element.area.toX]) === null || _curGrid$element$area2 === void 0 ? void 0 : _curGrid$element$area2[y];
|
|
3844
|
+
var _elementId2 = cell === null || cell === void 0 || (_cell$plannedElement4 = cell.plannedElement) === null || _cell$plannedElement4 === void 0 ? void 0 : _cell$plannedElement4.elementId;
|
|
3845
|
+
if (cell && _elementId2 && rightElementIds.indexOf(_elementId2) == -1) {
|
|
3846
|
+
rightElementIds.push(_elementId2);
|
|
3847
|
+
rightElements.push(this.plannerElements.get(_elementId2));
|
|
3777
3848
|
}
|
|
3778
3849
|
}
|
|
3779
3850
|
return rightElements;
|
|
@@ -3787,7 +3858,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3787
3858
|
key: "getElementHasLeftElement",
|
|
3788
3859
|
value: function getElementHasLeftElement(elementId) {
|
|
3789
3860
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3790
|
-
var curGrid = result.backside ? this.
|
|
3861
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3791
3862
|
if (result.startColIndex > 0 && curGrid[result.startColIndex - 1][result.startRowIndex]) {
|
|
3792
3863
|
return true;
|
|
3793
3864
|
}
|
|
@@ -3805,21 +3876,21 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3805
3876
|
key: "getLeftElements",
|
|
3806
3877
|
value: function getLeftElements(elementId) {
|
|
3807
3878
|
var result = this.getCellsInGridByElementId(elementId);
|
|
3808
|
-
var curGrid = result.backside ? this.
|
|
3809
|
-
var
|
|
3810
|
-
var
|
|
3811
|
-
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3879
|
+
var curGrid = result.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3880
|
+
var rightElements = [];
|
|
3881
|
+
var rightElementIds = [];
|
|
3882
|
+
var element = result.cells[0].plannedElement;
|
|
3883
|
+
if (!element) return rightElements;
|
|
3884
|
+
for (var y = element.area.fromY; y < element.area.toY; y++) {
|
|
3885
|
+
var _curGrid, _cell$plannedElement5;
|
|
3886
|
+
var cell = (_curGrid = curGrid[element.area.fromX - 1]) === null || _curGrid === void 0 ? void 0 : _curGrid[y];
|
|
3887
|
+
var _elementId3 = cell === null || cell === void 0 || (_cell$plannedElement5 = cell.plannedElement) === null || _cell$plannedElement5 === void 0 ? void 0 : _cell$plannedElement5.elementId;
|
|
3888
|
+
if (cell && _elementId3 && rightElementIds.indexOf(_elementId3) == -1) {
|
|
3889
|
+
rightElementIds.push(_elementId3);
|
|
3890
|
+
rightElements.push(this.plannerElements.get(_elementId3));
|
|
3820
3891
|
}
|
|
3821
3892
|
}
|
|
3822
|
-
return
|
|
3893
|
+
return rightElements;
|
|
3823
3894
|
}
|
|
3824
3895
|
|
|
3825
3896
|
/*
|
|
@@ -3830,15 +3901,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3830
3901
|
}, {
|
|
3831
3902
|
key: "getAllElementsInColumn",
|
|
3832
3903
|
value: function getAllElementsInColumn(index, fromBackmodul) {
|
|
3833
|
-
var
|
|
3904
|
+
var orderBottomDown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
3905
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3834
3906
|
var allElements = [];
|
|
3835
3907
|
var allElementIds = [];
|
|
3836
|
-
if (curGrid
|
|
3908
|
+
if (!curGrid[index]) return allElements;
|
|
3909
|
+
if (orderBottomDown) {
|
|
3837
3910
|
for (var i = 0; i < curGrid[index].length; i++) {
|
|
3911
|
+
var _cell$plannedElement6;
|
|
3838
3912
|
var cell = curGrid[index][i];
|
|
3839
|
-
|
|
3840
|
-
|
|
3841
|
-
|
|
3913
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement6 = cell.plannedElement) === null || _cell$plannedElement6 === void 0 ? void 0 : _cell$plannedElement6.elementId;
|
|
3914
|
+
if (elementId && cell && allElementIds.indexOf(elementId) == -1) {
|
|
3915
|
+
allElementIds.push(elementId);
|
|
3916
|
+
allElements.push(this.plannerElements.get(elementId));
|
|
3917
|
+
}
|
|
3918
|
+
}
|
|
3919
|
+
} else {
|
|
3920
|
+
for (var i = curGrid[index].length - 1; i >= 0; i--) {
|
|
3921
|
+
var _cell3$plannedElement;
|
|
3922
|
+
var _cell3 = curGrid[index][i];
|
|
3923
|
+
var _elementId4 = _cell3 === null || _cell3 === void 0 || (_cell3$plannedElement = _cell3.plannedElement) === null || _cell3$plannedElement === void 0 ? void 0 : _cell3$plannedElement.elementId;
|
|
3924
|
+
if (_cell3 && _elementId4 && allElementIds.indexOf(_elementId4) == -1) {
|
|
3925
|
+
allElementIds.push(_elementId4);
|
|
3926
|
+
allElements.push(this.plannerElements.get(_elementId4));
|
|
3842
3927
|
}
|
|
3843
3928
|
}
|
|
3844
3929
|
}
|
|
@@ -3851,7 +3936,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3851
3936
|
}, {
|
|
3852
3937
|
key: "getColumnCount",
|
|
3853
3938
|
value: function getColumnCount() {
|
|
3854
|
-
return this.
|
|
3939
|
+
return this.generalPlanningState.grids[0].matrix.length;
|
|
3855
3940
|
}
|
|
3856
3941
|
|
|
3857
3942
|
/**
|
|
@@ -3861,7 +3946,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3861
3946
|
}, {
|
|
3862
3947
|
key: "getRowCount",
|
|
3863
3948
|
value: function getRowCount(colIndex, fromBackmodul) {
|
|
3864
|
-
return fromBackmodul ? this.
|
|
3949
|
+
return fromBackmodul ? this.generalPlanningState.grids[1].matrix[colIndex].length : this.generalPlanningState.grids[0].matrix[colIndex].length;
|
|
3865
3950
|
}
|
|
3866
3951
|
|
|
3867
3952
|
/*
|
|
@@ -3872,15 +3957,17 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3872
3957
|
}, {
|
|
3873
3958
|
key: "getAllElementsInRow",
|
|
3874
3959
|
value: function getAllElementsInRow(index, fromBackmodul) {
|
|
3875
|
-
var curGrid = fromBackmodul ? this.
|
|
3960
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3876
3961
|
var allElements = [];
|
|
3877
3962
|
var allElementIds = [];
|
|
3878
3963
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3879
3964
|
if (curGrid[i].length > index) {
|
|
3965
|
+
var _cell$plannedElement7;
|
|
3880
3966
|
var cell = curGrid[i][index];
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3967
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement7 = cell.plannedElement) === null || _cell$plannedElement7 === void 0 ? void 0 : _cell$plannedElement7.elementId;
|
|
3968
|
+
if (cell && elementId && allElementIds.indexOf(elementId) == -1) {
|
|
3969
|
+
allElementIds.push(elementId);
|
|
3970
|
+
allElements.push(this.plannerElements.get(elementId));
|
|
3884
3971
|
}
|
|
3885
3972
|
}
|
|
3886
3973
|
}
|
|
@@ -3894,7 +3981,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3894
3981
|
}, {
|
|
3895
3982
|
key: "getSizeOfHighesRow",
|
|
3896
3983
|
value: function getSizeOfHighesRow(fromBackmodul) {
|
|
3897
|
-
var curGrid = fromBackmodul ? this.
|
|
3984
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3898
3985
|
var highestRow = 0;
|
|
3899
3986
|
for (var i = 0; i < curGrid.length; i++) {
|
|
3900
3987
|
for (var j = curGrid[i].length; j >= 0; j--) {
|
|
@@ -3923,69 +4010,39 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3923
4010
|
}, {
|
|
3924
4011
|
key: "getNeighborElements",
|
|
3925
4012
|
value: function getNeighborElements(elementId, dir) {
|
|
3926
|
-
var
|
|
3927
|
-
var
|
|
4013
|
+
var _curGrid$area$toX, _curGrid$area$toX2, _curGrid2, _curGrid3, _curGrid$area$fromX, _topNeighbour$planned, _curGrid$area$fromX2, _downNeighbour$planne;
|
|
4014
|
+
var res = this.getCellsInGridByElementId(elementId);
|
|
4015
|
+
var curGrid = res.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
3928
4016
|
var result = [];
|
|
3929
|
-
var
|
|
4017
|
+
var plannedElement = res.cells[0].plannedElement;
|
|
4018
|
+
if (!plannedElement) return result;
|
|
3930
4019
|
switch (dir) {
|
|
3931
|
-
case '
|
|
3932
|
-
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
var neighborCell = curGrid[neighborX][neighborY];
|
|
3937
|
-
if (neighborCell && resultPlannerIds.indexOf(neighborCell.plannerElementId) == -1) {
|
|
3938
|
-
resultPlannerIds.push(neighborCell.plannerElementId);
|
|
3939
|
-
result.push(this.plannerElements.get(neighborCell.plannerElementId));
|
|
3940
|
-
}
|
|
3941
|
-
}
|
|
3942
|
-
}
|
|
3943
|
-
break;
|
|
3944
|
-
case 'DOWN':
|
|
3945
|
-
for (var i = cellPos.startColIndex; i <= cellPos.endColIndex; i++) {
|
|
3946
|
-
var _neighborX = i;
|
|
3947
|
-
var _neighborY = cellPos.startRowIndex - 1;
|
|
3948
|
-
if (_neighborY >= 0) {
|
|
3949
|
-
var _neighborCell = curGrid[_neighborX][_neighborY];
|
|
3950
|
-
if (_neighborCell && resultPlannerIds.indexOf(_neighborCell.plannerElementId) == -1) {
|
|
3951
|
-
resultPlannerIds.push(_neighborCell.plannerElementId);
|
|
3952
|
-
result.push(this.plannerElements.get(_neighborCell.plannerElementId));
|
|
3953
|
-
}
|
|
3954
|
-
}
|
|
3955
|
-
}
|
|
4020
|
+
case 'RIGHT':
|
|
4021
|
+
// only clean neighbours (for docking) add property if you also need clean ones
|
|
4022
|
+
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;
|
|
4023
|
+
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;
|
|
4024
|
+
if (rLowestNeighbour == rHighestNeighbour && rLowestNeighbour) result.push(this.plannerElements.get(rLowestNeighbour));
|
|
3956
4025
|
break;
|
|
3957
4026
|
case 'LEFT':
|
|
3958
|
-
|
|
3959
|
-
|
|
3960
|
-
|
|
3961
|
-
if (_neighborX2 >= 0) {
|
|
3962
|
-
var _neighborCell2 = curGrid[_neighborX2][_neighborY2];
|
|
3963
|
-
if (_neighborCell2 && resultPlannerIds.indexOf(_neighborCell2.plannerElementId) == -1) {
|
|
3964
|
-
resultPlannerIds.push(_neighborCell2.plannerElementId);
|
|
3965
|
-
result.push(this.plannerElements.get(_neighborCell2.plannerElementId));
|
|
3966
|
-
}
|
|
3967
|
-
}
|
|
3968
|
-
}
|
|
4027
|
+
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;
|
|
4028
|
+
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;
|
|
4029
|
+
if (lowestNeighbour == highestNeighbour && lowestNeighbour) result.push(this.plannerElements.get(lowestNeighbour));
|
|
3969
4030
|
break;
|
|
3970
|
-
case '
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
}
|
|
3980
|
-
}
|
|
3981
|
-
}
|
|
4031
|
+
case 'TOP':
|
|
4032
|
+
var topNeighbour = (_curGrid$area$fromX = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX === void 0 ? void 0 : _curGrid$area$fromX[plannedElement.area.toY];
|
|
4033
|
+
var tElementId = topNeighbour === null || topNeighbour === void 0 || (_topNeighbour$planned = topNeighbour.plannedElement) === null || _topNeighbour$planned === void 0 ? void 0 : _topNeighbour$planned.elementId;
|
|
4034
|
+
if (tElementId) result.push(this.plannerElements.get(tElementId));
|
|
4035
|
+
break;
|
|
4036
|
+
case 'DOWN':
|
|
4037
|
+
var downNeighbour = (_curGrid$area$fromX2 = curGrid[plannedElement.area.fromX]) === null || _curGrid$area$fromX2 === void 0 ? void 0 : _curGrid$area$fromX2[plannedElement.area.fromY - 1];
|
|
4038
|
+
var dElementId = downNeighbour === null || downNeighbour === void 0 || (_downNeighbour$planne = downNeighbour.plannedElement) === null || _downNeighbour$planne === void 0 ? void 0 : _downNeighbour$planne.elementId;
|
|
4039
|
+
if (dElementId) result.push(this.plannerElements.get(dElementId));
|
|
3982
4040
|
break;
|
|
3983
4041
|
case 'BACK':
|
|
3984
4042
|
if (this.hasActiveBackside) {
|
|
3985
|
-
var plannerElement = this.getPlannerElementAtGridPos(
|
|
4043
|
+
var plannerElement = this.getPlannerElementAtGridPos(res.startColIndex, res.startRowIndex, true);
|
|
3986
4044
|
if (plannerElement != undefined) result = [plannerElement];
|
|
3987
4045
|
}
|
|
3988
|
-
break;
|
|
3989
4046
|
}
|
|
3990
4047
|
return result;
|
|
3991
4048
|
}
|
|
@@ -4041,22 +4098,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4041
4098
|
var depth = 0;
|
|
4042
4099
|
var height = 0;
|
|
4043
4100
|
var checkedElementIds = [];
|
|
4044
|
-
|
|
4101
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4102
|
+
for (var x = 0; x < frontGrid.length;) {
|
|
4103
|
+
var _row$0$plannedElement, _row$0$plannedElement2;
|
|
4045
4104
|
var curHeight = 0;
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4105
|
+
var row = frontGrid[x];
|
|
4106
|
+
for (var y = 0; y < row.length;) {
|
|
4107
|
+
var _cell4, _cell$plannedElement$, _cell$plannedElement8;
|
|
4108
|
+
var cell = row[y];
|
|
4109
|
+
var elementId = (_cell4 = cell) === null || _cell4 === void 0 || (_cell4 = _cell4.plannedElement) === null || _cell4 === void 0 ? void 0 : _cell4.elementId;
|
|
4110
|
+
if (elementId && cell && checkedElementIds.indexOf(elementId) == -1) {
|
|
4111
|
+
curHeight += this.plannerElements.get(elementId).getHeight();
|
|
4112
|
+
if (x == 0 && y == 0) depth = this.plannerElements.get(elementId).getDepth();
|
|
4051
4113
|
}
|
|
4114
|
+
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;
|
|
4052
4115
|
}
|
|
4053
4116
|
if (curHeight > height) height = curHeight;
|
|
4054
|
-
var curWidth = this.getGridColumnWidth(
|
|
4055
|
-
if (correctSizeSystem4 &&
|
|
4117
|
+
var curWidth = this.getGridColumnWidth(x);
|
|
4118
|
+
if (correctSizeSystem4 && x > 0) {
|
|
4056
4119
|
//Correct width
|
|
4057
4120
|
if (curWidth == 77.9) curWidth = 75;else if (curWidth == 40.4) curWidth = 37.5;else if (curWidth == 21.7) curWidth = 18.75;
|
|
4058
4121
|
}
|
|
4059
4122
|
width += curWidth;
|
|
4123
|
+
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;
|
|
4060
4124
|
}
|
|
4061
4125
|
if (this.hasActiveBackside) depth *= 2;
|
|
4062
4126
|
return new Vector3(width, height, depth);
|
|
@@ -4069,21 +4133,26 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4069
4133
|
}, {
|
|
4070
4134
|
key: "getHighestElementsPerSeries",
|
|
4071
4135
|
value: function getHighestElementsPerSeries() {
|
|
4136
|
+
var onBottom = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
4072
4137
|
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4073
4138
|
var result = [];
|
|
4074
4139
|
var lastHeight = -1;
|
|
4075
|
-
for (var
|
|
4076
|
-
var row = this.
|
|
4077
|
-
var height =
|
|
4078
|
-
|
|
4079
|
-
|
|
4080
|
-
|
|
4140
|
+
for (var x = 0; x < this.getColumnCount();) {
|
|
4141
|
+
var row = this.generalPlanningState.grids[0].matrix[x];
|
|
4142
|
+
var height = 0;
|
|
4143
|
+
for (var y = 0; y < row.length;) {
|
|
4144
|
+
var element = row[y].plannedElement;
|
|
4145
|
+
height += element.size.height;
|
|
4146
|
+
y = element.area.toY;
|
|
4147
|
+
}
|
|
4148
|
+
if (Math.round(height) == Math.round(lastHeight) || onBottom) {
|
|
4081
4149
|
if (!result[result.length - 1]) result.push([]);
|
|
4082
|
-
result[result.length - 1].push(this.getPlannerElementAtGridPos(
|
|
4150
|
+
result[result.length - 1].push(this.getPlannerElementAtGridPos(x, row.length - 1, false));
|
|
4083
4151
|
} else {
|
|
4084
|
-
result.push([this.getPlannerElementAtGridPos(
|
|
4152
|
+
result.push([this.getPlannerElementAtGridPos(x, row.length - 1, false)]);
|
|
4085
4153
|
}
|
|
4086
4154
|
lastHeight = height;
|
|
4155
|
+
x = row[row.length - 1].plannedElement ? row[row.length - 1].plannedElement.area.toX : x + 1;
|
|
4087
4156
|
}
|
|
4088
4157
|
return result;
|
|
4089
4158
|
}
|
|
@@ -4115,6 +4184,60 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4115
4184
|
};
|
|
4116
4185
|
}
|
|
4117
4186
|
|
|
4187
|
+
/**
|
|
4188
|
+
* Get all the Elements need to fill up for the copy of Element x fxe:
|
|
4189
|
+
*
|
|
4190
|
+
* [4] ->
|
|
4191
|
+
* [3]
|
|
4192
|
+
* [2]
|
|
4193
|
+
* [0][1]
|
|
4194
|
+
*
|
|
4195
|
+
* returns element 4, 3 and 2 because those are needed to copy in order
|
|
4196
|
+
* for the copy of element 4 to not float
|
|
4197
|
+
*/
|
|
4198
|
+
}, {
|
|
4199
|
+
key: "getAllElementsToFillUp",
|
|
4200
|
+
value: function getAllElementsToFillUp(elementId, dir) {
|
|
4201
|
+
var _this = this;
|
|
4202
|
+
var curPos = this.getCellsInGridByElementId(elementId);
|
|
4203
|
+
|
|
4204
|
+
//columns and rows are swapped don't ask me why
|
|
4205
|
+
var element = curPos.cells[0].plannedElement;
|
|
4206
|
+
var index = {
|
|
4207
|
+
x: curPos.startColIndex,
|
|
4208
|
+
y: curPos.startRowIndex
|
|
4209
|
+
};
|
|
4210
|
+
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4211
|
+
var plannerIdsToFill = [];
|
|
4212
|
+
var existingPlannerIds = [];
|
|
4213
|
+
var _loop = function _loop(_y) {
|
|
4214
|
+
var _curGrid$index$x$_y;
|
|
4215
|
+
var elementToCopy = (_curGrid$index$x$_y = curGrid[index.x][_y]) === null || _curGrid$index$x$_y === void 0 ? void 0 : _curGrid$index$x$_y.plannedElement;
|
|
4216
|
+
if (!elementToCopy) {
|
|
4217
|
+
y = _y;
|
|
4218
|
+
return 1;
|
|
4219
|
+
} // break
|
|
4220
|
+
var length = element.area.toX - element.area.fromX;
|
|
4221
|
+
var d = dir == 'RIGHT' ? +length : -length;
|
|
4222
|
+
var isPlanned = curGrid.every(function (x, idx) {
|
|
4223
|
+
var _x$_y;
|
|
4224
|
+
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);
|
|
4225
|
+
});
|
|
4226
|
+
var neighbour = _this.getNeighborElements(elementToCopy.elementId, dir);
|
|
4227
|
+
if (neighbour.length == 0 && !isPlanned && elementToCopy) plannerIdsToFill.push(elementToCopy.elementId);else if (elementToCopy) existingPlannerIds.push(elementToCopy.elementId);
|
|
4228
|
+
_y = elementToCopy.area.toY;
|
|
4229
|
+
y = _y;
|
|
4230
|
+
};
|
|
4231
|
+
for (var y = 0; y <= index.y;) {
|
|
4232
|
+
if (_loop(y)) break;
|
|
4233
|
+
}
|
|
4234
|
+
// if there is nothing to fill we copy everyting
|
|
4235
|
+
return {
|
|
4236
|
+
elements: plannerIdsToFill.length == 0 ? existingPlannerIds : plannerIdsToFill,
|
|
4237
|
+
backside: curPos.backside
|
|
4238
|
+
};
|
|
4239
|
+
}
|
|
4240
|
+
|
|
4118
4241
|
/**
|
|
4119
4242
|
* Returns all Elements that are under the specified element
|
|
4120
4243
|
* AAAE
|
|
@@ -4131,13 +4254,15 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4131
4254
|
elements: [],
|
|
4132
4255
|
backside: false
|
|
4133
4256
|
};
|
|
4134
|
-
var curGrid = curPos.backside ? this.
|
|
4257
|
+
var curGrid = curPos.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4135
4258
|
var resultPlannerIds = [];
|
|
4136
|
-
for (var i = curPos.startColIndex; i
|
|
4259
|
+
for (var i = curPos.startColIndex; i < curPos.endColIndex; i++) {
|
|
4137
4260
|
for (var j = curPos.startRowIndex--; j >= 0; j--) {
|
|
4261
|
+
var _neighborCell$planned;
|
|
4138
4262
|
var neighborCell = curGrid[i][j];
|
|
4139
|
-
|
|
4140
|
-
|
|
4263
|
+
var _elementId5 = neighborCell === null || neighborCell === void 0 || (_neighborCell$planned = neighborCell.plannedElement) === null || _neighborCell$planned === void 0 ? void 0 : _neighborCell$planned.elementId;
|
|
4264
|
+
if (neighborCell && _elementId5 && resultPlannerIds.indexOf(_elementId5) == -1) {
|
|
4265
|
+
resultPlannerIds.push(_elementId5);
|
|
4141
4266
|
}
|
|
4142
4267
|
}
|
|
4143
4268
|
}
|
|
@@ -4173,56 +4298,78 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4173
4298
|
}
|
|
4174
4299
|
}, {
|
|
4175
4300
|
key: "prepareGridForColCopy",
|
|
4176
|
-
value: function prepareGridForColCopy(elementId,
|
|
4177
|
-
|
|
4301
|
+
value: function prepareGridForColCopy(elementId, relativeCopyIndex) {
|
|
4302
|
+
var _this$generalPlanning4, _this$generalPlanning5, _frontGrid;
|
|
4303
|
+
if (relativeCopyIndex.y > 0) return;
|
|
4178
4304
|
var elementToCopyPos = this.getCellsInGridByElementId(elementId);
|
|
4179
|
-
|
|
4180
|
-
//
|
|
4181
|
-
//
|
|
4182
|
-
|
|
4183
|
-
var
|
|
4184
|
-
|
|
4185
|
-
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
4197
|
-
|
|
4198
|
-
//
|
|
4199
|
-
|
|
4200
|
-
|
|
4305
|
+
var copyDirectionIsRight = relativeCopyIndex.x > 0;
|
|
4306
|
+
// We add the relativeCopyIndex only if positive otherwise the whole grid get's
|
|
4307
|
+
// shifted to the right bexause can`t got negative
|
|
4308
|
+
var element = elementToCopyPos.cells[0].plannedElement;
|
|
4309
|
+
var absoluteCopyIndex = {
|
|
4310
|
+
x: element.area.toX - 1 + relativeCopyIndex.x,
|
|
4311
|
+
y: element.area.fromY + relativeCopyIndex.y
|
|
4312
|
+
};
|
|
4313
|
+
if (relativeCopyIndex.x < 0) absoluteCopyIndex.x = elementToCopyPos.cells[0].plannedElement.area.fromX - 1;
|
|
4314
|
+
|
|
4315
|
+
// check if the side we copy to is already blocked
|
|
4316
|
+
// if blocked and we copy to the left the grid get's shifted so the copy
|
|
4317
|
+
// get's the index of the copied
|
|
4318
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4319
|
+
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;
|
|
4320
|
+
var widthCopyArea = element.area.toX - element.area.fromX;
|
|
4321
|
+
var isBlocked = (_frontGrid = frontGrid[elementToCopyPos.cells[0].index.x + relativeCopyIndex.x]) === null || _frontGrid === void 0 ? void 0 : _frontGrid[elementToCopyPos.cells[0].index.y];
|
|
4322
|
+
if (absoluteCopyIndex.x == -1 || isBlocked && !copyDirectionIsRight) absoluteCopyIndex.x -= relativeCopyIndex.x;
|
|
4323
|
+
|
|
4324
|
+
// new copy logic fill up like this:
|
|
4325
|
+
// [][] -> | [][][]
|
|
4326
|
+
// [][] | [][][]
|
|
4327
|
+
// [][][] | [][][]
|
|
4328
|
+
// not like this (old logic)
|
|
4329
|
+
// [][] -> | [][][]
|
|
4330
|
+
// [][] | [][][]
|
|
4331
|
+
// [][][] | [][][][]
|
|
4332
|
+
function moveGrid(plannedCells) {
|
|
4333
|
+
var grid = new Array();
|
|
4334
|
+
var rightNeighbour = plannedCells.filter(function (c) {
|
|
4335
|
+
return c.index.x == element.area.toX;
|
|
4336
|
+
});
|
|
4337
|
+
var rightNeighbourOfCopy = rightNeighbour.find(function (c) {
|
|
4338
|
+
return c.index.y == absoluteCopyIndex.y;
|
|
4339
|
+
});
|
|
4340
|
+
var leftNeighbour = plannedCells.filter(function (c) {
|
|
4341
|
+
return c.index.x == element.area.fromX - 1;
|
|
4342
|
+
});
|
|
4343
|
+
var leftNeighbourOfCopy = leftNeighbour.find(function (neighbour) {
|
|
4344
|
+
return neighbour.index.y == absoluteCopyIndex.y;
|
|
4345
|
+
});
|
|
4346
|
+
plannedCells.forEach(function (cell) {
|
|
4347
|
+
// if we can't fill up (need to move the grid)
|
|
4348
|
+
if (cell.index.x >= absoluteCopyIndex.x && (copyDirectionIsRight && (rightNeighbourOfCopy || rightNeighbour.length == 0) || !copyDirectionIsRight && (leftNeighbourOfCopy || leftNeighbour.length == 0) || absoluteCopyIndex.x == -1)) {
|
|
4349
|
+
cell.index.x += widthCopyArea;
|
|
4350
|
+
cell.plannedElement.area.fromX += widthCopyArea;
|
|
4351
|
+
cell.plannedElement.area.toX += widthCopyArea;
|
|
4352
|
+
}
|
|
4353
|
+
if (!grid[cell.index.x]) grid[cell.index.x] = [];
|
|
4354
|
+
grid[cell.index.x][cell.index.y] = cell;
|
|
4355
|
+
});
|
|
4356
|
+
return grid;
|
|
4201
4357
|
}
|
|
4358
|
+
frontGrid = moveGrid(this.getAllUsedCellsInGrid(false));
|
|
4359
|
+
for (var x = 0; x < widthCopyArea; x++) if (!frontGrid[absoluteCopyIndex.x + x]) frontGrid[absoluteCopyIndex.x + x] = [];
|
|
4360
|
+
this.generalPlanningState.grids[0].matrix = frontGrid;
|
|
4202
4361
|
if (this.hasActiveBackside) {
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
var curCellBackGrid = allUsedCellsBackGrid[i];
|
|
4207
|
-
if (curCellBackGrid.index.x >= copyStartIndex) {
|
|
4208
|
-
curCellBackGrid.index.x += copyIndexCount;
|
|
4209
|
-
}
|
|
4210
|
-
if (!this.backGrid[curCellBackGrid.index.x]) {
|
|
4211
|
-
this.backGrid[curCellBackGrid.index.x] = [];
|
|
4212
|
-
}
|
|
4213
|
-
this.backGrid[curCellBackGrid.index.x][curCellBackGrid.index.y] = curCellBackGrid;
|
|
4214
|
-
}
|
|
4215
|
-
|
|
4216
|
-
//Init empty cols
|
|
4217
|
-
for (var i = copyStartIndex; i < copyStartIndex + copyIndexCount; i++) {
|
|
4218
|
-
if (!this.backGrid[i]) this.backGrid[i] = [];
|
|
4219
|
-
}
|
|
4362
|
+
backGrid = moveGrid(this.getAllUsedCellsInGrid(true));
|
|
4363
|
+
for (var _x2 = 0; _x2 < widthCopyArea; _x2++) if (!backGrid[absoluteCopyIndex.x + _x2]) backGrid[absoluteCopyIndex.x + _x2] = [];
|
|
4364
|
+
this.generalPlanningState.grids[1].matrix = backGrid;
|
|
4220
4365
|
}
|
|
4221
4366
|
}
|
|
4222
4367
|
}, {
|
|
4223
4368
|
key: "prepareGridForBackSideCopy",
|
|
4224
4369
|
value: function prepareGridForBackSideCopy() {
|
|
4225
|
-
this.
|
|
4370
|
+
this.generalPlanningState.grids[1] = {
|
|
4371
|
+
matrix: [[]]
|
|
4372
|
+
};
|
|
4226
4373
|
this.hasActiveBackside = true;
|
|
4227
4374
|
}
|
|
4228
4375
|
|
|
@@ -4236,11 +4383,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4236
4383
|
}, {
|
|
4237
4384
|
key: "addElementAtGridPos",
|
|
4238
4385
|
value: function addElementAtGridPos(newElement, col, row, fromBackmodul) {
|
|
4239
|
-
var curGrid = fromBackmodul ? this.
|
|
4240
|
-
var
|
|
4241
|
-
for (var i = 0; i <
|
|
4242
|
-
var cell =
|
|
4243
|
-
// Prüfen, ob das innere Array existiert, sonst erstellen
|
|
4386
|
+
var curGrid = fromBackmodul ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4387
|
+
var cells = this.createNewCells(newElement, col, row, fromBackmodul);
|
|
4388
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4389
|
+
var cell = cells[i];
|
|
4244
4390
|
if (!curGrid[cell.index.x]) {
|
|
4245
4391
|
curGrid[cell.index.x] = [];
|
|
4246
4392
|
}
|
|
@@ -4249,6 +4395,67 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4249
4395
|
this.plannerElements.set(newElement.getElementId(), newElement);
|
|
4250
4396
|
if (fromBackmodul) this.hasActiveBackside = true;
|
|
4251
4397
|
}
|
|
4398
|
+
/**
|
|
4399
|
+
* move element
|
|
4400
|
+
* @param elementIDToMove
|
|
4401
|
+
* @param copyInfo
|
|
4402
|
+
*/
|
|
4403
|
+
}, {
|
|
4404
|
+
key: "moveElementAsCopy",
|
|
4405
|
+
value: function moveElementAsCopy(elementId, absoluteIndex) {
|
|
4406
|
+
var elementData = this.plannerElements.get(elementId);
|
|
4407
|
+
var deletedCells = this.getCellsInGridByElementId(elementId);
|
|
4408
|
+
if (!elementData) return;
|
|
4409
|
+
this.deleteElement(elementId, "STD");
|
|
4410
|
+
var curGrid = this.generalPlanningState.grids[0].matrix;
|
|
4411
|
+
var cells = undefined;
|
|
4412
|
+
if (absoluteIndex.x < 0 || absoluteIndex.y == 0 && deletedCells.endRowIndex >= absoluteIndex.x // moved 0 to 4 so now shift to left
|
|
4413
|
+
) {
|
|
4414
|
+
var dir = deletedCells.endColIndex >= absoluteIndex.x;
|
|
4415
|
+
if (deletedCells.startColIndex >= absoluteIndex.x) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4416
|
+
if (absoluteIndex.x < 0) absoluteIndex.x = 0;
|
|
4417
|
+
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4418
|
+
var movedGrid = [];
|
|
4419
|
+
var element = cells[0].plannedElement;
|
|
4420
|
+
curGrid.forEach(function (_, x) {
|
|
4421
|
+
_.forEach(function (_, y) {
|
|
4422
|
+
var newX = x;
|
|
4423
|
+
var shiftX = 0;
|
|
4424
|
+
if (y == absoluteIndex.y) {
|
|
4425
|
+
newX += dir ? element.area.toX - element.area.fromX : -(element.area.toX - element.area.fromX);
|
|
4426
|
+
shiftX = dir ? element.area.toX - element.area.fromX : -(element.area.toX - element.area.fromX);
|
|
4427
|
+
}
|
|
4428
|
+
if (!movedGrid[newX]) movedGrid[newX] = [];
|
|
4429
|
+
var cellElem = curGrid[x][y].plannedElement;
|
|
4430
|
+
var newCell = {
|
|
4431
|
+
plannedElement: _objectSpread(_objectSpread({}, cellElem), {}, {
|
|
4432
|
+
area: {
|
|
4433
|
+
fromX: newX,
|
|
4434
|
+
toX: cellElem.area.toX + shiftX,
|
|
4435
|
+
fromY: cellElem.area.fromY,
|
|
4436
|
+
toY: cellElem.area.toY
|
|
4437
|
+
}
|
|
4438
|
+
}),
|
|
4439
|
+
index: {
|
|
4440
|
+
x: newX,
|
|
4441
|
+
y: y
|
|
4442
|
+
}
|
|
4443
|
+
};
|
|
4444
|
+
movedGrid[newX][y] = newCell;
|
|
4445
|
+
});
|
|
4446
|
+
});
|
|
4447
|
+
curGrid = movedGrid;
|
|
4448
|
+
} else {
|
|
4449
|
+
if (absoluteIndex.x > deletedCells.startColIndex && absoluteIndex.y == deletedCells.startRowIndex) absoluteIndex.x -= deletedCells.endColIndex - deletedCells.startColIndex;
|
|
4450
|
+
cells = this.createNewCells(elementData, absoluteIndex.x, absoluteIndex.y, false);
|
|
4451
|
+
}
|
|
4452
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4453
|
+
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
4454
|
+
curGrid[cells[i].index.x][cells[i].index.y] = cells[i];
|
|
4455
|
+
}
|
|
4456
|
+
this.plannerElements.set(elementId, elementData);
|
|
4457
|
+
this.generalPlanningState.grids[0].matrix = curGrid;
|
|
4458
|
+
}
|
|
4252
4459
|
|
|
4253
4460
|
/**
|
|
4254
4461
|
* Assume that the grid is already prepared and there is enough empty space for the new element.
|
|
@@ -4260,22 +4467,27 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4260
4467
|
key: "addElementAsCopy",
|
|
4261
4468
|
value: function addElementAsCopy(copiedElementId, newElement, copyIndex) {
|
|
4262
4469
|
var curPos = this.getCellsInGridByElementId(copiedElementId);
|
|
4470
|
+
var area = curPos.cells[0].plannedElement.area;
|
|
4263
4471
|
var cellIndex = {
|
|
4264
|
-
x:
|
|
4265
|
-
y:
|
|
4472
|
+
x: area.fromX,
|
|
4473
|
+
y: area.fromY
|
|
4266
4474
|
};
|
|
4475
|
+
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;
|
|
4267
4476
|
var backsideForCopy = copyIndex.z == -1 || curPos.backside == true;
|
|
4268
|
-
|
|
4269
|
-
var curGrid = backsideForCopy ? this.
|
|
4270
|
-
|
|
4271
|
-
|
|
4272
|
-
|
|
4477
|
+
if (cellIndex.x < 0) cellIndex.x = 0; // can't plan to negative space see prepareGridForColCopy
|
|
4478
|
+
var curGrid = backsideForCopy ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4479
|
+
// can't float need to dock
|
|
4480
|
+
if (curGrid[cellIndex.x].length < cellIndex.y) cellIndex.y = curGrid[cellIndex.x].length;
|
|
4481
|
+
var cells = this.createNewCells(newElement, cellIndex.x, cellIndex.y, backsideForCopy);
|
|
4482
|
+
for (var i = 0; i < cells.length; i++) {
|
|
4483
|
+
if (!curGrid[cells[i].index.x]) curGrid[cells[i].index.x] = [];
|
|
4484
|
+
curGrid[cells[i].index.x][cells[i].index.y] = cells[i];
|
|
4273
4485
|
}
|
|
4274
4486
|
this.plannerElements.set(newElement.getElementId(), newElement);
|
|
4275
4487
|
}
|
|
4276
4488
|
|
|
4277
4489
|
/**
|
|
4278
|
-
* This function deletes an Element from the grid.
|
|
4490
|
+
* This function deletes an Element from the grid.ShaderMaterial
|
|
4279
4491
|
* If backsideModule is active, than the oppsite Element is deleted as well
|
|
4280
4492
|
* If the boxPlanner_backside switch deletion type is set, do not delete the opposite element
|
|
4281
4493
|
* If the last element in col was deleted, do delete whole col.
|
|
@@ -4296,12 +4508,75 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4296
4508
|
}, {
|
|
4297
4509
|
key: "updateGridElementDimensions",
|
|
4298
4510
|
value: function updateGridElementDimensions(elementId, elementData) {
|
|
4511
|
+
var _this2 = this;
|
|
4299
4512
|
if (!elementData) return;
|
|
4300
4513
|
var res = this.getCellsInGridByElementId(elementId);
|
|
4514
|
+
var scpe = this.gridSetupParams.forceSingleCellPerElement;
|
|
4301
4515
|
res.cells.forEach(function (cell) {
|
|
4302
|
-
cell.
|
|
4303
|
-
cell.
|
|
4516
|
+
if (!cell.plannedElement) return;
|
|
4517
|
+
cell.plannedElement.size.width = elementData.width;
|
|
4518
|
+
cell.plannedElement.size.height = elementData.height;
|
|
4519
|
+
cell.plannedElement.area = {
|
|
4520
|
+
fromX: cell.index.x,
|
|
4521
|
+
toX: !scpe ? Math.round(cell.index.x + elementData.width / _this2.gridSetupParams.fixCellRasterWidth) : cell.index.x + 1,
|
|
4522
|
+
fromY: cell.index.y,
|
|
4523
|
+
toY: !scpe ? Math.round(cell.index.y + elementData.height / _this2.gridSetupParams.fixCellRasterHeight) : cell.index.y + 1
|
|
4524
|
+
};
|
|
4304
4525
|
});
|
|
4526
|
+
if (scpe) return;
|
|
4527
|
+
var newGrid = new Array();
|
|
4528
|
+
var plannedCells = this.getAllUsedCellsInGrid(false);
|
|
4529
|
+
plannedCells.forEach(function (cell) {
|
|
4530
|
+
var area = cell.plannedElement.area;
|
|
4531
|
+
if (newGrid.find(function (x) {
|
|
4532
|
+
return x.find(function (y) {
|
|
4533
|
+
var _y$plannedElement3, _cell$plannedElement9;
|
|
4534
|
+
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);
|
|
4535
|
+
});
|
|
4536
|
+
})) return;
|
|
4537
|
+
for (var x = area.fromX; x < area.toX; x++) {
|
|
4538
|
+
var _loop2 = function _loop2(y) {
|
|
4539
|
+
if (!newGrid[x]) newGrid[x] = [];
|
|
4540
|
+
if (y < area.fromY) {
|
|
4541
|
+
if (newGrid[x][y]) return 0; // continue
|
|
4542
|
+
var el = _this2.generalPlanningState.grids[0].matrix.findLast(function (_x) {
|
|
4543
|
+
return _x[y].plannedElement;
|
|
4544
|
+
});
|
|
4545
|
+
newGrid[x][y] = {
|
|
4546
|
+
index: {
|
|
4547
|
+
x: x,
|
|
4548
|
+
y: y
|
|
4549
|
+
},
|
|
4550
|
+
plannedElement: el && el.length > 0 ? el[0].plannedElement : undefined
|
|
4551
|
+
};
|
|
4552
|
+
return 0; // continue
|
|
4553
|
+
}
|
|
4554
|
+
|
|
4555
|
+
// if the element got smaller we need to move it to the neighbour
|
|
4556
|
+
//newGrid[x][y] = { ...cell, index: { x, y: y } };
|
|
4557
|
+
newGrid[x][y] = _objectSpread(_objectSpread({}, cell), {}, {
|
|
4558
|
+
index: {
|
|
4559
|
+
x: x,
|
|
4560
|
+
y: y
|
|
4561
|
+
},
|
|
4562
|
+
plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
|
|
4563
|
+
area: {
|
|
4564
|
+
fromX: x,
|
|
4565
|
+
toX: x + (cell.plannedElement.area.toX - cell.plannedElement.area.fromX),
|
|
4566
|
+
fromY: y,
|
|
4567
|
+
toY: y + (cell.plannedElement.area.toY - cell.plannedElement.area.fromY)
|
|
4568
|
+
}
|
|
4569
|
+
})
|
|
4570
|
+
});
|
|
4571
|
+
},
|
|
4572
|
+
_ret;
|
|
4573
|
+
for (var y = 0; y < area.toY; y++) {
|
|
4574
|
+
_ret = _loop2(y);
|
|
4575
|
+
if (_ret === 0) continue;
|
|
4576
|
+
}
|
|
4577
|
+
}
|
|
4578
|
+
});
|
|
4579
|
+
if (res.backside) this.generalPlanningState.grids[1].matrix = newGrid;else this.generalPlanningState.grids[0].matrix = newGrid;
|
|
4305
4580
|
}
|
|
4306
4581
|
|
|
4307
4582
|
/**
|
|
@@ -4311,6 +4586,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4311
4586
|
}, {
|
|
4312
4587
|
key: "updateWorldPosOfElements",
|
|
4313
4588
|
value: function updateWorldPosOfElements() {
|
|
4589
|
+
var _this$generalPlanning6, _this$generalPlanning7;
|
|
4314
4590
|
//First remove all docking Point relation information
|
|
4315
4591
|
var _iterator = _createForOfIteratorHelper(this.plannerElements.values()),
|
|
4316
4592
|
_step;
|
|
@@ -4328,45 +4604,45 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4328
4604
|
//First remove all docking Point relation information
|
|
4329
4605
|
|
|
4330
4606
|
var allCheckedElementIds = [];
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
4338
|
-
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
|
|
4607
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4608
|
+
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 : [];
|
|
4609
|
+
for (var x = 0; x < frontGrid.length; x++) {
|
|
4610
|
+
for (var y = 0; y < frontGrid[x].length; y++) {
|
|
4611
|
+
var _cell$plannedElement10;
|
|
4612
|
+
var cell = frontGrid[x][y];
|
|
4613
|
+
var elementId = cell === null || cell === void 0 || (_cell$plannedElement10 = cell.plannedElement) === null || _cell$plannedElement10 === void 0 ? void 0 : _cell$plannedElement10.elementId;
|
|
4614
|
+
if (elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
4615
|
+
var element = this.plannerElements.get(elementId);
|
|
4616
|
+
allCheckedElementIds.push(elementId);
|
|
4617
|
+
var topNeighbors = this.getNeighborElements(elementId, 'TOP');
|
|
4618
|
+
var rightNeighbors = this.getNeighborElements(elementId, 'RIGHT');
|
|
4619
|
+
var leftNeighbors = this.getNeighborElements(elementId, 'LEFT');
|
|
4620
|
+
if (topNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVO', [topNeighbors[0]]);
|
|
4621
|
+
if (leftNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVL', [leftNeighbors[0]]);
|
|
4622
|
+
if (rightNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(element, 'AVR', [rightNeighbors[0]]);
|
|
4345
4623
|
element.PosNr = posNr;
|
|
4346
4624
|
posNr++;
|
|
4347
4625
|
}
|
|
4348
4626
|
}
|
|
4349
4627
|
}
|
|
4350
|
-
for (var i = 0; i <
|
|
4351
|
-
for (var j = 0; j <
|
|
4352
|
-
var
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
var
|
|
4357
|
-
|
|
4628
|
+
for (var i = 0; i < backGrid.length; i++) {
|
|
4629
|
+
for (var j = 0; j < backGrid[i].length; j++) {
|
|
4630
|
+
var _cell5$plannedElement;
|
|
4631
|
+
var _cell5 = backGrid[i][j];
|
|
4632
|
+
var _elementId6 = _cell5 === null || _cell5 === void 0 || (_cell5$plannedElement = _cell5.plannedElement) === null || _cell5$plannedElement === void 0 ? void 0 : _cell5$plannedElement.elementId;
|
|
4633
|
+
if (_elementId6 && allCheckedElementIds.indexOf(_elementId6) == -1) {
|
|
4634
|
+
var _element2 = this.plannerElements.get(_elementId6);
|
|
4635
|
+
allCheckedElementIds.push(_elementId6);
|
|
4636
|
+
var frontCell = frontGrid[i][j];
|
|
4637
|
+
var elementFrontGrid = this.plannerElements.get(frontCell.plannedElement.elementId);
|
|
4358
4638
|
if (elementFrontGrid) {
|
|
4359
4639
|
var targetDPFrontGrid = elementFrontGrid === null || elementFrontGrid === void 0 ? void 0 : elementFrontGrid.getDockingPointById('AVO_AVO_2_IL');
|
|
4360
4640
|
if (!targetDPFrontGrid) LOG$1.error(new DivaError('Error Loading DockingPoint AVO_2 for plannerElement'));else if (_element2) dockingPointHandlerInst.tryDockElementToDP(_element2, elementFrontGrid, targetDPFrontGrid);
|
|
4361
4641
|
}
|
|
4362
|
-
var _topNeighbors = this.getNeighborElements(
|
|
4363
|
-
var _rightNeighbors = this.getNeighborElements(
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
}
|
|
4367
|
-
for (var n = 0; n < _rightNeighbors.length; n++) {
|
|
4368
|
-
dockingPointHandlerInst.tryDockElement(_element2, 'AVL', [_rightNeighbors[n]]);
|
|
4369
|
-
}
|
|
4642
|
+
var _topNeighbors = this.getNeighborElements(_elementId6, 'TOP');
|
|
4643
|
+
var _rightNeighbors = this.getNeighborElements(_elementId6, 'RIGHT');
|
|
4644
|
+
if (_topNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(_element2, 'AVO', [_topNeighbors[0]]);
|
|
4645
|
+
if (_rightNeighbors.length > 0) dockingPointHandlerInst.tryDockElement(_element2, 'AVL', [_rightNeighbors[0]]);
|
|
4370
4646
|
_element2.PosNr = posNr;
|
|
4371
4647
|
posNr++;
|
|
4372
4648
|
}
|
|
@@ -4394,10 +4670,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4394
4670
|
_iterator2.f();
|
|
4395
4671
|
}
|
|
4396
4672
|
this.plannerElements.clear();
|
|
4397
|
-
this.
|
|
4673
|
+
this.generalPlanningState.grids[0].matrix = [];
|
|
4398
4674
|
if (this.hasActiveBackside) {
|
|
4399
4675
|
this.hasActiveBackside = false;
|
|
4400
|
-
this.
|
|
4676
|
+
this.generalPlanningState.grids[1].matrix = [];
|
|
4401
4677
|
}
|
|
4402
4678
|
}
|
|
4403
4679
|
|
|
@@ -4423,7 +4699,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4423
4699
|
_iterator3.f();
|
|
4424
4700
|
}
|
|
4425
4701
|
allElements = [];
|
|
4426
|
-
this.
|
|
4702
|
+
this.generalPlanningState.grids[1].matrix = [];
|
|
4427
4703
|
}
|
|
4428
4704
|
}, {
|
|
4429
4705
|
key: "getPlannerHasActiveBackside",
|
|
@@ -4438,26 +4714,31 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4438
4714
|
}, {
|
|
4439
4715
|
key: "getBoundingBox",
|
|
4440
4716
|
value: function getBoundingBox() {
|
|
4717
|
+
var _frontGrid$;
|
|
4718
|
+
var frontGrid = this.generalPlanningState.grids[0].matrix;
|
|
4719
|
+
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;
|
|
4441
4720
|
var height = 0;
|
|
4442
4721
|
var minX = 0;
|
|
4443
4722
|
var maxX = 0;
|
|
4444
4723
|
var curX = 0;
|
|
4445
4724
|
var minZ = 0;
|
|
4446
|
-
var curZ =
|
|
4725
|
+
var curZ = element ? element.size.depth : 0;
|
|
4447
4726
|
var maxZ = 0;
|
|
4448
4727
|
var curDir;
|
|
4449
4728
|
curDir = 'RIGHT';
|
|
4450
4729
|
var allCheckedElementIds = [];
|
|
4451
|
-
for (var i = 0; i <
|
|
4452
|
-
var
|
|
4730
|
+
for (var i = 0; i < frontGrid.length; i++) {
|
|
4731
|
+
var _groundCell$plannedEl;
|
|
4732
|
+
var groundCell = frontGrid[i][0];
|
|
4453
4733
|
if (!groundCell) break; //if on the lowest position the cell is empty, the grid ist finished - no wholes are allowed
|
|
4454
4734
|
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4735
|
+
var elementId = (_groundCell$plannedEl = groundCell.plannedElement) === null || _groundCell$plannedEl === void 0 ? void 0 : _groundCell$plannedEl.elementId;
|
|
4736
|
+
if (elementId && allCheckedElementIds.indexOf(elementId) == -1) {
|
|
4737
|
+
allCheckedElementIds.push(elementId);
|
|
4738
|
+
var groundElement = this.plannerElements.get(elementId);
|
|
4458
4739
|
if (!groundElement) continue;
|
|
4459
4740
|
//Check if the col has a corner.
|
|
4460
|
-
var elementOption = this.getValueOfOptionOfArticle(
|
|
4741
|
+
var elementOption = this.getValueOfOptionOfArticle(elementId, 'OPTELEMENT');
|
|
4461
4742
|
if (curDir == 'RIGHT') {
|
|
4462
4743
|
curX += groundElement.getWidth();
|
|
4463
4744
|
} else if (curDir == 'FRONT') {
|
|
@@ -4526,7 +4807,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4526
4807
|
var _curGrid$x;
|
|
4527
4808
|
return ((_curGrid$x = curGrid[x]) === null || _curGrid$x === void 0 ? void 0 : _curGrid$x[y]) === undefined;
|
|
4528
4809
|
};
|
|
4529
|
-
var curGrid = elementCells.backside ? this.
|
|
4810
|
+
var curGrid = elementCells.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4530
4811
|
var _iterator4 = _createForOfIteratorHelper(this.plannerElements.keys()),
|
|
4531
4812
|
_step4;
|
|
4532
4813
|
try {
|
|
@@ -4545,7 +4826,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4545
4826
|
|
|
4546
4827
|
//Now we found a possible place
|
|
4547
4828
|
|
|
4548
|
-
var locationInformation = this.createLocationInformation(element, elementCells.backside, this.createEmptyCells(otherElementCells.
|
|
4829
|
+
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);
|
|
4549
4830
|
allFreeMoveLocations.push(locationInformation);
|
|
4550
4831
|
}
|
|
4551
4832
|
} else {
|
|
@@ -4554,7 +4835,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4554
4835
|
var _otherElementCells = this.getCellsInGridByElementId(otherElementId);
|
|
4555
4836
|
var freeStartTopColIndex = -1;
|
|
4556
4837
|
var freeEndTopColIndex = -1;
|
|
4557
|
-
var topRow = _otherElementCells.
|
|
4838
|
+
var topRow = _otherElementCells.cells[0].plannedElement.area.toY + 1;
|
|
4558
4839
|
for (var x = _otherElementCells.startColIndex; x <= _otherElementCells.startColIndex + _otherElementCells.colCount - 1; x++) {
|
|
4559
4840
|
var freeSpaceFound = false;
|
|
4560
4841
|
if (isEmptyCell(x, topRow)) {
|
|
@@ -4627,7 +4908,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4627
4908
|
}
|
|
4628
4909
|
|
|
4629
4910
|
// Determine the grid to work with (front or back) based on the element's location
|
|
4630
|
-
var curGrid = elementCells.backside ? this.
|
|
4911
|
+
var curGrid = elementCells.backside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4631
4912
|
|
|
4632
4913
|
// Get the boundaries of the element in the grid
|
|
4633
4914
|
var startColIndex = elementCells.startColIndex;
|
|
@@ -4686,9 +4967,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4686
4967
|
var targetRowIndex = endRowIndex + 1;
|
|
4687
4968
|
var _copyPossible = false;
|
|
4688
4969
|
// Iterate through columns within the element's width
|
|
4689
|
-
for (var
|
|
4690
|
-
if (isValidCell(
|
|
4691
|
-
copyStartColIndex =
|
|
4970
|
+
for (var _x3 = endColIndex; _x3 >= startColIndex; _x3--) {
|
|
4971
|
+
if (isValidCell(_x3, targetRowIndex)) {
|
|
4972
|
+
copyStartColIndex = _x3;
|
|
4692
4973
|
_copyPossible = true;
|
|
4693
4974
|
}
|
|
4694
4975
|
}
|
|
@@ -4702,29 +4983,29 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4702
4983
|
case 'RIGHT':
|
|
4703
4984
|
{
|
|
4704
4985
|
// Target column to the left of the element
|
|
4705
|
-
var _targetColIndex = endColIndex
|
|
4986
|
+
var _targetColIndex = endColIndex;
|
|
4706
4987
|
var _copyPossible2 = false;
|
|
4707
4988
|
// Iterate through rows within the element's height
|
|
4708
|
-
for (var
|
|
4709
|
-
if (isValidCell(_targetColIndex,
|
|
4710
|
-
copyStartRowIndex =
|
|
4989
|
+
for (var _y2 = startRowIndex; _y2 <= endRowIndex; _y2++) {
|
|
4990
|
+
if (isValidCell(_targetColIndex, _y2)) {
|
|
4991
|
+
copyStartRowIndex = _y2;
|
|
4711
4992
|
_copyPossible2 = true;
|
|
4712
4993
|
break;
|
|
4713
4994
|
}
|
|
4714
4995
|
}
|
|
4715
4996
|
if (!_copyPossible2) return undefined;
|
|
4716
4997
|
_copyPossible2 = false;
|
|
4717
|
-
for (var
|
|
4718
|
-
if (isValidCell(
|
|
4998
|
+
for (var _x4 = endColIndex; _x4 <= endColIndex + elementCells.colCount; _x4++) {
|
|
4999
|
+
if (isValidCell(_x4, copyStartRowIndex) && (copyStartRowIndex == 0 || !isValidCell(_x4, copyStartRowIndex - 1))) {
|
|
4719
5000
|
//check also for overhang
|
|
4720
|
-
copyEndColIndex =
|
|
5001
|
+
copyEndColIndex = _x4;
|
|
4721
5002
|
_copyPossible2 = true;
|
|
4722
5003
|
} else {
|
|
4723
5004
|
break; //when you find one situation where it is not valid skip outside.
|
|
4724
5005
|
}
|
|
4725
5006
|
}
|
|
4726
5007
|
if (!_copyPossible2) return undefined;
|
|
4727
|
-
copyStartColIndex = endColIndex
|
|
5008
|
+
copyStartColIndex = endColIndex;
|
|
4728
5009
|
copyEndRowIndex = endRowIndex;
|
|
4729
5010
|
freeCells = this.createEmptyCells(copyStartColIndex, copyStartRowIndex, copyEndColIndex, copyEndRowIndex, element.getWidth(), element.getHeight());
|
|
4730
5011
|
break;
|
|
@@ -4741,7 +5022,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4741
5022
|
}, {
|
|
4742
5023
|
key: "createLocationInformation",
|
|
4743
5024
|
value: function createLocationInformation(element, fromBackside, cells, cellsStartColIndex, cellsStartRowIndex, cellsColCount, cellsRowCount) {
|
|
4744
|
-
var curGrid = fromBackside ? this.
|
|
5025
|
+
var curGrid = fromBackside ? this.generalPlanningState.grids[1].matrix : this.generalPlanningState.grids[0].matrix;
|
|
4745
5026
|
var elementLocation = {
|
|
4746
5027
|
cells: cells,
|
|
4747
5028
|
widthPerCell: this.gridSetupParams.forceFixCellRasterSize ? this.gridSetupParams.fixCellRasterWidth : element.getWidth(),
|
|
@@ -4757,14 +5038,16 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4757
5038
|
} else {
|
|
4758
5039
|
var distToOriginX = 0;
|
|
4759
5040
|
for (var i = 0; i < cellsStartColIndex; i++) {
|
|
4760
|
-
|
|
5041
|
+
var _plannedElement$size$3, _plannedElement3;
|
|
5042
|
+
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;
|
|
4761
5043
|
}
|
|
4762
5044
|
if (cellsStartColIndex < 0) {
|
|
4763
5045
|
distToOriginX = -element.getWidth();
|
|
4764
5046
|
}
|
|
4765
5047
|
var distToOriginY = 0;
|
|
4766
5048
|
for (var i = 0; i < cellsStartRowIndex; i++) {
|
|
4767
|
-
|
|
5049
|
+
var _plannedElement$size$4, _plannedElement4;
|
|
5050
|
+
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;
|
|
4768
5051
|
}
|
|
4769
5052
|
elementLocation.startIndexWorldPos = new Vector2(distToOriginX, distToOriginY);
|
|
4770
5053
|
}
|
|
@@ -4780,7 +5063,8 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4780
5063
|
for (var i = 0; i < allElements.length; i++) {
|
|
4781
5064
|
var element = allElements[i];
|
|
4782
5065
|
var elementCells = this.getCellsInGridByElementId(element.getElementId());
|
|
4783
|
-
var
|
|
5066
|
+
var area = elementCells.cells[0].plannedElement.area;
|
|
5067
|
+
var elementLocation = this.createLocationInformation(element, elementCells.backside, elementCells.cells, area.fromX, area.toX, area.fromY, area.toY);
|
|
4784
5068
|
var planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4785
5069
|
var planningRightLocation = this.getFreePlanningLocation(element.getElementId(), 'RIGHT');
|
|
4786
5070
|
var planningTopLocation = this.getFreePlanningLocation(element.getElementId(), 'TOP');
|
|
@@ -4806,10 +5090,20 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4806
5090
|
}
|
|
4807
5091
|
}, {
|
|
4808
5092
|
key: "getGeneralPlanningState",
|
|
4809
|
-
value: function getGeneralPlanningState(
|
|
4810
|
-
var
|
|
4811
|
-
var
|
|
4812
|
-
var
|
|
5093
|
+
value: function getGeneralPlanningState() {
|
|
5094
|
+
var _ele2, _ele3;
|
|
5095
|
+
var movables = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5096
|
+
var selectedElementId = arguments.length > 1 ? arguments[1] : undefined;
|
|
5097
|
+
if (!movables) return this.generalPlanningState;
|
|
5098
|
+
// fill to equal size
|
|
5099
|
+
var matrix = this.generalPlanningState.grids[0].matrix;
|
|
5100
|
+
var matrixWithMovables = [];
|
|
5101
|
+
var maxWidth = matrix.length;
|
|
5102
|
+
var maxHeight = 0;
|
|
5103
|
+
matrix.forEach(function (x) {
|
|
5104
|
+
if (x.length > maxHeight) maxHeight = x.length;
|
|
5105
|
+
});
|
|
5106
|
+
Array.from(this.plannerElements.values()).map(function (p) {
|
|
4813
5107
|
return {
|
|
4814
5108
|
basketId: p.getBasketId(),
|
|
4815
5109
|
elementId: p.getElementId(),
|
|
@@ -4827,86 +5121,75 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4827
5121
|
}
|
|
4828
5122
|
};
|
|
4829
5123
|
});
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
var plannedElement = plannedElements.find(function (p) {
|
|
4837
|
-
return p.elementId === cell.plannerElementId;
|
|
4838
|
-
});
|
|
4839
|
-
if (plannedElement) {
|
|
4840
|
-
if (plannedElement.area.fromX === undefined || plannedElement.area.fromX > cell.index.x) plannedElement.area.fromX = cell.index.x;
|
|
4841
|
-
if (plannedElement.area.toX === undefined || plannedElement.area.toX < cell.index.x) plannedElement.area.toX = cell.index.x;
|
|
4842
|
-
if (plannedElement.area.fromY === undefined || plannedElement.area.fromY > cell.index.y) plannedElement.area.fromY = cell.index.y;
|
|
4843
|
-
if (plannedElement.area.toY === undefined || plannedElement.area.toY < cell.index.y) plannedElement.area.toY = cell.index.y;
|
|
4844
|
-
}
|
|
4845
|
-
matrix[i].push({
|
|
4846
|
-
index: cell.index,
|
|
4847
|
-
plannedElement: plannedElement
|
|
4848
|
-
});
|
|
4849
|
-
}
|
|
4850
|
-
};
|
|
4851
|
-
for (var j = 0; j < frontGridRow.length; j++) {
|
|
4852
|
-
_loop();
|
|
4853
|
-
}
|
|
4854
|
-
}
|
|
4855
|
-
|
|
4856
|
-
// Fill matrix rows to equal length
|
|
4857
|
-
var maxLength = Math.max.apply(Math, _toConsumableArray(matrix.map(function (row) {
|
|
4858
|
-
return row.length;
|
|
4859
|
-
})));
|
|
4860
|
-
matrix.forEach(function (row) {
|
|
4861
|
-
while (row.length < maxLength) {
|
|
4862
|
-
var _row$;
|
|
4863
|
-
var lastCell = row[row.length - 1];
|
|
4864
|
-
var newY = lastCell ? lastCell.index.y + 1 : 0;
|
|
4865
|
-
row.push({
|
|
4866
|
-
index: new Vector2(((_row$ = row[0]) === null || _row$ === void 0 ? void 0 : _row$.index.x) || 0, newY),
|
|
4867
|
-
plannedElement: undefined
|
|
4868
|
-
});
|
|
4869
|
-
}
|
|
4870
|
-
});
|
|
4871
|
-
var selectedPlannedElement = selectedElementId ? plannedElements.find(function (p) {
|
|
4872
|
-
return p.elementId === selectedElementId;
|
|
4873
|
-
}) : undefined;
|
|
4874
|
-
if (selectedPlannedElement) {
|
|
4875
|
-
//add the free let planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4876
|
-
var planningLeftLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'LEFT');
|
|
4877
|
-
var planningRightLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'RIGHT');
|
|
4878
|
-
var planningTopLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'TOP');
|
|
4879
|
-
var fixedPositionRules = [];
|
|
4880
|
-
if (planningLeftLocation) {
|
|
4881
|
-
this.addFreeCellsToMatrix(matrix, planningLeftLocation.cells, fixedPositionRules);
|
|
4882
|
-
}
|
|
4883
|
-
if (planningRightLocation) {
|
|
4884
|
-
this.addFreeCellsToMatrix(matrix, planningRightLocation.cells, fixedPositionRules);
|
|
4885
|
-
}
|
|
4886
|
-
if (planningTopLocation) {
|
|
4887
|
-
this.addFreeCellsToMatrix(matrix, planningTopLocation.cells, fixedPositionRules);
|
|
4888
|
-
}
|
|
5124
|
+
var isSupport = false;
|
|
5125
|
+
var selectedElement = undefined;
|
|
5126
|
+
var ele = undefined;
|
|
5127
|
+
if (selectedElementId) {
|
|
5128
|
+
var res = this.getCellsInGridByElementId(selectedElementId);
|
|
5129
|
+
ele = res.cells[0].plannedElement;
|
|
4889
5130
|
selectedElement = {
|
|
4890
|
-
articleCodex:
|
|
4891
|
-
|
|
5131
|
+
articleCodex: ele.articleCodex,
|
|
5132
|
+
elementId: ele.elementId,
|
|
4892
5133
|
gridSpace: {
|
|
4893
|
-
rows:
|
|
4894
|
-
colums:
|
|
5134
|
+
rows: ele.area.toY - ele.area.fromY + 1,
|
|
5135
|
+
colums: ele.area.toX - ele.area.fromX + 1
|
|
4895
5136
|
},
|
|
4896
|
-
|
|
4897
|
-
|
|
5137
|
+
area: ele.area,
|
|
5138
|
+
size: ele.size,
|
|
5139
|
+
rules: []
|
|
4898
5140
|
};
|
|
4899
|
-
|
|
4900
|
-
|
|
4901
|
-
|
|
4902
|
-
|
|
4903
|
-
|
|
4904
|
-
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
5141
|
+
isSupport = !!matrix.find(function (x, idx) {
|
|
5142
|
+
return idx >= ele.area.fromX && idx < ele.area.toX && matrix[idx].length > ele.area.toY;
|
|
5143
|
+
}); // can't move if there is anything above these cells
|
|
5144
|
+
}
|
|
5145
|
+
if (isSupport) return this.generalPlanningState;
|
|
5146
|
+
for (var x = 0; x < maxWidth; x++) {
|
|
5147
|
+
var _x = ele.area.fromX == 0 ? x : x + 1;
|
|
5148
|
+
if (!matrixWithMovables[_x]) if (matrix[x]) matrixWithMovables[_x] = _toConsumableArray(matrix[x]);
|
|
5149
|
+
for (var y = 0; y < maxHeight; y++) {
|
|
5150
|
+
if (matrix[x].length > y && matrix[x][y]) {
|
|
5151
|
+
matrixWithMovables[_x][y].plannedElement;
|
|
5152
|
+
matrixWithMovables[_x][y] = _objectSpread({}, matrix[x][y]);
|
|
5153
|
+
}
|
|
5154
|
+
}
|
|
5155
|
+
}
|
|
5156
|
+
|
|
5157
|
+
// add movable to the top
|
|
5158
|
+
var from = ele.area.fromX == 0 ? ele.area.fromX : ele.area.fromX + 1;
|
|
5159
|
+
var to = ele.area.fromX == 0 ? ele.area.toX : ele.area.toX + 1;
|
|
5160
|
+
matrixWithMovables.forEach(function (_, x) {
|
|
5161
|
+
if (x >= from && x < to) return;
|
|
5162
|
+
var row = matrixWithMovables[x];
|
|
5163
|
+
var len = row.length;
|
|
5164
|
+
var _x = ele.fromX == 0 ? x : x - 1;
|
|
5165
|
+
row[len] = {
|
|
5166
|
+
index: {
|
|
5167
|
+
x: _x,
|
|
5168
|
+
y: len
|
|
5169
|
+
}
|
|
5170
|
+
};
|
|
5171
|
+
});
|
|
5172
|
+
|
|
5173
|
+
// add movable to the side
|
|
5174
|
+
var len = matrixWithMovables.length;
|
|
5175
|
+
if (((_ele2 = ele) === null || _ele2 === void 0 ? void 0 : _ele2.area.toX) != matrix.length) matrixWithMovables[len] = [{
|
|
5176
|
+
index: {
|
|
5177
|
+
x: ele.fromX == 0 ? len : len - 1,
|
|
5178
|
+
y: 0
|
|
5179
|
+
}
|
|
5180
|
+
}];
|
|
5181
|
+
if (((_ele3 = ele) === null || _ele3 === void 0 ? void 0 : _ele3.area.fromX) != 0) matrixWithMovables[0] = [{
|
|
5182
|
+
index: {
|
|
5183
|
+
x: -1,
|
|
5184
|
+
y: 0
|
|
5185
|
+
}
|
|
5186
|
+
}];
|
|
5187
|
+
return _objectSpread(_objectSpread({}, this.generalPlanningState), {}, {
|
|
5188
|
+
selectedElement: selectedElement,
|
|
5189
|
+
grids: [_objectSpread(_objectSpread({}, this.generalPlanningState.grids[0]), {}, {
|
|
5190
|
+
matrix: matrixWithMovables
|
|
5191
|
+
})]
|
|
5192
|
+
});
|
|
4910
5193
|
}
|
|
4911
5194
|
}, {
|
|
4912
5195
|
key: "getRowSizes",
|
|
@@ -4915,7 +5198,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4915
5198
|
//system 4 useacse
|
|
4916
5199
|
var totalColCount = matrix[0].length;
|
|
4917
5200
|
var colSizes = Array(totalColCount).fill(-1);
|
|
4918
|
-
var
|
|
5201
|
+
var _loop3 = function _loop3(i) {
|
|
4919
5202
|
var _matrix$find;
|
|
4920
5203
|
var cell = (_matrix$find = matrix.find(function (row) {
|
|
4921
5204
|
var _row$i$plannedElement, _row$i$plannedElement2;
|
|
@@ -4929,7 +5212,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4929
5212
|
if (colSizes[i] === -1) return 1; // break
|
|
4930
5213
|
};
|
|
4931
5214
|
for (var i = 0; i < totalColCount; i++) {
|
|
4932
|
-
if (
|
|
5215
|
+
if (_loop3(i)) break;
|
|
4933
5216
|
}
|
|
4934
5217
|
if (colSizes.includes(-1)) LOG$1.error(new Error('Column sizes are not set'));
|
|
4935
5218
|
return colSizes;
|
|
@@ -4992,9 +5275,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4992
5275
|
});
|
|
4993
5276
|
if (!column) {
|
|
4994
5277
|
matrix.map(function (row) {
|
|
4995
|
-
var _row
|
|
5278
|
+
var _row$;
|
|
4996
5279
|
return row.push({
|
|
4997
|
-
index: new Vector2(((_row$
|
|
5280
|
+
index: new Vector2(((_row$ = row[0]) === null || _row$ === void 0 ? void 0 : _row$.index.x) || 0, y),
|
|
4998
5281
|
plannedElement: undefined
|
|
4999
5282
|
});
|
|
5000
5283
|
});
|
|
@@ -5201,7 +5484,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5201
5484
|
key: "addPlannerElement",
|
|
5202
5485
|
value: (function () {
|
|
5203
5486
|
var _addPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(basketID, params) {
|
|
5204
|
-
var plannerElement, data;
|
|
5487
|
+
var plannerElement, data, constructionRules, _constructionRules$co, _constructionRules$co2;
|
|
5205
5488
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
5206
5489
|
while (1) switch (_context2.prev = _context2.next) {
|
|
5207
5490
|
case 0:
|
|
@@ -5220,7 +5503,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5220
5503
|
return handler2D.loadSVG(plannerElement, this.set);
|
|
5221
5504
|
case 9:
|
|
5222
5505
|
if (!this.constructionRulesHandler.getConstructionRulesLoaded()) {
|
|
5223
|
-
this.
|
|
5506
|
+
constructionRules = this.set.getConstructionRuleOfElementId(plannerElement.ElementId);
|
|
5507
|
+
if (constructionRules) {
|
|
5508
|
+
this.boxPlannerGrid.GridSetupParams = {
|
|
5509
|
+
fixCellRasterHeight: 19.2,
|
|
5510
|
+
fixCellRasterWidth: 19.2,
|
|
5511
|
+
forceFixCellRasterSize: (_constructionRules$co = constructionRules.constructionRules.forceFixCellRasterSize) !== null && _constructionRules$co !== void 0 ? _constructionRules$co : true,
|
|
5512
|
+
forceSingleCellPerElement: (_constructionRules$co2 = constructionRules.constructionRules.forceSingleCellPerElement) !== null && _constructionRules$co2 !== void 0 ? _constructionRules$co2 : true,
|
|
5513
|
+
hasMaxGridRasterHeight: constructionRules.constructionRules.hasMaxGridRasterHeight,
|
|
5514
|
+
maxGridRasterHeight: constructionRules.constructionRules.maxGridRasterHeight,
|
|
5515
|
+
hasMaxGridRasterWidth: constructionRules.constructionRules.hasMaxGridRasterWidth,
|
|
5516
|
+
maxGridRasterWidth: constructionRules.constructionRules.maxGridRasterWidth
|
|
5517
|
+
}, this.constructionRulesHandler.setConstructionRules(constructionRules);
|
|
5518
|
+
}
|
|
5224
5519
|
}
|
|
5225
5520
|
this.boxPlannerGrid.addElementAtGridPos(plannerElement, params.boxCol, params.boxRow, params.backside != undefined ? params.backside : false);
|
|
5226
5521
|
if (!params.boxUpdateWholePlanning) {
|
|
@@ -5260,6 +5555,28 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5260
5555
|
}
|
|
5261
5556
|
return extendPlanner;
|
|
5262
5557
|
}()
|
|
5558
|
+
}, {
|
|
5559
|
+
key: "movePlannerElement",
|
|
5560
|
+
value: function () {
|
|
5561
|
+
var _movePlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(elementId, absoluteIndex) {
|
|
5562
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
5563
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
5564
|
+
case 0:
|
|
5565
|
+
this.boxPlannerGrid.moveElementAsCopy(elementId, absoluteIndex);
|
|
5566
|
+
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5567
|
+
_context4.next = 4;
|
|
5568
|
+
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, "", [elementId]);
|
|
5569
|
+
case 4:
|
|
5570
|
+
case "end":
|
|
5571
|
+
return _context4.stop();
|
|
5572
|
+
}
|
|
5573
|
+
}, _callee4, this);
|
|
5574
|
+
}));
|
|
5575
|
+
function movePlannerElement(_x6, _x7) {
|
|
5576
|
+
return _movePlannerElement.apply(this, arguments);
|
|
5577
|
+
}
|
|
5578
|
+
return movePlannerElement;
|
|
5579
|
+
}()
|
|
5263
5580
|
/**
|
|
5264
5581
|
* Handles copyying the planner Element. it can happen that also other planner elements are influenced
|
|
5265
5582
|
* @param articleCopyRelation Holds the relation - which element with elementID is copyed and has a new Article. ElementToCopyID -> BasketID of new Article
|
|
@@ -5268,18 +5585,18 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5268
5585
|
}, {
|
|
5269
5586
|
key: "copyPlannerElement",
|
|
5270
5587
|
value: (function () {
|
|
5271
|
-
var _copyPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
5588
|
+
var _copyPlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(articleCopyRelation, copyInfo) {
|
|
5272
5589
|
var _this = this;
|
|
5273
5590
|
var gridIsPrepared, plannerElementsToLoadSVG, that, i, cellPos, allDPs, j;
|
|
5274
|
-
return _regeneratorRuntime.wrap(function
|
|
5275
|
-
while (1) switch (
|
|
5591
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
5592
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
5276
5593
|
case 0:
|
|
5277
5594
|
gridIsPrepared = false;
|
|
5278
5595
|
if (copyInfo) {
|
|
5279
|
-
|
|
5596
|
+
_context5.next = 3;
|
|
5280
5597
|
break;
|
|
5281
5598
|
}
|
|
5282
|
-
return
|
|
5599
|
+
return _context5.abrupt("return");
|
|
5283
5600
|
case 3:
|
|
5284
5601
|
if (copyInfo.copyType == 'STD') copyInfo.targetElements = [];
|
|
5285
5602
|
plannerElementsToLoadSVG = [];
|
|
@@ -5309,10 +5626,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5309
5626
|
i = 0;
|
|
5310
5627
|
case 8:
|
|
5311
5628
|
if (!(i < plannerElementsToLoadSVG.length)) {
|
|
5312
|
-
|
|
5629
|
+
_context5.next = 15;
|
|
5313
5630
|
break;
|
|
5314
5631
|
}
|
|
5315
|
-
|
|
5632
|
+
_context5.next = 11;
|
|
5316
5633
|
return handler2D.loadSVG(plannerElementsToLoadSVG[i], this.set);
|
|
5317
5634
|
case 11:
|
|
5318
5635
|
//Check if we have to prevent to build even higher in this col
|
|
@@ -5328,19 +5645,19 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5328
5645
|
}
|
|
5329
5646
|
case 12:
|
|
5330
5647
|
i++;
|
|
5331
|
-
|
|
5648
|
+
_context5.next = 8;
|
|
5332
5649
|
break;
|
|
5333
5650
|
case 15:
|
|
5334
5651
|
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5335
|
-
|
|
5652
|
+
_context5.next = 18;
|
|
5336
5653
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, copyInfo.changedOPT, copyInfo.targetElements);
|
|
5337
5654
|
case 18:
|
|
5338
5655
|
case "end":
|
|
5339
|
-
return
|
|
5656
|
+
return _context5.stop();
|
|
5340
5657
|
}
|
|
5341
|
-
},
|
|
5658
|
+
}, _callee5, this);
|
|
5342
5659
|
}));
|
|
5343
|
-
function copyPlannerElement(
|
|
5660
|
+
function copyPlannerElement(_x8, _x9) {
|
|
5344
5661
|
return _copyPlannerElement.apply(this, arguments);
|
|
5345
5662
|
}
|
|
5346
5663
|
return copyPlannerElement;
|
|
@@ -5413,8 +5730,8 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5413
5730
|
allElementsToCopy = result.elements;
|
|
5414
5731
|
result.backside;
|
|
5415
5732
|
} else {
|
|
5416
|
-
var _result = this.boxPlannerGrid.
|
|
5417
|
-
allElementsToCopy =
|
|
5733
|
+
var _result = this.boxPlannerGrid.getAllElementsToFillUp(elementId, copyInfo.copyIndex.x > 0 ? 'RIGHT' : 'LEFT');
|
|
5734
|
+
allElementsToCopy = _result.elements;
|
|
5418
5735
|
_result.backside;
|
|
5419
5736
|
}
|
|
5420
5737
|
}
|
|
@@ -5446,10 +5763,10 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5446
5763
|
}, {
|
|
5447
5764
|
key: "deletePlannerElement",
|
|
5448
5765
|
value: (function () {
|
|
5449
|
-
var _deletePlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
5766
|
+
var _deletePlannerElement = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(elementId, autoCorrectAVL_AVR, deletionType) {
|
|
5450
5767
|
var cellPos, newSelectedPos, doUpdateWholeLogic, _this$boxPlannerGrid$;
|
|
5451
|
-
return _regeneratorRuntime.wrap(function
|
|
5452
|
-
while (1) switch (
|
|
5768
|
+
return _regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
5769
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
5453
5770
|
case 0:
|
|
5454
5771
|
//TODO ÜBERLEGEN WIE MAN DAS JETZT RICHTET: BESSER WÄRE ES MAN GIBT DAS NÄCHSTE ZU SELECTIERENDE ELEMENT ID ZURÜCK
|
|
5455
5772
|
//var pos = this.boxPlannerGrid.getIndexInGridByElementId(elementId);
|
|
@@ -5483,29 +5800,29 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5483
5800
|
} else if (deletionType == 'STD_DONTUPDATE') doUpdateWholeLogic = false;
|
|
5484
5801
|
}
|
|
5485
5802
|
if (!doUpdateWholeLogic) {
|
|
5486
|
-
|
|
5803
|
+
_context6.next = 11;
|
|
5487
5804
|
break;
|
|
5488
5805
|
}
|
|
5489
5806
|
this.boxPlannerGrid.updateWorldPosOfElements();
|
|
5490
|
-
|
|
5807
|
+
_context6.next = 11;
|
|
5491
5808
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid);
|
|
5492
5809
|
case 11:
|
|
5493
5810
|
if (!this.boxPlannerGrid.getPlannerElementAtGridPos(newSelectedPos.col, newSelectedPos.row, newSelectedPos.backside)) {
|
|
5494
|
-
|
|
5811
|
+
_context6.next = 13;
|
|
5495
5812
|
break;
|
|
5496
5813
|
}
|
|
5497
|
-
return
|
|
5814
|
+
return _context6.abrupt("return", {
|
|
5498
5815
|
newElementToSelect: (_this$boxPlannerGrid$ = this.boxPlannerGrid.getPlannerElementAtGridPos(newSelectedPos.col, newSelectedPos.row, newSelectedPos.backside)) === null || _this$boxPlannerGrid$ === void 0 ? void 0 : _this$boxPlannerGrid$.getElementId()
|
|
5499
5816
|
});
|
|
5500
5817
|
case 13:
|
|
5501
|
-
return
|
|
5818
|
+
return _context6.abrupt("return", {});
|
|
5502
5819
|
case 14:
|
|
5503
5820
|
case "end":
|
|
5504
|
-
return
|
|
5821
|
+
return _context6.stop();
|
|
5505
5822
|
}
|
|
5506
|
-
},
|
|
5823
|
+
}, _callee6, this);
|
|
5507
5824
|
}));
|
|
5508
|
-
function deletePlannerElement(
|
|
5825
|
+
function deletePlannerElement(_x10, _x11, _x12) {
|
|
5509
5826
|
return _deletePlannerElement.apply(this, arguments);
|
|
5510
5827
|
}
|
|
5511
5828
|
return deletePlannerElement;
|
|
@@ -5585,11 +5902,11 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5585
5902
|
}, {
|
|
5586
5903
|
key: "updatePlanner",
|
|
5587
5904
|
value: (function () {
|
|
5588
|
-
var _updatePlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
5905
|
+
var _updatePlanner = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(changedOPT, targetElements) {
|
|
5589
5906
|
var _this2 = this;
|
|
5590
5907
|
var message, cellPos, elemToCheck, copyIndex, allElementsToCopy, _allElementsToCopy, allElementsInBackGrid, _allElementsInBackGrid, _message;
|
|
5591
|
-
return _regeneratorRuntime.wrap(function
|
|
5592
|
-
while (1) switch (
|
|
5908
|
+
return _regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
5909
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
5593
5910
|
case 0:
|
|
5594
5911
|
LOG.debug('BoxPlanner - configurationHasChanged ' + changedOPT);
|
|
5595
5912
|
targetElements === null || targetElements === void 0 || targetElements.forEach(function (e) {
|
|
@@ -5597,28 +5914,28 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5597
5914
|
return _this2.boxPlannerGrid.updateGridElementDimensions(e, (_this2$set$getArticle = _this2.set.getArticleByElementId(e)) === null || _this2$set$getArticle === void 0 ? void 0 : _this2$set$getArticle.plannerData);
|
|
5598
5915
|
});
|
|
5599
5916
|
if (!(changedOPT && targetElements && targetElements.length > 0 && changedOPT['OPTELEMENT'] && (changedOPT['OPTELEMENT'] == 'OPVECK_I' || changedOPT['OPTELEMENT'] == 'OPVECK_A'))) {
|
|
5600
|
-
|
|
5917
|
+
_context7.next = 19;
|
|
5601
5918
|
break;
|
|
5602
5919
|
}
|
|
5603
5920
|
if (!(targetElements.length > 1)) {
|
|
5604
|
-
|
|
5921
|
+
_context7.next = 10;
|
|
5605
5922
|
break;
|
|
5606
5923
|
}
|
|
5607
|
-
|
|
5924
|
+
_context7.next = 6;
|
|
5608
5925
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements, true);
|
|
5609
5926
|
case 6:
|
|
5610
|
-
message =
|
|
5927
|
+
message = _context7.sent;
|
|
5611
5928
|
if (!message) {
|
|
5612
|
-
|
|
5929
|
+
_context7.next = 9;
|
|
5613
5930
|
break;
|
|
5614
5931
|
}
|
|
5615
|
-
return
|
|
5932
|
+
return _context7.abrupt("return", {
|
|
5616
5933
|
doDeleteBackGrid: false,
|
|
5617
5934
|
elemIdsToDelete: [],
|
|
5618
5935
|
viewMessageCodex: message
|
|
5619
5936
|
});
|
|
5620
5937
|
case 9:
|
|
5621
|
-
return
|
|
5938
|
+
return _context7.abrupt("return", {
|
|
5622
5939
|
doDeleteBackGrid: false,
|
|
5623
5940
|
elemIdsToDelete: []
|
|
5624
5941
|
});
|
|
@@ -5630,7 +5947,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5630
5947
|
elemToCheck = this.boxPlannerGrid.getPlannerElementAtGridPos(cellPos.startColIndex, 0, false).getElementId();
|
|
5631
5948
|
}
|
|
5632
5949
|
if (!(!this.boxPlannerGrid.getElementHasLeftElement(elemToCheck) || !this.boxPlannerGrid.getElementHasRightElement(elemToCheck))) {
|
|
5633
|
-
|
|
5950
|
+
_context7.next = 19;
|
|
5634
5951
|
break;
|
|
5635
5952
|
}
|
|
5636
5953
|
//Someone has changed Eck innen or aussen. If the current eselected Element has no neighbor left or right copy neighbor
|
|
@@ -5651,7 +5968,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5651
5968
|
copyIndex: copyIndex,
|
|
5652
5969
|
copyType: 'BoxPlanner_COL'
|
|
5653
5970
|
});
|
|
5654
|
-
return
|
|
5971
|
+
return _context7.abrupt("return", {
|
|
5655
5972
|
doDeleteBackGrid: false,
|
|
5656
5973
|
elemIdsToDelete: [],
|
|
5657
5974
|
elementIdToCopy: allElementsToCopy,
|
|
@@ -5662,15 +5979,15 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5662
5979
|
});
|
|
5663
5980
|
case 19:
|
|
5664
5981
|
if (!(changedOPT && changedOPT['OPTDMOD'])) {
|
|
5665
|
-
|
|
5982
|
+
_context7.next = 34;
|
|
5666
5983
|
break;
|
|
5667
5984
|
}
|
|
5668
|
-
|
|
5669
|
-
|
|
5985
|
+
_context7.t0 = changedOPT['OPTDMOD'];
|
|
5986
|
+
_context7.next = _context7.t0 === 'OPVD_EIN' ? 23 : _context7.t0 === 'OPVD_AUS' ? 27 : 32;
|
|
5670
5987
|
break;
|
|
5671
5988
|
case 23:
|
|
5672
5989
|
if (this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5673
|
-
|
|
5990
|
+
_context7.next = 26;
|
|
5674
5991
|
break;
|
|
5675
5992
|
}
|
|
5676
5993
|
_allElementsToCopy = this.getPlannerElementsInfluencedByCopy(-1, {
|
|
@@ -5681,7 +5998,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5681
5998
|
},
|
|
5682
5999
|
copyType: 'BoxPlanner_backside'
|
|
5683
6000
|
});
|
|
5684
|
-
return
|
|
6001
|
+
return _context7.abrupt("return", {
|
|
5685
6002
|
doDeleteBackGrid: false,
|
|
5686
6003
|
elemIdsToDelete: [],
|
|
5687
6004
|
elementIdToCopy: _allElementsToCopy,
|
|
@@ -5689,18 +6006,18 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5689
6006
|
changedOPT: changedOPT
|
|
5690
6007
|
});
|
|
5691
6008
|
case 26:
|
|
5692
|
-
return
|
|
6009
|
+
return _context7.abrupt("break", 32);
|
|
5693
6010
|
case 27:
|
|
5694
6011
|
if (!this.boxPlannerGrid.getPlannerHasActiveBackside()) {
|
|
5695
|
-
|
|
6012
|
+
_context7.next = 31;
|
|
5696
6013
|
break;
|
|
5697
6014
|
}
|
|
5698
6015
|
allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
5699
6016
|
if (!(allElementsInBackGrid.length > 0)) {
|
|
5700
|
-
|
|
6017
|
+
_context7.next = 31;
|
|
5701
6018
|
break;
|
|
5702
6019
|
}
|
|
5703
|
-
return
|
|
6020
|
+
return _context7.abrupt("return", {
|
|
5704
6021
|
doDeleteBackGrid: true,
|
|
5705
6022
|
elemIdsToDelete: allElementsInBackGrid.map(function (element) {
|
|
5706
6023
|
return element.ElementId;
|
|
@@ -5709,22 +6026,22 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5709
6026
|
changedOPT: changedOPT
|
|
5710
6027
|
});
|
|
5711
6028
|
case 31:
|
|
5712
|
-
return
|
|
6029
|
+
return _context7.abrupt("break", 32);
|
|
5713
6030
|
case 32:
|
|
5714
|
-
|
|
6031
|
+
_context7.next = 48;
|
|
5715
6032
|
break;
|
|
5716
6033
|
case 34:
|
|
5717
6034
|
if (!(changedOPT && changedOPT['OPTFARBE_RAHMEN'] && changedOPT['OPTFARBE_RAHMEN'] == 'OPVSCHWARZ_MATT' && this.boxPlannerGrid.getPlannerHasActiveBackside())) {
|
|
5718
|
-
|
|
6035
|
+
_context7.next = 40;
|
|
5719
6036
|
break;
|
|
5720
6037
|
}
|
|
5721
6038
|
//If the double modul is active but the color is changed to black - disable double modul
|
|
5722
6039
|
_allElementsInBackGrid = this.boxPlannerGrid.getAllElementsInBackGrid();
|
|
5723
6040
|
if (!(_allElementsInBackGrid.length > 0)) {
|
|
5724
|
-
|
|
6041
|
+
_context7.next = 38;
|
|
5725
6042
|
break;
|
|
5726
6043
|
}
|
|
5727
|
-
return
|
|
6044
|
+
return _context7.abrupt("return", {
|
|
5728
6045
|
doDeleteBackGrid: true,
|
|
5729
6046
|
elemIdsToDelete: _allElementsInBackGrid.map(function (element) {
|
|
5730
6047
|
return element.ElementId;
|
|
@@ -5735,39 +6052,39 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5735
6052
|
viewMessageCodex: 'BOXPLAN_BLACKFRAME_INCOMPATIBLE_ELEMENT_WARNING'
|
|
5736
6053
|
});
|
|
5737
6054
|
case 38:
|
|
5738
|
-
|
|
6055
|
+
_context7.next = 48;
|
|
5739
6056
|
break;
|
|
5740
6057
|
case 40:
|
|
5741
|
-
|
|
6058
|
+
_context7.next = 42;
|
|
5742
6059
|
return this.constructionRulesHandler.updateOptionLogicBoxPlanner(this.boxPlannerGrid, changedOPT, targetElements);
|
|
5743
6060
|
case 42:
|
|
5744
|
-
_message =
|
|
6061
|
+
_message = _context7.sent;
|
|
5745
6062
|
if (!_message) {
|
|
5746
|
-
|
|
6063
|
+
_context7.next = 47;
|
|
5747
6064
|
break;
|
|
5748
6065
|
}
|
|
5749
|
-
return
|
|
6066
|
+
return _context7.abrupt("return", {
|
|
5750
6067
|
doDeleteBackGrid: false,
|
|
5751
6068
|
elemIdsToDelete: [],
|
|
5752
6069
|
viewMessageCodex: _message
|
|
5753
6070
|
});
|
|
5754
6071
|
case 47:
|
|
5755
|
-
return
|
|
6072
|
+
return _context7.abrupt("return", {
|
|
5756
6073
|
doDeleteBackGrid: false,
|
|
5757
6074
|
elemIdsToDelete: []
|
|
5758
6075
|
});
|
|
5759
6076
|
case 48:
|
|
5760
|
-
return
|
|
6077
|
+
return _context7.abrupt("return", {
|
|
5761
6078
|
doDeleteBackGrid: false,
|
|
5762
6079
|
elemIdsToDelete: []
|
|
5763
6080
|
});
|
|
5764
6081
|
case 49:
|
|
5765
6082
|
case "end":
|
|
5766
|
-
return
|
|
6083
|
+
return _context7.stop();
|
|
5767
6084
|
}
|
|
5768
|
-
},
|
|
6085
|
+
}, _callee7, this);
|
|
5769
6086
|
}));
|
|
5770
|
-
function updatePlanner(
|
|
6087
|
+
function updatePlanner(_x13, _x14) {
|
|
5771
6088
|
return _updatePlanner.apply(this, arguments);
|
|
5772
6089
|
}
|
|
5773
6090
|
return updatePlanner;
|
|
@@ -5896,7 +6213,7 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5896
6213
|
}, {
|
|
5897
6214
|
key: "getGeneralPlanningState",
|
|
5898
6215
|
value: function getGeneralPlanningState(selectedElementId) {
|
|
5899
|
-
return this.boxPlannerGrid.getGeneralPlanningState(selectedElementId);
|
|
6216
|
+
return this.boxPlannerGrid.getGeneralPlanningState(true, selectedElementId);
|
|
5900
6217
|
}
|
|
5901
6218
|
}]);
|
|
5902
6219
|
}();
|