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
@@ -1,18 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- 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); }
10
3
  /**
11
4
  * Loads a Wavefront .mtl file specifying materials
12
5
  *
13
6
  * @author angelxuanchang
14
7
  */
15
8
 
9
+ var THREE = window.THREE || require('three');
16
10
  var MTLLoader;
17
11
  MTLLoader = function MTLLoader(manager) {
18
12
  this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
@@ -362,5 +356,4 @@ MTLLoader.MaterialCreator.prototype = {
362
356
  return texture;
363
357
  }
364
358
  };
365
- var _default = exports["default"] = MTLLoader;
366
- module.exports = exports.default;
359
+ module.exports = MTLLoader;
@@ -1,16 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- 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); }
10
3
  /**
11
4
  * @author mrdoob / http://mrdoob.com/
12
5
  */
13
-
6
+ var THREE = window.THREE || require('three');
14
7
  var OBJLoader;
15
8
  OBJLoader = function () {
16
9
  // o object_name | g group_name
@@ -482,5 +475,4 @@ OBJLoader = function () {
482
475
  };
483
476
  return OBJLoader;
484
477
  }();
485
- var _default = exports["default"] = OBJLoader;
486
- module.exports = exports.default;
478
+ module.exports = OBJLoader;
package/lib/class/item.js CHANGED
@@ -18,7 +18,6 @@ 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");
22
21
  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; }
23
22
  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; }
24
23
  var allItemRect;
@@ -37,8 +36,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
37
36
  key: "create",
38
37
  value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
39
38
  var molding = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : [];
40
- var isInitialPos = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : false;
41
- var refItem = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : null;
42
39
  var itemID = _export2.IDBroker.acquireID();
43
40
  var item = state.catalog.factoryElement(type, {
44
41
  id: itemID,
@@ -55,28 +52,67 @@ var Item = exports["default"] = /*#__PURE__*/function () {
55
52
  x: x,
56
53
  y: y,
57
54
  rotation: rotation,
58
- isDuplication: isDuplication,
59
- isInitialPos: isInitialPos ? isInitialPos : false
55
+ isDuplication: isDuplication
60
56
  }, null, state);
61
57
  if (item.category === 'cabinet') {
62
- if (isDuplication && refItem) {
63
- item = item.merge({
64
- doorStyle: refItem.doorStyle
65
- });
66
- } else {
67
- var _state$doorStyle;
68
- var layer = state.getIn(['scene', 'layers', layerID]);
58
+ var layer = state.getIn(['scene', 'layers', layerID]);
59
+ if (state.doorStyle !== null && state.doorStyle !== undefined) {
60
+ var _state$doorStyle, _temp$doorStyles;
69
61
  var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
70
- var cds = state.catalog.getIn(['elements', type, 'cds']);
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']);
64
+ });
71
65
  if (cds) {
72
- var updatedDoorStyles = _objectSpread(_objectSpread({}, temp.doorStyles), {}, {
73
- cds: [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
74
68
  });
75
69
  item = item.merge({
76
70
  doorStyle: (0, _immutable.fromJS)(_objectSpread(_objectSpread({}, temp), {}, {
77
71
  doorStyles: updatedDoorStyles
78
72
  }))
79
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
+ }
80
116
  }
81
117
  }
82
118
  }
@@ -87,11 +123,15 @@ var Item = exports["default"] = /*#__PURE__*/function () {
87
123
  };
88
124
  }
89
125
  var setSizeOfItemByDoorStyle = function setSizeOfItemByDoorStyle() {
126
+ var _doorStyle$doorStyles, _cds$data;
90
127
  var doorStyle = item.get('doorStyle').toJS();
91
- var euroCDS = state.catalog.getIn(['elements', type, 'cds']).data.filter(function (element) {
92
- return element && element.is_euro_cds;
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;
93
130
  });
94
- if (doorStyle.door_style_name === 'Euro & Frameless' && euroCDS.length > 0) {
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) {
132
+ return element && element.is_euro_cds;
133
+ })) || [];
134
+ if (doorStyle.door_style_name === 'Euro & Frameless' && euro_cds.length > 0) {
95
135
  var newProperties = item.get('properties').toJS();
96
136
  if (newProperties.hasOwnProperty('depth')) {
97
137
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -102,8 +142,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
102
142
  });
