kitchen-simulator 1.0.0-alin.9 → 1.0.0-clark.55

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 (43) hide show
  1. package/es/LiteKitchenConfigurator.js +15 -156
  2. package/es/LiteRenderer.js +25 -113
  3. package/es/actions/items-actions.js +4 -5
  4. package/es/actions/project-actions.js +2 -3
  5. package/es/catalog/catalog.js +1 -4
  6. package/es/catalog/utils/exporter.js +3 -1
  7. package/es/class/item.js +57 -120
  8. package/es/class/project.js +9 -23
  9. package/es/components/viewer2d/item.js +10 -10
  10. package/es/components/viewer2d/layer.js +1 -1
  11. package/es/components/viewer2d/line.js +20 -17
  12. package/es/components/viewer2d/viewer2d.js +20 -56
  13. package/es/components/viewer3d/viewer3d.js +5 -17
  14. package/es/constants.js +10 -1
  15. package/es/devLiteRenderer.js +116 -9
  16. package/es/index.js +58 -3
  17. package/es/models.js +2 -1
  18. package/es/reducers/items-reducer.js +3 -3
  19. package/es/reducers/project-reducer.js +1 -1
  20. package/es/utils/geometry.js +6 -6
  21. package/es/utils/isolate-event-handler.js +97 -17
  22. package/lib/LiteKitchenConfigurator.js +16 -157
  23. package/lib/LiteRenderer.js +25 -113
  24. package/lib/actions/items-actions.js +4 -5
  25. package/lib/actions/project-actions.js +2 -3
  26. package/lib/catalog/catalog.js +1 -4
  27. package/lib/catalog/utils/exporter.js +3 -1
  28. package/lib/class/item.js +57 -120
  29. package/lib/class/project.js +9 -23
  30. package/lib/components/viewer2d/item.js +10 -10
  31. package/lib/components/viewer2d/layer.js +1 -1
  32. package/lib/components/viewer2d/line.js +19 -16
  33. package/lib/components/viewer2d/viewer2d.js +19 -55
  34. package/lib/components/viewer3d/viewer3d.js +5 -17
  35. package/lib/constants.js +14 -5
  36. package/lib/devLiteRenderer.js +115 -8
  37. package/lib/index.js +57 -3
  38. package/lib/models.js +2 -1
  39. package/lib/reducers/items-reducer.js +3 -3
  40. package/lib/reducers/project-reducer.js +1 -1
  41. package/lib/utils/geometry.js +6 -6
  42. package/lib/utils/isolate-event-handler.js +96 -16
  43. package/package.json +5 -9
@@ -36,11 +36,10 @@ var _itemLoader = require("./catalog/utils/item-loader");
36
36
  var _export2 = require("./plugins/export");
37
37
  var _immutable = require("immutable");
38
38
  var Sentry = _interopRequireWildcard(require("@sentry/react"));
39
- var _projectActions = require("./actions/project-actions");
40
39
  var _exporter = _interopRequireDefault(require("./catalog/utils/exporter"));
41
40
  var THREE = _interopRequireWildcard(require("three"));
42
41
  var _LiteKitchenConfigurator = _interopRequireDefault(require("./LiteKitchenConfigurator"));
43
- var _excluded = ["width", "height", "projectElement", "categoryData", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onError"];
42
+ var _excluded = ["width", "height", "projectElement", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onError"];
44
43
  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); }
45
44
  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; }
46
45
  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; }
@@ -154,7 +153,6 @@ function LiteRenderer(props) {
154
153
  var width = props.width,
155
154
  height = props.height,
156
155
  projectElement = props.projectElement,
157
- categoryData = props.categoryData,
158
156
  dataBundle = props.dataBundle,
159
157
  configData = props.configData,
160
158
  options = props.options,
@@ -253,21 +251,15 @@ function LiteRenderer(props) {
253
251
  emit(lastExternalEventRef.current, last.errors);
254
252
  }
255
253
  }, [externalEvent, emit]);
