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.
Files changed (93) hide show
  1. package/es/actions/items-actions.js +20 -2
  2. package/es/assets/img/svg/3d_item_move.svg +9 -105
  3. package/es/assets/img/svg/3d_item_rotation.svg +3 -75
  4. package/es/assets/img/svg/accessories.svg +4 -4
  5. package/es/assets/img/svg/bottombar/elevation-back.svg +6 -6
  6. package/es/assets/img/svg/bottombar/elevation-front.svg +6 -6
  7. package/es/assets/img/svg/bottombar/elevation-left.svg +6 -6
  8. package/es/assets/img/svg/bottombar/elevation-right.svg +7 -7
  9. package/es/assets/img/svg/bottombar/elevation.svg +13 -13
  10. package/es/assets/img/svg/delete.svg +6 -2
  11. package/es/assets/img/svg/detail.svg +77 -77
  12. package/es/assets/img/svg/duplicate.svg +6 -6
  13. package/es/assets/img/svg/filtersActive.svg +19 -19
  14. package/es/assets/img/svg/invert.svg +12 -127
  15. package/es/assets/img/svg/menubar/login.svg +84 -84
  16. package/es/assets/img/svg/menubar/my_projects.svg +85 -85
  17. package/es/assets/img/svg/menubar/new_project.svg +110 -110
  18. package/es/assets/img/svg/menubar/save_project.svg +84 -84
  19. package/es/assets/img/svg/options.svg +3 -3
  20. package/es/assets/img/svg/positioning.svg +3 -3
  21. package/es/assets/img/svg/toggleFilters.svg +19 -19
  22. package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -13
  23. package/es/assets/img/svg/wizardstep/detail_view.svg +87 -87
  24. package/es/assets/img/svg/wizardstep/tile_view.svg +95 -95
  25. package/es/catalog/utils/exporter.js +4 -0
  26. package/es/catalog/utils/item-loader.js +18 -8
  27. package/es/class/item.js +80 -2
  28. package/es/components/viewer2d/item.js +139 -125
  29. package/es/components/viewer2d/viewer2d.js +7 -4
  30. package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
  31. package/es/components/viewer3d/scene-creator.js +18 -0
  32. package/es/components/viewer3d/viewer3d.js +137 -49
  33. package/es/constants.js +7 -1
  34. package/es/events/external/handleExternalEvent.js +36 -33
  35. package/es/events/external/handleExternalEvent.util.js +4 -2
  36. package/es/events/external/handlers.changeDoorStyle.js +28 -7
  37. package/es/events/external/handlers.elementOps.js +8 -0
  38. package/es/mappings/external-events/mapExternalEventPayload.js +4 -4
  39. package/es/mappings/external-events/mappers/addItemMapper.js +9 -9
  40. package/es/mappings/external-events/mappers/ccdfMapper.js +1 -1
  41. package/es/models.js +4 -0
  42. package/es/reducers/items-reducer.js +10 -1
  43. package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
  44. package/es/shared/domain/cabinet-mirror.js +7 -0
  45. package/es/utils/geometry.js +5 -3
  46. package/es/utils/skinPanelEngine.js +14 -14
  47. package/lib/actions/items-actions.js +20 -0
  48. package/lib/assets/img/svg/3d_item_move.svg +9 -105
  49. package/lib/assets/img/svg/3d_item_rotation.svg +3 -75
  50. package/lib/assets/img/svg/accessories.svg +4 -4
  51. package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -6
  52. package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -6
  53. package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -6
  54. package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -7
  55. package/lib/assets/img/svg/bottombar/elevation.svg +13 -13
  56. package/lib/assets/img/svg/delete.svg +6 -2
  57. package/lib/assets/img/svg/detail.svg +77 -77
  58. package/lib/assets/img/svg/duplicate.svg +6 -6
  59. package/lib/assets/img/svg/filtersActive.svg +19 -19
  60. package/lib/assets/img/svg/invert.svg +12 -127
  61. package/lib/assets/img/svg/menubar/login.svg +84 -84
  62. package/lib/assets/img/svg/menubar/my_projects.svg +85 -85
  63. package/lib/assets/img/svg/menubar/new_project.svg +110 -110
  64. package/lib/assets/img/svg/menubar/save_project.svg +84 -84
  65. package/lib/assets/img/svg/options.svg +3 -3
  66. package/lib/assets/img/svg/positioning.svg +3 -3
  67. package/lib/assets/img/svg/toggleFilters.svg +19 -19
  68. package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -13
  69. package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -87
  70. package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -95
  71. package/lib/catalog/utils/exporter.js +4 -0
  72. package/lib/catalog/utils/item-loader.js +18 -8
  73. package/lib/class/item.js +79 -1
  74. package/lib/components/viewer2d/item.js +138 -124
  75. package/lib/components/viewer2d/viewer2d.js +7 -4
  76. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
  77. package/lib/components/viewer3d/scene-creator.js +18 -0
  78. package/lib/components/viewer3d/viewer3d.js +137 -49
  79. package/lib/constants.js +11 -5
  80. package/lib/events/external/handleExternalEvent.js +34 -31
  81. package/lib/events/external/handleExternalEvent.util.js +4 -2
  82. package/lib/events/external/handlers.changeDoorStyle.js +28 -7
  83. package/lib/events/external/handlers.elementOps.js +9 -0
  84. package/lib/mappings/external-events/mapExternalEventPayload.js +4 -4
  85. package/lib/mappings/external-events/mappers/addItemMapper.js +9 -9
  86. package/lib/mappings/external-events/mappers/ccdfMapper.js +1 -1
  87. package/lib/models.js +4 -0
  88. package/lib/reducers/items-reducer.js +9 -0
  89. package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
  90. package/lib/shared/domain/cabinet-mirror.js +13 -0
  91. package/lib/utils/geometry.js +5 -3
  92. package/lib/utils/skinPanelEngine.js +14 -14
  93. package/package.json +1 -1
