kitchen-simulator 3.1.15 → 4.0.0-alpha.12

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 (105) hide show
  1. package/es/LiteKitchenConfigurator.js +204 -21
  2. package/es/LiteRenderer.js +277 -12
  3. package/es/actions/items-actions.js +6 -10
  4. package/es/actions/lines-actions.js +1 -3
  5. package/es/actions/project-actions.js +5 -15
  6. package/es/assets/Window.hdr +2100 -0
  7. package/es/assets/gltf/door_sliding.bin +0 -0
  8. package/es/assets/img/1.jpg +0 -0
  9. package/es/catalog/areas/area/planner-element.js +5 -10
  10. package/es/catalog/catalog.js +4 -1
  11. package/es/catalog/factories/area-factory-3d.js +17 -18
  12. package/es/catalog/factories/wall-factory-3d.js +2 -2
  13. package/es/catalog/factories/wall-factory.js +8 -8
  14. package/es/catalog/lines/wall/planner-element.js +9 -18
  15. package/es/catalog/utils/exporter.js +3 -6
  16. package/es/catalog/utils/item-loader.js +197 -202
  17. package/es/catalog/utils/mtl-loader.js +2 -2
  18. package/es/catalog/utils/obj-loader.js +2 -2
  19. package/es/class/item.js +127 -107
  20. package/es/class/line.js +2 -14
  21. package/es/class/project.js +44 -150
  22. package/es/components/content.js +6 -19
  23. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  24. package/es/components/viewer2d/item.js +51 -84
  25. package/es/components/viewer2d/line.js +243 -315
  26. package/es/components/viewer2d/ruler.js +36 -16
  27. package/es/components/viewer2d/rulerDist.js +75 -44
  28. package/es/components/viewer2d/utils.js +0 -6
  29. package/es/components/viewer2d/viewer2d.js +205 -301
  30. package/es/components/viewer3d/front3D.js +2 -3
  31. package/es/components/viewer3d/libs/mtl-loader.js +2 -2
  32. package/es/components/viewer3d/libs/obj-loader.js +2 -2
  33. package/es/components/viewer3d/libs/orbit-controls.js +4 -3
  34. package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
  35. package/es/components/viewer3d/viewer3d.js +80 -127
  36. package/es/constants.js +3 -110
  37. package/es/devLiteRenderer.js +38 -597
  38. package/es/index.js +86 -16
  39. package/es/models.js +5 -8
  40. package/es/plugins/SVGLoader.js +5 -7
  41. package/es/plugins/keyboard.js +6 -15
  42. package/es/reducers/items-reducer.js +5 -5
  43. package/es/reducers/lines-reducer.js +1 -1
  44. package/es/reducers/project-reducer.js +3 -5
  45. package/es/shared-style.js +4 -4
  46. package/es/utils/geometry.js +0 -161
  47. package/es/utils/get-edges-of-subgraphs.js +1 -1
  48. package/es/utils/graph-cycles.js +1 -1
  49. package/es/utils/graph.js +1 -1
  50. package/es/utils/helper.js +2 -67
  51. package/es/utils/isolate-event-handler.js +124 -1367
  52. package/es/utils/molding.js +2 -238
  53. package/lib/LiteKitchenConfigurator.js +205 -22
  54. package/lib/LiteRenderer.js +278 -13
  55. package/lib/actions/items-actions.js +6 -10
  56. package/lib/actions/lines-actions.js +1 -3
  57. package/lib/actions/project-actions.js +4 -15
  58. package/lib/assets/Window.hdr +2100 -0
  59. package/lib/assets/gltf/door_sliding.bin +0 -0
  60. package/lib/assets/img/1.jpg +0 -0
  61. package/lib/catalog/areas/area/planner-element.js +5 -11
  62. package/lib/catalog/catalog.js +4 -1
  63. package/lib/catalog/factories/area-factory-3d.js +14 -15
  64. package/lib/catalog/factories/wall-factory-3d.js +2 -2
  65. package/lib/catalog/factories/wall-factory.js +8 -8
  66. package/lib/catalog/lines/wall/planner-element.js +9 -19
  67. package/lib/catalog/utils/exporter.js +3 -6
  68. package/lib/catalog/utils/item-loader.js +194 -199
  69. package/lib/catalog/utils/mtl-loader.js +2 -9
  70. package/lib/catalog/utils/obj-loader.js +2 -10
  71. package/lib/class/item.js +125 -105
  72. package/lib/class/line.js +1 -13
  73. package/lib/class/project.js +43 -149
  74. package/lib/components/content.js +6 -19
  75. package/lib/components/viewer2d/grids/grid-streak.js +1 -1
  76. package/lib/components/viewer2d/item.js +50 -83
  77. package/lib/components/viewer2d/line.js +242 -315
  78. package/lib/components/viewer2d/ruler.js +35 -15
  79. package/lib/components/viewer2d/rulerDist.js +75 -44
  80. package/lib/components/viewer2d/utils.js +0 -7
  81. package/lib/components/viewer2d/viewer2d.js +205 -299
  82. package/lib/components/viewer3d/front3D.js +2 -3
  83. package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
  84. package/lib/components/viewer3d/libs/obj-loader.js +2 -9
  85. package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
  86. package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
  87. package/lib/components/viewer3d/viewer3d.js +79 -125
  88. package/lib/constants.js +7 -115
  89. package/lib/devLiteRenderer.js +33 -592
  90. package/lib/index.js +86 -16
  91. package/lib/models.js +5 -8
  92. package/lib/plugins/SVGLoader.js +5 -7
  93. package/lib/plugins/keyboard.js +6 -15
  94. package/lib/reducers/items-reducer.js +5 -5
  95. package/lib/reducers/lines-reducer.js +1 -1
  96. package/lib/reducers/project-reducer.js +2 -4
  97. package/lib/shared-style.js +4 -4
  98. package/lib/utils/geometry.js +0 -162
  99. package/lib/utils/get-edges-of-subgraphs.js +1 -6
  100. package/lib/utils/graph-cycles.js +8 -7
  101. package/lib/utils/graph.js +1 -6
  102. package/lib/utils/helper.js +3 -70
  103. package/lib/utils/isolate-event-handler.js +121 -1364
  104. package/lib/utils/molding.js +0 -238
  105. package/package.json +1 -1
