kitchen-simulator 3.1.14 → 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 -24
  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 -25
  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
@@ -4,7 +4,7 @@
4
4
  * @author angelxuanchang
5
5
  */
6
6
 
7
- import * as THREE from 'three';
7
+ var THREE = window.THREE || require('three');
8
8
  var MTLLoader;
9
9
  MTLLoader = function MTLLoader(manager) {
10
10
  this.manager = manager !== undefined ? manager : THREE.DefaultLoadingManager;
@@ -354,4 +354,4 @@ MTLLoader.MaterialCreator.prototype = {
354
354
  return texture;
355
355
  }
356
356
  };
357
- export default MTLLoader;
357
+ module.exports = MTLLoader;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @author mrdoob / http://mrdoob.com/
3
3
  */
4
- import * as THREE from 'three';
4
+ var THREE = window.THREE || require('three');
5
5
  var OBJLoader;
6
6
  OBJLoader = function () {
7
7
  // o object_name | g group_name
@@ -473,4 +473,4 @@ OBJLoader = function () {
473
473
  };
474
474
  return OBJLoader;
475
475
  }();
476
- export default OBJLoader;
476
+ module.exports = OBJLoader;
package/es/class/item.js CHANGED
@@ -8,12 +8,11 @@ import { convert } from "../utils/convert-units-lite";
8
8
  import { Group, Hole, Layer } from "./export";
9
9
  import { GeometryUtils, IDBroker, MoldingUtils, NameGenerator } from "../utils/export";
10
10
  import { fromJS, Map } from 'immutable';
11
- import { INSTALLATION_SUFFIX_TYPE, INTERNAL_EVENT_DRAW_ELEMENT, MODE_DRAGGING_ITEM, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM, MODE_ROTATING_ITEM_3D, MOLDING_LOCATIONS } from "../constants";
11
+ import { INSTALLATION_SUFFIX_TYPE, MODE_DRAGGING_ITEM, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM, MODE_ROTATING_ITEM_3D, MOLDING_LOCATIONS } from "../constants";
12
12
  import { debugUtil } from "../utils/helper";
13
13
  import { isUndefined } from 'util';
14
14
  import { hasMoldingLayout } from "../utils/molding";
15
- import { getInstallationSuffix, isWarningItem } from "../components/viewer2d/utils";
16
- import { historyPush } from "../utils/history";
15
+ import { getInstallationSuffix } from "../components/viewer2d/utils";
17
16
  var allItemRect;
18
17
  var allItemSnap;
19
18
  var allLines;
