kitchen-simulator 4.0.9-react-18 → 4.0.9
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/README.md +3 -0
- package/es/AppContext.js +1 -1
- package/es/LiteKitchenConfigurator.js +162 -107
- package/es/LiteRenderer.js +162 -137
- package/es/actions/export.js +25 -12
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- package/es/catalog/factories/wall-factory.js +1 -1
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/properties/export.js +21 -0
- package/es/catalog/properties/property-checkbox.js +68 -0
- package/es/catalog/properties/property-color.js +39 -0
- package/es/catalog/properties/property-enum.js +50 -0
- package/es/catalog/properties/property-hidden.js +19 -0
- package/es/catalog/properties/property-lenght-measure.js +100 -0
- package/es/catalog/properties/property-length-measure.js +84 -0
- package/es/catalog/properties/property-length-measure_hole.js +100 -0
- package/es/catalog/properties/property-number.js +48 -0
- package/es/catalog/properties/property-read-only.js +26 -0
- package/es/catalog/properties/property-string.js +48 -0
- package/es/catalog/properties/property-toggle.js +39 -0
- package/es/catalog/properties/shared-property-style.js +14 -0
- package/es/catalog/utils/exporter.js +24 -11
- package/es/catalog/utils/item-loader.js +35 -26
- package/es/class/hole.js +0 -2
- package/es/class/item.js +96 -70
- package/es/class/layer.js +1 -1
- package/es/class/line.js +4 -8
- package/es/class/project.js +97 -80
- package/es/components/content.js +5 -93
- package/es/components/export.js +4 -6
- package/es/components/style/button.js +106 -0
- package/es/components/style/cancel-button.js +21 -0
- package/es/components/style/content-container.js +30 -0
- package/es/components/style/content-title.js +25 -0
- package/es/components/style/delete-button.js +24 -0
- package/es/components/style/export.js +28 -2
- package/es/components/style/form-block.js +20 -0
- package/es/components/style/form-color-input.js +26 -0
- package/es/components/style/form-label.js +22 -0
- package/es/components/style/form-number-input.js +29 -27
- package/es/components/style/form-number-input_2.js +200 -0
- package/es/components/style/form-select.js +19 -0
- package/es/components/style/form-slider.js +60 -0
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/style/form-text-input.js +69 -0
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/group.js +5 -4
- package/es/components/viewer2d/item.js +155 -359
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +22 -52
- package/es/components/viewer2d/ruler.js +16 -11
- package/es/components/viewer2d/rulerDist.js +38 -51
- package/es/components/viewer2d/rulerX.js +4 -2
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +17 -12
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/vertex.js +3 -2
- package/es/components/viewer2d/viewer2d.js +56 -87
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/es/components/viewer3d/scene-creator.js +108 -52
- package/es/components/viewer3d/viewer3d-first-person.js +24 -26
- package/es/components/viewer3d/viewer3d.js +115 -120
- package/es/constants.js +7 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +614 -29
- package/es/models.js +13 -8
- package/es/plugins/SVGLoader.js +1414 -0
- package/es/plugins/console-debugger.js +34 -0
- package/es/plugins/export.js +7 -0
- package/es/plugins/keyboard.js +110 -0
- package/es/reducers/project-reducer.js +3 -0
- package/es/reducers/viewer2d-reducer.js +3 -1
- package/es/reducers/viewer3d-reducer.js +3 -1
- package/es/styles/export.js +5 -0
- package/es/styles/tabs.css +40 -0
- package/es/utils/geometry.js +77 -119
- package/es/utils/helper.js +38 -1
- package/es/utils/isolate-event-handler.js +827 -607
- package/es/utils/molding.js +459 -11
- package/es/utils/ruler.js +58 -0
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +161 -107
- package/lib/LiteRenderer.js +161 -137
- package/lib/actions/export.js +35 -39
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- package/lib/catalog/factories/wall-factory.js +1 -1
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/properties/export.js +81 -0
- package/lib/catalog/properties/property-checkbox.js +76 -0
- package/lib/catalog/properties/property-color.js +47 -0
- package/lib/catalog/properties/property-enum.js +58 -0
- package/lib/catalog/properties/property-hidden.js +27 -0
- package/lib/catalog/properties/property-lenght-measure.js +108 -0
- package/lib/catalog/properties/property-length-measure.js +92 -0
- package/lib/catalog/properties/property-length-measure_hole.js +108 -0
- package/lib/catalog/properties/property-number.js +56 -0
- package/lib/catalog/properties/property-read-only.js +34 -0
- package/lib/catalog/properties/property-string.js +56 -0
- package/lib/catalog/properties/property-toggle.js +47 -0
- package/lib/catalog/properties/shared-property-style.js +21 -0
- package/lib/catalog/utils/exporter.js +24 -11
- package/lib/catalog/utils/item-loader.js +35 -26
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +94 -68
- package/lib/class/layer.js +1 -1
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +97 -80
- package/lib/components/content.js +5 -93
- package/lib/components/export.js +6 -26
- package/lib/components/style/button.js +115 -0
- package/lib/components/style/cancel-button.js +29 -0
- package/lib/components/style/content-container.js +38 -0
- package/lib/components/style/content-title.js +35 -0
- package/lib/components/style/delete-button.js +34 -0
- package/lib/components/style/export.js +105 -1
- package/lib/components/style/form-block.js +28 -0
- package/lib/components/style/form-color-input.js +34 -0
- package/lib/components/style/form-label.js +30 -0
- package/lib/components/style/form-number-input.js +29 -27
- package/lib/components/style/form-number-input_2.js +209 -0
- package/lib/components/style/form-select.js +29 -0
- package/lib/components/style/form-slider.js +68 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/style/form-text-input.js +78 -0
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/group.js +5 -4
- package/lib/components/viewer2d/item.js +152 -356
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +22 -52
- package/lib/components/viewer2d/ruler.js +15 -10
- package/lib/components/viewer2d/rulerDist.js +38 -51
- package/lib/components/viewer2d/rulerX.js +4 -2
- package/lib/components/viewer2d/rulerY.js +3 -0
- package/lib/components/viewer2d/scene.js +17 -12
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/vertex.js +3 -2
- package/lib/components/viewer2d/viewer2d.js +54 -84
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +105 -49
- package/lib/components/viewer3d/viewer3d-first-person.js +24 -26
- package/lib/components/viewer3d/viewer3d.js +112 -116
- package/lib/constants.js +12 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +614 -29
- package/lib/models.js +13 -8
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/project-reducer.js +3 -0
- package/lib/reducers/viewer2d-reducer.js +3 -1
- package/lib/reducers/viewer3d-reducer.js +3 -1
- package/lib/styles/export.js +13 -0
- package/lib/styles/tabs.css +40 -0
- package/lib/utils/geometry.js +77 -119
- package/lib/utils/helper.js +40 -1
- package/lib/utils/isolate-event-handler.js +827 -606
- package/lib/utils/molding.js +460 -9
- package/lib/utils/ruler.js +63 -0
- package/package.json +20 -15
- package/es/mocks/appliancePayload.json +0 -27
- package/es/mocks/cabinetPayload.json +0 -1914
- package/es/mocks/cabinetPayload2.json +0 -76
- package/es/mocks/dataBundle2.json +0 -4
- package/es/mocks/distancePayload.json +0 -6
- package/es/mocks/doorStylePayload2.json +0 -84
- package/es/mocks/furnishingPayload.json +0 -23
- package/es/mocks/itemCDSPayload.json +0 -27
- package/es/mocks/lightingPayload.json +0 -23
- package/es/mocks/mockProps.json +0 -43
- package/es/mocks/mockProps2.json +0 -9
- package/es/mocks/moldingPayload.json +0 -19
- package/es/mocks/projectItemsCatalog.json +0 -133
- package/es/mocks/rectangleShape.json +0 -238
- package/es/mocks/replaceCabinetPayload.json +0 -81
- package/es/mocks/roomShapePayload.json +0 -5
- package/es/useAppContext.js +0 -8
- package/lib/mocks/appliancePayload.json +0 -27
- package/lib/mocks/cabinetPayload.json +0 -1914
- package/lib/mocks/cabinetPayload2.json +0 -76
- package/lib/mocks/dataBundle2.json +0 -4
- package/lib/mocks/distancePayload.json +0 -6
- package/lib/mocks/doorStylePayload2.json +0 -84
- package/lib/mocks/furnishingPayload.json +0 -23
- package/lib/mocks/itemCDSPayload.json +0 -27
- package/lib/mocks/lightingPayload.json +0 -23
- package/lib/mocks/mockProps.json +0 -43
- package/lib/mocks/mockProps2.json +0 -9
- package/lib/mocks/moldingPayload.json +0 -19
- package/lib/mocks/projectItemsCatalog.json +0 -133
- package/lib/mocks/rectangleShape.json +0 -238
- package/lib/mocks/replaceCabinetPayload.json +0 -81
- package/lib/mocks/roomShapePayload.json +0 -5
- package/lib/useAppContext.js +0 -16
|
@@ -261,12 +261,10 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
261
261
|
this.renderer.renderLists.dispose();
|
|
262
262
|
}
|
|
263
263
|
}, {
|
|
264
|
-
key: "
|
|
265
|
-
value: function
|
|
266
|
-
var
|
|
267
|
-
|
|
268
|
-
height = _this$props.height,
|
|
269
|
-
state = _this$props.state;
|
|
264
|
+
key: "componentWillReceiveProps",
|
|
265
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
266
|
+
var width = nextProps.width,
|
|
267
|
+
height = nextProps.height;
|
|
270
268
|
var camera = this.camera,
|
|
271
269
|
renderer = this.renderer,
|
|
272
270
|
scene3D = this.scene3D,
|
|
@@ -279,27 +277,19 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
279
277
|
linesActions: this.context.linesActions,
|
|
280
278
|
projectActions: this.context.projectActions
|
|
281
279
|
};
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
renderer.setSize(width, height);
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Handle scene changes
|
|
293
|
-
if (state.scene !== prevProps.state.scene) {
|
|
294
|
-
var changedValues = (0, _immutablediff["default"])(prevProps.state.scene, state.scene);
|
|
295
|
-
(0, _sceneCreator.updateScene)(planData, state.scene, prevProps.state.scene, changedValues.toJS(), actions, this.context.catalog);
|
|
280
|
+
this.width = width;
|
|
281
|
+
this.height = height;
|
|
282
|
+
camera.aspect = width / height;
|
|
283
|
+
camera.updateProjectionMatrix();
|
|
284
|
+
if (nextProps.scene !== this.props.state.scene) {
|
|
285
|
+
var changedValues = (0, _immutablediff["default"])(this.props.state.scene, nextProps.state.scene);
|
|
286
|
+
(0, _sceneCreator.updateScene)(planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog);
|
|
296
287
|
}
|
|
297
|
-
|
|
298
|
-
//
|
|
299
|
-
renderer.
|
|
300
|
-
renderer.
|
|
301
|
-
renderer.
|
|
302
|
-
renderer.render(sceneOnTop, camera);
|
|
288
|
+
renderer.setSize(width, height);
|
|
289
|
+
renderer.clear(); // clear buffers
|
|
290
|
+
renderer.render(scene3D, camera); // render scene 1
|
|
291
|
+
renderer.clearDepth(); // clear depth buffer
|
|
292
|
+
renderer.render(sceneOnTop, camera); // render scene 2
|
|
303
293
|
}
|
|
304
294
|
}, {
|
|
305
295
|
key: "render",
|
|
@@ -315,4 +305,12 @@ Viewer3DFirstPerson.propTypes = {
|
|
|
315
305
|
width: _propTypes["default"].number.isRequired,
|
|
316
306
|
height: _propTypes["default"].number.isRequired
|
|
317
307
|
};
|
|
308
|
+
Viewer3DFirstPerson.contextTypes = {
|
|
309
|
+
areaActions: _propTypes["default"].object.isRequired,
|
|
310
|
+
holesActions: _propTypes["default"].object.isRequired,
|
|
311
|
+
itemsActions: _propTypes["default"].object.isRequired,
|
|
312
|
+
linesActions: _propTypes["default"].object.isRequired,
|
|
313
|
+
projectActions: _propTypes["default"].object.isRequired,
|
|
314
|
+
catalog: _propTypes["default"].object
|
|
315
|
+
};
|
|
318
316
|
module.exports = exports.default;
|
|
@@ -238,6 +238,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
238
238
|
});
|
|
239
239
|
self.renderer.domElement.style.display = 'block';
|
|
240
240
|
}, 1500);
|
|
241
|
+
self.planData = planData;
|
|
241
242
|
});
|
|
242
243
|
var area = scene.getIn(['layers', scene.selectedLayer, 'areas']);
|
|
243
244
|
var layer = scene.getIn(['layers', scene.selectedLayer]);
|
|
@@ -676,7 +677,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
676
677
|
layer.lines.forEach(function (line) {
|
|
677
678
|
line.holes.forEach(function (holeID) {
|
|
678
679
|
var hole = layer.holes.get(holeID);
|
|
679
|
-
holes.push(hole);
|
|
680
|
+
if (hole) holes.push(hole);
|
|
680
681
|
});
|
|
681
682
|
});
|
|
682
683
|
var i = 0;
|
|
@@ -822,17 +823,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
822
823
|
this.snap = function (obj, layer) {
|
|
823
824
|
// snap operation
|
|
824
825
|
var target = obj.userData.target;
|
|
826
|
+
if ((0, _helper.isEmpty)(target)) return;
|
|
825
827
|
for (; target.parent != null;) {
|
|
826
828
|
if (target.name == 'pivot') break;
|
|
827
829
|
target = target.parent;
|
|
828
830
|
}
|
|
829
831
|
var source = obj.parent.parent.parent;
|
|
830
832
|
if (target.userData.type == 'item') {
|
|
833
|
+
var _item$properties$getI;
|
|
831
834
|
var sRot = layer.getIn(['items', source.userData.itemId]).rotation;
|
|
832
835
|
var tRot = layer.getIn(['items', target.userData.itemId]) ? layer.getIn(['items', target.userData.itemId]).rotation : 0;
|
|
833
836
|
var item = layer.getIn(['items', source.userData.itemId]);
|
|
834
837
|
var layoutType = item.layoutpos;
|
|
835
|
-
var altitudeLength = (0, _convertUnitsLite.convert)(item.properties.getIn(['altitude', '_length'])).from('in').to('cm');
|
|
838
|
+
var altitudeLength = (0, _convertUnitsLite.convert)(item.properties.getIn(['altitude', '_length'])).from((_item$properties$getI = item.properties.getIn(['altitude', '_unit'])) !== null && _item$properties$getI !== void 0 ? _item$properties$getI : 'in').to('cm');
|
|
836
839
|
var sBounding = source.children[0].userData;
|
|
837
840
|
var tBounding = target.children[0].userData;
|
|
838
841
|
var tPos = target.position.clone();
|
|
@@ -932,8 +935,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
932
935
|
snapFlag = false;
|
|
933
936
|
return;
|
|
934
937
|
} else {
|
|
938
|
+
var _item3$properties$get;
|
|
935
939
|
var _layoutType = _item3.layoutpos;
|
|
936
|
-
var _altitudeLength = (0, _convertUnitsLite.convert)(_item3.properties.getIn(['altitude', '_length'])).from('in').to('cm');
|
|
940
|
+
var _altitudeLength = (0, _convertUnitsLite.convert)(_item3.properties.getIn(['altitude', '_length'])).from((_item3$properties$get = _item3.properties.getIn(['altitude', '_unit'])) !== null && _item3$properties$get !== void 0 ? _item3$properties$get : 'in').to('cm');
|
|
937
941
|
var _sBounding = source.children[0].userData;
|
|
938
942
|
var _width = _sBounding.max.x - _sBounding.min.x;
|
|
939
943
|
var _height = _sBounding.max.y - _sBounding.min.y;
|
|
@@ -1192,18 +1196,10 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1192
1196
|
};
|
|
1193
1197
|
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1194
1198
|
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1195
|
-
if (!(0, _helper.isEmpty)(evtType)) {
|
|
1196
|
-
var _this2$props$onIntern, _this2$props;
|
|
1197
|
-
var
|
|
1198
|
-
|
|
1199
|
-
// check this cabinet has warning box
|
|
1200
|
-
payload.isWarning = (0, _utils.isWarningItem)(evtElement);
|
|
1201
|
-
// check this item is available molding
|
|
1202
|
-
payload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, evtElement); // check this item is snapped to wall
|
|
1203
|
-
payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, evtElement);
|
|
1204
|
-
// update distArray
|
|
1205
|
-
if (pointArray) payload.distArray = pointArray;
|
|
1206
|
-
}
|
|
1199
|
+
if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
|
|
1200
|
+
var _state$get, _this2$props$onIntern, _this2$props;
|
|
1201
|
+
var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
|
|
1202
|
+
var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, layer, catalog, pointArray);
|
|
1207
1203
|
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1208
1204
|
type: evtType,
|
|
1209
1205
|
value: payload
|
|
@@ -1361,11 +1357,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1361
1357
|
if (selectedFlag || toolIntersects.length > 0 && !(0, _helper.isElevationView)(mode)) {
|
|
1362
1358
|
cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
|
|
1363
1359
|
selectedFlag = false;
|
|
1364
|
-
} else {
|
|
1365
|
-
isSelected = false;
|
|
1366
|
-
_this2.context.projectActions.unselectAll();
|
|
1367
|
-
scene3D.remove(toolObj);
|
|
1368
|
-
_this2.context.itemsActions.removeReplacingSupport();
|
|
1369
1360
|
}
|
|
1370
1361
|
}
|
|
1371
1362
|
} else {
|
|
@@ -1378,10 +1369,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1378
1369
|
}
|
|
1379
1370
|
};
|
|
1380
1371
|
this.mouseUpEvent = function (event) {
|
|
1372
|
+
var _selectedObject;
|
|
1381
1373
|
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1382
1374
|
var selectedElement; // internalEvent data
|
|
1383
1375
|
firstMove = 0;
|
|
1384
1376
|
var altitude = 0;
|
|
1377
|
+
var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject = selectedObject) === null || _selectedObject === void 0 ? void 0 : _selectedObject.layerID]);
|
|
1385
1378
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1386
1379
|
var properties = allItemRect.cur.itemInfo.properties;
|
|
1387
1380
|
altitude = properties.getIn(['altitude', '_length']);
|
|
@@ -1402,7 +1395,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1402
1395
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1403
1396
|
} else {
|
|
1404
1397
|
removeSnapBox();
|
|
1405
|
-
var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
|
|
1398
|
+
var polygon = _export.GeometryUtils.getPoylgonPoints(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1406
1399
|
// if cursor is outside of room
|
|
1407
1400
|
if (polygon.length > 0 && !_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1408
1401
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
@@ -1418,11 +1411,18 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1418
1411
|
}
|
|
1419
1412
|
switch (_this2.props.state.mode) {
|
|
1420
1413
|
case _constants.MODE_DRAGGING_ITEM_3D:
|
|
1414
|
+
case _constants.MODE_DRAGGING_HOLE_3D:
|
|
1421
1415
|
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
1422
1416
|
break;
|
|
1423
1417
|
case _constants.MODE_ROTATING_ITEM_3D:
|
|
1424
1418
|
internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
1425
1419
|
break;
|
|
1420
|
+
case _constants.MODE_DRAWING_HOLE_3D:
|
|
1421
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
1422
|
+
break;
|
|
1423
|
+
case _constants.MODE_IDLE_3D:
|
|
1424
|
+
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1425
|
+
break;
|
|
1426
1426
|
}
|
|
1427
1427
|
if (_this2.props.state.mode == _constants.MODE_DRAGGING_ITEM_3D) {
|
|
1428
1428
|
_this2.context.itemsActions.endDraggingItem3D();
|
|
@@ -1456,7 +1456,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1456
1456
|
});
|
|
1457
1457
|
});
|
|
1458
1458
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1459
|
-
var _i10;
|
|
1459
|
+
var _i10; // index of warning object in intersects
|
|
1460
|
+
|
|
1460
1461
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1461
1462
|
for (_i10 = 0; _i10 < intersects.length; _i10++) {
|
|
1462
1463
|
if (intersects[_i10].object.name === 'warningObj') break;
|
|
@@ -1472,6 +1473,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1472
1473
|
var replaceInfo = intersects[_i10].object.parent.parent.userData;
|
|
1473
1474
|
_this2.context.itemsActions.selectItem(replaceInfo.layerId, replaceInfo.itemId);
|
|
1474
1475
|
!_this2.props.downloadFlag && _this2.props.replaceCabinet(true);
|
|
1476
|
+
internalType = _constants.INTERNAL_EVENT_REPLACE_CABINET;
|
|
1477
|
+
var replaceElement = _this2.props.state.scene.layers.get(replaceInfo.layerId).items.get(replaceInfo.itemId);
|
|
1478
|
+
sendInternalEvent(internalType, replaceElement);
|
|
1475
1479
|
return;
|
|
1476
1480
|
}
|
|
1477
1481
|
}
|
|
@@ -1484,6 +1488,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1484
1488
|
}
|
|
1485
1489
|
}
|
|
1486
1490
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1491
|
+
var addItemToolObj = function addItemToolObj() {
|
|
1492
|
+
var _planData$sceneGraph, _selectedObject2, _intersects$_i;
|
|
1493
|
+
var selectedItem = (_planData$sceneGraph = planData.sceneGraph) === null || _planData$sceneGraph === void 0 || (_planData$sceneGraph = _planData$sceneGraph.layers[selectedObject.layerID]) === null || _planData$sceneGraph === void 0 ? void 0 : _planData$sceneGraph.items[(_selectedObject2 = selectedObject) === null || _selectedObject2 === void 0 ? void 0 : _selectedObject2.itemID];
|
|
1494
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1495
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1496
|
+
var itemPos = selectedItem.position.clone();
|
|
1497
|
+
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === selectedItem.userData.itemId) {
|
|
1498
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1499
|
+
} else {
|
|
1500
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1501
|
+
}
|
|
1502
|
+
scene3D.add(toolObj);
|
|
1503
|
+
};
|
|
1487
1504
|
if (Math.abs(mouse.x - _this2.lastMousePosition.x) <= 0.02 && Math.abs(mouse.y - _this2.lastMousePosition.y) <= 0.02 || bMove) {
|
|
1488
1505
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1489
1506
|
if (intersects[_i10] === undefined) {
|
|
@@ -1506,38 +1523,20 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1506
1523
|
}
|
|
1507
1524
|
isSelected = true;
|
|
1508
1525
|
setTimeout(function () {
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1513
|
-
var itemPos = selectedItem.position.clone();
|
|
1514
|
-
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1515
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1516
|
-
} else {
|
|
1517
|
-
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1518
|
-
}
|
|
1519
|
-
scene3D.add(toolObj);
|
|
1526
|
+
var _curLayer$id;
|
|
1527
|
+
addItemToolObj();
|
|
1528
|
+
(0, _sceneCreator.getDistances)(curLayer !== null && curLayer !== void 0 ? curLayer : layer, selectedElement);
|
|
1520
1529
|
_this2.setState({
|
|
1521
1530
|
toolObj: toolObj
|
|
1522
1531
|
});
|
|
1523
1532
|
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1524
|
-
var pointArray = []
|
|
1525
|
-
|
|
1526
|
-
pointArray.push([
|
|
1527
|
-
pointArray.push([
|
|
1528
|
-
pointArray.push([
|
|
1529
|
-
pointArray.
|
|
1530
|
-
|
|
1531
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1532
|
-
});
|
|
1533
|
-
pointArray.forEach(function (pointElement) {
|
|
1534
|
-
if (pointElement[0] == 0) cnt++;
|
|
1535
|
-
});
|
|
1536
|
-
if (cnt == 4 || cnt == 3) {
|
|
1537
|
-
pointArray[0][0] = 100;
|
|
1538
|
-
pointArray[1][0] = 100;
|
|
1539
|
-
}
|
|
1540
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1533
|
+
var pointArray = [];
|
|
1534
|
+
// pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1535
|
+
// pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1536
|
+
// pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1537
|
+
// pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1538
|
+
pointArray = _export.GeometryUtils.calcDistancesFromItemToWalls(selectedElement, curLayer !== null && curLayer !== void 0 ? curLayer : layer).PointArray;
|
|
1539
|
+
actions.itemsActions.storeDistArray((_curLayer$id = curLayer === null || curLayer === void 0 ? void 0 : curLayer.id) !== null && _curLayer$id !== void 0 ? _curLayer$id : layer.id, selectedObject.itemID, pointArray);
|
|
1541
1540
|
internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1542
1541
|
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
1543
1542
|
});
|
|
@@ -1547,16 +1546,17 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1547
1546
|
var elementPrototype = null;
|
|
1548
1547
|
switch (true) {
|
|
1549
1548
|
case 'holeID' in selectedObject:
|
|
1550
|
-
|
|
1549
|
+
elementID = selectedObject.holeID;
|
|
1550
|
+
elementPrototype = 'holes';
|
|
1551
1551
|
if (_this2.props.state.mode === _constants.MODE_DRAGGING_HOLE_3D) {
|
|
1552
1552
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1553
|
-
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1554
|
-
elementID = selectedObject.holeID;
|
|
1555
|
-
elementPrototype = 'holes';
|
|
1556
1553
|
}
|
|
1557
1554
|
break;
|
|
1555
|
+
case 'lineID' in selectedObject:
|
|
1556
|
+
elementID = selectedObject.lineID;
|
|
1557
|
+
elementPrototype = 'lines';
|
|
1558
|
+
break;
|
|
1558
1559
|
case 'areaID' in selectedObject:
|
|
1559
|
-
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1560
1560
|
elementID = selectedObject.areaID;
|
|
1561
1561
|
elementPrototype = 'areas';
|
|
1562
1562
|
break;
|
|
@@ -1568,25 +1568,31 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1568
1568
|
isSelected = false;
|
|
1569
1569
|
}
|
|
1570
1570
|
} else {
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1571
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1572
|
+
if (bMove && !(0, _helper.isEmpty)(selectedItem)) {
|
|
1573
|
+
addItemToolObj();
|
|
1574
|
+
} else {
|
|
1575
|
+
isSelected = false;
|
|
1576
|
+
_this2.context.projectActions.unselectAll();
|
|
1577
|
+
switch (true) {
|
|
1578
|
+
case 'holeID' in selectedObject:
|
|
1579
|
+
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1580
|
+
break;
|
|
1581
|
+
default:
|
|
1582
|
+
_this2.context.itemsActions.removeReplacingSupport();
|
|
1583
|
+
break;
|
|
1584
|
+
}
|
|
1580
1585
|
}
|
|
1581
1586
|
}
|
|
1582
1587
|
bMove = false;
|
|
1583
1588
|
bRotate = false;
|
|
1584
1589
|
bMoveUP = false;
|
|
1585
1590
|
if (isSelected) {
|
|
1586
|
-
prepareSnap(layer);
|
|
1591
|
+
prepareSnap(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1587
1592
|
selectedObj = allItemRect.cur;
|
|
1588
1593
|
}
|
|
1589
1594
|
} else {
|
|
1595
|
+
var _planData$sceneGraph2, _selectedObject3, _selectedObject4;
|
|
1590
1596
|
(0, _sceneCreator.visibleTransformBox)(false);
|
|
1591
1597
|
var alti = 0;
|
|
1592
1598
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1596,18 +1602,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1596
1602
|
alti = (0, _convertUnitsLite.convert)(alti).from(_unit2).to(_this2.props.state.scene.unit);
|
|
1597
1603
|
}
|
|
1598
1604
|
getPoint(event, alti);
|
|
1605
|
+
var _selectedItem = planData === null || planData === void 0 || (_planData$sceneGraph2 = planData.sceneGraph) === null || _planData$sceneGraph2 === void 0 || (_planData$sceneGraph2 = _planData$sceneGraph2.layers[(_selectedObject3 = selectedObject) === null || _selectedObject3 === void 0 ? void 0 : _selectedObject3.layerID]) === null || _planData$sceneGraph2 === void 0 ? void 0 : _planData$sceneGraph2.items[(_selectedObject4 = selectedObject) === null || _selectedObject4 === void 0 ? void 0 : _selectedObject4.itemID];
|
|
1606
|
+
if (isSelected && !(0, _helper.isEmpty)(_selectedItem)) addItemToolObj();
|
|
1599
1607
|
if (bRotate) {
|
|
1600
|
-
var _intersects$_i;
|
|
1601
|
-
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1602
|
-
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1603
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1604
|
-
var itemPos = selectedItem.position.clone();
|
|
1605
|
-
if (((_intersects$_i = intersects[_i10]) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.object) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.parent) === null || _intersects$_i === void 0 || (_intersects$_i = _intersects$_i.userData) === null || _intersects$_i === void 0 ? void 0 : _intersects$_i.itemId) === selectedItem.userData.itemId) {
|
|
1606
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1607
|
-
} else {
|
|
1608
|
-
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1609
|
-
}
|
|
1610
|
-
scene3D.add(toolObj);
|
|
1611
1608
|
_this2.setState({
|
|
1612
1609
|
toolObj: toolObj
|
|
1613
1610
|
});
|
|
@@ -1616,16 +1613,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1616
1613
|
}
|
|
1617
1614
|
if (bMove) {
|
|
1618
1615
|
bMove = false;
|
|
1619
|
-
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1620
|
-
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1621
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1622
|
-
var _itemPos = _selectedItem.position.clone();
|
|
1623
|
-
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
|
|
1624
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1625
|
-
} else {
|
|
1626
|
-
toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
|
|
1627
|
-
}
|
|
1628
|
-
scene3D.add(toolObj);
|
|
1629
1616
|
_this2.setState({
|
|
1630
1617
|
toolObj: toolObj
|
|
1631
1618
|
});
|
|
@@ -1653,7 +1640,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1653
1640
|
removeSnapBox();
|
|
1654
1641
|
actions.sceneActions.updateMovingState(true);
|
|
1655
1642
|
if (isSelected === true) {
|
|
1656
|
-
prepareSnap(layer);
|
|
1643
|
+
prepareSnap(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1657
1644
|
selectedObj = allItemRect.cur;
|
|
1658
1645
|
}
|
|
1659
1646
|
}
|
|
@@ -2052,8 +2039,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2052
2039
|
// handle snapBox, distArray, backsplash
|
|
2053
2040
|
this.handleAfterMovingItem = function () {
|
|
2054
2041
|
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
2042
|
+
var item = layer.getIn(['items', selectedObject.itemID]);
|
|
2055
2043
|
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2056
|
-
(0, _sceneCreator.getDistances)(layer);
|
|
2044
|
+
(0, _sceneCreator.getDistances)(layer, item);
|
|
2057
2045
|
var pointArray = [],
|
|
2058
2046
|
cnt = 0;
|
|
2059
2047
|
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
@@ -2092,7 +2080,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2092
2080
|
if (minDis < snapDelta && !snapFlag) {
|
|
2093
2081
|
_this2.snap(snapObj, layer);
|
|
2094
2082
|
snapFlag = true;
|
|
2095
|
-
(0, _sceneCreator.getDistances)(layer,
|
|
2083
|
+
(0, _sceneCreator.getDistances)(layer, item);
|
|
2096
2084
|
var _i13 = 0;
|
|
2097
2085
|
for (_i13 = 0; _i13 < _sceneCreator.fVLine.length; _i13++) {
|
|
2098
2086
|
if (_sceneCreator.fVLine[_i13].userData.distance < snapDelta) {
|
|
@@ -2451,18 +2439,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2451
2439
|
this.renderer.renderLists.dispose();
|
|
2452
2440
|
}
|
|
2453
2441
|
}, {
|
|
2454
|
-
key: "
|
|
2455
|
-
value: function
|
|
2442
|
+
key: "componentWillReceiveProps",
|
|
2443
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
2456
2444
|
var _this4 = this;
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
var
|
|
2462
|
-
width = _this$props.width,
|
|
2463
|
-
height = _this$props.height;
|
|
2464
|
-
var selectedLayer = this.props.state.getIn(['scene', 'layers', this.props.state.scene.selectedLayer]);
|
|
2465
|
-
var ceilHeight = (0, _convertUnitsLite.convert)(selectedLayer.ceilHeight).from(selectedLayer.unit).to(this.props.state.scene.unit);
|
|
2445
|
+
if (this.props.downloadFlag && (0, _immutablediff["default"])(this.props.state, nextProps.state).toJS().length == 0 || (0, _helper.isEmpty)(nextProps.state.scene)) return;
|
|
2446
|
+
var width = nextProps.width,
|
|
2447
|
+
height = nextProps.height;
|
|
2448
|
+
var selectedLayer = nextProps.state.getIn(['scene', 'layers', nextProps.state.scene.selectedLayer]);
|
|
2449
|
+
var ceilHeight = (0, _convertUnitsLite.convert)(selectedLayer.ceilHeight).from(selectedLayer.unit).to(nextProps.state.scene.unit);
|
|
2466
2450
|
var actions = {
|
|
2467
2451
|
areaActions: this.context.areaActions,
|
|
2468
2452
|
holesActions: this.context.holesActions,
|
|
@@ -2472,7 +2456,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2472
2456
|
projectActions: this.context.projectActions,
|
|
2473
2457
|
catalog: this.context.catalog
|
|
2474
2458
|
};
|
|
2475
|
-
var isLoadingCabinet =
|
|
2459
|
+
var isLoadingCabinet = nextProps.state.scene.isLoadingCabinet;
|
|
2476
2460
|
if (this.state.isLoadingCabinet !== isLoadingCabinet) this.setState({
|
|
2477
2461
|
isLoadingCabinet: isLoadingCabinet
|
|
2478
2462
|
});
|
|
@@ -2483,7 +2467,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2483
2467
|
var allItemRect;
|
|
2484
2468
|
|
|
2485
2469
|
// handle camera setting
|
|
2486
|
-
switch (
|
|
2470
|
+
switch (this.props.state.mode) {
|
|
2487
2471
|
case _constants.MODE_ELEVATION_VIEW:
|
|
2488
2472
|
// when Elevation mode (camera: Orthographic)
|
|
2489
2473
|
var cameraRect = (0, _helper.handleCamRect)(width, height, ceilHeight, this.state.lineLength);
|
|
@@ -2501,12 +2485,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2501
2485
|
break;
|
|
2502
2486
|
}
|
|
2503
2487
|
this.camera.updateProjectionMatrix();
|
|
2504
|
-
var data =
|
|
2488
|
+
var data = nextProps.state.scene;
|
|
2505
2489
|
var layer = data.getIn(['layers', data.selectedLayer]);
|
|
2506
2490
|
var self = this;
|
|
2507
2491
|
function implementBacksplash() {
|
|
2508
|
-
if ((0, _helper.isElevationView)(self.props.state.mode)) return;
|
|
2509
|
-
var allItems = _export.GeometryUtils.getAllItemSpecified(
|
|
2492
|
+
if ((0, _helper.isElevationView)(self.props.state.mode)) return; // apply backsplash when just 3D_mode, not elevation_mode
|
|
2493
|
+
var allItems = _export.GeometryUtils.getAllItemSpecified(nextProps.state.scene, actions.catalog, _constants.BASE_CABINET_LAYOUTPOS);
|
|
2510
2494
|
var i,
|
|
2511
2495
|
items = [];
|
|
2512
2496
|
for (i = 0; i < allItems.others.length; i++) items.push(allItems.others[i]);
|
|
@@ -2515,7 +2499,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2515
2499
|
var calcRect = _export.GeometryUtils.getCalcRectFromItem3D(items[i]);
|
|
2516
2500
|
var visible = _export.GeometryUtils.isSnappedLine(calcRect, allLineRects);
|
|
2517
2501
|
actions.itemsActions.setBacksplashVisible(items[i].itemInfo.id, visible);
|
|
2518
|
-
(0, _sceneCreator.createBacksplash)(items[i],
|
|
2502
|
+
(0, _sceneCreator.createBacksplash)(items[i], nextProps.state.scene.getIn(['layers', nextProps.state.scene.selectedLayer]), planData, nextProps.state.scene);
|
|
2519
2503
|
}
|
|
2520
2504
|
}
|
|
2521
2505
|
function implementWarningBox() {
|
|
@@ -2543,13 +2527,16 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2543
2527
|
showflag: false
|
|
2544
2528
|
});
|
|
2545
2529
|
}
|
|
2546
|
-
if (
|
|
2547
|
-
var changedValues = (0, _immutablediff["default"])(
|
|
2530
|
+
if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
|
|
2531
|
+
var changedValues = (0, _immutablediff["default"])(this.props.state.scene, nextProps.state.scene);
|
|
2548
2532
|
prepareSnapSpec(layer);
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2533
|
+
var isInteractiveMove = nextProps.state.mode === _constants.MODE_DRAGGING_ITEM_3D || nextProps.state.mode === _constants.MODE_ROTATING_ITEM_3D || nextProps.state.mode === _constants.MODE_DRAWING_ITEM_3D || nextProps.state.mode === _constants.MODE_DRAGGING_HOLE_3D || nextProps.state.mode === _constants.MODE_IDLE_3D;
|
|
2534
|
+
if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
|
|
2535
|
+
if (!isInteractiveMove) {
|
|
2536
|
+
self.setState({
|
|
2537
|
+
isLoading: true
|
|
2538
|
+
});
|
|
2539
|
+
}
|
|
2553
2540
|
if (self.props.downloadFlag) {
|
|
2554
2541
|
self.setState({
|
|
2555
2542
|
waitForRender: 0
|
|
@@ -2565,7 +2552,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2565
2552
|
}
|
|
2566
2553
|
self.renderer.domElement.style.display = 'none';
|
|
2567
2554
|
}
|
|
2568
|
-
if (
|
|
2555
|
+
if (nextProps.state.scene.showfg == true) {
|
|
2569
2556
|
implementBacksplash();
|
|
2570
2557
|
implementWarningBox();
|
|
2571
2558
|
} else {
|
|
@@ -2574,7 +2561,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2574
2561
|
var _this$state = this.state,
|
|
2575
2562
|
toolObj = _this$state.toolObj,
|
|
2576
2563
|
angleObj = _this$state.angleObj;
|
|
2577
|
-
var _updateScene = (0, _sceneCreator.updateScene)(this.planData,
|
|
2564
|
+
var _updateScene = (0, _sceneCreator.updateScene)(this.planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
|
|
2578
2565
|
promise = _updateScene.promise;
|
|
2579
2566
|
self.setState();
|
|
2580
2567
|
promise.then(function (p1Value) {
|
|
@@ -2586,8 +2573,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2586
2573
|
});
|
|
2587
2574
|
self.renderer.domElement.style.display = 'block';
|
|
2588
2575
|
});
|
|
2589
|
-
if (
|
|
2590
|
-
|
|
2576
|
+
if (nextProps.state.getIn(['scene', 'isEndDragging'])) {
|
|
2577
|
+
nextProps.state.setIn(['scene', 'isEndDragging'], false);
|
|
2591
2578
|
}
|
|
2592
2579
|
}
|
|
2593
2580
|
this.renderer.setSize(width, height);
|
|
@@ -2675,4 +2662,13 @@ Scene3DViewer.propTypes = {
|
|
|
2675
2662
|
height: _propTypes["default"].number.isRequired,
|
|
2676
2663
|
replaceCabinet: _propTypes["default"].func.isRequired
|
|
2677
2664
|
};
|
|
2665
|
+
Scene3DViewer.contextTypes = {
|
|
2666
|
+
areaActions: _propTypes["default"].object.isRequired,
|
|
2667
|
+
holesActions: _propTypes["default"].object.isRequired,
|
|
2668
|
+
itemsActions: _propTypes["default"].object.isRequired,
|
|
2669
|
+
linesActions: _propTypes["default"].object.isRequired,
|
|
2670
|
+
sceneActions: _propTypes["default"].object.isRequired,
|
|
2671
|
+
projectActions: _propTypes["default"].object.isRequired,
|
|
2672
|
+
catalog: _propTypes["default"].object
|
|
2673
|
+
};
|
|
2678
2674
|
module.exports = exports.default;
|