256
- var _ref = categoryData && categoryData.data || {},
257
- catalogs = _ref.catalogs,
258
- colorAlias = _ref.colorAlias,
259
- subgroups = _ref.subgroups;
260
- var _ref2 = dataBundle || {},
261
- _ref2$data = _ref2.data,
262
- data = _ref2$data === void 0 ? [] : _ref2$data,
263
- _ref2$appliances = _ref2.appliances,
264
- appliances = _ref2$appliances === void 0 ? [] : _ref2$appliances,
265
- _ref2$furnishing = _ref2.furnishing,
266
- furnishing = _ref2$furnishing === void 0 ? [] : _ref2$furnishing,
267
- _ref2$lighting = _ref2.lighting,
268
- lighting = _ref2$lighting === void 0 ? [] : _ref2$lighting;
269
- var _projectElement = (0, _slicedToArray2["default"])(projectElement, 1),
270
- project_data = _projectElement[0].project_data;
254
+ var _ref = dataBundle || {},
255
+ _ref$data = _ref.data,
256
+ data = _ref$data === void 0 ? [] : _ref$data,
257
+ _ref$appliances = _ref.appliances,
258
+ appliances = _ref$appliances === void 0 ? [] : _ref$appliances,
259
+ _ref$furnishing = _ref.furnishing,
260
+ furnishing = _ref$furnishing === void 0 ? [] : _ref$furnishing,
261
+ _ref$lighting = _ref.lighting,
262
+ lighting = _ref$lighting === void 0 ? [] : _ref$lighting;
271
263
  var id = configData.id,
272
264
  logoImg = configData.logoImg,
273
265
  companyUrl = configData.companyUrl;