@@ -527,6 +527,8 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
527
527
  getDistances(layer, item);
528
528
  }, 50);
529
529
  removeSelItemMesh(tmpMoldings, item, planData, mode);
530
+ } else if (modifiedPath[keyIndex] == 'mirrored') {
531
+ applyMirrorToItem3D(item3D, item.mirrored);
530
532
  } else if (modifiedPath[keyIndex] == 'selected') {
531
533
  var itemType = !!catalog.elements[item.type] ? catalog.elements[item.type].type : catalog.elements[(0, _utils.returnReplaceableDeepSearchType)(item.type)].type;
532
534
  if (value == false) {
@@ -2247,6 +2249,22 @@ function updateItem(sceneData, oldSceneData, planData, layer, itemID, difference
2247
2249
  if (!mesh) return null;
2248
2250
  return catalog.getElement(item.type).updateRender3D(item, layer, sceneData, mesh, oldItem, differences, selfDestroy, selfBuild);
2249
2251
  }
2252
+ function applyMirrorToItem3D(item3D, mirrored) {
2253
+ var _item3D$children, _object$children;
2254
+ var object = item3D === null || item3D === void 0 || (_item3D$children = item3D.children) === null || _item3D$children === void 0 ? void 0 : _item3D$children[0];
2255
+ if (!object || !object.scale) return;
2256
+ var shouldMirror = mirrored === true;
2257
+ var isCurrentlyMirrored = object.scale.x < 0;
2258
+ if (shouldMirror !== isCurrentlyMirrored) object.scale.x *= -1;
2259
+ var transformGizmo = (_object$children = object.children) === null || _object$children === void 0 ? void 0 : _object$children.find(function (child) {
2260
+ return child.name === 'TransformGizmo';
2261
+ });
2262
+ if (transformGizmo !== null && transformGizmo !== void 0 && transformGizmo.scale) {
2263
+ var sign = object.scale.x < 0 ? -1 : 1;
2264
+ transformGizmo.scale.x = sign * Math.abs(transformGizmo.scale.x);
2265
+ }
2266
+ object.userData.mirrored = shouldMirror;
2267
+ }
2250
2268
 
2251
2269
  // Apply interact function to children of an Object3D
2252
2270
  function applyInteract(object, interactFunction) {
@@ -31,11 +31,13 @@ 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 _cabinetMirror = require("../../shared/domain/cabinet-mirror");
34
35
  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); }
35
36
  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; }
36
37
  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; }
37
38
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
38
39
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
40
+ var ICON_SPACING = 0;
39
41
  _cameraControls["default"].install({
40
42
  THREE: Three
41
43
  });
@@ -350,6 +352,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
350
352
  var bRotate = false;
351
353
  var bMove = false;
352
354
  var bMoveUP = false;
355
+ var bMirror = false;
353
356
  /** Transformation matrix of grid */
354
357
  var gridMatrix = new Three.Matrix4();
355
358
  var rayDirection = new Three.Vector3();
@@ -1051,35 +1054,73 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1051
1054
  var firstMove = false;
1052
1055
  var prevX, prevY;
1053
1056
  var selObj = null;