@@ -30,8 +29,6 @@ var Item = /*#__PURE__*/function () {
30
29
  key: "create",
31
30
  value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
32
31
  var molding = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : [];
33
- var isInitialPos = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : false;
34
- var refItem = arguments.length > 11 && arguments[11] !== undefined ? arguments[11] : null;
35
32
  var itemID = IDBroker.acquireID();
36
33
  var item = state.catalog.factoryElement(type, {
37
34
  id: itemID,
@@ -48,28 +45,67 @@ var Item = /*#__PURE__*/function () {
48
45
  x: x,
49
46
  y: y,
50
47
  rotation: rotation,
51
- isDuplication: isDuplication,
52
- isInitialPos: isInitialPos ? isInitialPos : false
48
+ isDuplication: isDuplication
53
49
  }, null, state);
54
50
  if (item.category === 'cabinet') {
55
- if (isDuplication && refItem) {
56
- item = item.merge({
57
- doorStyle: refItem.doorStyle
58
- });
59
- } else {
60
- var _state$doorStyle;
61
- var layer = state.getIn(['scene', 'layers', layerID]);
51
+ var layer = state.getIn(['scene', 'layers', layerID]);
52
+ if (state.doorStyle !== null && state.doorStyle !== undefined) {
53
+ var _state$doorStyle, _temp$doorStyles;
62
54
  var temp = layer.doorStyle || ((_state$doorStyle = state.doorStyle) === null || _state$doorStyle === void 0 ? void 0 : _state$doorStyle.toJS());
63
- var cds = state.catalog.getIn(['elements', type, 'cds']);
55
+ 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) {
56
+ return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
57
+ });
64
58
  if (cds) {
65
- var updatedDoorStyles = _objectSpread(_objectSpread({}, temp.doorStyles), {}, {
66
- cds: [cds]
59
+ var updatedDoorStyles = _objectSpread(_objectSpread(_objectSpread({}, temp.doorStyles), cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
60
+ cabinet_door_style_id: cds.cabinet_door_style_id
67
61
  });
68
62
  item = item.merge({
69
63
  doorStyle: fromJS(_objectSpread(_objectSpread({}, temp), {}, {
70
64
  doorStyles: updatedDoorStyles
71
65
  }))
72
66
  });
67
+ } else {
68
+ var _state$oStyle;
69
+ 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;
70
+ if (styleObj) {
71
+ for (var _x in styleObj) {
72
+ cds = styleObj[_x].data.doorStyles.cds.find(function (elem) {
73
+ return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
74
+ });
75
+ if (cds) {
76
+ var tmpDS = styleObj[_x].data;
77
+ tmpDS.doorStyles = _objectSpread(_objectSpread(_objectSpread({}, tmpDS.doorStyles), cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
78
+ cabinet_door_style_id: cds.cabinet_door_style_id
79
+ });
80
+ item = item.merge({
81
+ doorStyle: fromJS(tmpDS)
82
+ });
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ } else {
89
+ var _state$oStyle2;
90
+ 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;
91
+ if (_styleObj) {
92
+ for (var _x2 in _styleObj) {
93
+ var _styleObj$_x;
94
+ 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) {
95
+ return elem.itemID === state.catalog.getIn(['elements', type, 'itemID']);
96
+ });
97
+ if (_cds) {
98
+ var _styleObj$_x2;
99
+ var _tmpDS = (_styleObj$_x2 = _styleObj[_x2]) === null || _styleObj$_x2 === void 0 ? void 0 : _styleObj$_x2.data;
100
+ _tmpDS.doorStyles = _objectSpread(_objectSpread(_objectSpread({}, _tmpDS.doorStyles), _cds.data && _cds.data[0] ? _cds.data[0] : {}), {}, {
101
+ cabinet_door_style_id: _cds.cabinet_door_style_id
102
+ });
103
+ item = item.merge({
104
+ doorStyle: fromJS(_tmpDS)
105
+ });
106
+ break;
107
+ }
108
+ }
73
109
  }
74
110
  }
75
111
  }
@@ -80,11 +116,15 @@ var Item = /*#__PURE__*/function () {
80
116
  };
81
117
  }
82
118
  var setSizeOfItemByDoorStyle = function setSizeOfItemByDoorStyle() {
119
+ var _doorStyle$doorStyles, _cds$data;
83
120
  var doorStyle = item.get('doorStyle').toJS();
84
- var euroCDS = state.catalog.getIn(['elements', type, 'cds']).data.filter(function (element) {
85
- return element && element.is_euro_cds;
121
+ 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) {
122
+ return elem.itemID === item.itemID;
86
123
  });
87
- if (doorStyle.door_style_name === 'Euro & Frameless' && euroCDS.length > 0) {
124
+ var euro_cds = (cds === null || cds === void 0 || (_cds$data = cds.data) === null || _cds$data === void 0 ? void 0 : _cds$data.filter(function (element) {
125
+ return element && element.is_euro_cds;
126
+ })) || [];
127
+ if (doorStyle.door_style_name === 'Euro & Frameless' && euro_cds.length > 0) {
88
128
  var newProperties = item.get('properties').toJS();
89
129
  if (newProperties.hasOwnProperty('depth')) {
90
130
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -95,8 +135,8 @@ var Item = /*#__PURE__*/function () {
95
135
  });
96
136
  }
97
137
  newProperties['depth'] = new Map({
98
- length: convert(euroCDS[0].euro_length).from('in').to('cm'),
99
- _length: euroCDS[0].euro_length,
138
+ length: convert(euro_cds[0].euro_length).from('in').to('cm'),
139
+ _length: euro_cds[0].euro_length,
100
140
  _unit: 'in'
101
141
  });
102
142
  }
@@ -109,8 +149,8 @@ var Item = /*#__PURE__*/function () {
109
149
  });
110
150
  }
111
151
  newProperties['height'] = new Map({
112
- length: convert(euroCDS[0].euro_height).from('in').to('cm'),
113
- _length: euroCDS[0].euro_height,
152
+ length: convert(euro_cds[0].euro_height).from('in').to('cm'),
153
+ _length: euro_cds[0].euro_height,
114
154
  _unit: 'in'
115
155
  });
116
156
  }
@@ -123,8 +163,8 @@ var Item = /*#__PURE__*/function () {
123
163
  });
124
164
  }
