@crystaldesign/web-planner-logic 26.13.0-rc.9 → 26.13.1-rc.0

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 (35) hide show
  1. package/build/cjs/{DivaBoxPlanner-f97de3e6.js → DivaBoxPlanner-53fb3ae5.js} +2 -2
  2. package/build/cjs/{DivaStandardPlanner-4a1fd4af.js → DivaStandardPlanner-b46f6267.js} +2 -2
  3. package/build/cjs/{DoorPlanner-aa316570.js → DoorPlanner-f51953f5.js} +1 -1
  4. package/build/cjs/{Host3DSignalR-5455276f.js → Host3DSignalR-c88d4538.js} +1 -1
  5. package/build/cjs/{LiviqueWWSHandler-e2ec06bd.js → LiviqueWWSHandler-3b045813.js} +1 -1
  6. package/build/cjs/{PfisterWWSHandler-5c27c820.js → PfisterWWSHandler-00f45372.js} +1 -1
  7. package/build/cjs/{PlannerHandler2D-8e80956d.js → PlannerHandler2D-adc38873.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-ba413732.js → SeriousBasketHandler-1d1b2acd.js} +1 -1
  9. package/build/cjs/{ShelfPlanner-b5b5411e.js → ShelfPlanner-58864389.js} +1 -1
  10. package/build/cjs/{StandardWWSHandler-33f5f021.js → StandardWWSHandler-7e217e62.js} +1 -1
  11. package/build/cjs/{index-c714a61d.js → index-efedc2df.js} +146 -78
  12. package/build/cjs/index.js +1 -1
  13. package/build/esm/{DivaBoxPlanner-99fd3579.js → DivaBoxPlanner-45eb016b.js} +2 -2
  14. package/build/esm/{DivaStandardPlanner-cf20597a.js → DivaStandardPlanner-4758f866.js} +2 -2
  15. package/build/esm/{DoorPlanner-2ea81462.js → DoorPlanner-a4579229.js} +1 -1
  16. package/build/esm/{Host3DSignalR-9fecebf1.js → Host3DSignalR-bc058311.js} +1 -1
  17. package/build/esm/{LiviqueWWSHandler-6cffd070.js → LiviqueWWSHandler-b19f7c65.js} +1 -1
  18. package/build/esm/{PfisterWWSHandler-9d712034.js → PfisterWWSHandler-1629a131.js} +1 -1
  19. package/build/esm/{PlannerHandler2D-c2bc56a0.js → PlannerHandler2D-bbc10b09.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-790840ee.js → SeriousBasketHandler-d5097836.js} +1 -1
  21. package/build/esm/{ShelfPlanner-6e58efe9.js → ShelfPlanner-1bf7c5b9.js} +1 -1
  22. package/build/esm/{StandardWWSHandler-99c2d6cd.js → StandardWWSHandler-514c6ac8.js} +1 -1
  23. package/build/esm/{index-68183d49.js → index-c5450f2e.js} +146 -78
  24. package/build/esm/index.js +1 -1
  25. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +5 -0
  26. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts +2 -0
  28. package/build/types/web-planner-logic/src/logic/Planner/DivaPlannerHandler.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts +8 -0
  30. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts +4 -0
  32. package/build/types/web-planner-logic/src/logic/Planner/Rendering/types.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/test/hidingRenderScript.test.d.ts +2 -0
  34. package/build/types/web-planner-logic/src/test/hidingRenderScript.test.d.ts.map +1 -0
  35. package/package.json +3 -3
@@ -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-c714a61d.js');
8
+ var index = require('./index-efedc2df.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-8e80956d.js');
12
+ var PlannerHandler2D = require('./PlannerHandler2D-adc38873.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-c714a61d.js');
10
+ var index = require('./index-efedc2df.js');
11
11
  var DivaUtils = require('@crystaldesign/diva-utils');
12
12
  var plannerCore = require('@crystaldesign/planner-core');
13
- var PlannerHandler2D = require('./PlannerHandler2D-8e80956d.js');
13
+ var PlannerHandler2D = require('./PlannerHandler2D-adc38873.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-c714a61d.js');
6
+ require('./index-efedc2df.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-c714a61d.js');
8
+ var index = require('./index-efedc2df.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-c714a61d.js');
5
+ require('./index-efedc2df.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-c714a61d.js');
5
+ var index = require('./index-efedc2df.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-c714a61d.js');
8
+ var index = require('./index-efedc2df.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-c714a61d.js');
6
+ var index = require('./index-efedc2df.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-c714a61d.js');
9
+ var index = require('./index-efedc2df.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-c714a61d.js');
5
+ require('./index-efedc2df.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -34365,7 +34365,7 @@ var DivaArticle = /*#__PURE__*/function () {
34365
34365
  break;
34366
34366
  }