1057
+ var TOOL_CANVAS_WIDTH = 100;
1058
+ var TOOL_CANVAS_TWO_BUTTON_HEIGHT = 200;
1059
+ var TOOL_CANVAS_THREE_BUTTON_HEIGHT = 300;
1060
+ var TOOL_BUTTON_RADIUS = 40;
1061
+ var TOOL_BUTTONS_SPACING = 20;
1062
+ var TOOL_HIT_RADIUS = 20;
1063
+ var getItemMirrored = function getItemMirrored(item) {
1064
+ return (item === null || item === void 0 ? void 0 : item.mirrored) === true;
1065
+ };
1066
+ var canMirrorItem = function canMirrorItem(item) {
1067
+ return (0, _cabinetMirror.canMirrorCabinet)(item);
1068
+ };
1069
+ var toolTexture = null;
1054
1070
  var createToolObject = function createToolObject() {
1071
+ var mirrorActive = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1072
+ var canMirror = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1073
+ var buttons = [{
1074
+ src: '/assets/img/svg/3d_item_rotation.svg',
1075
+ y: 50
1076
+ }, {
1077
+ src: '/assets/img/svg/3d_item_move.svg',
1078
+ y: 150
1079
+ }, canMirror && {
1080
+ src: '/assets/img/svg/invert.svg',
1081
+ y: 250,
1082
+ flip: !mirrorActive
1083
+ }].filter(Boolean);
1055
1084
  var canvas = document.createElement('canvas');
1056
- canvas.width = 100;
1057
- canvas.height = 200;
1058
- canvas.style.width = 50 + 'px';
1059
- canvas.style.height = 100 + 'px';
1085
+ canvas.width = TOOL_CANVAS_WIDTH;
1086
+ canvas.height = canMirror ? TOOL_CANVAS_THREE_BUTTON_HEIGHT : TOOL_CANVAS_TWO_BUTTON_HEIGHT;
1087
+ canvas.style.width = '50px';
1088
+ canvas.style.height = canMirror ? '150px' : '100px';
1060
1089
  var ctx = canvas.getContext('2d');
1061
- ctx.fillStyle = '#FFFFFF';
1062
- ctx.strokeStyle = '#000000';
1063
- ctx.beginPath();
1064
- ctx.arc(50, 50, 40, 0, 4 * Math.PI);
1065
- ctx.fill();
1066
- ctx.stroke();
1067
- var img1 = new Image();
1068
- img1.crossOrigin = 'anonymous';
1069
- img1.src = '/assets/img/svg/3d_item_rotation.svg';
1070
- img1.onload = function () {
1071
- ctx.drawImage(img1, 16, 16, 68, 68);
1090
+ var drawShadowCircle = function drawShadowCircle(x, y, radius) {
1091
+ ctx.save();
1092
+ ctx.shadowColor = 'rgba(0, 0, 0, 0.16)';
1093
+ ctx.shadowBlur = 2.4;
1094
+ ctx.shadowOffsetX = 0;
1095
+ ctx.shadowOffsetY = -1;
1096
+ ctx.fillStyle = '#FFFFFF';
1097
+ ctx.beginPath();
1098
+ ctx.arc(x, y, radius, 0, 2 * Math.PI);
1099
+ ctx.fill();
1100
+ ctx.restore();
1072
1101
  };
1073
- ctx.beginPath();
1074
- ctx.arc(50, 150, 40, 0, 4 * Math.PI);
1075
- ctx.fill();
1076
- ctx.stroke();
1077
- var img2 = new Image();
1078
- img2.crossOrigin = 'anonymous';
1079
- img2.src = '/assets/img/svg/3d_item_move.svg';
1080
- img2.onload = function () {
1081
- ctx.drawImage(img2, 16, 116, 68, 68);
1102
+ var drawIcon = function drawIcon(_ref) {
1103
+ var src = _ref.src,
1104
+ y = _ref.y,
1105
+ flip = _ref.flip;
1106
+ drawShadowCircle(50, y, TOOL_BUTTON_RADIUS);
1107
+ var img = new Image();
1108
+ img.crossOrigin = 'anonymous';
1109
+ img.src = src;
1110
+ img.onload = function () {
1111
+ ctx.save();
1112
+ if (flip) {
1113
+ ctx.translate(100, 0);
1114
+ ctx.scale(-1, 1);
1115
+ }
1116
+ ctx.imageSmoothingEnabled = true;
1117
+ ctx.imageSmoothingQuality = 'high';
1118
+ ctx.drawImage(img, 25, y - 25, 50, 50);
1119
+ ctx.restore();
1120
+ if (toolTexture) toolTexture.needsUpdate = true;
1121
+ };
1082
1122
  };
1123
+ buttons.forEach(drawIcon);
1083
1124
  return canvas;
1084
1125
  };
1085
1126
  var clockWise = true;
@@ -1118,7 +1159,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1118
1159
  lastAngle = rotate;
1119
1160
  return canvas;
1120
1161
  };
1121
- var toolTexture = new Three.Texture(createToolObject());
1162
+ toolTexture = new Three.Texture(createToolObject(false, false));
1122
1163
  toolTexture.needsUpdate = true;
1123
1164
  var toolObj = new Three.Sprite(new Three.SpriteMaterial({
1124
1165
  map: toolTexture,
@@ -1129,6 +1170,15 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1129
1170
  toolObj.scale.set(20, 40, 20);
1130
1171
  toolObj.renderOrder = 3;
1131
1172
  toolObj.name = 'toolObj';
1173
+ toolObj.userData.canMirror = false;
1174
+ var refreshToolObject = function refreshToolObject(item) {
1175
+ var showMirror = canMirrorItem(item);
1176
+ toolTexture.image = createToolObject(getItemMirrored(item), showMirror);
1177
+ toolTexture.needsUpdate = true;
1178
+ toolObj.scale.set(20, showMirror ? 60 : 40, 20);
1179
+ toolObj.userData.canMirror = showMirror;
1180
+ };
1181
+ this.refreshToolObject = refreshToolObject;
1132
1182
  var angleTexture = new Three.Texture(createAngleObject(0));
1133
1183
  angleTexture.needsUpdate = true;
1134
1184
  var angleObj = new Three.Sprite(new Three.SpriteMaterial({
@@ -1206,6 +1256,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1206
1256
  }
1207
1257
  };
1208
1258
  this.mouseDownEvent = function (event) {
1259
+ var _selectedObject;
1209
1260
  gridPlanOrigin = gridPlane.position;
1210
1261
  gridMatrix.copy(gridPlane.matrixWorld).invert();
1211
1262
  var altitude = 0;
@@ -1234,6 +1285,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1234
1285
  * 1 - move up/down
1235
1286
  * 2 - move x/y
1236
1287
  * 3 - camera rotate
1288
+ * 4 - mirror
1237
1289
  */
1238
1290
  var transflag = 3;
1239
1291
  raycaster.setFromCamera(mouse, camera);
@@ -1247,20 +1299,23 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1247
1299
  var intersects = raycaster.intersectObjects(meshes, true);
1248
1300
  var toolIntersects = raycaster.intersectObjects([toolObj], true);
1249
1301
 
1250
- // This code is excuted when click the tool object(rotation or move icon).
1302
+ // This code is excuted when click the tool object(rotation, move or mirror icon).
1251
1303
  if (toolIntersects.length > 0) {
1252
1304
  updateSelectedObject();
1253
- // it determines whether mouse is over on rotation icon or move icon.
1254
- var distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.25) * 100, 2));
1255
- // move icon selected
1256
- if (distance <= 20) {
1305
+ var toolHeight = toolObj.userData.canMirror ? TOOL_CANVAS_THREE_BUTTON_HEIGHT : TOOL_CANVAS_TWO_BUTTON_HEIGHT;
1306
+ var yScale = toolHeight / 2;
1307
+ var distanceFromToolButton = function distanceFromToolButton(centerY) {
1308
+ return Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - centerY) * yScale, 2));
1309
+ };
1310
+ var moveCenter = toolObj.userData.canMirror ? 0.5 : 0.25;
1311
+ var rotateCenter = toolObj.userData.canMirror ? 5 / 6 : 0.75;
1312
+ var mirrorCenter = 1 / 6;
1313
+ if (toolObj.userData.canMirror && distanceFromToolButton(mirrorCenter) <= TOOL_HIT_RADIUS) {
1314
+ transflag = 4;
1315
+ } else if (distanceFromToolButton(moveCenter) <= TOOL_HIT_RADIUS) {
1257
1316
  transflag = 2;
1258
- } else {
1259
- distance = Math.sqrt(Math.pow((toolIntersects[0].uv.x - 0.5) * 50, 2) + Math.pow((toolIntersects[0].uv.y - 0.75) * 100, 2));
1260
- // rotation icon selected
1261
- if (distance <= 20) {
1262
- transflag = 0;
1263
- }
1317
+ } else if (distanceFromToolButton(rotateCenter) <= TOOL_HIT_RADIUS) {
1318
+ transflag = 0;
1264
1319
  }
1265
1320
  }
1266
1321
  if (intersects.length > 0) {
@@ -1279,6 +1334,19 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1279
1334
  }
1280
1335
  }