@@ -9,6 +9,7 @@ exports["default"] = LiteRenderer;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
15
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -26,17 +27,21 @@ var _reducer = _interopRequireDefault(require("./reducers/reducer"));
26
27
  var _AppContext = _interopRequireDefault(require("./AppContext"));
27
28
  var _catalog = _interopRequireDefault(require("./catalog/catalog"));
28
29
  var _SVGLoader = require("three/addons/loaders/SVGLoader");
30
+ var _helper = require("./utils/helper");
29
31
  var _constants = require("./constants");
30
32
  var Areas = _interopRequireWildcard(require("./catalog/areas/area/planner-element"));
31
33
  var Lines = _interopRequireWildcard(require("./catalog/lines/wall/planner-element"));
32
34
  var Holes = _interopRequireWildcard(require("./catalog/holes/export"));
35
+ var _itemLoader = require("./catalog/utils/item-loader");
33
36
  var _export2 = require("./plugins/export");
34
37
  var _immutable = require("immutable");
35
38
  var Sentry = _interopRequireWildcard(require("@sentry/react"));
39
+ var _projectActions = require("./actions/project-actions");
40
+ var _exporter = _interopRequireDefault(require("./catalog/utils/exporter"));
36
41
  var THREE = _interopRequireWildcard(require("three"));
37
42
  var _LiteKitchenConfigurator = _interopRequireDefault(require("./LiteKitchenConfigurator"));
