kitchen-simulator 4.1.7-react-18 → 4.2.2
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 +171 -111
- package/es/LiteRenderer.js +161 -129
- package/es/actions/export.js +25 -12
- package/es/actions/project-actions.js +2 -1
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/catalog.js +21 -5
- package/es/catalog/factories/area-factory-3d.js +17 -17
- 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 +224 -220
- package/es/class/hole.js +0 -2
- package/es/class/item.js +92 -70
- package/es/class/layer.js +1 -1
- package/es/class/line.js +4 -8
- package/es/class/project.js +96 -81
- package/es/components/content.js +10 -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 -29
- 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 -54
- 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 +81 -118
- package/es/components/viewer3d/front3D.js +13 -1
- package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/es/components/viewer3d/scene-creator.js +270 -69
- package/es/components/viewer3d/viewer3d-first-person.js +26 -32
- package/es/components/viewer3d/viewer3d.js +110 -130
- package/es/constants.js +7 -2
- package/es/devLiteRenderer.js +491 -150
- package/es/index.js +589 -62
- 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 +4 -1
- 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 +829 -609
- package/es/utils/molding.js +489 -11
- package/es/utils/ruler.js +58 -0
- package/lib/AppContext.js +1 -1
- package/lib/LiteKitchenConfigurator.js +170 -111
- package/lib/LiteRenderer.js +160 -129
- package/lib/actions/export.js +35 -39
- package/lib/actions/project-actions.js +2 -1
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/catalog.js +20 -4
- package/lib/catalog/factories/area-factory-3d.js +14 -14
- 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 +221 -217
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +90 -68
- package/lib/class/layer.js +1 -1
- package/lib/class/line.js +3 -7
- package/lib/class/project.js +96 -81
- package/lib/components/content.js +10 -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 -29
- 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 -54
- 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 +79 -115
- package/lib/components/viewer3d/front3D.js +13 -1
- package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
- package/lib/components/viewer3d/scene-creator.js +267 -66
- package/lib/components/viewer3d/viewer3d-first-person.js +26 -32
- package/lib/components/viewer3d/viewer3d.js +107 -126
- package/lib/constants.js +12 -7
- package/lib/devLiteRenderer.js +489 -148
- package/lib/index.js +591 -62
- 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 +4 -1
- 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 +829 -608
- package/lib/utils/molding.js +490 -9
- package/lib/utils/ruler.js +63 -0
- package/package.json +21 -20
- 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
|
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
15
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _react = _interopRequireDefault(require("react"));
|
|
17
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
18
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
@@ -31,7 +31,6 @@ var _RGBELoader = require("three/examples/jsm/loaders/RGBELoader");
|
|
|
31
31
|
var _cameraControls = _interopRequireDefault(require("camera-controls"));
|
|
32
32
|
var _objectsUtils = require("../../utils/objects-utils");
|
|
33
33
|
var _utils = require("../viewer2d/utils");
|
|
34
|
-
var _AppContext = _interopRequireDefault(require("../../AppContext"));
|
|
35
34
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
36
35
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
36
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -58,7 +57,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
58
57
|
_this.width = props.width;
|
|
59
58
|
_this.height = props.height;
|
|
60
59
|
_this.renderingID = 0;
|
|
61
|
-
_this.canvasWrapperRef = /*#__PURE__*/_react["default"].createRef();
|
|
62
60
|
var mode = props.state.mode;
|
|
63
61
|
if (!window.__elevationRendererDownload) {
|
|
64
62
|
window.__elevationRendererDownload = {};
|
|
@@ -240,6 +238,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
240
238
|
});
|
|
241
239
|
self.renderer.domElement.style.display = 'block';
|
|
242
240
|
}, 1500);
|
|
241
|
+
self.planData = planData;
|
|
243
242
|
});
|
|
244
243
|
var area = scene.getIn(['layers', scene.selectedLayer, 'areas']);
|
|
245
244
|
var layer = scene.getIn(['layers', scene.selectedLayer]);
|
|
@@ -678,7 +677,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
678
677
|
layer.lines.forEach(function (line) {
|
|
679
678
|
line.holes.forEach(function (holeID) {
|
|
680
679
|
var hole = layer.holes.get(holeID);
|
|
681
|
-
holes.push(hole);
|
|
680
|
+
if (hole) holes.push(hole);
|
|
682
681
|
});
|
|
683
682
|
});
|
|
684
683
|
var i = 0;
|
|
@@ -824,17 +823,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
824
823
|
this.snap = function (obj, layer) {
|
|
825
824
|
// snap operation
|
|
826
825
|
var target = obj.userData.target;
|
|
826
|
+
if ((0, _helper.isEmpty)(target)) return;
|
|
827
827
|
for (; target.parent != null;) {
|
|
828
828
|
if (target.name == 'pivot') break;
|
|
829
829
|
target = target.parent;
|
|
830
830
|
}
|
|
831
831
|
var source = obj.parent.parent.parent;
|
|
832
832
|
if (target.userData.type == 'item') {
|
|
833
|
+
var _item$properties$getI;
|
|
833
834
|
var sRot = layer.getIn(['items', source.userData.itemId]).rotation;
|
|
834
835
|
var tRot = layer.getIn(['items', target.userData.itemId]) ? layer.getIn(['items', target.userData.itemId]).rotation : 0;
|
|
835
836
|
var item = layer.getIn(['items', source.userData.itemId]);
|
|
836
837
|
var layoutType = item.layoutpos;
|
|
837
|
-
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');
|
|
838
839
|
var sBounding = source.children[0].userData;
|
|
839
840
|
var tBounding = target.children[0].userData;
|
|
840
841
|
var tPos = target.position.clone();
|
|
@@ -934,8 +935,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
934
935
|
snapFlag = false;
|
|
935
936
|
return;
|
|
936
937
|
} else {
|
|
938
|
+
var _item3$properties$get;
|
|
937
939
|
var _layoutType = _item3.layoutpos;
|
|
938
|
-
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');
|
|
939
941
|
var _sBounding = source.children[0].userData;
|
|
940
942
|
var _width = _sBounding.max.x - _sBounding.min.x;
|
|
941
943
|
var _height = _sBounding.max.y - _sBounding.min.y;
|
|
@@ -1195,25 +1197,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1195
1197
|
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1196
1198
|
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1197
1199
|
if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
|
|
1198
|
-
var
|
|
1199
|
-
var
|
|
1200
|
-
|
|
1201
|
-
// caculating length of selected line//
|
|
1202
|
-
var v_a = layer.vertices.get(currentObject.vertices.get(0));
|
|
1203
|
-
var v_b = layer.vertices.get(currentObject.vertices.get(1));
|
|
1204
|
-
var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
1205
|
-
var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
|
|
1206
|
-
payload.length = _length;
|
|
1207
|
-
//////////////////////////////////////
|
|
1208
|
-
} else if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'items') {
|
|
1209
|
-
// check this cabinet has warning box
|
|
1210
|
-
payload.isWarning = (0, _utils.isWarningItem)(evtElement);
|
|
1211
|
-
// check this item is available molding
|
|
1212
|
-
payload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, evtElement); // check this item is snapped to wall
|
|
1213
|
-
payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, evtElement);
|
|
1214
|
-
// update distArray
|
|
1215
|
-
if (pointArray) payload.distArray = pointArray;
|
|
1216
|
-
}
|
|
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);
|
|
1217
1203
|
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1218
1204
|
type: evtType,
|
|
1219
1205
|
value: payload
|
|
@@ -1295,6 +1281,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1295
1281
|
}
|
|
1296
1282
|
if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) return;
|
|
1297
1283
|
if (isSelected) {
|
|
1284
|
+
!_this2.props.downloadFlag && _this2.props.setToolbar('');
|
|
1298
1285
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1299
1286
|
var _i1;
|
|
1300
1287
|
for (_i1 = 0; _i1 < intersects.length; _i1++) {
|
|
@@ -1303,7 +1290,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1303
1290
|
if (intersects[_i1] === undefined) {
|
|
1304
1291
|
if (transflag !== 0 && transflag !== 2) {
|
|
1305
1292
|
isSelected = false;
|
|
1306
|
-
|
|
1293
|
+
_this2.context.projectActions.unselectAll();
|
|
1307
1294
|
scene3D.remove(toolObj);
|
|
1308
1295
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1309
1296
|
return;
|
|
@@ -1370,16 +1357,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1370
1357
|
if (selectedFlag || toolIntersects.length > 0 && !(0, _helper.isElevationView)(mode)) {
|
|
1371
1358
|
cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
|
|
1372
1359
|
selectedFlag = false;
|
|
1373
|
-
} else {
|
|
1374
|
-
isSelected = false;
|
|
1375
|
-
// this.context.projectActions.unselectAll();
|
|
1376
|
-
scene3D.remove(toolObj);
|
|
1377
|
-
_this2.context.itemsActions.removeReplacingSupport();
|
|
1378
1360
|
}
|
|
1379
1361
|
}
|
|
1380
1362
|
} else {
|
|
1381
1363
|
isSelected = false;
|
|
1382
|
-
|
|
1364
|
+
_this2.context.projectActions.unselectAll();
|
|
1383
1365
|
scene3D.remove(toolObj);
|
|
1384
1366
|
_this2.context.itemsActions.removeReplacingSupport();
|
|
1385
1367
|
return;
|
|
@@ -1387,10 +1369,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1387
1369
|
}
|
|
1388
1370
|
};
|
|
1389
1371
|
this.mouseUpEvent = function (event) {
|
|
1372
|
+
var _selectedObject;
|
|
1390
1373
|
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1391
1374
|
var selectedElement; // internalEvent data
|
|
1392
1375
|
firstMove = 0;
|
|
1393
1376
|
var altitude = 0;
|
|
1377
|
+
var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject = selectedObject) === null || _selectedObject === void 0 ? void 0 : _selectedObject.layerID]);
|
|
1394
1378
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1395
1379
|
var properties = allItemRect.cur.itemInfo.properties;
|
|
1396
1380
|
altitude = properties.getIn(['altitude', '_length']);
|
|
@@ -1399,6 +1383,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1399
1383
|
}
|
|
1400
1384
|
scene3D.remove(angleObj);
|
|
1401
1385
|
scene3D.remove(toolObj);
|
|
1386
|
+
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
1387
|
+
_this2.props.setToolbar('');
|
|
1388
|
+
}
|
|
1402
1389
|
if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) {
|
|
1403
1390
|
if (Point.x > _this2.props.state.scene.width) Point.x = _this2.props.state.width;
|
|
1404
1391
|
if (Point.y > _this2.props.state.scene.height) Point.y = _this2.props.state.height;
|
|
@@ -1408,7 +1395,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1408
1395
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
1409
1396
|
} else {
|
|
1410
1397
|
removeSnapBox();
|
|
1411
|
-
var polygon = _export.GeometryUtils.getPoylgonPoints(layer);
|
|
1398
|
+
var polygon = _export.GeometryUtils.getPoylgonPoints(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1412
1399
|
// if cursor is outside of room
|
|
1413
1400
|
if (polygon.length > 0 && !_export.GeometryUtils.ContainsPoint(polygon, Point.x, Point.y)) {
|
|
1414
1401
|
actions.itemsActions.endDrawingItem(_this2.props.state.scene.selectedLayer, sPoint.x, sPoint.y);
|
|
@@ -1469,7 +1456,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1469
1456
|
});
|
|
1470
1457
|
});
|
|
1471
1458
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1472
|
-
var _i10;
|
|
1459
|
+
var _i10; // index of warning object in intersects
|
|
1460
|
+
|
|
1473
1461
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1474
1462
|
for (_i10 = 0; _i10 < intersects.length; _i10++) {
|
|
1475
1463
|
if (intersects[_i10].object.name === 'warningObj') break;
|
|
@@ -1485,6 +1473,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1485
1473
|
var replaceInfo = intersects[_i10].object.parent.parent.userData;
|
|
1486
1474
|
_this2.context.itemsActions.selectItem(replaceInfo.layerId, replaceInfo.itemId);
|
|
1487
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);
|
|
1488
1479
|
return;
|
|
1489
1480
|
}
|
|
1490
1481
|
}
|
|
@@ -1497,6 +1488,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1497
1488
|
}
|
|
1498
1489
|
}
|
|
1499
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
|
+
};
|
|
1500
1504
|
if (Math.abs(mouse.x - _this2.lastMousePosition.x) <= 0.02 && Math.abs(mouse.y - _this2.lastMousePosition.y) <= 0.02 || bMove) {
|
|
1501
1505
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
1502
1506
|
if (intersects[_i10] === undefined) {
|
|
@@ -1519,38 +1523,20 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1519
1523
|
}
|
|
1520
1524
|
isSelected = true;
|
|
1521
1525
|
setTimeout(function () {
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1526
|
-
var itemPos = selectedItem.position.clone();
|
|
1527
|
-
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1528
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1529
|
-
} else {
|
|
1530
|
-
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);
|
|
1531
|
-
}
|
|
1532
|
-
scene3D.add(toolObj);
|
|
1526
|
+
var _curLayer$id;
|
|
1527
|
+
addItemToolObj();
|
|
1528
|
+
(0, _sceneCreator.getDistances)(curLayer !== null && curLayer !== void 0 ? curLayer : layer, selectedElement);
|
|
1533
1529
|
_this2.setState({
|
|
1534
1530
|
toolObj: toolObj
|
|
1535
1531
|
});
|
|
1536
1532
|
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1537
|
-
var pointArray = []
|
|
1538
|
-
|
|
1539
|
-
pointArray.push([
|
|
1540
|
-
pointArray.push([
|
|
1541
|
-
pointArray.push([
|
|
1542
|
-
pointArray.
|
|
1543
|
-
|
|
1544
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1545
|
-
});
|
|
1546
|
-
pointArray.forEach(function (pointElement) {
|
|
1547
|
-
if (pointElement[0] == 0) cnt++;
|
|
1548
|
-
});
|
|
1549
|
-
if (cnt == 4 || cnt == 3) {
|
|
1550
|
-
pointArray[0][0] = 100;
|
|
1551
|
-
pointArray[1][0] = 100;
|
|
1552
|
-
}
|
|
1553
|
-
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);
|
|
1554
1540
|
internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1555
1541
|
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
1556
1542
|
});
|
|
@@ -1582,25 +1568,31 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1582
1568
|
isSelected = false;
|
|
1583
1569
|
}
|
|
1584
1570
|
} else {
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
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
|
+
}
|
|
1594
1585
|
}
|
|
1595
1586
|
}
|
|
1596
1587
|
bMove = false;
|
|
1597
1588
|
bRotate = false;
|
|
1598
1589
|
bMoveUP = false;
|
|
1599
1590
|
if (isSelected) {
|
|
1600
|
-
prepareSnap(layer);
|
|
1591
|
+
prepareSnap(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1601
1592
|
selectedObj = allItemRect.cur;
|
|
1602
1593
|
}
|
|
1603
1594
|
} else {
|
|
1595
|
+
var _planData$sceneGraph2, _selectedObject3, _selectedObject4;
|
|
1604
1596
|
(0, _sceneCreator.visibleTransformBox)(false);
|
|
1605
1597
|
var alti = 0;
|
|
1606
1598
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1610,18 +1602,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1610
1602
|
alti = (0, _convertUnitsLite.convert)(alti).from(_unit2).to(_this2.props.state.scene.unit);
|
|
1611
1603
|
}
|
|
1612
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();
|
|
1613
1607
|
if (bRotate) {
|
|
1614
|
-
var _intersects$_i;
|
|
1615
|
-
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1616
|
-
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1617
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1618
|
-
var itemPos = selectedItem.position.clone();
|
|
1619
|
-
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) {
|
|
1620
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1621
|
-
} else {
|
|
1622
|
-
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);
|
|
1623
|
-
}
|
|
1624
|
-
scene3D.add(toolObj);
|
|
1625
1608
|
_this2.setState({
|
|
1626
1609
|
toolObj: toolObj
|
|
1627
1610
|
});
|
|
@@ -1630,16 +1613,6 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1630
1613
|
}
|
|
1631
1614
|
if (bMove) {
|
|
1632
1615
|
bMove = false;
|
|
1633
|
-
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1634
|
-
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1635
|
-
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1636
|
-
var _itemPos = _selectedItem.position.clone();
|
|
1637
|
-
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
|
|
1638
|
-
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1639
|
-
} else {
|
|
1640
|
-
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);
|
|
1641
|
-
}
|
|
1642
|
-
scene3D.add(toolObj);
|
|
1643
1616
|
_this2.setState({
|
|
1644
1617
|
toolObj: toolObj
|
|
1645
1618
|
});
|
|
@@ -1667,7 +1640,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1667
1640
|
removeSnapBox();
|
|
1668
1641
|
actions.sceneActions.updateMovingState(true);
|
|
1669
1642
|
if (isSelected === true) {
|
|
1670
|
-
prepareSnap(layer);
|
|
1643
|
+
prepareSnap(curLayer !== null && curLayer !== void 0 ? curLayer : layer);
|
|
1671
1644
|
selectedObj = allItemRect.cur;
|
|
1672
1645
|
}
|
|
1673
1646
|
}
|
|
@@ -2066,8 +2039,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2066
2039
|
// handle snapBox, distArray, backsplash
|
|
2067
2040
|
this.handleAfterMovingItem = function () {
|
|
2068
2041
|
var layer = _this2.props.state.scene.getIn(['layers', selectedObject.layerID]);
|
|
2042
|
+
var item = layer.getIn(['items', selectedObject.itemID]);
|
|
2069
2043
|
var item3D = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2070
|
-
(0, _sceneCreator.getDistances)(layer);
|
|
2044
|
+
(0, _sceneCreator.getDistances)(layer, item);
|
|
2071
2045
|
var pointArray = [],
|
|
2072
2046
|
cnt = 0;
|
|
2073
2047
|
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
@@ -2106,7 +2080,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2106
2080
|
if (minDis < snapDelta && !snapFlag) {
|
|
2107
2081
|
_this2.snap(snapObj, layer);
|
|
2108
2082
|
snapFlag = true;
|
|
2109
|
-
(0, _sceneCreator.getDistances)(layer);
|
|
2083
|
+
(0, _sceneCreator.getDistances)(layer, item);
|
|
2110
2084
|
var _i13 = 0;
|
|
2111
2085
|
for (_i13 = 0; _i13 < _sceneCreator.fVLine.length; _i13++) {
|
|
2112
2086
|
if (_sceneCreator.fVLine[_i13].userData.distance < snapDelta) {
|
|
@@ -2196,7 +2170,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2196
2170
|
}
|
|
2197
2171
|
|
|
2198
2172
|
// Add the output of the renderer to the html element
|
|
2199
|
-
var canvasWrapper = this.
|
|
2173
|
+
var canvasWrapper = _reactDom["default"].findDOMNode(this.refs.canvasWrapper);
|
|
2200
2174
|
canvasWrapper && canvasWrapper.appendChild(this.renderer.domElement);
|
|
2201
2175
|
|
|
2202
2176
|
//
|
|
@@ -2465,18 +2439,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2465
2439
|
this.renderer.renderLists.dispose();
|
|
2466
2440
|
}
|
|
2467
2441
|
}, {
|
|
2468
|
-
key: "
|
|
2469
|
-
value: function
|
|
2442
|
+
key: "componentWillReceiveProps",
|
|
2443
|
+
value: function componentWillReceiveProps(nextProps) {
|
|
2470
2444
|
var _this4 = this;
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
var
|
|
2476
|
-
width = _this$props.width,
|
|
2477
|
-
height = _this$props.height;
|
|
2478
|
-
var selectedLayer = this.props.state.getIn(['scene', 'layers', this.props.state.scene.selectedLayer]);
|
|
2479
|
-
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);
|
|
2480
2450
|
var actions = {
|
|
2481
2451
|
areaActions: this.context.areaActions,
|
|
2482
2452
|
holesActions: this.context.holesActions,
|
|
@@ -2486,7 +2456,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2486
2456
|
projectActions: this.context.projectActions,
|
|
2487
2457
|
catalog: this.context.catalog
|
|
2488
2458
|
};
|
|
2489
|
-
var isLoadingCabinet =
|
|
2459
|
+
var isLoadingCabinet = nextProps.state.scene.isLoadingCabinet;
|
|
2490
2460
|
if (this.state.isLoadingCabinet !== isLoadingCabinet) this.setState({
|
|
2491
2461
|
isLoadingCabinet: isLoadingCabinet
|
|
2492
2462
|
});
|
|
@@ -2497,7 +2467,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2497
2467
|
var allItemRect;
|
|
2498
2468
|
|
|
2499
2469
|
// handle camera setting
|
|
2500
|
-
switch (
|
|
2470
|
+
switch (this.props.state.mode) {
|
|
2501
2471
|
case _constants.MODE_ELEVATION_VIEW:
|
|
2502
2472
|
// when Elevation mode (camera: Orthographic)
|
|
2503
2473
|
var cameraRect = (0, _helper.handleCamRect)(width, height, ceilHeight, this.state.lineLength);
|
|
@@ -2515,12 +2485,12 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2515
2485
|
break;
|
|
2516
2486
|
}
|
|
2517
2487
|
this.camera.updateProjectionMatrix();
|
|
2518
|
-
var data =
|
|
2488
|
+
var data = nextProps.state.scene;
|
|
2519
2489
|
var layer = data.getIn(['layers', data.selectedLayer]);
|
|
2520
2490
|
var self = this;
|
|
2521
2491
|
function implementBacksplash() {
|
|
2522
|
-
if ((0, _helper.isElevationView)(self.props.state.mode)) return;
|
|
2523
|
-
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);
|
|
2524
2494
|
var i,
|
|
2525
2495
|
items = [];
|
|
2526
2496
|
for (i = 0; i < allItems.others.length; i++) items.push(allItems.others[i]);
|
|
@@ -2529,7 +2499,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2529
2499
|
var calcRect = _export.GeometryUtils.getCalcRectFromItem3D(items[i]);
|
|
2530
2500
|
var visible = _export.GeometryUtils.isSnappedLine(calcRect, allLineRects);
|
|
2531
2501
|
actions.itemsActions.setBacksplashVisible(items[i].itemInfo.id, visible);
|
|
2532
|
-
(0, _sceneCreator.createBacksplash)(items[i],
|
|
2502
|
+
(0, _sceneCreator.createBacksplash)(items[i], nextProps.state.scene.getIn(['layers', nextProps.state.scene.selectedLayer]), planData, nextProps.state.scene);
|
|
2533
2503
|
}
|
|
2534
2504
|
}
|
|
2535
2505
|
function implementWarningBox() {
|
|
@@ -2557,13 +2527,16 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2557
2527
|
showflag: false
|
|
2558
2528
|
});
|
|
2559
2529
|
}
|
|
2560
|
-
if (
|
|
2561
|
-
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);
|
|
2562
2532
|
prepareSnapSpec(layer);
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
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
|
+
}
|
|
2567
2540
|
if (self.props.downloadFlag) {
|
|
2568
2541
|
self.setState({
|
|
2569
2542
|
waitForRender: 0
|
|
@@ -2579,7 +2552,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2579
2552
|
}
|
|
2580
2553
|
self.renderer.domElement.style.display = 'none';
|
|
2581
2554
|
}
|
|
2582
|
-
if (
|
|
2555
|
+
if (nextProps.state.scene.showfg == true) {
|
|
2583
2556
|
implementBacksplash();
|
|
2584
2557
|
implementWarningBox();
|
|
2585
2558
|
} else {
|
|
@@ -2588,7 +2561,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2588
2561
|
var _this$state = this.state,
|
|
2589
2562
|
toolObj = _this$state.toolObj,
|
|
2590
2563
|
angleObj = _this$state.angleObj;
|
|
2591
|
-
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),
|
|
2592
2565
|
promise = _updateScene.promise;
|
|
2593
2566
|
self.setState();
|
|
2594
2567
|
promise.then(function (p1Value) {
|
|
@@ -2600,8 +2573,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2600
2573
|
});
|
|
2601
2574
|
self.renderer.domElement.style.display = 'block';
|
|
2602
2575
|
});
|
|
2603
|
-
if (
|
|
2604
|
-
|
|
2576
|
+
if (nextProps.state.getIn(['scene', 'isEndDragging'])) {
|
|
2577
|
+
nextProps.state.setIn(['scene', 'isEndDragging'], false);
|
|
2605
2578
|
}
|
|
2606
2579
|
}
|
|
2607
2580
|
this.renderer.setSize(width, height);
|
|
@@ -2677,17 +2650,25 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2677
2650
|
this.renderer.domElement.style.opacity = '1';
|
|
2678
2651
|
!this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
|
|
2679
2652
|
return /*#__PURE__*/_react["default"].createElement('div', {
|
|
2680
|
-
ref:
|
|
2653
|
+
ref: 'canvasWrapper'
|
|
2681
2654
|
});
|
|
2682
2655
|
}
|
|
2683
2656
|
}
|
|
2684
2657
|
}]);
|
|
2685
2658
|
}(_react["default"].Component);
|
|
2686
|
-
(0, _defineProperty2["default"])(Scene3DViewer, "contextType", _AppContext["default"]);
|
|
2687
2659
|
Scene3DViewer.propTypes = {
|
|
2688
2660
|
state: _propTypes["default"].object.isRequired,
|
|
2689
2661
|
width: _propTypes["default"].number.isRequired,
|
|
2690
2662
|
height: _propTypes["default"].number.isRequired,
|
|
2691
2663
|
replaceCabinet: _propTypes["default"].func.isRequired
|
|
2692
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
|
+
};
|
|
2693
2674
|
module.exports = exports.default;
|