@@ -275,13 +267,9 @@ function LiteRenderer(props) {
275
267
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
276
268
  outlineSVGData = _React$useState2[0],
277
269
  setOutlineSVGData = _React$useState2[1];
278
- var _React$useState3 = _react["default"].useState(false),
279
- _React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
280
- catalogInitiated = _React$useState4[0],
281
- setCatalogInitiated = _React$useState4[1];
282
270
  (0, _react.useEffect)(function () {
283
271
  var initMyCatalog = /*#__PURE__*/function () {
284
- var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
272
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
285
273
  var x, _x, _x2;
286
274
  return _regenerator["default"].wrap(function (_context) {
287
275
  while (1) switch (_context.prev = _context.next) {
@@ -298,75 +286,19 @@ function LiteRenderer(props) {
298
286
  }, _callee);
299
287
  }));
300
288
  return function initMyCatalog() {
301
- return _ref3.apply(this, arguments);
289
+ return _ref2.apply(this, arguments);
302
290
  };
303
291
  }();
304
292
  var loadMoldings = /*#__PURE__*/function () {
305
- var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
306
- var door_color_alias, subgroup_ids, door_color_alias_ids, doorStyleData, molding, toeMoldingData, cabinets, promises;
293
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
294
+ var molding, toeMoldingData, moldingData, promises;
307
295
  return _regenerator["default"].wrap(function (_context2) {
308
296
  while (1) switch (_context2.prev = _context2.next) {
309
297
  case 0:
310
- door_color_alias = [];
311
- subgroup_ids = catalogs.filter(function (item) {
312
- return item.id == id;
313
- })[0].manufacturer_subgroup_ids.split(',');
314
- door_color_alias_ids = [];
315
- subgroups.forEach(function (subgroup) {
316
- if (subgroup_ids.some(function (id) {
317
- return id == subgroup.id.toString();
318
- })) {
319
- subgroup.door_color_alias_ids.split(',').forEach(function (item) {
320
- item != '' && door_color_alias_ids.push(item);
321
- });
322
- }
323
- });
324
- colorAlias.forEach(function (color) {
325
- return door_color_alias_ids.some(function (id) {
326
- return id == color.id.toString();
327
- }) && door_color_alias.push(color);
328
- });
329
- doorStyleData = categoryData.data.doorStyles.items;
330
- categoryData.data.doorStyles.items = doorStyleData.treeStruct;
331
- door_color_alias.forEach(function (dca) {
332
- doorStyleData.doorColorData.forEach(function (dc) {
333
- dc.door_style_id = parseInt(dc.door_style_id);
334
- if (dc.id !== dca.door_color_id) return;
335
- dc.name = dca.alias_name;
336
- dc.color_sku_alias = dca.sku_alias_name;
337
- doorStyleData.treeStruct.forEach(function (el) {
338
- el.items.forEach(function (elem) {
339
- return dc.door_style_id === elem.id && (dc.door_style_name = elem.name);
340
- });
341
- });
342
- dca.alias_installation_type = (0, _helper.isEmpty)(dca.alias_installation_type) ? [] : dca.alias_installation_type.split(',').map(function (n) {
343
- return parseInt(n);
344
- });
345
- categoryData.data.doorStyles.items.forEach(function (item) {
346
- if (dca.alias_installation_type.some(function (ait) {
347
- return ait === item.id;
348
- })) item.items.forEach(function (ds) {
349
- if (ds.name === dc.door_style_name) ds.items.push(dc);
350
- });
351
- });
352
- });
353
- });
354
298
  molding = [];
355
- toeMoldingData = [];
356
- cabinets = categoryData.data.cabinets;
357
- cabinets[cabinets.length - 1].items.forEach(function (index) {
358
- if (index.name.toLowerCase().includes('molding')) {
359
- index.items.forEach(function (item) {
360
- return molding.push(item);
361
- });
362
- }
363
- if (index.name.includes(_constants.TOE_KICK_MOLDING)) {
364
- index.items.forEach(function (item) {
365
- return toeMoldingData.push(item);
366
- });
367
- }
368
- });
369
- categoryData.data.toeMoldingData = toeMoldingData;
299
+ toeMoldingData = {};
300
+ moldingData = {};
301
+ if (moldingData.name = _constants.TOE_KICK_MOLDING) toeMoldingData = moldingData;
370
302
  promises = molding.map(function (child) {
371
303
  return new Promise(function (resolve, reject) {
372
304
  var url = child === null || child === void 0 ? void 0 : child.shape_svg;
@@ -394,17 +326,17 @@ function LiteRenderer(props) {
394
326
  }, _callee2);
395
327
  }));
396
328
  return function loadMoldings() {
397
- return _ref4.apply(this, arguments);
329
+ return _ref3.apply(this, arguments);
398
330
  };
399
331
  }();
400
332
  var loadSVGs = /*#__PURE__*/function () {
401
- var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
333
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
402
334
  var svgLoadPromises, outlineData;
403
335
  return _regenerator["default"].wrap(function (_context4) {
404
336
  while (1) switch (_context4.prev = _context4.next) {
405
337
  case 0:
406
338
  svgLoadPromises = data.map(/*#__PURE__*/function () {
407
- var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(item) {
339
+ var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(item) {
408
340
  var _parsed$xml$viewBox, _parsed$xml$viewBox2, response, svgText, loader, parsed, _t;
409
341
  return _regenerator["default"].wrap(function (_context3) {
410
342
  while (1) switch (_context3.prev = _context3.next) {
@@ -452,7 +384,7 @@ function LiteRenderer(props) {
452
384
  }, _callee3, null, [[1, 5]]);
453
385
  }));
454
386
  return function (_x3) {
455
- return _ref6.apply(this, arguments);
387
+ return _ref5.apply(this, arguments);
456
388
  };
457
389
  }());
458
390
  _context4.next = 1;
@@ -467,15 +399,14 @@ function LiteRenderer(props) {
467
399
  }, _callee4);
468
400
  }));
469
401
  return function loadSVGs() {
470
- return _ref5.apply(this, arguments);
402
+ return _ref4.apply(this, arguments);
471
403
  };
472
404
  }();
473
405
  var initCatalog = /*#__PURE__*/function () {
474
- var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
406
+ var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
475
407
  return _regenerator["default"].wrap(function (_context5) {
476
408
  while (1) switch (_context5.prev = _context5.next) {
477
409
  case 0:
478
- setCatalogInitiated(false);
479
410
  _context5.next = 1;
480
411
  return initMyCatalog();
481
412
  case 1:
@@ -485,20 +416,18 @@ function LiteRenderer(props) {
485
416
  _context5.next = 3;
486
417
  return loadSVGs();
487
418
  case 3:
488
- setCatalogInitiated(true);
489
- case 4:
490
419
  case "end":
491
420
  return _context5.stop();
492
421
  }
493
422
  }, _callee5);
494
423
  }));
495
424
  return function initCatalog() {
496
- return _ref7.apply(this, arguments);
425
+ return _ref6.apply(this, arguments);
497
426
  };
498
427
  }();
499
428
  initCatalog();
500
429
  // eslint-disable-next-line react-hooks/exhaustive-deps
501
- }, [categoryData, data, id, catalogs, colorAlias, subgroups]);
430
+ }, [data, id]);
502
431
 
