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.
- package/es/LiteKitchenConfigurator.js +204 -21
- package/es/LiteRenderer.js +277 -12
- package/es/actions/items-actions.js +6 -10
- package/es/actions/lines-actions.js +1 -3
- package/es/actions/project-actions.js +5 -15
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/1.jpg +0 -0
- package/es/catalog/areas/area/planner-element.js +5 -10
- package/es/catalog/catalog.js +4 -1
- package/es/catalog/factories/area-factory-3d.js +17 -18
- package/es/catalog/factories/wall-factory-3d.js +2 -2
- package/es/catalog/factories/wall-factory.js +8 -8
- package/es/catalog/lines/wall/planner-element.js +9 -18
- package/es/catalog/utils/exporter.js +3 -6
- package/es/catalog/utils/item-loader.js +197 -202
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/class/item.js +127 -107
- package/es/class/line.js +2 -14
- package/es/class/project.js +44 -150
- package/es/components/content.js +6 -19
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/item.js +51 -84
- package/es/components/viewer2d/line.js +243 -315
- package/es/components/viewer2d/ruler.js +36 -16
- package/es/components/viewer2d/rulerDist.js +75 -44
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +205 -301
- package/es/components/viewer3d/front3D.js +2 -3
- package/es/components/viewer3d/libs/mtl-loader.js +2 -2
- package/es/components/viewer3d/libs/obj-loader.js +2 -2
- package/es/components/viewer3d/libs/orbit-controls.js +4 -3
- package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
- package/es/components/viewer3d/viewer3d.js +80 -127
- package/es/constants.js +3 -110
- package/es/devLiteRenderer.js +38 -597
- package/es/index.js +86 -16
- package/es/models.js +5 -8
- package/es/plugins/SVGLoader.js +5 -7
- package/es/plugins/keyboard.js +6 -15
- package/es/reducers/items-reducer.js +5 -5
- package/es/reducers/lines-reducer.js +1 -1
- package/es/reducers/project-reducer.js +3 -5
- package/es/shared-style.js +4 -4
- package/es/utils/geometry.js +0 -161
- package/es/utils/get-edges-of-subgraphs.js +1 -1
- package/es/utils/graph-cycles.js +1 -1
- package/es/utils/graph.js +1 -1
- package/es/utils/helper.js +2 -67
- package/es/utils/isolate-event-handler.js +124 -1367
- package/es/utils/molding.js +2 -238
- package/lib/LiteKitchenConfigurator.js +205 -22
- package/lib/LiteRenderer.js +278 -13
- package/lib/actions/items-actions.js +6 -10
- package/lib/actions/lines-actions.js +1 -3
- package/lib/actions/project-actions.js +4 -15
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/1.jpg +0 -0
- package/lib/catalog/areas/area/planner-element.js +5 -11
- package/lib/catalog/catalog.js +4 -1
- package/lib/catalog/factories/area-factory-3d.js +14 -15
- package/lib/catalog/factories/wall-factory-3d.js +2 -2
- package/lib/catalog/factories/wall-factory.js +8 -8
- package/lib/catalog/lines/wall/planner-element.js +9 -19
- package/lib/catalog/utils/exporter.js +3 -6
- package/lib/catalog/utils/item-loader.js +194 -199
- package/lib/catalog/utils/mtl-loader.js +2 -9
- package/lib/catalog/utils/obj-loader.js +2 -10
- package/lib/class/item.js +125 -105
- package/lib/class/line.js +1 -13
- package/lib/class/project.js +43 -149
- package/lib/components/content.js +6 -19
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/item.js +50 -83
- package/lib/components/viewer2d/line.js +242 -315
- package/lib/components/viewer2d/ruler.js +35 -15
- package/lib/components/viewer2d/rulerDist.js +75 -44
- package/lib/components/viewer2d/utils.js +0 -7
- package/lib/components/viewer2d/viewer2d.js +205 -299
- package/lib/components/viewer3d/front3D.js +2 -3
- package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
- package/lib/components/viewer3d/libs/obj-loader.js +2 -9
- package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
- package/lib/components/viewer3d/viewer3d.js +79 -125
- package/lib/constants.js +7 -115
- package/lib/devLiteRenderer.js +33 -592
- package/lib/index.js +86 -16
- package/lib/models.js +5 -8
- package/lib/plugins/SVGLoader.js +5 -7
- package/lib/plugins/keyboard.js +6 -15
- package/lib/reducers/items-reducer.js +5 -5
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/reducers/project-reducer.js +2 -4
- package/lib/shared-style.js +4 -4
- package/lib/utils/geometry.js +0 -162
- package/lib/utils/get-edges-of-subgraphs.js +1 -6
- package/lib/utils/graph-cycles.js +8 -7
- package/lib/utils/graph.js +1 -6
- package/lib/utils/helper.js +3 -70
- package/lib/utils/isolate-event-handler.js +121 -1364
- package/lib/utils/molding.js +0 -238
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @author angelxuanchang
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
|
|
357
|
+
module.exports = MTLLoader;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @author mrdoob / http://mrdoob.com/
|
|
3
3
|
*/
|
|
4
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
85
|
-
return
|
|
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
|
-
|
|
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(
|
|
99
|
-
_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(
|
|
113
|
-
_length:
|
|
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(
|
|
127
|
-
_length:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
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,
|
|
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
|
|
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$
|
|
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
|
|
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 =
|
|
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$
|
|
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
|
|
1192
|
-
if (
|
|
1193
|
-
|
|
1194
|
-
|
|
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,
|
|
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
|
|
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
|
};
|