@crystaldesign/web-planner-logic 26.8.0-beta.2 → 26.8.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/build/cjs/{DivaBoxPlanner-2e378a1a.js → DivaBoxPlanner-16d920f2.js} +68 -58
  2. package/build/cjs/{DivaStandardPlanner-0a6e8f4a.js → DivaStandardPlanner-b4e89cab.js} +2 -2
  3. package/build/cjs/{DoorPlanner-0ebcb060.js → DoorPlanner-1438da9c.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-653cebc1.js → Host3DSignalR-530ac879.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-9259293e.js → LiviqueWWSHandler-e865b385.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-26c807f9.js → PfisterWWSHandler-d85f9680.js} +10 -1
  7. package/build/cjs/{PlannerHandler2D-1b28c82a.js → PlannerHandler2D-62352f6b.js} +24 -9
  8. package/build/cjs/{SeriousBasketHandler-e3f8040a.js → SeriousBasketHandler-1dc4eb5a.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-58edfc01.js → ShelfPlanner-9df60123.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-6faba9e9.js → StandardWWSHandler-77bbb1fb.js} +1 -1
  11. package/build/cjs/{index-c1566d30.js → index-65181912.js} +213 -162
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-e8f7c4cd.js → DivaBoxPlanner-210c2ceb.js} +68 -58
  14. package/build/esm/{DivaStandardPlanner-21c4c0ca.js → DivaStandardPlanner-d82eb446.js} +2 -2
  15. package/build/esm/{DoorPlanner-a4e3a380.js → DoorPlanner-97f65d89.js} +1 -1
  16. package/build/esm/{Host3DSignalR-ed1240f2.js → Host3DSignalR-06b4d30b.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-fc0597c3.js → LiviqueWWSHandler-b488cf8e.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-a92fb5ca.js → PfisterWWSHandler-9b820585.js} +10 -1
  19. package/build/esm/{PlannerHandler2D-c52912b0.js → PlannerHandler2D-d8217417.js} +24 -9
  20. package/build/esm/{SeriousBasketHandler-18db24f8.js → SeriousBasketHandler-342998a5.js} +1 -1
  21. package/build/esm/{ShelfPlanner-354da88b.js → ShelfPlanner-e66b37ab.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-46f9434e.js → StandardWWSHandler-1d9ae8f7.js} +1 -1
  23. package/build/esm/{index-18f1d8c6.js → index-d51f2804.js} +213 -162
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +1 -0
  26. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +1 -0
  28. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +1 -0
  30. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/logic/Article/Engine/DivaArticleEngine.d.ts.map +1 -1
  32. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/logic/Basket/PfisterWWSHandler.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts +1 -0
  35. package/build/types/web-planner-logic/src/logic/ConfigTree/SummaryHandler.d.ts.map +1 -1
  36. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts +5 -0
  37. package/build/types/web-planner-logic/src/logic/DivaApiHandler.d.ts.map +1 -1
  38. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts +1 -0
  40. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/BoxPlannerGrid.d.ts.map +1 -1
  41. package/build/types/web-planner-logic/src/logic/Planner/BoxPlanner/ConstructionRulesHandler.d.ts.map +1 -1
  42. package/build/types/web-planner-logic/src/logic/Planner/PlannerUtils/DockingPointHandler.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +1 -0
  44. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  46. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +9 -0
  47. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  48. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  49. package/package.json +2 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-c1566d30.js');
5
+ var index = require('./index-65181912.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/classCallCheck');
@@ -3,11 +3,11 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
3
3
  import _createClass from '@babel/runtime/helpers/createClass';
4
4
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-18f1d8c6.js';
6
+ import { c as Vector2, V as Vector3, P as PlannerElementData, B as BoundingBox } from './index-d51f2804.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
9
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
10
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-c52912b0.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d8217417.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
13
  import '@crystaldesign/basket-model';
@@ -2830,6 +2830,7 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2830
2830
  var seriesWidthToPlateOpv = coverPlateRule.seriesWidthToPlateOpv;
2831
2831
 
2832
2832
  // default => set all to ohne
