kitchen-simulator 11.27.0 → 11.28.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/es/actions/items-actions.js +20 -2
- package/es/assets/img/svg/3d_item_move.svg +9 -105
- package/es/assets/img/svg/3d_item_rotation.svg +3 -75
- 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 +6 -2
- 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 +12 -127
- 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 +4 -0
- package/es/catalog/utils/item-loader.js +18 -8
- package/es/class/item.js +80 -2
- package/es/components/viewer2d/item.js +139 -125
- package/es/components/viewer2d/viewer2d.js +7 -4
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/es/components/viewer3d/scene-creator.js +18 -0
- package/es/components/viewer3d/viewer3d.js +137 -49
- package/es/constants.js +7 -1
- package/es/events/external/handleExternalEvent.js +36 -33
- package/es/events/external/handleExternalEvent.util.js +4 -2
- package/es/events/external/handlers.changeDoorStyle.js +28 -7
- package/es/events/external/handlers.elementOps.js +8 -0
- 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 +4 -0
- package/es/reducers/items-reducer.js +10 -1
- package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/es/shared/domain/cabinet-mirror.js +7 -0
- package/es/utils/geometry.js +5 -3
- package/es/utils/skinPanelEngine.js +14 -14
- package/lib/actions/items-actions.js +20 -0
- package/lib/assets/img/svg/3d_item_move.svg +9 -105
- package/lib/assets/img/svg/3d_item_rotation.svg +3 -75
- 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 +6 -2
- 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 +12 -127
- 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 +4 -0
- package/lib/catalog/utils/item-loader.js +18 -8
- package/lib/class/item.js +79 -1
- package/lib/components/viewer2d/item.js +138 -124
- package/lib/components/viewer2d/viewer2d.js +7 -4
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/lib/components/viewer3d/scene-creator.js +18 -0
- package/lib/components/viewer3d/viewer3d.js +137 -49
- package/lib/constants.js +11 -5
- package/lib/events/external/handleExternalEvent.js +34 -31
- package/lib/events/external/handleExternalEvent.util.js +4 -2
- package/lib/events/external/handlers.changeDoorStyle.js +28 -7
- package/lib/events/external/handlers.elementOps.js +9 -0
- 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 +4 -0
- package/lib/reducers/items-reducer.js +9 -0
- package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/lib/shared/domain/cabinet-mirror.js +13 -0
- package/lib/utils/geometry.js +5 -3
- package/lib/utils/skinPanelEngine.js +14 -14
- package/package.json +1 -1
|
@@ -493,6 +493,8 @@ 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);
|
|
496
498
|
} else if (modifiedPath[keyIndex] == 'selected') {
|
|
497
499
|
var itemType = !!catalog.elements[item.type] ? catalog.elements[item.type].type : catalog.elements[returnReplaceableDeepSearchType(item.type)].type;
|
|
498
500
|
if (value == false) {
|
|
@@ -2213,6 +2215,22 @@ function updateItem(sceneData, oldSceneData, planData, layer, itemID, difference
|
|
|
2213
2215
|
if (!mesh) return null;
|
|
2214
2216
|
return catalog.getElement(item.type).updateRender3D(item, layer, sceneData, mesh, oldItem, differences, selfDestroy, selfBuild);
|
|
2215
2217
|
}
|
|
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
|
+
}
|
|
2216
2234
|
|
|
2217
2235
|
// Apply interact function to children of an Object3D
|
|
2218
2236
|
function applyInteract(object, interactFunction) {
|
|
@@ -29,6 +29,8 @@ 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;
|
|
32
34
|
CameraControls.install({
|
|
33
35
|
THREE: Three
|
|
34
36
|
});
|
|
@@ -343,6 +345,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
343
345
|
var bRotate = false;
|
|
344
346
|
var bMove = false;
|
|
345
347
|
var bMoveUP = false;
|
|
348
|
+
var bMirror = false;
|
|
346
349
|
/** Transformation matrix of grid */
|
|
347
350
|
var gridMatrix = new Three.Matrix4();
|
|
348
351
|
var rayDirection = new Three.Vector3();
|
|
@@ -1044,35 +1047,73 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1044
1047
|
var firstMove = false;
|
|
1045
1048
|
var prevX, prevY;
|
|
1046
1049
|
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;
|
|
1047
1063
|
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);
|
|
1048
1077
|
var canvas = document.createElement('canvas');
|
|
1049
|
-
canvas.width =
|
|
1050
|
-
canvas.height =
|
|
1051
|
-
canvas.style.width =
|
|
1052
|
-
canvas.style.height =
|
|
1078
|
+
canvas.width = TOOL_CANVAS_WIDTH;
|
|
1079
|
+
canvas.height = canMirror ? TOOL_CANVAS_THREE_BUTTON_HEIGHT : TOOL_CANVAS_TWO_BUTTON_HEIGHT;
|
|
1080
|
+
canvas.style.width = '50px';
|
|
1081
|
+
canvas.style.height = canMirror ? '150px' : '100px';
|
|
1053
1082
|
var ctx = canvas.getContext('2d');
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
ctx.
|
|
1083
|
+
var drawShadowCircle = function drawShadowCircle(x, y, radius) {
|
|
1084
|
+
ctx.save();
|
|
1085
|
+
ctx.shadowColor = 'rgba(0, 0, 0, 0.16)';
|
|
1086
|
+
ctx.shadowBlur = 2.4;
|
|
1087
|
+
ctx.shadowOffsetX = 0;
|
|
1088
|
+
ctx.shadowOffsetY = -1;
|
|
1089
|
+
ctx.fillStyle = '#FFFFFF';
|
|
1090
|
+
ctx.beginPath();
|
|
1091
|
+
ctx.arc(x, y, radius, 0, 2 * Math.PI);
|
|
1092
|
+
ctx.fill();
|
|
1093
|
+
ctx.restore();
|
|
1065
1094
|
};
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1095
|
+
var drawIcon = function drawIcon(_ref) {
|
|
1096
|
+
var src = _ref.src,
|
|
1097
|
+
y = _ref.y,
|
|
1098
|
+
flip = _ref.flip;
|
|
1099
|
+
drawShadowCircle(50, y, TOOL_BUTTON_RADIUS);
|
|
1100
|
+
var img = new Image();
|
|
1101
|
+
img.crossOrigin = 'anonymous';
|
|
1102
|
+
img.src = src;
|
|
1103
|
+
img.onload = function () {
|
|
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
|
+
};
|
|
1075
1115
|
};
|
|
1116
|
+
buttons.forEach(drawIcon);
|
|
1076
1117
|
return canvas;
|
|
1077
1118
|
};
|
|
1078
1119
|
var clockWise = true;
|
|
@@ -1111,7 +1152,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1111
1152
|
lastAngle = rotate;
|
|
1112
1153
|
return canvas;
|
|
1113
1154
|
};
|
|
1114
|
-
|
|
1155
|
+
toolTexture = new Three.Texture(createToolObject(false, false));
|
|
1115
1156
|
toolTexture.needsUpdate = true;
|
|
1116
1157
|
var toolObj = new Three.Sprite(new Three.SpriteMaterial({
|
|
1117
1158
|
map: toolTexture,
|
|
@@ -1122,6 +1163,15 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1122
1163
|
toolObj.scale.set(20, 40, 20);
|
|
1123
1164
|
toolObj.renderOrder = 3;
|
|
1124
1165
|
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;
|
|
1125
1175
|
var angleTexture = new Three.Texture(createAngleObject(0));
|
|
1126
1176
|
angleTexture.needsUpdate = true;
|
|
1127
1177
|
var angleObj = new Three.Sprite(new Three.SpriteMaterial({
|
|
@@ -1199,6 +1249,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1199
1249
|
}
|
|
1200
1250
|
};
|
|
1201
1251
|
this.mouseDownEvent = function (event) {
|
|
1252
|
+
var _selectedObject;
|
|
1202
1253
|
gridPlanOrigin = gridPlane.position;
|
|
1203
1254
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1204
1255
|
var altitude = 0;
|
|
@@ -1227,6 +1278,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1227
1278
|
* 1 - move up/down
|
|
1228
1279
|
* 2 - move x/y
|
|
1229
1280
|
* 3 - camera rotate
|
|
1281
|
+
* 4 - mirror
|
|
1230
1282
|
*/
|
|
1231
1283
|
var transflag = 3;
|
|
1232
1284
|
raycaster.setFromCamera(mouse, camera);
|
|
@@ -1240,20 +1292,23 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1240
1292
|
var intersects = raycaster.intersectObjects(meshes, true);
|
|
1241
1293
|
var toolIntersects = raycaster.intersectObjects([toolObj], true);
|
|
1242
1294
|
|
|
1243
|
-
// This code is excuted when click the tool object(rotation or
|
|
1295
|
+
// This code is excuted when click the tool object(rotation, move or mirror icon).
|
|
1244
1296
|
if (toolIntersects.length > 0) {
|
|
1245
1297
|
updateSelectedObject();
|
|
1246
|
-
|
|
1247
|
-
var
|
|
1248
|
-
|
|
1249
|
-
|
|
1298
|
+
var toolHeight = toolObj.userData.canMirror ? TOOL_CANVAS_THREE_BUTTON_HEIGHT : TOOL_CANVAS_TWO_BUTTON_HEIGHT;
|
|
1299
|
+
var yScale = toolHeight / 2;
|
|
1300
|
+
var distanceFromToolButton = function distanceFromToolButton(centerY) {
|
|
1301
|
+
return Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - centerY) * yScale, 2));
|
|
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) {
|
|
1250
1309
|
transflag = 2;
|
|
1251
|
-
} else {
|
|
1252
|
-
|
|
1253
|
-
// rotation icon selected
|
|
1254
|
-
if (distance <= 20) {
|
|
1255
|
-
transflag = 0;
|
|
1256
|
-
}
|
|
1310
|
+
} else if (distanceFromToolButton(rotateCenter) <= TOOL_HIT_RADIUS) {
|
|
1311
|
+
transflag = 0;
|
|
1257
1312
|
}
|
|
1258
1313
|
}
|
|
1259
1314
|
if (intersects.length > 0) {
|
|
@@ -1272,6 +1327,19 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1272
1327
|
}
|
|
1273
1328
|
}
|
|
1274
1329
|
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
|
+
}
|
|
1275
1343
|
if (isSelected) {
|
|
1276
1344
|
!_this2.props.downloadFlag && _this2.props.setToolbar('');
|
|
1277
1345
|
if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
|
|
@@ -1290,13 +1358,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1290
1358
|
}
|
|
1291
1359
|
if (selectedObject !== undefined) {
|
|
1292
1360
|
// get selected object from planData.sceneGraph
|
|
1293
|
-
var
|
|
1361
|
+
var _selectedItem = null;
|
|
1294
1362
|
switch (true) {
|
|
1295
1363
|
case 'itemID' in selectedObject:
|
|
1296
|
-
|
|
1364
|
+
_selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1297
1365
|
break;
|
|
1298
1366
|
case 'holeID' in selectedObject:
|
|
1299
|
-
|
|
1367
|
+
_selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
|
|
1300
1368
|
break;
|
|
1301
1369
|
default:
|
|
1302
1370
|
break;
|
|
@@ -1315,7 +1383,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1315
1383
|
offsetX: event.offsetX - 50,
|
|
1316
1384
|
offsetY: event.offsetY
|
|
1317
1385
|
}, alti);
|
|
1318
|
-
if (isUndefined(
|
|
1386
|
+
if (isUndefined(_selectedItem)) return;
|
|
1319
1387
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1320
1388
|
lastAngle = 0;
|
|
1321
1389
|
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);
|
|
@@ -1344,7 +1412,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1344
1412
|
scene3D.remove(toolObj);
|
|
1345
1413
|
}
|
|
1346
1414
|
for (_i1 = 0; _i1 < intersects.length; _i1++) {
|
|
1347
|
-
if (
|
|
1415
|
+
if (_selectedItem != undefined && intersects[_i1].object.parent && intersects[_i1].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) selectedFlag = true;
|
|
1348
1416
|
}
|
|
1349
1417
|
if (selectedFlag || toolIntersects.length > 0 && !isElevationView(mode)) {
|
|
1350
1418
|
cameraControls.mouseButtons.left = CameraControls.ACTION.NONE;
|
|
@@ -1361,18 +1429,24 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1361
1429
|
}
|
|
1362
1430
|
};
|
|
1363
1431
|
this.mouseUpEvent = function (event) {
|
|
1364
|
-
var
|
|
1432
|
+
var _selectedObject2;
|
|
1365
1433
|
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1366
1434
|
var selectedElement; // internalEvent data
|
|
1367
1435
|
firstMove = 0;
|
|
1368
1436
|
var altitude = 0;
|
|
1369
|
-
var curLayer = _this2.props.state.scene.getIn(['layers', (
|
|
1437
|
+
var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject2 = selectedObject) === null || _selectedObject2 === void 0 ? void 0 : _selectedObject2.layerID]);
|
|
1370
1438
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
1371
1439
|
var properties = allItemRect.cur.itemInfo.properties;
|
|
1372
1440
|
altitude = properties.getIn(['altitude', '_length']);
|
|
1373
1441
|
var unit = properties.getIn(['altitude', '_unit']) || 'in';
|
|
1374
1442
|
altitude = convert(altitude).from(unit).to(_this2.props.state.scene.unit);
|
|
1375
1443
|
}
|
|
1444
|
+
if (bMirror) {
|
|
1445
|
+
bMirror = false;
|
|
1446
|
+
cameraControls.mouseButtons.left = CameraControls.ACTION.ROTATE;
|
|
1447
|
+
event.preventDefault();
|
|
1448
|
+
return;
|
|
1449
|
+
}
|
|
1376
1450
|
scene3D.remove(angleObj);
|
|
1377
1451
|
scene3D.remove(toolObj);
|
|
1378
1452
|
if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
|
|
@@ -1481,10 +1555,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1481
1555
|
}
|
|
1482
1556
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
1483
1557
|
var addItemToolObj = function addItemToolObj() {
|
|
1484
|
-
var _planData$sceneGraph,
|
|
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[(
|
|
1558
|
+
var _planData$sceneGraph, _selectedObject3, _intersects$_i;
|
|
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[(_selectedObject3 = selectedObject) === null || _selectedObject3 === void 0 ? void 0 : _selectedObject3.itemID];
|
|
1486
1560
|
if (isUndefined(selectedItem)) return;
|
|
1487
1561
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1562
|
+
refreshToolObject(selectedElement);
|
|
1488
1563
|
var itemPos = selectedItem.position.clone();
|
|
1489
1564
|
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) {
|
|
1490
1565
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
@@ -1584,7 +1659,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1584
1659
|
selectedObj = allItemRect.cur;
|
|
1585
1660
|
}
|
|
1586
1661
|
} else {
|
|
1587
|
-
var _planData$sceneGraph2,
|
|
1662
|
+
var _planData$sceneGraph2, _selectedObject4, _selectedObject5;
|
|
1588
1663
|
visibleTransformBox(false);
|
|
1589
1664
|
var alti = 0;
|
|
1590
1665
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1594,8 +1669,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1594
1669
|
alti = convert(alti).from(_unit2).to(_this2.props.state.scene.unit);
|
|
1595
1670
|
}
|
|
1596
1671
|
getPoint(event, alti);
|
|
1597
|
-
var
|
|
1598
|
-
if (isSelected && !isEmpty(
|
|
1672
|
+
var _selectedItem2 = planData === null || planData === void 0 || (_planData$sceneGraph2 = planData.sceneGraph) === null || _planData$sceneGraph2 === void 0 || (_planData$sceneGraph2 = _planData$sceneGraph2.layers[(_selectedObject4 = selectedObject) === null || _selectedObject4 === void 0 ? void 0 : _selectedObject4.layerID]) === null || _planData$sceneGraph2 === void 0 ? void 0 : _planData$sceneGraph2.items[(_selectedObject5 = selectedObject) === null || _selectedObject5 === void 0 ? void 0 : _selectedObject5.itemID];
|
|
1673
|
+
if (isSelected && !isEmpty(_selectedItem2)) addItemToolObj();
|
|
1599
1674
|
if (bRotate) {
|
|
1600
1675
|
_this2.setState({
|
|
1601
1676
|
toolObj: toolObj
|
|
@@ -2094,6 +2169,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2094
2169
|
_this2.context.itemsActions.setMoveStatus(false);
|
|
2095
2170
|
_this2.context.itemsActions.setRotateStatus(false);
|
|
2096
2171
|
bMoveUP = false;
|
|
2172
|
+
bMirror = false;
|
|
2097
2173
|
removeSnapBox();
|
|
2098
2174
|
break;
|
|
2099
2175
|
case 65:
|
|
@@ -2177,6 +2253,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2177
2253
|
currentObject = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
2178
2254
|
if (isUndefined(currentObject)) return;
|
|
2179
2255
|
var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
2256
|
+
refreshToolObject(selItem);
|
|
2180
2257
|
var itemPos = currentObject.position.clone();
|
|
2181
2258
|
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);
|
|
2182
2259
|
scene3D.add(toolObj);
|
|
@@ -2521,6 +2598,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2521
2598
|
}
|
|
2522
2599
|
if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
|
|
2523
2600
|
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
|
+
});
|
|
2524
2609
|
prepareSnapSpec(layer);
|
|
2525
2610
|
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;
|
|
2526
2611
|
if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
|
|
@@ -2553,8 +2638,11 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2553
2638
|
var _this$state = this.state,
|
|
2554
2639
|
toolObj = _this$state.toolObj,
|
|
2555
2640
|
angleObj = _this$state.angleObj;
|
|
2556
|
-
var _updateScene = updateScene(this.planData, nextProps.state.scene, this.props.state.scene,
|
|
2641
|
+
var _updateScene = updateScene(this.planData, nextProps.state.scene, this.props.state.scene, changedValuesJS, actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
|
|
2557
2642
|
promise = _updateScene.promise;
|
|
2643
|
+
if (shouldRefreshSelectedToolObject && this.refreshToolObject) {
|
|
2644
|
+
this.refreshToolObject(selectedItem);
|
|
2645
|
+
}
|
|
2558
2646
|
self.setState();
|
|
2559
2647
|
promise.then(function (p1Value) {
|
|
2560
2648
|
self.setState({
|
package/es/constants.js
CHANGED
|
@@ -79,6 +79,7 @@ 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';
|
|
82
83
|
export var REPLACE_ITEM = 'REPLACE_ITEM';
|
|
83
84
|
export var SELECT_TOOL_DRAWING_ITEM = 'SELECT_TOOL_DRAWING_ITEM';
|
|
84
85
|
export var SELECT_TOOL_DRAWING_ITEM_3D = 'SELECT_TOOL_DRAWING_ITEM_3D';
|
|
@@ -127,6 +128,7 @@ export var SET_APPLIANCE_MATERIAL = 'SET_APPLIANCE_MATERIAL';
|
|
|
127
128
|
export var SET_MOVE_STATUS = 'SET_MOVE_STATUS';
|
|
128
129
|
export var SET_ROTATE_STATUS = 'SET_ROTATE_STATUS';
|
|
129
130
|
export var SET_ITEMS_CCDF = 'SET_ITEMS_CCDF';
|
|
131
|
+
export var SET_MOLDINGS_CCDF = 'SET_MOLDINGS_CCDF';
|
|
130
132
|
//ACTIONS groups
|
|
131
133
|
export var ADD_GROUP = 'ADD_GROUP';
|
|
132
134
|
export var ADD_GROUP_FROM_SELECTED = 'ADD_GROUP_FROM_SELECTED';
|
|
@@ -312,13 +314,15 @@ export var ITEMS_ACTIONS = {
|
|
|
312
314
|
// SET_MOVE_STATUS,
|
|
313
315
|
// SET_ROTATE_STATUS,
|
|
314
316
|
DUPLICATE_SELECTED: DUPLICATE_SELECTED,
|
|
317
|
+
TOGGLE_ITEM_MIRROR: TOGGLE_ITEM_MIRROR,
|
|
315
318
|
EDIT_WIDTH: EDIT_WIDTH,
|
|
316
319
|
TOGGLE_LOADING_CABINET: TOGGLE_LOADING_CABINET,
|
|
317
320
|
END_LOADING: END_LOADING,
|
|
318
321
|
STORE_DIST_ARRAY: STORE_DIST_ARRAY,
|
|
319
322
|
VALIDATE_ITEM_POSTIONS: VALIDATE_ITEM_POSTIONS,
|
|
320
323
|
REPLACE_ITEM: REPLACE_ITEM,
|
|
321
|
-
SET_ITEMS_CCDF: SET_ITEMS_CCDF
|
|
324
|
+
SET_ITEMS_CCDF: SET_ITEMS_CCDF,
|
|
325
|
+
SET_MOLDINGS_CCDF: SET_MOLDINGS_CCDF
|
|
322
326
|
};
|
|
323
327
|
export var HOLE_ACTIONS = {
|
|
324
328
|
SELECT_HOLE: SELECT_HOLE,
|
|
@@ -742,6 +746,7 @@ export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING'; //
|
|
|
742
746
|
export var EXTERNAL_EVENT_CENTERING_2D = 'EXTERNAL_EVENT_CENTERING_2D';
|
|
743
747
|
export var EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT';
|
|
744
748
|
export var EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
|
|
749
|
+
export var EXTERNAL_EVENT_MIRROR_ELEMENT = 'EXTERNAL_EVENT_MIRROR_ELEMENT';
|
|
745
750
|
export var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
|
|
746
751
|
export var EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
|
|
747
752
|
export var EXTERNAL_EVENT_REPLACE_CABINET = 'EXTERNAL_EVENT_REPLACE_CABINET';
|
|
@@ -754,6 +759,7 @@ export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
|
754
759
|
export var INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
755
760
|
export var INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
756
761
|
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
|
762
|
+
export var INTERNAL_EVENT_MIRROR_ELEMENT = 'INTERNAL_EVENT_MIRROR_ELEMENT';
|
|
757
763
|
export var INTERNAL_EVENT_REPLACE_CABINET = 'INTERNAL_EVENT_REPLACE_CABINET';
|
|
758
764
|
export var INTERNAL_EVENT_START_DRAW_WALL = 'INTERNAL_EVENT_START_DRAW_WALL';
|
|
759
765
|
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, 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";
|
|
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_MIRROR_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 } from "./handlers.elementOps";
|
|
20
|
+
import { handleDuplicateElement, handleDeleteElement, handleMirrorElement } 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,92 +46,95 @@ 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_MIRROR_ELEMENT ? 25 : _t === EXTERNAL_EVENT_PROJECT_SETTING ? 26 : _t === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 27 : _t === EXTERNAL_EVENT_UPDATE_PROPERTY ? 27 : _t === EXTERNAL_EVENT_REPLACE_CABINET ? 28 : _t === EXTERNAL_EVENT_SET_FINISHING ? 30 : _t === EXTERNAL_EVENT_SYNC_SCENE ? 31 : 32;
|
|
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", 32);
|
|
56
56
|
case 4:
|
|
57
57
|
handleToggleTo3D(props, MODE_IDLE_3D);
|
|
58
|
-
return _context.abrupt("continue",
|
|
58
|
+
return _context.abrupt("continue", 32);
|
|
59
59
|
case 5:
|
|
60
60
|
handleToggleTo2D(props, MODE_IDLE);
|
|
61
|
-
return _context.abrupt("continue",
|
|
61
|
+
return _context.abrupt("continue", 32);
|
|
62
62
|
case 6:
|
|
63
63
|
handleToggleToElevation(props, layer, MODE_ELEVATION_VIEW);
|
|
64
|
-
return _context.abrupt("continue",
|
|
64
|
+
return _context.abrupt("continue", 32);
|
|
65
65
|
case 7:
|
|
66
66
|
handleAddWall(props, state);
|
|
67
|
-
return _context.abrupt("continue",
|
|
67
|
+
return _context.abrupt("continue", 32);
|
|
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", 32);
|
|
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", 32);
|
|
76
76
|
case 11:
|
|
77
77
|
handleMoveAndRotatePan2D3D(evt.type, props, evt.payload, state);
|
|
78
|
-
return _context.abrupt("continue",
|
|
78
|
+
return _context.abrupt("continue", 32);
|
|
79
79
|
case 12:
|
|
80
80
|
handleNewProject(props);
|
|
81
|
-
return _context.abrupt("continue",
|
|
81
|
+
return _context.abrupt("continue", 32);
|
|
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", 32);
|
|
87
87
|
case 15:
|
|
88
88
|
handleAddRoomShape(props, evt.payload);
|
|
89
|
-
return _context.abrupt("continue",
|
|
89
|
+
return _context.abrupt("continue", 32);
|
|
90
90
|
case 16:
|
|
91
91
|
handleZoomIn(props, state);
|
|
92
|
-
return _context.abrupt("continue",
|
|
92
|
+
return _context.abrupt("continue", 32);
|
|
93
93
|
case 17:
|
|
94
94
|
handleZoomOut(props, state);
|
|
95
|
-
return _context.abrupt("continue",
|
|
95
|
+
return _context.abrupt("continue", 32);
|
|
96
96
|
case 18:
|
|
97
97
|
handleCentering2D(props, state);
|
|
98
|
-
return _context.abrupt("continue",
|
|
98
|
+
return _context.abrupt("continue", 32);
|
|
99
99
|
case 19:
|
|
100
100
|
handleUndo(props);
|
|
101
|
-
return _context.abrupt("continue",
|
|
101
|
+
return _context.abrupt("continue", 32);
|
|
102
102
|
case 20:
|
|
103
103
|
handleRedo(props);
|
|
104
|
-
return _context.abrupt("continue",
|
|
104
|
+
return _context.abrupt("continue", 32);
|
|
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", 32);
|
|
110
110
|
case 23:
|
|
111
111
|
handleDuplicateElement(props, getElement, evt.payload, state);
|
|
112
|
-
return _context.abrupt("continue",
|
|
112
|
+
return _context.abrupt("continue", 32);
|
|
113
113
|
case 24:
|
|
114
114
|
handleDeleteElement(props, getElement, evt.payload, state);
|
|
115
|
-
return _context.abrupt("continue",
|
|
115
|
+
return _context.abrupt("continue", 32);
|
|
116
116
|
case 25:
|
|
117
|
-
|
|
118
|
-
return _context.abrupt("continue",
|
|
117
|
+
handleMirrorElement(props, getElement, evt.payload, state);
|
|
118
|
+
return _context.abrupt("continue", 32);
|
|
119
119
|
case 26:
|
|
120
|
-
|
|
121
|
-
return _context.abrupt("continue",
|
|
120
|
+
handleProjectSetting(props, evt.payload, layer);
|
|
121
|
+
return _context.abrupt("continue", 32);
|
|
122
122
|
case 27:
|
|
123
|
-
|
|
124
|
-
return
|
|
123
|
+
handleUpdateSelectedElementsEvent(props, state, evt, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, updateAttributeOfSelectedElement, updatePropertyOfSelectedElement);
|
|
124
|
+
return _context.abrupt("continue", 32);
|
|
125
125
|
case 28:
|
|
126
|
-
|
|
126
|
+
_context.next = 29;
|
|
127
|
+
return handleReplaceCabinet(props, addItemToCatalog, evt === null || evt === void 0 ? void 0 : evt.payload, state);
|
|
127
128
|
case 29:
|
|
128
|
-
|
|
129
|
-
return _context.abrupt("continue", 31);
|
|
129
|
+
return _context.abrupt("continue", 32);
|
|
130
130
|
case 30:
|
|
131
|
+
handleSetFinishing(props, state, evt.payload);
|
|
132
|
+
return _context.abrupt("continue", 32);
|
|
133
|
+
case 31:
|
|
131
134
|
console.log('*** catalog ***', props.catalog);
|
|
132
135
|
handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE);
|
|
133
|
-
return _context.abrupt("continue",
|
|
134
|
-
case
|
|
136
|
+
return _context.abrupt("continue", 32);
|
|
137
|
+
case 32:
|
|
135
138
|
case "end":
|
|
136
139
|
return _context.stop();
|
|
137
140
|
}
|
|
@@ -90,7 +90,8 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
90
90
|
has_single_door = false;
|
|
91
91
|
fixedPHs = 0;
|
|
92
92
|
temp.forEach(function (t, index) {
|
|
93
|
-
var
|
|
93
|
+
var _t$data;
|
|
94
|
+
var nodes = t === null || t === void 0 || (_t$data = t.data) === null || _t$data === void 0 ? void 0 : _t$data.nodes;
|
|
94
95
|
if (nodes === undefined) {
|
|
95
96
|
nodes = [];
|
|
96
97
|
}
|
|
@@ -221,7 +222,8 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
221
222
|
return felement.name === 'base_drawer_door' + t.name.slice(-2);
|
|
222
223
|
});
|
|
223
224
|
if (ph_temp != undefined) {
|
|
224
|
-
var
|
|
225
|
+
var _ph_temp$data$nodes, _ph_temp;
|
|
226
|
+
var ph_drawer_door_handle = (_ph_temp$data$nodes = (_ph_temp = ph_temp) === null || _ph_temp === void 0 || (_ph_temp = _ph_temp.data) === null || _ph_temp === void 0 ? void 0 : _ph_temp.nodes) !== null && _ph_temp$data$nodes !== void 0 ? _ph_temp$data$nodes : [];
|
|
225
227
|
ph_drawer_door_handle = ph_drawer_door_handle.filter(function (element) {
|
|
226
228
|
return element.name.startsWith('ph_') && element.name.includes('handle');
|
|
227
229
|
});
|