103
143
  }
104
144
  newProperties['depth'] = new _immutable.Map({
105
- length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_length).from('in').to('cm'),
106
- _length: euroCDS[0].euro_length,
145
+ length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_length).from('in').to('cm'),
146
+ _length: euro_cds[0].euro_length,
107
147
  _unit: 'in'
108
148
  });
109
149
  }
@@ -116,8 +156,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
116
156
  });
117
157
  }
118
158
  newProperties['height'] = new _immutable.Map({
119
- length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_height).from('in').to('cm'),
120
- _length: euroCDS[0].euro_height,
159
+ length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_height).from('in').to('cm'),
160
+ _length: euro_cds[0].euro_height,
121
161
  _unit: 'in'
122
162
  });
123
163
  }
@@ -130,8 +170,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
130
170
  });
131
171
  }
132
172
  newProperties['width'] = new _immutable.Map({
133
- length: (0, _convertUnitsLite.convert)(euroCDS[0].euro_width).from('in').to('cm') - 10,
134
- _length: euroCDS[0].euro_width,
173
+ length: (0, _convertUnitsLite.convert)(euro_cds[0].euro_width).from('in').to('cm') - 10,
174
+ _length: euro_cds[0].euro_width,
135
175
  _unit: 'in'
136
176
  });
137
177
  }
