kitchen-simulator 4.0.3-react-18 → 4.0.3

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 (190) hide show
  1. package/README.md +3 -0
  2. package/es/AppContext.js +1 -1
  3. package/es/LiteKitchenConfigurator.js +165 -107
  4. package/es/LiteRenderer.js +161 -129
  5. package/es/actions/export.js +25 -12
  6. package/es/assets/gltf/door_sliding.bin +0 -0
  7. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  8. package/es/assets/img/svg/bottombar/elevation.svg +12 -5
  9. package/es/catalog/catalog.js +21 -5
  10. package/es/catalog/holes/window-clear/planner-element.js +2 -2
  11. package/es/catalog/properties/export.js +21 -0
  12. package/es/catalog/properties/property-checkbox.js +68 -0
  13. package/es/catalog/properties/property-color.js +39 -0
  14. package/es/catalog/properties/property-enum.js +50 -0
  15. package/es/catalog/properties/property-hidden.js +19 -0
  16. package/es/catalog/properties/property-lenght-measure.js +100 -0
  17. package/es/catalog/properties/property-length-measure.js +84 -0
  18. package/es/catalog/properties/property-length-measure_hole.js +100 -0
  19. package/es/catalog/properties/property-number.js +48 -0
  20. package/es/catalog/properties/property-read-only.js +26 -0
  21. package/es/catalog/properties/property-string.js +48 -0
  22. package/es/catalog/properties/property-toggle.js +39 -0
  23. package/es/catalog/properties/shared-property-style.js +14 -0
  24. package/es/catalog/utils/exporter.js +1 -0
  25. package/es/catalog/utils/item-loader.js +35 -26
  26. package/es/class/hole.js +0 -2
  27. package/es/class/item.js +95 -69
  28. package/es/class/line.js +4 -8
  29. package/es/class/project.js +93 -80
  30. package/es/components/content.js +5 -93
  31. package/es/components/export.js +4 -6
  32. package/es/components/style/button.js +106 -0
  33. package/es/components/style/cancel-button.js +21 -0
  34. package/es/components/style/content-container.js +30 -0
  35. package/es/components/style/content-title.js +25 -0
  36. package/es/components/style/delete-button.js +24 -0
  37. package/es/components/style/export.js +28 -2
  38. package/es/components/style/form-block.js +20 -0
  39. package/es/components/style/form-color-input.js +26 -0
  40. package/es/components/style/form-label.js +22 -0
  41. package/es/components/style/form-number-input.js +11 -22
  42. package/es/components/style/form-number-input_2.js +200 -0
  43. package/es/components/style/form-select.js +19 -0
  44. package/es/components/style/form-slider.js +60 -0
  45. package/es/components/style/form-submit-button.js +25 -0
  46. package/es/components/style/form-text-input.js +69 -0
  47. package/es/components/viewer2d/group.js +5 -4
  48. package/es/components/viewer2d/item.js +155 -359
  49. package/es/components/viewer2d/layer.js +1 -1
  50. package/es/components/viewer2d/line.js +17 -47
  51. package/es/components/viewer2d/ruler.js +5 -3
  52. package/es/components/viewer2d/rulerDist.js +8 -7
  53. package/es/components/viewer2d/rulerX.js +4 -2
  54. package/es/components/viewer2d/rulerY.js +3 -0
  55. package/es/components/viewer2d/scene.js +4 -1
  56. package/es/components/viewer2d/state.js +1 -1
  57. package/es/components/viewer2d/utils.js +2 -2
  58. package/es/components/viewer2d/vertex.js +3 -2
  59. package/es/components/viewer2d/viewer2d.js +51 -84
  60. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
  61. package/es/components/viewer3d/scene-creator.js +59 -18
  62. package/es/components/viewer3d/viewer3d-first-person.js +8 -0
  63. package/es/components/viewer3d/viewer3d.js +80 -88
  64. package/es/constants.js +6 -2
  65. package/es/devLiteRenderer.js +491 -150
  66. package/es/index.js +566 -25
  67. package/es/models.js +2 -1
  68. package/es/plugins/SVGLoader.js +1414 -0
  69. package/es/plugins/console-debugger.js +34 -0
  70. package/es/plugins/export.js +7 -0
  71. package/es/plugins/keyboard.js +110 -0
  72. package/es/reducers/project-reducer.js +3 -0
  73. package/es/styles/export.js +5 -0
  74. package/es/styles/tabs.css +40 -0
  75. package/es/utils/geometry.js +72 -114
  76. package/es/utils/helper.js +38 -1
  77. package/es/utils/isolate-event-handler.js +826 -606
  78. package/es/utils/molding.js +457 -11
  79. package/lib/AppContext.js +1 -1
  80. package/lib/LiteKitchenConfigurator.js +164 -107
  81. package/lib/LiteRenderer.js +160 -129
  82. package/lib/actions/export.js +35 -39
  83. package/lib/assets/gltf/door_sliding.bin +0 -0
  84. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  85. package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
  86. package/lib/catalog/catalog.js +20 -4
  87. package/lib/catalog/holes/window-clear/planner-element.js +2 -2
  88. package/lib/catalog/properties/export.js +81 -0
  89. package/lib/catalog/properties/property-checkbox.js +76 -0
  90. package/lib/catalog/properties/property-color.js +47 -0
  91. package/lib/catalog/properties/property-enum.js +58 -0
  92. package/lib/catalog/properties/property-hidden.js +27 -0
  93. package/lib/catalog/properties/property-lenght-measure.js +108 -0
  94. package/lib/catalog/properties/property-length-measure.js +92 -0
  95. package/lib/catalog/properties/property-length-measure_hole.js +108 -0
  96. package/lib/catalog/properties/property-number.js +56 -0
  97. package/lib/catalog/properties/property-read-only.js +34 -0
  98. package/lib/catalog/properties/property-string.js +56 -0
  99. package/lib/catalog/properties/property-toggle.js +47 -0
  100. package/lib/catalog/properties/shared-property-style.js +21 -0
  101. package/lib/catalog/utils/exporter.js +1 -0
  102. package/lib/catalog/utils/item-loader.js +35 -26
  103. package/lib/class/hole.js +0 -2
  104. package/lib/class/item.js +93 -67
  105. package/lib/class/line.js +3 -7
  106. package/lib/class/project.js +93 -80
  107. package/lib/components/content.js +5 -93
  108. package/lib/components/export.js +6 -26
  109. package/lib/components/style/button.js +115 -0
  110. package/lib/components/style/cancel-button.js +29 -0
  111. package/lib/components/style/content-container.js +38 -0
  112. package/lib/components/style/content-title.js +35 -0
  113. package/lib/components/style/delete-button.js +34 -0
  114. package/lib/components/style/export.js +105 -1
  115. package/lib/components/style/form-block.js +28 -0
  116. package/lib/components/style/form-color-input.js +34 -0
  117. package/lib/components/style/form-label.js +30 -0
  118. package/lib/components/style/form-number-input.js +11 -22
  119. package/lib/components/style/form-number-input_2.js +209 -0
  120. package/lib/components/style/form-select.js +29 -0
  121. package/lib/components/style/form-slider.js +68 -0
  122. package/lib/components/style/form-submit-button.js +35 -0
  123. package/lib/components/style/form-text-input.js +78 -0
  124. package/lib/components/viewer2d/group.js +5 -4
  125. package/lib/components/viewer2d/item.js +152 -356
  126. package/lib/components/viewer2d/layer.js +1 -1
  127. package/lib/components/viewer2d/line.js +17 -47
  128. package/lib/components/viewer2d/ruler.js +4 -2
  129. package/lib/components/viewer2d/rulerDist.js +8 -7
  130. package/lib/components/viewer2d/rulerX.js +4 -2
  131. package/lib/components/viewer2d/rulerY.js +3 -0
  132. package/lib/components/viewer2d/scene.js +4 -1
  133. package/lib/components/viewer2d/state.js +1 -1
  134. package/lib/components/viewer2d/utils.js +2 -2
  135. package/lib/components/viewer2d/vertex.js +3 -2
  136. package/lib/components/viewer2d/viewer2d.js +49 -81
  137. package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
  138. package/lib/components/viewer3d/scene-creator.js +57 -16
  139. package/lib/components/viewer3d/viewer3d-first-person.js +8 -0
  140. package/lib/components/viewer3d/viewer3d.js +77 -84
  141. package/lib/constants.js +11 -7
  142. package/lib/devLiteRenderer.js +489 -148
  143. package/lib/index.js +566 -25
  144. package/lib/models.js +2 -1
  145. package/lib/plugins/SVGLoader.js +1419 -0
  146. package/lib/plugins/console-debugger.js +42 -0
  147. package/lib/plugins/export.js +25 -0
  148. package/lib/plugins/keyboard.js +117 -0
  149. package/lib/reducers/project-reducer.js +3 -0
  150. package/lib/styles/export.js +13 -0
  151. package/lib/styles/tabs.css +40 -0
  152. package/lib/utils/geometry.js +72 -114
  153. package/lib/utils/helper.js +40 -1
  154. package/lib/utils/isolate-event-handler.js +826 -605
  155. package/lib/utils/molding.js +458 -9
  156. package/package.json +21 -16
  157. package/es/mocks/appliancePayload.json +0 -27
  158. package/es/mocks/cabinetPayload.json +0 -1914
  159. package/es/mocks/cabinetPayload2.json +0 -76
  160. package/es/mocks/dataBundle2.json +0 -4
  161. package/es/mocks/distancePayload.json +0 -6
  162. package/es/mocks/doorStylePayload2.json +0 -84
  163. package/es/mocks/furnishingPayload.json +0 -23
  164. package/es/mocks/itemCDSPayload.json +0 -27
  165. package/es/mocks/lightingPayload.json +0 -23
  166. package/es/mocks/mockProps.json +0 -43
  167. package/es/mocks/mockProps2.json +0 -9
  168. package/es/mocks/moldingPayload.json +0 -19
  169. package/es/mocks/projectItemsCatalog.json +0 -133
  170. package/es/mocks/rectangleShape.json +0 -238
  171. package/es/mocks/replaceCabinetPayload.json +0 -81
  172. package/es/mocks/roomShapePayload.json +0 -5
  173. package/es/useAppContext.js +0 -8
  174. package/lib/mocks/appliancePayload.json +0 -27
  175. package/lib/mocks/cabinetPayload.json +0 -1914
  176. package/lib/mocks/cabinetPayload2.json +0 -76
  177. package/lib/mocks/dataBundle2.json +0 -4
  178. package/lib/mocks/distancePayload.json +0 -6
  179. package/lib/mocks/doorStylePayload2.json +0 -84
  180. package/lib/mocks/furnishingPayload.json +0 -23
  181. package/lib/mocks/itemCDSPayload.json +0 -27
  182. package/lib/mocks/lightingPayload.json +0 -23
  183. package/lib/mocks/mockProps.json +0 -43
  184. package/lib/mocks/mockProps2.json +0 -9
  185. package/lib/mocks/moldingPayload.json +0 -19
  186. package/lib/mocks/projectItemsCatalog.json +0 -133
  187. package/lib/mocks/rectangleShape.json +0 -238
  188. package/lib/mocks/replaceCabinetPayload.json +0 -81
  189. package/lib/mocks/roomShapePayload.json +0 -5
  190. package/lib/useAppContext.js +0 -16