38
- var _excluded = ["width", "height", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onInternalEvent", "onError"];
39
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
43
+ var _excluded = ["width", "height", "projectElement", "categoryData", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onExternalEventProcessed", "onError"];
44
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
40
45
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
41
46
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
42
47
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -148,6 +153,9 @@ var ToolErrorBoundary = /*#__PURE__*/function (_React$Component) {
148
153
  function LiteRenderer(props) {
149
154
  var width = props.width,
150
155
  height = props.height,
156
+ projectElement = props.projectElement,
157
+ categoryData = props.categoryData,
158
+ dataBundle = props.dataBundle,
151
159
  configData = props.configData,
152
160
  options = props.options,
153
161
  user = props.user,
@@ -156,7 +164,7 @@ function LiteRenderer(props) {
156
164
  sentry = props.sentry,
157
165
  analytics = props.analytics,
158
166
  externalEvent = props.externalEvent,
159
- onInternalEvent = props.onInternalEvent,
167
+ onExternalEventProcessed = props.onExternalEventProcessed,
160
168
  onError = props.onError,
161
169
  passThrough = (0, _objectWithoutProperties2["default"])(props, _excluded);
162
170
 
@@ -246,12 +254,35 @@ function LiteRenderer(props) {
246
254
  emit(lastExternalEventRef.current, last.errors);
247
255
  }
248
256
  }, [externalEvent, emit]);
257
+ var _ref = categoryData && categoryData.data || {},
258
+ catalogs = _ref.catalogs,
259
+ colorAlias = _ref.colorAlias,
260
+ subgroups = _ref.subgroups;
261
+ var _ref2 = dataBundle || {},
262
+ _ref2$data = _ref2.data,
263
+ data = _ref2$data === void 0 ? [] : _ref2$data,
264
+ _ref2$appliances = _ref2.appliances,
265
+ appliances = _ref2$appliances === void 0 ? [] : _ref2$appliances,
266
+ _ref2$furnishing = _ref2.furnishing,
267
+ furnishing = _ref2$furnishing === void 0 ? [] : _ref2$furnishing,
268
+ _ref2$lighting = _ref2.lighting,
269
+ lighting = _ref2$lighting === void 0 ? [] : _ref2$lighting;
270
+ var _projectElement = (0, _slicedToArray2["default"])(projectElement, 1),
271
+ project_data = _projectElement[0].project_data;
249
272
  var id = configData.id,
250
273
  logoImg = configData.logoImg,
251
274
  companyUrl = configData.companyUrl;
275
+ var _React$useState = _react["default"].useState([]),
276
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
277
+ outlineSVGData = _React$useState2[0],
278
+ setOutlineSVGData = _React$useState2[1];
279
+ var _React$useState3 = _react["default"].useState(false),
280
+ _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
281
+ catalogInitiated = _React$useState4[0],
282
+ setCatalogInitiated = _React$useState4[1];
252
283
  (0, _react.useEffect)(function () {
253
284
  var initMyCatalog = /*#__PURE__*/function () {
254
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
285
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
255
286
  var x, _x, _x2;
256
287
  return _regenerator["default"].wrap(function (_context) {
257
288
  while (1) switch (_context.prev = _context.next) {
@@ -268,29 +299,258 @@ function LiteRenderer(props) {
268
299
  }, _callee);
269
300
  }));
270
301
  return function initMyCatalog() {
271
- return _ref.apply(this, arguments);
302
+ return _ref3.apply(this, arguments);
272
303
  };
273
304
  }();
274
- var initCatalog = /*#__PURE__*/function () {
275
- var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
305
+ var loadMoldings = /*#__PURE__*/function () {
306
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
307
+ var door_color_alias, subgroup_ids, door_color_alias_ids, doorStyleData, molding, toeMoldingData, cabinets, promises;
276
308
  return _regenerator["default"].wrap(function (_context2) {
277
309
  while (1) switch (_context2.prev = _context2.next) {
278
310
  case 0:
279
- _context2.next = 1;
280
- return initMyCatalog();
311
+ door_color_alias = [];
312
+ subgroup_ids = catalogs.filter(function (item) {
313
+ return item.id == id;
314
+ })[0].manufacturer_subgroup_ids.split(',');
315
+ door_color_alias_ids = [];
316
+ subgroups.forEach(function (subgroup) {
317
+ if (subgroup_ids.some(function (id) {
318
+ return id == subgroup.id.toString();
319
+ })) {
320
+ subgroup.door_color_alias_ids.split(',').forEach(function (item) {
321
+ item != '' && door_color_alias_ids.push(item);
322
+ });
323
+ }
324
+ });
325
+ colorAlias.forEach(function (color) {
326
+ return door_color_alias_ids.some(function (id) {
327
+ return id == color.id.toString();
328
+ }) && door_color_alias.push(color);
329
+ });
330
+ doorStyleData = categoryData.data.doorStyles.items;
331
+ categoryData.data.doorStyles.items = doorStyleData.treeStruct;
332
+ door_color_alias.forEach(function (dca) {
333
+ doorStyleData.doorColorData.forEach(function (dc) {
334
+ dc.door_style_id = parseInt(dc.door_style_id);
335
+ if (dc.id !== dca.door_color_id) return;
336
+ dc.name = dca.alias_name;
337
+ dc.color_sku_alias = dca.sku_alias_name;
338
+ doorStyleData.treeStruct.forEach(function (el) {
339
+ el.items.forEach(function (elem) {
340
+ return dc.door_style_id === elem.id && (dc.door_style_name = elem.name);
341
+ });
342
+ });
343
+ dca.alias_installation_type = (0, _helper.isEmpty)(dca.alias_installation_type) ? [] : dca.alias_installation_type.split(',').map(function (n) {
344
+ return parseInt(n);
345
+ });
346
+ categoryData.data.doorStyles.items.forEach(function (item) {
347
+ if (dca.alias_installation_type.some(function (ait) {
348
+ return ait === item.id;
349
+ })) item.items.forEach(function (ds) {
350
+ if (ds.name === dc.door_style_name) ds.items.push(dc);
351
+ });
352
+ });
353
+ });
354
+ });
355
+ molding = [];
356
+ toeMoldingData = [];
357
+ cabinets = categoryData.data.cabinets;
358
+ cabinets[cabinets.length - 1].items.forEach(function (index) {
359
+ if (index.name.toLowerCase().includes('molding')) {
360
+ index.items.forEach(function (item) {
361
+ return molding.push(item);
362
+ });
363
+ }
364
+ if (index.name.includes(_constants.TOE_KICK_MOLDING)) {
365
+ index.items.forEach(function (item) {
366
+ return toeMoldingData.push(item);
367
+ });
368
+ }
369
+ });
370
+ categoryData.data.toeMoldingData = toeMoldingData;
371
+ promises = molding.map(function (child) {
372
+ return new Promise(function (resolve, reject) {
373
+ var url = child === null || child === void 0 ? void 0 : child.shape_svg;
374
+ if (!url) return resolve();
375
+ var loader = new _SVGLoader.SVGLoader();
376
+ loader.load(url, function (data) {
377
+ var _data$xml$viewBox$ani, _data$xml, _data$xml$viewBox$ani2, _data$xml2;
378
+ child.data = {
379
+ paths: data.paths,
380
+ svg_width: (_data$xml$viewBox$ani = (_data$xml = data.xml) === null || _data$xml === void 0 || (_data$xml = _data$xml.viewBox) === null || _data$xml === void 0 || (_data$xml = _data$xml.animVal) === null || _data$xml === void 0 ? void 0 : _data$xml.width) !== null && _data$xml$viewBox$ani !== void 0 ? _data$xml$viewBox$ani : 0,
381
+ svg_height: (_data$xml$viewBox$ani2 = (_data$xml2 = data.xml) === null || _data$xml2 === void 0 || (_data$xml2 = _data$xml2.viewBox) === null || _data$xml2 === void 0 || (_data$xml2 = _data$xml2.animVal) === null || _data$xml2 === void 0 ? void 0 : _data$xml2.height) !== null && _data$xml$viewBox$ani2 !== void 0 ? _data$xml$viewBox$ani2 : 0
382
+ };
383
+ resolve();
384
+ }, null, function (error) {
385
+ console.error(error);
386
+ reject(error);
387
+ });
388
+ });
389
+ });
390
+ return _context2.abrupt("return", Promise.all(promises));
281
391
  case 1:
282
392
  case "end":
283
393
  return _context2.stop();
284
394
  }
285
395
  }, _callee2);
286
396
  }));
397
+ return function loadMoldings() {
398
+ return _ref4.apply(this, arguments);
399
+ };
400
+ }();
401
+ var loadSVGs = /*#__PURE__*/function () {
402
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
403
+ var svgLoadPromises, outlineData;
404
+ return _regenerator["default"].wrap(function (_context4) {
405
+ while (1) switch (_context4.prev = _context4.next) {
406
+ case 0:
407
+ svgLoadPromises = data.map(/*#__PURE__*/function () {
408
+ var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(item) {
409
+ var _parsed$xml$viewBox, _parsed$xml$viewBox2, response, svgText, loader, parsed, _t;
410
+ return _regenerator["default"].wrap(function (_context3) {
411
+ while (1) switch (_context3.prev = _context3.next) {
412
+ case 0:
413
+ if (item.outline) {
414
+ _context3.next = 1;
415
+ break;
416
+ }
417
+ return _context3.abrupt("return", null);
418
+ case 1:
419
+ _context3.prev = 1;
420
+ _context3.next = 2;
421
+ return fetch(item.outline, {
422
+ cache: 'no-store'
423
+ });
424
+ case 2:
425
+ response = _context3.sent;
426
+ _context3.next = 3;
427
+ return response.text();
428
+ case 3:
429
+ svgText = _context3.sent;
430
+ loader = new _SVGLoader.SVGLoader();
431
+ parsed = loader.parse(svgText);
432
+ if (!(0, _helper.isEmpty)(parsed.paths)) {
433
+ _context3.next = 4;
434
+ break;
435
+ }
436
+ return _context3.abrupt("return", null);
437
+ case 4:
438
+ return _context3.abrupt("return", {
439
+ paths: parsed.paths,
440
+ svgWidth: parseFloat(parsed.xml.getAttribute('width')) || ((_parsed$xml$viewBox = parsed.xml.viewBox) === null || _parsed$xml$viewBox === void 0 || (_parsed$xml$viewBox = _parsed$xml$viewBox.animVal) === null || _parsed$xml$viewBox === void 0 ? void 0 : _parsed$xml$viewBox.width) || 0,
441
+ svgHeight: parseFloat(parsed.xml.getAttribute('height')) || ((_parsed$xml$viewBox2 = parsed.xml.viewBox) === null || _parsed$xml$viewBox2 === void 0 || (_parsed$xml$viewBox2 = _parsed$xml$viewBox2.animVal) === null || _parsed$xml$viewBox2 === void 0 ? void 0 : _parsed$xml$viewBox2.height) || 0,
442
+ reverse: !parseFloat(parsed.xml.getAttribute('height'))
443
+ });
444
+ case 5:
445
+ _context3.prev = 5;
446
+ _t = _context3["catch"](1);
447
+ console.error('Failed to load SVG:', item.outline, _t);
448
+ return _context3.abrupt("return", null);
449
+ case 6:
450
+ case "end":
451
+ return _context3.stop();
452
+ }
453
+ }, _callee3, null, [[1, 5]]);
454
+ }));
455
+ return function (_x3) {
456
+ return _ref6.apply(this, arguments);
457
+ };
458
+ }());
459
+ _context4.next = 1;
460
+ return Promise.all(svgLoadPromises);
461
+ case 1:
462
+ outlineData = _context4.sent;
463
+ setOutlineSVGData(outlineData);
464
+ case 2:
465
+ case "end":
466
+ return _context4.stop();
467
+ }
468
+ }, _callee4);
469
+ }));
470
+ return function loadSVGs() {
471
+ return _ref5.apply(this, arguments);
472
+ };
473
+ }();
474
+ var initCatalog = /*#__PURE__*/function () {
475
+ var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
476
+ return _regenerator["default"].wrap(function (_context5) {
477
+ while (1) switch (_context5.prev = _context5.next) {
478
+ case 0:
479
+ setCatalogInitiated(false);
480
+ _context5.next = 1;
481
+ return initMyCatalog();
482
+ case 1:
483
+ _context5.next = 2;
484
+ return loadMoldings();
485
+ case 2:
486
+ _context5.next = 3;
487
+ return loadSVGs();
488
+ case 3:
489
+ setCatalogInitiated(true);
490
+ case 4:
491
+ case "end":
492
+ return _context5.stop();
493
+ }
494
+ }, _callee5);
495
+ }));
287
496
  return function initCatalog() {
288
- return _ref2.apply(this, arguments);
497
+ return _ref7.apply(this, arguments);
289
498
  };