503
432
  // Register items once SVGs are loaded
504
433
  (0, _react.useEffect)(function () {
@@ -535,21 +464,6 @@ function LiteRenderer(props) {
535
464
  });
536
465
  for (var x in Item) MyCatalog.registerElement(Item[x]);
537
466
  }, [outlineSVGData, data, appliances, furnishing, lighting]);
538
- (0, _react.useEffect)(function () {
539
- if (projectElement.length === 0) return;
540
- if (!catalogInitiated) return;
541
- sessionStorage.setItem('projectTitle', projectElement[0].title);
542
- store.dispatch((0, _projectActions.rename)(projectElement[0].title));
543
- sessionStorage.setItem('projectId', projectElement[0].id);
544
- sessionStorage.setItem('email', projectElement[0].email);
545
- sessionStorage.setItem('firstName', projectElement[0].firstName);
546
- sessionStorage.setItem('lastName', projectElement[0].lastName);
547
- sessionStorage.setItem('phone', projectElement[0].phone);
548
- var jsonData;
549
- jsonData = JSON.parse(projectElement[0].project_data);
550
- jsonData.isLoadingCabinet = false;
551
- store.dispatch((0, _projectActions.loadProject)(jsonData, categoryData));
552
- }, [project_data, catalogInitiated]);
553
467
  return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, null, /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
554
468
  store: store
555
469
  }, /*#__PURE__*/_react["default"].createElement(ToolErrorBoundary, {
@@ -564,7 +478,6 @@ function LiteRenderer(props) {
564
478
  stateExtractor: function stateExtractor(state) {
565
479
  return state.get('KitchenConfigurator');
566
480
  },
567
- categoryData: categoryData,
568
481
  data: data,
569
482
  configData: configData,
570
483
  externalEvent: externalEvent
@@ -577,7 +490,6 @@ LiteRenderer.propTypes = {
577
490
  width: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
578
491
  height: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
579
492
  projectElement: _propTypes["default"].arrayOf(_propTypes["default"].object),
580
- categoryData: _propTypes["default"].any,
581
493
  dataBundle: _propTypes["default"].any,
582
494
  configData: _propTypes["default"].any,
583
495
  catalog: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].instanceOf(Models.Catalog)]),
@@ -274,11 +274,11 @@ function updateItemsAltitude(layerID, itemID, value) {
274
274
  value: value
275
275
  };
276
276
  }
277
- function setDoorStyle(doorStyle, pathes, isAll) {
277
+ function setDoorStyle(doorStyle, itemCDS, isAll) {
278
278
  return {
279
279
  type: _constants.SET_DOOR_STYLE,
280
280
  doorStyle: doorStyle,
281
- pathes: pathes,
281
+ itemCDS: itemCDS,
282
282
  isAll: isAll
283
283
  };
284
284
  }
@@ -343,11 +343,10 @@ function setModelling(model) {
343
343
  model: model
344
344
  };
345
345
  }