1281
1336
  if (_this2.props.state.mode == _constants.MODE_DRAWING_ITEM_3D) return;
1337
+ if (isSelected && transflag == 4 && (_selectedObject = selectedObject) !== null && _selectedObject !== void 0 && _selectedObject.itemID) {
1338
+ var _this2$props$state$sc;
1339
+ 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);
1340
+ if (canMirrorItem(selectedItem)) {
1341
+ var mirrored = selectedItem.mirrored !== true;
1342
+ var mirroredItem = selectedItem.set('mirrored', mirrored);
1343
+ refreshToolObject(mirroredItem);
1344
+ _this2.context.itemsActions.toggleItemMirror(selectedObject.layerID, selectedObject.itemID, mirrored, _this2.props.onInternalEvent);
1345
+ cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
1346
+ bMirror = true;
1347
+ }
1348
+ return;
1349
+ }
1282
1350
  if (isSelected) {
1283
1351
  !_this2.props.downloadFlag && _this2.props.setToolbar('');
1284
1352
  if (intersects.length > 0 && !isNaN(intersects[0].distance)) {
@@ -1297,13 +1365,13 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1297
1365
  }
1298
1366
  if (selectedObject !== undefined) {
1299
1367
  // get selected object from planData.sceneGraph
1300
- var selectedItem = null;
1368
+ var _selectedItem = null;
1301
1369
  switch (true) {
1302
1370
  case 'itemID' in selectedObject:
1303
- selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1371
+ _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
1304
1372
  break;
1305
1373
  case 'holeID' in selectedObject:
1306
- selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
1374
+ _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
1307
1375
  break;
1308
1376
  default:
1309
1377
  break;
@@ -1322,7 +1390,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1322
1390
  offsetX: event.offsetX - 50,
1323
1391
  offsetY: event.offsetY
1324
1392
  }, alti);
1325
- if ((0, _util.isUndefined)(selectedItem)) return;
1393
+ if ((0, _util.isUndefined)(_selectedItem)) return;
1326
1394
  var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1327
1395
  lastAngle = 0;
1328
1396
  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);