290
499
  }();
291
500
  initCatalog();
292
501
  // eslint-disable-next-line react-hooks/exhaustive-deps
293
- }, [id]);
502
+ }, [categoryData, data, id, catalogs, colorAlias, subgroups]);
503
+
504
+ // Register items once SVGs are loaded
505
+ (0, _react.useEffect)(function () {
506
+ if (!outlineSVGData.length) return;
507
+ var Item = [];
508
+ data.forEach(function (obj, index) {
509
+ Item.push((0, _exporter["default"])(_objectSpread(_objectSpread({}, obj), {}, {
510
+ type: 'cabinet',
511
+ outlineSVGData: outlineSVGData[index],
512
+ render2DItem: _itemLoader.render2DItem,
513
+ render3DItem: _itemLoader.render3DItem
514
+ })));
515
+ });
516
+ appliances.forEach(function (obj) {
517
+ Item.push((0, _exporter["default"])(_objectSpread(_objectSpread({}, obj), {}, {
518
+ render2DItem: _itemLoader.render2DItem,
519
+ render3DItem: _itemLoader.render3DApplianceItem,
520
+ type: 'appliance'
521
+ })));
522
+ });
523
+ lighting.forEach(function (obj) {
524
+ Item.push((0, _exporter["default"])(_objectSpread(_objectSpread({}, obj), {}, {
525
+ type: 'lighting',
526
+ render2DItem: _itemLoader.render2DItem,
527
+ render3DItem: _itemLoader.render3DLightingItem
528
+ })));
529
+ });
530
+ furnishing.forEach(function (obj) {
531
+ Item.push((0, _exporter["default"])(_objectSpread(_objectSpread({}, obj), {}, {
532
+ type: 'furnishing',
533
+ render2DItem: _itemLoader.render2DItem,
534
+ render3DItem: _itemLoader.render3DApplianceItem
535
+ })));
536
+ });
537
+ for (var x in Item) MyCatalog.registerElement(Item[x]);
538
+ }, [outlineSVGData, data, appliances, furnishing, lighting]);
539
+ (0, _react.useEffect)(function () {
540
+ if (projectElement.length === 0) return;
541
+ if (!catalogInitiated) return;
542
+ sessionStorage.setItem('projectTitle', projectElement[0].title);
543
+ store.dispatch((0, _projectActions.rename)(projectElement[0].title));
544
+ sessionStorage.setItem('projectId', projectElement[0].id);
545
+ sessionStorage.setItem('email', projectElement[0].email);
546
+ sessionStorage.setItem('firstName', projectElement[0].firstName);
547
+ sessionStorage.setItem('lastName', projectElement[0].lastName);
548
+ sessionStorage.setItem('phone', projectElement[0].phone);
549
+ var jsonData;
550
+ jsonData = JSON.parse(projectElement[0].project_data);
551
+ jsonData.isLoadingCabinet = false;
552
+ store.dispatch((0, _projectActions.loadProject)(jsonData, categoryData));
553
+ }, [project_data, catalogInitiated]);
294
554
  return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, null, /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
