kitchen-simulator 3.0.1 → 3.0.3
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/class/item.js +3 -0
- package/es/components/viewer2d/item.js +5 -2
- package/es/components/viewer2d/rulerDist.js +1 -1
- package/es/components/viewer2d/viewer2d.js +1 -1
- package/es/components/viewer3d/viewer3d.js +71 -61
- package/es/utils/isolate-event-handler.js +5 -2
- package/lib/class/item.js +3 -0
- package/lib/components/viewer2d/item.js +4 -1
- package/lib/components/viewer2d/rulerDist.js +1 -1
- package/lib/components/viewer2d/viewer2d.js +1 -1
- package/lib/components/viewer3d/viewer3d.js +71 -61
- package/lib/utils/isolate-event-handler.js +5 -2
- package/package.json +1 -1
package/es/class/item.js
CHANGED
|
@@ -479,6 +479,9 @@ var Item = /*#__PURE__*/function () {
|
|
|
479
479
|
key: "storeDistArray",
|
|
480
480
|
value: function storeDistArray(state, layerID, itemID, distArray) {
|
|
481
481
|
var curDistArray = state.getIn(['scene', 'layers', layerID, 'items', itemID, 'distArray']);
|
|
482
|
+
distArray.forEach(function (dist) {
|
|
483
|
+
dist[0] < 0 ? dist[0] = 0 : dist[0];
|
|
484
|
+
});
|
|
482
485
|
var isEqualDist = function isEqualDist(a, b) {
|
|
483
486
|
return a == b;
|
|
484
487
|
};
|
|
@@ -5,7 +5,7 @@ import RulerDist from "./rulerDist";
|
|
|
5
5
|
import { convert } from "../../utils/convert-units-lite";
|
|
6
6
|
import { GeometryUtils } from "../../utils/export";
|
|
7
7
|
import { MODE_ROTATING_ITEM, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
8
|
-
import { isEmpty, returnReplaceableDeepSearchType } from "./utils";
|
|
8
|
+
import { isEmpty, isWarningItem, returnReplaceableDeepSearchType } from "./utils";
|
|
9
9
|
import { findCatalogElement } from "../../utils/geometry";
|
|
10
10
|
var STYLE_LINE = {
|
|
11
11
|
fill: '#0096fd',
|
|
@@ -390,7 +390,10 @@ export default function Item(_ref, _ref2) {
|
|
|
390
390
|
y: "-19",
|
|
391
391
|
height: "16",
|
|
392
392
|
width: "16",
|
|
393
|
-
style: {
|
|
393
|
+
style: isWarningItem(item) ? {
|
|
394
|
+
transform: 'rotateX(180deg)',
|
|
395
|
+
opacity: 0.5
|
|
396
|
+
} : {
|
|
394
397
|
transform: 'rotateX(180deg)'
|
|
395
398
|
}
|
|
396
399
|
})), /*#__PURE__*/React.createElement("g", {
|
|
@@ -34,7 +34,7 @@ export default function RulerDist(_ref) {
|
|
|
34
34
|
var _unit = 'in';
|
|
35
35
|
// let _length = convert(length).from(unit).to(rulerUnit);
|
|
36
36
|
var distanceText = "".concat(convert(length).from('cm').to(rulerUnit).toFixed(0));
|
|
37
|
-
var textLength = (distanceText.length + layer.unit.length) *
|
|
37
|
+
var textLength = (distanceText.length + layer.unit.length) * 8;
|
|
38
38
|
var textangle = angle + 90;
|
|
39
39
|
var textRotation = 1;
|
|
40
40
|
var ay = 2;
|
|
@@ -948,7 +948,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
948
948
|
case 'items':
|
|
949
949
|
if (elementData.part === 'duplicate') {
|
|
950
950
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
951
|
-
itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
951
|
+
if (!isWarningItem(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
952
952
|
break;
|
|
953
953
|
} else if (elementData.part === 'remove') {
|
|
954
954
|
projectActions.remove();
|
|
@@ -1184,6 +1184,25 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1184
1184
|
itemID: selItemId
|
|
1185
1185
|
};
|
|
1186
1186
|
};
|
|
1187
|
+
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1188
|
+
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1189
|
+
if (!isEmpty(evtType)) {
|
|
1190
|
+
var _this2$props$onIntern, _this2$props;
|
|
1191
|
+
var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
|
|
1192
|
+
if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'items') {
|
|
1193
|
+
// check this cabinet has warning box
|
|
1194
|
+
payload.isWarning = isWarningItem(evtElement);
|
|
1195
|
+
// check this item is snapped to wall
|
|
1196
|
+
payload.isAttachedWall = MoldingUtils.isAttachedWall(layer, evtElement);
|
|
1197
|
+
// update distArray
|
|
1198
|
+
if (pointArray) payload.distArray = pointArray;
|
|
1199
|
+
}
|
|
1200
|
+
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1201
|
+
type: evtType,
|
|
1202
|
+
value: payload
|
|
1203
|
+
});
|
|
1204
|
+
}
|
|
1205
|
+
};
|
|
1187
1206
|
this.mouseDownEvent = function (event) {
|
|
1188
1207
|
gridPlanOrigin = gridPlane.position;
|
|
1189
1208
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
@@ -1479,39 +1498,42 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1479
1498
|
currentObject = currentObject.parent;
|
|
1480
1499
|
}
|
|
1481
1500
|
isSelected = true;
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1501
|
+
setTimeout(function () {
|
|
1502
|
+
getDistances(layer);
|
|
1503
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1504
|
+
if (isUndefined(selectedItem)) return;
|
|
1505
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1506
|
+
var itemPos = selectedItem.position.clone();
|
|
1507
|
+
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1508
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1509
|
+
} else {
|
|
1510
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1511
|
+
}
|
|
1512
|
+
scene3D.add(toolObj);
|
|
1513
|
+
_this2.setState({
|
|
1514
|
+
toolObj: toolObj
|
|
1515
|
+
});
|
|
1516
|
+
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1517
|
+
var pointArray = [],
|
|
1518
|
+
cnt = 0;
|
|
1519
|
+
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1520
|
+
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1521
|
+
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1522
|
+
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1523
|
+
pointArray.forEach(function (pointElement, index) {
|
|
1524
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1525
|
+
});
|
|
1526
|
+
pointArray.forEach(function (pointElement) {
|
|
1527
|
+
if (pointElement[0] == 0) cnt++;
|
|
1528
|
+
});
|
|
1529
|
+
if (cnt == 4 || cnt == 3) {
|
|
1530
|
+
pointArray[0][0] = 100;
|
|
1531
|
+
pointArray[1][0] = 100;
|
|
1532
|
+
}
|
|
1533
|
+
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1534
|
+
internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1535
|
+
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
1508
1536
|
});
|
|
1509
|
-
if (cnt == 4 || cnt == 3) {
|
|
1510
|
-
pointArray[0][0] = 100;
|
|
1511
|
-
pointArray[1][0] = 100;
|
|
1512
|
-
}
|
|
1513
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1514
|
-
internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1515
1537
|
} else {
|
|
1516
1538
|
if (selectedObject) {
|
|
1517
1539
|
var elementID = null;
|
|
@@ -1569,14 +1591,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1569
1591
|
getPoint(event, alti);
|
|
1570
1592
|
if (bRotate) {
|
|
1571
1593
|
var _intersects$_i;
|
|
1572
|
-
var
|
|
1573
|
-
if (isUndefined(
|
|
1594
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1595
|
+
if (isUndefined(selectedItem)) return;
|
|
1574
1596
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1575
|
-
var
|
|
1576
|
-
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) ===
|
|
1597
|
+
var itemPos = selectedItem.position.clone();
|
|
1598
|
+
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) {
|
|
1577
1599
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1578
1600
|
} else {
|
|
1579
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1601
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1580
1602
|
}
|
|
1581
1603
|
scene3D.add(toolObj);
|
|
1582
1604
|
_this2.setState({
|
|
@@ -1587,14 +1609,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1587
1609
|
}
|
|
1588
1610
|
if (bMove) {
|
|
1589
1611
|
bMove = false;
|
|
1590
|
-
var
|
|
1591
|
-
if (isUndefined(
|
|
1612
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1613
|
+
if (isUndefined(_selectedItem)) return;
|
|
1592
1614
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1593
|
-
var
|
|
1594
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1615
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1616
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
|
|
1595
1617
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1596
1618
|
} else {
|
|
1597
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1619
|
+
toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
|
|
1598
1620
|
}
|
|
1599
1621
|
scene3D.add(toolObj);
|
|
1600
1622
|
_this2.setState({
|
|
@@ -1628,20 +1650,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1628
1650
|
selectedObj = allItemRect.cur;
|
|
1629
1651
|
}
|
|
1630
1652
|
}
|
|
1631
|
-
|
|
1632
|
-
var _selectedElement, _selectedElement2, _this2$props$onIntern, _this2$props;
|
|
1633
|
-
var payload = (_selectedElement = selectedElement) === null || _selectedElement === void 0 ? void 0 : _selectedElement.toJS();
|
|
1634
|
-
if (((_selectedElement2 = selectedElement) === null || _selectedElement2 === void 0 ? void 0 : _selectedElement2.prototype) === 'items') {
|
|
1635
|
-
// check this cabinet has warning box
|
|
1636
|
-
payload.isWarning = isWarningItem(selectedElement);
|
|
1637
|
-
// check this item is snapped to wall
|
|
1638
|
-
payload.isAttachedWall = MoldingUtils.isAttachedWall(layer, selectedElement);
|
|
1639
|
-
}
|
|
1640
|
-
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1641
|
-
type: internalType,
|
|
1642
|
-
value: payload
|
|
1643
|
-
});
|
|
1644
|
-
}
|
|
1653
|
+
sendInternalEvent(internalType, selectedElement);
|
|
1645
1654
|
};
|
|
1646
1655
|
this.mouseEnterEvent = function (event) {
|
|
1647
1656
|
if (_this2.props.state.mode !== MODE_DRAWING_ITEM_3D) return;
|
|
@@ -2609,9 +2618,10 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2609
2618
|
}, /*#__PURE__*/React.createElement("img", {
|
|
2610
2619
|
style: {
|
|
2611
2620
|
animation: 'spin 2s linear infinite',
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2621
|
+
position: "absolute",
|
|
2622
|
+
top: "50%",
|
|
2623
|
+
width: '70px',
|
|
2624
|
+
height: '70px'
|
|
2615
2625
|
},
|
|
2616
2626
|
src: '/assets/img/loading/loading.gif',
|
|
2617
2627
|
alt: "img"
|
|
@@ -2631,8 +2641,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2631
2641
|
animation: 'spin 2s linear infinite',
|
|
2632
2642
|
position: "absolute",
|
|
2633
2643
|
top: "50%",
|
|
2634
|
-
width: '
|
|
2635
|
-
height: '
|
|
2644
|
+
width: '70px',
|
|
2645
|
+
height: '70px'
|
|
2636
2646
|
},
|
|
2637
2647
|
src: '/assets/img/loading/loading.gif',
|
|
2638
2648
|
alt: "img"
|
|
@@ -110,10 +110,13 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
110
110
|
tempPlaceholders.map(function (element) {
|
|
111
111
|
var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
|
|
112
112
|
if (sink_match && sink_match.length >= 2) {
|
|
113
|
-
var _cabinetPayload$struc3;
|
|
113
|
+
var _process$env$API_URL, _cabinetPayload$struc3;
|
|
114
114
|
tempData['sink'] = tempData['sink'] || [];
|
|
115
115
|
tempData['sink'].push(element.name);
|
|
116
|
-
var sink_url = process.env.API_URL
|
|
116
|
+
var sink_url = (_process$env$API_URL = process.env.API_URL) !== null && _process$env$API_URL !== void 0 ? _process$env$API_URL :
|
|
117
|
+
// server url from 3DTool env
|
|
118
|
+
import.meta.env.VITE_APP_API_URL + // server url from Host env
|
|
119
|
+
"/uploads/assets/default/".concat(sink_match[1], ".gltf");
|
|
117
120
|
if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc3 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc3 !== void 0 && (_cabinetPayload$struc3 = _cabinetPayload$struc3.tempPlaceholders[0]) !== null && _cabinetPayload$struc3 !== void 0 && _cabinetPayload$struc3.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
|
|
118
121
|
} else if (temp.some(function (felement) {
|
|
119
122
|
return felement.name.includes('base_drawer');
|
package/lib/class/item.js
CHANGED
|
@@ -486,6 +486,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
486
486
|
key: "storeDistArray",
|
|
487
487
|
value: function storeDistArray(state, layerID, itemID, distArray) {
|
|
488
488
|
var curDistArray = state.getIn(['scene', 'layers', layerID, 'items', itemID, 'distArray']);
|
|
489
|
+
distArray.forEach(function (dist) {
|
|
490
|
+
dist[0] < 0 ? dist[0] = 0 : dist[0];
|
|
491
|
+
});
|
|
489
492
|
var isEqualDist = function isEqualDist(a, b) {
|
|
490
493
|
return a == b;
|
|
491
494
|
};
|
|
@@ -399,7 +399,10 @@ function Item(_ref, _ref2) {
|
|
|
399
399
|
y: "-19",
|
|
400
400
|
height: "16",
|
|
401
401
|
width: "16",
|
|
402
|
-
style: {
|
|
402
|
+
style: (0, _utils.isWarningItem)(item) ? {
|
|
403
|
+
transform: 'rotateX(180deg)',
|
|
404
|
+
opacity: 0.5
|
|
405
|
+
} : {
|
|
403
406
|
transform: 'rotateX(180deg)'
|
|
404
407
|
}
|
|
405
408
|
})), /*#__PURE__*/_react["default"].createElement("g", {
|
|
@@ -41,7 +41,7 @@ function RulerDist(_ref) {
|
|
|
41
41
|
var _unit = 'in';
|
|
42
42
|
// let _length = convert(length).from(unit).to(rulerUnit);
|
|
43
43
|
var distanceText = "".concat((0, _convertUnitsLite.convert)(length).from('cm').to(rulerUnit).toFixed(0));
|
|
44
|
-
var textLength = (distanceText.length + layer.unit.length) *
|
|
44
|
+
var textLength = (distanceText.length + layer.unit.length) * 8;
|
|
45
45
|
var textangle = angle + 90;
|
|
46
46
|
var textRotation = 1;
|
|
47
47
|
var ay = 2;
|
|
@@ -956,7 +956,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
956
956
|
case 'items':
|
|
957
957
|
if (elementData.part === 'duplicate') {
|
|
958
958
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
959
|
-
itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
959
|
+
if (!(0, _utils.isWarningItem)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
960
960
|
break;
|
|
961
961
|
} else if (elementData.part === 'remove') {
|
|
962
962
|
projectActions.remove();
|
|
@@ -1190,6 +1190,25 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1190
1190
|
itemID: selItemId
|
|
1191
1191
|
};
|
|
1192
1192
|
};
|
|
1193
|
+
var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
|
|
1194
|
+
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1195
|
+
if (!(0, _helper.isEmpty)(evtType)) {
|
|
1196
|
+
var _this2$props$onIntern, _this2$props;
|
|
1197
|
+
var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
|
|
1198
|
+
if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'items') {
|
|
1199
|
+
// check this cabinet has warning box
|
|
1200
|
+
payload.isWarning = (0, _utils.isWarningItem)(evtElement);
|
|
1201
|
+
// check this item is snapped to wall
|
|
1202
|
+
payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, evtElement);
|
|
1203
|
+
// update distArray
|
|
1204
|
+
if (pointArray) payload.distArray = pointArray;
|
|
1205
|
+
}
|
|
1206
|
+
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1207
|
+
type: evtType,
|
|
1208
|
+
value: payload
|
|
1209
|
+
});
|
|
1210
|
+
}
|
|
1211
|
+
};
|
|
1193
1212
|
this.mouseDownEvent = function (event) {
|
|
1194
1213
|
gridPlanOrigin = gridPlane.position;
|
|
1195
1214
|
gridMatrix.copy(gridPlane.matrixWorld).invert();
|
|
@@ -1485,39 +1504,42 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1485
1504
|
currentObject = currentObject.parent;
|
|
1486
1505
|
}
|
|
1487
1506
|
isSelected = true;
|
|
1488
|
-
(
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1507
|
+
setTimeout(function () {
|
|
1508
|
+
(0, _sceneCreator.getDistances)(layer);
|
|
1509
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1510
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1511
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1512
|
+
var itemPos = selectedItem.position.clone();
|
|
1513
|
+
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1514
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1515
|
+
} else {
|
|
1516
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1517
|
+
}
|
|
1518
|
+
scene3D.add(toolObj);
|
|
1519
|
+
_this2.setState({
|
|
1520
|
+
toolObj: toolObj
|
|
1521
|
+
});
|
|
1522
|
+
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1523
|
+
var pointArray = [],
|
|
1524
|
+
cnt = 0;
|
|
1525
|
+
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
1526
|
+
pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
|
|
1527
|
+
pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
|
|
1528
|
+
pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
|
|
1529
|
+
pointArray.forEach(function (pointElement, index) {
|
|
1530
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1531
|
+
});
|
|
1532
|
+
pointArray.forEach(function (pointElement) {
|
|
1533
|
+
if (pointElement[0] == 0) cnt++;
|
|
1534
|
+
});
|
|
1535
|
+
if (cnt == 4 || cnt == 3) {
|
|
1536
|
+
pointArray[0][0] = 100;
|
|
1537
|
+
pointArray[1][0] = 100;
|
|
1538
|
+
}
|
|
1539
|
+
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1540
|
+
internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1541
|
+
sendInternalEvent(internalType, selectedElement, pointArray);
|
|
1514
1542
|
});
|
|
1515
|
-
if (cnt == 4 || cnt == 3) {
|
|
1516
|
-
pointArray[0][0] = 100;
|
|
1517
|
-
pointArray[1][0] = 100;
|
|
1518
|
-
}
|
|
1519
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1520
|
-
internalType = internalType ? internalType : _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1521
1543
|
} else {
|
|
1522
1544
|
if (selectedObject) {
|
|
1523
1545
|
var elementID = null;
|
|
@@ -1575,14 +1597,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1575
1597
|
getPoint(event, alti);
|
|
1576
1598
|
if (bRotate) {
|
|
1577
1599
|
var _intersects$_i;
|
|
1578
|
-
var
|
|
1579
|
-
if ((0, _util.isUndefined)(
|
|
1600
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1601
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1580
1602
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1581
|
-
var
|
|
1582
|
-
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) ===
|
|
1603
|
+
var itemPos = selectedItem.position.clone();
|
|
1604
|
+
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) {
|
|
1583
1605
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1584
1606
|
} else {
|
|
1585
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1607
|
+
toolObj.position.set(planData.plan.position.x + itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + selectedItem.children[0].position.y, planData.plan.position.z + itemPos.z);
|
|
1586
1608
|
}
|
|
1587
1609
|
scene3D.add(toolObj);
|
|
1588
1610
|
_this2.setState({
|
|
@@ -1593,14 +1615,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1593
1615
|
}
|
|
1594
1616
|
if (bMove) {
|
|
1595
1617
|
bMove = false;
|
|
1596
|
-
var
|
|
1597
|
-
if ((0, _util.isUndefined)(
|
|
1618
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1619
|
+
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1598
1620
|
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1599
|
-
var
|
|
1600
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1621
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1622
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem.userData.itemId) {
|
|
1601
1623
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1602
1624
|
} else {
|
|
1603
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1625
|
+
toolObj.position.set(planData.plan.position.x + _itemPos.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem.children[0].position.y, planData.plan.position.z + _itemPos.z);
|
|
1604
1626
|
}
|
|
1605
1627
|
scene3D.add(toolObj);
|
|
1606
1628
|
_this2.setState({
|
|
@@ -1634,20 +1656,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1634
1656
|
selectedObj = allItemRect.cur;
|
|
1635
1657
|
}
|
|
1636
1658
|
}
|
|
1637
|
-
|
|
1638
|
-
var _selectedElement, _selectedElement2, _this2$props$onIntern, _this2$props;
|
|
1639
|
-
var payload = (_selectedElement = selectedElement) === null || _selectedElement === void 0 ? void 0 : _selectedElement.toJS();
|
|
1640
|
-
if (((_selectedElement2 = selectedElement) === null || _selectedElement2 === void 0 ? void 0 : _selectedElement2.prototype) === 'items') {
|
|
1641
|
-
// check this cabinet has warning box
|
|
1642
|
-
payload.isWarning = (0, _utils.isWarningItem)(selectedElement);
|
|
1643
|
-
// check this item is snapped to wall
|
|
1644
|
-
payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, selectedElement);
|
|
1645
|
-
}
|
|
1646
|
-
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1647
|
-
type: internalType,
|
|
1648
|
-
value: payload
|
|
1649
|
-
});
|
|
1650
|
-
}
|
|
1659
|
+
sendInternalEvent(internalType, selectedElement);
|
|
1651
1660
|
};
|
|
1652
1661
|
this.mouseEnterEvent = function (event) {
|
|
1653
1662
|
if (_this2.props.state.mode !== _constants.MODE_DRAWING_ITEM_3D) return;
|
|
@@ -2615,9 +2624,10 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2615
2624
|
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
2616
2625
|
style: {
|
|
2617
2626
|
animation: 'spin 2s linear infinite',
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2627
|
+
position: "absolute",
|
|
2628
|
+
top: "50%",
|
|
2629
|
+
width: '70px',
|
|
2630
|
+
height: '70px'
|
|
2621
2631
|
},
|
|
2622
2632
|
src: '/assets/img/loading/loading.gif',
|
|
2623
2633
|
alt: "img"
|
|
@@ -2637,8 +2647,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
2637
2647
|
animation: 'spin 2s linear infinite',
|
|
2638
2648
|
position: "absolute",
|
|
2639
2649
|
top: "50%",
|
|
2640
|
-
width: '
|
|
2641
|
-
height: '
|
|
2650
|
+
width: '70px',
|
|
2651
|
+
height: '70px'
|
|
2642
2652
|
},
|
|
2643
2653
|
src: '/assets/img/loading/loading.gif',
|
|
2644
2654
|
alt: "img"
|
|
@@ -117,10 +117,13 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
117
117
|
tempPlaceholders.map(function (element) {
|
|
118
118
|
var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
|
|
119
119
|
if (sink_match && sink_match.length >= 2) {
|
|
120
|
-
var _cabinetPayload$struc3;
|
|
120
|
+
var _process$env$API_URL, _cabinetPayload$struc3;
|
|
121
121
|
tempData['sink'] = tempData['sink'] || [];
|
|
122
122
|
tempData['sink'].push(element.name);
|
|
123
|
-
var sink_url = process.env.API_URL
|
|
123
|
+
var sink_url = (_process$env$API_URL = process.env.API_URL) !== null && _process$env$API_URL !== void 0 ? _process$env$API_URL :
|
|
124
|
+
// server url from 3DTool env
|
|
125
|
+
import.meta.env.VITE_APP_API_URL + // server url from Host env
|
|
126
|
+
"/uploads/assets/default/".concat(sink_match[1], ".gltf");
|
|
124
127
|
if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc3 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc3 !== void 0 && (_cabinetPayload$struc3 = _cabinetPayload$struc3.tempPlaceholders[0]) !== null && _cabinetPayload$struc3 !== void 0 && _cabinetPayload$struc3.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
|
|
125
128
|
} else if (temp.some(function (felement) {
|
|
126
129
|
return felement.name.includes('base_drawer');
|