2833
+
2833
2834
  serie.forEach(function (element) {
2834
2835
  var _element$size$width;
2835
2836
  seriesWidth += (_element$size$width = element.size.width) !== null && _element$size$width !== void 0 ? _element$size$width : 0;
@@ -2839,37 +2840,30 @@ var ConstructionRulesHandler = /*#__PURE__*/function () {
2839
2840
  _this5.setOptionValue(element.elementId, coverPlateRule.optABD, 'OPVOHNE', optionHandler);
2840
2841
  });
2841
2842
  var firstUncoveredElement = serie[0];
2842
- var _loop = function _loop() {
2843
- var opv = seriesWidthToPlateOpv.findLast(function (stp) {
2844
- // is a clean element ending
2845
- var helperWidth = 0;
2846
- var isClean = false;
2847
- serie.forEach(function (element) {
2848
- var _element$size$width2;
2849
- helperWidth += (_element$size$width2 = element.size.width) !== null && _element$size$width2 !== void 0 ? _element$size$width2 : 0;
2850
- if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
2851
- });
2852
- if (stp.limit <= seriesWidth && isClean) return true;
2853
- return false;
2854
- });
2855
- if (!opv) return {
2856
- v: void 0
2857
- };
2858
- _this5.setOptionValue(firstUncoveredElement.elementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2843
+ var elementCoverage = firstUncoveredElement.area.fromX;
2844
+ while (seriesWidth != 0) {
2845
+ var _boxPlannerGrid$GridS;
2846
+ var opv = seriesWidthToPlateOpv.findLast(function (stp) {
2847
+ // is a clean element ending
2859
2848
  var helperWidth = 0;
2860
- firstUncoveredElement = serie.find(function (e) {
2861
- var _e$size$width;
2862
- helperWidth += (_e$size$width = e.size.width) !== null && _e$size$width !== void 0 ? _e$size$width : 0;
2863
- if (helperWidth > opv.limit) return true;
2864
- return false;
2849
+ var isClean = false;
2850
+ serie.forEach(function (element) {
2851
+ var _element$size$width2;
2852
+ helperWidth += (_element$size$width2 = element.size.width) !== null && _element$size$width2 !== void 0 ? _element$size$width2 : 0;
2853
+ if (Math.abs(helperWidth - stp.limit) < 1) isClean = true;
2865
2854
  });
2866
- seriesWidth = seriesWidth - opv.limit;
2867
- if (seriesWidthToPlateOpv[1].limit > seriesWidth) seriesWidth = 0;
2868
- },
2869
- _ret;
2870
- while (seriesWidth != 0) {
2871
- _ret = _loop();
2872
- if (_ret) return _ret.v;
2855
+ if (stp.limit <= seriesWidth && isClean) return true;
2856
+ return false;
2857
+ });
2858
+ if (!opv) return;
2859
+ _this5.setOptionValue(firstUncoveredElement.elementId, coverPlateRule.optABD, opv.plateOpv, optionHandler);
2860
+ elementCoverage += Math.round(opv.limit / ((_boxPlannerGrid$GridS = boxPlannerGrid.GridSetupParams.fixCellRasterWidth) !== null && _boxPlannerGrid$GridS !== void 0 ? _boxPlannerGrid$GridS : 1));
2861
+ firstUncoveredElement = serie.find(function (e) {
2862
+ if (e.area.fromX >= elementCoverage) return true;
2863
+ return false;
2864
+ });
2865
+ seriesWidth = seriesWidth - opv.limit;
2866
+ if (seriesWidthToPlateOpv[1].limit > seriesWidth) seriesWidth = 0;
2873
2867
  }
2874
2868
  });
2875
2869
  }
@@ -3754,6 +3748,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
3754
3748
  }
3755
3749
  }, {
3756
3750
  key: "GridSetupParams",
3751
+ get: function get() {
3752
+ return this.gridSetupParams;
3753
+ },
3757
3754
  set: function set(gridSetupParams) {
3758
3755
  this.gridSetupParams = gridSetupParams;
3759
3756
  }
@@ -4488,29 +4485,42 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4488
4485
  // Neighbor column left/right of the copy (where support width is checked). At the grid edge that column does not exist
4489
4486
  // (LEFT: startColIndex === 0 → index.x === -1; RIGHT: endColIndex === curGrid.length → past last column).
4490
4487
  // Then scan along an in-grid column of this element so we still collect the full vertical stack to copy.
4491
- var supportColX = index.x;
4488
+ var supportColX = dir === 'LEFT' ? curPos.startColIndex - 1 : curPos.endColIndex;
4489
+ var belowColX = dir === 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1;
4490
+
4491
+ // Copying into new grid space (e.g. LEFT from column 0) — no adjacent column exists to check
4492
+ // support width against, so include the entire vertical stack below unconditionally.
4492
4493
  if (!curGrid[supportColX]) {
4493
- supportColX = dir === 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1;
4494
+ for (var y = index.y - 1; y >= 0;) {
4495
+ var _curGrid$belowColX;
4496
+ var belowElement = (_curGrid$belowColX = curGrid[belowColX]) === null || _curGrid$belowColX === void 0 || (_curGrid$belowColX = _curGrid$belowColX[y]) === null || _curGrid$belowColX === void 0 ? void 0 : _curGrid$belowColX.plannedElement;
4497
+ if (!belowElement) break;
4498
+ plannerIdsToFill.push(belowElement.elementId);
4499
+ y = belowElement.area.fromY - 1;
4500
+ }
4501
+ return {
4502
+ elements: plannerIdsToFill.reverse(),
4503
+ backside: curPos.backside
4504
+ };
4494
4505
  }
4495
- var belowColX = dir === 'LEFT' ? curPos.startColIndex : curPos.endColIndex - 1;
4496
- var _loop = function _loop(_y3) {
4497
- var _curGrid$belowColX, _curGrid$supportColX$, _Width, _Width2, _Width3;
4506
+ var _loop = function _loop(_y4) {
4507
+ var _curGrid$belowColX2, _curGrid$supportColX$, _Width, _Width2, _Width3;
4498
4508
  if (!curGrid[supportColX]) {
4499
- y = _y3;
4509
+ _y3 = _y4;
4500
4510
  return 0;
4501
4511
  } // break
4502
4512
 
4503
4513
  // Always resolve the element in our own column — that is what we copy, not the neighbour.
4504
- var belowElement = (_curGrid$belowColX = curGrid[belowColX]) === null || _curGrid$belowColX === void 0 || (_curGrid$belowColX = _curGrid$belowColX[_y3]) === null || _curGrid$belowColX === void 0 ? void 0 : _curGrid$belowColX.plannedElement;
4514
+ var belowElement = (_curGrid$belowColX2 = curGrid[belowColX]) === null || _curGrid$belowColX2 === void 0 || (_curGrid$belowColX2 = _curGrid$belowColX2[_y4]) === null || _curGrid$belowColX2 === void 0 ? void 0 : _curGrid$belowColX2.plannedElement;
4505
4515
  if (!belowElement) {
4506
- y = _y3;
4516
+ _y3 = _y4;
4507
4517
  return 0;
4508
4518
  } // break
4509
- var supportElement = (_curGrid$supportColX$ = curGrid[supportColX][_y3]) === null || _curGrid$supportColX$ === void 0 ? void 0 : _curGrid$supportColX$.plannedElement;
4519
+ var supportElement = (_curGrid$supportColX$ = curGrid[supportColX][_y4]) === null || _curGrid$supportColX$ === void 0 ? void 0 : _curGrid$supportColX$.plannedElement;
4510
4520
  if (!supportElement) {
4511
4521
  plannerIdsToFill.push(belowElement.elementId);
4512
- _y3 = belowElement.area.fromY - 1;
4513
- y = _y3;
4522
+ _y4 = belowElement.area.fromY - 1;
4523
+ _y3 = _y4;
4514
4524
  return 1; // continue
4515
4525
  }
4516
4526
 
@@ -4530,7 +4540,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4530
4540
  freeSpace += n.Width;
4531
4541
  });
4532
4542
  if (freeSpace >= elementWidth) {
4533
- y = _y3;
4543
+ _y3 = _y4;
4534
4544
  return 0;
4535
4545
  } // break
4536
4546
  var belowWidth = (_Width3 = _this2.getElementById(belowElement.elementId).Width) !== null && _Width3 !== void 0 ? _Width3 : belowElement.size.width;
@@ -4539,12 +4549,12 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4539
4549
  plannerIdsToFill.push(belowElement.elementId);
4540
4550
  missingWidth = Math.round(missingWidth - belowWidth);
4541
4551
  }