295
555
  store: store
296
556
  }, /*#__PURE__*/_react["default"].createElement(ToolErrorBoundary, {
@@ -305,9 +565,11 @@ function LiteRenderer(props) {
305
565
  stateExtractor: function stateExtractor(state) {
306
566
  return state.get('KitchenConfigurator');
307
567
  },
568
+ categoryData: categoryData,
569
+ data: data,
308
570
  configData: configData,
309
571
  externalEvent: externalEvent,
310
- onInternalEvent: onInternalEvent
572
+ onExternalEventProcessed: onExternalEventProcessed
311
573
  }, passThrough)))));
312
574
  }
313
575
 
@@ -316,6 +578,9 @@ function LiteRenderer(props) {
316
578
  LiteRenderer.propTypes = {
317
579
  width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
318
580
  height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
581
+ projectElement: _propTypes["default"].arrayOf(_propTypes["default"].object),
582
+ categoryData: _propTypes["default"].any,
583
+ dataBundle: _propTypes["default"].any,
319
584
  configData: _propTypes["default"].any,
320
585
  catalog: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].instanceOf(Models.Catalog)]),
321
586
  logoImg: _propTypes["default"].any,
@@ -329,7 +594,7 @@ LiteRenderer.propTypes = {
329
594
  environment: _propTypes["default"].string
330
595
  }),