@@ -279,7 +319,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
279
319
  }, {
280
320
  key: "duplicateSelected",
281
321
  value: function duplicateSelected(state, currentObject) {
282
- var onInternalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
283
322
  var layerID = state.getIn(['scene', 'selectedLayer']);
284
323
  var layer = state.getIn(['scene', 'layers', layerID]);
285
324
  var objectID = currentObject.id;
@@ -287,7 +326,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
287
326
  var x = currentObject.x;
288
327
  var y = currentObject.y;
289
328
  var sceneComponentType, width, depth, rotRad;
290
- var duplicatedElement = null;
291
329
  switch (currentObject.prototype) {
292
330
  case 'items':
293
331
  myObject = state.getIn(['scene', 'layers', layerID, 'items', objectID]);
@@ -309,10 +347,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
309
347
  var isrectSect = _export2.GeometryUtils.validInterSect(allRect, val);
310
348
  if (isrectSect) {
311
349
  // Duplicated object has a original object's molding property
312
- var _this$create = 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),
350
+ var _this$create = this.create(state, layerID, sceneComponentType, x + width * Math.cos(rotRad), y + width * Math.sin(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding),
313
351
  stateI = _this$create.updatedState,
314
352
  item = _this$create.item;
315
- duplicatedElement = item;
316
353
  if (item === null) {
317
354
  alert('There are no Door Colors in this cabinet.');
318
355
  state = state.merge({
@@ -336,10 +373,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
336
373
  _val.is_corner = allItemRect.cur.is_corner;
337
374
  var isRect = _export2.GeometryUtils.validInterSect(allRect, _val);
338
375
  if (isRect) {
339
- 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),
376
+ 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),
340
377
  _stateI = _this$create2.updatedState,
341
378
  _item = _this$create2.item;
342
- duplicatedElement = _item;
343
379
  if (_item === null) {
344
380
  alert('There are no Door Colors in this cabinet.');
345
381
  state = state.merge({
@@ -363,10 +399,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
363
399
  _val2.is_corner = allItemRect.cur.is_corner;
364
400
  var isRectDown = _export2.GeometryUtils.validInterSect(allRect, _val2);
365
401
  if (isRectDown) {
366
- 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),
402
+ 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),
367
403
  _stateI2 = _this$create3.updatedState,
368
404
  _item2 = _this$create3.item;
369
- duplicatedElement = _item2;
370
405
  if (_item2 === null) {
371
406
  alert('There are no Door Colors in this cabinet.');
372
407
  state = state.merge({
@@ -390,10 +425,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
390
425
  _val3.is_corner = allItemRect.cur.is_corner;
391
426
  var isRectUp = _export2.GeometryUtils.validInterSect(allRect, _val3);
392
427
  if (isRectUp) {
393
- 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),
428
+ 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),
394
429
  _stateI3 = _this$create4.updatedState,
395
430
  _item3 = _this$create4.item;
396
- duplicatedElement = _item3;
397
431
  if (_item3 === null) {
398
432
  alert('There are no Door Colors in this cabinet.');
399
433
  state = state.merge({
@@ -471,14 +505,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
471
505
  default:
472
506
  break;
473
507
  }
474
- if (onInternalEvent && duplicatedElement) {
475
- var jsElement = duplicatedElement.toJS();
476
- if (jsElement.prototype === 'items') jsElement.isWarning = (0, _utils.isWarningItem)(duplicatedElement);
477
- onInternalEvent({
478
- type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
479
- value: jsElement
480
- });
481
- }
482
508
  return {
483
509
  updatedState: state
484
510
  };
@@ -487,9 +513,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
487
513
  key: "storeDistArray",
488
514
  value: function storeDistArray(state, layerID, itemID, distArray) {
489
515
  var curDistArray = state.getIn(['scene', 'layers', layerID, 'items', itemID, 'distArray']);
490
- distArray.forEach(function (dist) {
491
- dist[0] < 0 ? dist[0] = 0 : dist[0];
492
- });
493
516
  var isEqualDist = function isEqualDist(a, b) {
494
517
  return a == b;
495
518
  };
@@ -608,15 +631,13 @@ var Item = exports["default"] = /*#__PURE__*/function () {
608
631
  }, {
609
632
  key: "updateDrawingItem",
610
633
  value: function updateDrawingItem(state, layerID, x, y) {
611
- var isInitialPos = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
612
634
  if (state.hasIn(['drawingSupport', 'currentID'])) {
613
635
  var mode = state.get('mode');
614
636
  if ([_constants.MODE_DRAWING_ITEM_3D].includes(mode)) {
615
637
  state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
616
638
  return item && item.merge({
617
639
  x: x,
618
- y: y,
619
- isInitialPos: isInitialPos ? isInitialPos : false
640
+ y: y
620
641
  });
621
642
  });
622
643
  state = state.merge({
@@ -630,13 +651,12 @@ var Item = exports["default"] = /*#__PURE__*/function () {
630
651
  state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
631
652
  return item && item.merge({
632
653
  x: x,
633
- y: y,
634
- isInitialPos: isInitialPos ? isInitialPos : false
654
+ y: y
635
655
  });
636
656
  });
637
657
  }
638
658
  } else {
639
- var _this$create5 = this.create(state, layerID, state.getIn(['drawingSupport', 'type']), x, y, 200, 100, 0, false, [], isInitialPos),
659
+ var _this$create5 = this.create(state, layerID, state.getIn(['drawingSupport', 'type']), x, y, 200, 100, 0, false),
640
660
  stateI = _this$create5.updatedState,
641
661
  item = _this$create5.item;
642
662
  if (item === null) {
@@ -672,8 +692,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
672
692
  // tY = tY > 500 ? 500 : tY < 0 ? 0 : tY;
673
693
  item = item.merge({
674
694
  x: x,
675
- y: y,
676
- isInitialPos: false
695
+ y: y
677
696
  });
678
697
  state = state.merge({
679
698
  scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
@@ -687,8 +706,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
687
706
  }, {
688
707
  key: "endDrawingItem",
689
708
  value: function endDrawingItem(state, layerID, x, y) {
690
- // let catalog = state.catalog;
691
- state = this.updateDrawingItem(state, layerID, x, y).updatedState;
709
+ var catalog = state.catalog;
710
+ state = this.updateDrawingItem(state, layerID, x, y, catalog).updatedState;
692
711
  state = _export.Layer.unselectAll(state, layerID).updatedState;
693
712
  var popup = state.get('popup');
694
713
  state = state.merge({
@@ -771,8 +790,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
771
790
  tY = tY > scene.height ? scene.height : tY < 0 ? 0 : tY;
772
791
  item = item.merge({
773
792
  x: tX,
774
- y: tY,
775
- isInitialPos: false
793
+ y: tY
776
794
  });
777
795
  state = state.merge({
778
796
  scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
@@ -1112,41 +1130,48 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1112
1130
  }
1113
1131
  }, {
1114
1132
  key: "setInitialDoorStyle",
1115
- value: function setInitialDoorStyle(state, doorStyle) {
1116
- state = state.merge({
1117
- doorStyle: doorStyle
1118
- });
1119
- var _state8 = state,
1120
- scene = _state8.scene;
1121
- var layerID = scene.get('selectedLayer');
1122
- var layers = scene.layers.get(layerID);
1123
- var items = layers.items;
1124
- layers = layers.setIn(['doorStyle'], (0, _immutable.fromJS)(doorStyle));
1125
- state = state.merge({
1126
- scene: state.scene.mergeIn(['layers', layerID], layers)
1127
- });
1128
- items.forEach(function (data) {
1129
- {
1130
- var itemID = data.id;
1131
- var tmpDS = _objectSpread(_objectSpread({}, data.doorStyle), {}, {
1132
- doorStyles: _objectSpread(_objectSpread({}, data.doorStyle.doorStyles), {}, {
1133
- counttop: doorStyle.doorStyles.counttop
1134
- })
1135
- });
1136
- data = data.mergeIn(['doorStyle'], (0, _immutable.fromJS)(tmpDS));
1137
- layers = layers.mergeIn(['items', itemID], data);
1138
- state = state.merge({
1139
- scene: scene.mergeIn(['layers', layerID], layers)
1140
- });
1141
- }
1142
- });
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
+ }
1143
1168
  return {
1144
1169
  updatedState: state
1145
1170
  };
1146
1171
  }
1147
1172
  }, {
1148
1173
  key: "setDoorStyle",
1149
- value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1174
+ value: function setDoorStyle(state, doorStyle, isAll) {
1150
1175
  var _this2 = this;
1151
1176
  var keys = Object.keys(doorStyle.doorStyles);
1152
1177
  keys = keys.filter(function (elem) {
@@ -1156,7 +1181,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1156
1181
  for (var x in keys) {
1157
1182
  tmp[keys[x]] = doorStyle.doorStyles[keys[x]];
1158
1183
  }
1159
- doorStyle.cds = itemCDS;
1160
1184
  state = state.setIn(['scene', 'layers', state.scene.selectedLayer, 'doorStyle'], doorStyle);
1161
1185
  state = state.merge({
1162
1186
  doorStyle: doorStyle
@@ -1164,14 +1188,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1164
1188
  var layerID = state.scene.get('selectedLayer');
1165
1189
  var temp_layer_molding = state.scene.getIn(['layers', layerID, 'molding']);
1166
1190
  temp_layer_molding = temp_layer_molding.filter(function (md) {
1167
- return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1191
+ return doorStyle.doorStyles.cds.some(function (ds) {
1168
1192
  return md.itemID === ds.itemID;
1169
1193
  });
1170
1194
  });
1171
1195
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1172
1196
  var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1173
1197
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1174
- var _cds$data;
1198
+ var _cds$data2;
1175
1199
  if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1176
1200
  var itemID = data.id;
1177
1201
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1179,7 +1203,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1179
1203
  var tmpMolding = (0, _toConsumableArray2["default"])(curItem.molding);
1180
1204
  var temp_item_molding = (0, _toConsumableArray2["default"])(curItem.molding);
1181
1205
  temp_item_molding = temp_item_molding.filter(function (md) {
1182
- return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1206
+ return doorStyle.doorStyles.cds.some(function (ds) {
1183
1207
  return ds.itemID === md.itemID;
1184
1208
  });
1185
1209
  });
@@ -1189,16 +1213,17 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1189
1213
  state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'molding'], temp_item_molding);
1190
1214
  });
1191
1215
  });
1192
- var cds = itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.find(function (elem) {
1216
+ var cds = doorStyle.doorStyles.cds.find(function (elem) {
1193
1217
  return elem.itemID === data.itemID;
1194
1218
  });
1195
- var euro_cds = (cds === null || cds === void 0 || (_cds$data = cds.data) === null || _cds$data === void 0 ? void 0 : _cds$data.filter(function (element) {
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) {
1196
1220
  return element && element.is_euro_cds;
1197
1221
  })) || [];
1198
- var cds_data = cds ? [cds] : [];
1199
- if (
1200
- // doorStyle.door_style_name === 'Euro & Frameless' &&
1201
- euro_cds.length > 0) {
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
+ }) : {};
1202
1227
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1203
1228
  if (newProperties.hasOwnProperty('depth')) {
1204
1229
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1244,6 +1269,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1244
1269
  }
1245
1270
  state = _this2.setJsProperties(state, layerID, itemID, newProperties).updatedState;
1246
1271
  } 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
+ }) : {};
1247
1275
  var properties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1248
1276
  if (properties.hasOwnProperty('oldDepth')) {
1249
1277
  properties['depth'] = new _immutable.Map({
@@ -1282,9 +1310,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1282
1310
  color_sku_alias: doorStyle.color_sku_alias,
1283
1311
  // alias name of color_sku for the current dealer
1284
1312
  install: (0, _utils.getInstallationSuffix)(_constants.INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1285
- doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1286
- cds: cds_data
1287
- })
1313
+ doorStyles: _objectSpread(_objectSpread({}, tmp), cds_data)
1288
1314
  };
1289
1315
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], (0, _immutable.fromJS)(tmpDS));
1290
1316
  };
@@ -1549,9 +1575,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1549
1575
  });
1550
1576
  }
1551
1577
  }
1552
- state = state.merge({
1553
- sceneHistory: (0, _history.historyPush)(state.sceneHistory, state.scene)
1554
- });
1555
1578
  return {
1556
1579
  updatedState: state
1557
1580
  };
@@ -1674,9 +1697,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1674
1697
  updateSelectItemMolding();
1675
1698
  }
1676
1699
  }
1677
- state = state.merge({
1678
- sceneHistory: (0, _history.historyPush)(state.sceneHistory, state.scene)
1679
- });
1680
1700
  return {
1681
1701
  updatedState: state
1682
1702
  };
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 () {
@@ -436,7 +435,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
436
435
  }
437
436
  }, {
438
437
  key: "beginDrawingLine",
439
- value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
438
+ value: function beginDrawingLine(state, layerID, x, y) {
440
439
  // if end drawing by created area
441
440
  if (state.mode == _constants.MODE_IDLE) {
442
441
  return {
@@ -489,17 +488,6 @@ var Line = exports["default"] = /*#__PURE__*/function () {
489
488
  activeSnapElement: snap ? snap.snap : null,
490
489
  drawingSupport: drawingSupport
491
490
  });
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(layer.unit);
498
- payload.length = _length;
499
- if (onInternalEvent) onInternalEvent({
500
- type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
501
- value: payload
502
- });
503
491
  return {
504
492
  updatedState: state
505
493
  };