34367
34367
  _context.next = 4;
34368
- return Promise.resolve().then(function () { return require('./ShelfPlanner-b5b5411e.js'); });
34368
+ return Promise.resolve().then(function () { return require('./ShelfPlanner-58864389.js'); });
34369
34369
  case 4:
34370
34370
  _yield$import = _context.sent;
34371
34371
  ShelfPlanner = _yield$import["default"];
@@ -43214,7 +43214,7 @@ var DivaSet = /*#__PURE__*/function () {
43214
43214
  break;
43215
43215
  }
43216
43216
  _context5.next = 3;
43217
- return Promise.resolve().then(function () { return require('./DoorPlanner-aa316570.js'); });
43217
+ return Promise.resolve().then(function () { return require('./DoorPlanner-f51953f5.js'); });
43218
43218
  case 3:
43219
43219
  _yield$import = _context5.sent;
43220
43220
  DoorPlanner = _yield$import["default"];
@@ -51524,7 +51524,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51524
51524
  break;
51525
51525
  case 3:
51526
51526
  _context13.next = 5;
51527
- return Promise.resolve().then(function () { return require('./PfisterWWSHandler-5c27c820.js'); });
51527
+ return Promise.resolve().then(function () { return require('./PfisterWWSHandler-00f45372.js'); });
51528
51528
  case 5:
51529
51529
  _yield$import = _context13.sent;
51530
51530
  PfisterWWSHandler = _yield$import["default"];
@@ -51532,7 +51532,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51532
51532
  return _context13.abrupt("break", 27);
51533
51533
  case 9:
51534
51534
  _context13.next = 11;
51535
- return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-e2ec06bd.js'); });
51535
+ return Promise.resolve().then(function () { return require('./LiviqueWWSHandler-3b045813.js'); });
51536
51536
  case 11:
51537
51537
  _yield$import2 = _context13.sent;
51538
51538
  LiviqueWWSHandler = _yield$import2["default"];
@@ -51540,7 +51540,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51540
51540
  return _context13.abrupt("break", 27);
51541
51541
  case 15:
51542
51542
  _context13.next = 17;
51543
- return Promise.resolve().then(function () { return require('./SeriousBasketHandler-ba413732.js'); });
51543
+ return Promise.resolve().then(function () { return require('./SeriousBasketHandler-1d1b2acd.js'); });
51544
51544
  case 17:
51545
51545
  _yield$import3 = _context13.sent;
51546
51546
  SeriousWWSHandler = _yield$import3["default"];
@@ -51548,7 +51548,7 @@ var DivaBasketHandler = /*#__PURE__*/function () {
51548
51548
  return _context13.abrupt("break", 27);
51549
51549
  case 21:
51550
51550
  _context13.next = 23;
51551
- return Promise.resolve().then(function () { return require('./StandardWWSHandler-33f5f021.js'); });
51551
+ return Promise.resolve().then(function () { return require('./StandardWWSHandler-7e217e62.js'); });
51552
51552
  case 23:
51553
51553
  _yield$import4 = _context13.sent;
51554
51554
  StandardWWSHandler = _yield$import4["default"];
@@ -52710,6 +52710,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
52710
52710
  _defineProperty__default["default"](this, "lastSavedHQRenderScript", void 0);
52711
52711
  _defineProperty__default["default"](this, "lastRequestInput", void 0);
52712
52712
  _defineProperty__default["default"](this, "lastSavedAlternateRenderings", undefined);
52713
+ /** Planning hashes of render scripts requested for a rendering that hides options (e.g. without doors). */
52714
+ _defineProperty__default["default"](this, "hidingScriptHashes", new Set());
52715
+ /** Planning hash of the planning as it is now: a hiding rendering may come to the hash of an earlier planning. */
52716
+ _defineProperty__default["default"](this, "currentPlanningHash", void 0);
52717
+ /** Planning hash of the render script last handed to the view. */
52718
+ _defineProperty__default["default"](this, "shownScriptHash", void 0);
52713
52719
  _defineProperty__default["default"](this, "connectionHandler", void 0);
52714
52720
  _defineProperty__default["default"](this, "viewPointHandler", void 0);
52715
52721
  _defineProperty__default["default"](this, "getOrigConfiguration", void 0);
@@ -52946,7 +52952,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
52946
52952
  //If we need real time rendering initialize the SignalR and 3D host connection Handler
52947
52953
  bootMark('signalr: chunk import start');
52948
52954
  _context3.next = 3;
52949
- return Promise.resolve().then(function () { return require('./Host3DSignalR-5455276f.js'); });
52955
+ return Promise.resolve().then(function () { return require('./Host3DSignalR-c88d4538.js'); });
52950
52956
  case 3:
52951
52957
  _yield$import = _context3.sent;
52952
52958
  Host3DSignalR = _yield$import["default"];
@@ -53100,8 +53106,17 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53100
53106
  _iterator2.f();
53101
53107
  }