331
596
  externalEvent: _propTypes["default"].object,
332
- onInternalEvent: _propTypes["default"].func,
597
+ onExternalEventProcessed: _propTypes["default"].func,
333
598
  onError: _propTypes["default"].func,
334
599
  store: _propTypes["default"].object
335
600
  };
@@ -83,11 +83,9 @@ function editWidth(newWidth, layerID, itemID) {
83
83
  };
84
84
  }
85
85
  function duplicateSelected(currentObject) {
86
- var onInternalEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
87
86
  return {
88
87
  type: _constants.DUPLICATE_SELECTED,
89
- currentObject: currentObject,
90
- onInternalEvent: onInternalEvent
88
+ currentObject: currentObject
91
89
  };
92
90
  }
93
91
  function replaceItem(selectedPos, currentObject, selectedObject) {
@@ -129,13 +127,11 @@ function selectToolDrawingItem3D(sceneComponentType) {
129
127
  };
130
128
  }
131
129
  function updateDrawingItem(layerID, x, y) {
132
- var isInitialPos = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
133
130
  return {
134
131
  type: _constants.UPDATE_DRAWING_ITEM,
135
132
  layerID: layerID,
136
133
  x: x,
137
- y: y,
138
- isInitialPos: isInitialPos
134
+ y: y
139
135
  };
140
136
  }