@@ -1351,7 +1419,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1351
1419
  scene3D.remove(toolObj);
1352
1420
  }
1353
1421
  for (_i1 = 0; _i1 < intersects.length; _i1++) {
1354
- if (selectedItem != undefined && intersects[_i1].object.parent && intersects[_i1].object.parent.parent.userData.itemId === selectedItem.userData.itemId) selectedFlag = true;
1422
+ if (_selectedItem != undefined && intersects[_i1].object.parent && intersects[_i1].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) selectedFlag = true;
1355
1423
  }
1356
1424
  if (selectedFlag || toolIntersects.length > 0 && !(0, _helper.isElevationView)(mode)) {
1357
1425
  cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.NONE;
@@ -1368,18 +1436,24 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1368
1436
  }
1369
1437
  };
1370
1438
  this.mouseUpEvent = function (event) {
1371
- var _selectedObject;
1439
+ var _selectedObject2;
1372
1440
  var internalType = ''; // internalEvent type - select/drag/draw
1373
1441
  var selectedElement; // internalEvent data
1374
1442
  firstMove = 0;
1375
1443
  var altitude = 0;
1376
- var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject = selectedObject) === null || _selectedObject === void 0 ? void 0 : _selectedObject.layerID]);
1444
+ var curLayer = _this2.props.state.scene.getIn(['layers', (_selectedObject2 = selectedObject) === null || _selectedObject2 === void 0 ? void 0 : _selectedObject2.layerID]);
1377
1445
  if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
1378
1446
  var properties = allItemRect.cur.itemInfo.properties;
1379
1447
  altitude = properties.getIn(['altitude', '_length']);
1380
1448
  var unit = properties.getIn(['altitude', '_unit']) || 'in';
1381
1449
  altitude = (0, _convertUnitsLite.convert)(altitude).from(unit).to(_this2.props.state.scene.unit);
1382
1450
  }
1451
+ if (bMirror) {
1452
+ bMirror = false;
1453
+ cameraControls.mouseButtons.left = _cameraControls["default"].ACTION.ROTATE;
1454
+ event.preventDefault();
1455
+ return;
1456
+ }
1383
1457
  scene3D.remove(angleObj);
1384
1458
  scene3D.remove(toolObj);
1385
1459
  if (!_this2.props.downloadFlag && !_this2.props.state.mode.includes('ING')) {
@@ -1488,10 +1562,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1488
1562
  }
1489
1563
  gridMatrix.copy(gridPlane.matrixWorld).invert();
1490
1564
  var addItemToolObj = function addItemToolObj() {
1491
- var _planData$sceneGraph, _selectedObject2, _intersects$_i;
1492
- 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];
1565
+ var _planData$sceneGraph, _selectedObject3, _intersects$_i;
1566
+ 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];
1493
1567
  if ((0, _util.isUndefined)(selectedItem)) return;
1494
1568
  selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
1569
+ refreshToolObject(selectedElement);
1495
1570
  var itemPos = selectedItem.position.clone();
1496
1571
  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) {
1497
1572
  toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
@@ -1591,7 +1666,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1591
1666
  selectedObj = allItemRect.cur;
1592
1667
  }
1593
1668
  } else {
1594
- var _planData$sceneGraph2, _selectedObject3, _selectedObject4;
1669
+ var _planData$sceneGraph2, _selectedObject4, _selectedObject5;
1595
1670
  (0, _sceneCreator.visibleTransformBox)(false);
1596
1671
  var alti = 0;
1597
1672
  if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
@@ -1601,8 +1676,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1601
1676
  alti = (0, _convertUnitsLite.convert)(alti).from(_unit2).to(_this2.props.state.scene.unit);
1602
1677
  }
1603
1678
  getPoint(event, alti);