346
- function setInitialDoorStyle(doorStyle, oStyle) {
346
+ function setInitialDoorStyle(doorStyle) {
347
347
  return {
348
348
  type: _constants.SET_INITIAL_DOOR_STYLE,
349
- doorStyle: doorStyle,
350
- oStyle: oStyle
349
+ doorStyle: doorStyle
351
350
  };
352
351
  }
353
352
  function setMoveStatus(status) {
@@ -69,11 +69,10 @@ function setStateProperties(properties) {
69
69
  properties: properties
70
70
  };
71
71
  }
72
- function loadProject(sceneJSON, categoryData) {
72
+ function loadProject(sceneJSON) {
73
73
  return {
74
74
  type: _constants.LOAD_PROJECT,
75
- sceneJSON: sceneJSON,
76
- categoryData: categoryData
75
+ sceneJSON: sceneJSON
77
76
  };
78
77
  }
79
78
  function newProject() {
@@ -254,10 +254,7 @@ var Catalog = exports["default"] = /*#__PURE__*/function () {
254
254
  if (name === '') {
255
255
  throw new Error('Category has empty name');
256
256
  }
257
- if (this.hasCategory(name)) {
258
- throw new Error('Category has already been registered');
259
- }
260
- return true;
257
+ return !this.hasCategory(name);
261
258
  }
262
259
 
263
260
  /**
@@ -26,7 +26,8 @@ function _default(_ref) {
26
26
  is_corner = _ref.is_corner,
27
27
  alti = _ref.alti,
28
28
  obj_property = _ref.obj_property,
29
- outlineSVGData = _ref.outlineSVGData;
29
+ outlineSVGData = _ref.outlineSVGData,
30
+ cds = _ref.cds;
30
31
  var _length = alti || 0;
31
32
  // const length = convert(_length).from("in").to("cm");
32
33
  var length = _length;
@@ -141,6 +142,7 @@ function _default(_ref) {
141
142
  }),
142
143
  img: base,
143
144
  obj: obj_property,
145
+ cds: cds,
144
146
  render2D: function render2D(element, layer, scene) {
145
147
  return render2DItem.call(this, element, layer, scene, sizeinfo, layoutpos, is_corner, shape_svg);
146
148
  },
package/lib/class/item.js CHANGED
@@ -55,65 +55,19 @@ var Item = exports["default"] = /*#__PURE__*/function () {
55
55
  isDuplication: isDuplication
56
56
  }, null, state);
57
57
  if (item.category === 'cabinet') {
58
+ var _state$doorStyle;
58
59
  var layer = state.getIn(['scene', 'layers', layerID]);
59
- if (state.doorStyle !== null && state.doorStyle !== undefined) {
60
- var _state$doorStyle, _temp$doorStyles;
61
- var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
62
- var cds = temp === null || temp === void 0 || (_temp$doorStyles = temp.doorStyles) === null || _temp$doorStyles === void 0 || (_temp$doorStyles = _temp$doorStyles.cds) === null || _temp$doorStyles === void 0 ? void 0 : _temp$doorStyles.find(function (elem) {
63
- return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
60
+ var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
61
+ var cds = state.catalog.getIn(['elements', type, 'cds']);
62
+ if (cds) {
63
+ var updatedDoorStyles = _objectSpread(_objectSpread({}, temp.doorStyles), {}, {
64
+ cds: [cds]
65
+ });
66
+ item = item.merge({
67
+ doorStyle: (0, _immutable.fromJS)(_objectSpread(_objectSpread({}, temp), {}, {
68
+ doorStyles: updatedDoorStyles
69
+ }))
64
70
  });
65
- if (cds) {
66
- var updatedDoorStyles = _objectSpread(_objectSpread(_objectSpread({}, temp.doorStyles), cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
67
- cabinet_door_style_id: cds.cabinet_door_style_id
68
- });
69
- item = item.merge({
70
- doorStyle: (0, _immutable.fromJS)(_objectSpread(_objectSpread({}, temp), {}, {
71
- doorStyles: updatedDoorStyles
72
- }))
73
- });
74
- } else {
75
- var _state$oStyle;
76
- var styleObj = (_state$oStyle = state.oStyle) === null || _state$oStyle === void 0 || (_state$oStyle = _state$oStyle.toJS()) === null || _state$oStyle === void 0 ? void 0 : _state$oStyle.oStyle;
77
- if (styleObj) {
78
- for (var _x in styleObj) {
79
- cds = styleObj[_x].data.doorStyles.cds.find(function (elem) {
80
- return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
81
- });
82
- if (cds) {
83
- var tmpDS = styleObj[_x].data;
84
- tmpDS.doorStyles = _objectSpread(_objectSpread(_objectSpread({}, tmpDS.doorStyles), cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
85
- cabinet_door_style_id: cds.cabinet_door_style_id
86
- });
87
- item = item.merge({
88
- doorStyle: (0, _immutable.fromJS)(tmpDS)
89
- });
90
- break;
91
- }
92
- }
93
- }
94
- }
95
- } else {
96
- var _state$oStyle2;
97
- var _styleObj = (_state$oStyle2 = state.oStyle) === null || _state$oStyle2 === void 0 || (_state$oStyle2 = _state$oStyle2.toJS()) === null || _state$oStyle2 === void 0 ? void 0 : _state$oStyle2.oStyle;
98
- if (_styleObj) {
99
- for (var _x2 in _styleObj) {
100
- var _styleObj$_x;
101
- var _cds = (_styleObj$_x = _styleObj[_x2]) === null || _styleObj$_x === void 0 || (_styleObj$_x = _styleObj$_x.data) === null || _styleObj$_x === void 0 || (_styleObj$_x = _styleObj$_x.doorStyles) === null || _styleObj$_x === void 0 || (_styleObj$_x = _styleObj$_x.cds) === null || _styleObj$_x === void 0 ? void 0 : _styleObj$_x.find(function (elem) {
102
- return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
103
- });
104
- if (_cds) {
105
- var _styleObj$_x2;
106
- var _tmpDS = (_styleObj$_x2 = _styleObj[_x2]) === null || _styleObj$_x2 === void 0 ? void 0 : _styleObj$_x2.data;
107
- _tmpDS.doorStyles = _objectSpread(_objectSpread(_objectSpread({}, _tmpDS.doorStyles), _cds.data && _cds.data[0] ? _cds.data[0] : {}), {}, {
108
- cabinet_door_style_id: _cds.cabinet_door_style_id
109
- });
110
- item = item.merge({
111
- doorStyle: (0, _immutable.fromJS)(_tmpDS)
112
- });
113
- break;
114
- }
115
- }
116
- }
117
71
  }
118
72
  }
119
73
  if (item.get('type') === 'cabinet' && item.get('doorStyle').size === 0) {
@@ -123,15 +77,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
123
77
  };
124
78
  }
125
79
  var setSizeOfItemByDoorStyle = function setSizeOfItemByDoorStyle() {
126
- var _doorStyle$doorStyles, _cds$data;
127
80
  var doorStyle = item.get('doorStyle').toJS();
128
- var cds = doorStyle === null || doorStyle === void 0 || (_doorStyle$doorStyles = doorStyle.doorStyles) === null || _doorStyle$doorStyles === void 0 || (_doorStyle$doorStyles = _doorStyle$doorStyles.cds) === null || _doorStyle$doorStyles === void 0 ? void 0 : _doorStyle$doorStyles.find(function (elem) {
129
- return elem.itemID === item.itemID;
130
- });
131
- var euro_cds = (cds === null || cds === void 0 || (_cds$data = cds.data) === null || _cds$data === void 0 ? void 0 : _cds$data.filter(function (element) {
81
+ var euroCDS = state.catalog.getIn(['elements', type, 'cds']).data.filter(function (element) {
132
82
  return element && element.is_euro_cds;
133
- })) || [];
134
- if (doorStyle.door_style_name === 'Euro & Frameless' && euro_cds.length > 0) {
83
+ });
84
+ if (doorStyle.door_style_name === 'Euro & Frameless' && euroCDS.length > 0) {
135
85
  var newProperties = item.get('properties').toJS();
136
86
  if (newProperties.hasOwnProperty('depth')) {
137
87
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -142,8 +92,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
142
92
  });
143
93
  }
144
94
  newProperties['depth'] = new _immutable.Map({
145
- length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_length).from('in').to('cm'),
146
- _length: euro_cds[0].euro_length,
95
+ length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_length).from('in').to('cm'),
96
+ _length: euroCDS[0].euro_length,
147
97
  _unit: 'in'
148
98
  });
149
99
  }
@@ -156,8 +106,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
156
106
  });
