@crystaldesign/web-planner-logic 26.13.0-beta.2 → 26.13.0-beta.20

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 (95) hide show
  1. package/build/cjs/{DivaBoxPlanner-09506958.js → DivaBoxPlanner-cf785c8e.js} +4 -3
  2. package/build/cjs/{DivaStandardPlanner-3afaa9dc.js → DivaStandardPlanner-76758261.js} +4 -3
  3. package/build/cjs/{DoorPlanner-b7dc9d75.js → DoorPlanner-322b433f.js} +3 -2
  4. package/build/cjs/{Host3DSignalR-af1273a3.js → Host3DSignalR-720088d4.js} +63 -19
  5. package/build/cjs/{LiviqueWWSHandler-f90e47e8.js → LiviqueWWSHandler-ea49263b.js} +3 -2
  6. package/build/cjs/{PfisterWWSHandler-44e98549.js → PfisterWWSHandler-61d7dc26.js} +3 -2
  7. package/build/cjs/{PlannerHandler2D-8655bcdb.js → PlannerHandler2D-cd71fcd3.js} +1 -1
  8. package/build/cjs/{SeriousBasketHandler-da58bfd5.js → SeriousBasketHandler-966ca145.js} +3 -2
  9. package/build/cjs/{ShelfPlanner-fa17b8ac.js → ShelfPlanner-3a790d65.js} +13 -2
  10. package/build/cjs/{StandardWWSHandler-84ff60ba.js → StandardWWSHandler-b565c684.js} +3 -2
  11. package/build/cjs/{index-0075f2cf.js → index-dfe2c0e3.js} +1622 -1134
  12. package/build/cjs/index.js +3 -7
  13. package/build/esm/{DivaBoxPlanner-f98e012b.js → DivaBoxPlanner-570bd517.js} +4 -3
  14. package/build/esm/{DivaStandardPlanner-9436f998.js → DivaStandardPlanner-712385df.js} +4 -3
  15. package/build/esm/{DoorPlanner-5725f710.js → DoorPlanner-3670fee0.js} +3 -2
  16. package/build/esm/{Host3DSignalR-d160a5ff.js → Host3DSignalR-68938df9.js} +63 -19
  17. package/build/esm/{LiviqueWWSHandler-1bef5d2e.js → LiviqueWWSHandler-2cd9654b.js} +3 -2
  18. package/build/esm/{PfisterWWSHandler-967a27ec.js → PfisterWWSHandler-7593c211.js} +3 -2
  19. package/build/esm/{PlannerHandler2D-00b50d01.js → PlannerHandler2D-487406e6.js} +1 -1
  20. package/build/esm/{SeriousBasketHandler-7563dbf3.js → SeriousBasketHandler-b13a4be4.js} +3 -2
  21. package/build/esm/{ShelfPlanner-58042ac8.js → ShelfPlanner-8eeb52df.js} +13 -2
  22. package/build/esm/{StandardWWSHandler-25e8eec4.js → StandardWWSHandler-33aac025.js} +3 -2
  23. package/build/esm/{index-6188684c.js → index-0d6a39cb.js} +1622 -1130
  24. package/build/esm/index.js +3 -2
  25. package/build/types/web-planner-logic/src/index.d.ts +1 -7
  26. package/build/types/web-planner-logic/src/index.d.ts.map +1 -1
  27. package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts +4 -2
  28. package/build/types/web-planner-logic/src/interface/AdditionalModelInfos.d.ts.map +1 -1
  29. package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts +6 -2
  30. package/build/types/web-planner-logic/src/interface/Articles/AccessoireItemType.d.ts.map +1 -1
  31. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts +2 -0
  32. package/build/types/web-planner-logic/src/interface/Articles/CatalogArticleDataType.d.ts.map +1 -1
  33. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts +1 -0
  34. package/build/types/web-planner-logic/src/interface/Articles/PartListArticleToLoadType.d.ts.map +1 -1
  35. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts +2 -0
  36. package/build/types/web-planner-logic/src/interface/DivaCatalogDataType.d.ts.map +1 -1
  37. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts +2 -3
  38. package/build/types/web-planner-logic/src/interface/IDM/ArticleApi.d.ts.map +1 -1
  39. package/build/types/web-planner-logic/src/interface/Planner/IDM3DTranslation.d.ts +20 -0
  40. package/build/types/web-planner-logic/src/interface/Planner/IDM3DTranslation.d.ts.map +1 -0
  41. package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts +1 -1
  42. package/build/types/web-planner-logic/src/interface/webPlannerParams/WebPlannerParamsType.d.ts.map +1 -1
  43. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts +28 -0
  44. package/build/types/web-planner-logic/src/logic/Article/DivaArticle.d.ts.map +1 -1
  45. package/build/types/web-planner-logic/src/logic/Article/DivaArticleHandler.d.ts.map +1 -1
  46. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts +1 -0
  47. package/build/types/web-planner-logic/src/logic/Article/Engine/IDMArticleEngine.d.ts.map +1 -1
  48. package/build/types/web-planner-logic/src/logic/Article/mandatoryAccessories.d.ts +3 -1
  49. package/build/types/web-planner-logic/src/logic/Article/mandatoryAccessories.d.ts.map +1 -1
  50. package/build/types/web-planner-logic/src/logic/ConfigTree/DivaConfigTree.d.ts.map +1 -1
  51. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts +5 -0
  52. package/build/types/web-planner-logic/src/logic/ConfigTree/Shelfplanner/ShelfPlanner.d.ts.map +1 -1
  53. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts +5 -1
  54. package/build/types/web-planner-logic/src/logic/DivaWebPlanner.d.ts.map +1 -1
  55. package/build/types/web-planner-logic/src/logic/Planner/IDM3D/idm3dTranslation.d.ts +33 -0
  56. package/build/types/web-planner-logic/src/logic/Planner/IDM3D/idm3dTranslation.d.ts.map +1 -0
  57. package/build/types/web-planner-logic/src/logic/Planner/Rendering/Host3DSignalR.d.ts +1 -0
  58. package/build/types/web-planner-logic/src/logic/Planner/Rendering/Host3DSignalR.d.ts.map +1 -1
  59. package/build/types/web-planner-logic/src/logic/Planner/Rendering/PlannerHandler3D.d.ts.map +1 -1
  60. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts +4 -0
  61. package/build/types/web-planner-logic/src/logic/Set/DivaSetHandler.d.ts.map +1 -1
  62. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts +1 -0
  63. package/build/types/web-planner-logic/src/model/Articles/Article/CatalogArticleData.d.ts.map +1 -1
  64. package/build/types/web-planner-logic/src/model/Articles/Article/DivaCatalogArticle.d.ts.map +1 -1
  65. package/build/types/web-planner-logic/src/model/Articles/Article/IDMCatalogArticle.d.ts.map +1 -1
  66. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts +1 -0
  67. package/build/types/web-planner-logic/src/model/Catalog/CatalogData.d.ts.map +1 -1
  68. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts +3 -0
  69. package/build/types/web-planner-logic/src/model/Catalog/DivaCatalogData.d.ts.map +1 -1
  70. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts +4 -2
  71. package/build/types/web-planner-logic/src/model/Catalog/IDMCatalogData.d.ts.map +1 -1
  72. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts +2 -3
  73. package/build/types/web-planner-logic/src/model/Options/CatalogOptionData.d.ts.map +1 -1
  74. package/build/types/web-planner-logic/src/model/Options/CatalogOptionValueData.d.ts.map +1 -1
  75. package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts +23 -11
  76. package/build/types/web-planner-logic/src/model/Properties/propertySchemaRegistry.d.ts.map +1 -1
  77. package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts +1 -34
  78. package/build/types/web-planner-logic/src/model/Properties/propertyValueCodec.d.ts.map +1 -1
  79. package/build/types/web-planner-logic/src/model/Properties/propertyValues.d.ts +41 -0
  80. package/build/types/web-planner-logic/src/model/Properties/propertyValues.d.ts.map +1 -0
  81. package/build/types/web-planner-logic/src/test/bundleRulesOwnPartlist.test.d.ts +2 -0
  82. package/build/types/web-planner-logic/src/test/bundleRulesOwnPartlist.test.d.ts.map +1 -0
  83. package/build/types/web-planner-logic/src/test/getConfigStepKeyOfAccessoire.test.d.ts +2 -0
  84. package/build/types/web-planner-logic/src/test/getConfigStepKeyOfAccessoire.test.d.ts.map +1 -0
  85. package/build/types/web-planner-logic/src/test/host3DSignalRReconnect.test.d.ts +2 -0
  86. package/build/types/web-planner-logic/src/test/host3DSignalRReconnect.test.d.ts.map +1 -0
  87. package/build/types/web-planner-logic/src/test/orderNumberTemplates.test.d.ts +2 -0
  88. package/build/types/web-planner-logic/src/test/orderNumberTemplates.test.d.ts.map +1 -0
  89. package/build/types/web-planner-logic/src/test/plannerHandler3DRoomListQueue.test.d.ts +2 -0
  90. package/build/types/web-planner-logic/src/test/plannerHandler3DRoomListQueue.test.d.ts.map +1 -0
  91. package/build/types/web-planner-logic/src/test/propertyParsers.test.d.ts +2 -0
  92. package/build/types/web-planner-logic/src/test/propertyParsers.test.d.ts.map +1 -0
  93. package/build/types/web-planner-logic/src/test/propertyValues.test.d.ts +2 -0
  94. package/build/types/web-planner-logic/src/test/propertyValues.test.d.ts.map +1 -0
  95. package/package.json +3 -3