1604
- 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];
1605
- if (isSelected && !(0, _helper.isEmpty)(_selectedItem)) addItemToolObj();
1679
+ 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];
1680
+ if (isSelected && !(0, _helper.isEmpty)(_selectedItem2)) addItemToolObj();
1606
1681
  if (bRotate) {
1607
1682
  _this2.setState({
1608
1683
  toolObj: toolObj
@@ -2101,6 +2176,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2101
2176
  _this2.context.itemsActions.setMoveStatus(false);
2102
2177
  _this2.context.itemsActions.setRotateStatus(false);
2103
2178
  bMoveUP = false;
2179
+ bMirror = false;
2104
2180
  removeSnapBox();
2105
2181
  break;
2106
2182
  case 65:
@@ -2184,6 +2260,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2184
2260
  currentObject = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
2185
2261
  if ((0, _util.isUndefined)(currentObject)) return;
2186
2262
  var selItem = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
2263
+ refreshToolObject(selItem);
2187
2264
  var itemPos = currentObject.position.clone();
2188
2265
  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);
2189
2266
  scene3D.add(toolObj);
@@ -2528,6 +2605,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2528
2605
  }
2529
2606
  if (nextProps.state.scene !== this.props.state.scene || nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') !== this.props.state.doorStyle.get('name')) {
2530
2607
  var changedValues = (0, _immutablediff["default"])(this.props.state.scene, nextProps.state.scene);
2608
+ var changedValuesJS = changedValues.toJS();
2609
+ var selectedItemID = layer.selected.items.size ? layer.selected.items.get(0) : null;
2610
+ var selectedItem = selectedItemID ? layer.items.get(selectedItemID) : null;
2611
+ var shouldRefreshSelectedToolObject = selectedItem && changedValuesJS.some(function (_ref2) {
2612
+ var path = _ref2.path;
2613
+ var modifiedPath = path.split('/');
2614
+ return modifiedPath[1] === 'layers' && modifiedPath[2] === String(data.selectedLayer) && modifiedPath[3] === 'items' && modifiedPath[4] === String(selectedItemID) && modifiedPath[5] === 'mirrored';
2615
+ });
2531
2616
  prepareSnapSpec(layer);
2532
2617
  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;
2533
2618
  if (nextProps.state.doorStyle && nextProps.state.doorStyle.get('name') === this.props.state.doorStyle.get('name')) {
@@ -2560,8 +2645,11 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
2560
2645
  var _this$state = this.state,
2561
2646
  toolObj = _this$state.toolObj,
2562
2647
  angleObj = _this$state.angleObj;
2563
- 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),
2648
+ var _updateScene = (0, _sceneCreator.updateScene)(this.planData, nextProps.state.scene, this.props.state.scene, changedValuesJS, actions, this.context.catalog, nextProps.state.mode, toolObj, angleObj, nextProps.state.draggingSupport),
2564
2649
  promise = _updateScene.promise;
2650
+ if (shouldRefreshSelectedToolObject && this.refreshToolObject) {
2651
+ this.refreshToolObject(selectedItem);
2652
+ }
2565
2653
  self.setState();
2566
2654
  promise.then(function (p1Value) {
2567
2655
  self.setState({
package/lib/constants.js CHANGED
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.ELEMENT_VERTEX = exports.ELEMENT_LINE = exports.ELEMENT_ITEM = exports.ELEMENT_HOLE = exports.ELEMENT_AREA = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DOORSTYLE_SCOPE_SINGLE = exports.DOORSTYLE_SCOPE_MULTIPLE = exports.DOORSTYLE_SCOPE_ALL = exports.DISTANCE_MEASUREMENT_LINE_COLOR = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_MOLDING_PIECE_LENGTH = exports.DEFAULT_INTERIOR_TEXTURE = exports.DEFAULT_FONT_FAMILY = exports.DEFAULT_DOOR_HANDLE_TEXTURE_URL = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.DASH_LINE_COLOR = exports.CREATE_ROOM_WITH_SHAPE = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_MEASUREMENT_UNIT = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_ITEM_MEASUREMENT_LINE_COLOR = exports.BASE_CABINET_LAYOUTPOS = exports.BACK_DIST_ANG = exports.ATT_VERTEXT_TWO = exports.ATT_VERTEXT_ONE = exports.ATT_LINE_LENGTH = exports.ATT_ITEM_ROTATION = exports.ATT_ITEM_POS = exports.ATT_HOLE_OFFSET_B = exports.ATT_HOLE_OFFSET_A = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_ELEMENT_TO_CATALOG = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCESSORIES_LAYOUTPOS = exports.ACCENT_COLOR = void 0;
7
- exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAX_ZOOM_IN_SCALE = exports.MAX_ANGLE_SCALE = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT_DIST_ANG = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INTERNAL_EVENT_UNSELECT_ALL = exports.INTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.INTERNAL_EVENT_SYNC_SCENE = exports.INTERNAL_EVENT_START_DRAW_WALL = exports.INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_REPLACE_CABINET = exports.INTERNAL_EVENT_ITEMS_CATALOG = exports.INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_NAMES = exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FRONT_DIST_ANG = exports.FINISHING_TYPE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_IN = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_SYNC_SCENE = exports.EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_FINISHING = exports.EXTERNAL_EVENT_ROTATE_PAN = exports.EXTERNAL_EVENT_REPLACE_CABINET = exports.EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_LOAD_PROJECT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_CHANGE_DOORSTYLE = exports.EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ROOM_SHAPE = exports.EXTERNAL_EVENT_ADD_ITEM = exports.EXTERNAL_EVENT_ADD_HOLE = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = void 0;
8
- exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROOM_SHAPE_TYPE = exports.ROOM_SHAPE_MEASUREMENT_LINE_COLOR = exports.ROOM_ELEMENT_MEASUREMENT_LINE_COLOR = exports.ROLLBACK = exports.RIGHT_DIST_ANG = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROP_RESIZE_WIDTH = exports.PROP_RESIZE_HEIGHT = exports.PROP_RESIZE_DEPTH = exports.PROP_OPEN_DOORS = exports.PROP_FLIP_DOOR_HANDLE = exports.PROP_ALTITUDE = exports.PROJECT_SETTING_OPTION = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = void 0;
9
- exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH_LONG = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_CCDF = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = void 0;
10
- exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VANITY_CABINET_LAYOUTPOS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = void 0;
7
+ exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAX_ZOOM_IN_SCALE = exports.MAX_ANGLE_SCALE = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT_DIST_ANG = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INTERNAL_EVENT_UNSELECT_ALL = exports.INTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.INTERNAL_EVENT_SYNC_SCENE = exports.INTERNAL_EVENT_START_DRAW_WALL = exports.INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_REPLACE_CABINET = exports.INTERNAL_EVENT_MIRROR_ELEMENT = exports.INTERNAL_EVENT_ITEMS_CATALOG = exports.INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_NAMES = exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FRONT_DIST_ANG = exports.FINISHING_TYPE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_IN = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_SYNC_SCENE = exports.EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_FINISHING = exports.EXTERNAL_EVENT_ROTATE_PAN = exports.EXTERNAL_EVENT_REPLACE_CABINET = exports.EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_MIRROR_ELEMENT = exports.EXTERNAL_EVENT_LOAD_PROJECT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_CHANGE_DOORSTYLE = exports.EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ROOM_SHAPE = exports.EXTERNAL_EVENT_ADD_ITEM = exports.EXTERNAL_EVENT_ADD_HOLE = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = void 0;
8
+ exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROOM_SHAPE_TYPE = exports.ROOM_SHAPE_MEASUREMENT_LINE_COLOR = exports.ROOM_ELEMENT_MEASUREMENT_LINE_COLOR = exports.ROLLBACK = exports.RIGHT_DIST_ANG = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROP_RESIZE_WIDTH = exports.PROP_RESIZE_HEIGHT = exports.PROP_RESIZE_DEPTH = exports.PROP_OPEN_DOORS = exports.PROP_FLIP_DOOR_HANDLE = exports.PROP_ALTITUDE = exports.PROJECT_SETTING_OPTION = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = void 0;
9
+ exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH_LONG = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOGGLE_ITEM_MIRROR = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDINGS_CCDF = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_CCDF = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = void 0;
10
+ exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_ITEM_MEASUREMENT_LINE_COLOR = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VANITY_CABINET_LAYOUTPOS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = void 0;
11
11
  //API server
12
12
  // export const API_SERVER = 'http://localhost:3000/';
13
13
  // ACTIONS project
@@ -89,6 +89,7 @@ var END_LOADING = exports.END_LOADING = 'END_LOADING';
89
89
  var TOGGLE_LOADING_CABINET = exports.TOGGLE_LOADING_CABINET = 'TOGGLE_LOADING_CABINET';
90
90
  var EDIT_WIDTH = exports.EDIT_WIDTH = 'EDIT_WIDTH';
91
91
  var DUPLICATE_SELECTED = exports.DUPLICATE_SELECTED = 'DUPLICATE_SELECTED';
92
+ var TOGGLE_ITEM_MIRROR = exports.TOGGLE_ITEM_MIRROR = 'TOGGLE_ITEM_MIRROR';
92
93
  var REPLACE_ITEM = exports.REPLACE_ITEM = 'REPLACE_ITEM';
93
94
  var SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_ITEM = 'SELECT_TOOL_DRAWING_ITEM';
94
95
  var SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM_3D = 'SELECT_TOOL_DRAWING_ITEM_3D';
@@ -137,6 +138,7 @@ var SET_APPLIANCE_MATERIAL = exports.SET_APPLIANCE_MATERIAL = 'SET_APPLIANCE_MAT
137
138
  var SET_MOVE_STATUS = exports.SET_MOVE_STATUS = 'SET_MOVE_STATUS';
138
139
  var SET_ROTATE_STATUS = exports.SET_ROTATE_STATUS = 'SET_ROTATE_STATUS';
139
140
  var SET_ITEMS_CCDF = exports.SET_ITEMS_CCDF = 'SET_ITEMS_CCDF';
141
+ var SET_MOLDINGS_CCDF = exports.SET_MOLDINGS_CCDF = 'SET_MOLDINGS_CCDF';
140
142
  //ACTIONS groups
141
143
  var ADD_GROUP = exports.ADD_GROUP = 'ADD_GROUP';
142
144
  var ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP_FROM_SELECTED = 'ADD_GROUP_FROM_SELECTED';
@@ -322,13 +324,15 @@ var ITEMS_ACTIONS = exports.ITEMS_ACTIONS = {
322
324
  // SET_MOVE_STATUS,
323
325
  // SET_ROTATE_STATUS,
324
326
  DUPLICATE_SELECTED: DUPLICATE_SELECTED,
327
+ TOGGLE_ITEM_MIRROR: TOGGLE_ITEM_MIRROR,
325
328
  EDIT_WIDTH: EDIT_WIDTH,
326
329
  TOGGLE_LOADING_CABINET: TOGGLE_LOADING_CABINET,
327
330
  END_LOADING: END_LOADING,
328
331
  STORE_DIST_ARRAY: STORE_DIST_ARRAY,
329
332
  VALIDATE_ITEM_POSTIONS: VALIDATE_ITEM_POSTIONS,
330
333
  REPLACE_ITEM: REPLACE_ITEM,
331
- SET_ITEMS_CCDF: SET_ITEMS_CCDF
334
+ SET_ITEMS_CCDF: SET_ITEMS_CCDF,
335
+ SET_MOLDINGS_CCDF: SET_MOLDINGS_CCDF
332
336
  };
333
337
  var HOLE_ACTIONS = exports.HOLE_ACTIONS = {
334
338
  SELECT_HOLE: SELECT_HOLE,
@@ -752,6 +756,7 @@ var EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_PROJECT_SETTING = 'E
752
756
  var EXTERNAL_EVENT_CENTERING_2D = exports.EXTERNAL_EVENT_CENTERING_2D = 'EXTERNAL_EVENT_CENTERING_2D';
753
757
  var EXTERNAL_EVENT_DUPLICATE_ELEMENT = exports.EXTERNAL_EVENT_DUPLICATE_ELEMENT = 'EXTERNAL_EVENT_DUPLICATE_ELEMENT';
754
758
  var EXTERNAL_EVENT_DELETE_ELEMENT = exports.EXTERNAL_EVENT_DELETE_ELEMENT = 'EXTERNAL_EVENT_DELETE_ELEMENT';
759
+ var EXTERNAL_EVENT_MIRROR_ELEMENT = exports.EXTERNAL_EVENT_MIRROR_ELEMENT = 'EXTERNAL_EVENT_MIRROR_ELEMENT';
755
760
  var EXTERNAL_EVENT_UPDATE_ATTRIBUTE = exports.EXTERNAL_EVENT_UPDATE_ATTRIBUTE = 'EXTERNAL_EVENT_UPDATE_ATTRIBUTE'; // update the element's attributes (distance, rotation...) in the property window
756
761
  var EXTERNAL_EVENT_UPDATE_PROPERTY = exports.EXTERNAL_EVENT_UPDATE_PROPERTY = 'EXTERNAL_EVENT_UPDATE_PROPERTY'; // update the element's property (flip_doorhandle, open_doors...) in the property window
757
762
  var EXTERNAL_EVENT_REPLACE_CABINET = exports.EXTERNAL_EVENT_REPLACE_CABINET = 'EXTERNAL_EVENT_REPLACE_CABINET';
@@ -764,6 +769,7 @@ var INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_SELECT_ELEMENT = 'INT
764
769
  var INTERNAL_EVENT_DRAG_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
765
770
  var INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
766
771
  var INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
772
+ var INTERNAL_EVENT_MIRROR_ELEMENT = exports.INTERNAL_EVENT_MIRROR_ELEMENT = 'INTERNAL_EVENT_MIRROR_ELEMENT';
767
773
  var INTERNAL_EVENT_REPLACE_CABINET = exports.INTERNAL_EVENT_REPLACE_CABINET = 'INTERNAL_EVENT_REPLACE_CABINET';
768
774
  var INTERNAL_EVENT_START_DRAW_WALL = exports.INTERNAL_EVENT_START_DRAW_WALL = 'INTERNAL_EVENT_START_DRAW_WALL';
769
775
  var INTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.INTERNAL_EVENT_TOGGLE_TO_ELEVATION = 'INTERNAL_EVENT_TOGGLE_TO_ELEVATION';