157
107
  }
158
108
  newProperties['height'] = new _immutable.Map({
159
- length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_height).from('in').to('cm'),
160
- _length: euro_cds[0].euro_height,
109
+ length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_height).from('in').to('cm'),
110
+ _length: euroCDS[0].euro_height,
161
111
  _unit: 'in'
162
112
  });
163
113
  }
@@ -170,8 +120,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
170
120
  });
171
121
  }
172
122
  newProperties['width'] = new _immutable.Map({
173
- length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_width).from('in').to('cm') - 10,
174
- _length: euro_cds[0].euro_width,
123
+ length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_width).from('in').to('cm') - 10,
124
+ _length: euroCDS[0].euro_width,
175
125
  _unit: 'in'
176
126
  });
177
127
  }
@@ -1130,48 +1080,37 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1130
1080
  }
1131
1081
  }, {
1132
1082
  key: "setInitialDoorStyle",
1133
- value: function setInitialDoorStyle(state, doorStyle, oStyle) {
1134
- if (doorStyle === undefined) {
1135
- state = state.merge({
1136
- oStyle: new _immutable.Map({
1137
- oStyle: oStyle
1138
- })
1139
- });
1140
- } else {
1141
- state = state.merge({
1142
- doorStyle: doorStyle,
1143
- oStyle: new _immutable.Map({
1144
- oStyle: oStyle
1145
- })
1146
- });
1147
- var _state8 = state,
1148
- scene = _state8.scene;
1149
- var layerID = scene.get('selectedLayer');
1150
- var layers = scene.layers.get(layerID);
1151
- var items = layers.items;
1152
- items.forEach(function (data) {
1153
- {
1154
- var itemID = data.id;
1155
- var tmpDS = _objectSpread(_objectSpread({}, data.doorStyle), {}, {
1156
- doorStyles: _objectSpread(_objectSpread({}, data.doorStyle.doorStyles), {}, {
1157
- counttop: doorStyle.doorStyles.counttop
1158
- })
1159
- });
1160
- data = data.mergeIn(['doorStyle'], (0, _immutable.fromJS)(tmpDS));
1161
- layers = layers.mergeIn(['items', itemID], data);
1162
- state = state.merge({
1163
- scene: scene.mergeIn(['layers', layerID], layers)
1164
- });
1165
- }
1166
- });
1167
- }
1083
+ value: function setInitialDoorStyle(state, doorStyle) {
1084
+ state = state.merge({
1085
+ doorStyle: doorStyle
1086
+ });
1087
+ var _state8 = state,
1088
+ scene = _state8.scene;
1089
+ var layerID = scene.get('selectedLayer');
1090
+ var layers = scene.layers.get(layerID);
1091
+ var items = layers.items;
1092
+ items.forEach(function (data) {
1093
+ {
1094
+ var itemID = data.id;
1095
+ var tmpDS = _objectSpread(_objectSpread({}, data.doorStyle), {}, {
1096
+ doorStyles: _objectSpread(_objectSpread({}, data.doorStyle.doorStyles), {}, {
1097
+ counttop: doorStyle.doorStyles.counttop
1098
+ })
1099
+ });
1100
+ data = data.mergeIn(['doorStyle'], (0, _immutable.fromJS)(tmpDS));
1101
+ layers = layers.mergeIn(['items', itemID], data);
1102
+ state = state.merge({
1103
+ scene: scene.mergeIn(['layers', layerID], layers)
1104
+ });
1105
+ }
1106
+ });
1168
1107
  return {
1169
1108
  updatedState: state
1170
1109
  };
1171
1110
  }
1172
1111
  }, {
1173
1112
  key: "setDoorStyle",
1174
- value: function setDoorStyle(state, doorStyle, pathes, isAll) {
1113
+ value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1175
1114
  var _this2 = this;
1176
1115
  var keys = Object.keys(doorStyle.doorStyles);
1177
1116
  keys = keys.filter(function (elem) {
@@ -1188,14 +1127,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1188
1127
  var layerID = state.scene.get('selectedLayer');
1189
1128
  var temp_layer_molding = state.scene.getIn(['layers', layerID, 'molding']);
1190
1129
  temp_layer_molding = temp_layer_molding.filter(function (md) {
1191
- return doorStyle.doorStyles.cds.some(function (ds) {
1130
+ return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1192
1131
  return md.itemID === ds.itemID;
1193
1132
  });
1194
1133
  });
1195
1134
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1196
1135
  var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1197
1136
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1198
- var _cds$data2;
1137
+ var _cds$data;
1199
1138
  if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1200
1139
  var itemID = data.id;
1201
1140
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1203,7 +1142,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1203
1142
  var tmpMolding = (0, _toConsumableArray2["default"])(curItem.molding);
1204
1143
  var temp_item_molding = (0, _toConsumableArray2["default"])(curItem.molding);
1205
1144
  temp_item_molding = temp_item_molding.filter(function (md) {
1206
- return doorStyle.doorStyles.cds.some(function (ds) {
1145
+ return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1207
1146
  return ds.itemID === md.itemID;
1208
1147
  });
1209
1148
  });
@@ -1213,17 +1152,16 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1213
1152
  state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'molding'], temp_item_molding);
1214
1153
  });
1215
1154
  });