@@ -5,16 +5,17 @@ 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-0075f2cf.js');
8
+ var index = require('./index-dfe2c0e3.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-8655bcdb.js');
12
+ var PlannerHandler2D = require('./PlannerHandler2D-cd71fcd3.js');
13
13
  require('@babel/runtime/helpers/objectWithoutProperties');
14
14
  require('axios');
15
+ require('@babel/runtime/helpers/typeof');
16
+ require('@babel/runtime/helpers/toArray');
15
17
  require('@crystaldesign/planner-2d-core');
16
18
  require('@crystaldesign/basket-model');
17
- require('@babel/runtime/helpers/typeof');
18
19
  require('fast-xml-parser');
19
20
  require('@babel/runtime/helpers/possibleConstructorReturn');
20
21
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -6,15 +6,16 @@ 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-0075f2cf.js');
9
+ var index = require('./index-dfe2c0e3.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  var planner2dCore = require('@crystaldesign/planner-2d-core');
12
- var PlannerHandler2D = require('./PlannerHandler2D-8655bcdb.js');
12
+ var PlannerHandler2D = require('./PlannerHandler2D-cd71fcd3.js');
13
13
  require('@babel/runtime/helpers/slicedToArray');
14
14
  require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  require('axios');
16
- require('@crystaldesign/basket-model');
17
16
  require('@babel/runtime/helpers/typeof');
17
+ require('@babel/runtime/helpers/toArray');
18
+ require('@crystaldesign/basket-model');
18
19
  require('fast-xml-parser');
19
20
  require('@babel/runtime/helpers/possibleConstructorReturn');
20
21
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -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-0075f2cf.js');
6
+ require('./index-dfe2c0e3.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -11,9 +11,10 @@ require('@babel/runtime/regenerator');
11
11
  require('@babel/runtime/helpers/objectWithoutProperties');
12
12
  require('@babel/runtime/helpers/toConsumableArray');
13
13
  require('axios');
14
+ require('@babel/runtime/helpers/typeof');
15
+ require('@babel/runtime/helpers/toArray');
14
16
  require('@crystaldesign/planner-2d-core');
15
17
  require('@crystaldesign/basket-model');
16
- require('@babel/runtime/helpers/typeof');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -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-0075f2cf.js');
8
+ var index = require('./index-dfe2c0e3.js');
9
9
  var DivaUtils = require('@crystaldesign/diva-utils');
10
10
  var signalr = require('@microsoft/signalr');
11
11
  var io = require('socket.io-client');
@@ -14,9 +14,10 @@ require('@babel/runtime/helpers/slicedToArray');
14
14
  require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  require('@babel/runtime/helpers/toConsumableArray');
16
16
  require('axios');
17
+ require('@babel/runtime/helpers/typeof');
18
+ require('@babel/runtime/helpers/toArray');
17
19
  require('@crystaldesign/planner-2d-core');
18
20
  require('@crystaldesign/basket-model');
19
- require('@babel/runtime/helpers/typeof');
20
21
  require('fast-xml-parser');
21
22
  require('@babel/runtime/helpers/possibleConstructorReturn');
22
23
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -47,6 +48,8 @@ var Host3DSignalR = /*#__PURE__*/function () {
47
48
  _defineProperty__default["default"](this, "connectionErrorCount", void 0);
48
49
  _defineProperty__default["default"](this, "doIgnoreOnClosed", void 0);
49
50
  //This boolean allows to ignore the onClose connection event of the signalR connection.
51
+ _defineProperty__default["default"](this, "isClosed", false);
52
+ //Set by closeConnection(): a closed instance must never connect again.
50
53
  _defineProperty__default["default"](this, "sessionID", void 0);
51
54
  //DivaMediaService
52
55
  _defineProperty__default["default"](this, "divaMediaServiceSocketIO", undefined);
@@ -160,7 +163,7 @@ var Host3DSignalR = /*#__PURE__*/function () {
160
163
  value: (function () {
161
164
  var _initializeConnection = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(divaNr) {
162
165
  var _this2 = this;
163
- var that;
166
+ var that, connection;
164
167
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
165
168
  while (1) switch (_context2.prev = _context2.next) {
166
169
  case 0:
@@ -179,11 +182,22 @@ var Host3DSignalR = /*#__PURE__*/function () {
179
182
  _context2.next = 5;
180
183
  return this.delay(100);
181
184
  case 5:
185
+ if (!this.isClosed) {
186
+ _context2.next = 7;
187
+ break;
188
+ }
189
+ return _context2.abrupt("return");
190
+ case 7:
182
191
  LOG.debug('Create SignalR connection with host: ' + this.renderSettings.Diva3DServerURL + '; RenderGroup: ' + this.renderSettings.RenderGroup);
183
192
  that = this;
184
193
  if (this.signalRConnection) {
185
194
  this.doIgnoreOnClosed = true;
186
- this.signalRConnection._completeClose();
195
+ // The replaced connection's close event is ignored below, so reset its state here.
196
+ this.connectionStarted = false;
197
+ this.successfullyLoggedIn = false;
198
+ this.successfullyJoinedDivaNr = false;
199
+ // stop() also closes the transport and cancels pending invocations, unlike the private _completeClose().
200
+ this.signalRConnection.stop()["catch"](function () {});
187
201
  this.signalRConnection = null;
188
202
  }
189
203
  if ((typeof window === 'undefined' || window).DIVA_LOGGER == 0) {
@@ -191,11 +205,14 @@ var Host3DSignalR = /*#__PURE__*/function () {
191
205
  } else {
192
206
  this.signalRConnection = new signalr.HubConnectionBuilder().withUrl(this.renderSettings.Diva3DServerURL).withHubProtocol(new signalrProtocolMsgpack.MessagePackHubProtocol()).configureLogging(signalr.LogLevel.None).build();
193
207
  }
208
+ // Callbacks of a connection that was replaced meanwhile must not change the state of the current one.
209
+ connection = this.signalRConnection;
194
210
  this.signalRConnection.on('UnvalidSessionID', this.unvalidSessionID);
195
211
  this.signalRConnection.on('noRenderClientFound', this.noRenderClientFound);
196
212
  this.signalRConnection.on('newRendering', this.newRendering);
197
213
  this.signalRConnection.on('newHQRenderScript', this.newHQRenderScript);
198
214
  this.signalRConnection.start().then(function () {
215
+ if (connection !== that.signalRConnection) return;
199
216
  DivaUtils__default["default"].endSpanOfApm('PlannerHandler3D initSignalRConnection');
200
217
  index.bootMark('signalr: connected');
201
218
  that.connectionStarted = true;
@@ -208,6 +225,7 @@ var Host3DSignalR = /*#__PURE__*/function () {
208
225
  that.reconnectingErrorCount = 0;
209
226
  that.login(); //After connecting to signalR, the login should be performed
210
227
  })["catch"](function (err) {
228
+ if (connection !== that.signalRConnection) return;
211
229
  DivaUtils__default["default"].endSpanOfApm('PlannerHandler3D initSignalRConnection');
212
230
  LOG.error(new DivaUtils.DivaError('Connection error. Message: ' + err.toString(), {
213
231
  code: 'WC_0014'
@@ -222,26 +240,32 @@ var Host3DSignalR = /*#__PURE__*/function () {
222
240
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
223
241
  while (1) switch (_context.prev = _context.next) {
224
242
  case 0:
243
+ if (!(connection !== _this2.signalRConnection)) {
244
+ _context.next = 2;
245
+ break;
246
+ }
247
+ return _context.abrupt("return");
248
+ case 2:
225
249
  DivaUtils__default["default"].endSpanOfApm('PlannerHandler3D initSignalRConnection');
226
250
  LOG.warn('Connection with 3D Host gets lost. Try to reconnect.', 'WC_0014');
227
251
  that.connectionStarted = false;
228
252
  _this2.successfullyLoggedIn = false;
229
253
  _this2.successfullyJoinedDivaNr = false;
230
254
  if (!_this2.doIgnoreOnClosed) {
231
- _context.next = 7;
255
+ _context.next = 9;
232
256
  break;
233
257
  }
234
258
  return _context.abrupt("return");
235
- case 7:
259
+ case 9:
236
260
  _this2.reconnectAfterError = true;
237
261
  that.initializeConnection();
238
- case 9:
262
+ case 11:
239
263
  case "end":
240
264
  return _context.stop();
241
265
  }
242
266
  }, _callee);
243
267
  })));
244
- case 15:
268
+ case 18:
245
269
  case "end":
246
270
  return _context2.stop();
247
271
  }
@@ -442,11 +466,15 @@ var Host3DSignalR = /*#__PURE__*/function () {
442
466
  }, {
443
467
  key: "closeConnection",
444
468
  value: function closeConnection() {
469
+ this.isClosed = true;
445
470
  if (this.signalRConnection) {
446
471
  this.doIgnoreOnClosed = true;
447
472
  this.signalRConnection.invoke('LeaveWebClient')["catch"](function () {});
448
473
  LOG.debug('SignalRConnection: Close Connection and say byby to Diva3DHost.');
449
474
  this.signalRConnection.stop()["catch"](function () {});
475
+ // Drops the closed connection's callbacks: stopping it while it still starts rejects start(), which would
476
+ // otherwise reconnect and log in for a planner that is gone.
477
+ this.signalRConnection = null;
450
478
  }
451
479
 
452
480
  // Also close the socket connection to DivaMediaService
@@ -465,7 +493,7 @@ var Host3DSignalR = /*#__PURE__*/function () {
465
493
  key: "login",
466
494
  value: (function () {
467
495
  var _login = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee6() {
468
- var sessionId, that;
496
+ var connection, sessionId, that;
469
497
  return _regeneratorRuntime__default["default"].wrap(function _callee6$(_context6) {
470
498
  while (1) switch (_context6.prev = _context6.next) {
471
499
  case 0:
@@ -473,11 +501,21 @@ var Host3DSignalR = /*#__PURE__*/function () {
473
501
  //_this.ServerLog("Login","send Login - userID:" + _userID + ", deviceID:" + _deviceID + ", divaSessionID:" SaveProjectWi+ _divaSessionID + ", info:" + _Application);
474
502
  DivaUtils__default["default"].startSpanOfApm('PlannerHandler3D login');
475
503
  index.bootMark('signalr: LoginWebPlanner sent');
476
- _context6.prev = 3;
477
- _context6.next = 6;
478
- return this.signalRConnection.invoke('LoginWebPlanner', this.renderSettings.UserID, this.renderSettings.DeviceID, this.renderSettings.DivaSessionID, this.renderSettings.ApplicationName);
479
- case 6:
504
+
505
+ // A login answered after its connection was replaced belongs to the old connection: reporting it would mark the
506
+ // client as logged in while the new connection is not started yet.
507
+ connection = this.signalRConnection;
508
+ _context6.prev = 4;
509
+ _context6.next = 7;
510
+ return connection.invoke('LoginWebPlanner', this.renderSettings.UserID, this.renderSettings.DeviceID, this.renderSettings.DivaSessionID, this.renderSettings.ApplicationName);
511
+ case 7:
480
512
  sessionId = _context6.sent;
513
+ if (!(connection !== this.signalRConnection)) {
514
+ _context6.next = 10;
515
+ break;
516
+ }
517
+ return _context6.abrupt("return");
518
+ case 10:
481
519
  index.bootMark('signalr: LoginWebPlanner acked', {
482
520
  ok: sessionId != '' ? 1 : 0
483
521
  });
@@ -494,21 +532,27 @@ var Host3DSignalR = /*#__PURE__*/function () {
494
532
  status: 'ERROR'
495
533
  });
496
534
  }
497
- _context6.next = 17;
535
+ _context6.next = 22;
498
536
  break;
499
- case 12:
500
- _context6.prev = 12;
501
- _context6.t0 = _context6["catch"](3);
537
+ case 15:
538
+ _context6.prev = 15;
539
+ _context6.t0 = _context6["catch"](4);
540
+ if (!(connection !== this.signalRConnection)) {
541
+ _context6.next = 19;
542
+ break;
543
+ }
544
+ return _context6.abrupt("return");
545
+ case 19:
502
546
  DivaUtils__default["default"].endSpanOfApm('PlannerHandler3D login');
503
547
  that = this;
504
548
  this.handleConnectionError(_context6.t0, function () {
505
549
  that.login();
506
550
  });
507
- case 17:
551
+ case 22:
508
552
  case "end":
509
553
  return _context6.stop();
510
554
  }
511
- }, _callee6, this, [[3, 12]]);
555
+ }, _callee6, this, [[4, 15]]);
512
556
  }));
513
557
  function login() {
514
558
  return _login.apply(this, arguments);
@@ -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-0075f2cf.js');
5
+ require('./index-dfe2c0e3.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -11,9 +11,10 @@ require('@babel/runtime/helpers/objectWithoutProperties');
11
11
  require('@babel/runtime/helpers/toConsumableArray');
12
12
  require('axios');
13
13
  require('@crystaldesign/diva-utils');
14
+ require('@babel/runtime/helpers/typeof');
15
+ require('@babel/runtime/helpers/toArray');
14
16
  require('@crystaldesign/planner-2d-core');
15
17
  require('@crystaldesign/basket-model');
16
- require('@babel/runtime/helpers/typeof');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -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-0075f2cf.js');
5
+ var index = require('./index-dfe2c0e3.js');
6
6
  var basketModel = require('@crystaldesign/basket-model');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
@@ -12,8 +12,9 @@ require('@babel/runtime/regenerator');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
13
13
  require('@babel/runtime/helpers/toConsumableArray');
14
14
  require('axios');
15
- require('@crystaldesign/planner-2d-core');
16
15
  require('@babel/runtime/helpers/typeof');
16
+ require('@babel/runtime/helpers/toArray');
17
+ require('@crystaldesign/planner-2d-core');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -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-0075f2cf.js');
8
+ var index = require('./index-dfe2c0e3.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-0075f2cf.js');
6
+ var index = require('./index-dfe2c0e3.js');
7
7
  var DivaUtils = require('@crystaldesign/diva-utils');
8
8
  require('@babel/runtime/helpers/slicedToArray');
9
9
  require('@babel/runtime/helpers/asyncToGenerator');
@@ -11,9 +11,10 @@ require('@babel/runtime/regenerator');
11
11
  require('@babel/runtime/helpers/objectWithoutProperties');
12
12
  require('@babel/runtime/helpers/toConsumableArray');
13
13
  require('axios');
14
+ require('@babel/runtime/helpers/typeof');
15
+ require('@babel/runtime/helpers/toArray');
14
16
  require('@crystaldesign/planner-2d-core');
15
17
  require('@crystaldesign/basket-model');
16
- require('@babel/runtime/helpers/typeof');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -6,14 +6,15 @@ 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-0075f2cf.js');
9
+ var index = require('./index-dfe2c0e3.js');
10
10
  var DivaUtils = require('@crystaldesign/diva-utils');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
13
13
  require('axios');
14
+ require('@babel/runtime/helpers/typeof');
15
+ require('@babel/runtime/helpers/toArray');
14
16
  require('@crystaldesign/planner-2d-core');
15
17
  require('@crystaldesign/basket-model');
16
- require('@babel/runtime/helpers/typeof');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');
@@ -127,6 +128,16 @@ var ShelfPlanner = /*#__PURE__*/function () {
127
128
  }
128
129
  }
129
130
  }
131
+
132
+ /**
133
+ * True when an accessoire with this codex can be planned for free on this shelf (an initAcc with noPrice, eg the first
134
+ * Kleiderstange of a Jutzler element).
135
+ */
136
+ }, {
137
+ key: "canBeFree",
138
+ value: function canBeFree(articleCodex) {
139
+ return this.freeArticlesPossible[articleCodex] !== undefined;
140
+ }
130
141
  }, {
131
142
  key: "IsVisible",
132
143
  get: function get() {
@@ -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-0075f2cf.js');
5
+ require('./index-dfe2c0e3.js');
6
6
  require('@babel/runtime/helpers/slicedToArray');
7
7
  require('@babel/runtime/helpers/asyncToGenerator');
8
8
  require('@babel/runtime/helpers/defineProperty');
@@ -11,9 +11,10 @@ require('@babel/runtime/helpers/objectWithoutProperties');
11
11
  require('@babel/runtime/helpers/toConsumableArray');
12
12
  require('axios');
13
13
  require('@crystaldesign/diva-utils');
14
+ require('@babel/runtime/helpers/typeof');
15
+ require('@babel/runtime/helpers/toArray');
14
16
  require('@crystaldesign/planner-2d-core');
15
17
  require('@crystaldesign/basket-model');
16
- require('@babel/runtime/helpers/typeof');
17
18
  require('fast-xml-parser');
18
19
  require('@babel/runtime/helpers/possibleConstructorReturn');
19
20
  require('@babel/runtime/helpers/getPrototypeOf');