kitchen-simulator 1.0.0-alin.9 → 1.0.0-clark.55
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 +15 -156
- package/es/LiteRenderer.js +25 -113
- package/es/actions/items-actions.js +4 -5
- package/es/actions/project-actions.js +2 -3
- package/es/catalog/catalog.js +1 -4
- package/es/catalog/utils/exporter.js +3 -1
- package/es/class/item.js +57 -120
- package/es/class/project.js +9 -23
- package/es/components/viewer2d/item.js +10 -10
- package/es/components/viewer2d/layer.js +1 -1
- package/es/components/viewer2d/line.js +20 -17
- package/es/components/viewer2d/viewer2d.js +20 -56
- package/es/components/viewer3d/viewer3d.js +5 -17
- package/es/constants.js +10 -1
- package/es/devLiteRenderer.js +116 -9
- package/es/index.js +58 -3
- package/es/models.js +2 -1
- package/es/reducers/items-reducer.js +3 -3
- package/es/reducers/project-reducer.js +1 -1
- package/es/utils/geometry.js +6 -6
- package/es/utils/isolate-event-handler.js +97 -17
- package/lib/LiteKitchenConfigurator.js +16 -157
- package/lib/LiteRenderer.js +25 -113
- package/lib/actions/items-actions.js +4 -5
- package/lib/actions/project-actions.js +2 -3
- package/lib/catalog/catalog.js +1 -4
- package/lib/catalog/utils/exporter.js +3 -1
- package/lib/class/item.js +57 -120
- package/lib/class/project.js +9 -23
- package/lib/components/viewer2d/item.js +10 -10
- package/lib/components/viewer2d/layer.js +1 -1
- package/lib/components/viewer2d/line.js +19 -16
- package/lib/components/viewer2d/viewer2d.js +19 -55
- package/lib/components/viewer3d/viewer3d.js +5 -17
- package/lib/constants.js +14 -5
- package/lib/devLiteRenderer.js +115 -8
- package/lib/index.js +57 -3
- package/lib/models.js +2 -1
- package/lib/reducers/items-reducer.js +3 -3
- package/lib/reducers/project-reducer.js +1 -1
- package/lib/utils/geometry.js +6 -6
- package/lib/utils/isolate-event-handler.js +96 -16
- package/package.json +5 -9
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
3
|
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; }
|
|
5
4
|
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) { _defineProperty(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; }
|
|
6
5
|
import React, { useEffect, useRef, useState } from 'react';
|
|
7
6
|
import PropTypes from 'prop-types';
|
|
8
|
-
import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT
|
|
7
|
+
import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT } from 'react-svg-pan-zoom';
|
|
9
8
|
import * as constants from "../../constants";
|
|
10
9
|
import { DECIMAL_PLACES_2, LINE_THICKNESS, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_ELEVATION_VIEW, MODE_IDLE, UNIT_ANGLE } from "../../constants";
|
|
11
10
|
import State from "./state";
|
|
@@ -536,48 +535,18 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
536
535
|
rectCenterPoint: [[point(mx, my), 180], [point(m1x, m1y), -90], [point(m2x, m2y), 0], [point(m3x, m3y), 90]]
|
|
537
536
|
};
|
|
538
537
|
};
|
|
539
|
-
var
|
|
540
|
-
var
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
x: x,
|
|
552
|
-
y: y
|
|
553
|
-
},
|
|
554
|
-
rotRad: rotation / 180 * Math.PI
|
|
555
|
-
};
|
|
556
|
-
var _width = getProperties(item, 'width');
|
|
557
|
-
var depth = getProperties(item, 'depth');
|
|
558
|
-
val.size = {
|
|
559
|
-
width: _width,
|
|
560
|
-
height: depth
|
|
561
|
-
};
|
|
562
|
-
|
|
563
|
-
// collect geometry
|
|
564
|
-
var _allLines = GeometryUtils.getAllLines(layer) || [];
|
|
565
|
-
var _allLineRects = GeometryUtils.buildRectFromLines(layer, _allLines) || [];
|
|
566
|
-
var _allItemRect = GeometryUtils.getAllItems(scene, catalog, _allLineRects) || {
|
|
567
|
-
others: []
|
|
568
|
-
};
|
|
569
|
-
var _allRect = [].concat(_toConsumableArray(_allItemRect.others || []), _toConsumableArray(_allLineRects));
|
|
570
|
-
|
|
571
|
-
// current item
|
|
572
|
-
var curItemInfo = getCalcRectFromItem(val);
|
|
573
|
-
var pointArray = getDistant(x, y, val.rotRad, curItemInfo, _allRect);
|
|
574
|
-
|
|
575
|
-
// store results safely
|
|
576
|
-
if (Array.isArray(pointArray)) {
|
|
577
|
-
itemsActions.storeDistArray(layerID, id, pointArray);
|
|
578
|
-
}
|
|
579
|
-
}
|
|
580
|
-
});
|
|
538
|
+
var getConnectedLines = function getConnectedLines() {
|
|
539
|
+
var _state$getIn;
|
|
540
|
+
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
541
|
+
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
542
|
+
var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
543
|
+
var drawingLine = (_state$getIn = state.getIn(['scene', 'layers', layerID, 'lines', lineID])) === null || _state$getIn === void 0 ? void 0 : _state$getIn.toJS();
|
|
544
|
+
// get the lines that have same points with drawing line.
|
|
545
|
+
if (!isEmpty(drawingLine)) {
|
|
546
|
+
var tlines = [];
|
|
547
|
+
getRelatedLines(tlines, drawingLine, vertices, lines);
|
|
548
|
+
setRelatedLines(tlines);
|
|
549
|
+
}
|
|
581
550
|
};
|
|
582
551
|
var onMouseMove = function onMouseMove(viewerEvent) {
|
|
583
552
|
//workaround that allow imageful component to work
|
|
@@ -627,7 +596,6 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
627
596
|
holesActions.updateDrawingHole(layerID, x, y);
|
|
628
597
|
break;
|
|
629
598
|
case constants.MODE_DRAWING_ITEM:
|
|
630
|
-
calcDistanceArray();
|
|
631
599
|
var _layer = scene.layers.get(layerID);
|
|
632
600
|
var flag = false;
|
|
633
601
|
_layer.items.some(function (item) {
|
|
@@ -713,11 +681,11 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
713
681
|
break;
|
|
714
682
|
case constants.MODE_DRAGGING_VERTEX:
|
|
715
683
|
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
684
|
+
getConnectedLines();
|
|
716
685
|
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
717
686
|
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
718
687
|
break;
|
|
719
688
|
case constants.MODE_DRAGGING_ITEM:
|
|
720
|
-
calcDistanceArray();
|
|
721
689
|
prepareSnap();
|
|
722
690
|
var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
723
691
|
nx = _GeometryUtils$calcSn2.nx,
|
|
@@ -889,10 +857,10 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
889
857
|
projectActions.setMode(_mode);
|
|
890
858
|
break;
|
|
891
859
|
} else {
|
|
892
|
-
var
|
|
893
|
-
var
|
|
894
|
-
getRelatedLines(
|
|
895
|
-
setRelatedLines(
|
|
860
|
+
var tlines = [];
|
|
861
|
+
var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', elementData.id]).toJS();
|
|
862
|
+
getRelatedLines(tlines, drawingLine, vertices, lines);
|
|
863
|
+
setRelatedLines(tlines);
|
|
896
864
|
linesActions.selectLine(elementData.layer, elementData.id);
|
|
897
865
|
break;
|
|
898
866
|
}
|
|
@@ -1178,12 +1146,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
1178
1146
|
// if (dx > dy) y = prevVertex.y
|
|
1179
1147
|
// else x = prevVertex.x;
|
|
1180
1148
|
setdrawStart(true);
|
|
1181
|
-
|
|
1182
|
-
var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', lineID]).toJS();
|
|
1183
|
-
// get the lines that have same points with drawing line.
|
|
1184
|
-
var tlines = [];
|
|
1185
|
-
getRelatedLines(tlines, drawingLine, vertices, lines);
|
|
1186
|
-
setRelatedLines(tlines);
|
|
1149
|
+
getConnectedLines();
|
|
1187
1150
|
var endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
|
|
1188
1151
|
linesActions.endDrawingLine(endInfor.x, endInfor.y, state.snapMask);
|
|
1189
1152
|
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask);
|
|
@@ -1198,6 +1161,7 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
1198
1161
|
linesActions.endDraggingLine(x, y, relatedLines, state.snapMask);
|
|
1199
1162
|
break;
|
|
1200
1163
|
case constants.MODE_DRAGGING_VERTEX:
|
|
1164
|
+
getConnectedLines();
|
|
1201
1165
|
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
1202
1166
|
verticesActions.endDraggingVertex(result.x, result.y, state.snapMask);
|
|
1203
1167
|
break;
|
|
@@ -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);
|
|
@@ -2360,9 +2358,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2360
2358
|
self.props.setIsLoadingElevation('front', false);
|
|
2361
2359
|
}, 100);
|
|
2362
2360
|
}
|
|
2363
|
-
|
|
2364
|
-
self.renderer.domElement.style.display = 'block';
|
|
2365
|
-
}
|
|
2361
|
+
self.renderer.domElement.style.display = 'block';
|
|
2366
2362
|
}
|
|
2367
2363
|
}
|
|
2368
2364
|
}
|
|
@@ -2506,9 +2502,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2506
2502
|
break;
|
|
2507
2503
|
}
|
|
2508
2504
|
}
|
|
2509
|
-
|
|
2510
|
-
self.renderer.domElement.style.display = 'none';
|
|
2511
|
-
}
|
|
2505
|
+
self.renderer.domElement.style.display = 'none';
|
|
2512
2506
|
}
|
|
2513
2507
|
if (nextProps.state.scene.showfg == true) {
|
|
2514
2508
|
implementBacksplash();
|
|
@@ -2545,9 +2539,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2545
2539
|
isLoadingCabinet = _this$state2.isLoadingCabinet;
|
|
2546
2540
|
if (isLoading) {
|
|
2547
2541
|
if (this.props.downloadFlag) {
|
|
2548
|
-
|
|
2549
|
-
this.renderer.domElement.style.display = 'none';
|
|
2550
|
-
}
|
|
2542
|
+
this.renderer.domElement.style.display = 'none';
|
|
2551
2543
|
return /*#__PURE__*/React.createElement("div", {
|
|
2552
2544
|
style: {
|
|
2553
2545
|
alignItems: ' center',
|
|
@@ -2567,10 +2559,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2567
2559
|
}));
|
|
2568
2560
|
} else {
|
|
2569
2561
|
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
|
-
}
|
|
2562
|
+
this.renderer.domElement.style.display = 'none';
|
|
2574
2563
|
return /*#__PURE__*/React.createElement("div", {
|
|
2575
2564
|
style: {
|
|
2576
2565
|
textAlign: 'center',
|
|
@@ -2604,7 +2593,6 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
2604
2593
|
alt: "img"
|
|
2605
2594
|
}));
|
|
2606
2595
|
} else {
|
|
2607
|
-
!this.props.downloadFlag && (document.getElementById('error').style.display = 'block');
|
|
2608
2596
|
this.renderer.domElement.style.pointerEvents = 'auto';
|
|
2609
2597
|
this.renderer.domElement.style.opacity = '1';
|
|
2610
2598
|
!this.props.downloadFlag && document.getElementById('front') && (document.getElementById('front').style.display = 'block');
|
package/es/constants.js
CHANGED
|
@@ -579,6 +579,7 @@ export var ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = 0.1;
|
|
|
579
579
|
export var DIFFERENT_VALUES_PATH_LENGTH = 5;
|
|
580
580
|
export var MIN_ANGLE_DISALLOW_DRAW_WALL = 45;
|
|
581
581
|
export var UNIT_ANGLE = 5;
|
|
582
|
+
export var MAX_ANGLE_SCALE = 30;
|
|
582
583
|
export var HDR_URLS = ['px.hdr', 'nx.hdr', 'py.hdr', 'ny.hdr', 'pz.hdr', 'nz.hdr'];
|
|
583
584
|
export var SUBMIT_REQUEST_ASSIST = 'submit';
|
|
584
585
|
export var SUBMIT_ADD_CART = 'addCart';
|
|
@@ -650,4 +651,12 @@ export var EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = 'EXTERNAL_EVENT_TOGGLE_TO_ELEVAT
|
|
|
650
651
|
export var EXTERNAL_EVENT_ADD_WALL = 'EXTERNAL_EVENT_ADD_WALL';
|
|
651
652
|
export var EXTERNAL_EVENT_ADD_ITEM = 'EXTERNAL_EVENT_ADD_ITEM';
|
|
652
653
|
export var EXTERNAL_EVENT_MOVE_PAN = 'EXTERNAL_EVENT_MOVE_PAN';
|
|
653
|
-
export var EXTERNAL_EVENT_NEW_PROJECT = 'EXTERNAL_EVENT_NEW_PROJECT';
|
|
654
|
+
export var EXTERNAL_EVENT_NEW_PROJECT = 'EXTERNAL_EVENT_NEW_PROJECT';
|
|
655
|
+
export var EXTERNAL_EVENT_CHANGE_DOORSTYLE = 'EXTERNAL_EVENT_CHANGE_DOORSTYLE';
|
|
656
|
+
export var EXTERNAL_EVENT_SET_INITIAL_DATA = 'EXTERNAL_EVENT_SET_INITIAL_DATA';
|
|
657
|
+
export var EXTERNAL_EVENT_ADD_ROOM_SHAPE = 'EXTERNAL_EVENT_ADD_ROOM_SHAPE';
|
|
658
|
+
export var EXTERNAL_EVENT_ZOOM_IN = 'EXTERNAL_EVENT_ZOOM_IN';
|
|
659
|
+
export var EXTERNAL_EVENT_ZOOM_OUT = 'EXTERNAL_EVENT_ZOOM_OUT';
|
|
660
|
+
export var EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
661
|
+
export var EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
662
|
+
export var EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -2,13 +2,17 @@ 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
4
|
import mockProps from "./mocks/mockProps.json";
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
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";
|
|
8
12
|
import ReactDOM from 'react-dom';
|
|
9
13
|
import LiteRenderer from "./LiteRenderer";
|
|
10
14
|
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";
|
|
15
|
+
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 } from "./constants";
|
|
12
16
|
|
|
13
17
|
// --- renderer props ---
|
|
14
18
|
var options = {
|
|
@@ -22,6 +26,17 @@ function WorkSpace(props) {
|
|
|
22
26
|
externalEvent = _useState2[0],
|
|
23
27
|
setExternalEvent = _useState2[1];
|
|
24
28
|
var offset = 5;
|
|
29
|
+
useEffect(function () {
|
|
30
|
+
var evt = {
|
|
31
|
+
type: EXTERNAL_EVENT_SET_INITIAL_DATA,
|
|
32
|
+
payload: {
|
|
33
|
+
doorStyle: {
|
|
34
|
+
doorStyle: doorStylePaylod
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
setExternalEvent(evt);
|
|
39
|
+
}, []);
|
|
25
40
|
return /*#__PURE__*/React.createElement("div", {
|
|
26
41
|
className: "flex gap-4"
|
|
27
42
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -107,6 +122,28 @@ function WorkSpace(props) {
|
|
|
107
122
|
}
|
|
108
123
|
}, /*#__PURE__*/React.createElement("img", {
|
|
109
124
|
src: "/assets/img/svg/bottombar/arrow-right.svg"
|
|
125
|
+
})), /*#__PURE__*/React.createElement(Button, {
|
|
126
|
+
actionType: "primary",
|
|
127
|
+
onClick: function onClick() {
|
|
128
|
+
var evt = {
|
|
129
|
+
type: EXTERNAL_EVENT_ZOOM_IN,
|
|
130
|
+
payload: {}
|
|
131
|
+
};
|
|
132
|
+
setExternalEvent(evt);
|
|
133
|
+
}
|
|
134
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
135
|
+
src: "/assets/img/svg/bottombar/arrow-minus.svg"
|
|
136
|
+
})), /*#__PURE__*/React.createElement(Button, {
|
|
137
|
+
actionType: "primary",
|
|
138
|
+
onClick: function onClick() {
|
|
139
|
+
var evt = {
|
|
140
|
+
type: EXTERNAL_EVENT_ZOOM_OUT,
|
|
141
|
+
payload: {}
|
|
142
|
+
};
|
|
143
|
+
setExternalEvent(evt);
|
|
144
|
+
}
|
|
145
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
146
|
+
src: "/assets/img/svg/bottombar/arrow-plus.svg"
|
|
110
147
|
})), /*#__PURE__*/React.createElement(Button, {
|
|
111
148
|
actionType: "primary",
|
|
112
149
|
onClick: function onClick() {
|
|
@@ -134,11 +171,74 @@ function WorkSpace(props) {
|
|
|
134
171
|
};
|
|
135
172
|
setExternalEvent(evt);
|
|
136
173
|
}
|
|
137
|
-
}, "Add B12 Cabinet"), /*#__PURE__*/React.createElement(
|
|
138
|
-
|
|
139
|
-
|
|
174
|
+
}, "Add B12 Cabinet"), /*#__PURE__*/React.createElement(Button, {
|
|
175
|
+
actionType: "danger",
|
|
176
|
+
onClick: function onClick() {
|
|
177
|
+
var evt = {
|
|
178
|
+
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
179
|
+
payload: {
|
|
180
|
+
doorStyle: doorStylePaylod2,
|
|
181
|
+
itemCDS: itemCDSPayload,
|
|
182
|
+
isAll: true
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
setExternalEvent(evt);
|
|
186
|
+
}
|
|
187
|
+
}, "DoorStyle (Change into Midtown White Shaker)"), /*#__PURE__*/React.createElement(Button, {
|
|
188
|
+
actionType: "danger",
|
|
189
|
+
onClick: function onClick() {
|
|
190
|
+
var evt = {
|
|
191
|
+
type: EXTERNAL_EVENT_ADD_ROOM_SHAPE,
|
|
192
|
+
payload: rectangleData
|
|
193
|
+
};
|
|
194
|
+
setExternalEvent(evt);
|
|
195
|
+
}
|
|
196
|
+
}, "Add Room shape(rectangle)"), /*#__PURE__*/React.createElement(Button, {
|
|
197
|
+
actionType: "danger",
|
|
198
|
+
onClick: function onClick() {
|
|
199
|
+
var evt = {
|
|
200
|
+
type: EXTERNAL_EVENT_UNDO,
|
|
201
|
+
payload: {}
|
|
202
|
+
};
|
|
203
|
+
setExternalEvent(evt);
|
|
204
|
+
}
|
|
205
|
+
}, "Undo"), /*#__PURE__*/React.createElement(Button, {
|
|
206
|
+
actionType: "danger",
|
|
207
|
+
onClick: function onClick() {
|
|
208
|
+
var evt = {
|
|
209
|
+
type: EXTERNAL_EVENT_REDO,
|
|
210
|
+
payload: {}
|
|
211
|
+
};
|
|
212
|
+
setExternalEvent(evt);
|
|
213
|
+
}
|
|
214
|
+
}, "Redo"), /*#__PURE__*/React.createElement(Button, {
|
|
215
|
+
actionType: "danger",
|
|
216
|
+
onClick: function onClick() {
|
|
217
|
+
var evt = {
|
|
218
|
+
type: EXTERNAL_EVENT_SET_MOLDING,
|
|
219
|
+
payload: {
|
|
220
|
+
isGlobal: true,
|
|
221
|
+
moldingInfo: moldingPayload
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
setExternalEvent(evt);
|
|
225
|
+
}
|
|
226
|
+
}, "Global Molding (FBM)"), /*#__PURE__*/React.createElement(Button, {
|
|
227
|
+
actionType: "danger",
|
|
228
|
+
onClick: function onClick() {
|
|
229
|
+
var evt = {
|
|
230
|
+
type: EXTERNAL_EVENT_SET_MOLDING,
|
|
231
|
+
payload: {
|
|
232
|
+
isGlobal: false,
|
|
233
|
+
moldingInfo: moldingPayload
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
setExternalEvent(evt);
|
|
237
|
+
}
|
|
238
|
+
}, "Individual Molding (FBM)"), /*#__PURE__*/React.createElement(LiteRenderer, {
|
|
239
|
+
width: props.width,
|
|
240
|
+
height: props.height,
|
|
140
241
|
projectElement: mockProps.projectElement,
|
|
141
|
-
categoryData: mockCategoryData,
|
|
142
242
|
dataBundle: mockDataBundle,
|
|
143
243
|
configData: mockProps.configData,
|
|
144
244
|
options: options,
|
|
@@ -158,4 +258,11 @@ function WorkSpace(props) {
|
|
|
158
258
|
}
|
|
159
259
|
}));
|
|
160
260
|
}
|
|
161
|
-
ReactDOM.render(/*#__PURE__*/React.createElement(
|
|
261
|
+
ReactDOM.render(/*#__PURE__*/React.createElement(ContainerDimensions, null, function (_ref) {
|
|
262
|
+
var width = _ref.width,
|
|
263
|
+
height = _ref.height;
|
|
264
|
+
return /*#__PURE__*/React.createElement(WorkSpace, {
|
|
265
|
+
width: width,
|
|
266
|
+
height: height
|
|
267
|
+
});
|
|
268
|
+
}), document.getElementById('app'));
|
package/es/index.js
CHANGED
|
@@ -1,7 +1,62 @@
|
|
|
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
|
-
|
|
4
|
-
|
|
5
|
-
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Keeps LiteRenderer mounted once and updates externalEvent through React state.
|
|
15
|
+
* Works with React 16 (no createRoot).
|
|
16
|
+
*/
|
|
17
|
+
export function renderKitchenSimulator(container) {
|
|
18
|
+
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
19
|
+
var setExternalEventFn = null;
|
|
20
|
+
|
|
21
|
+
// Internal wrapper that exposes a state setter
|
|
22
|
+
var Wrapper = /*#__PURE__*/function (_React$Component) {
|
|
23
|
+
function Wrapper(p) {
|
|
24
|
+
var _this;
|
|
25
|
+
_classCallCheck(this, Wrapper);
|
|
26
|
+
_this = _callSuper(this, Wrapper, [p]);
|
|
27
|
+
_this.state = {
|
|
28
|
+
externalEvent: p.externalEvent || null
|
|
29
|
+
};
|
|
30
|
+
setExternalEventFn = _this.setExternalEvent.bind(_this);
|
|
31
|
+
return _this;
|
|
32
|
+
}
|
|
33
|
+
_inherits(Wrapper, _React$Component);
|
|
34
|
+
return _createClass(Wrapper, [{
|
|
35
|
+
key: "setExternalEvent",
|
|
36
|
+
value: function setExternalEvent(newEvent) {
|
|
37
|
+
this.setState({
|
|
38
|
+
externalEvent: newEvent
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
key: "render",
|
|
43
|
+
value: function render() {
|
|
44
|
+
return /*#__PURE__*/React.createElement(LiteRenderer, _extends({}, this.props, {
|
|
45
|
+
externalEvent: this.state.externalEvent
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}]);
|
|
49
|
+
}(React.Component); // Mount once
|
|
50
|
+
ReactDOM.render(/*#__PURE__*/React.createElement(Wrapper, props), container);
|
|
51
|
+
return {
|
|
52
|
+
updateExternalEvent: function updateExternalEvent(newExternalEvent) {
|
|
53
|
+
var _setExternalEventFn;
|
|
54
|
+
// Always update — allow same event twice
|
|
55
|
+
(_setExternalEventFn = setExternalEventFn) === null || _setExternalEventFn === void 0 || _setExternalEventFn(newExternalEvent);
|
|
56
|
+
},
|
|
57
|
+
unmount: function unmount() {
|
|
58
|
+
ReactDOM.unmountComponentAtNode(container);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
6
61
|
}
|
|
7
62
|
export default renderKitchenSimulator;
|
package/es/models.js
CHANGED
|
@@ -338,7 +338,8 @@ export var CatalogElement = /*#__PURE__*/function (_Record1) {
|
|
|
338
338
|
info: new Map(),
|
|
339
339
|
properties: new Map(),
|
|
340
340
|
obj: new Map(),
|
|
341
|
-
type: ''
|
|
341
|
+
type: '',
|
|
342
|
+
cds: new Map()
|
|
342
343
|
}, 'CatalogElement'));
|
|
343
344
|
export var Catalog = /*#__PURE__*/function (_Record10) {
|
|
344
345
|
function Catalog() {
|
|
@@ -28,7 +28,7 @@ export default function (state, action) {
|
|
|
28
28
|
state = state.merge({
|
|
29
29
|
sceneHistory: history.historyPush(state.sceneHistory, state.scene)
|
|
30
30
|
});
|
|
31
|
-
return Item.selectToolDrawingItem(state, action.sceneComponentType
|
|
31
|
+
return Item.selectToolDrawingItem(state, action.sceneComponentType).updatedState;
|
|
32
32
|
case REPLACE_ITEM:
|
|
33
33
|
return Item.replaceItem(state, action.selectedPos, action.currentObject, action.selectedObject).updatedState;
|
|
34
34
|
case UPDATE_DRAWING_ITEM:
|
|
@@ -105,7 +105,7 @@ export default function (state, action) {
|
|
|
105
105
|
case SELECT_TOOL_DRAWING_ITEM_3D:
|
|
106
106
|
return Item.selectToolDrawingItem3D(state, action.sceneComponentType).updatedState;
|
|
107
107
|
case SET_DOOR_STYLE:
|
|
108
|
-
return Item.setDoorStyle(state, action.doorStyle, action.
|
|
108
|
+
return Item.setDoorStyle(state, action.doorStyle, action.itemCDS, action.isAll).updatedState;
|
|
109
109
|
case SET_HANDLE_MATERIAL:
|
|
110
110
|
return Item.setHandleMaterial(state, action.material).updatedState;
|
|
111
111
|
case SET_DOOR_HANDLE:
|
|
@@ -130,7 +130,7 @@ export default function (state, action) {
|
|
|
130
130
|
case SET_APPLIANCE_MATERIAL:
|
|
131
131
|
return Item.setApplianceMaterial(state, action.material).updatedState;
|
|
132
132
|
case SET_INITIAL_DOOR_STYLE:
|
|
133
|
-
return Item.setInitialDoorStyle(state, action.doorStyle
|
|
133
|
+
return Item.setInitialDoorStyle(state, action.doorStyle).updatedState;
|
|
134
134
|
case UPDATE_ITEM_POSITION:
|
|
135
135
|
return Item.updateItemPosition(state, action.layerID, action.itemID, action.pos).updatedState;
|
|
136
136
|
// case SET_MOVE_STATUS:
|
|
@@ -6,7 +6,7 @@ export default function (state, action) {
|
|
|
6
6
|
case NEW_PROJECT:
|
|
7
7
|
return Project.newProject(state).updatedState;
|
|
8
8
|
case LOAD_PROJECT:
|
|
9
|
-
return Project.loadProject(state, action.sceneJSON
|
|
9
|
+
return Project.loadProject(state, action.sceneJSON).updatedState;
|
|
10
10
|
case OPEN_CATALOG:
|
|
11
11
|
return Project.openCatalog(state).updatedState;
|
|
12
12
|
case CHANGE_CATALOG_PAGE:
|
package/es/utils/geometry.js
CHANGED
|
@@ -873,18 +873,18 @@ export function getAllItemSnap(allItemRects) {
|
|
|
873
873
|
var snap4 = itemrectInfo(rect.rect[3].x + ox0, rect.rect[3].y + oy0, nrot, cur && cur.size, rect.layoutpos, rect.is_corner);
|
|
874
874
|
var sizeinfo = otherItems[index].cat && otherItems[index].cat.info.sizeinfo;
|
|
875
875
|
if (sizeinfo) {
|
|
876
|
-
var
|
|
877
|
-
|
|
878
|
-
if (
|
|
879
|
-
var vx =
|
|
876
|
+
var left_blind_length = sizeinfo.left_blind_length,
|
|
877
|
+
right_blind_length = sizeinfo.right_blind_length;
|
|
878
|
+
if (left_blind_length > 0) {
|
|
879
|
+
var vx = left_blind_length - ch;
|
|
880
880
|
var vy = cw;
|
|
881
881
|
var dx = vx * cos + vy * sin;
|
|
882
882
|
var dy = vx * sin - vy * cos;
|
|
883
883
|
var snap6 = itemrectInfo(rect.rect[0].x + dx, rect.rect[0].y + dy, rect.rotRad + Math.PI / 2, cur && cur.size, rect.layoutpos, rect.is_corner);
|
|
884
884
|
allItemSnap.push(snap6);
|
|
885
885
|
}
|
|
886
|
-
if (
|
|
887
|
-
var _vx = ch -
|
|
886
|
+
if (right_blind_length > 0) {
|
|
887
|
+
var _vx = ch - right_blind_length;
|
|
888
888
|
var _vy = cw;
|
|
889
889
|
var _dx = _vx * cos + _vy * sin;
|
|
890
890
|
var _dy = _vx * sin - _vy * cos;
|