kitchen-simulator 1.0.0-alin.8 → 1.0.0-clark.100
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/LiteKitchenConfigurator.js +17 -175
- package/es/LiteRenderer.js +29 -114
- package/es/actions/items-actions.js +11 -6
- package/es/actions/project-actions.js +2 -3
- package/es/assets/img/svg/logo.svg +11 -0
- package/es/assets/img/svg/logo_with_text.svg +25 -0
- package/es/catalog/areas/area/planner-element.js +10 -5
- package/es/catalog/catalog.js +1 -4
- package/es/catalog/factories/wall-factory.js +8 -8
- package/es/catalog/lines/wall/planner-element.js +18 -9
- package/es/catalog/utils/exporter.js +5 -1
- package/es/catalog/utils/item-loader.js +112 -31
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/class/item.js +111 -145
- package/es/class/line.js +27 -12
- package/es/class/project.js +9 -23
- package/es/components/content.js +10 -5
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/item.js +20 -81
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +334 -259
- package/es/components/viewer2d/ruler.js +15 -35
- package/es/components/viewer2d/rulerDist.js +18 -32
- package/es/components/viewer2d/viewer2d.js +123 -95
- package/es/components/viewer3d/libs/mtl-loader.js +2 -2
- package/es/components/viewer3d/libs/obj-loader.js +2 -2
- package/es/components/viewer3d/libs/orbit-controls.js +3 -4
- package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
- package/es/components/viewer3d/viewer3d.js +91 -70
- package/es/constants.js +38 -3
- package/es/devLiteRenderer.js +165 -10
- package/es/index.js +52 -3
- package/es/models.js +7 -5
- package/es/reducers/items-reducer.js +8 -4
- package/es/reducers/project-reducer.js +1 -1
- package/es/shared-style.js +4 -4
- package/es/utils/get-edges-of-subgraphs.js +1 -1
- package/es/utils/graph-cycles.js +1 -1
- package/es/utils/graph.js +1 -1
- package/es/utils/helper.js +1 -1
- package/es/utils/isolate-event-handler.js +567 -46
- package/lib/LiteKitchenConfigurator.js +18 -176
- package/lib/LiteRenderer.js +29 -114
- package/lib/actions/items-actions.js +11 -5
- package/lib/actions/project-actions.js +2 -3
- package/lib/assets/img/svg/logo.svg +11 -0
- package/lib/assets/img/svg/logo_with_text.svg +25 -0
- package/lib/catalog/areas/area/planner-element.js +11 -5
- package/lib/catalog/catalog.js +1 -4
- package/lib/catalog/factories/wall-factory.js +8 -8
- package/lib/catalog/lines/wall/planner-element.js +19 -9
- package/lib/catalog/utils/exporter.js +5 -1
- package/lib/catalog/utils/item-loader.js +111 -31
- package/lib/catalog/utils/mtl-loader.js +9 -2
- package/lib/catalog/utils/obj-loader.js +10 -2
- package/lib/class/item.js +111 -145
- package/lib/class/line.js +27 -12
- package/lib/class/project.js +9 -23
- package/lib/components/content.js +10 -5
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/item.js +20 -81
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +334 -258
- package/lib/components/viewer2d/ruler.js +15 -35
- package/lib/components/viewer2d/rulerDist.js +18 -32
- package/lib/components/viewer2d/viewer2d.js +121 -93
- package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
- package/lib/components/viewer3d/libs/obj-loader.js +9 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
- package/lib/components/viewer3d/viewer3d.js +90 -69
- package/lib/constants.js +42 -7
- package/lib/devLiteRenderer.js +164 -9
- package/lib/index.js +52 -3
- package/lib/models.js +7 -5
- package/lib/reducers/items-reducer.js +7 -3
- package/lib/reducers/project-reducer.js +1 -1
- package/lib/shared-style.js +4 -4
- package/lib/utils/get-edges-of-subgraphs.js +6 -1
- package/lib/utils/graph-cycles.js +7 -8
- package/lib/utils/graph.js +6 -1
- package/lib/utils/helper.js +2 -2
- package/lib/utils/isolate-event-handler.js +567 -45
- package/package.json +3 -3
|
@@ -19,7 +19,7 @@ import { checkCabinetOverlap, createBacksplash, deleteSpecifiedMeshObjects, fVLi
|
|
|
19
19
|
import { disposeObject, disposeScene } from "./three-memory-cleaner";
|
|
20
20
|
import diff from 'immutablediff';
|
|
21
21
|
import * as SharedStyle from "../../shared-style";
|
|
22
|
-
import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS } from "../../constants";
|
|
22
|
+
import { BASE_CABINET_LAYOUTPOS, MODE_3D_VIEW, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_HOLE_3D, MODE_DRAWING_ITEM_3D, MODE_ELEVATION_VIEW, MODE_IDLE_3D, MODE_ROTATING_ITEM_3D, SECONDARY_PURPLE_COLOR, TALL_CABINET_LAYOUTPOS, UNIT_CENTIMETER, WALL_CABINET_LAYOUTPOS, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT, MODE_ROTATING_ITEM, MODE_DRAGGING_HOLE_3D } from "../../constants";
|
|
23
23
|
import { isUndefined } from 'util';
|
|
24
24
|
import { verticesDistance } from "../../utils/geometry";
|
|
25
25
|
import { convert } from "../../utils/convert-units-lite";
|
|
@@ -94,9 +94,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
94
94
|
} else {
|
|
95
95
|
if (_this.props.downloadFlag) window.__elevationRendererDownload[mode] = _this.renderer;else window.__elevationRenderer = _this.renderer;
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
_this.renderer.domElement.style.display = 'none';
|
|
99
|
-
}
|
|
97
|
+
_this.renderer.domElement.style.display = 'none';
|
|
100
98
|
return _this;
|
|
101
99
|
}
|
|
102
100
|
_inherits(Scene3DViewer, _React$Component);
|
|
@@ -1276,7 +1274,18 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1276
1274
|
}
|
|
1277
1275
|
}
|
|
1278
1276
|
if (selectedObject !== undefined) {
|
|
1279
|
-
|
|
1277
|
+
// get selected object from planData.sceneGraph
|
|
1278
|
+
var selectedItem = null;
|
|
1279
|
+
switch (true) {
|
|
1280
|
+
case 'itemID' in selectedObject:
|
|
1281
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1282
|
+
break;
|
|
1283
|
+
case 'holeID' in selectedObject:
|
|
1284
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
|
|
1285
|
+
break;
|
|
1286
|
+
default:
|
|
1287
|
+
break;
|
|
1288
|
+
}
|
|
1280
1289
|
sPoint.set(Point.x, Point.y);
|
|
1281
1290
|
if (transflag == 0) {
|
|
1282
1291
|
scene3D.remove(toolObj);
|
|
@@ -1342,7 +1351,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1342
1351
|
}
|
|
1343
1352
|
};
|
|
1344
1353
|
this.mouseUpEvent = function (event) {
|
|
1345
|
-
var
|
|
1354
|
+
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1355
|
+
var selectedElement; // internalEvent data
|
|
1346
1356
|
firstMove = 0;
|
|
1347
1357
|
var altitude = 0;
|
|
1348
1358
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1379,6 +1389,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1379
1389
|
isInitialPhase = true;
|
|
1380
1390
|
return;
|
|
1381
1391
|
}
|
|
1392
|
+
switch (_this2.props.state.mode) {
|
|
1393
|
+
case MODE_DRAGGING_ITEM_3D:
|
|
1394
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
1395
|
+
break;
|
|
1396
|
+
case MODE_ROTATING_ITEM_3D:
|
|
1397
|
+
internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
1398
|
+
break;
|
|
1399
|
+
}
|
|
1382
1400
|
if (_this2.props.state.mode == MODE_DRAGGING_ITEM_3D) {
|
|
1383
1401
|
_this2.context.itemsActions.endDraggingItem3D();
|
|
1384
1402
|
}
|
|
@@ -1460,56 +1478,62 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1460
1478
|
currentObject = currentObject.parent;
|
|
1461
1479
|
}
|
|
1462
1480
|
isSelected = true;
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1487
|
-
});
|
|
1488
|
-
pointArray.forEach(function (pointElement) {
|
|
1489
|
-
if (pointElement[0] == 0) cnt++;
|
|
1490
|
-
});
|
|
1491
|
-
if (cnt == 4 || cnt == 3) {
|
|
1492
|
-
pointArray[0][0] = 100;
|
|
1493
|
-
pointArray[1][0] = 100;
|
|
1494
|
-
}
|
|
1495
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1481
|
+
getDistances(layer);
|
|
1482
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1483
|
+
if (isUndefined(selectedItem)) return;
|
|
1484
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1485
|
+
var itemPos = selectedItem.position.clone();
|
|
1486
|
+
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1487
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1488
|
+
} else {
|
|
1489
|
+
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);
|
|
1490
|
+
}
|
|
1491
|
+
scene3D.add(toolObj);
|
|
1492
|
+
_this2.setState({
|
|
1493
|
+
toolObj: toolObj
|
|
1494
|
+
});
|
|
1495
|
+
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1496
|
+
var pointArray = [],
|
|
1497
|
+
cnt = 0;
|
|
1498
|
+
pointArray.push([fVLine[0].userData.distance, 90]);
|
|
1499
|
+
pointArray.push([fVLine[1].userData.distance, -90]);
|
|
1500
|
+
pointArray.push([fVLine[2].userData.distance, 180]);
|
|
1501
|
+
pointArray.push([fVLine[3].userData.distance, 0]);
|
|
1502
|
+
pointArray.forEach(function (pointElement, index) {
|
|
1503
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1496
1504
|
});
|
|
1505
|
+
pointArray.forEach(function (pointElement) {
|
|
1506
|
+
if (pointElement[0] == 0) cnt++;
|
|
1507
|
+
});
|
|
1508
|
+
if (cnt == 4 || cnt == 3) {
|
|
1509
|
+
pointArray[0][0] = 100;
|
|
1510
|
+
pointArray[1][0] = 100;
|
|
1511
|
+
}
|
|
1512
|
+
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1513
|
+
internalType = internalType ? internalType : INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1497
1514
|
} else {
|
|
1498
1515
|
if (selectedObject) {
|
|
1516
|
+
var elementID = null;
|
|
1517
|
+
var elementPrototype = null;
|
|
1499
1518
|
switch (true) {
|
|
1500
1519
|
case 'holeID' in selectedObject:
|
|
1501
|
-
if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
|
|
1502
|
-
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1503
|
-
}
|
|
1504
|
-
break;
|
|
1505
1520
|
case 'lineID' in selectedObject:
|
|
1506
|
-
if (
|
|
1521
|
+
if (_this2.props.state.mode === MODE_DRAGGING_HOLE_3D) {
|
|
1507
1522
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1523
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1524
|
+
elementID = selectedObject.holeID;
|
|
1525
|
+
elementPrototype = 'holeID';
|
|
1508
1526
|
}
|
|
1509
1527
|
break;
|
|
1528
|
+
case 'areaID' in selectedObject:
|
|
1529
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1530
|
+
elementID = selectedObject.areaID;
|
|
1531
|
+
elementPrototype = 'areas';
|
|
1532
|
+
break;
|
|
1510
1533
|
default:
|
|
1511
1534
|
break;
|
|
1512
1535
|
}
|
|
1536
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
|
|
1513
1537
|
}
|
|
1514
1538
|
isSelected = false;
|
|
1515
1539
|
}
|
|
@@ -1544,14 +1568,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1544
1568
|
getPoint(event, alti);
|
|
1545
1569
|
if (bRotate) {
|
|
1546
1570
|
var _intersects$_i;
|
|
1547
|
-
var
|
|
1548
|
-
if (isUndefined(
|
|
1549
|
-
|
|
1550
|
-
var
|
|
1551
|
-
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) ===
|
|
1571
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1572
|
+
if (isUndefined(_selectedItem)) return;
|
|
1573
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1574
|
+
var _itemPos = _selectedItem.position.clone();
|
|
1575
|
+
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) {
|
|
1552
1576
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1553
1577
|
} else {
|
|
1554
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1578
|
+
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);
|
|
1555
1579
|
}
|
|
1556
1580
|
scene3D.add(toolObj);
|
|
1557
1581
|
_this2.setState({
|
|
@@ -1562,14 +1586,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1562
1586
|
}
|
|
1563
1587
|
if (bMove) {
|
|
1564
1588
|
bMove = false;
|
|
1565
|
-
var
|
|
1566
|
-
if (isUndefined(
|
|
1567
|
-
|
|
1568
|
-
var
|
|
1569
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1589
|
+
var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1590
|
+
if (isUndefined(_selectedItem2)) return;
|
|
1591
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1592
|
+
var _itemPos2 = _selectedItem2.position.clone();
|
|
1593
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
|
|
1570
1594
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1571
1595
|
} else {
|
|
1572
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1596
|
+
toolObj.position.set(planData.plan.position.x + _itemPos2.x, selectedElement.category === 'lighting' ? -planData.plan.position.y - selectedElement.properties.get('height').get('length') : planData.plan.position.y + _selectedItem2.children[0].position.y, planData.plan.position.z + _itemPos2.z);
|
|
1573
1597
|
}
|
|
1574
1598
|
scene3D.add(toolObj);
|
|
1575
1599
|
_this2.setState({
|
|
@@ -1603,6 +1627,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1603
1627
|
selectedObj = allItemRect.cur;
|
|
1604
1628
|
}
|
|
1605
1629
|
}
|
|
1630
|
+
if (!isEmpty(internalType)) {
|
|
1631
|
+
var _this2$props$onIntern, _this2$props;
|
|
1632
|
+
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1633
|
+
type: internalType,
|
|
1634
|
+
value: selectedElement.toJS()
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1606
1637
|
};
|
|
1607
1638
|
this.mouseEnterEvent = function (event) {
|
|
1608
1639
|
if (_this2.props.state.mode !== MODE_DRAWING_ITEM_3D) return;
|
|
@@ -2360,9 +2391,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2360
2391
|
self.props.setIsLoadingElevation('front', false);
|
|
2361
2392
|
}, 100);
|
|
2362
2393
|
}
|
|
2363
|
-
|
|
2364
|
-
self.renderer.domElement.style.display = 'block';
|
|
2365
|
-
}
|
|
2394
|
+
self.renderer.domElement.style.display = 'block';
|
|
2366
2395
|
}
|
|
2367
2396
|
}
|
|
2368
2397
|
}
|
|
@@ -2506,9 +2535,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2506
2535
|
break;
|
|
2507
2536
|
}
|
|
2508
2537
|
}
|
|
2509
|
-
|
|
2510
|
-
self.renderer.domElement.style.display = 'none';
|
|
2511
|
-
}
|
|
2538
|
+
self.renderer.domElement.style.display = 'none';
|
|
2512
2539
|
}
|
|
2513
2540
|
if (nextProps.state.scene.showfg == true) {
|
|
2514
2541
|
implementBacksplash();
|
|
@@ -2545,9 +2572,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2545
2572
|
isLoadingCabinet = _this$state2.isLoadingCabinet;
|
|
2546
2573
|
if (isLoading) {
|
|
2547
2574
|
if (this.props.downloadFlag) {
|
|
2548
|
-
|
|
2549
|
-
this.renderer.domElement.style.display = 'none';
|
|
2550
|
-
}
|
|
2575
|
+
this.renderer.domElement.style.display = 'none';
|
|
2551
2576
|
return /*#__PURE__*/React.createElement("div", {
|
|
2552
2577
|
style: {
|
|
2553
2578
|
alignItems: ' center',
|
|
@@ -2567,10 +2592,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2567
2592
|
}));
|
|
2568
2593
|
} else {
|
|
2569
2594
|
document.getElementById('front') && (document.getElementById('front').style.display = 'none');
|
|
2570
|
-
|
|
2571
|
-
if (this.renderer && this.renderer.domElement) {
|
|
2572
|
-
this.renderer.domElement.style.display = 'none';
|
|
2573
|
-
}
|
|
2595
|
+
this.renderer.domElement.style.display = 'none';
|
|
2574
2596
|
return /*#__PURE__*/React.createElement("div", {
|
|
2575
2597
|
style: {
|
|
2576
2598
|
textAlign: 'center',
|
|
@@ -2604,7 +2626,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2604
2626
|
alt: "img"
|
|
2605
2627
|
}));
|
|
2606
2628
|
} else {
|
|
2607
|
-
!this.props.downloadFlag && (document.getElementById('error').style.display = 'block');
|
|
2608
2629
|
this.renderer.domElement.style.pointerEvents = 'auto';
|
|
2609
2630
|
this.renderer.domElement.style.opacity = '1';
|
|
2610
2631
|
!this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
|
package/es/constants.js
CHANGED
|
@@ -103,6 +103,7 @@ export var ANIMATE_OBJECT = 'ANIMATE_OBJECT';
|
|
|
103
103
|
export var REMOVE_REPLACE_SUBMODULE = 'REMOVE_REPLACE_SUBMODULE';
|
|
104
104
|
export var ITEM_MOVE_UP = 'ITEM_MOVE_UP';
|
|
105
105
|
export var SET_DOOR_STYLE = 'SET_DOOR_STYLE';
|
|
106
|
+
export var CHANGE_DISTANCE = 'CHANGE_DISTANCE';
|
|
106
107
|
export var SET_HANDLE_MATERIAL = 'SET_HANDLE_MATERIAL';
|
|
107
108
|
export var SET_INITIAL_DOOR_STYLE = 'SET_INITIAL_DOOR_STYLE';
|
|
108
109
|
export var UPDATE_ITEM_POSITION = 'UPDATE_ITEM_POSITION';
|
|
@@ -170,12 +171,16 @@ export var END_DRAGGING_HOLE = 'END_DRAGGING_HOLE';
|
|
|
170
171
|
export var END_DRAGGING_HOLE_3D = 'END_DRAGGING_HOLE_3D';
|
|
171
172
|
export var UPDATE_DRAGGING_HOLE_3D = 'UPDATE_DRAGGING_HOLE_3D';
|
|
172
173
|
export var SET_RELATED_LINE = 'SET_RELATED_LINE';
|
|
173
|
-
|
|
174
|
+
export var EXTERNAL_EVENT_CHANGE_DISTANCE = 'EXTERNAL_EVENT_CHANGE_DISTANCE';
|
|
175
|
+
export var EXTERNAL_EVENT_SYNC_SCENE = 'EXTERNAL_EVENT_SYNC_SCENE'; //External event for sync scene data : HostApp -> 3DTool
|
|
174
176
|
//ACTIONS vertices
|
|
175
177
|
export var BEGIN_DRAGGING_VERTEX = 'BEGIN_DRAGGING_VERTEX';
|
|
176
178
|
export var UPDATE_DRAGGING_VERTEX = 'UPDATE_DRAGGING_VERTEX';
|
|
177
179
|
export var END_DRAGGING_VERTEX = 'END_DRAGGING_VERTEX';
|
|
178
180
|
|
|
181
|
+
//Interanl Event Types
|
|
182
|
+
export var INTERNAL_EVENT_SYNC_SCENE = 'INTERNAL_EVENT_SYNC_SCENE'; //Internal event for sync scene data : 3DTool -> HostApp
|
|
183
|
+
|
|
179
184
|
//ACTIONS scene
|
|
180
185
|
export var SET_LAYER_PROPERTIES = 'SET_LAYER_PROPERTIES';
|
|
181
186
|
export var ADD_LAYER = 'ADD_LAYER';
|
|
@@ -313,7 +318,8 @@ export var ITEMS_ACTIONS = {
|
|
|
313
318
|
END_LOADING: END_LOADING,
|
|
314
319
|
STORE_DIST_ARRAY: STORE_DIST_ARRAY,
|
|
315
320
|
VALIDATE_ITEM_POSTIONS: VALIDATE_ITEM_POSTIONS,
|
|
316
|
-
REPLACE_ITEM: REPLACE_ITEM
|
|
321
|
+
REPLACE_ITEM: REPLACE_ITEM,
|
|
322
|
+
CHANGE_DISTANCE: CHANGE_DISTANCE
|
|
317
323
|
};
|
|
318
324
|
export var HOLE_ACTIONS = {
|
|
319
325
|
SELECT_HOLE: SELECT_HOLE,
|
|
@@ -545,6 +551,12 @@ export var LABEL_COLOR = '#6E7191';
|
|
|
545
551
|
export var TEXT_COLOR = '#000000';
|
|
546
552
|
export var ACCENT_COLOR = '#AD00FF';
|
|
547
553
|
export var BROWN_COLOR = '#624100';
|
|
554
|
+
export var ROOM_SHAPE_MEASUREMENT_LINE_COLOR = '#455A64';
|
|
555
|
+
export var ROOM_ELEMENT_MEASUREMENT_LINE_COLOR = '#B0BEC5';
|
|
556
|
+
export var BASE_ITEM_MEASUREMENT_LINE_COLOR = '#0277BD';
|
|
557
|
+
export var WALL_ITEM_MEASUREMENT_LINE_COLOR = '#00897B';
|
|
558
|
+
export var DISTANCE_MEASUREMENT_LINE_COLOR = '#7B1FA2';
|
|
559
|
+
export var DASH_LINE_COLOR = '#78909C';
|
|
548
560
|
export var DEFAULT_FONT_FAMILY = 'Open Sans';
|
|
549
561
|
|
|
550
562
|
// Download summary
|
|
@@ -579,6 +591,7 @@ export var ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = 0.1;
|
|
|
579
591
|
export var DIFFERENT_VALUES_PATH_LENGTH = 5;
|
|
580
592
|
export var MIN_ANGLE_DISALLOW_DRAW_WALL = 45;
|
|
581
593
|
export var UNIT_ANGLE = 5;
|
|
594
|
+
export var MAX_ANGLE_SCALE = 30;
|
|
582
595
|
export var HDR_URLS = ['px.hdr', 'nx.hdr', 'py.hdr', 'ny.hdr', 'pz.hdr', 'nz.hdr'];
|
|
583
596
|
export var SUBMIT_REQUEST_ASSIST = 'submit';
|
|
584
597
|
export var SUBMIT_ADD_CART = 'addCart';
|
|
@@ -636,6 +649,13 @@ export var ITEM_TYPE = {
|
|
|
636
649
|
LIGHTING: 'lighting',
|
|
637
650
|
FURNISHING: 'furnishing'
|
|
638
651
|
};
|
|
652
|
+
export var PROJECT_SETTING_OPTION = {
|
|
653
|
+
UPDATE_CEIL_HEIGHT: UPDATE_CEIL_HEIGHT,
|
|
654
|
+
CHANGE_WALL_LENGTH_MEASURE: CHANGE_WALL_LENGTH_MEASURE,
|
|
655
|
+
CHANGE_BASE_CABINET_MEASURE: CHANGE_BASE_CABINET_MEASURE,
|
|
656
|
+
CHANGE_WALL_CABINET_MEASURE: CHANGE_WALL_CABINET_MEASURE,
|
|
657
|
+
CHANGE_WINDOW_DOOR_MEASURE: CHANGE_WINDOW_DOOR_MEASURE
|
|
658
|
+
};
|
|
639
659
|
|
|
640
660
|
// direction type
|
|
641
661
|
export var LEFT = 'Left';
|
|
@@ -650,4 +670,19 @@ export var EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = 'EXTERNAL_EVENT_TOGGLE_TO_ELEVAT
|
|
|
650
670
|
export var EXTERNAL_EVENT_ADD_WALL = 'EXTERNAL_EVENT_ADD_WALL';
|
|
651
671
|
export var EXTERNAL_EVENT_ADD_ITEM = 'EXTERNAL_EVENT_ADD_ITEM';
|
|
652
672
|
export var EXTERNAL_EVENT_MOVE_PAN = 'EXTERNAL_EVENT_MOVE_PAN';
|
|
653
|
-
export var EXTERNAL_EVENT_NEW_PROJECT = 'EXTERNAL_EVENT_NEW_PROJECT';
|
|
673
|
+
export var EXTERNAL_EVENT_NEW_PROJECT = 'EXTERNAL_EVENT_NEW_PROJECT';
|
|
674
|
+
export var EXTERNAL_EVENT_CHANGE_DOORSTYLE = 'EXTERNAL_EVENT_CHANGE_DOORSTYLE';
|
|
675
|
+
export var EXTERNAL_EVENT_SET_INITIAL_DATA = 'EXTERNAL_EVENT_SET_INITIAL_DATA';
|
|
676
|
+
export var EXTERNAL_EVENT_ADD_ROOM_SHAPE = 'EXTERNAL_EVENT_ADD_ROOM_SHAPE';
|
|
677
|
+
export var EXTERNAL_EVENT_ZOOM_IN = 'EXTERNAL_EVENT_ZOOM_IN';
|
|
678
|
+
export var EXTERNAL_EVENT_ZOOM_OUT = 'EXTERNAL_EVENT_ZOOM_OUT';
|
|
679
|
+
export var EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
680
|
+
export var EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
681
|
+
export var EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
682
|
+
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
683
|
+
|
|
684
|
+
// internal event type
|
|
685
|
+
export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
686
|
+
export var INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
687
|
+
export var INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
688
|
+
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
2
|
import React, { useState, useEffect } from 'react';
|
|
3
3
|
import ContainerDimensions from 'react-container-dimensions';
|
|
4
|
-
import mockProps from "./mocks/
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
4
|
+
import mockProps from "./mocks/mockProps2.json";
|
|
5
|
+
import mockDataBundle from "./mocks/dataBundle2.json";
|
|
6
|
+
import cabinetPaylod from "./mocks/cabinetPayload2.json";
|
|
7
|
+
import doorStylePaylod from "./mocks/doorStylePayload.json";
|
|
8
|
+
import doorStylePaylod2 from "./mocks/doorStylePayload2.json";
|
|
9
|
+
import itemCDSPayload from "./mocks/itemCDSPayload.json";
|
|
10
|
+
import rectangleData from "./mocks/rectangleShape.json";
|
|
11
|
+
import moldingPayload from "./mocks/moldingPayload.json";
|
|
12
|
+
import distancePayload from "./mocks/distancePayload.json";
|
|
8
13
|
import ReactDOM from 'react-dom';
|
|
9
14
|
import LiteRenderer from "./LiteRenderer";
|
|
10
15
|
import { Button } from 'antd';
|
|
11
|
-
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT } from "./constants";
|
|
16
|
+
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_SET_INITIAL_DATA, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_CHANGE_DISTANCE, EXTERNAL_EVENT_SYNC_SCENE } from "./constants";
|
|
12
17
|
|
|
13
18
|
// --- renderer props ---
|
|
14
19
|
var options = {
|
|
15
20
|
unit: 'in',
|
|
16
21
|
enable3D: true
|
|
17
22
|
};
|
|
23
|
+
var onInternalEvent = function onInternalEvent(evt) {
|
|
24
|
+
console.log('EVENT:', evt.type, evt.value);
|
|
25
|
+
};
|
|
18
26
|
document.getElementById('app').style.display = 'block';
|
|
19
27
|
function WorkSpace(props) {
|
|
20
28
|
var _useState = useState(null),
|
|
@@ -22,6 +30,17 @@ function WorkSpace(props) {
|
|
|
22
30
|
externalEvent = _useState2[0],
|
|
23
31
|
setExternalEvent = _useState2[1];
|
|
24
32
|
var offset = 5;
|
|
33
|
+
useEffect(function () {
|
|
34
|
+
var evt = {
|
|
35
|
+
type: EXTERNAL_EVENT_SET_INITIAL_DATA,
|
|
36
|
+
payload: {
|
|
37
|
+
doorStyle: {
|
|
38
|
+
doorStyle: doorStylePaylod
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
setExternalEvent(evt);
|
|
43
|
+
}, []);
|
|
25
44
|
return /*#__PURE__*/React.createElement("div", {
|
|
26
45
|
className: "flex gap-4"
|
|
27
46
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -107,6 +126,28 @@ function WorkSpace(props) {
|
|
|
107
126
|
}
|
|
108
127
|
}, /*#__PURE__*/React.createElement("img", {
|
|
109
128
|
src: "/assets/img/svg/bottombar/arrow-right.svg"
|
|
129
|
+
})), /*#__PURE__*/React.createElement(Button, {
|
|
130
|
+
actionType: "primary",
|
|
131
|
+
onClick: function onClick() {
|
|
132
|
+
var evt = {
|
|
133
|
+
type: EXTERNAL_EVENT_ZOOM_IN,
|
|
134
|
+
payload: {}
|
|
135
|
+
};
|
|
136
|
+
setExternalEvent(evt);
|
|
137
|
+
}
|
|
138
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
139
|
+
src: "/assets/img/svg/bottombar/arrow-minus.svg"
|
|
140
|
+
})), /*#__PURE__*/React.createElement(Button, {
|
|
141
|
+
actionType: "primary",
|
|
142
|
+
onClick: function onClick() {
|
|
143
|
+
var evt = {
|
|
144
|
+
type: EXTERNAL_EVENT_ZOOM_OUT,
|
|
145
|
+
payload: {}
|
|
146
|
+
};
|
|
147
|
+
setExternalEvent(evt);
|
|
148
|
+
}
|
|
149
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
150
|
+
src: "/assets/img/svg/bottombar/arrow-plus.svg"
|
|
110
151
|
})), /*#__PURE__*/React.createElement(Button, {
|
|
111
152
|
actionType: "primary",
|
|
112
153
|
onClick: function onClick() {
|
|
@@ -134,11 +175,117 @@ function WorkSpace(props) {
|
|
|
134
175
|
};
|
|
135
176
|
setExternalEvent(evt);
|
|
136
177
|
}
|
|
137
|
-
}, "Add B12 Cabinet"), /*#__PURE__*/React.createElement(
|
|
138
|
-
|
|
139
|
-
|
|
178
|
+
}, "Add B12 Cabinet"), /*#__PURE__*/React.createElement(Button, {
|
|
179
|
+
actionType: "danger",
|
|
180
|
+
onClick: function onClick() {
|
|
181
|
+
var evt = {
|
|
182
|
+
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
183
|
+
payload: {
|
|
184
|
+
doorStyle: doorStylePaylod2,
|
|
185
|
+
itemCDS: itemCDSPayload,
|
|
186
|
+
isAll: true
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
setExternalEvent(evt);
|
|
190
|
+
}
|
|
191
|
+
}, "DoorStyle (Change into Midtown White Shaker)"), /*#__PURE__*/React.createElement(Button, {
|
|
192
|
+
actionType: "danger",
|
|
193
|
+
onClick: function onClick() {
|
|
194
|
+
var evt = {
|
|
195
|
+
type: EXTERNAL_EVENT_ADD_ROOM_SHAPE,
|
|
196
|
+
payload: rectangleData
|
|
197
|
+
};
|
|
198
|
+
setExternalEvent(evt);
|
|
199
|
+
}
|
|
200
|
+
}, "Add Room shape(rectangle)"), /*#__PURE__*/React.createElement(Button, {
|
|
201
|
+
actionType: "danger",
|
|
202
|
+
onClick: function onClick() {
|
|
203
|
+
var evt = {
|
|
204
|
+
type: EXTERNAL_EVENT_UNDO,
|
|
205
|
+
payload: {}
|
|
206
|
+
};
|
|
207
|
+
setExternalEvent(evt);
|
|
208
|
+
}
|
|
209
|
+
}, "Undo"), /*#__PURE__*/React.createElement(Button, {
|
|
210
|
+
actionType: "danger",
|
|
211
|
+
onClick: function onClick() {
|
|
212
|
+
var evt = {
|
|
213
|
+
type: EXTERNAL_EVENT_REDO,
|
|
214
|
+
payload: {}
|
|
215
|
+
};
|
|
216
|
+
setExternalEvent(evt);
|
|
217
|
+
}
|
|
218
|
+
}, "Redo"), /*#__PURE__*/React.createElement(Button, {
|
|
219
|
+
actionType: "danger",
|
|
220
|
+
onClick: function onClick() {
|
|
221
|
+
var evt = {
|
|
222
|
+
type: EXTERNAL_EVENT_SET_MOLDING,
|
|
223
|
+
payload: {
|
|
224
|
+
isGlobal: true,
|
|
225
|
+
moldingInfo: moldingPayload
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
setExternalEvent(evt);
|
|
229
|
+
}
|
|
230
|
+
}, "Global Molding (FBM)"), /*#__PURE__*/React.createElement(Button, {
|
|
231
|
+
actionType: "danger",
|
|
232
|
+
onClick: function onClick() {
|
|
233
|
+
var evt = {
|
|
234
|
+
type: EXTERNAL_EVENT_SET_MOLDING,
|
|
235
|
+
payload: {
|
|
236
|
+
isGlobal: false,
|
|
237
|
+
moldingInfo: moldingPayload
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
setExternalEvent(evt);
|
|
241
|
+
}
|
|
242
|
+
}, "Individual Molding (FBM)"), /*#__PURE__*/React.createElement(Button, {
|
|
243
|
+
actionType: "danger",
|
|
244
|
+
onClick: function onClick() {
|
|
245
|
+
var evt = {
|
|
246
|
+
type: EXTERNAL_EVENT_PROJECT_SETTING,
|
|
247
|
+
payload: {
|
|
248
|
+
option: PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT,
|
|
249
|
+
value: 100 // ceiling length
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
setExternalEvent(evt);
|
|
253
|
+
}
|
|
254
|
+
}, "Setting-CeilingHeight"), /*#__PURE__*/React.createElement(Button, {
|
|
255
|
+
actionType: "danger",
|
|
256
|
+
onClick: function onClick() {
|
|
257
|
+
var evt = {
|
|
258
|
+
type: EXTERNAL_EVENT_PROJECT_SETTING,
|
|
259
|
+
payload: {
|
|
260
|
+
option: PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE,
|
|
261
|
+
value: 1 // 0-false, 1-true
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
setExternalEvent(evt);
|
|
265
|
+
}
|
|
266
|
+
}, "Setting-WallLength"), /*#__PURE__*/React.createElement(Button, {
|
|
267
|
+
actionType: "danger",
|
|
268
|
+
onClick: function onClick() {
|
|
269
|
+
var evt = {
|
|
270
|
+
type: EXTERNAL_EVENT_CHANGE_DISTANCE,
|
|
271
|
+
payload: distancePayload
|
|
272
|
+
};
|
|
273
|
+
setExternalEvent(evt);
|
|
274
|
+
}
|
|
275
|
+
}, "Setting-Distance"), /*#__PURE__*/React.createElement(Button, {
|
|
276
|
+
actionType: "danger",
|
|
277
|
+
onClick: function onClick() {
|
|
278
|
+
var evt = {
|
|
279
|
+
type: EXTERNAL_EVENT_SYNC_SCENE,
|
|
280
|
+
// send request for sync scene data to 3DTool
|
|
281
|
+
payload: {}
|
|
282
|
+
};
|
|
283
|
+
setExternalEvent(evt);
|
|
284
|
+
}
|
|
285
|
+
}, "Event-sync"), /*#__PURE__*/React.createElement(LiteRenderer, {
|
|
286
|
+
width: props.width,
|
|
287
|
+
height: props.height,
|
|
140
288
|
projectElement: mockProps.projectElement,
|
|
141
|
-
categoryData: mockCategoryData,
|
|
142
289
|
dataBundle: mockDataBundle,
|
|
143
290
|
configData: mockProps.configData,
|
|
144
291
|
options: options,
|
|
@@ -146,6 +293,7 @@ function WorkSpace(props) {
|
|
|
146
293
|
companyUrl: "https://example.com",
|
|
147
294
|
toolbarButtons: [],
|
|
148
295
|
externalEvent: externalEvent,
|
|
296
|
+
onInternalEvent: onInternalEvent,
|
|
149
297
|
onError: function onError(payload) {
|
|
150
298
|
// payload = {
|
|
151
299
|
// type: 'render-error' | 'runtime-error' | 'unhandled-rejection',
|
|
@@ -158,4 +306,11 @@ function WorkSpace(props) {
|
|
|
158
306
|
}
|
|
159
307
|
}));
|
|
160
308
|
}
|
|
161
|
-
ReactDOM.render(/*#__PURE__*/React.createElement(
|
|
309
|
+
ReactDOM.render(/*#__PURE__*/React.createElement(ContainerDimensions, null, function (_ref) {
|
|
310
|
+
var width = _ref.width,
|
|
311
|
+
height = _ref.height;
|
|
312
|
+
return /*#__PURE__*/React.createElement(WorkSpace, {
|
|
313
|
+
width: width,
|
|
314
|
+
height: height
|
|
315
|
+
});
|
|
316
|
+
}), document.getElementById('app'));
|
package/es/index.js
CHANGED
|
@@ -1,7 +1,56 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
7
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
8
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
1
9
|
import React from 'react';
|
|
10
|
+
import ReactDOM from 'react-dom';
|
|
2
11
|
import LiteRenderer from "./LiteRenderer";
|
|
3
|
-
export function renderKitchenSimulator() {
|
|
4
|
-
var props = arguments.length >
|
|
5
|
-
|
|
12
|
+
export function renderKitchenSimulator(container) {
|
|
13
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
14
|
+
var setExternalEventFn = null;
|
|
15
|
+
|
|
16
|
+
// Internal wrapper that exposes a state setter
|
|
17
|
+
var Wrapper = /*#__PURE__*/function (_React$Component) {
|
|
18
|
+
function Wrapper(p) {
|
|
19
|
+
var _this;
|
|
20
|
+
_classCallCheck(this, Wrapper);
|
|
21
|
+
_this = _callSuper(this, Wrapper, [p]);
|
|
22
|
+
_this.state = {
|
|
23
|
+
externalEvent: p.externalEvent || null
|
|
24
|
+
};
|
|
25
|
+
setExternalEventFn = _this.setExternalEvent.bind(_this);
|
|
26
|
+
return _this;
|
|
27
|
+
}
|
|
28
|
+
_inherits(Wrapper, _React$Component);
|
|
29
|
+
return _createClass(Wrapper, [{
|
|
30
|
+
key: "setExternalEvent",
|
|
31
|
+
value: function setExternalEvent(newEvent) {
|
|
32
|
+
this.setState({
|
|
33
|
+
externalEvent: newEvent
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
key: "render",
|
|
38
|
+
value: function render() {
|
|
39
|
+
return /*#__PURE__*/React.createElement(LiteRenderer, _extends({}, this.props, {
|
|
40
|
+
externalEvent: this.state.externalEvent
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
}]);
|
|
44
|
+
}(React.Component); // Mount once
|
|
45
|
+
ReactDOM.render(/*#__PURE__*/React.createElement(Wrapper, props), container);
|
|
46
|
+
return {
|
|
47
|
+
updateExternalEvent: function updateExternalEvent(newExternalEvent) {
|
|
48
|
+
var _setExternalEventFn;
|
|
49
|
+
(_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
|
|
50
|
+
},
|
|
51
|
+
unmount: function unmount() {
|
|
52
|
+
ReactDOM.unmountComponentAtNode(container);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
6
55
|
}
|
|
7
56
|
export default renderKitchenSimulator;
|