53102
53108
  this.sendARRenderScript(hqRenderScript, planningHash);
53109
+ this.shownScriptHash = planningHash;
53103
53110
  this.updatePlannerHqRenderScriptInView(hqRenderScript);
53104
53111
  }
53112
+
53113
+ /** Whether the view shows a render script that hides options of the planning (e.g. without doors): its 3D is not the planning's. */
53114
+ }, {
53115
+ key: "showsHidingRenderScript",
53116
+ value: function showsHidingRenderScript() {
53117
+ var hash = this.shownScriptHash;
53118
+ return hash !== undefined && this.hidingScriptHashes.has(hash) && hash !== this.currentPlanningHash;
53119
+ }
53105
53120
  }, {
53106
53121
  key: "handleReceiveRendering",
53107
53122
  value:
@@ -53468,8 +53483,10 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53468
53483
  key: "request3D",
53469
53484
  value: (function () {
53470
53485
  var _request3D = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee8(params) {
53471
- var _params$renderRequest, _params$renderRequest2, _params$renderRequest3, _params$renderRequest4, _params$renderRequest5, _params$renderRequest6, _this$viewPointHandle, _this$viewPointHandle2;
53472
- var room, newRenderSize, doReloadWholePlanning, hybridInfo, planningHash, requestRenderingFrom3DHost, requestHqRenderScriptFrom3DHost, rendering, renderHash, viewPointName, functionType, _hybridInfo, sizeInfo, _rendering, fullscreenRendering, renderingInCacheFound, _this$connectionHandl6, _plannerMeasureDigits, _hybridInfo2, _hybridInfo3, returnRequest;
53486
+ var _this2 = this,
53487
+ _this$viewPointHandle,
53488
+ _this$viewPointHandle2;
53489
+ 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;
53473
53490
  return _regeneratorRuntime__default["default"].wrap(function _callee8$(_context8) {
53474
53491
  while (1) switch (_context8.prev = _context8.next) {
53475
53492
  case 0:
@@ -53490,7 +53507,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53490
53507
  LOG$4.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");
53491
53508
  }
53492
53509
  room = this.viewPointHandler.getCurRoomCodex();
53493
- 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);
53510
+ setRoomInfo = function setRoomInfo(planningData) {
53511
+ var _params$renderRequest, _params$renderRequest2, _params$renderRequest3, _params$renderRequest4, _params$renderRequest5, _params$renderRequest6;
53512
+ 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);
53513
+ };
53514
+ newRenderSize = setRoomInfo(params.planningData); // Part of the hash: the two plannings only compare with the same room info.
53515
+ if (params.fullPlanningData) setRoomInfo(params.fullPlanningData);
53494
53516
  doReloadWholePlanning = true;
53495
53517
  if (params.doRequestRendering) {
53496
53518
  params.renderRequestInfos.width = newRenderSize.newRenderWidth;
@@ -53525,9 +53547,13 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53525
53547
  requestRenderingFrom3DHost = false;
53526
53548
  requestHqRenderScriptFrom3DHost = false;
53527
53549
  if (params.doRequestHqRenderScript) {
53550
+ // An alternate that hides nothing of this planning has the planning's own script (see showsHidingRenderScript).
53551
+ if ((_params$alternateRend = params.alternateRenderInfo) !== null && _params$alternateRend !== void 0 && _params$alternateRend.hideOptionsIn3DImage.length) this.hidingScriptHashes.add(planningHash);
53552
+ this.currentPlanningHash = params.fullPlanningData ? DivaUtils.md5(JSON.stringify(params.fullPlanningData)) : planningHash;
53528
53553
  rendering = this.hqRenderScriptCache.get(planningHash);
53529
53554
  if (rendering && !params.useLatestHybridInfo) {
53530
53555
  this.lastSavedHQRenderScript = JSON.parse(rendering.HQRenderScript);
53556
+ this.shownScriptHash = planningHash;
53531
53557
  this.updatePlannerHqRenderScriptInView(rendering);
53532
53558
  this.sendARRenderScript(rendering, planningHash);
53533
53559
  params.doRequestHqRenderScript = false;
@@ -53587,7 +53613,7 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53587
53613
  divaNr: params.divaNr
53588
53614
  };
53589
53615
  if (!(requestHqRenderScriptFrom3DHost || requestRenderingFrom3DHost)) {
53590
- _context8.next = 40;
53616
+ _context8.next = 42;
53591
53617
  break;
53592
53618
  }
53593
53619
  if (params.catalogData.lang) params.planningData.SCE.Lang = params.catalogData.lang;
@@ -53620,14 +53646,14 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53620
53646
  if ((_hybridInfo2 = hybridInfo) !== null && _hybridInfo2 !== void 0 && _hybridInfo2.currentCamera) this.currentCamera = (_hybridInfo3 = hybridInfo) === null || _hybridInfo3 === void 0 ? void 0 : _hybridInfo3.currentCamera;
53621
53647
  this.latestHybridInfo = hybridInfo;
53622
53648
  if (!(returnRequest === undefined || requestHqRenderScriptFrom3DHost && returnRequest.hqRenderScript == undefined || requestRenderingFrom3DHost && returnRequest.rendering == undefined)) {
53623
- _context8.next = 38;
53649
+ _context8.next = 40;
53624
53650
  break;
53625
53651
  }
53626
53652
  LOG$4.error(new DivaUtils.DivaError('Error requesting the 3D from host. RequestHqRenderScript: ' + requestHqRenderScriptFrom3DHost + '; RequestRendering: ' + requestRenderingFrom3DHost, {
53627
53653
  code: 'WC_0013'
53628
53654
  }));
53629
53655
  return _context8.abrupt("return");
53630
- case 38:
53656
+ case 40:
53631
53657
  if (requestHqRenderScriptFrom3DHost) {
53632
53658
  if (this.waitForHQRenderScript.has(planningHash)) this.waitForHQRenderScript["delete"](planningHash);
53633
53659
  this.waitForHQRenderScript.set(planningHash, returnRequest.hqRenderScript);
@@ -53639,12 +53665,12 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53639
53665
  if (returnRequest.rendering.getIsAlternateRendering()) this.addAlternateRenderingToSavedAlternateRenderings(returnRequest.rendering);else this.lastSavedRendering = returnRequest.rendering;
53640
53666
  }
53641
53667
  }
53642
- case 40:
53668
+ case 42:
53643
53669
  return _context8.abrupt("return", {
53644
53670
  planningHash: planningHash,
53645
53671
  renderHash: renderHash
53646
53672
  });
53647
- case 41:
53673
+ case 43:
53648
53674
  case "end":
53649
53675
  return _context8.stop();
53650
53676
  }
@@ -53855,14 +53881,14 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53855
53881
  key: "openARObserverConnection",
53856
53882
  value: function openARObserverConnection(handleNoHqrs, renderer) {
53857
53883
  var _this$liveArConnectio,
53858
- _this2 = this;
53884
+ _this3 = this;
53859
53885
  this.liveArRenderer = renderer;
53860
53886
  (_this$liveArConnectio = this.liveArConnection) !== null && _this$liveArConnectio !== void 0 ? _this$liveArConnectio : this.liveArConnection = this.connectLiveAr(handleNoHqrs)["catch"](function (error) {
53861
- var _this2$liveArSocket;
53887
+ var _this3$liveArSocket;
53862
53888
  // The next call connects anew; the failed socket must not keep reconnecting meanwhile.
53863
- (_this2$liveArSocket = _this2.liveArSocket) === null || _this2$liveArSocket === void 0 || _this2$liveArSocket.close();
53864
- _this2.liveArSocket = undefined;
53865
- _this2.liveArConnection = undefined;
53889
+ (_this3$liveArSocket = _this3.liveArSocket) === null || _this3$liveArSocket === void 0 || _this3$liveArSocket.close();
53890
+ _this3.liveArSocket = undefined;
53891
+ _this3.liveArConnection = undefined;
53866
53892
  throw error;
53867
53893
  });
53868
53894
  return this.liveArConnection;
@@ -53870,45 +53896,45 @@ var PlannerHandler3D = /*#__PURE__*/function () {
53870
53896
  }, {
53871
53897
  key: "connectLiveAr",
53872
53898
  value: function connectLiveAr(handleNoHqrs) {
53873
- var _this3 = this;
53899
+ var _this4 = this;
53874
53900
  return new Promise(function (resolve, reject) {
53875
- if (!_this3.liveArViewerUrl) return reject(new Error('No Live AR Viewer URL set'));
53901
+ if (!_this4.liveArViewerUrl) return reject(new Error('No Live AR Viewer URL set'));
53876
53902
  try {
53877
- var socketUrl = new URL(_this3.renderSettings.DivaMediaServiceUrl);
53878
- _this3.liveArSocket = io.io(socketUrl.origin + '/live-ar', {
53903
+ var socketUrl = new URL(_this4.renderSettings.DivaMediaServiceUrl);
53904
+ _this4.liveArSocket = io.io(socketUrl.origin + '/live-ar', {
53879
53905
  forceNew: true,
53880
53906
  rejectUnauthorized: false,
53881
53907
  path: socketUrl.pathname + '/socket.io',
53882
53908
  auth: {
53883
- jwt: _this3.jwt
53909
+ jwt: _this4.jwt
53884
53910
  }
53885
53911
  });
53886
- _this3.liveArSocket.on('disconnect', function () {
53912
+ _this4.liveArSocket.on('disconnect', function () {
53887
53913
  LOG$4.error(new DivaUtils.DivaError('AR Socket disconnected'));
53888
53914
  });
53889
- _this3.liveArSocket.on('observer-joined', function () {
53890
- var _this3$liveArSocket;
53915
+ _this4.liveArSocket.on('observer-joined', function () {
53916
+ var _this4$liveArSocket;
53891
53917
  LOG$4.debug('AR Observer joined');
53892
- _this3.liveArClientsConnected = true;
53893
- var hqRenderScript = _this3.lastSavedHQRenderScript;
53894
- if (hqRenderScript) (_this3$liveArSocket = _this3.liveArSocket) === null || _this3$liveArSocket === void 0 || _this3$liveArSocket.emit('update', _this3.liveArUpdate(JSON.stringify(hqRenderScript)));else {
53918
+ _this4.liveArClientsConnected = true;
53919
+ var hqRenderScript = _this4.lastSavedHQRenderScript;
53920
+ if (hqRenderScript) (_this4$liveArSocket = _this4.liveArSocket) === null || _this4$liveArSocket === void 0 || _this4$liveArSocket.emit('update', _this4.liveArUpdate(JSON.stringify(hqRenderScript)));else {
53895
53921
  LOG$4.debug('No HQRenderScript found for observer-joined');
53896
53922
  handleNoHqrs();
53897
53923
  }
53898
53924
  });
53899
- _this3.liveArSocket.on('observer-left', function () {
53925
+ _this4.liveArSocket.on('observer-left', function () {
53900
53926
  LOG$4.debug('AR Observer left');
53901
- _this3.liveArClientsConnected = false;
53927
+ _this4.liveArClientsConnected = false;
53902
53928
  });
53903
- _this3.liveArSocket.on('connected', function (data) {
53929
+ _this4.liveArSocket.on('connected', function (data) {
53904
53930
  LOG$4.debug('AR Socket connected ' + data.connectionId);
53905
- _this3.liveArSocket.auth = _objectSpread$c(_objectSpread$c({}, _this3.liveArSocket.auth), {}, {
53931
+ _this4.liveArSocket.auth = _objectSpread$c(_objectSpread$c({}, _this4.liveArSocket.auth), {}, {
53906
53932
  connectionId: data.connectionId
53907
53933
  });
53908
53934
  var applyConfiguratorSessionId = DivaUtils__default["default"].ConfigurationId ? '&configurationId=' + DivaUtils__default["default"].ConfigurationId : '';
53909
- resolve(_this3.liveArViewerUrl + '?liveArConnectionId=' + data.connectionId + '&organizationId=' + _this3.renderSettings.OrganizationId + '&divaSessionId=' + DivaUtils__default["default"].SessionId + applyConfiguratorSessionId);
53935
+ resolve(_this4.liveArViewerUrl + '?liveArConnectionId=' + data.connectionId + '&organizationId=' + _this4.renderSettings.OrganizationId + '&divaSessionId=' + DivaUtils__default["default"].SessionId + applyConfiguratorSessionId);
53910
53936
  });
53911
- _this3.liveArSocket.on('connect_error', function (err) {
53937
+ _this4.liveArSocket.on('connect_error', function (err) {
53912
53938
  return reject(err);
53913
53939
  });
53914
53940
  } catch (err) {
@@ -56931,6 +56957,8 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
56931
56957
  }, {
56932
56958
  key: "setElementFootprints",
56933
56959
  value: function setElementFootprints(footprints) {
56960
+ // Measured on a rendering with options hidden (a basket image without doors): those are not the planning's extents.
56961
+ if (this.handler3D.showsHidingRenderScript()) return false;
56934
56962
  var moved = false;
56935
56963
  this.plannerList.forEach(function (planner, setId) {
56936
56964
  var own = footprints.filter(function (footprint) {
@@ -57352,7 +57380,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57352
57380
  break;
57353
57381
  case 9:
57354
57382
  _context5.next = 11;
57355
- return Promise.resolve().then(function () { return require('./DivaStandardPlanner-4a1fd4af.js'); });
57383
+ return Promise.resolve().then(function () { return require('./DivaStandardPlanner-b46f6267.js'); });
57356
57384
  case 11:
57357
57385
  _yield$import = _context5.sent;
57358
57386
  DivaStandardPlanner = _yield$import["default"];
@@ -57367,7 +57395,7 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
57367
57395
  return _context5.abrupt("break", 22);
57368
57396
  case 16:
57369
57397
  _context5.next = 18;
57370
- return Promise.resolve().then(function () { return require('./DivaBoxPlanner-f97de3e6.js'); });
57398
+ return Promise.resolve().then(function () { return require('./DivaBoxPlanner-53fb3ae5.js'); });
57371
57399
  case 18:
57372
57400
  _yield$import2 = _context5.sent;
57373
57401
  DivaBoxPlanner = _yield$import2["default"];
@@ -58570,12 +58598,43 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
58570
58598
  LOG$3.debug('2D bbox: ', bbox.size);
58571
58599
  return bbox;
58572
58600
  }
58601
+
58602
+ /** The planning for the 3D host, without the options `alternateRenderInfo` hides. */
58603
+ }, {
58604
+ key: "buildPlannerData3D",
58605
+ value: function buildPlannerData3D(doShow3DDimensionLines, alternateRenderInfo) {
58606
+ var _this10 = this;
58607
+ var useSetPlanner = this.plannerHandlerFunctions.doAllowSetPlanner();
58608
+ var plannerData = this.handler3D.initPlannerData(useSetPlanner);
58609
+ var savedSetId = undefined;
58610
+ this.plannerList.forEach(function (planner, setId) {
58611
+ savedSetId = setId;
58612
+ var config = planner.getSetData(true, useSetPlanner, doShow3DDimensionLines, alternateRenderInfo);
58613
+ var setData = config.constructionSet;
58614
+
58615
+ //Add technical Info to setData
58616
+ var bboxInfo2D = _this10.get2DViewPlannerBoundingBox();
58617
+ setData.TechSize = {
58618
+ Width: bboxInfo2D.size.x,
58619
+ Height: bboxInfo2D.size.y,
58620
+ Depth: bboxInfo2D.size.z
58621
+ };
58622
+ plannerData.SCE.ROO[0].SET.push(setData);
58623
+ });
58624
+
58625
+ // if not in set planner mode overwrite s1 with correct setId
58626
+ if (savedSetId !== undefined && !useSetPlanner) {
58627
+ plannerData.SCE.ROO[0].SET[0].ID = savedSetId;
58628
+ plannerData.SCE.ROO[0].SelectSet = savedSetId;
58629
+ }
58630
+ return plannerData;
58631
+ }
58573
58632
  }, {
58574
58633
  key: "request3D",
58575
58634
  value: function () {
58576
58635
  var _request3D = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee19(doRequestRendering, doRequestHqRenderScript, alternateRenderingsExist, alternateRenderInfo, forceReloadPlanning, renderRequestInfos, hybrid3DInfo, useLatestHybridInfo) {
58577
- var _this10 = this;
58578
- var plannerData, loadedCatData, plannerExists, savedSetId;
58636
+ var _renderRequestInfos$d;
58637
+ var doShow3DDimensionLines, plannerData, fullPlanningData, loadedCatData, plannerExists;
58579
58638
  return _regeneratorRuntime__default["default"].wrap(function _callee19$(_context19) {
58580
58639
  while (1) switch (_context19.prev = _context19.next) {
58581
58640
  case 0:
@@ -58597,24 +58656,12 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
58597
58656
  LOG$3.warn('Warning requesting rendering. Not valid width or height request width: ' + renderRequestInfos.width + ' height: ' + renderRequestInfos.height);
58598
58657
  return _context19.abrupt("return");
58599
58658
  case 9:
58600
- plannerData = this.handler3D.initPlannerData(this.plannerHandlerFunctions.doAllowSetPlanner());
58659
+ doShow3DDimensionLines = (_renderRequestInfos$d = renderRequestInfos === null || renderRequestInfos === void 0 ? void 0 : renderRequestInfos.doShow3DDimensionLines) !== null && _renderRequestInfos$d !== void 0 ? _renderRequestInfos$d : false;
58660
+ 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.
58661
+ fullPlanningData = doRequestHqRenderScript && alternateRenderInfo !== null && alternateRenderInfo !== void 0 && alternateRenderInfo.hideOptionsIn3DImage.length ? this.buildPlannerData3D(doShow3DDimensionLines) : undefined;
58601
58662
  loadedCatData = [];
58602
58663
  plannerExists = false;
58603
- savedSetId = undefined;
58604
- this.plannerList.forEach(function (planner, setId) {
58605
- var _renderRequestInfos$d;
58606
- savedSetId = setId;
58607
- 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);
58608
- var setData = config.constructionSet;
58609
-
58610
- //Add technical Info to setData
58611
- var bboxInfo2D = _this10.get2DViewPlannerBoundingBox();
58612
- setData.TechSize = {
58613
- Width: bboxInfo2D.size.x,
58614
- Height: bboxInfo2D.size.y,
58615
- Depth: bboxInfo2D.size.z
58616
- };
58617
- plannerData.SCE.ROO[0].SET.push(setData);
58664
+ this.plannerList.forEach(function (planner) {
58618
58665
  plannerExists = true;
58619
58666
  var catalog = planner.getCatalogData();
58620
58667
  if (renderRequestInfos) renderRequestInfos.plannerMeasureDigits = catalog.PlannerMeasureDigits;
@@ -58628,17 +58675,13 @@ var DivaPlannerHandler = /*#__PURE__*/function () {
58628
58675
  _context19.next = 19;
58629
58676
  break;
58630
58677
  }
58631
- // if not in set planner mode overwrite s1 with correct setId
58632
- if (!this.plannerHandlerFunctions.doAllowSetPlanner()) {
58633
- plannerData.SCE.ROO[0].SET[0].ID = savedSetId;
58634
- plannerData.SCE.ROO[0].SelectSet = savedSetId;
58635
- }
58636
58678
  _context19.next = 18;
58637
58679
  return this.handler3D.request3D({
58638
58680
  doRequestRendering: doRequestRendering,
58639
58681
  doRequestHqRenderScript: doRequestHqRenderScript,
58640
58682
  divaNr: this.divaNr,
58641
58683
  planningData: plannerData,
58684
+ fullPlanningData: fullPlanningData,
58642
58685
  catalogData: loadedCatData[0],
58643
58686
  renderRequestInfos: renderRequestInfos,
58644
58687
  forceReloadPlanning: forceReloadPlanning,
@@ -59032,8 +59075,8 @@ var DivaWebPlanner = /*#__PURE__*/function () {
59032
59075
  */
59033
59076
  _defineProperty__default["default"](this, "captureSetImages", /*#__PURE__*/function () {
59034
59077
  var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(setId) {
59035
- var _this$view12, _this$view$getCurrent, _this$alternateRestor, _this$view13;
59036
- var set, alternates, onlySetId, viewerReleased;
59078
+ var _this$view12, _this$view$getCurrent, _this$alternateRestor, _this$alternateToRest;
59079
+ var set, alternates, onlySetId, viewerReleased, showedHidingAlternate, guardFootprints, showAlternate, _this$view13;
59037
59080
  return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
59038
59081
  while (1) switch (_context3.prev = _context3.next) {
59039
59082
  case 0:
@@ -59046,54 +59089,76 @@ var DivaWebPlanner = /*#__PURE__*/function () {
59046
59089
  viewerReleased = new Promise(function (resolve) {
59047
59090
  _this.alternateRestored = resolve;
59048
59091
  });
59049
- return _context3.abrupt("return", (_this$view13 = _this.view) === null || _this$view13 === void 0 ? void 0 : _this$view13.captureSetImages(alternates, /*#__PURE__*/function () {
59092
+ showedHidingAlternate = false;
59093
+ guardFootprints = function guardFootprints() {
59094
+ if (showedHidingAlternate) return;
59095
+ showedHidingAlternate = true;
59096
+ _this.capturingHidingAlternates++;
59097
+ }; // A save that starts on the customer's view without doors swaps to the full planning first: that scene is mounted too.
59098
+ if ((_this$alternateToRest = _this.alternateToRestore) !== null && _this$alternateToRest !== void 0 && _this$alternateToRest.hideOptionsIn3DImage.length) guardFootprints();
59099
+ showAlternate = /*#__PURE__*/function () {
59050
59100
  var _ref3 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(alternate) {
59051
59101
  var _yield$set$plannerHan;
59052
59102
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
59053
59103
  while (1) switch (_context2.prev = _context2.next) {
59054
59104
  case 0:
59055
- _context2.next = 2;
59105
+ if (alternate !== null && alternate !== void 0 && alternate.hideOptionsIn3DImage.length) guardFootprints();
59106
+ _context2.next = 3;
59056
59107
  return set === null || set === void 0 ? void 0 : set.plannerHandler.saveSetHQRenderScript(alternate);
59057
- case 2:
59108
+ case 3:
59058
59109
  _context2.t1 = _yield$set$plannerHan = _context2.sent;
59059
59110
  _context2.t0 = _context2.t1 !== null;
59060
59111
  if (!_context2.t0) {
59061
- _context2.next = 6;
59112
+ _context2.next = 7;
59062
59113
  break;
59063
59114
  }
59064
59115
  _context2.t0 = _yield$set$plannerHan !== void 0;
59065
- case 6:
59116
+ case 7:
59066
59117
  if (!_context2.t0) {
59067
- _context2.next = 10;
59118
+ _context2.next = 11;
59068
59119
  break;
59069
59120
  }
59070
59121
  _context2.t2 = _yield$set$plannerHan;
59071
- _context2.next = 11;
59122
+ _context2.next = 12;
59072
59123
  break;
59073
- case 10:
59074
- _context2.t2 = false;
59075
59124
  case 11:
59076
- return _context2.abrupt("return", _context2.t2);
59125
+ _context2.t2 = false;
59077
59126
  case 12:
59127
+ return _context2.abrupt("return", _context2.t2);
59128
+ case 13:
59078
59129
  case "end":
59079
59130
  return _context2.stop();
59080
59131
  }
59081
59132
  }, _callee2);
59082
59133
  }));
59083
- return function (_x3) {
59134
+ return function showAlternate(_x3) {
59084
59135
  return _ref3.apply(this, arguments);
59085
59136
  };
59086
- }(), onlySetId, viewerReleased));
59087
- case 7:
59137
+ }();
59138
+ _context3.prev = 10;
59139
+ _context3.next = 13;
59140
+ return (_this$view13 = _this.view) === null || _this$view13 === void 0 ? void 0 : _this$view13.captureSetImages(alternates, showAlternate, onlySetId, viewerReleased);
59141
+ case 13:
59142
+ return _context3.abrupt("return", _context3.sent);
59143
+ case 14:
59144
+ _context3.prev = 14;
59145
+ if (showedHidingAlternate) _this.capturingHidingAlternates--;
59146
+ return _context3.finish(14);
59147
+ case 17:
59088
59148
  case "end":
59089
59149
  return _context3.stop();
59090
59150
  }
59091
- }, _callee3);
59151
+ }, _callee3, null, [[10,, 14, 17]]);
59092
59152
  }));
59093
59153
  return function (_x2) {
59094
59154
  return _ref2.apply(this, arguments);
59095
59155
  };
59096
59156
  }());
59157
+ /**
59158
+ * Captures of {@link captureSetImages} that showed an alternate hiding options (e.g. without doors) and are not done.
59159
+ * The viewer measures that scene until it shows the full planning again (see {@link setElementFootprints}).
59160
+ */
59161
+ _defineProperty__default["default"](this, "capturingHidingAlternates", 0);
59097
59162
  /** The alternate rendering a save took off the live viewer, shown again by {@link restoreAlternateRendering}. */
59098
59163
  _defineProperty__default["default"](this, "alternateToRestore", void 0);
59099
59164
  /** Releases the viewer's still of a save's {@link captureSetImages} once {@link restoreAlternateRendering} is done. */
@@ -62092,6 +62157,9 @@ var DivaWebPlanner = /*#__PURE__*/function () {
62092
62157
  key: "setElementFootprints",
62093
62158
  value: function setElementFootprints(footprints) {
62094
62159
  var _this$plannerHandler7;
62160
+ // A save's capture of an alternate (e.g. without doors): its extents are not the planning's, also while the full
62161
+ // planning is handed back but the alternate's scene is still mounted.
62162
+ if (this.capturingHidingAlternates > 0) return;
62095
62163
  if ((_this$plannerHandler7 = this.plannerHandler) !== null && _this$plannerHandler7 !== void 0 && _this$plannerHandler7.setElementFootprints(footprints)) this.updatePlannerView('ELEMENT_FOOTPRINTS');
62096
62164
  }
62097
62165
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var index = require('./index-c714a61d.js');
5
+ var index = require('./index-efedc2df.js');
6
6
  var plannerCore = require('@crystaldesign/planner-core');
7
7
  require('@babel/runtime/helpers/slicedToArray');
8
8
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -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 { u as Vector2, V as Vector3, P as PlannerElementData, J as BoundingBox } from './index-68183d49.js';
6
+ import { u as Vector2, V as Vector3, P as PlannerElementData, J as BoundingBox } from './index-c5450f2e.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-c2bc56a0.js';
10
+ import { d as dockingPointHandlerInst, h as handler2D } from './PlannerHandler2D-bbc10b09.js';
11
11
  import '@babel/runtime/helpers/objectWithoutProperties';
12
12
  import 'axios';
13
13
  import '@babel/runtime/helpers/typeof';