@crystaldesign/web-planner-logic 26.14.0-beta.24 → 26.14.0-beta.26

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 (36) hide show
  1. package/build/cjs/{DivaBoxPlanner-cf09f9fe.js → DivaBoxPlanner-8567adfc.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-ff82e836.js → DivaStandardPlanner-18b2dd94.js} +2 -2
  3. package/build/cjs/{DoorPlanner-53cefffe.js → DoorPlanner-ad3680d2.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-cc6ec7f6.js → Host3DSignalR-08dbc4c0.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-dba59703.js → LiviqueWWSHandler-97f477c5.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-995fbb8c.js → PfisterWWSHandler-d1fb6fa5.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-b78c05b4.js → PlannerHandler2D-38389b77.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-6145aaac.js → SeriousBasketHandler-2a8fd56e.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-6c2a69a6.js → ShelfPlanner-28f5827e.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-51829922.js → StandardWWSHandler-c6e15e35.js} +1 -1
  11. package/build/cjs/{index-468612b3.js → index-e7a685c0.js} +150 -80
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-100ffd98.js → DivaBoxPlanner-79e9f02d.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-bca19067.js → DivaStandardPlanner-15afc51e.js} +2 -2
  15. package/build/esm/{DoorPlanner-96b746f5.js → DoorPlanner-10d6422b.js} +1 -1
  16. package/build/esm/{Host3DSignalR-55483c36.js → Host3DSignalR-87f024d3.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-e9a9259f.js → LiviqueWWSHandler-dcb38f30.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-510be677.js → PfisterWWSHandler-2b009dbf.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-34fd91ea.js → PlannerHandler2D-2c0dc4b6.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-62e59aa3.js → SeriousBasketHandler-8ecf8ace.js} +1 -1
  21. package/build/esm/{ShelfPlanner-beef8da8.js → ShelfPlanner-91837b9d.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-f3d13d9a.js → StandardWWSHandler-ea131b04.js} +1 -1
  23. package/build/esm/{index-b6e01877.js → index-856b28e2.js} +150 -80
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  26. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +5 -0
  27. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  28. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +2 -0
  29. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  30. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts +8 -0
  31. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
  32. package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts +4 -0
  33. package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts.map +1 -1
  34. package/build/types/web-planner-logic/src/test/hidingRenderScript.test.d.ts +2 -0
  35. package/build/types/web-planner-logic/src/test/hidingRenderScript.test.d.ts.map +1 -0
  36. package/package.json +4 -4