1216
- var cds = doorStyle.doorStyles.cds.find(function (elem) {
1155
+ var cds = itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.find(function (elem) {
1217
1156
  return elem.itemID === data.itemID;
1218
1157
  });
1219
- var euro_cds = (cds === null || cds === void 0 || (_cds$data2 = cds.data) === null || _cds$data2 === void 0 ? void 0 : _cds$data2.filter(function (element) {
1158
+ var euro_cds = (cds === null || cds === void 0 || (_cds$data = cds.data) === null || _cds$data === void 0 ? void 0 : _cds$data.filter(function (element) {
1220
1159
  return element && element.is_euro_cds;
1221
1160
  })) || [];
1222
- var cds_data;
1223
- if (doorStyle.door_style_name === 'Euro & Frameless' && euro_cds.length > 0) {
1224
- cds_data = cds ? _objectSpread(_objectSpread({}, euro_cds[0]), {}, {
1225
- cabinet_door_style_id: cds.cabinet_door_style_id
1226
- }) : {};
1161
+ var cds_data = cds ? [cds] : [];
1162
+ if (
1163
+ // doorStyle.door_style_name === 'Euro & Frameless' &&
1164
+ euro_cds.length > 0) {
1227
1165
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1228
1166
  if (newProperties.hasOwnProperty('depth')) {
1229
1167
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1269,9 +1207,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1269
1207
  }
1270
1208
  state = _this2.setJsProperties(state, layerID, itemID, newProperties).updatedState;
1271
1209
  } else {
1272
- cds_data = cds ? _objectSpread(_objectSpread({}, cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
1273
- cabinet_door_style_id: cds.cabinet_door_style_id
1274
- }) : {};
1275
1210
  var properties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1276
1211
  if (properties.hasOwnProperty('oldDepth')) {
1277
1212
  properties['depth'] = new _immutable.Map({
@@ -1310,7 +1245,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1310
1245
  color_sku_alias: doorStyle.color_sku_alias,
1311
1246
  // alias name of color_sku for the current dealer
1312
1247
  install: (0, _utils.getInstallationSuffix)(_constants.INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1313
- doorStyles: _objectSpread(_objectSpread({}, tmp), cds_data)
1248
+ doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1249
+ cds: cds_data
1250
+ })
1314
1251
  };
1315
1252
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], (0, _immutable.fromJS)(tmpDS));
1316
1253
  };