4542
- _y3 = belowElement.area.fromY - 1;
4543
- y = _y3;
4552
+ _y4 = belowElement.area.fromY - 1;
4553
+ _y3 = _y4;
4544
4554
  },
4545
4555
  _ret;
4546
- for (var y = index.y - 1; y >= 0;) {
4547
- _ret = _loop(y);
4556
+ for (var _y3 = index.y - 1; _y3 >= 0;) {
4557
+ _ret = _loop(_y3);
4548
4558
  if (_ret === 0) break;
4549
4559
  if (_ret === 1) continue;
4550
4560
  }
@@ -4895,9 +4905,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4895
4905
  for (var _x5 = cell.plannedElement.area.fromX; _x5 < cell.plannedElement.area.toX; _x5++) {
4896
4906
  var row = grid[_x5];
4897
4907
  if (!row) continue;
4898
- for (var _y4 = origin.y; _y4 < row.length; _y4++) {
4899
- var _cell = row[_y4];
4900
- if (_cell.index.y != _y4 || _cell.plannedElement.elementId == cell.plannedElement.elementId) continue; //already corrected
4908
+ for (var _y5 = origin.y; _y5 < row.length; _y5++) {
4909
+ var _cell = row[_y5];
4910
+ if (_cell.index.y != _y5 || _cell.plannedElement.elementId == cell.plannedElement.elementId) continue; //already corrected
4901
4911
  _cell.index.y += diff.y;
4902
4912
  _cell.plannedElement.area.fromY += diff.y;
4903
4913
  _cell.plannedElement.area.toY += diff.y;
@@ -4906,8 +4916,8 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4906
4916
  } else if (diff.x != 0 && (diff.x > free || diff.x < 0)) {
4907
4917
  // if there is enough free space on the right no need to move
4908
4918
  for (var _x6 = cell.plannedElement.area.fromX; _x6 < grid.length; _x6++) {
4909
- for (var _y5 = cell.plannedElement.area.fromY; _y5 < cell.plannedElement.area.toY; _y5++) {
4910
- var _cell10 = grid[_x6][_y5];
4919
+ for (var _y6 = cell.plannedElement.area.fromY; _y6 < cell.plannedElement.area.toY; _y6++) {
4920
+ var _cell10 = grid[_x6][_y6];
4911
4921
  if (!_cell10 || _cell10.plannedElement.elementId == elementId) continue; //already corrected
4912
4922
  _cell10.index.x += diff.x;
4913
4923
  _cell10.plannedElement.area.fromX += diff.x;
@@ -4931,7 +4941,7 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4931
4941
  });
4932
4942
  })) return 0; // continue
4933
4943
  for (var _x7 = area.fromX; _x7 < area.toX; _x7++) {
4934
- for (var _y6 = area.fromY; _y6 < area.toY; _y6++) {
4944
+ for (var _y7 = area.fromY; _y7 < area.toY; _y7++) {
4935
4945
  if (!newGrid[_x7] && area.fromY == 0) newGrid[_x7] = [];
4936
4946
 
4937
4947
  // we have a so called overhanging element not so nice, let's correct:
@@ -4955,10 +4965,10 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
4955
4965
  // when the element above starts early and goes over multiple ones
4956
4966
 
4957
4967
  // regular case
4958
- newGrid[_x7][_y6] = _objectSpread(_objectSpread({}, cell), {}, {
4968
+ newGrid[_x7][_y7] = _objectSpread(_objectSpread({}, cell), {}, {
4959
4969
  index: {
4960
4970
  x: _x7,
4961
- y: _y6
4971
+ y: _y7
4962
4972
  },
4963
4973
  plannedElement: _objectSpread(_objectSpread({}, cell.plannedElement), {}, {
4964
4974
  area: {
@@ -5436,9 +5446,9 @@ var BoxPlannerGrid = /*#__PURE__*/function () {
5436
5446
  var _targetColIndex = endColIndex;
5437
5447
  var _copyPossible2 = false;
5438
5448
  // Iterate through rows within the element's height
5439
- for (var _y7 = startRowIndex; _y7 <= endRowIndex; _y7++) {
5440
- if (isValidCell(_targetColIndex, _y7)) {
5441
- copyStartRowIndex = _y7;
5449
+ for (var _y8 = startRowIndex; _y8 <= endRowIndex; _y8++) {
5450
+ if (isValidCell(_targetColIndex, _y8)) {
5451
+ copyStartRowIndex = _y8;
5442
5452
  _copyPossible2 = true;
5443
5453
  break;
5444
5454
  }
@@ -3,9 +3,9 @@ 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 { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-18f1d8c6.js';
6
+ import { V as Vector3, c as Vector2, P as PlannerElementData, B as BoundingBox } from './index-d51f2804.js';
7
7
  import DivaUtils, { DivaError, md5 } from '@crystaldesign/diva-utils';
8
- import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-c52912b0.js';
8
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-d8217417.js';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
11
11
  import '@babel/runtime/helpers/toConsumableArray';
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import './index-18f1d8c6.js';
4
+ import './index-d51f2804.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -3,7 +3,7 @@ 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 { R as Rendering, H as HQRenderScript } from './index-18f1d8c6.js';
6
+ import { R as Rendering, H as HQRenderScript } from './index-d51f2804.js';
7
7
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
8
8
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
9
9
  import io from 'socket.io-client';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-18f1d8c6.js';
3
+ import './index-d51f2804.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import { a as articleHandlerInstance } from './index-18f1d8c6.js';
3
+ import { a as articleHandlerInstance } from './index-d51f2804.js';
4
4
  import { SAPOrderLineData } from '@crystaldesign/basket-model';
5
5
  import DivaUtils, { DivaError } from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
@@ -276,6 +276,15 @@ var PfisterWWSHandler = /*#__PURE__*/function () {
276
276
  } else {
277
277
  sapOrderlines = sapOrderlines.concat(blindSAPOrderLines);
278
278
  }
279
+ } else if (blindSAPOrderLines.length > 0) {
280
+ //ZKAT/blind Artikel zusätzlich zu expliziten SAP Orderlines nur listen, wenn per ADD_AS_ZKAT markiert
281
+ var zkatLinesToAdd = blindSAPOrderLines.filter(function (line) {
282
+ return line.basketIds.some(function (id) {
283
+ var _articles$id;
284
+ return (_articles$id = articles[id]) === null || _articles$id === void 0 ? void 0 : _articles$id.addAsZKAT;
285
+ });
286
+ });
287
+ sapOrderlines = sapOrderlines.concat(zkatLinesToAdd);
279
288
  }
280
289
  if (orderSet.BruttoSetPrice) orderSet.SetPrice = orderSet.BruttoSetPrice;
281
290
  return {
@@ -3,7 +3,7 @@ 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, D as DockingPoint, V as Vector3 } from './index-18f1d8c6.js';
6
+ import { c as Vector2, D as DockingPoint, V as Vector3 } from './index-d51f2804.js';
7
7
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
9
  import { fabric } from 'fabric';
@@ -1656,8 +1656,9 @@ var DockingPointHandler = /*#__PURE__*/function () {
1656
1656
  value: function checkDPAVLFilterDoMatch(plannerElement1, plannerElement2) {
1657
1657
  var avrFilter1 = plannerElement1.FilterAVR;
1658
1658
  var avlFilter2 = plannerElement2.FilterAVL;
1659
- if (avlFilter2.length == 0 && avrFilter1.length == 0) return true; //Diese überprüfung bin ich mir nicht sicher, dass es so passt.
1660
1659
 
1660
+ // An empty filter on either side means "no connector restriction" -> always dockable.
1661
+ if (avlFilter2.length == 0 || avrFilter1.length == 0) return true;
1661
1662
  for (var i = 0; i < avrFilter1.length; i++) {
1662
1663
  for (var j = 0; j < avlFilter2.length; j++) {
1663
1664
  if (avrFilter1[i] == avlFilter2[j]) {
@@ -1672,7 +1673,9 @@ var DockingPointHandler = /*#__PURE__*/function () {
1672
1673
  value: function checkDPAVRFilterDoMatch(plannerElement1, plannerElement2) {
1673
1674
  var avlFilter1 = plannerElement1.FilterAVL;
1674
1675
  var avrFilter2 = plannerElement2.FilterAVR;
1675
- if (avlFilter1.length == 0 && avrFilter2.length == 0) return true; //Diese überprüfung bin ich mir nicht sicher, dass es so passt.
1676
+
1677
+ // An empty filter on either side means "no connector restriction" -> always dockable.
1678
+ if (avlFilter1.length == 0 || avrFilter2.length == 0) return true;
1676
1679
  for (var i = 0; i < avlFilter1.length; i++) {
1677
1680
  for (var j = 0; j < avrFilter2.length; j++) {
1678
1681
  if (avlFilter1[i] == avrFilter2[j]) {
@@ -1692,10 +1695,18 @@ var DockingPointHandler = /*#__PURE__*/function () {
1692
1695
  var avrDockable = this.checkDPAVRFilterDoMatch(sourcePlannerElement, targetElement);
1693
1696
  var avlDockable = this.checkDPAVLFilterDoMatch(sourcePlannerElement, targetElement);
1694
1697
  var refDPType = this.getReferenceDPType(dp1.Type);
1695
- if (refDPType == 'AVL' && !avlDockable) return false;
1696
- if (refDPType == 'AVR' && !avrDockable) return false;
1697
- if (dp2.Type != refDPType) return false;
1698
- if (dp1.IsDocking || dp2.IsDocking) return false;
1698
+ if (refDPType == 'AVL' && !avlDockable) {
1699
+ return false;
1700
+ }
1701
+ if (refDPType == 'AVR' && !avrDockable) {
1702
+ return false;
1703
+ }
1704
+ if (dp2.Type != refDPType) {
1705
+ return false;
1706
+ }
1707
+ if (dp1.IsDocking || dp2.IsDocking) {
1708
+ return false;
1709
+ }
1699
1710
  if (!dp1.IgnoreLayer || !dp2.IgnoreLayer) {
1700
1711
  var doCheckLayer = true;
1701
1712
  if (dp1.PlannerConfig.ignoreLayerAVC && (dp1.Type == 'AVC' || dp2.Type == 'AVC')) {
@@ -1708,9 +1719,13 @@ var DockingPointHandler = /*#__PURE__*/function () {
1708
1719
  doCheckLayer = false;
1709
1720
  }
1710
1721
  //Check layer
1711
- if (doCheckLayer && dp2.Layer == dp1.Layer) return false;
1722
+ if (doCheckLayer && dp2.Layer == dp1.Layer) {
1723
+ return false;
1724
+ }
1725
+ }
1726
+ if (!dp1.PlannerConfig.ignoreDockingNumber && dp1.HasNumber && dp2.HasNumber && dp1.Number != dp2.Number) {
1727
+ return false;
1712
1728
  }
1713
- if (dp1.HasNumber && dp2.HasNumber && dp1.Number != dp2.Number) return false;
1714
1729
  return true;
1715
1730
  }
1716
1731
 
@@ -1,7 +1,7 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
- import { s as summaryHandlerInstance } from './index-18f1d8c6.js';
4
+ import { s as summaryHandlerInstance } from './index-d51f2804.js';
5
5
  import DivaUtils from '@crystaldesign/diva-utils';
6
6
  import '@babel/runtime/helpers/slicedToArray';
7
7
  import '@babel/runtime/helpers/asyncToGenerator';
@@ -4,7 +4,7 @@ import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
4
4
  import _createClass from '@babel/runtime/helpers/createClass';
5
5
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
6
6
  import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import { G as Grid, b as setHandlerInstance, a as articleHandlerInstance } from './index-18f1d8c6.js';
7
+ import { G as Grid, b as setHandlerInstance, a as articleHandlerInstance } from './index-d51f2804.js';
8
8
  import DivaUtils from '@crystaldesign/diva-utils';
9
9
  import '@babel/runtime/helpers/slicedToArray';
10
10
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -1,6 +1,6 @@
1
1
  import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
2
2
  import _createClass from '@babel/runtime/helpers/createClass';
3
- import './index-18f1d8c6.js';
3
+ import './index-d51f2804.js';
4
4
  import '@babel/runtime/helpers/slicedToArray';
5
5
  import '@babel/runtime/helpers/asyncToGenerator';
6
6
  import '@babel/runtime/helpers/defineProperty';