@@ -5,11 +5,11 @@ 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-468612b3.js');
8
+ var index = require('./index-e7a685c0.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
11
11
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
12
- var PlannerHandler2D = require('./PlannerHandler2D-b78c05b4.js');
12
+ var PlannerHandler2D = require('./PlannerHandler2D-38389b77.js');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
14
  require('axios');
15
15
  require('@babel/runtime/helpers/typeof');
@@ -7,10 +7,10 @@ var _createClass = require('@babel/runtime/helpers/createClass');
7
7
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
8
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
9
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
10
- var index = require('./index-468612b3.js');
10
+ var index = require('./index-e7a685c0.js');
11
11
  var DivaUtils = require('@crystaldesign/diva-utils');
12
12
  var plannerCore = require('@crystaldesign/planner-core');
13
- var PlannerHandler2D = require('./PlannerHandler2D-b78c05b4.js');
13
+ var PlannerHandler2D = require('./PlannerHandler2D-38389b77.js');
14
14
  require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  require('axios');
16
16
  require('@babel/runtime/helpers/typeof');
@@ -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-468612b3.js');
6
+ require('./index-e7a685c0.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-468612b3.js');
8
+ var index = require('./index-e7a685c0.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-468612b3.js');
5
+ require('./index-e7a685c0.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-468612b3.js');
5
+ var index = require('./index-e7a685c0.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -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-468612b3.js');
8
+ var index = require('./index-e7a685c0.js');
9
9
  var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
10
10
  var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
11
11
  var _get = require('@babel/runtime/helpers/get');
@@ -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-468612b3.js');
6
+ var index = require('./index-e7a685c0.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-468612b3.js');
9
+ var index = require('./index-e7a685c0.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-468612b3.js');
5
+ require('./index-e7a685c0.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -34811,7 +34811,7 @@ var DivaArticle = /*#__PURE__*/function () {
34811
34811
  break;
34812
34812
  }
34813
34813
  _context.next = 4;
34814
- return Promise.resolve().then(function () { return require('./ShelfPlanner-6c2a69a6.js'); });
34814
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-28f5827e.js'); });
34815
34815
  case 4:
34816
34816
  _yield$import = _context.sent;
34817
34817
  ShelfPlanner = _yield$import["default"];
@@ -35254,7 +35254,7 @@ var DivaArticle = /*#__PURE__*/function () {
35254
35254
  }
35255
35255
  if (ops.isDoShow && !doHideSizeOption && ops.val) {
35256
35256
  if (ops.visibleCount > 0) {
35257
- var _ops$valName_locales2, _this$optionsForPrint2, _this$optionsForPrint3, _ops$val6;
35257
+ var _this$optionsForPrint2, _ops$valName_locales2, _this$optionsForPrint3, _ops$val6;
35258
35258
  var isfreeText = false,
35259
35259
  isMeasureValue = false,
35260
35260
  freeText = undefined,
@@ -35269,6 +35269,8 @@ var DivaArticle = /*#__PURE__*/function () {
35269
35269
  }
35270
35270
  }
35271
35271
  var opvNames = this.getMergedOPGNames(ops);
35272
+ // a partlist position prints the options its OptionsForPrint names, even implicit (type I) ones
35273
+ var isOptionForPrint = this.isPartListArticle && !!((_this$optionsForPrint2 = this.optionsForPrint) !== null && _this$optionsForPrint2 !== void 0 && _this$optionsForPrint2.includes(OP));
35272
35274
  var myOptItem = {
35273
35275
  BasketID: this.basketId,
35274
35276
  OPT: this.CatalogData.isIDMFormat ? OP : OP.substring(3),
@@ -35300,7 +35302,7 @@ var DivaArticle = /*#__PURE__*/function () {
35300
35302
  TabGroup_locales: ops.optionTabGroup_locales,
35301
35303
  SendToSAP: ops.option.sendToSAP,
35302
35304
  ArticlePlaceholder: ops.option.articlePlaceholder,
35303
- Hidden: !!(ops.headerPosVariationType == 'I' || ops.invisibleWithoutMaskeInfluence || ops.val.hideInSummary || this.isPartListArticle && (_this$optionsForPrint2 = this.optionsForPrint) !== null && _this$optionsForPrint2 !== void 0 && _this$optionsForPrint2.length && !((_this$optionsForPrint3 = this.optionsForPrint) !== null && _this$optionsForPrint3 !== void 0 && _this$optionsForPrint3.includes(OP))),
35305
+ Hidden: !!(ops.headerPosVariationType == 'I' && !isOptionForPrint || ops.invisibleWithoutMaskeInfluence || ops.val.hideInSummary || this.isPartListArticle && (_this$optionsForPrint3 = this.optionsForPrint) !== null && _this$optionsForPrint3 !== void 0 && _this$optionsForPrint3.length && !isOptionForPrint),
35304
35306
  HideInOrderText: ops.hideInOrderText,
35305
35307
  IsDescribingState: ops.isDescribingState,
35306
35308
  FreeTextLang: ops.freeTextLang,
@@ -43663,7 +43665,7 @@ var DivaSet = /*#__PURE__*/function () {
43663
43665
  break;
43664
43666
  }
43665
43667
  _context5.next = 3;
43666
- return Promise.resolve().then(function () { return require('./DoorPlanner-53cefffe.js'); });
43668
+ return Promise.resolve().then(function () { return require('./DoorPlanner-ad3680d2.js'); });
43667
43669
  case 3:
43668
43670
  _yield$import = _context5.sent;
43669
43671
  DoorPlanner = _yield$import["default"];
@@ -52004,7 +52006,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52004
52006
  break;
52005
52007
  case 3:
52006
52008
  _context13.next = 5;
52007
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-995fbb8c.js'); });
52009
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-d1fb6fa5.js'); });
52008
52010
  case 5:
52009
52011
  _yield$import = _context13.sent;
52010
52012
  PfisterWWSHandler = _yield$import["default"];
@@ -52012,7 +52014,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52012
52014
  return _context13.abrupt("break", 27);
52013
52015
  case 9:
52014
52016
  _context13.next = 11;
52015
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-dba59703.js'); });
52017
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-97f477c5.js'); });
52016
52018
  case 11:
52017
52019
  _yield$import2 = _context13.sent;
52018
52020
  LiviqueWWSHandler = _yield$import2["default"];
@@ -52020,7 +52022,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52020
52022
  return _context13.abrupt("break", 27);
52021
52023
  case 15:
52022
52024
  _context13.next = 17;
52023
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-6145aaac.js'); });
52025
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-2a8fd56e.js'); });
52024
52026
  case 17:
52025
52027
  _yield$import3 = _context13.sent;
52026
52028
  SeriousWWSHandler = _yield$import3["default"];
@@ -52028,7 +52030,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
52028
52030
  return _context13.abrupt("break", 27);
52029
52031
  case 21:
52030
52032
  _context13.next = 23;
52031
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-51829922.js'); });
52033
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-c6e15e35.js'); });
52032
52034
  case 23:
52033
52035
  _yield$import4 = _context13.sent;
52034
52036
  StandardWWSHandler = _yield$import4["default"];
@@ -53190,6 +53192,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53190
53192
  _defineProperty__default["default"](this, "lastSavedHQRenderScript", void 0);
53191
53193
  _defineProperty__default["default"](this, "lastRequestInput", void 0);
53192
53194
  _defineProperty__default["default"](this, "lastSavedAlternateRenderings", undefined);
53195
+ /** Planning hashes of render scripts requested for a rendering that hides options (e.g. without doors). */
53196
+ _defineProperty__default["default"](this, "hidingScriptHashes", new Set());
53197
+ /** Planning hash of the planning as it is now: a hiding rendering may come to the hash of an earlier planning. */
53198
+ _defineProperty__default["default"](this, "currentPlanningHash", void 0);
53199
+ /** Planning hash of the render script last handed to the view. */
53200
+ _defineProperty__default["default"](this, "shownScriptHash", void 0);
53193
53201
  _defineProperty__default["default"](this, "connectionHandler", void 0);
53194
53202
  _defineProperty__default["default"](this, "viewPointHandler", void 0);
53195
53203
  _defineProperty__default["default"](this, "getOrigConfiguration", void 0);
@@ -53426,7 +53434,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53426
53434
  //If we need real time rendering initialize the SignalR and 3D host connection Handler
53427
53435
  bootMark('signalr: chunk import start');
53428
53436
  _context3.next = 3;
53429
- return Promise.resolve().then(function () { return require('./Host3DSignalR-cc6ec7f6.js'); });
53437
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-08dbc4c0.js'); });
53430
53438
  case 3:
53431
53439
  _yield$import = _context3.sent;
53432
53440
  Host3DSignalR = _yield$import["default"];
@@ -53580,8 +53588,17 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53580
53588
  _iterator2.f();
53581
53589
  }
53582
53590
  this.sendARRenderScript(hqRenderScript, planningHash);
53591
+ this.shownScriptHash = planningHash;
53583
53592
  this.updatePlannerHqRenderScriptInView(hqRenderScript);
53584
53593
  }
53594
+
53595
+ /** Whether the view shows a render script that hides options of the planning (e.g. without doors): its 3D is not the planning's. */
53596
+ }, {
53597
+ key: "showsHidingRenderScript",
53598
+ value: function showsHidingRenderScript() {
53599
+ var hash = this.shownScriptHash;
53600
+ return hash !== undefined && this.hidingScriptHashes.has(hash) && hash !== this.currentPlanningHash;
53601
+ }
53585
53602
  }, {
53586
53603
  key: "handleReceiveRendering",
53587
53604
  value:
@@ -53948,8 +53965,10 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53948
53965
  key: "request3D",
53949
53966
  value: (function () {
53950
53967
  var _request3D = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee8(params) {
53951
- var _params$renderRequest, _params$renderRequest2, _params$renderRequest3, _params$renderRequest4, _params$renderRequest5, _params$renderRequest6, _this$viewPointHandle, _this$viewPointHandle2;
53952
- var room, newRenderSize, doReloadWholePlanning, hybridInfo, planningHash, requestRenderingFrom3DHost, requestHqRenderScriptFrom3DHost, rendering, renderHash, viewPointName, functionType, _hybridInfo, sizeInfo, _rendering, fullscreenRendering, renderingInCacheFound, _this$connectionHandl6, _plannerMeasureDigits, _hybridInfo2, _hybridInfo3, returnRequest;
53968
+ var _this2 = this,
53969
+ _this$viewPointHandle,
53970
+ _this$viewPointHandle2;
53971
+ var room, setRoomInfo, newRenderSize, doReloadWholePlanning, hybridInfo, planningHash, requestRenderingFrom3DHost, requestHqRenderScriptFrom3DHost, _params$alternateRend, rendering, renderHash, viewPointName, functionType, _hybridInfo, sizeInfo, _rendering, fullscreenRendering, renderingInCacheFound, _this$connectionHandl6, _plannerMeasureDigits, _hybridInfo2, _hybridInfo3, returnRequest;
53953
53972
  return _regeneratorRuntime__default["default"].wrap(function _callee8$(_context8) {
53954
53973
  while (1) switch (_context8.prev = _context8.next) {
53955
53974
  case 0:
@@ -53970,7 +53989,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53970
53989
  LOG$6.debug("RequestRendering - but connectionHandler is undefined " + "(doRequestRendering=".concat(params.doRequestRendering, ", doRequestHqRenderScript=").concat(params.doRequestHqRenderScript, ") ") + "\u2014 SignalR was never initialized for this planner instance, request will be lost");
53971
53990
  }
53972
53991
  room = this.viewPointHandler.getCurRoomCodex();
53973
- newRenderSize = this.setRoomInfoInPlanningData(params.planningData, (_params$renderRequest = (_params$renderRequest2 = params.renderRequestInfos) === null || _params$renderRequest2 === void 0 ? void 0 : _params$renderRequest2.width) !== null && _params$renderRequest !== void 0 ? _params$renderRequest : 500, (_params$renderRequest3 = (_params$renderRequest4 = params.renderRequestInfos) === null || _params$renderRequest4 === void 0 ? void 0 : _params$renderRequest4.height) !== null && _params$renderRequest3 !== void 0 ? _params$renderRequest3 : 500, (_params$renderRequest5 = (_params$renderRequest6 = params.renderRequestInfos) === null || _params$renderRequest6 === void 0 ? void 0 : _params$renderRequest6.mediaServiceSaveMode) !== null && _params$renderRequest5 !== void 0 ? _params$renderRequest5 : undefined);
53992
+ setRoomInfo = function setRoomInfo(planningData) {
53993
+ var _params$renderRequest, _params$renderRequest2, _params$renderRequest3, _params$renderRequest4, _params$renderRequest5, _params$renderRequest6;
53994
+ return _this2.setRoomInfoInPlanningData(planningData, (_params$renderRequest = (_params$renderRequest2 = params.renderRequestInfos) === null || _params$renderRequest2 === void 0 ? void 0 : _params$renderRequest2.width) !== null && _params$renderRequest !== void 0 ? _params$renderRequest : 500, (_params$renderRequest3 = (_params$renderRequest4 = params.renderRequestInfos) === null || _params$renderRequest4 === void 0 ? void 0 : _params$renderRequest4.height) !== null && _params$renderRequest3 !== void 0 ? _params$renderRequest3 : 500, (_params$renderRequest5 = (_params$renderRequest6 = params.renderRequestInfos) === null || _params$renderRequest6 === void 0 ? void 0 : _params$renderRequest6.mediaServiceSaveMode) !== null && _params$renderRequest5 !== void 0 ? _params$renderRequest5 : undefined);
53995
+ };
53996
+ newRenderSize = setRoomInfo(params.planningData); // Part of the hash: the two plannings only compare with the same room info.
53997
+ if (params.fullPlanningData) setRoomInfo(params.fullPlanningData);
53974
53998
  doReloadWholePlanning = true;
53975
53999
  if (params.doRequestRendering) {
53976
54000
  params.renderRequestInfos.width = newRenderSize.newRenderWidth;
@@ -54005,9 +54029,13 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54005
54029
  requestRenderingFrom3DHost = false;
54006
54030
  requestHqRenderScriptFrom3DHost = false;
54007
54031
  if (params.doRequestHqRenderScript) {
54032
+ // An alternate that hides nothing of this planning has the planning's own script (see showsHidingRenderScript).
54033
+ if ((_params$alternateRend = params.alternateRenderInfo) !== null && _params$alternateRend !== void 0 && _params$alternateRend.hideOptionsIn3DImage.length) this.hidingScriptHashes.add(planningHash);
54034
+ this.currentPlanningHash = params.fullPlanningData ? DivaUtils.md5(JSON.stringify(params.fullPlanningData)) : planningHash;
54008
54035
  rendering = this.hqRenderScriptCache.get(planningHash);
54009
54036
  if (rendering && !params.useLatestHybridInfo) {
54010
54037
  this.lastSavedHQRenderScript = JSON.parse(rendering.HQRenderScript);
54038
+ this.shownScriptHash = planningHash;
54011
54039
  this.updatePlannerHqRenderScriptInView(rendering);
54012
54040
  this.sendARRenderScript(rendering, planningHash);
54013
54041
  params.doRequestHqRenderScript = false;
@@ -54067,7 +54095,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54067
54095
  divaNr: params.divaNr
54068
54096
  };
54069
54097
  if (!(requestHqRenderScriptFrom3DHost || requestRenderingFrom3DHost)) {
54070
- _context8.next = 40;
54098
+ _context8.next = 42;
54071
54099
  break;
54072
54100
  }
54073
54101
  if (params.catalogData.lang) params.planningData.SCE.Lang = params.catalogData.lang;
@@ -54100,14 +54128,14 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54100
54128
  if ((_hybridInfo2 = hybridInfo) !== null && _hybridInfo2 !== void 0 && _hybridInfo2.currentCamera) this.currentCamera = (_hybridInfo3 = hybridInfo) === null || _hybridInfo3 === void 0 ? void 0 : _hybridInfo3.currentCamera;
54101
54129
  this.latestHybridInfo = hybridInfo;
54102
54130
  if (!(returnRequest === undefined || requestHqRenderScriptFrom3DHost && returnRequest.hqRenderScript == undefined || requestRenderingFrom3DHost && returnRequest.rendering == undefined)) {
54103
- _context8.next = 38;
54131
+ _context8.next = 40;
54104
54132
  break;
54105
54133
  }
54106
54134
  LOG$6.error(new DivaUtils.DivaError('Error requesting the 3D from host. RequestHqRenderScript: ' + requestHqRenderScriptFrom3DHost + '; RequestRendering: ' + requestRenderingFrom3DHost, {
54107
54135
  code: 'WC_0013'
54108
54136
  }));
54109
54137
  return _context8.abrupt("return");
54110
- case 38:
54138
+ case 40:
54111
54139
  if (requestHqRenderScriptFrom3DHost) {
54112
54140
  if (this.waitForHQRenderScript.has(planningHash)) this.waitForHQRenderScript["delete"](planningHash);
54113
54141
  this.waitForHQRenderScript.set(planningHash, returnRequest.hqRenderScript);
@@ -54119,12 +54147,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54119
54147
  if (returnRequest.rendering.getIsAlternateRendering()) this.addAlternateRenderingToSavedAlternateRenderings(returnRequest.rendering);else this.lastSavedRendering = returnRequest.rendering;
54120
54148
  }
54121
54149
  }
54122
- case 40:
54150
+ case 42:
54123
54151
  return _context8.abrupt("return", {
54124
54152
  planningHash: planningHash,
54125
54153
  renderHash: renderHash
54126
54154
  });
54127
- case 41:
54155
+ case 43:
54128
54156
  case "end":
54129
54157
  return _context8.stop();
54130
54158
  }
@@ -54335,14 +54363,14 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54335
54363
  key: "openARObserverConnection",
54336
54364
  value: function openARObserverConnection(handleNoHqrs, renderer) {
54337
54365
  var _this$liveArConnectio,
54338
- _this2 = this;
54366
+ _this3 = this;
54339
54367
  this.liveArRenderer = renderer;
54340
54368
  (_this$liveArConnectio = this.liveArConnection) !== null && _this$liveArConnectio !== void 0 ? _this$liveArConnectio : this.liveArConnection = this.connectLiveAr(handleNoHqrs)["catch"](function (error) {
54341
- var _this2$liveArSocket;
54369
+ var _this3$liveArSocket;
54342
54370
  // The next call connects anew; the failed socket must not keep reconnecting meanwhile.
54343
- (_this2$liveArSocket = _this2.liveArSocket) === null || _this2$liveArSocket === void 0 || _this2$liveArSocket.close();
54344
- _this2.liveArSocket = undefined;
54345
- _this2.liveArConnection = undefined;
54371
+ (_this3$liveArSocket = _this3.liveArSocket) === null || _this3$liveArSocket === void 0 || _this3$liveArSocket.close();
54372
+ _this3.liveArSocket = undefined;
54373
+ _this3.liveArConnection = undefined;
54346
54374
  throw error;
54347
54375
  });
54348
54376
  return this.liveArConnection;
@@ -54350,45 +54378,45 @@ var PlannerHandler3D = /*#__PURE__*/function () {
54350
54378
  }, {
54351
54379
  key: "connectLiveAr",
54352
54380
  value: function connectLiveAr(handleNoHqrs) {
54353
- var _this3 = this;
54381
+ var _this4 = this;
54354
54382
  return new Promise(function (resolve, reject) {
54355
- if (!_this3.liveArViewerUrl) return reject(new Error('No Live AR Viewer URL set'));
54383
+ if (!_this4.liveArViewerUrl) return reject(new Error('No Live AR Viewer URL set'));
54356
54384
  try {
54357
- var socketUrl = new URL(_this3.renderSettings.DivaMediaServiceUrl);
54358
- _this3.liveArSocket = io.io(socketUrl.origin + '/live-ar', {
54385
+ var socketUrl = new URL(_this4.renderSettings.DivaMediaServiceUrl);
54386
+ _this4.liveArSocket = io.io(socketUrl.origin + '/live-ar', {
54359
54387
  forceNew: true,
54360
54388
  rejectUnauthorized: false,
54361
54389
  path: socketUrl.pathname + '/socket.io',
54362
54390
  auth: {
54363
- jwt: _this3.jwt
54391
+ jwt: _this4.jwt
54364
54392
  }
54365
54393
  });
54366
- _this3.liveArSocket.on('disconnect', function () {
54394
+ _this4.liveArSocket.on('disconnect', function () {
54367
54395
  LOG$6.error(new DivaUtils.DivaError('AR Socket disconnected'));
54368
54396
  });
54369
- _this3.liveArSocket.on('observer-joined', function () {
54370
- var _this3$liveArSocket;
54397
+ _this4.liveArSocket.on('observer-joined', function () {
54398
+ var _this4$liveArSocket;
54371
54399
  LOG$6.debug('AR Observer joined');
54372
- _this3.liveArClientsConnected = true;
54373
- var hqRenderScript = _this3.lastSavedHQRenderScript;
54374
- if (hqRenderScript) (_this3$liveArSocket = _this3.liveArSocket) === null || _this3$liveArSocket === void 0 || _this3$liveArSocket.emit('update', _this3.liveArUpdate(JSON.stringify(hqRenderScript)));else {
54400
+ _this4.liveArClientsConnected = true;
54401
+ var hqRenderScript = _this4.lastSavedHQRenderScript;
54402
+ if (hqRenderScript) (_this4$liveArSocket = _this4.liveArSocket) === null || _this4$liveArSocket === void 0 || _this4$liveArSocket.emit('update', _this4.liveArUpdate(JSON.stringify(hqRenderScript)));else {
54375
54403
  LOG$6.debug('No HQRenderScript found for observer-joined');
54376
54404
  handleNoHqrs();
54377
54405
  }
54378
54406
  });
54379
- _this3.liveArSocket.on('observer-left', function () {
54407
+ _this4.liveArSocket.on('observer-left', function () {
54380
54408
  LOG$6.debug('AR Observer left');
54381
- _this3.liveArClientsConnected = false;
54409
+ _this4.liveArClientsConnected = false;
54382
54410
  });
54383
- _this3.liveArSocket.on('connected', function (data) {
54411
+ _this4.liveArSocket.on('connected', function (data) {
54384
54412
  LOG$6.debug('AR Socket connected ' + data.connectionId);
54385
- _this3.liveArSocket.auth = _objectSpread$d(_objectSpread$d({}, _this3.liveArSocket.auth), {}, {
54413
+ _this4.liveArSocket.auth = _objectSpread$d(_objectSpread$d({}, _this4.liveArSocket.auth), {}, {
54386
54414
  connectionId: data.connectionId
54387
54415
  });
54388
54416
  var applyConfiguratorSessionId = DivaUtils__default["default"].ConfigurationId ? '&configurationId=' + DivaUtils__default["default"].ConfigurationId : '';
54389
- resolve(_this3.liveArViewerUrl + '?liveArConnectionId=' + data.connectionId + '&organizationId=' + _this3.renderSettings.OrganizationId + '&divaSessionId=' + DivaUtils__default["default"].SessionId + applyConfiguratorSessionId);
54417
+ resolve(_this4.liveArViewerUrl + '?liveArConnectionId=' + data.connectionId + '&organizationId=' + _this4.renderSettings.OrganizationId + '&divaSessionId=' + DivaUtils__default["default"].SessionId + applyConfiguratorSessionId);
54390
54418
  });
54391
- _this3.liveArSocket.on('connect_error', function (err) {
54419
+ _this4.liveArSocket.on('connect_error', function (err) {
54392
54420
  return reject(err);
54393
54421
  });
54394
54422
  } catch (err) {
@@ -57430,6 +57458,8 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57430
57458
  }, {
57431
57459
  key: "setElementFootprints",
57432
57460
  value: function setElementFootprints(footprints) {
57461
+ // Measured on a rendering with options hidden (a basket image without doors): those are not the planning's extents.
57462
+ if (this.handler3D.showsHidingRenderScript()) return false;
57433
57463
  var moved = false;
57434
57464
  this.plannerList.forEach(function (planner, setId) {
57435
57465
  var own = footprints.filter(function (footprint) {
@@ -57851,7 +57881,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57851
57881
  break;
57852
57882
  case 9:
57853
57883
  _context5.next = 11;
57854
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-ff82e836.js'); });
57884
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-18b2dd94.js'); });
57855
57885
  case 11:
57856
57886
  _yield$import = _context5.sent;
57857
57887
  DivaStandardPlanner = _yield$import["default"];
@@ -57866,7 +57896,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57866
57896
  return _context5.abrupt("break", 22);
57867
57897
  case 16:
57868
57898
  _context5.next = 18;
57869
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-cf09f9fe.js'); });
57899
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-8567adfc.js'); });
57870
57900
  case 18:
57871
57901
  _yield$import2 = _context5.sent;
57872
57902
  DivaBoxPlanner = _yield$import2["default"];
@@ -59178,12 +59208,43 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
59178
59208
  LOG$5.debug('2D bbox: ', bbox.size);
59179
59209
  return bbox;
59180
59210
  }
59211
+
59212
+ /** The planning for the 3D host, without the options `alternateRenderInfo` hides. */
59213
+ }, {
59214
+ key: "buildPlannerData3D",
59215
+ value: function buildPlannerData3D(doShow3DDimensionLines, alternateRenderInfo) {
59216
+ var _this10 = this;
59217
+ var useSetPlanner = this.plannerHandlerFunctions.doAllowSetPlanner();
59218
+ var plannerData = this.handler3D.initPlannerData(useSetPlanner);
59219
+ var savedSetId = undefined;
59220
+ this.plannerList.forEach(function (planner, setId) {
59221
+ savedSetId = setId;
59222
+ var config = planner.getSetData(true, useSetPlanner, doShow3DDimensionLines, alternateRenderInfo);
59223
+ var setData = config.constructionSet;
59224
+
59225
+ //Add technical Info to setData
59226
+ var bboxInfo2D = _this10.get2DViewPlannerBoundingBox();
59227
+ setData.TechSize = {
59228
+ Width: bboxInfo2D.size.x,
59229
+ Height: bboxInfo2D.size.y,
59230
+ Depth: bboxInfo2D.size.z
59231
+ };
59232
+ plannerData.SCE.ROO[0].SET.push(setData);
59233
+ });
59234
+
59235
+ // if not in set planner mode overwrite s1 with correct setId
59236
+ if (savedSetId !== undefined && !useSetPlanner) {
59237
+ plannerData.SCE.ROO[0].SET[0].ID = savedSetId;
59238
+ plannerData.SCE.ROO[0].SelectSet = savedSetId;
59239
+ }
59240
+ return plannerData;
59241
+ }
59181
59242
  }, {
59182
59243
  key: "request3D",
59183
59244
  value: function () {
59184
59245
  var _request3D = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee20(doRequestRendering, doRequestHqRenderScript, alternateRenderingsExist, alternateRenderInfo, forceReloadPlanning, renderRequestInfos, hybrid3DInfo, useLatestHybridInfo) {
59185
- var _this10 = this;
59186
- var plannerData, loadedCatData, plannerExists, savedSetId;
59246
+ var _renderRequestInfos$d;
59247
+ var doShow3DDimensionLines, plannerData, fullPlanningData, loadedCatData, plannerExists;
59187
59248
  return _regeneratorRuntime__default["default"].wrap(function _callee20$(_context20) {
59188
59249
  while (1) switch (_context20.prev = _context20.next) {
59189
59250
  case 0:
@@ -59205,24 +59266,12 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
59205
59266
  LOG$5.warn('Warning requesting rendering. Not valid width or height request width: ' + renderRequestInfos.width + ' height: ' + renderRequestInfos.height);
59206
59267
  return _context20.abrupt("return");
59207
59268
  case 9:
59208
- plannerData = this.handler3D.initPlannerData(this.plannerHandlerFunctions.doAllowSetPlanner());
59269
+ doShow3DDimensionLines = (_renderRequestInfos$d = renderRequestInfos === null || renderRequestInfos === void 0 ? void 0 : renderRequestInfos.doShow3DDimensionLines) !== null && _renderRequestInfos$d !== void 0 ? _renderRequestInfos$d : false;
59270
+ plannerData = this.buildPlannerData3D(doShow3DDimensionLines, alternateRenderInfo); // The live script of a hidden option is all the handler gets: it needs the planning itself to tell the two apart.
59271
+ fullPlanningData = doRequestHqRenderScript && alternateRenderInfo !== null && alternateRenderInfo !== void 0 && alternateRenderInfo.hideOptionsIn3DImage.length ? this.buildPlannerData3D(doShow3DDimensionLines) : undefined;
59209
59272
  loadedCatData = [];
59210
59273
  plannerExists = false;
59211
- savedSetId = undefined;
59212
- this.plannerList.forEach(function (planner, setId) {
59213
- var _renderRequestInfos$d;
59214
- savedSetId = setId;
59215
- var config = planner.getSetData(true, _this10.plannerHandlerFunctions.doAllowSetPlanner(), (_renderRequestInfos$d = renderRequestInfos === null || renderRequestInfos === void 0 ? void 0 : renderRequestInfos.doShow3DDimensionLines) !== null && _renderRequestInfos$d !== void 0 ? _renderRequestInfos$d : false, alternateRenderInfo);
59216
- var setData = config.constructionSet;
59217
-
59218
- //Add technical Info to setData
59219
- var bboxInfo2D = _this10.get2DViewPlannerBoundingBox();
59220
- setData.TechSize = {
59221
- Width: bboxInfo2D.size.x,
59222
- Height: bboxInfo2D.size.y,
59223
- Depth: bboxInfo2D.size.z
59224
- };
59225
- plannerData.SCE.ROO[0].SET.push(setData);
59274
+ this.plannerList.forEach(function (planner) {
59226
59275
  plannerExists = true;
59227
59276
  var catalog = planner.getCatalogData();
59228
59277
  if (renderRequestInfos) renderRequestInfos.plannerMeasureDigits = catalog.PlannerMeasureDigits;
@@ -59236,17 +59285,13 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
59236
59285
  _context20.next = 19;
59237
59286
  break;
59238
59287
  }
59239
- // if not in set planner mode overwrite s1 with correct setId
59240
- if (!this.plannerHandlerFunctions.doAllowSetPlanner()) {
59241
- plannerData.SCE.ROO[0].SET[0].ID = savedSetId;
59242
- plannerData.SCE.ROO[0].SelectSet = savedSetId;
59243
- }
59244
59288
  _context20.next = 18;
59245
59289
  return this.handler3D.request3D({
59246
59290
  doRequestRendering: doRequestRendering,
59247
59291
  doRequestHqRenderScript: doRequestHqRenderScript,
59248
59292
  divaNr: this.divaNr,
59249
59293
  planningData: plannerData,
59294
+ fullPlanningData: fullPlanningData,
59250
59295
  catalogData: loadedCatData[0],
59251
59296
  renderRequestInfos: renderRequestInfos,
59252
59297
  forceReloadPlanning: forceReloadPlanning,
@@ -59759,8 +59804,8 @@ var DivaWebPlanner = /*#__PURE__*/function () {
59759
59804
  */
59760
59805
  _defineProperty__default["default"](this, "captureSetImages", /*#__PURE__*/function () {
59761
59806
  var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(setId) {
59762
- var _this$view12, _this$view$getCurrent, _this$alternateRestor, _this$view13;
59763
- var set, alternates, onlySetId, viewerReleased;
59807
+ var _this$view12, _this$view$getCurrent, _this$alternateRestor, _this$alternateToRest;
59808
+ var set, alternates, onlySetId, viewerReleased, showedHidingAlternate, guardFootprints, showAlternate, _this$view13;
59764
59809
  return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
59765
59810
  while (1) switch (_context3.prev = _context3.next) {
59766
59811
  case 0:
@@ -59773,54 +59818,76 @@ var DivaWebPlanner = /*#__PURE__*/function () {
59773
59818
  viewerReleased = new Promise(function (resolve) {
59774
59819
  _this.alternateRestored = resolve;
59775
59820
  });
59776
- return _context3.abrupt("return", (_this$view13 = _this.view) === null || _this$view13 === void 0 ? void 0 : _this$view13.captureSetImages(alternates, /*#__PURE__*/function () {
59821
+ showedHidingAlternate = false;
59822
+ guardFootprints = function guardFootprints() {
59823
+ if (showedHidingAlternate) return;
59824
+ showedHidingAlternate = true;
59825
+ _this.capturingHidingAlternates++;
59826
+ }; // A save that starts on the customer's view without doors swaps to the full planning first: that scene is mounted too.
59827
+ if ((_this$alternateToRest = _this.alternateToRestore) !== null && _this$alternateToRest !== void 0 && _this$alternateToRest.hideOptionsIn3DImage.length) guardFootprints();
59828
+ showAlternate = /*#__PURE__*/function () {
59777
59829
  var _ref3 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(alternate) {
59778
59830
  var _yield$set$plannerHan;
59779
59831
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
59780
59832
  while (1) switch (_context2.prev = _context2.next) {
59781
59833
  case 0:
59782
- _context2.next = 2;
59834
+ if (alternate !== null && alternate !== void 0 && alternate.hideOptionsIn3DImage.length) guardFootprints();
59835
+ _context2.next = 3;
59783
59836
  return set === null || set === void 0 ? void 0 : set.plannerHandler.saveSetHQRenderScript(alternate);
59784
- case 2:
59837
+ case 3:
59785
59838
  _context2.t1 = _yield$set$plannerHan = _context2.sent;
59786
59839
  _context2.t0 = _context2.t1 !== null;
59787
59840
  if (!_context2.t0) {
59788
- _context2.next = 6;
59841
+ _context2.next = 7;
59789
59842
  break;
59790
59843
  }
59791
59844
  _context2.t0 = _yield$set$plannerHan !== void 0;
59792
- case 6:
59845
+ case 7:
59793
59846
  if (!_context2.t0) {
59794
- _context2.next = 10;
59847
+ _context2.next = 11;
59795
59848
  break;
59796
59849
  }
59797
59850
  _context2.t2 = _yield$set$plannerHan;
59798
- _context2.next = 11;
59851
+ _context2.next = 12;
59799
59852
  break;
59800
- case 10:
59801
- _context2.t2 = false;
59802
59853
  case 11:
59803
- return _context2.abrupt("return", _context2.t2);
59854
+ _context2.t2 = false;
59804
59855
  case 12:
59856
+ return _context2.abrupt("return", _context2.t2);
59857
+ case 13:
59805
59858
  case "end":
59806
59859
  return _context2.stop();
59807
59860
  }
59808
59861
  }, _callee2);
59809
59862
  }));
59810
- return function (_x3) {
59863
+ return function showAlternate(_x3) {
59811
59864
  return _ref3.apply(this, arguments);
59812
59865
  };
59813
- }(), onlySetId, viewerReleased));
59814
- case 7:
59866
+ }();
59867
+ _context3.prev = 10;
59868
+ _context3.next = 13;
59869
+ return (_this$view13 = _this.view) === null || _this$view13 === void 0 ? void 0 : _this$view13.captureSetImages(alternates, showAlternate, onlySetId, viewerReleased);
59870
+ case 13:
59871
+ return _context3.abrupt("return", _context3.sent);
59872
+ case 14:
59873
+ _context3.prev = 14;
59874
+ if (showedHidingAlternate) _this.capturingHidingAlternates--;
59875
+ return _context3.finish(14);
59876
+ case 17:
59815
59877
  case "end":
59816
59878
  return _context3.stop();
59817
59879
  }
59818
- }, _callee3);
59880
+ }, _callee3, null, [[10,, 14, 17]]);
59819
59881
  }));
59820
59882
  return function (_x2) {
59821
59883
  return _ref2.apply(this, arguments);
59822
59884
  };
59823
59885
  }());
59886
+ /**
59887
+ * Captures of {@link captureSetImages} that showed an alternate hiding options (e.g. without doors) and are not done.
59888
+ * The viewer measures that scene until it shows the full planning again (see {@link setElementFootprints}).
59889
+ */
59890
+ _defineProperty__default["default"](this, "capturingHidingAlternates", 0);
59824
59891
  /** The alternate rendering a save took off the live viewer, shown again by {@link restoreAlternateRendering}. */
59825
59892
  _defineProperty__default["default"](this, "alternateToRestore", void 0);
59826
59893
  /** Releases the viewer's still of a save's {@link captureSetImages} once {@link restoreAlternateRendering} is done. */
@@ -62884,6 +62951,9 @@ var DivaWebPlanner = /*#__PURE__*/function () {
62884
62951
  key: "setElementFootprints",
62885
62952
  value: function setElementFootprints(footprints) {
62886
62953
  var _this$plannerHandler7;
62954
+ // A save's capture of an alternate (e.g. without doors): its extents are not the planning's, also while the full
62955
+ // planning is handed back but the alternate's scene is still mounted.
62956
+ if (this.capturingHidingAlternates > 0) return;
62887
62957
  if ((_this$plannerHandler7 = this.plannerHandler) !== null && _this$plannerHandler7 !== void 0 && _this$plannerHandler7.setElementFootprints(footprints)) this.updatePlannerView('ELEMENT_FOOTPRINTS');
62888
62958
  }
62889
62959