kitchen-simulator 11.28.2 → 11.29.0
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/actions/items-actions.js +1 -12
- package/es/assets/img/svg/3d_item_move.svg +105 -9
- package/es/assets/img/svg/3d_item_rotation.svg +75 -3
- package/es/assets/img/svg/accessories.svg +4 -4
- package/es/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/es/assets/img/svg/bottombar/elevation.svg +13 -13
- package/es/assets/img/svg/delete.svg +2 -6
- package/es/assets/img/svg/detail.svg +77 -77
- package/es/assets/img/svg/duplicate.svg +6 -6
- package/es/assets/img/svg/filtersActive.svg +19 -19
- package/es/assets/img/svg/invert.svg +127 -12
- package/es/assets/img/svg/menubar/login.svg +84 -84
- package/es/assets/img/svg/menubar/my_projects.svg +85 -85
- package/es/assets/img/svg/menubar/new_project.svg +110 -110
- package/es/assets/img/svg/menubar/save_project.svg +84 -84
- package/es/assets/img/svg/options.svg +3 -3
- package/es/assets/img/svg/positioning.svg +3 -3
- package/es/assets/img/svg/toggleFilters.svg +19 -19
- package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/es/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/es/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/es/catalog/utils/exporter.js +0 -4
- package/es/catalog/utils/item-loader.js +8 -18
- package/es/class/item.js +12 -39
- package/es/components/viewer2d/item.js +125 -139
- package/es/components/viewer2d/viewer2d.js +2 -5
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/es/components/viewer3d/scene-creator.js +0 -18
- package/es/components/viewer3d/viewer3d.js +49 -137
- package/es/constants.js +0 -4
- package/es/events/external/handleExternalEvent.js +33 -36
- package/es/events/external/handlers.elementOps.js +0 -8
- package/es/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/es/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/es/mappings/external-events/mappers/ccdfMapper.js +1 -1
- package/es/models.js +0 -4
- package/es/reducers/items-reducer.js +1 -8
- package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/es/utils/skinPanelEngine.js +14 -14
- package/lib/actions/items-actions.js +0 -12
- package/lib/assets/img/svg/3d_item_move.svg +105 -9
- package/lib/assets/img/svg/3d_item_rotation.svg +75 -3
- package/lib/assets/img/svg/accessories.svg +4 -4
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/lib/assets/img/svg/bottombar/elevation.svg +13 -13
- package/lib/assets/img/svg/delete.svg +2 -6
- package/lib/assets/img/svg/detail.svg +77 -77
- package/lib/assets/img/svg/duplicate.svg +6 -6
- package/lib/assets/img/svg/filtersActive.svg +19 -19
- package/lib/assets/img/svg/invert.svg +127 -12
- package/lib/assets/img/svg/menubar/login.svg +84 -84
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -85
- package/lib/assets/img/svg/menubar/new_project.svg +110 -110
- package/lib/assets/img/svg/menubar/save_project.svg +84 -84
- package/lib/assets/img/svg/options.svg +3 -3
- package/lib/assets/img/svg/positioning.svg +3 -3
- package/lib/assets/img/svg/toggleFilters.svg +19 -19
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/lib/catalog/utils/exporter.js +0 -4
- package/lib/catalog/utils/item-loader.js +8 -18
- package/lib/class/item.js +11 -38
- package/lib/components/viewer2d/item.js +124 -138
- package/lib/components/viewer2d/viewer2d.js +2 -5
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/lib/components/viewer3d/scene-creator.js +0 -18
- package/lib/components/viewer3d/viewer3d.js +49 -137
- package/lib/constants.js +4 -8
- package/lib/events/external/handleExternalEvent.js +31 -34
- package/lib/events/external/handlers.elementOps.js +0 -9
- package/lib/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/lib/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/lib/mappings/external-events/mappers/ccdfMapper.js +1 -1
- package/lib/models.js +0 -4
- package/lib/reducers/items-reducer.js +0 -7
- package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/lib/utils/skinPanelEngine.js +14 -14
- package/package.json +1 -1
- package/es/shared/domain/cabinet-mirror.js +0 -7
- package/lib/shared/domain/cabinet-mirror.js +0 -13
|
@@ -493,8 +493,6 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
|
|
|
493
493
|
getDistances(layer, item);
|
|
494
494
|
}, 50);
|
|
495
495
|
removeSelItemMesh(tmpMoldings, item, planData, mode);
|
|
496
|
-
} else if (modifiedPath[keyIndex] == 'mirrored') {
|
|
497
|
-
applyMirrorToItem3D(item3D, item.mirrored);
|
|
498
496
|
} else if (modifiedPath[keyIndex] == 'selected') {
|
|
499
497
|
var itemType = !!catalog.elements[item.type] ? catalog.elements[item.type].type : catalog.elements[returnReplaceableDeepSearchType(item.type)].type;
|
|
500
498
|
if (value == false) {
|
|
@@ -2215,22 +2213,6 @@ function updateItem(sceneData, oldSceneData, planData, layer, itemID, difference
|
|
|
2215
2213
|
if (!mesh) return null;
|
|
2216
2214
|
return catalog.getElement(item.type).updateRender3D(item, layer, sceneData, mesh, oldItem, differences, selfDestroy, selfBuild);
|
|
2217
2215
|
}
|
|
2218
|
-
function applyMirrorToItem3D(item3D, mirrored) {
|
|
2219
|
-
var _item3D$children, _object$children;
|
|
2220
|
-
var object = item3D === null || item3D === void 0 || (_item3D$children = item3D.children) === null || _item3D$children === void 0 ? void 0 : _item3D$children[0];
|
|
2221
|
-
if (!object || !object.scale) return;
|
|
2222
|
-
var shouldMirror = mirrored === true;
|
|
2223
|
-
var isCurrentlyMirrored = object.scale.x < 0;
|
|
2224
|
-
if (shouldMirror !== isCurrentlyMirrored) object.scale.x *= -1;
|
|
2225
|
-
var transformGizmo = (_object$children = object.children) === null || _object$children === void 0 ? void 0 : _object$children.find(function (child) {
|
|
2226
|
-
return child.name === 'TransformGizmo';
|
|
2227
|
-
});
|
|
2228
|
-
if (transformGizmo !== null && transformGizmo !== void 0 && transformGizmo.scale) {
|
|
2229
|
-
var sign = object.scale.x < 0 ? -1 : 1;
|
|
2230
|
-
transformGizmo.scale.x = sign * Math.abs(transformGizmo.scale.x);
|
|
2231
|
-
}
|
|
2232
|
-
object.userData.mirrored = shouldMirror;
|
|
2233
|
-
}
|
|
2234
2216
|
|
|
2235
2217
|
// Apply interact function to children of an Object3D
|
|
2236
2218
|
function applyInteract(object, interactFunction) {
|
|
@@ -29,8 +29,6 @@ import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
|
|
|
29
29
|
import CameraControls from 'camera-controls';
|
|
30
30
|
import { getAllMeshes, vectorIntersectWithMesh } from "../../utils/objects-utils";
|
|
31
31
|
import { returnReplaceableDeepSearchType } from "../viewer2d/utils";
|
|
32
|
-
import { canMirrorCabinet } from "../../shared/domain/cabinet-mirror";
|
|
33
|
-
var ICON_SPACING = 0;
|
|
34
32
|
CameraControls.install({
|
|
35
33
|
THREE: Three
|
|
36
34
|
});
|
|
@@ -345,7 +343,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
345
343
|
var bRotate = false;
|
|
346
344
|
var bMove = false;
|
|
347
345
|
var bMoveUP = false;
|
|
348
|
-
var bMirror = false;
|
|
349
346
|
/** Transformation matrix of grid */
|
|
350
347
|
var gridMatrix = new Three.Matrix4();
|
|
351
348
|
var rayDirection = new Three.Vector3();
|
|
@@ -1047,73 +1044,35 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1047
1044
|
var firstMove = false;
|
|
1048
1045
|
var prevX, prevY;
|
|
1049
1046
|
var selObj = null;
|
|
1050
|
-
var TOOL_CANVAS_WIDTH = 100;
|
|
1051
|
-
var TOOL_CANVAS_TWO_BUTTON_HEIGHT = 200;
|
|
1052
|
-
var TOOL_CANVAS_THREE_BUTTON_HEIGHT = 300;
|
|
1053
|
-
var TOOL_BUTTON_RADIUS = 40;
|
|
1054
|
-
var TOOL_BUTTONS_SPACING = 20;
|
|
1055
|
-
var TOOL_HIT_RADIUS = 20;
|
|
1056
|
-
var getItemMirrored = function getItemMirrored(item) {
|
|
1057
|
-
return (item === null || item === void 0 ? void 0 : item.mirrored) === true;
|
|
1058
|
-
};
|
|
1059
|
-
var canMirrorItem = function canMirrorItem(item) {
|
|
1060
|
-
return canMirrorCabinet(item);
|
|
1061
|
-
};
|
|
1062
|
-
var toolTexture = null;
|
|
1063
1047
|
var createToolObject = function createToolObject() {
|
|
1064
|
-
var mirrorActive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
1065
|
-
var canMirror = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1066
|
-
var buttons = [{
|
|
1067
|
-
src: '/assets/img/svg/3d_item_rotation.svg',
|
|
1068
|
-
y: 50
|
|
1069
|
-
}, {
|
|
1070
|
-
src: '/assets/img/svg/3d_item_move.svg',
|
|
1071
|
-
y: 150
|
|
1072
|
-
}, canMirror && {
|
|
1073
|
-
src: '/assets/img/svg/invert.svg',
|
|
1074
|
-
y: 250,
|
|
1075
|
-
flip: !mirrorActive
|
|
1076
|
-
}].filter(Boolean);
|
|
1077
1048
|
var canvas = document.createElement('canvas');
|
|
1078
|
-
canvas.width =
|
|
1079
|
-
canvas.height =
|
|
1080
|
-
canvas.style.width = '
|
|
1081
|
-
canvas.style.height =
|
|
1049
|
+
canvas.width = 100;
|
|
1050
|
+
canvas.height = 200;
|
|
1051
|
+
canvas.style.width = 50 + 'px';
|
|
1052
|
+
canvas.style.height = 100 + 'px';
|
|
1082
1053
|
var ctx = canvas.getContext('2d');
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
ctx.
|
|
1054
|
+
ctx.fillStyle = '#FFFFFF';
|
|
1055
|
+
ctx.strokeStyle = '#000000';
|
|
1056
|
+
ctx.beginPath();
|
|
1057
|
+
ctx.arc(50, 50, 40, 0, 4 * Math.PI);
|
|
1058
|
+
ctx.fill();
|
|
1059
|
+
ctx.stroke();
|
|
1060
|
+
var img1 = new Image();
|
|
1061
|
+
img1.crossOrigin = 'anonymous';
|
|
1062
|
+
img1.src = '/assets/img/svg/3d_item_rotation.svg';
|
|
1063
|
+
img1.onload = function () {
|
|
1064
|
+
ctx.drawImage(img1, 16, 16, 68, 68);
|
|
1094
1065
|
};
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
ctx.save();
|
|
1105
|
-
if (flip) {
|
|
1106
|
-
ctx.translate(100, 0);
|
|
1107
|
-
ctx.scale(-1, 1);
|
|
1108
|
-
}
|
|
1109
|
-
ctx.imageSmoothingEnabled = true;
|
|
1110
|
-
ctx.imageSmoothingQuality = 'high';
|
|
1111
|
-
ctx.drawImage(img, 25, y - 25, 50, 50);
|
|
1112
|
-
ctx.restore();
|
|
1113
|
-
if (toolTexture) toolTexture.needsUpdate = true;
|
|
1114
|
-
};
|
|
1066
|
+
ctx.beginPath();
|
|
1067
|
+
ctx.arc(50, 150, 40, 0, 4 * Math.PI);
|
|
1068
|
+
ctx.fill();
|
|
1069
|
+
ctx.stroke();
|
|
1070
|
+
var img2 = new Image();
|
|
1071
|
+
img2.crossOrigin = 'anonymous';
|
|
1072
|
+
img2.src = '/assets/img/svg/3d_item_move.svg';
|
|
1073
|
+
img2.onload = function () {
|
|
1074
|
+
ctx.drawImage(img2, 16, 116, 68, 68);
|
|
1115
1075
|
};
|
|
1116
|
-
buttons.forEach(drawIcon);
|
|
1117
1076
|
return canvas;
|
|
1118
1077
|
};
|
|
1119
1078
|
var clockWise = true;
|
|
@@ -1152,7 +1111,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1152
1111
|
lastAngle = rotate;
|
|
1153
1112
|
return canvas;
|
|
1154
1113
|
};
|
|
1155
|
-
toolTexture = new Three.Texture(createToolObject(
|
|
1114
|
+
var toolTexture = new Three.Texture(createToolObject());
|
|
1156
1115
|
toolTexture.needsUpdate = true;
|
|
1157
1116
|
var toolObj = new Three.Sprite(new Three.SpriteMaterial({
|
|
1158
1117
|
map: toolTexture,
|
|
@@ -1163,15 +1122,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1163
1122
|
toolObj.scale.set(20, 40, 20);
|
|
1164
1123
|
toolObj.renderOrder = 3;
|
|
1165
1124
|
toolObj.name = 'toolObj';
|
|
1166
|
-
toolObj.userData.canMirror = false;
|
|
1167
|
-
var refreshToolObject = function refreshToolObject(item) {
|
|
1168
|
-
var showMirror = canMirrorItem(item);
|
|
1169
|
-
toolTexture.image = createToolObject(getItemMirrored(item), showMirror);
|
|
1170
|
-
toolTexture.needsUpdate = true;
|
|
1171
|
-
toolObj.scale.set(20, showMirror ? 60 : 40, 20);
|
|
1172
|
-
toolObj.userData.canMirror = showMirror;
|
|
1173
|
-
};
|
|
1174
|
-
this.refreshToolObject = refreshToolObject;
|
|
1175
1125
|
var angleTexture = new Three.Texture(createAngleObject(0));
|
|
1176
1126
|
angleTexture.needsUpdate = true;
|
|
1177
1127
|
var angleObj = new Three.Sprite(new Three.SpriteMaterial({
|
|
@@ -1249,7 +1199,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1249
1199
|
}
|
|
1250
1200
|
};
|
|
1251
1201
|
this.mouseDownEvent = function (event) {
|
|
1252
|
-
var _selectedObject;
|
|
1253
1202
|
gridPlanOrigin = gridPlane.position;
|
|
1254
1203
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1255
1204
|
var altitude = 0;
|
|
@@ -1278,7 +1227,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1278
1227
|
* 1 - move up/down
|
|
1279
1228
|
* 2 - move x/y
|
|
1280
1229
|
* 3 - camera rotate
|
|
1281
|
-
* 4 - mirror
|
|
1282
1230
|
*/
|
|
1283
1231
|
var transflag = 3;
|
|
1284
1232
|
raycaster.setFromCamera(mouse, camera);
|
|
@@ -1292,23 +1240,20 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1292
1240
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1293
1241
|
var toolIntersects = raycaster.intersectObjects([toolObj], true);
|
|
1294
1242
|
|
|
1295
|
-
// This code is excuted when click the tool object(rotation
|
|
1243
|
+
// This code is excuted when click the tool object(rotation or move icon).
|
|
1296
1244
|
if (toolIntersects.length > 0) {
|
|
1297
1245
|
updateSelectedObject();
|
|
1298
|
-
|
|
1299
|
-
var
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
};
|
|
1303
|
-
var moveCenter = toolObj.userData.canMirror ? 0.5 : 0.25;
|
|
1304
|
-
var rotateCenter = toolObj.userData.canMirror ? 5 / 6 : 0.75;
|
|
1305
|
-
var mirrorCenter = 1 / 6;
|
|
1306
|
-
if (toolObj.userData.canMirror && distanceFromToolButton(mirrorCenter) <= TOOL_HIT_RADIUS) {
|
|
1307
|
-
transflag = 4;
|
|
1308
|
-
} else if (distanceFromToolButton(moveCenter) <= TOOL_HIT_RADIUS) {
|
|
1246
|
+
// it determines whether mouse is over on rotation icon or move icon.
|
|
1247
|
+
var distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.25) * 100, 2));
|
|
1248
|
+
// move icon selected
|
|
1249
|
+
if (distance <= 20) {
|
|
1309
1250
|
transflag = 2;
|
|
1310
|
-
} else
|
|
1311
|
-
|
|
1251
|
+
} else {
|
|
1252
|
+
distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.75) * 100, 2));
|
|
1253
|
+
// rotation icon selected
|
|
1254
|
+
if (distance <= 20) {
|
|
1255
|
+
transflag = 0;
|
|
1256
|
+
}
|
|
1312
1257
|
}
|
|
1313
1258
|
}
|
|
1314
1259
|
if (intersects.length > 0) {
|
|
@@ -1327,19 +1272,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1327
1272
|
}
|
|
1328
1273
|
}
|
|
1329
1274
|
if (_this2.props.state.mode == MODE_DRAWING_ITEM_3D) return;
|
|
1330
|
-
if (isSelected && transflag == 4 && (_selectedObject = selectedObject) !== null && _selectedObject !== void 0 && _selectedObject.itemID) {
|
|
1331
|
-
var _this2$props$state$sc;
|
|
1332
|
-
var selectedItem = (_this2$props$state$sc = _this2.props.state.scene.getIn(['layers', selectedObject.layerID])) === null || _this2$props$state$sc === void 0 ? void 0 : _this2$props$state$sc.items.get(selectedObject.itemID);
|
|
1333
|
-
if (canMirrorItem(selectedItem)) {
|
|
1334
|
-
var mirrored = selectedItem.mirrored !== true;
|
|
1335
|
-
var mirroredItem = selectedItem.set('mirrored', mirrored);
|
|
1336
|
-
refreshToolObject(mirroredItem);
|
|
1337
|
-
_this2.context.itemsActions.toggleItemMirror(selectedObject.layerID, selectedObject.itemID, mirrored, _this2.props.onInternalEvent);
|
|
1338
|
-
cameraControls.mouseButtons.left = CameraControls.ACTION.NONE;
|
|
1339
|
-
bMirror = true;
|
|
1340
|
-
}
|
|
1341
|
-
return;
|
|
1342
|
-
}
|
|
1343
1275
|
if (isSelected) {
|
|
1344
1276
|
!_this2.props.downloadFlag && _this2.props.setToolbar('');
|
|
1345
1277
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
@@ -1358,13 +1290,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1358
1290
|
}
|
|
1359
1291
|
if (selectedObject !== undefined) {
|
|
1360
1292
|
// get selected object from planData.sceneGraph
|
|
1361
|
-
var
|
|
1293
|
+
var selectedItem = null;
|
|
1362
1294
|
switch (true) {
|
|
1363
1295
|
case 'itemID' in selectedObject:
|
|
1364
|
-
|
|
1296
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1365
1297
|
break;
|
|
1366
1298
|
case 'holeID' in selectedObject:
|
|
1367
|
-
|
|
1299
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
|
|
1368
1300
|
break;
|
|
1369
1301
|
default:
|
|
1370
1302
|
break;
|
|
@@ -1383,7 +1315,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1383
1315
|
offsetX: event.offsetX - 50,
|
|
1384
1316
|
offsetY: event.offsetY
|
|
1385
1317
|
}, alti);
|
|
1386
|
-
if (isUndefined(
|
|
1318
|
+
if (isUndefined(selectedItem)) return;
|
|
1387
1319
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1388
1320
|
lastAngle = 0;
|
|
1389
1321
|
angleObj.position.set(planData.plan.position.x + Point.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : selItem.properties.get('altitude').get('length') + planData.plan.position.y, planData.plan.position.z - Point.y);
|
|
@@ -1412,7 +1344,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1412
1344
|
scene3D.remove(toolObj);
|
|
1413
1345
|
}
|
|
1414
1346
|
for (_i1 = 0; _i1 < intersects.length; _i1++) {
|
|
1415
|
-
if (
|
|
1347
|
+
if (selectedItem != undefined && intersects[_i1].object.parent && intersects[_i1].object.parent.parent.userData.itemId === selectedItem.userData.itemId) selectedFlag = true;
|
|
1416
1348
|
}
|
|
1417
1349
|
if (selectedFlag || toolIntersects.length > 0 && !isElevationView(mode)) {
|
|
1418
1350
|
cameraControls.mouseButtons.left = CameraControls.ACTION.NONE;
|
|
@@ -1429,24 +1361,18 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1429
1361
|
}
|
|
1430
1362
|
};
|
|
1431
1363
|
this.mouseUpEvent = function (event) {
|
|
1432
|
-
var
|
|
1364
|
+
var _selectedObject;
|
|
1433
1365
|
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1434
1366
|
var selectedElement; // internalEvent data
|
|
1435
1367
|
firstMove = 0;
|
|
1436
1368
|
var altitude = 0;
|
|
1437
|
-
var curLayer = _this2.props.state.scene.getIn(['layers', (
|
|
1369
|
+
var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject = selectedObject) === null || _selectedObject === void 0 ? void 0 : _selectedObject.layerID]);
|
|
1438
1370
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1439
1371
|
var properties = allItemRect.cur.itemInfo.properties;
|
|
1440
1372
|
altitude = properties.getIn(['altitude', '_length']);
|
|
1441
1373
|
var unit = properties.getIn(['altitude', '_unit']) || 'in';
|
|
1442
1374
|
altitude = convert(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1443
1375
|
}
|
|
1444
|
-
if (bMirror) {
|
|
1445
|
-
bMirror = false;
|
|
1446
|
-
cameraControls.mouseButtons.left = CameraControls.ACTION.ROTATE;
|
|
1447
|
-
event.preventDefault();
|
|
1448
|
-
return;
|
|
1449
|
-
}
|
|
1450
1376
|
scene3D.remove(angleObj);
|
|
1451
1377
|
scene3D.remove(toolObj);
|
|
1452
1378
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
@@ -1555,11 +1481,10 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1555
1481
|
}
|
|
1556
1482
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1557
1483
|
var addItemToolObj = function addItemToolObj() {
|
|
1558
|
-
var _planData$sceneGraph,
|
|
1559
|
-
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[(
|
|
1484
|
+
var _planData$sceneGraph, _selectedObject2, _intersects$_i;
|
|
1485
|
+
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];
|
|
1560
1486
|
if (isUndefined(selectedItem)) return;
|
|
1561
1487
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1562
|
-
refreshToolObject(selectedElement);
|
|
1563
1488
|
var itemPos = selectedItem.position.clone();
|
|
1564
1489
|
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) {
|
|
1565
1490
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
@@ -1659,7 +1584,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1659
1584
|
selectedObj = allItemRect.cur;
|
|
1660
1585
|
}
|
|
1661
1586
|
} else {
|
|
1662
|
-
var _planData$sceneGraph2,
|
|
1587
|
+
var _planData$sceneGraph2, _selectedObject3, _selectedObject4;
|
|
1663
1588
|
visibleTransformBox(false);
|
|
1664
1589
|
var alti = 0;
|
|
1665
1590
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1669,8 +1594,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1669
1594
|
alti = convert(alti).from(_unit2).to(_this2.props.state.scene.unit);
|
|
1670
1595
|
}
|
|
1671
1596
|
getPoint(event, alti);
|
|
1672
|
-
var
|
|
1673
|
-
if (isSelected && !isEmpty(
|
|
1597
|
+
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];
|
|
1598
|
+
if (isSelected && !isEmpty(_selectedItem)) addItemToolObj();
|
|
1674
1599
|
if (bRotate) {
|
|
1675
1600
|
_this2.setState({
|
|
1676
1601
|
toolObj: toolObj
|
|
@@ -2169,7 +2094,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2169
2094
|
_this2.context.itemsActions.setMoveStatus(false);
|
|
2170
2095
|
_this2.context.itemsActions.setRotateStatus(false);
|
|
2171
2096
|
bMoveUP = false;
|
|
2172
|
-
bMirror = false;
|
|
2173
2097
|
removeSnapBox();
|
|
2174
2098
|
break;
|
|
2175
2099
|
case 65:
|
|
@@ -2253,7 +2177,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2253
2177
|
currentObject = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2254
2178
|
if (isUndefined(currentObject)) return;
|
|
2255
2179
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
2256
|
-
refreshToolObject(selItem);
|
|
2257
2180
|
var itemPos = currentObject.position.clone();
|
|
2258
2181
|
toolObj.position.set(planData.plan.position.x + itemPos.x, selItem.category === 'lighting' ? -planData.plan.position.y - selItem.properties.get('height').get('length') : planData.plan.position.y + currentObject.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
2259
2182
|
scene3D.add(toolObj);
|
|
@@ -2598,14 +2521,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2598
2521
|
}
|
|
2599
2522
|
if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
|
|
2600
2523
|
var changedValues = diff(this.props.state.scene, nextProps.state.scene);
|
|
2601
|
-
var changedValuesJS = changedValues.toJS();
|
|
2602
|
-
var selectedItemID = layer.selected.items.size ? layer.selected.items.get(0) : null;
|
|
2603
|
-
var selectedItem = selectedItemID ? layer.items.get(selectedItemID) : null;
|
|
2604
|
-
var shouldRefreshSelectedToolObject = selectedItem && changedValuesJS.some(function (_ref2) {
|
|
2605
|
-
var path = _ref2.path;
|
|
2606
|
-
var modifiedPath = path.split('/');
|
|
2607
|
-
return modifiedPath[1] === 'layers' && modifiedPath[2] === String(data.selectedLayer) && modifiedPath[3] === 'items' && modifiedPath[4] === String(selectedItemID) && modifiedPath[5] === 'mirrored';
|
|
2608
|
-
});
|
|
2609
2524
|
prepareSnapSpec(layer);
|
|
2610
2525
|
var isInteractiveMove = nextProps.state.mode === MODE_DRAGGING_ITEM_3D || nextProps.state.mode === MODE_ROTATING_ITEM_3D || nextProps.state.mode === MODE_DRAWING_ITEM_3D || nextProps.state.mode === MODE_DRAGGING_HOLE_3D || nextProps.state.mode === MODE_IDLE_3D;
|
|
2611
2526
|
if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
|
|
@@ -2638,11 +2553,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2638
2553
|
var _this$state = this.state,
|
|
2639
2554
|
toolObj = _this$state.toolObj,
|
|
2640
2555
|
angleObj = _this$state.angleObj;
|
|
2641
|
-
var _updateScene = updateScene(this.planData, nextProps.state.scene, this.props.state.scene,
|
|
2556
|
+
var _updateScene = updateScene(this.planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
|
|
2642
2557
|
promise = _updateScene.promise;
|
|
2643
|
-
if (shouldRefreshSelectedToolObject && this.refreshToolObject) {
|
|
2644
|
-
this.refreshToolObject(selectedItem);
|
|
2645
|
-
}
|
|
2646
2558
|
self.setState();
|
|
2647
2559
|
promise.then(function (p1Value) {
|
|
2648
2560
|
self.setState({
|
package/es/constants.js
CHANGED
|
@@ -79,7 +79,6 @@ export var END_LOADING = 'END_LOADING';
|
|
|
79
79
|
export var TOGGLE_LOADING_CABINET = 'TOGGLE_LOADING_CABINET';
|
|
80
80
|
export var EDIT_WIDTH = 'EDIT_WIDTH';
|
|
81
81
|
export var DUPLICATE_SELECTED = 'DUPLICATE_SELECTED';
|
|
82
|
-
export var TOGGLE_ITEM_MIRROR = 'TOGGLE_ITEM_MIRROR';
|
|
83
82
|
export var REPLACE_ITEM = 'REPLACE_ITEM';
|
|
84
83
|
export var SELECT_TOOL_DRAWING_ITEM = 'SELECT_TOOL_DRAWING_ITEM';
|
|
85
84
|
export var SELECT_TOOL_DRAWING_ITEM_3D = 'SELECT_TOOL_DRAWING_ITEM_3D';
|
|
@@ -314,7 +313,6 @@ export var ITEMS_ACTIONS = {
|
|
|
314
313
|
// SET_MOVE_STATUS,
|
|
315
314
|
// SET_ROTATE_STATUS,
|
|
316
315
|
DUPLICATE_SELECTED: DUPLICATE_SELECTED,
|
|
317
|
-
TOGGLE_ITEM_MIRROR: TOGGLE_ITEM_MIRROR,
|
|
318
316
|
EDIT_WIDTH: EDIT_WIDTH,
|
|
319
317
|
TOGGLE_LOADING_CABINET: TOGGLE_LOADING_CABINET,
|
|
320
318
|
END_LOADING: END_LOADING,
|
|
@@ -746,7 +744,6 @@ export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING'; //
|
|
|
746
744
|
export var EXTERNAL_EVENT_CENTERING_2D = 'EXTERNAL_EVENT_CENTERING_2D';
|
|
747
745
|
export var EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT';
|
|
748
746
|
export var EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
|
|
749
|
-
export var EXTERNAL_EVENT_MIRROR_ELEMENT = 'EXTERNAL_EVENT_MIRROR_ELEMENT';
|
|
750
747
|
export var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
751
748
|
export var EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
|
|
752
749
|
export var EXTERNAL_EVENT_REPLACE_CABINET = 'EXTERNAL_EVENT_REPLACE_CABINET';
|
|
@@ -759,7 +756,6 @@ export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
|
759
756
|
export var INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
760
757
|
export var INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
761
758
|
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
|
762
|
-
export var INTERNAL_EVENT_MIRROR_ELEMENT = 'INTERNAL_EVENT_MIRROR_ELEMENT';
|
|
763
759
|
export var INTERNAL_EVENT_REPLACE_CABINET = 'INTERNAL_EVENT_REPLACE_CABINET';
|
|
764
760
|
export var INTERNAL_EVENT_START_DRAW_WALL = 'INTERNAL_EVENT_START_DRAW_WALL';
|
|
765
761
|
export var INTERNAL_EVENT_TOGGLE_TO_ELEVATION = 'INTERNAL_EVENT_TOGGLE_TO_ELEVATION';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import { ARRAY_3D_MODES, DOORSTYLE_SCOPE_ALL, DOORSTYLE_SCOPE_MULTIPLE, DOORSTYLE_SCOPE_SINGLE, DEFAULT_MOLDING_PIECE_LENGTH, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DELETE_ELEMENT, EXTERNAL_EVENT_DUPLICATE_ELEMENT,
|
|
3
|
+
import { ARRAY_3D_MODES, DOORSTYLE_SCOPE_ALL, DOORSTYLE_SCOPE_MULTIPLE, DOORSTYLE_SCOPE_SINGLE, DEFAULT_MOLDING_PIECE_LENGTH, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DELETE_ELEMENT, EXTERNAL_EVENT_DUPLICATE_ELEMENT, EXTERNAL_EVENT_LOAD_PROJECT, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_PROJECT_SETTING, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_REPLACE_CABINET, EXTERNAL_EVENT_ROTATE_PAN, EXTERNAL_EVENT_SET_FINISHING, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, EXTERNAL_EVENT_UPDATE_PROPERTY, INTERNAL_EVENT_ITEMS_CATALOG, INTERNAL_EVENT_SYNC_SCENE, MODE_ELEVATION_VIEW, MODE_IDLE, MODE_IDLE_3D } from "../../constants";
|
|
4
4
|
import { isEmpty } from "../../utils/helper";
|
|
5
5
|
import { mapExternalEventPayload } from "../../mappings/external-events/mapExternalEventPayload";
|
|
6
6
|
import { ccdfMapper } from "../../mappings/external-events/mappers/ccdfMapper";
|
|
@@ -17,7 +17,7 @@ import { handleAddWall } from "./handlers.wall";
|
|
|
17
17
|
import { handleAddHole } from "./handlers.hole";
|
|
18
18
|
import { handleAddRoomShape } from "./handlers.roomShape";
|
|
19
19
|
import { handleSetMolding } from "./handlers.molding";
|
|
20
|
-
import { handleDuplicateElement, handleDeleteElement
|
|
20
|
+
import { handleDuplicateElement, handleDeleteElement } from "./handlers.elementOps";
|
|
21
21
|
import { handleReplaceCabinet } from "./handlers.replaceCabinet";
|
|
22
22
|
import { handleSyncScene } from "./handlers.syncScene";
|
|
23
23
|
import { handleLoadProjectEvent } from "./handlers.loadProject";
|
|
@@ -46,95 +46,92 @@ function _handleExternalEvent() {
|
|
|
46
46
|
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
47
47
|
layer = state.getIn(['scene', 'layers', layerId]);
|
|
48
48
|
_t = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
49
|
-
_context.next = _t === EXTERNAL_EVENT_LOAD_PROJECT ? 2 : _t === EXTERNAL_EVENT_TOGGLE_TO_3D ? 4 : _t === EXTERNAL_EVENT_TOGGLE_TO_2D ? 5 : _t === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 6 : _t === EXTERNAL_EVENT_ADD_WALL ? 7 : _t === EXTERNAL_EVENT_ADD_ITEM ? 8 : _t === EXTERNAL_EVENT_ADD_HOLE ? 10 : _t === EXTERNAL_EVENT_ROTATE_PAN ? 11 : _t === EXTERNAL_EVENT_MOVE_PAN ? 11 : _t === EXTERNAL_EVENT_NEW_PROJECT ? 12 : _t === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 13 : _t === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 15 : _t === EXTERNAL_EVENT_ZOOM_IN ? 16 : _t === EXTERNAL_EVENT_ZOOM_OUT ? 17 : _t === EXTERNAL_EVENT_CENTERING_2D ? 18 : _t === EXTERNAL_EVENT_UNDO ? 19 : _t === EXTERNAL_EVENT_REDO ? 20 : _t === EXTERNAL_EVENT_SET_MOLDING ? 21 : _t === EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 23 : _t === EXTERNAL_EVENT_DELETE_ELEMENT ? 24 : _t ===
|
|
49
|
+
_context.next = _t === EXTERNAL_EVENT_LOAD_PROJECT ? 2 : _t === EXTERNAL_EVENT_TOGGLE_TO_3D ? 4 : _t === EXTERNAL_EVENT_TOGGLE_TO_2D ? 5 : _t === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 6 : _t === EXTERNAL_EVENT_ADD_WALL ? 7 : _t === EXTERNAL_EVENT_ADD_ITEM ? 8 : _t === EXTERNAL_EVENT_ADD_HOLE ? 10 : _t === EXTERNAL_EVENT_ROTATE_PAN ? 11 : _t === EXTERNAL_EVENT_MOVE_PAN ? 11 : _t === EXTERNAL_EVENT_NEW_PROJECT ? 12 : _t === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 13 : _t === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 15 : _t === EXTERNAL_EVENT_ZOOM_IN ? 16 : _t === EXTERNAL_EVENT_ZOOM_OUT ? 17 : _t === EXTERNAL_EVENT_CENTERING_2D ? 18 : _t === EXTERNAL_EVENT_UNDO ? 19 : _t === EXTERNAL_EVENT_REDO ? 20 : _t === EXTERNAL_EVENT_SET_MOLDING ? 21 : _t === EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 23 : _t === EXTERNAL_EVENT_DELETE_ELEMENT ? 24 : _t === EXTERNAL_EVENT_PROJECT_SETTING ? 25 : _t === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 26 : _t === EXTERNAL_EVENT_UPDATE_PROPERTY ? 26 : _t === EXTERNAL_EVENT_REPLACE_CABINET ? 27 : _t === EXTERNAL_EVENT_SET_FINISHING ? 29 : _t === EXTERNAL_EVENT_SYNC_SCENE ? 30 : 31;
|
|
50
50
|
break;
|
|
51
51
|
case 2:
|
|
52
52
|
_context.next = 3;
|
|
53
53
|
return handleLoadProjectEvent(props, state, evt, mapFromCCDFToCDS, updateProjectWithCDSList, ccdfMapper, mergeSameElements, addItemToCatalog);
|
|
54
54
|
case 3:
|
|
55
|
-
return _context.abrupt("continue",
|
|
55
|
+
return _context.abrupt("continue", 31);
|
|
56
56
|
case 4:
|
|
57
57
|
handleToggleTo3D(props, MODE_IDLE_3D);
|
|
58
|
-
return _context.abrupt("continue",
|
|
58
|
+
return _context.abrupt("continue", 31);
|
|
59
59
|
case 5:
|
|
60
60
|
handleToggleTo2D(props, MODE_IDLE);
|
|
61
|
-
return _context.abrupt("continue",
|
|
61
|
+
return _context.abrupt("continue", 31);
|
|
62
62
|
case 6:
|
|
63
63
|
handleToggleToElevation(props, layer, MODE_ELEVATION_VIEW);
|
|
64
|
-
return _context.abrupt("continue",
|
|
64
|
+
return _context.abrupt("continue", 31);
|
|
65
65
|
case 7:
|
|
66
66
|
handleAddWall(props, state);
|
|
67
|
-
return _context.abrupt("continue",
|
|
67
|
+
return _context.abrupt("continue", 31);
|
|
68
68
|
case 8:
|
|
69
69
|
_context.next = 9;
|
|
70
70
|
return handleAddItemEvent(props, state, evt === null || evt === void 0 ? void 0 : evt.payload, addItemToCatalog, isEmpty, ARRAY_3D_MODES);
|
|
71
71
|
case 9:
|
|
72
|
-
return _context.abrupt("continue",
|
|
72
|
+
return _context.abrupt("continue", 31);
|
|
73
73
|
case 10:
|
|
74
74
|
handleAddHole(props, state, evt === null || evt === void 0 ? void 0 : evt.payload);
|
|
75
|
-
return _context.abrupt("continue",
|
|
75
|
+
return _context.abrupt("continue", 31);
|
|
76
76
|
case 11:
|
|
77
77
|
handleMoveAndRotatePan2D3D(evt.type, props, evt.payload, state);
|
|
78
|
-
return _context.abrupt("continue",
|
|
78
|
+
return _context.abrupt("continue", 31);
|
|
79
79
|
case 12:
|
|
80
80
|
handleNewProject(props);
|
|
81
|
-
return _context.abrupt("continue",
|
|
81
|
+
return _context.abrupt("continue", 31);
|
|
82
82
|
case 13:
|
|
83
83
|
_context.next = 14;
|
|
84
84
|
return handleChangeDoorStyleEvent(props, state, layer, evt.payload, DOORSTYLE_SCOPE_SINGLE, DOORSTYLE_SCOPE_MULTIPLE, DOORSTYLE_SCOPE_ALL, INTERNAL_EVENT_ITEMS_CATALOG, mapFromCCDFToCDS, ccdfMapper, mergeSameElements, addItemToCatalog);
|
|
85
85
|
case 14:
|
|
86
|
-
return _context.abrupt("continue",
|
|
86
|
+
return _context.abrupt("continue", 31);
|
|
87
87
|
case 15:
|
|
88
88
|
handleAddRoomShape(props, evt.payload);
|
|
89
|
-
return _context.abrupt("continue",
|
|
89
|
+
return _context.abrupt("continue", 31);
|
|
90
90
|
case 16:
|
|
91
91
|
handleZoomIn(props, state);
|
|
92
|
-
return _context.abrupt("continue",
|
|
92
|
+
return _context.abrupt("continue", 31);
|
|
93
93
|
case 17:
|
|
94
94
|
handleZoomOut(props, state);
|
|
95
|
-
return _context.abrupt("continue",
|
|
95
|
+
return _context.abrupt("continue", 31);
|
|
96
96
|
case 18:
|
|
97
97
|
handleCentering2D(props, state);
|
|
98
|
-
return _context.abrupt("continue",
|
|
98
|
+
return _context.abrupt("continue", 31);
|
|
99
99
|
case 19:
|
|
100
100
|
handleUndo(props);
|
|
101
|
-
return _context.abrupt("continue",
|
|
101
|
+
return _context.abrupt("continue", 31);
|
|
102
102
|
case 20:
|
|
103
103
|
handleRedo(props);
|
|
104
|
-
return _context.abrupt("continue",
|
|
104
|
+
return _context.abrupt("continue", 31);
|
|
105
105
|
case 21:
|
|
106
106
|
_context.next = 22;
|
|
107
107
|
return handleSetMolding(props, loadMoldingSvg, evt.payload);
|
|
108
108
|
case 22:
|
|
109
|
-
return _context.abrupt("continue",
|
|
109
|
+
return _context.abrupt("continue", 31);
|
|
110
110
|
case 23:
|
|
111
111
|
handleDuplicateElement(props, getElement, evt.payload, state);
|
|
112
|
-
return _context.abrupt("continue",
|
|
112
|
+
return _context.abrupt("continue", 31);
|
|
113
113
|
case 24:
|
|
114
114
|
handleDeleteElement(props, getElement, evt.payload, state);
|
|
115
|
-
return _context.abrupt("continue",
|
|
115
|
+
return _context.abrupt("continue", 31);
|
|
116
116
|
case 25:
|
|
117
|
-
handleMirrorElement(props, getElement, evt.payload, state);
|
|
118
|
-
return _context.abrupt("continue", 32);
|
|
119
|
-
case 26:
|
|
120
117
|
handleProjectSetting(props, evt.payload, layer);
|
|
121
|
-
return _context.abrupt("continue",
|
|
122
|
-
case
|
|
118
|
+
return _context.abrupt("continue", 31);
|
|
119
|
+
case 26:
|
|
123
120
|
handleUpdateSelectedElementsEvent(props, state, evt, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, updateAttributeOfSelectedElement, updatePropertyOfSelectedElement);
|
|
124
|
-
return _context.abrupt("continue",
|
|
125
|
-
case
|
|
126
|
-
_context.next =
|
|
121
|
+
return _context.abrupt("continue", 31);
|
|
122
|
+
case 27:
|
|
123
|
+
_context.next = 28;
|
|
127
124
|
return handleReplaceCabinet(props, addItemToCatalog, evt === null || evt === void 0 ? void 0 : evt.payload, state);
|
|
125
|
+
case 28:
|
|
126
|
+
return _context.abrupt("continue", 31);
|
|
128
127
|
case 29:
|
|
129
|
-
return _context.abrupt("continue", 32);
|
|
130
|
-
case 30:
|
|
131
128
|
handleSetFinishing(props, state, evt.payload);
|
|
132
|
-
return _context.abrupt("continue",
|
|
133
|
-
case
|
|
129
|
+
return _context.abrupt("continue", 31);
|
|
130
|
+
case 30:
|
|
134
131
|
console.log('*** catalog ***', props.catalog);
|
|
135
132
|
handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE);
|
|
136
|
-
return _context.abrupt("continue",
|
|
137
|
-
case
|
|
133
|
+
return _context.abrupt("continue", 31);
|
|
134
|
+
case 31:
|
|
138
135
|
case "end":
|
|
139
136
|
return _context.stop();
|
|
140
137
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { canMirrorCabinet } from "../../shared/domain/cabinet-mirror";
|
|
2
1
|
export function handleDuplicateElement(props, getElement, payload, state) {
|
|
3
2
|
var distElement = getElement(payload, state);
|
|
4
3
|
if (distElement) props.itemsActions.duplicateSelected(distElement, props.onInternalEvent);
|
|
@@ -6,11 +5,4 @@ export function handleDuplicateElement(props, getElement, payload, state) {
|
|
|
6
5
|
export function handleDeleteElement(props, getElement, payload, state) {
|
|
7
6
|
var distElement = getElement(payload, state);
|
|
8
7
|
if (distElement) props.projectActions.remove(distElement);
|
|
9
|
-
}
|
|
10
|
-
export function handleMirrorElement(props, getElement, payload, state) {
|
|
11
|
-
var distElement = getElement(payload, state);
|
|
12
|
-
if (!distElement || distElement.prototype !== 'items' || !canMirrorCabinet(distElement)) return;
|
|
13
|
-
var layerID = state.getIn(['scene', 'selectedLayer']);
|
|
14
|
-
var mirrored = typeof (payload === null || payload === void 0 ? void 0 : payload.mirrored) === 'boolean' ? payload.mirrored : null;
|
|
15
|
-
props.itemsActions.toggleItemMirror(layerID, distElement.id, mirrored, props.onInternalEvent);
|
|
16
8
|
}
|
|
@@ -4,10 +4,10 @@ import { mapAddItemEvent } from "./mappers/addItemMapper";
|
|
|
4
4
|
import { mapChangeDoorStyleEvent } from "./mappers/changeDoorStyleMapper";
|
|
5
5
|
import { mapLoadProjectEvent } from "./mappers/loadProjectMapper";
|
|
6
6
|
|
|
7
|
-
/**
|
|
8
|
-
* Main dispatcher for external event payload mapping.
|
|
9
|
-
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
10
|
-
* without changing the behavior of the existing 3D tool.
|
|
7
|
+
/**
|
|
8
|
+
* Main dispatcher for external event payload mapping.
|
|
9
|
+
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
10
|
+
* without changing the behavior of the existing 3D tool.
|
|
11
11
|
*/
|
|
12
12
|
export function mapExternalEventPayload(evt, state, defaultTextures) {
|
|
13
13
|
if (isEmpty(evt)) return null;
|
|
@@ -5,15 +5,15 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
5
5
|
import { ITEM_TYPE } from "../../../constants";
|
|
6
6
|
import { isEmpty } from "../../../utils/helper";
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
10
|
-
*
|
|
11
|
-
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
12
|
-
* expected by the existing 3D tool.
|
|
13
|
-
*
|
|
14
|
-
* @param {Object} evt.payload External event payload
|
|
15
|
-
* @param {Immutable.Map} state Planner state
|
|
16
|
-
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
8
|
+
/**
|
|
9
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
10
|
+
*
|
|
11
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
12
|
+
* expected by the existing 3D tool.
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} evt.payload External event payload
|
|
15
|
+
* @param {Immutable.Map} state Planner state
|
|
16
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
17
17
|
*/
|
|
18
18
|
export function mapAddItemEvent(orgEvtPayload, state) {
|
|
19
19
|
var _evtPayload, _evtPayload3;
|
|
@@ -70,7 +70,7 @@ export function ccdfMapper(ccdf_list, layer) {
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
// make structure_json
|
|
73
|
-
if (cd.category === 'cabinet' || cd.category === 'Base') structure_json = {
|
|
73
|
+
if (cd.category === 'cabinet' || cd.category === 'Base' || cd.category === 'Wall' || cd.category === 'Tall') structure_json = {
|
|
74
74
|
tempPlaceholders: tempPlaceholders
|
|
75
75
|
};else structure_json = structure;
|
|
76
76
|
// make cabinet definition using structure_json and catalog
|