@crystaldesign/web-planner-logic 25.9.0-beta.25 → 25.9.0-beta.27
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-b8188cde.js → DivaBoxPlanner-85159252.js} +289 -9
- package/build/cjs/{DivaStandardPlanner-73e843a1.js → DivaStandardPlanner-6a9cd95b.js} +12 -2
- package/build/cjs/{DoorPlanner-e3da519b.js → DoorPlanner-413dcaff.js} +1 -1
- package/build/cjs/{Host3DSignalR-52c14a85.js → Host3DSignalR-b0f70c09.js} +1 -1
- package/build/cjs/{LiviqueWWSHandler-d4075df8.js → LiviqueWWSHandler-4e007b2b.js} +1 -1
- package/build/cjs/{PfisterWWSHandler-23e1ae20.js → PfisterWWSHandler-2c8ab745.js} +1 -1
- package/build/cjs/{PlannerHandler2D-790c2479.js → PlannerHandler2D-058f8848.js} +1 -1
- package/build/cjs/{SeriousBasketHandler-38ae7a2c.js → SeriousBasketHandler-2902f941.js} +1 -1
- package/build/cjs/{ShelfPlanner-29a20e52.js → ShelfPlanner-a03ebb7e.js} +1 -1
- package/build/cjs/{StandardWWSHandler-f11fd736.js → StandardWWSHandler-a10b5f36.js} +1 -1
- package/build/cjs/{index-82a104be.js → index-1365547d.js} +75 -23
- package/build/cjs/index.js +1 -1
- package/build/esm/{DivaBoxPlanner-5717bee2.js → DivaBoxPlanner-a3707a14.js} +289 -9
- package/build/esm/{DivaStandardPlanner-961c6551.js → DivaStandardPlanner-1d2ec5ea.js} +12 -2
- package/build/esm/{DoorPlanner-31b5902f.js → DoorPlanner-d93adad0.js} +1 -1
- package/build/esm/{Host3DSignalR-6ba5b347.js → Host3DSignalR-ff687c1b.js} +1 -1
- package/build/esm/{LiviqueWWSHandler-94506207.js → LiviqueWWSHandler-5b7ed555.js} +1 -1
- package/build/esm/{PfisterWWSHandler-9122007b.js → PfisterWWSHandler-dcd8c2f6.js} +1 -1
- package/build/esm/{PlannerHandler2D-f3e34579.js → PlannerHandler2D-c2c5e9db.js} +1 -1
- package/build/esm/{SeriousBasketHandler-57c6546b.js → SeriousBasketHandler-ecb37275.js} +1 -1
- package/build/esm/{ShelfPlanner-a203036f.js → ShelfPlanner-db6452c8.js} +1 -1
- package/build/esm/{StandardWWSHandler-1bdae1d3.js → StandardWWSHandler-82fbcdd9.js} +1 -1
- package/build/esm/{index-c85dd075.js → index-c83078bc.js} +75 -23
- package/build/esm/index.js +1 -1
- package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts +2 -1
- package/build/types/web-planner-logic/src/interface/Planner/IDivaPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +6 -1
- package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +6 -1
- 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 +2 -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 +2 -1
- package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/DivaBoxPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +2 -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 +2 -1
- package/build/types/web-planner-logic/src/logic/Planner/DivaStandardPlanner.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Planner/Rendering/Rendering.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +2 -1
- package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
- package/build/types/web-planner-logic/src/model/Planner/BoxPlannerData.d.ts +2 -2
- 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 +78 -0
- package/build/types/web-planner-logic/src/model/Planner/PlannerInteractionData.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -5,10 +5,10 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-1365547d.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
11
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
11
|
+
var PlannerHandler2D = require('./PlannerHandler2D-058f8848.js');
|
|
12
12
|
require('@babel/runtime/helpers/slicedToArray');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('axios');
|
|
@@ -1927,6 +1927,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1927
1927
|
//DivaUtils.LOG.log("Update Box Planner Logic. SetOptionDoShow: elementID: " + elementId + "; Option: " + option);
|
|
1928
1928
|
|
|
1929
1929
|
var curOptVisibilityInfo = this.constructionRules.optionsVisibilityInfo[option];
|
|
1930
|
+
if (!curOptVisibilityInfo) return;
|
|
1930
1931
|
//curArticle[option].val = curOptVisibilityInfo.doShow;
|
|
1931
1932
|
//curArticle[option].doShow = "1";
|
|
1932
1933
|
if (curOptVisibilityInfo.doShow != undefined) {
|
|
@@ -1959,8 +1960,9 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
1959
1960
|
var _optionHandler$get3, _this$hideOptionsForC2;
|
|
1960
1961
|
// LOG.log("Update Box Planner Logic. SetOptionDoHide: elementId: " + elementId + "; Option: " + option);
|
|
1961
1962
|
var curOptVisibilityInfo = this.constructionRules.optionsVisibilityInfo[option];
|
|
1963
|
+
if (!curOptVisibilityInfo) return;
|
|
1962
1964
|
if (!optionHandler.has(elementId)) optionHandler.set(elementId, new Map());
|
|
1963
|
-
(_optionHandler$get3 = optionHandler.get(elementId)) === null || _optionHandler$get3 === void 0 || _optionHandler$get3.set(option, curOptVisibilityInfo.doHide);
|
|
1965
|
+
(_optionHandler$get3 = optionHandler.get(elementId)) === null || _optionHandler$get3 === void 0 || _optionHandler$get3.set(option, curOptVisibilityInfo === null || curOptVisibilityInfo === void 0 ? void 0 : curOptVisibilityInfo.doHide);
|
|
1964
1966
|
if (!this.hideOptionsForConstruction.has(elementId)) this.hideOptionsForConstruction.set(elementId, []);
|
|
1965
1967
|
(_this$hideOptionsForC2 = this.hideOptionsForConstruction.get(elementId)) === null || _this$hideOptionsForC2 === void 0 || _this$hideOptionsForC2.push(option);
|
|
1966
1968
|
}
|
|
@@ -2609,6 +2611,27 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2609
2611
|
}
|
|
2610
2612
|
return undefined;
|
|
2611
2613
|
}
|
|
2614
|
+
}, {
|
|
2615
|
+
key: "correctOptionsInfluencedByDimensions",
|
|
2616
|
+
value: function correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler) {
|
|
2617
|
+
var _this2 = this;
|
|
2618
|
+
if (!this.constructionRules.optionsInfluencedByDimensions) return;
|
|
2619
|
+
var boxPlannerSize = boxPlannerGrid.getSizeOfWholeSet(false);
|
|
2620
|
+
var allElements = boxPlannerGrid.getAllElementsInFrontGrid();
|
|
2621
|
+
this.constructionRules.optionsInfluencedByDimensions.forEach(function (dimRule) {
|
|
2622
|
+
var isOver = false;
|
|
2623
|
+
if (dimRule.dimension.toLower() == 'height' && boxPlannerSize.y >= dimRule.dimensionLimit) isOver = true;
|
|
2624
|
+
if (dimRule.dimension.toLower() == 'width' && boxPlannerSize.x >= dimRule.dimensionLimit) isOver = true;
|
|
2625
|
+
if (dimRule.dimension.toLower() == 'depth' && boxPlannerSize.z >= dimRule.dimensionLimit) isOver = true;
|
|
2626
|
+
allElements.forEach(function (element) {
|
|
2627
|
+
if (isOver) {
|
|
2628
|
+
if (dimRule.higherLimit.toLower() == 'doshow') _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);else if (dimRule.higherLimit.toLower() == 'dohide') _this2.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2629
|
+
} else {
|
|
2630
|
+
if (dimRule.lowerLimit.toLower() == 'doshow') _this2.setOptionDoShow(element.ElementId, dimRule.option, optionHandler);else if (dimRule.lowerLimit.toLower() == 'dohide') _this2.setOptionDoHide(element.ElementId, dimRule.option, optionHandler);
|
|
2631
|
+
}
|
|
2632
|
+
});
|
|
2633
|
+
});
|
|
2634
|
+
}
|
|
2612
2635
|
}, {
|
|
2613
2636
|
key: "correctLadder",
|
|
2614
2637
|
value: function correctLadder(boxPlannerGrid, optionHandler) {
|
|
@@ -2666,6 +2689,26 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
2666
2689
|
}
|
|
2667
2690
|
}
|
|
2668
2691
|
}
|
|
2692
|
+
}, {
|
|
2693
|
+
key: "correctCoverPlate",
|
|
2694
|
+
value: function correctCoverPlate(boxPlannerGrid, optionHandler) {
|
|
2695
|
+
var _this3 = this;
|
|
2696
|
+
if (!this.constructionRules.coverPlateRule) return;
|
|
2697
|
+
if (this.constructionRules.coverPlateRule.onHighestElementsOnly) return; // System4 not handled by this logic yet
|
|
2698
|
+
|
|
2699
|
+
var elementsPerSeries = boxPlannerGrid.getHighestElementsPerSeries();
|
|
2700
|
+
elementsPerSeries.forEach(function (serie) {
|
|
2701
|
+
var seriesWidth = 0;
|
|
2702
|
+
serie.forEach(function (element) {
|
|
2703
|
+
var _element$Width;
|
|
2704
|
+
return seriesWidth += (_element$Width = element.Width) !== null && _element$Width !== void 0 ? _element$Width : 0;
|
|
2705
|
+
});
|
|
2706
|
+
var opv = _this3.constructionRules.seriesWidthToPlateOpv.find(function (stp) {
|
|
2707
|
+
return stp.limit > seriesWidth;
|
|
2708
|
+
});
|
|
2709
|
+
_this3.setOptionValue(serie[0].ElementId, _this3.constructionRules.optABD, opv, optionHandler);
|
|
2710
|
+
});
|
|
2711
|
+
}
|
|
2669
2712
|
|
|
2670
2713
|
//Diese Funktion korrigiert alle Optionen, die auf einer Serie von Artikeln bestehen . Beispiel Abdeckplatte: Hier muss man alle horizontale zusammenhängende Elemente finden, die ganz oben sind.
|
|
2671
2714
|
//
|
|
@@ -3022,6 +3065,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3022
3065
|
this.correctBottom(boxPlannerGrid, optionHandler, false);
|
|
3023
3066
|
if (boxPlannerGrid.getPlannerHasActiveBackside()) this.correctBottom(boxPlannerGrid, optionHandler, true);
|
|
3024
3067
|
this.correctSeries(boxPlannerGrid, optionHandler);
|
|
3068
|
+
this.correctCoverPlate(boxPlannerGrid, optionHandler);
|
|
3025
3069
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
3026
3070
|
for (j = 0; j < boxPlannerGrid.getRowCount(i, false); j++) {
|
|
3027
3071
|
this.correctSimpleOpt(i, j, boxPlannerGrid, optionHandler, false);
|
|
@@ -3049,6 +3093,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3049
3093
|
}
|
|
3050
3094
|
}
|
|
3051
3095
|
this.correctLadder(boxPlannerGrid, optionHandler);
|
|
3096
|
+
this.correctOptionsInfluencedByDimensions(boxPlannerGrid, optionHandler);
|
|
3052
3097
|
this.partlistHelper.calculateKnots(boxPlannerGrid, optionHandler);
|
|
3053
3098
|
this.partlistHelper.calculateRahmen(boxPlannerGrid, optionHandler);
|
|
3054
3099
|
for (i = 0; i < boxPlannerGrid.getColumnCount(); i++) {
|
|
@@ -3057,13 +3102,13 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
|
|
|
3057
3102
|
}
|
|
3058
3103
|
}
|
|
3059
3104
|
doChangeRetailArticleNumbers = this.doChangeRetailArticleNumbers(boxPlannerGrid, optionHandler);
|
|
3060
|
-
_context.next =
|
|
3105
|
+
_context.next = 27;
|
|
3061
3106
|
return this.updateCfgValuesByPlanner(optionHandler, undefined, this.constructionRules.partlistRules.bundleRules, doChangeRetailArticleNumbers);
|
|
3062
|
-
case
|
|
3107
|
+
case 27:
|
|
3063
3108
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting Option Values of all Articles: ' + (new Date().getTime() - startTime));
|
|
3064
3109
|
LOG$2.debug('BoxPlanner updateOptionLogic - Duration after setting updating configurator: ' + (new Date().getTime() - startTime));
|
|
3065
3110
|
return _context.abrupt("return", resultMessage);
|
|
3066
|
-
case
|
|
3111
|
+
case 30:
|
|
3067
3112
|
case "end":
|
|
3068
3113
|
return _context.stop();
|
|
3069
3114
|
}
|
|
@@ -3976,6 +4021,27 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
3976
4021
|
return new index.Vector3(width, height, depth);
|
|
3977
4022
|
}
|
|
3978
4023
|
|
|
4024
|
+
/*
|
|
4025
|
+
Returns an Array with all Highest Elements in which is an Array of the connected side Elements.
|
|
4026
|
+
Used for cover Plate Rule, to know on which elements
|
|
4027
|
+
*Only for frontgrid
|
|
4028
|
+
*/
|
|
4029
|
+
}, {
|
|
4030
|
+
key: "getHighestElementsPerSeries",
|
|
4031
|
+
value: function getHighestElementsPerSeries() {
|
|
4032
|
+
if (this.hasActiveBackside) throw new Error('this function is doesnt implement the backside logic (yet)');
|
|
4033
|
+
var result = [];
|
|
4034
|
+
var lastHeight = -1;
|
|
4035
|
+
for (var idx = 0; idx < this.getColumnCount(); idx++) {
|
|
4036
|
+
var height = this.getRowCount(idx, false);
|
|
4037
|
+
if (height == lastHeight) {
|
|
4038
|
+
result[result.length].push(this.getPlannerElementAtGridPos(idx, height - 1, false));
|
|
4039
|
+
}
|
|
4040
|
+
lastHeight = height;
|
|
4041
|
+
}
|
|
4042
|
+
return result;
|
|
4043
|
+
}
|
|
4044
|
+
|
|
3979
4045
|
/**
|
|
3980
4046
|
* Returns all other elements in the grid that are in the same row as the elementId from the parameter. It only returns the elements on along the startRowIndex
|
|
3981
4047
|
* Excample:
|
|
@@ -4675,10 +4741,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4675
4741
|
for (var i = 0; i < allElements.length; i++) {
|
|
4676
4742
|
var element = allElements[i];
|
|
4677
4743
|
var elementCells = this.getCellsInGridByElementId(element.getElementId());
|
|
4678
|
-
elementCells.backside ? this.backGrid : this.frontGrid;
|
|
4679
4744
|
var elementLocation = this.createLocationInformation(element, elementCells.backside, elementCells.cells, elementCells.startColIndex, elementCells.startRowIndex, elementCells.colCount, elementCells.rowCount);
|
|
4680
4745
|
var planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4681
|
-
var
|
|
4746
|
+
var planningRightLocation = this.getFreePlanningLocation(element.getElementId(), 'RIGHT');
|
|
4682
4747
|
var planningTopLocation = this.getFreePlanningLocation(element.getElementId(), 'TOP');
|
|
4683
4748
|
var hasTopElements = this.getElementHasTopElement(element.getElementId());
|
|
4684
4749
|
var moveLocations = [];
|
|
@@ -4692,7 +4757,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4692
4757
|
availablePlanningLocations: {
|
|
4693
4758
|
availableBoxPlannerCellsLeft: planningLeftLocation,
|
|
4694
4759
|
availableBoxPlannerCellsTop: planningTopLocation,
|
|
4695
|
-
availableBoxPlannerCellsRight:
|
|
4760
|
+
availableBoxPlannerCellsRight: planningRightLocation
|
|
4696
4761
|
},
|
|
4697
4762
|
availableMovingLocations: moveLocations
|
|
4698
4763
|
};
|
|
@@ -4700,6 +4765,216 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
|
|
|
4700
4765
|
}
|
|
4701
4766
|
return plannerInteractionInfo;
|
|
4702
4767
|
}
|
|
4768
|
+
}, {
|
|
4769
|
+
key: "getGeneralPlanningState",
|
|
4770
|
+
value: function getGeneralPlanningState(selectedElementId) {
|
|
4771
|
+
var matrix = [];
|
|
4772
|
+
var selectedElement = undefined;
|
|
4773
|
+
var plannedElements = Array.from(this.plannerElements.values()).map(function (p) {
|
|
4774
|
+
return {
|
|
4775
|
+
basketId: p.getBasketId(),
|
|
4776
|
+
elementId: p.getElementId(),
|
|
4777
|
+
articleCodex: p.getArticleCodex(),
|
|
4778
|
+
size: {
|
|
4779
|
+
width: p.getWidth(),
|
|
4780
|
+
height: p.getHeight(),
|
|
4781
|
+
depth: p.getDepth()
|
|
4782
|
+
},
|
|
4783
|
+
area: {
|
|
4784
|
+
fromX: undefined,
|
|
4785
|
+
toX: undefined,
|
|
4786
|
+
fromY: undefined,
|
|
4787
|
+
toY: undefined
|
|
4788
|
+
}
|
|
4789
|
+
};
|
|
4790
|
+
});
|
|
4791
|
+
for (var i = 0; i < this.frontGrid.length; i++) {
|
|
4792
|
+
matrix.push([]);
|
|
4793
|
+
var frontGridRow = this.frontGrid[i];
|
|
4794
|
+
var _loop = function _loop() {
|
|
4795
|
+
var cell = frontGridRow[j];
|
|
4796
|
+
if (cell) {
|
|
4797
|
+
var plannedElement = plannedElements.find(function (p) {
|
|
4798
|
+
return p.elementId === cell.plannerElementId;
|
|
4799
|
+
});
|
|
4800
|
+
if (plannedElement) {
|
|
4801
|
+
if (plannedElement.area.fromX === undefined || plannedElement.area.fromX > cell.index.x) plannedElement.area.fromX = cell.index.x;
|
|
4802
|
+
if (plannedElement.area.toX === undefined || plannedElement.area.toX < cell.index.x) plannedElement.area.toX = cell.index.x;
|
|
4803
|
+
if (plannedElement.area.fromY === undefined || plannedElement.area.fromY > cell.index.y) plannedElement.area.fromY = cell.index.y;
|
|
4804
|
+
if (plannedElement.area.toY === undefined || plannedElement.area.toY < cell.index.y) plannedElement.area.toY = cell.index.y;
|
|
4805
|
+
}
|
|
4806
|
+
matrix[i].push({
|
|
4807
|
+
index: cell.index,
|
|
4808
|
+
plannedElement: plannedElement
|
|
4809
|
+
});
|
|
4810
|
+
}
|
|
4811
|
+
};
|
|
4812
|
+
for (var j = 0; j < frontGridRow.length; j++) {
|
|
4813
|
+
_loop();
|
|
4814
|
+
}
|
|
4815
|
+
}
|
|
4816
|
+
|
|
4817
|
+
// Fill matrix rows to equal length
|
|
4818
|
+
var maxLength = Math.max.apply(Math, _toConsumableArray__default["default"](matrix.map(function (row) {
|
|
4819
|
+
return row.length;
|
|
4820
|
+
})));
|
|
4821
|
+
matrix.forEach(function (row) {
|
|
4822
|
+
while (row.length < maxLength) {
|
|
4823
|
+
var _row$;
|
|
4824
|
+
var lastCell = row[row.length - 1];
|
|
4825
|
+
var newY = lastCell ? lastCell.index.y + 1 : 0;
|
|
4826
|
+
row.push({
|
|
4827
|
+
index: new index.Vector2(((_row$ = row[0]) === null || _row$ === void 0 ? void 0 : _row$.index.x) || 0, newY),
|
|
4828
|
+
plannedElement: undefined
|
|
4829
|
+
});
|
|
4830
|
+
}
|
|
4831
|
+
});
|
|
4832
|
+
var selectedPlannedElement = selectedElementId ? plannedElements.find(function (p) {
|
|
4833
|
+
return p.elementId === selectedElementId;
|
|
4834
|
+
}) : undefined;
|
|
4835
|
+
if (selectedPlannedElement) {
|
|
4836
|
+
//add the free let planningLeftLocation = this.getFreePlanningLocation(element.getElementId(), 'LEFT');
|
|
4837
|
+
var planningLeftLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'LEFT');
|
|
4838
|
+
var planningRightLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'RIGHT');
|
|
4839
|
+
var planningTopLocation = this.getFreePlanningLocation(selectedPlannedElement.elementId, 'TOP');
|
|
4840
|
+
var fixedPositionRules = [];
|
|
4841
|
+
if (planningLeftLocation) {
|
|
4842
|
+
this.addFreeCellsToMatrix(matrix, planningLeftLocation.cells, fixedPositionRules);
|
|
4843
|
+
}
|
|
4844
|
+
if (planningRightLocation) {
|
|
4845
|
+
this.addFreeCellsToMatrix(matrix, planningRightLocation.cells, fixedPositionRules);
|
|
4846
|
+
}
|
|
4847
|
+
if (planningTopLocation) {
|
|
4848
|
+
this.addFreeCellsToMatrix(matrix, planningTopLocation.cells, fixedPositionRules);
|
|
4849
|
+
}
|
|
4850
|
+
selectedElement = {
|
|
4851
|
+
articleCodex: selectedPlannedElement.articleCodex,
|
|
4852
|
+
size: selectedPlannedElement.size,
|
|
4853
|
+
gridSpace: {
|
|
4854
|
+
rows: selectedPlannedElement.area.toY - selectedPlannedElement.area.fromY + 1,
|
|
4855
|
+
colums: selectedPlannedElement.area.toX - selectedPlannedElement.area.fromX + 1
|
|
4856
|
+
},
|
|
4857
|
+
rules: fixedPositionRules,
|
|
4858
|
+
elementId: selectedElementId
|
|
4859
|
+
};
|
|
4860
|
+
}
|
|
4861
|
+
return {
|
|
4862
|
+
grids: [{
|
|
4863
|
+
index: 0,
|
|
4864
|
+
// boxplanner usecase grid index always 0
|
|
4865
|
+
rowSizes: this.getRowSizes(matrix, selectedElement),
|
|
4866
|
+
columnSizes: this.getColumnSizes(matrix, selectedElement),
|
|
4867
|
+
matrix: matrix
|
|
4868
|
+
}],
|
|
4869
|
+
selectedElement: selectedElement
|
|
4870
|
+
};
|
|
4871
|
+
}
|
|
4872
|
+
}, {
|
|
4873
|
+
key: "getRowSizes",
|
|
4874
|
+
value: function getRowSizes(matrix, selectedElement) {
|
|
4875
|
+
if (this.getForceSingleCellPerElement()) {
|
|
4876
|
+
//system 4 useacse
|
|
4877
|
+
var totalColCount = matrix[0].length;
|
|
4878
|
+
var colSizes = Array(totalColCount).fill(-1);
|
|
4879
|
+
var _loop2 = function _loop2(i) {
|
|
4880
|
+
var _matrix$find;
|
|
4881
|
+
var cell = (_matrix$find = matrix.find(function (row) {
|
|
4882
|
+
return row[i].plannedElement;
|
|
4883
|
+
})) === null || _matrix$find === void 0 ? void 0 : _matrix$find[i];
|
|
4884
|
+
if (cell !== null && cell !== void 0 && cell.plannedElement) {
|
|
4885
|
+
colSizes[i] = cell.plannedElement.size.height;
|
|
4886
|
+
} else if (selectedElement) {
|
|
4887
|
+
colSizes[i] = selectedElement.size.height;
|
|
4888
|
+
}
|
|
4889
|
+
if (!colSizes.includes(-1)) return 1; // break
|
|
4890
|
+
};
|
|
4891
|
+
for (var i = 0; i < totalColCount; i++) {
|
|
4892
|
+
if (_loop2(i)) break;
|
|
4893
|
+
}
|
|
4894
|
+
if (colSizes.includes(-1)) throw new Error('Column sizes are not set');
|
|
4895
|
+
return colSizes;
|
|
4896
|
+
} else {
|
|
4897
|
+
//setup usecase need to be a constant value
|
|
4898
|
+
return 15;
|
|
4899
|
+
}
|
|
4900
|
+
}
|
|
4901
|
+
}, {
|
|
4902
|
+
key: "getColumnSizes",
|
|
4903
|
+
value: function getColumnSizes(matrix, selectedElement) {
|
|
4904
|
+
if (this.getForceSingleCellPerElement()) {
|
|
4905
|
+
//system 4 useacse
|
|
4906
|
+
var totalRowsCount = matrix.length;
|
|
4907
|
+
var rowRowSizes = Array(totalRowsCount).fill(-1);
|
|
4908
|
+
for (var i = 0; i < totalRowsCount; i++) {
|
|
4909
|
+
var row = matrix[i];
|
|
4910
|
+
var cell = row.find(function (cell) {
|
|
4911
|
+
return cell.plannedElement;
|
|
4912
|
+
});
|
|
4913
|
+
if (cell !== null && cell !== void 0 && cell.plannedElement) {
|
|
4914
|
+
rowRowSizes[i] = cell.plannedElement.size.width;
|
|
4915
|
+
} else if (selectedElement) {
|
|
4916
|
+
rowRowSizes[i] = selectedElement.size.width;
|
|
4917
|
+
}
|
|
4918
|
+
if (!rowRowSizes.includes(-1)) break;
|
|
4919
|
+
}
|
|
4920
|
+
if (rowRowSizes.includes(-1)) throw new Error('Row sizes are not set');
|
|
4921
|
+
return rowRowSizes;
|
|
4922
|
+
} else {
|
|
4923
|
+
//setup usecase need to be a constant value
|
|
4924
|
+
return 15;
|
|
4925
|
+
}
|
|
4926
|
+
}
|
|
4927
|
+
}, {
|
|
4928
|
+
key: "addFreeCellsToMatrix",
|
|
4929
|
+
value: function addFreeCellsToMatrix(matrix, cells, fixedPositionRules) {
|
|
4930
|
+
cells.forEach(function (cell) {
|
|
4931
|
+
var x = cell.index.x;
|
|
4932
|
+
var y = cell.index.y;
|
|
4933
|
+
var row = matrix.find(function (row) {
|
|
4934
|
+
return row.find(function (cell) {
|
|
4935
|
+
return cell.index.x === x;
|
|
4936
|
+
});
|
|
4937
|
+
});
|
|
4938
|
+
if (!row) {
|
|
4939
|
+
var newColumn = [];
|
|
4940
|
+
for (var i = 0; i < matrix[0].length; i++) {
|
|
4941
|
+
newColumn.push({
|
|
4942
|
+
index: new index.Vector2(x, i),
|
|
4943
|
+
plannedElement: undefined
|
|
4944
|
+
});
|
|
4945
|
+
}
|
|
4946
|
+
if (matrix[0][0].index.x > x) matrix.unshift(newColumn);else matrix.push(newColumn);
|
|
4947
|
+
}
|
|
4948
|
+
var column = matrix.find(function (row) {
|
|
4949
|
+
return row.find(function (cell) {
|
|
4950
|
+
return cell.index.y === y;
|
|
4951
|
+
});
|
|
4952
|
+
});
|
|
4953
|
+
if (!column) {
|
|
4954
|
+
matrix.map(function (row) {
|
|
4955
|
+
var _row$2;
|
|
4956
|
+
return row.push({
|
|
4957
|
+
index: new index.Vector2(((_row$2 = row[0]) === null || _row$2 === void 0 ? void 0 : _row$2.index.x) || 0, y),
|
|
4958
|
+
plannedElement: undefined
|
|
4959
|
+
});
|
|
4960
|
+
});
|
|
4961
|
+
}
|
|
4962
|
+
});
|
|
4963
|
+
fixedPositionRules.push({
|
|
4964
|
+
type: 'FixedPositon',
|
|
4965
|
+
grids: [{
|
|
4966
|
+
gridIndex: 0,
|
|
4967
|
+
places: [{
|
|
4968
|
+
lowestX: Math.min.apply(Math, _toConsumableArray__default["default"](cells.map(function (cell) {
|
|
4969
|
+
return cell.index.x;
|
|
4970
|
+
}))),
|
|
4971
|
+
lowestY: Math.min.apply(Math, _toConsumableArray__default["default"](cells.map(function (cell) {
|
|
4972
|
+
return cell.index.y;
|
|
4973
|
+
})))
|
|
4974
|
+
}]
|
|
4975
|
+
}]
|
|
4976
|
+
});
|
|
4977
|
+
}
|
|
4703
4978
|
}]);
|
|
4704
4979
|
}();
|
|
4705
4980
|
|
|
@@ -5572,6 +5847,11 @@ var DivaBoxPlanner = /*#__PURE__*/function () {
|
|
|
5572
5847
|
value: function getPlannerInteractionInformation() {
|
|
5573
5848
|
return this.boxPlannerGrid.getPlannerInteractionInformation();
|
|
5574
5849
|
}
|
|
5850
|
+
}, {
|
|
5851
|
+
key: "getGeneralPlanningState",
|
|
5852
|
+
value: function getGeneralPlanningState(selectedElementId) {
|
|
5853
|
+
return this.boxPlannerGrid.getGeneralPlanningState(selectedElementId);
|
|
5854
|
+
}
|
|
5575
5855
|
}]);
|
|
5576
5856
|
}();
|
|
5577
5857
|
_defineProperty__default["default"](DivaBoxPlanner, "plannerType", 'BOX');
|
|
@@ -5,8 +5,8 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
9
|
-
var PlannerHandler2D = require('./PlannerHandler2D-
|
|
8
|
+
var index = require('./index-1365547d.js');
|
|
9
|
+
var PlannerHandler2D = require('./PlannerHandler2D-058f8848.js');
|
|
10
10
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -1838,6 +1838,16 @@ var DivaStandardPlanner = /*#__PURE__*/function () {
|
|
|
1838
1838
|
boxPlannerInteractionInformationPerElement: new Map()
|
|
1839
1839
|
};
|
|
1840
1840
|
}
|
|
1841
|
+
}, {
|
|
1842
|
+
key: "getGeneralPlanningState",
|
|
1843
|
+
value: function getGeneralPlanningState(selectedElementId) {
|
|
1844
|
+
LOG.error(new DivaUtils.DivaError('The function getGeneralPlanningState is not implemented yet for standard planner. Dont call it or ask roadmap when its its turn', {
|
|
1845
|
+
code: 'WC_0012'
|
|
1846
|
+
}));
|
|
1847
|
+
return {
|
|
1848
|
+
grids: []
|
|
1849
|
+
};
|
|
1850
|
+
}
|
|
1841
1851
|
}]);
|
|
1842
1852
|
}();
|
|
1843
1853
|
_defineProperty__default["default"](DivaStandardPlanner, "plannerType", 'STD');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
require('./index-
|
|
6
|
+
require('./index-1365547d.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -5,7 +5,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
5
5
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
6
6
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var index = require('./index-
|
|
8
|
+
var index = require('./index-1365547d.js');
|
|
9
9
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
10
10
|
var signalr = require('@microsoft/signalr');
|
|
11
11
|
var io = require('socket.io-client');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-1365547d.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
var index = require('./index-
|
|
5
|
+
var index = require('./index-1365547d.js');
|
|
6
6
|
var basketModel = require('@crystaldesign/basket-model');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-1365547d.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
9
9
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var index = require('./index-
|
|
6
|
+
var index = require('./index-1365547d.js');
|
|
7
7
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
8
8
|
require('@babel/runtime/helpers/slicedToArray');
|
|
9
9
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
@@ -6,7 +6,7 @@ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
|
6
6
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
7
7
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
8
8
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
9
|
-
var index = require('./index-
|
|
9
|
+
var index = require('./index-1365547d.js');
|
|
10
10
|
var DivaUtils = require('@crystaldesign/diva-utils');
|
|
11
11
|
require('@babel/runtime/helpers/slicedToArray');
|
|
12
12
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
|
|
4
4
|
var _createClass = require('@babel/runtime/helpers/createClass');
|
|
5
|
-
require('./index-
|
|
5
|
+
require('./index-1365547d.js');
|
|
6
6
|
require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
8
|
require('@babel/runtime/helpers/defineProperty');
|