package/lib/class/item.js CHANGED
@@ -18,6 +18,7 @@ var _helper = require("../utils/helper");
18
18
  var _util = require("util");
19
19
  var _molding = require("../utils/molding");
20
20
  var _utils = require("../components/viewer2d/utils");
21
+ var _history = require("../utils/history");
21
22
  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; }
22
23
  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; }
23
24
  var allItemRect;
@@ -35,9 +36,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
35
36
  return (0, _createClass2["default"])(Item, null, [{
36
37
  key: "create",
37
38
  value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
39
+ var _item;
38
40
  var molding = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : [];
39
41
  var isInitialPos = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : false;
40
42
  var refItem = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : null;
43
+ var counterTopURI = arguments.length > 12 && arguments[12] !== undefined ? arguments[12] : null;
41
44
  var itemID = _export2.IDBroker.acquireID();
42
45
  var item = state.catalog.factoryElement(type, {
43
46
  id: itemID,
@@ -63,13 +66,20 @@ var Item = exports["default"] = /*#__PURE__*/function () {
63
66
  doorStyle: refItem.doorStyle
64
67
  });
65
68
  } else {
66
- var _state$doorStyle;
69
+ var _state$doorStyle, _ref, _temp$doorStyles$cds$, _temp$doorStyles, _temp$cds, _state3;
67
70
  var layer = state.getIn(['scene', 'layers', layerID]);
68
71
  var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
69
- var cds = state.catalog.getIn(['elements', type, 'cds']);
72
+ var cds = (_ref = (_temp$doorStyles$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) {
73
+ var _state;
74
+ return elem.itemID === ((_state = state) === null || _state === void 0 || (_state = _state.catalog) === null || _state === void 0 ? void 0 : _state.getIn(['elements', type, 'itemID']));
75
+ })) !== null && _temp$doorStyles$cds$ !== void 0 ? _temp$doorStyles$cds$ : temp === null || temp === void 0 || (_temp$cds = temp.cds) === null || _temp$cds === void 0 ? void 0 : _temp$cds.find(function (elem) {
76
+ var _state2;
77
+ return elem.itemID === ((_state2 = state) === null || _state2 === void 0 || (_state2 = _state2.catalog) === null || _state2 === void 0 ? void 0 : _state2.getIn(['elements', type, 'itemID']));
78
+ })) !== null && _ref !== void 0 ? _ref : (_state3 = state) === null || _state3 === void 0 || (_state3 = _state3.catalog) === null || _state3 === void 0 ? void 0 : _state3.getIn(['elements', type, 'cds']);
70
79
  if (cds) {
71
80
  var updatedDoorStyles = _objectSpread(_objectSpread({}, temp.doorStyles), {}, {
72
- cds: [cds]
81
+ cds: [cds],
82
+ cabinet_door_style_id: cds.cabinet_door_style_id
73
83
  });
74
84
  item = item.merge({
75
85
  doorStyle: (0, _immutable.fromJS)(_objectSpread(_objectSpread({}, temp), {}, {
@@ -166,6 +176,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
166
176
  }
167
177
  };
168
178
  item.category === 'cabinet' && setSizeOfItemByDoorStyle();
179
+ if (!(0, _utils.isEmpty)(counterTopURI) && !(0, _utils.isEmpty)((_item = item) === null || _item === void 0 ? void 0 : _item.counterTop)) {
180
+ item.counterTop.uri = counterTopURI;
181
+ }
169
182
  item = this.updateDoorHandle(item, state.getIn(['scene', 'layers', layerID]));
170
183
  state = state.setIn(['scene', 'layers', layerID, 'items', itemID], item);
171
184
  if (item.type.includes('Light')) {
@@ -337,17 +350,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
337
350
  if (isRect) {
338
351
  var _this$create2 = this.create(state, layerID, sceneComponentType, x - width * Math.cos(rotRad), y - width * Math.sin(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
339
352
  _stateI = _this$create2.updatedState,
340
- _item = _this$create2.item;
341
- duplicatedElement = _item;
342
- if (_item === null) {
353
+ _item2 = _this$create2.item;
354
+ duplicatedElement = _item2;
355
+ if (_item2 === null) {
343
356
  alert('There are no Door Colors in this cabinet.');
344
357
  state = state.merge({
345
358
  mode: _constants.MODE_IDLE,
346
359
  drawingSupport: new _immutable.Map()
347
360
  });
348
361
  } else {
349
- state = Item.select(_stateI, layerID, _item.id).updatedState;
350
- state = state.setIn(['drawingSupport', 'currentID'], _item.id);
362
+ state = Item.select(_stateI, layerID, _item2.id).updatedState;
363
+ state = state.setIn(['drawingSupport', 'currentID'], _item2.id);
351
364
  }
352
365
  } else {
353
366
  var _val2 = {
@@ -364,17 +377,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
364
377
  if (isRectDown) {
365
378
  var _this$create3 = this.create(state, layerID, sceneComponentType, x - depth * Math.sin(rotRad), y - depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
366
379
  _stateI2 = _this$create3.updatedState,
367
- _item2 = _this$create3.item;
368
- duplicatedElement = _item2;
369
- if (_item2 === null) {
380
+ _item3 = _this$create3.item;
381
+ duplicatedElement = _item3;
382
+ if (_item3 === null) {
370
383
  alert('There are no Door Colors in this cabinet.');
371
384
  state = state.merge({
372
385
  mode: _constants.MODE_IDLE,
373
386
  drawingSupport: new _immutable.Map()
374
387
  });
375
388
  } else {
376
- state = Item.select(_stateI2, layerID, _item2.id).updatedState;
377
- state = state.setIn(['drawingSupport', 'currentID'], _item2.id);
389
+ state = Item.select(_stateI2, layerID, _item3.id).updatedState;
390
+ state = state.setIn(['drawingSupport', 'currentID'], _item3.id);
378
391
  }
379
392
  } else {
380
393
  var _val3 = {
@@ -391,17 +404,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
391
404
  if (isRectUp) {
392
405
  var _this$create4 = this.create(state, layerID, sceneComponentType, x + depth * Math.sin(rotRad), y + depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding, false, myObject),
393
406
  _stateI3 = _this$create4.updatedState,
394
- _item3 = _this$create4.item;
395
- duplicatedElement = _item3;
396
- if (_item3 === null) {
407
+ _item4 = _this$create4.item;
408
+ duplicatedElement = _item4;
409
+ if (_item4 === null) {
397
410
  alert('There are no Door Colors in this cabinet.');
398
411
  state = state.merge({
399
412
  mode: _constants.MODE_IDLE,
400
413
  drawingSupport: new _immutable.Map()
401
414
  });
402
415
  } else {
403
- state = Item.select(_stateI3, layerID, _item3.id).updatedState;
404
- state = state.setIn(['drawingSupport', 'currentID'], _item3.id);
416
+ state = Item.select(_stateI3, layerID, _item4.id).updatedState;
417
+ state = state.setIn(['drawingSupport', 'currentID'], _item4.id);
405
418
  }
406
419
  } else {
407
420
  console.log('there is no space');
@@ -471,8 +484,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
471
484
  break;
472
485
  }
473
486
  if (onInternalEvent && duplicatedElement) {
474
- var jsElement = duplicatedElement.toJS();
475
- if (jsElement.prototype === 'items') jsElement.isWarning = (0, _utils.isWarningItem)(duplicatedElement);
487
+ var _state$get;
488
+ var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
489
+ var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer, catalog);
476
490
  onInternalEvent({
477
491
  type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
478
492
  value: jsElement
@@ -537,8 +551,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
537
551
  }, {
538
552
  key: "replaceItem",
539
553
  value: function replaceItem(state, selectedPos, currentObject, selectedObject) {
554
+ var _currentObject$counte;
555
+ var counterTopURI = '';
556
+ if (!(0, _utils.isEmpty)(currentObject === null || currentObject === void 0 || (_currentObject$counte = currentObject.counterTop) === null || _currentObject$counte === void 0 ? void 0 : _currentObject$counte.uri)) {
557
+ var _currentObject$counte2;
558
+ counterTopURI = currentObject === null || currentObject === void 0 || (_currentObject$counte2 = currentObject.counterTop) === null || _currentObject$counte2 === void 0 ? void 0 : _currentObject$counte2.uri;
559
+ } else if (!(0, _utils.isEmpty)(state.getIn(['scene', 'layers', 'layer-1', 'counterTop']))) counterTopURI = state.getIn(['scene', 'layers', 'layer-1', 'counterTop']).uri;else counterTopURI = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
540
560
  state = this.remove(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
541
- state = this.create(state, state.scene.selectedLayer, selectedObject.name, selectedPos.x, selectedPos.y, selectedObject.info.width, selectedObject.info.height, selectedPos.rotation, false).updatedState;
561
+ state = this.create(state, state.scene.selectedLayer, selectedObject.name, selectedPos.x, selectedPos.y, selectedObject.info.width, selectedObject.info.height, selectedPos.rotation, false, [], false, null, counterTopURI).updatedState;
542
562
  // state = this.select(state, state.scene.selectedLayer, selectedPos.selectedItemId).updatedState;
543
563
  return {
544
564
  updatedState: state
@@ -656,8 +676,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
656
676
  }, {
657
677
  key: "updateDraggingItemChanged",
658
678
  value: function updateDraggingItemChanged(state, x, y, layerID, itemID) {
659
- var _state = state,
660
- scene = _state.scene;
679
+ var _state4 = state,
680
+ scene = _state4.scene;
661
681
  // let originalX = draggingSupport.get('originalX');
662
682
  // let originalY = draggingSupport.get('originalY');
663
683
 
@@ -749,9 +769,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
749
769
  }, {
750
770
  key: "updateDraggingItem",
751
771
  value: function updateDraggingItem(state, x, y) {
752
- var _state2 = state,
753
- draggingSupport = _state2.draggingSupport,
754
- scene = _state2.scene;
772
+ var _state5 = state,
773
+ draggingSupport = _state5.draggingSupport,
774
+ scene = _state5.scene;
755
775
  var layerID = draggingSupport.get('layerID');
756
776
  var itemID = draggingSupport.get('itemID');
757
777
  var startPointX = draggingSupport.get('startPointX');
@@ -783,9 +803,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
783
803
  }, {
784
804
  key: "updateDraggingItem3DX",
785
805
  value: function updateDraggingItem3DX(state, x) {
786
- var _state3 = state,
787
- draggingSupport = _state3.draggingSupport,
788
- scene = _state3.scene;
806
+ var _state6 = state,
807
+ draggingSupport = _state6.draggingSupport,
808
+ scene = _state6.scene;
789
809
  var layerID = draggingSupport.get('layerID');
790
810
  var itemID = draggingSupport.get('itemID');
791
811
  var startPointX = draggingSupport.get('startPointX');
@@ -805,9 +825,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
805
825
  }, {
806
826
  key: "updateDraggingItem3DY",
807
827
  value: function updateDraggingItem3DY(state, y) {
808
- var _state4 = state,
809
- draggingSupport = _state4.draggingSupport,
810
- scene = _state4.scene;
828
+ var _state7 = state,
829
+ draggingSupport = _state7.draggingSupport,
830
+ scene = _state7.scene;
811
831
  var layerID = draggingSupport.get('layerID');
812
832
  var itemID = draggingSupport.get('itemID');
813
833
  var startPointY = draggingSupport.get('startPointY');
@@ -888,9 +908,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
888
908
  }, {
889
909
  key: "updateRotatingItem",
890
910
  value: function updateRotatingItem(state, x, y) {
891
- var _state5 = state,
892
- rotatingSupport = _state5.rotatingSupport,
893
- scene = _state5.scene;
911
+ var _state8 = state,
912
+ rotatingSupport = _state8.rotatingSupport,
913
+ scene = _state8.scene;
894
914
  var layerID = rotatingSupport.get('layerID');
895
915
  var itemID = rotatingSupport.get('itemID');
896
916
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -973,9 +993,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
973
993
  }, {
974
994
  key: "replaceSubmodule",
975
995
  value: function replaceSubmodule(state, url) {
976
- var _state6 = state,
977
- replacingSupport = _state6.replacingSupport,
978
- scene = _state6.scene;
996
+ var _state9 = state,
997
+ replacingSupport = _state9.replacingSupport,
998
+ scene = _state9.scene;
979
999
  url = 'catalog/texture.png';
980
1000
  var urlData = url.split('/');
981
1001
  var newURL = '';
@@ -1076,9 +1096,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1076
1096
  }, {
1077
1097
  key: "animateObject",
1078
1098
  value: function animateObject(state, value) {
1079
- var _state7 = state,
1080
- replacingSupport = _state7.replacingSupport,
1081
- scene = _state7.scene;
1099
+ var _state0 = state,
1100
+ replacingSupport = _state0.replacingSupport,
1101
+ scene = _state0.scene;
1082
1102
  var layerID = replacingSupport.get('layerID');
1083
1103
  var itemID = replacingSupport.get('itemID');
1084
1104
  var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1115,8 +1135,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1115
1135
  state = state.merge({
1116
1136
  doorStyle: doorStyle
1117
1137
  });
1118
- var _state8 = state,
1119
- scene = _state8.scene;
1138
+ var _state1 = state,
1139
+ scene = _state1.scene;
1120
1140
  var layerID = scene.get('selectedLayer');
1121
1141
  var layers = scene.layers.get(layerID);
1122
1142
  var items = layers.items;
@@ -1313,8 +1333,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1313
1333
  }, {
1314
1334
  key: "setCounterTop",
1315
1335
  value: function setCounterTop(state, counterTop) {
1316
- var _state9 = state,
1317
- scene = _state9.scene;
1336
+ var _state10 = state,
1337
+ scene = _state10.scene;
1318
1338
  var layerID = scene.get('selectedLayer');
1319
1339
  var layers = scene.layers.get(layerID);
1320
1340
  layers = layers.mergeIn(['counterTop'], counterTop);
@@ -1358,8 +1378,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1358
1378
  }, {
1359
1379
  key: "setDoorHandle",
1360
1380
  value: function setDoorHandle(state, doorHandle) {
1361
- var _state0 = state,
1362
- scene = _state0.scene;
1381
+ var _state11 = state,
1382
+ scene = _state11.scene;
1363
1383
  var layerID = scene.get('selectedLayer');
1364
1384
  var layer = scene.layers.get(layerID);
1365
1385
  layer = layer.mergeIn(['doorHandle'], doorHandle);
@@ -1383,8 +1403,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1383
1403
  }, {
1384
1404
  key: "setHandleMaterial",
1385
1405
  value: function setHandleMaterial(state, material) {
1386
- var _state1 = state,
1387
- scene = _state1.scene;
1406
+ var _state12 = state,
1407
+ scene = _state12.scene;
1388
1408
  var layerID = scene.get('selectedLayer');
1389
1409
  var layers = scene.layers.get(layerID);
1390
1410
  var items = layers.items;
@@ -1409,8 +1429,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1409
1429
  }, {
1410
1430
  key: "setWallColor",
1411
1431
  value: function setWallColor(state, wallColor) {
1412
- var _state10 = state,
1413
- scene = _state10.scene;
1432
+ var _state13 = state,
1433
+ scene = _state13.scene;
1414
1434
  var layerID = scene.get('selectedLayer');
1415
1435
  var layer = scene.layers.get(layerID);
1416
1436
  layer = layer.merge({
@@ -1436,8 +1456,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1436
1456
  }, {
1437
1457
  key: "setBacksplash",
1438
1458
  value: function setBacksplash(state, backsplash) {
1439
- var _state11 = state,
1440
- scene = _state11.scene;
1459
+ var _state14 = state,
1460
+ scene = _state14.scene;
1441
1461
  var layerID = scene.get('selectedLayer');
1442
1462
  var layer = scene.layers.get(layerID);
1443
1463
  var dataJSON = layer.toJS();
@@ -1465,8 +1485,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1465
1485
  }, {
1466
1486
  key: "setMolding",
1467
1487
  value: function setMolding(state, molding, isAll) {
1468
- var _state12 = state,
1469
- scene = _state12.scene;
1488
+ var _state15 = state,
1489
+ scene = _state15.scene;
1470
1490
  var layerID = scene.get('selectedLayer');
1471
1491
  var layer = scene.layers.get(layerID);
1472
1492
  if (isAll) {
@@ -1548,6 +1568,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1548
1568
  });
1549
1569
  }
1550
1570
  }
1571
+ state = state.merge({
1572
+ sceneHistory: (0, _history.historyPush)(state.sceneHistory, state.scene)
1573
+ });
1551
1574
  return {
1552
1575
  updatedState: state
1553
1576
  };
@@ -1555,8 +1578,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1555
1578
  }, {
1556
1579
  key: "updateMolding",
1557
1580
  value: function updateMolding(state) {
1558
- var _state13 = state,
1559
- scene = _state13.scene;
1581
+ var _state16 = state,
1582
+ scene = _state16.scene;
1560
1583
  var layerID = scene.get('selectedLayer');
1561
1584
  var layer = scene.layers.get(layerID);
1562
1585
  var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
@@ -1670,6 +1693,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1670
1693
  updateSelectItemMolding();
1671
1694
  }
1672
1695
  }
1696
+ state = state.merge({
1697
+ sceneHistory: (0, _history.historyPush)(state.sceneHistory, state.scene)
1698
+ });
1673
1699
  return {
1674
1700
  updatedState: state
1675
1701
  };
@@ -1677,8 +1703,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1677
1703
  }, {
1678
1704
  key: "setBacksplashVisible",
1679
1705
  value: function setBacksplashVisible(state, itemID, backsplashVisible) {
1680
- var _state14 = state,
1681
- scene = _state14.scene;
1706
+ var _state17 = state,
1707
+ scene = _state17.scene;
1682
1708
  var layerID = scene.get('selectedLayer');
1683
1709
  var layer = scene.layers.get(layerID);
1684
1710
  layer = layer.mergeIn(['items', itemID, 'backsplashVisible'], backsplashVisible);
@@ -1698,8 +1724,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1698
1724
  }, {
1699
1725
  key: "setApplianceMaterial",
1700
1726
  value: function setApplianceMaterial(state, material) {
1701
- var _state15 = state,
1702
- scene = _state15.scene;
1727
+ var _state18 = state,
1728
+ scene = _state18.scene;
1703
1729
  var layerID = scene.get('selectedLayer');
1704
1730
  var layers = scene.layers.get(layerID);
1705
1731
  var items = layers.items;
@@ -1723,8 +1749,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1723
1749
  }, {
1724
1750
  key: "setModelling",
1725
1751
  value: function setModelling(state, molding) {
1726
- var _state16 = state,
1727
- scene = _state16.scene;
1752
+ var _state19 = state,
1753
+ scene = _state19.scene;
1728
1754
  var layerID = scene.get('selectedLayer');
1729
1755
  var layers = scene.layers.get(layerID);
1730
1756
  var items = layers.items;
@@ -1834,8 +1860,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1834
1860
  }, {
1835
1861
  key: "toggleLoadingCabinet",
1836
1862
  value: function toggleLoadingCabinet(state) {
1837
- var _state17 = state,
1838
- scene = _state17.scene;
1863
+ var _state20 = state,
1864
+ scene = _state20.scene;
1839
1865
  console.log('scene.isLoadingCabinet: ', !scene.isLoadingCabinet);
1840
1866
  // scene = scene.set('isLoadingCabinet', !scene.isLoadingCabinet);
1841
1867
  // state = state.set('scene', scene);
@@ -1847,8 +1873,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1847
1873
  }, {
1848
1874
  key: "endLoading",
1849
1875
  value: function endLoading(state) {
1850
- var _state18 = state,
1851
- scene = _state18.scene;
1876
+ var _state21 = state,
1877
+ scene = _state21.scene;
1852
1878
  state = state.setIn(['scene', 'loadFlag'], true);
1853
1879
  return {
1854
1880
  updatedState: state
package/lib/class/line.js CHANGED
@@ -15,7 +15,6 @@ var _export2 = require("../utils/export");
15
15
  var Three = _interopRequireWildcard(require("three"));
16
16
  var _constants = require("../constants");
17
17
  var _helper = require("../utils/helper");
18
- var _convertUnitsLite = require("../utils/convert-units-lite");
19
18
  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); }
20
19
  var timeGlobal = 0;
21
20
  var TimeRecorder = /*#__PURE__*/function () {
@@ -437,6 +436,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
437
436
  }, {
438
437
  key: "beginDrawingLine",
439
438
  value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
439
+ var _state$get;
440
440
  // if end drawing by created area
441
441
  if (state.mode == _constants.MODE_IDLE) {
442
442
  return {
@@ -490,12 +490,8 @@ var Line = exports["default"] = /*#__PURE__*/function () {
490
490
  drawingSupport: drawingSupport
491
491
  });
492
492
  var layer = state.getIn(['scene', 'layers', layerID]);
493
- var payload = line.toJS();
494
- var v_a = layer.vertices.get(line.vertices.get(0));
495
- var v_b = layer.vertices.get(line.vertices.get(1));
496
- var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
497
- var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
498
- payload.length = _length;
493
+ var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
494
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer, catalog);
499
495
  if (onInternalEvent) onInternalEvent({
500
496
  type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
501
497
  value: payload
@@ -43,7 +43,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
43
43
  }, {
44
44
  key: "newProject",
45
45
  value: function newProject(state) {
46
- var doorStyle = state.toJS().doorStyle === null ? null : state.toJS().doorStyle;
46
+ var _state$toJS$doorStyle, _state;
47
+ var doorStyle = (_state$toJS$doorStyle = (_state = state) === null || _state === void 0 || (_state = _state.toJS()) === null || _state === void 0 ? void 0 : _state.doorStyle) !== null && _state$toJS$doorStyle !== void 0 ? _state$toJS$doorStyle : null;
47
48
  // let counterTop = state.getIn(['scene', 'layers', layerID, 'counterTop']);
48
49
  // let floorStyle = state.getIn(['scene', 'layers', layerID, 'floorStyle']);
49
50
  var _viewer2D = state.viewer2D;
@@ -83,9 +84,9 @@ var Project = exports["default"] = /*#__PURE__*/function () {
83
84
  a: 0.99,
84
85
  d: 0.99
85
86
  });
86
- var _state = state,
87
- oldScene = _state.scene,
88
- oldSceneHistory = _state.sceneHistory;
87
+ var _state2 = state,
88
+ oldScene = _state2.scene,
89
+ oldSceneHistory = _state2.sceneHistory;
89
90
  var json_items = sceneJSON.layers[sceneJSON.selectedLayer].items;
90
91
  var elements = state.catalog.get('elements').toArray();
91
92
  var _loop = function _loop(x) {
@@ -838,89 +839,101 @@ var Project = exports["default"] = /*#__PURE__*/function () {
838
839
  key: "createRoomWithShape",
839
840
  value: function createRoomWithShape(state, roomShapeType, width, height, doorStyle) {
840
841
  var catalog = state.catalog;
842
+ // keep measurement unit, sceneHistory
843
+ var curLayerID = state.scene.selectedLayer;
844
+ var layerUnit = state.getIn(['scene', 'layers', curLayerID, 'unit']);
845
+ var ceilHeight = state.getIn(['scene', 'layers', curLayerID, 'ceilHeight']);
846
+ var sceneHistory = state.getIn(['sceneHistory']);
841
847
  state = this.newProject(state).updatedState;
842
848
  state = state.merge({
843
849
  catalog: catalog
844
850
  });
845
- var _viewer2D = state.viewer2D;
846
- var viewer = _viewer2D.toJS();
847
- width = (0, _convertUnitsLite.convert)(width).from('in').to('cm');
848
- height = (0, _convertUnitsLite.convert)(height).from('in').to('cm');
849
- var layerID = state.scene.selectedLayer;
850
851
  state = _export2.Item.setInitialDoorStyle(state, doorStyle).updatedState;
851
- if ((0, _helper.isEmpty)(viewer)) return {
852
- updatedState: state
853
- };
854
- var halfWidth = width / 2;
855
- var halfHeight = height / 2;
856
- var viewerWidth = viewer.SVGWidth;
857
- var viewerHeight = viewer.SVGHeight;
858
- var centerPos = {
859
- x: viewerWidth / 2,
860
- y: viewerHeight / 2
861
- };
862
- var vtLB = {
863
- x: centerPos.x - halfWidth,
864
- y: centerPos.y - halfHeight
865
- };
866
- var vtRB = {
867
- x: centerPos.x + halfWidth,
868
- y: centerPos.y - halfHeight
869
- };
870
- var vtRT = {
871
- x: centerPos.x + halfWidth,
872
- y: centerPos.y + halfHeight
873
- };
874
- var vtLT = {
875
- x: centerPos.x - halfWidth,
876
- y: centerPos.y + halfHeight
877
- };
878
- var vertices = [];
879
- switch (roomShapeType) {
880
- case 'rectangle':
881
- vertices = [vtLB, vtLT, vtRT, vtRB];
882
- break;
883
- case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_BOTTOM:
884
- vertices = [vtLB, vtRB, vtRT];
885
- break;
886
- case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_TOP:
887
- vertices = [vtRB, vtRT, vtLT];
888
- break;
889
- case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_TOP:
890
- vertices = [vtRT, vtLT, vtLB];
891
- break;
892
- case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_BOTTOM:
893
- vertices = [vtLT, vtLB, vtRB];
894
- break;
895
- case constants.ROOM_SHAPE_TYPE.THREE_WALLS_LEFT_TOP_RIGHT:
896
- vertices = [vtRB, vtRT, vtLT, vtLB];
897
- break;
898
- case constants.ROOM_SHAPE_TYPE.THREE_WALLS_TOP_RIGHT_BOTTOM:
899
- vertices = [vtLB, vtRB, vtRT, vtLT];
900
- break;
901
- case constants.ROOM_SHAPE_TYPE.THREE_WALLS_RIGHT_BOTTOM_LEFT:
902
- vertices = [vtLT, vtLB, vtRB, vtRT];
903
- break;
904
- case constants.ROOM_SHAPE_TYPE.THREE_WALLS_BOTTOM_LEFT_TOP:
905
- vertices = [vtRT, vtLT, vtLB, vtRB];
906
- break;
907
- }
908
- for (var i = 0; i < vertices.length - 1; i++) {
909
- state = _export2.Line.create(state, layerID, 'wall', vertices[i].x, vertices[i].y, vertices[i + 1].x, vertices[i + 1].y).updatedState;
910
- }
911
- if (roomShapeType === constants.ROOM_SHAPE_TYPE.RECTANGLE) {
912
- state = _export2.Line.create(state, layerID, 'wall', vertices[vertices.length - 1].x, vertices[vertices.length - 1].y, vertices[0].x, vertices[0].y).updatedState;
913
- }
914
- var layer = state.getIn(['scene', 'layers', layerID]);
915
- var lines = layer.getIn(['lines']).toJS();
916
- var drawingInfo = {};
917
- var lineKey = Object.keys(lines);
918
- for (var _i = 0; _i < lineKey.length; _i++) {
919
- if (!(0, _helper.isEmpty)(lineKey)) {
920
- drawingInfo.drawingLine = layer.getIn(['lines', lineKey[_i]]);
852
+ var layerID = state.scene.selectedLayer;
853
+ if (roomShapeType !== constants.ROOM_SHAPE_TYPE.CUSTOM && !(0, _helper.isEmpty)(width) && !(0, _helper.isEmpty)(height) && width !== 0 && height !== 0) {
854
+ var _viewer2D = state.viewer2D;
855
+ var viewer = _viewer2D.toJS();
856
+ if ((0, _helper.isEmpty)(viewer)) return {
857
+ updatedState: state
858
+ };
859
+ width = (0, _convertUnitsLite.convert)(width).from(state.getIn(['scene', 'layers', 'layer-1', 'unit'])).to('cm');
860
+ height = (0, _convertUnitsLite.convert)(height).from(state.getIn(['scene', 'layers', 'layer-1', 'unit'])).to('cm');
861
+ var halfWidth = width / 2;
862
+ var halfHeight = height / 2;
863
+ var viewerWidth = viewer.SVGWidth;
864
+ var viewerHeight = viewer.SVGHeight;
865
+ var centerPos = {
866
+ x: viewerWidth / 2,
867
+ y: viewerHeight / 2
868
+ };
869
+ var vtLB = {
870
+ x: centerPos.x - halfWidth,
871
+ y: centerPos.y - halfHeight
872
+ };
873
+ var vtRB = {
874
+ x: centerPos.x + halfWidth,
875
+ y: centerPos.y - halfHeight
876
+ };
877
+ var vtRT = {
878
+ x: centerPos.x + halfWidth,
879
+ y: centerPos.y + halfHeight
880
+ };
881
+ var vtLT = {
882
+ x: centerPos.x - halfWidth,
883
+ y: centerPos.y + halfHeight
884
+ };
885
+ var vertices = [];
886
+ switch (roomShapeType) {
887
+ case 'rectangle':
888
+ vertices = [vtLB, vtLT, vtRT, vtRB];
889
+ break;
890
+ case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_BOTTOM:
891
+ vertices = [vtLB, vtRB, vtRT];
892
+ break;
893
+ case constants.ROOM_SHAPE_TYPE.TWO_WALLS_RIGHT_TOP:
894
+ vertices = [vtRB, vtRT, vtLT];
895
+ break;
896
+ case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_TOP:
897
+ vertices = [vtRT, vtLT, vtLB];
898
+ break;
899
+ case constants.ROOM_SHAPE_TYPE.TWO_WALLS_LEFT_BOTTOM:
900
+ vertices = [vtLT, vtLB, vtRB];
901
+ break;
902
+ case constants.ROOM_SHAPE_TYPE.THREE_WALLS_LEFT_TOP_RIGHT:
903
+ vertices = [vtRB, vtRT, vtLT, vtLB];
904
+ break;
905
+ case constants.ROOM_SHAPE_TYPE.THREE_WALLS_TOP_RIGHT_BOTTOM:
906
+ vertices = [vtLB, vtRB, vtRT, vtLT];
907
+ break;
908
+ case constants.ROOM_SHAPE_TYPE.THREE_WALLS_RIGHT_BOTTOM_LEFT:
909
+ vertices = [vtLT, vtLB, vtRB, vtRT];
910
+ break;
911
+ case constants.ROOM_SHAPE_TYPE.THREE_WALLS_BOTTOM_LEFT_TOP:
912
+ vertices = [vtRT, vtLT, vtLB, vtRB];
913
+ break;
914
+ }
915
+ for (var i = 0; i < vertices.length - 1; i++) {
916
+ state = _export2.Line.create(state, layerID, 'wall', vertices[i].x, vertices[i].y, vertices[i + 1].x, vertices[i + 1].y).updatedState;
917
+ }
918
+ if (roomShapeType === constants.ROOM_SHAPE_TYPE.RECTANGLE) {
919
+ state = _export2.Line.create(state, layerID, 'wall', vertices[vertices.length - 1].x, vertices[vertices.length - 1].y, vertices[0].x, vertices[0].y).updatedState;
920
+ }
921
+ var layer = state.getIn(['scene', 'layers', layerID]);
922
+ var lines = layer.getIn(['lines']).toJS();
923
+ var drawingInfo = {};
924
+ var lineKey = Object.keys(lines);
925
+ for (var _i = 0; _i < lineKey.length; _i++) {
926
+ if (!(0, _helper.isEmpty)(lineKey)) {
927
+ drawingInfo.drawingLine = layer.getIn(['lines', lineKey[_i]]);
928
+ }
929
+ state = _export2.Layer.detectAndUpdateAreas(state, layerID, drawingInfo).updatedState;
921
930
  }
922
- state = _export2.Layer.detectAndUpdateAreas(state, layerID, drawingInfo).updatedState;
923
931
  }
932
+
933
+ // copy keeped measurement unit, sceneHistory
934
+ state = state.setIn(['scene', 'layers', layerID, 'unit'], layerUnit);
935
+ state = state.setIn(['scene', 'layers', layerID, 'ceilHeight'], ceilHeight);
936
+ state = state.setIn(['sceneHistory'], sceneHistory);
924
937
  state = (0, _helper.centering2D)(state);
925
938
  return {
926
939
  updatedState: state