125
165
  newProperties['width'] = new Map({
126
- length: convert(euroCDS[0].euro_width).from('in').to('cm') - 10,
127
- _length: euroCDS[0].euro_width,
166
+ length: convert(euro_cds[0].euro_width).from('in').to('cm') - 10,
167
+ _length: euro_cds[0].euro_width,
128
168
  _unit: 'in'
129
169
  });
130
170
  }
@@ -272,7 +312,6 @@ var Item = /*#__PURE__*/function () {
272
312
  }, {
273
313
  key: "duplicateSelected",
274
314
  value: function duplicateSelected(state, currentObject) {
275
- var onInternalEvent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
276
315
  var layerID = state.getIn(['scene', 'selectedLayer']);
277
316
  var layer = state.getIn(['scene', 'layers', layerID]);
278
317
  var objectID = currentObject.id;
@@ -280,7 +319,6 @@ var Item = /*#__PURE__*/function () {
280
319
  var x = currentObject.x;
281
320
  var y = currentObject.y;
282
321
  var sceneComponentType, width, depth, rotRad;
283
- var duplicatedElement = null;
284
322
  switch (currentObject.prototype) {
285
323
  case 'items':
286
324
  myObject = state.getIn(['scene', 'layers', layerID, 'items', objectID]);
@@ -302,10 +340,9 @@ var Item = /*#__PURE__*/function () {
302
340
  var isrectSect = GeometryUtils.validInterSect(allRect, val);
303
341
  if (isrectSect) {
304
342
  // Duplicated object has a original object's molding property
305
- 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),
343
+ 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),
306
344
  stateI = _this$create.updatedState,
307
345
  item = _this$create.item;
308
- duplicatedElement = item;
309
346
  if (item === null) {
310
347
  alert('There are no Door Colors in this cabinet.');
311
348
  state = state.merge({
@@ -329,10 +366,9 @@ var Item = /*#__PURE__*/function () {
329
366
  _val.is_corner = allItemRect.cur.is_corner;
330
367
  var isRect = GeometryUtils.validInterSect(allRect, _val);
331
368
  if (isRect) {
332
- 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),
369
+ 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),
333
370
  _stateI = _this$create2.updatedState,
334
371
  _item = _this$create2.item;
335
- duplicatedElement = _item;
336
372
  if (_item === null) {
337
373
  alert('There are no Door Colors in this cabinet.');
338
374
  state = state.merge({
@@ -356,10 +392,9 @@ var Item = /*#__PURE__*/function () {
356
392
  _val2.is_corner = allItemRect.cur.is_corner;
357
393
  var isRectDown = GeometryUtils.validInterSect(allRect, _val2);
358
394
  if (isRectDown) {
359
- 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),
395
+ 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),
360
396
  _stateI2 = _this$create3.updatedState,
361
397
  _item2 = _this$create3.item;
362
- duplicatedElement = _item2;
363
398
  if (_item2 === null) {
364
399
  alert('There are no Door Colors in this cabinet.');
365
400
  state = state.merge({
@@ -383,10 +418,9 @@ var Item = /*#__PURE__*/function () {
383
418
  _val3.is_corner = allItemRect.cur.is_corner;
384
419
  var isRectUp = GeometryUtils.validInterSect(allRect, _val3);
385
420
  if (isRectUp) {
386
- 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),
421
+ 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),
387
422
  _stateI3 = _this$create4.updatedState,
388
423
  _item3 = _this$create4.item;
389
- duplicatedElement = _item3;
390
424
  if (_item3 === null) {
391
425
  alert('There are no Door Colors in this cabinet.');
392
426
  state = state.merge({
@@ -464,14 +498,6 @@ var Item = /*#__PURE__*/function () {
464
498
  default:
465
499
  break;
466
500
  }
467
- if (onInternalEvent && duplicatedElement) {
468
- var jsElement = duplicatedElement.toJS();
469
- if (jsElement.prototype === 'items') jsElement.isWarning = isWarningItem(duplicatedElement);
470
- onInternalEvent({
471
- type: INTERNAL_EVENT_DRAW_ELEMENT,
472
- value: jsElement
473
- });
474
- }
475
501
  return {
476
502
  updatedState: state
477
503
  };
@@ -480,9 +506,6 @@ var Item = /*#__PURE__*/function () {
480
506
  key: "storeDistArray",
481
507
  value: function storeDistArray(state, layerID, itemID, distArray) {
482
508
  var curDistArray = state.getIn(['scene', 'layers', layerID, 'items', itemID, 'distArray']);
483
- distArray.forEach(function (dist) {
484
- dist[0] < 0 ? dist[0] = 0 : dist[0];
485
- });
486
509
  var isEqualDist = function isEqualDist(a, b) {
487
510
  return a == b;
488
511
  };
@@ -601,15 +624,13 @@ var Item = /*#__PURE__*/function () {
601
624
  }, {
602
625
  key: "updateDrawingItem",
603
626
  value: function updateDrawingItem(state, layerID, x, y) {
604
- var isInitialPos = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
605
627
  if (state.hasIn(['drawingSupport', 'currentID'])) {
606
628
  var mode = state.get('mode');
607
629
  if ([MODE_DRAWING_ITEM_3D].includes(mode)) {
608
630
  state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
609
631
  return item && item.merge({
610
632
  x: x,
611
- y: y,
612
- isInitialPos: isInitialPos ? isInitialPos : false
633
+ y: y
613
634
  });
614
635
  });
615
636
  state = state.merge({
@@ -623,13 +644,12 @@ var Item = /*#__PURE__*/function () {
623
644
  state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
624
645
  return item && item.merge({
625
646
  x: x,
626
- y: y,
627
- isInitialPos: isInitialPos ? isInitialPos : false
647
+ y: y
628
648
  });
629
649
  });
630
650
  }
631
651
  } else {
632
- var _this$create5 = this.create(state, layerID, state.getIn(['drawingSupport', 'type']), x, y, 200, 100, 0, false, [], isInitialPos),
652
+ var _this$create5 = this.create(state, layerID, state.getIn(['drawingSupport', 'type']), x, y, 200, 100, 0, false),
633
653
  stateI = _this$create5.updatedState,
634
654
  item = _this$create5.item;
635
655
  if (item === null) {
@@ -665,8 +685,7 @@ var Item = /*#__PURE__*/function () {
665
685
  // tY = tY > 500 ? 500 : tY < 0 ? 0 : tY;
666
686
  item = item.merge({
667
687
  x: x,
668
- y: y,
669
- isInitialPos: false
688
+ y: y
670
689
  });
671
690
  state = state.merge({
672
691
  scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
@@ -680,8 +699,8 @@ var Item = /*#__PURE__*/function () {
680
699
  }, {
681
700
  key: "endDrawingItem",
682
701
  value: function endDrawingItem(state, layerID, x, y) {
683
- // let catalog = state.catalog;
684
- state = this.updateDrawingItem(state, layerID, x, y).updatedState;
702
+ var catalog = state.catalog;
703
+ state = this.updateDrawingItem(state, layerID, x, y, catalog).updatedState;
685
704
  state = Layer.unselectAll(state, layerID).updatedState;
686
705
  var popup = state.get('popup');
687
706
  state = state.merge({
@@ -764,8 +783,7 @@ var Item = /*#__PURE__*/function () {
764
783
  tY = tY > scene.height ? scene.height : tY < 0 ? 0 : tY;
765
784
  item = item.merge({
766
785
  x: tX,
767
- y: tY,
768
- isInitialPos: false
786
+ y: tY
769
787
  });
770
788
  state = state.merge({
771
789
  scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
@@ -1105,41 +1123,48 @@ var Item = /*#__PURE__*/function () {
1105
1123
  }
1106
1124
  }, {
1107
1125
  key: "setInitialDoorStyle",
1108
- value: function setInitialDoorStyle(state, doorStyle) {
1109
- state = state.merge({
1110
- doorStyle: doorStyle
1111
- });
1112
- var _state8 = state,
1113
- scene = _state8.scene;
1114
- var layerID = scene.get('selectedLayer');
1115
- var layers = scene.layers.get(layerID);
1116
- var items = layers.items;
1117
- layers = layers.setIn(['doorStyle'], fromJS(doorStyle));
1118
- state = state.merge({
1119
- scene: state.scene.mergeIn(['layers', layerID], layers)
1120
- });
1121
- items.forEach(function (data) {
1122
- {
1123
- var itemID = data.id;
1124
- var tmpDS = _objectSpread(_objectSpread({}, data.doorStyle), {}, {
1125
- doorStyles: _objectSpread(_objectSpread({}, data.doorStyle.doorStyles), {}, {
1126
- counttop: doorStyle.doorStyles.counttop
1127
- })
1128
- });
1129
- data = data.mergeIn(['doorStyle'], fromJS(tmpDS));
1130
- layers = layers.mergeIn(['items', itemID], data);
1131
- state = state.merge({
1132
- scene: scene.mergeIn(['layers', layerID], layers)
1133
- });
1134
- }
1135
- });
1126
+ value: function setInitialDoorStyle(state, doorStyle, oStyle) {
1127
+ if (doorStyle === undefined) {
1128
+ state = state.merge({
1129
+ oStyle: new Map({
1130
+ oStyle: oStyle
1131
+ })
1132
+ });
1133
+ } else {
1134
+ state = state.merge({
1135
+ doorStyle: doorStyle,
1136
+ oStyle: new Map({
1137
+ oStyle: oStyle
1138
+ })
1139
+ });
1140
+ var _state8 = state,
1141
+ scene = _state8.scene;
1142
+ var layerID = scene.get('selectedLayer');
1143
+ var layers = scene.layers.get(layerID);
1144
+ var items = layers.items;
1145
+ items.forEach(function (data) {
1146
+ {
1147
+ var itemID = data.id;
1148
+ var tmpDS = _objectSpread(_objectSpread({}, data.doorStyle), {}, {
1149
+ doorStyles: _objectSpread(_objectSpread({}, data.doorStyle.doorStyles), {}, {
1150
+ counttop: doorStyle.doorStyles.counttop
1151
+ })
1152
+ });
1153
+ data = data.mergeIn(['doorStyle'], fromJS(tmpDS));
1154
+ layers = layers.mergeIn(['items', itemID], data);
1155
+ state = state.merge({
1156
+ scene: scene.mergeIn(['layers', layerID], layers)
1157
+ });
1158
+ }
1159
+ });
1160
+ }
1136
1161
  return {
1137
1162
  updatedState: state
1138
1163
  };
1139
1164
  }
1140
1165
  }, {
1141
1166
  key: "setDoorStyle",
1142
- value: function setDoorStyle(state, doorStyle, itemCDS, isAll) {
1167
+ value: function setDoorStyle(state, doorStyle, isAll) {
1143
1168
  var _this2 = this;
1144
1169
  var keys = Object.keys(doorStyle.doorStyles);
1145
1170
  keys = keys.filter(function (elem) {
@@ -1149,7 +1174,6 @@ var Item = /*#__PURE__*/function () {
1149
1174
  for (var x in keys) {
1150
1175
  tmp[keys[x]] = doorStyle.doorStyles[keys[x]];
1151
1176
  }
1152
- doorStyle.cds = itemCDS;
1153
1177
  state = state.setIn(['scene', 'layers', state.scene.selectedLayer, 'doorStyle'], doorStyle);
1154
1178
  state = state.merge({
1155
1179
  doorStyle: doorStyle
@@ -1157,14 +1181,14 @@ var Item = /*#__PURE__*/function () {
1157
1181
  var layerID = state.scene.get('selectedLayer');
1158
1182
  var temp_layer_molding = state.scene.getIn(['layers', layerID, 'molding']);
1159
1183
  temp_layer_molding = temp_layer_molding.filter(function (md) {
1160
- return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1184
+ return doorStyle.doorStyles.cds.some(function (ds) {
1161
1185
  return md.itemID === ds.itemID;
1162
1186
  });
1163
1187
  });
1164
1188
  state = state.setIn(['scene', 'layers', layerID, 'molding'], temp_layer_molding);
1165
1189
  var itemIDs = state.scene.layers.getIn([layerID, 'selected', 'items']).toJS();
1166
1190
  var setDoorStyleOfItem = function setDoorStyleOfItem(data) {
1167
- var _cds$data;
1191
+ var _cds$data2;
1168
1192
  if (data.category !== 'cabinet') return; //CDS should effect to cabinets
1169
1193
  var itemID = data.id;
1170
1194
  var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
@@ -1172,7 +1196,7 @@ var Item = /*#__PURE__*/function () {
1172
1196
  var tmpMolding = _toConsumableArray(curItem.molding);
1173
1197
  var temp_item_molding = _toConsumableArray(curItem.molding);
1174
1198
  temp_item_molding = temp_item_molding.filter(function (md) {
1175
- return itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.some(function (ds) {
1199
+ return doorStyle.doorStyles.cds.some(function (ds) {
1176
1200
  return ds.itemID === md.itemID;
1177
1201
  });
1178
1202
  });
@@ -1182,16 +1206,17 @@ var Item = /*#__PURE__*/function () {
1182
1206
  state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'molding'], temp_item_molding);
1183
1207
  });
1184
1208
  });
1185
- var cds = itemCDS === null || itemCDS === void 0 ? void 0 : itemCDS.find(function (elem) {
1209
+ var cds = doorStyle.doorStyles.cds.find(function (elem) {
1186
1210
  return elem.itemID === data.itemID;
1187
1211
  });
1188
- var euro_cds = (cds === null || cds === void 0 || (_cds$data = cds.data) === null || _cds$data === void 0 ? void 0 : _cds$data.filter(function (element) {
1212
+ var euro_cds = (cds === null || cds === void 0 || (_cds$data2 = cds.data) === null || _cds$data2 === void 0 ? void 0 : _cds$data2.filter(function (element) {
1189
1213
  return element && element.is_euro_cds;
1190
1214
  })) || [];
1191
- var cds_data = cds ? [cds] : [];
1192
- if (
1193
- // doorStyle.door_style_name === 'Euro & Frameless' &&
1194
- euro_cds.length > 0) {
1215
+ var cds_data;
1216
+ if (doorStyle.door_style_name === 'Euro & Frameless' && euro_cds.length > 0) {
1217
+ cds_data = cds ? _objectSpread(_objectSpread({}, euro_cds[0]), {}, {
1218
+ cabinet_door_style_id: cds.cabinet_door_style_id
1219
+ }) : {};
1195
1220
  var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1196
1221
  if (newProperties.hasOwnProperty('depth')) {
1197
1222
  if (!newProperties.hasOwnProperty('oldDepth')) {
@@ -1237,6 +1262,9 @@ var Item = /*#__PURE__*/function () {
1237
1262
  }
1238
1263
  state = _this2.setJsProperties(state, layerID, itemID, newProperties).updatedState;
1239
1264
  } else {
1265
+ cds_data = cds ? _objectSpread(_objectSpread({}, cds.data && cds.data[0] ? cds.data[0] : {}), {}, {
1266
+ cabinet_door_style_id: cds.cabinet_door_style_id
1267
+ }) : {};
1240
1268
  var properties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
1241
1269
  if (properties.hasOwnProperty('oldDepth')) {
1242
1270
  properties['depth'] = new Map({
@@ -1275,9 +1303,7 @@ var Item = /*#__PURE__*/function () {
1275
1303
  color_sku_alias: doorStyle.color_sku_alias,
1276
1304
  // alias name of color_sku for the current dealer
1277
1305
  install: getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
1278
- doorStyles: _objectSpread(_objectSpread({}, tmp), {}, {
1279
- cds: cds_data
1280
- })
1306
+ doorStyles: _objectSpread(_objectSpread({}, tmp), cds_data)
1281
1307
  };
1282
1308
  state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], fromJS(tmpDS));
1283
1309
  };
@@ -1542,9 +1568,6 @@ var Item = /*#__PURE__*/function () {
1542
1568
  });
1543
1569
  }
1544
1570
  }
1545
- state = state.merge({
1546
- sceneHistory: historyPush(state.sceneHistory, state.scene)
1547
- });
1548
1571
  return {
1549
1572
  updatedState: state
1550
1573
  };
@@ -1667,9 +1690,6 @@ var Item = /*#__PURE__*/function () {
1667
1690
  updateSelectItemMolding();
1668
1691
  }
1669
1692
  }
1670
- state = state.merge({
1671
- sceneHistory: historyPush(state.sceneHistory, state.scene)
1672
- });
1673
1693
  return {
1674
1694
  updatedState: state
1675
1695
  };
package/es/class/line.js CHANGED
@@ -5,9 +5,8 @@ import { fromJS, List, Map } from 'immutable';
5
5
  import { Group, Hole, Layer, Vertex } from "./export";
6
6
  import { GeometryUtils, history, IDBroker, NameGenerator, SnapSceneUtils, SnapUtils } from "../utils/export";
7
7
  import * as Three from 'three';
8
- import { END_DRAGGING_LINE, END_DRAGGING_VERTEX, END_DRAWING_LINE, EPSILON, INTERNAL_EVENT_START_DRAW_WALL, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_DRAGGING_LINE, MODE_DRAWING_LINE, MODE_IDLE, MODE_WAITING_DRAWING_LINE, UNIT_ANGLE } from "../constants";
8
+ import { END_DRAGGING_LINE, END_DRAGGING_VERTEX, END_DRAWING_LINE, EPSILON, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_DRAGGING_LINE, MODE_DRAWING_LINE, MODE_IDLE, MODE_WAITING_DRAWING_LINE, UNIT_ANGLE } from "../constants";
9
9
  import { isEmpty } from "../utils/helper";
10
- import { convert } from "../utils/convert-units-lite";
11
10
  var timeGlobal = 0;
12
11
  var TimeRecorder = /*#__PURE__*/function () {
13
12
  function TimeRecorder(name) {
@@ -427,7 +426,7 @@ var Line = /*#__PURE__*/function () {
427
426
  }
428
427
  }, {
429
428
  key: "beginDrawingLine",
430
- value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
429
+ value: function beginDrawingLine(state, layerID, x, y) {
431
430
  // if end drawing by created area
432
431
  if (state.mode == MODE_IDLE) {
433
432
  return {
@@ -480,17 +479,6 @@ var Line = /*#__PURE__*/function () {
480
479
  activeSnapElement: snap ? snap.snap : null,
481
480
  drawingSupport: drawingSupport
482
481
  });
483
- var layer = state.getIn(['scene', 'layers', layerID]);
484
- var payload = line.toJS();
485
- var v_a = layer.vertices.get(line.vertices.get(0));
486
- var v_b = layer.vertices.get(line.vertices.get(1));
487
- var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
488
- var _length = convert(distance).from('cm').to(layer.unit);
489
- payload.length = _length;
490
- if (onInternalEvent) onInternalEvent({
491
- type: INTERNAL_EVENT_START_DRAW_WALL,
492
- value: payload
493
- });
494
482
  return {
495
483
  updatedState: state
496
484
  };