141
137
  function endDrawingItem(layerID, x, y) {
@@ -278,11 +274,10 @@ function updateItemsAltitude(layerID, itemID, value) {
278
274
  value: value
279
275
  };
280
276
  }
281
- function setDoorStyle(doorStyle, itemCDS, isAll) {
277
+ function setDoorStyle(doorStyle, isAll) {
282
278
  return {
283
279
  type: _constants.SET_DOOR_STYLE,
284
280
  doorStyle: doorStyle,
285
- itemCDS: itemCDS,
286
281
  isAll: isAll
287
282
  };
288
283
  }
@@ -347,10 +342,11 @@ function setModelling(model) {
347
342
  model: model
348
343
  };
349
344
  }
350
- function setInitialDoorStyle(doorStyle) {
345
+ function setInitialDoorStyle(doorStyle, oStyle) {
351
346
  return {
352
347
  type: _constants.SET_INITIAL_DOOR_STYLE,
353
- doorStyle: doorStyle
348
+ doorStyle: doorStyle,
349
+ oStyle: oStyle
354
350
  };
355
351
  }
356
352
  function setMoveStatus(status) {
@@ -28,14 +28,12 @@ function selectToolDrawingLine(sceneComponentType) {
28
28
  };
29
29
  }
30
30
  function beginDrawingLine(layerID, x, y, snapMask) {
31
- var onInternalEvent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
32
31
  return {
33
32
  type: _constants.BEGIN_DRAWING_LINE,
34
33
  layerID: layerID,
35
34
  x: x,
36
35
  y: y,
37
- snapMask: snapMask,
38
- onInternalEvent: onInternalEvent
36
+ snapMask: snapMask
39
37
  };
40
38
  }
41
39
  function updateDrawingLine(x, y, relatedLines, snapMask) {
@@ -9,7 +9,6 @@ exports.addHorizontalGuide = addHorizontalGuide;
9
9
  exports.addVerticalGuide = addVerticalGuide;
10
10
  exports.changeCatalogPage = changeCatalogPage;
11
11
  exports.copyProperties = copyProperties;
12
- exports.createRoomWithShape = createRoomWithShape;
13
12
  exports.goBackToCatalogPage = goBackToCatalogPage;
14
13
  exports.initCatalog = initCatalog;
15
14
  exports.loadProject = loadProject;
@@ -70,10 +69,11 @@ function setStateProperties(properties) {
70
69
  properties: properties
71
70
  };
72
71
  }
73
- function loadProject(sceneJSON) {
72
+ function loadProject(sceneJSON, categoryData) {
74
73
  return {
75
74
  type: _constants.LOAD_PROJECT,
76
- sceneJSON: sceneJSON
75
+ sceneJSON: sceneJSON,
76
+ categoryData: categoryData
77
77
  };
78
78
  }
79
79
  function newProject() {
@@ -151,10 +151,8 @@ function setHolesAttributes(holesAttributes) {
151
151
  };
152
152
  }
153
153
  function remove() {
154
- var delObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
155
154
  return {
156
- type: _constants.REMOVE,
157
- delObject: delObject
155
+ type: _constants.REMOVE
158
156
  };
159
157
  }
160
158
  function undo() {
@@ -338,13 +336,4 @@ function selectAll() {
338
336
  type: _constants.SELECT_ALL,
339
337
  value: value
340
338
  };
341
- }
342
- function createRoomWithShape(roomShapeType, width, height, doorStyle) {
343
- return {
344
- type: _constants.CREATE_ROOM_WITH_SHAPE,
345
- width: width,
346
- height: height,
347
- roomShapeType: roomShapeType,
348
- doorStyle: doorStyle
349
- };
350
339
  }