kitchen-simulator 1.0.0-clark.85 → 1.0.0-clark.91
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 +6 -15
- package/es/LiteRenderer.js +5 -2
- package/es/components/content.js +10 -5
- package/es/components/viewer2d/viewer2d.js +85 -32
- package/es/components/viewer3d/viewer3d.js +86 -53
- package/es/constants.js +7 -1
- package/es/devLiteRenderer.js +5 -1
- package/es/utils/geometry.js +6 -6
- package/es/utils/isolate-event-handler.js +2 -0
- package/lib/LiteKitchenConfigurator.js +6 -15
- package/lib/LiteRenderer.js +5 -2
- package/lib/components/content.js +10 -5
- package/lib/components/viewer2d/viewer2d.js +84 -31
- package/lib/components/viewer3d/viewer3d.js +85 -52
- package/lib/constants.js +10 -4
- package/lib/devLiteRenderer.js +5 -1
- package/lib/utils/geometry.js +6 -6
- package/lib/utils/isolate-event-handler.js +2 -0
- package/package.json +1 -1
|
@@ -84,8 +84,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
84
84
|
redirectURL: '',
|
|
85
85
|
snackBarMessage: '',
|
|
86
86
|
isSaved: false,
|
|
87
|
-
isLeaving: false
|
|
88
|
-
stateCatalog: _this.props.catalog
|
|
87
|
+
isLeaving: false
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
// For UTM tracking
|
|
@@ -339,7 +338,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
339
338
|
}, {
|
|
340
339
|
key: "componentWillReceiveProps",
|
|
341
340
|
value: function componentWillReceiveProps(nextProps) {
|
|
342
|
-
var _oldState$catalog, _plannerState$catalog;
|
|
343
341
|
var stateExtractor = nextProps.stateExtractor,
|
|
344
342
|
state = nextProps.state,
|
|
345
343
|
projectActions = nextProps.projectActions,
|
|
@@ -351,15 +349,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
351
349
|
handleExternalEvent(nextProps);
|
|
352
350
|
}
|
|
353
351
|
var plannerState = stateExtractor(state);
|
|
354
|
-
var oldState = stateExtractor(this.props.state);
|
|
355
|
-
if ((oldState === null || oldState === void 0 || (_oldState$catalog = oldState.catalog) === null || _oldState$catalog === void 0 ? void 0 : _oldState$catalog.elements) !== (plannerState === null || plannerState === void 0 || (_plannerState$catalog = plannerState.catalog) === null || _plannerState$catalog === void 0 ? void 0 : _plannerState$catalog.elements)) {
|
|
356
|
-
// copy state.catalog to the props.catalog
|
|
357
|
-
// let catalog = this.state.stateCatalog;
|
|
358
|
-
// console.log('111111', plannerState?.catalog?.elements.toJS());
|
|
359
|
-
// catalog.elements = plannerState?.catalog?.elements.toJS();
|
|
360
|
-
// console.log('222222', catalog);
|
|
361
|
-
// this.setState({ stateCatalog: catalog });
|
|
362
|
-
}
|
|
363
352
|
var catalogReady = plannerState.getIn(['catalog', 'ready']);
|
|
364
353
|
if (!catalogReady) {
|
|
365
354
|
projectActions.initCatalog(catalog);
|
|
@@ -432,7 +421,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
432
421
|
}, /*#__PURE__*/React.createElement(Content, _extends({
|
|
433
422
|
width: contentW,
|
|
434
423
|
height: contentH,
|
|
435
|
-
catalog: this.
|
|
424
|
+
catalog: this.props.catalog,
|
|
436
425
|
state: extractedState,
|
|
437
426
|
toolBar: this.state.toolbar,
|
|
438
427
|
setToolbar: this.setToolbar,
|
|
@@ -441,7 +430,8 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
441
430
|
}, props, {
|
|
442
431
|
onWheel: function onWheel(event) {
|
|
443
432
|
return event.preventDefault();
|
|
444
|
-
}
|
|
433
|
+
},
|
|
434
|
+
onInternalEvent: this.props.onInternalEvent
|
|
445
435
|
}))));
|
|
446
436
|
}
|
|
447
437
|
}]);
|
|
@@ -460,7 +450,8 @@ LiteKitchenConfigurator.propTypes = {
|
|
|
460
450
|
footerbarComponents: PropTypes.array,
|
|
461
451
|
customContents: PropTypes.object,
|
|
462
452
|
softwareSignature: PropTypes.string,
|
|
463
|
-
configData: PropTypes.object
|
|
453
|
+
configData: PropTypes.object,
|
|
454
|
+
onInternalEvent: PropTypes.func
|
|
464
455
|
};
|
|
465
456
|
LiteKitchenConfigurator.contextTypes = {
|
|
466
457
|
store: PropTypes.object.isRequired
|
package/es/LiteRenderer.js
CHANGED
|
@@ -8,7 +8,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
|
8
8
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
9
9
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
10
10
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
11
|
-
var _excluded = ["width", "height", "projectElement", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onError"];
|
|
11
|
+
var _excluded = ["width", "height", "projectElement", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onInternalEvent", "onError"];
|
|
12
12
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
13
13
|
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; }
|
|
14
14
|
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; }
|
|
@@ -153,6 +153,7 @@ export default function LiteRenderer(props) {
|
|
|
153
153
|
sentry = props.sentry,
|
|
154
154
|
analytics = props.analytics,
|
|
155
155
|
externalEvent = props.externalEvent,
|
|
156
|
+
onInternalEvent = props.onInternalEvent,
|
|
156
157
|
onError = props.onError,
|
|
157
158
|
passThrough = _objectWithoutProperties(props, _excluded);
|
|
158
159
|
|
|
@@ -471,7 +472,8 @@ export default function LiteRenderer(props) {
|
|
|
471
472
|
},
|
|
472
473
|
data: data,
|
|
473
474
|
configData: configData,
|
|
474
|
-
externalEvent: externalEvent
|
|
475
|
+
externalEvent: externalEvent,
|
|
476
|
+
onInternalEvent: onInternalEvent
|
|
475
477
|
}, passThrough)))));
|
|
476
478
|
}
|
|
477
479
|
|
|
@@ -495,6 +497,7 @@ LiteRenderer.propTypes = {
|
|
|
495
497
|
environment: PropTypes.string
|
|
496
498
|
}),
|
|
497
499
|
externalEvent: PropTypes.object,
|
|
500
|
+
onInternalEvent: PropTypes.func,
|
|
498
501
|
onError: PropTypes.func,
|
|
499
502
|
store: PropTypes.object
|
|
500
503
|
};
|
package/es/components/content.js
CHANGED
|
@@ -16,7 +16,8 @@ export default function Content(_ref, _ref2) {
|
|
|
16
16
|
setToolbar = _ref.setToolbar,
|
|
17
17
|
replaceCabinet = _ref.replaceCabinet,
|
|
18
18
|
keyDownEnable = _ref.keyDownEnable,
|
|
19
|
-
catalog = _ref.catalog
|
|
19
|
+
catalog = _ref.catalog,
|
|
20
|
+
onInternalEvent = _ref.onInternalEvent;
|
|
20
21
|
var projectActions = _ref2.projectActions;
|
|
21
22
|
var mode = state.get('mode');
|
|
22
23
|
switch (mode) {
|
|
@@ -40,7 +41,8 @@ export default function Content(_ref, _ref2) {
|
|
|
40
41
|
setToolbar: setToolbar,
|
|
41
42
|
replaceCabinet: replaceCabinet,
|
|
42
43
|
keyDownEnable: keyDownEnable,
|
|
43
|
-
downloadFlag: false
|
|
44
|
+
downloadFlag: false,
|
|
45
|
+
onInternalEvent: onInternalEvent
|
|
44
46
|
});
|
|
45
47
|
case constants.MODE_3D_FIRST_PERSON:
|
|
46
48
|
return /*#__PURE__*/React.createElement(Viewer3DFirstPerson, {
|
|
@@ -78,7 +80,8 @@ export default function Content(_ref, _ref2) {
|
|
|
78
80
|
width: width,
|
|
79
81
|
height: height,
|
|
80
82
|
setToolbar: setToolbar,
|
|
81
|
-
replaceCabinet: replaceCabinet
|
|
83
|
+
replaceCabinet: replaceCabinet,
|
|
84
|
+
onInternalEvent: onInternalEvent
|
|
82
85
|
});
|
|
83
86
|
case constants.MODE_ROTATING_ITEM_3D:
|
|
84
87
|
case constants.MODE_DRAGGING_ITEM_3D:
|
|
@@ -94,7 +97,8 @@ export default function Content(_ref, _ref2) {
|
|
|
94
97
|
setToolbar: setToolbar,
|
|
95
98
|
replaceCabinet: replaceCabinet,
|
|
96
99
|
keyDownEnable: keyDownEnable,
|
|
97
|
-
downloadFlag: false
|
|
100
|
+
downloadFlag: false,
|
|
101
|
+
onInternalEvent: onInternalEvent
|
|
98
102
|
});
|
|
99
103
|
|
|
100
104
|
// case constants.MODE_CONFIGURING_PROJECT:
|
|
@@ -119,7 +123,8 @@ Content.propTypes = {
|
|
|
119
123
|
state: PropTypes.object.isRequired,
|
|
120
124
|
width: PropTypes.number.isRequired,
|
|
121
125
|
height: PropTypes.number.isRequired,
|
|
122
|
-
replaceCabinet: PropTypes.func.isRequired
|
|
126
|
+
replaceCabinet: PropTypes.func.isRequired,
|
|
127
|
+
onInternalEvent: PropTypes.func.isRequired
|
|
123
128
|
};
|
|
124
129
|
Content.contextTypes = {
|
|
125
130
|
projectActions: PropTypes.object.isRequired
|
|
@@ -6,7 +6,7 @@ import React, { useEffect, useRef, useState } from 'react';
|
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT } from 'react-svg-pan-zoom';
|
|
8
8
|
import * as constants from "../../constants";
|
|
9
|
-
import { DECIMAL_PLACES_2, LINE_THICKNESS, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_ELEVATION_VIEW, MODE_IDLE, UNIT_ANGLE } from "../../constants";
|
|
9
|
+
import { DECIMAL_PLACES_2, LINE_THICKNESS, MIN_ANGLE_DISALLOW_DRAW_WALL, MODE_ELEVATION_VIEW, MODE_IDLE, UNIT_ANGLE, INTERNAL_EVENT_SELECT_ELEMENT, INTERNAL_EVENT_DRAG_ELEMENT, INTERNAL_EVENT_DRAW_ELEMENT, INTERNAL_EVENT_ROTATE_ELEMENT } from "../../constants";
|
|
10
10
|
import State from "./state";
|
|
11
11
|
import * as SharedStyle from "../../shared-style";
|
|
12
12
|
import { RulerX, RulerY } from "./export";
|
|
@@ -123,7 +123,8 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
123
123
|
width = _ref.width,
|
|
124
124
|
height = _ref.height,
|
|
125
125
|
setToolbar = _ref.setToolbar,
|
|
126
|
-
replaceCabinet = _ref.replaceCabinet
|
|
126
|
+
replaceCabinet = _ref.replaceCabinet,
|
|
127
|
+
onInternalEvent = _ref.onInternalEvent;
|
|
127
128
|
var viewer2DActions = _ref2.viewer2DActions,
|
|
128
129
|
linesActions = _ref2.linesActions,
|
|
129
130
|
holesActions = _ref2.holesActions,
|
|
@@ -780,35 +781,42 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
780
781
|
if (mode === constants.MODE_IDLE) {
|
|
781
782
|
var elementData = extractElementData(event.target);
|
|
782
783
|
if (!elementData) return;
|
|
783
|
-
if (sCount < 2)
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
if (elementData.
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
break;
|
|
790
|
-
case 'vertices':
|
|
791
|
-
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
792
|
-
break;
|
|
793
|
-
case 'items':
|
|
794
|
-
setToolbar('');
|
|
795
|
-
current_sel_obj_id = elementData.id;
|
|
796
|
-
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
797
|
-
// closes the setting dialog
|
|
798
|
-
if (document.getElementById('setting_dialog')) {
|
|
799
|
-
document.getElementById('setting_dialog').style.display = 'none';
|
|
784
|
+
if (sCount < 2) {
|
|
785
|
+
switch (elementData.prototype) {
|
|
786
|
+
case 'lines':
|
|
787
|
+
if (elementData.selected) {
|
|
788
|
+
if (elementData.part === 'remove') break;else if (elementData.part === 'elevation') break;
|
|
789
|
+
linesActions.beginDraggingLine(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
800
790
|
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
791
|
+
break;
|
|
792
|
+
case 'vertices':
|
|
793
|
+
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
794
|
+
break;
|
|
795
|
+
case 'items':
|
|
796
|
+
setToolbar('');
|
|
797
|
+
current_sel_obj_id = elementData.id;
|
|
798
|
+
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
799
|
+
// closes the setting dialog
|
|
800
|
+
if (document.getElementById('setting_dialog')) {
|
|
801
|
+
document.getElementById('setting_dialog').style.display = 'none';
|
|
802
|
+
}
|
|
803
|
+
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
804
|
+
// projectActions.setMode(constants.MODE_DRAGGING_ITEM);
|
|
805
|
+
itemsActions.beginDraggingItem(elementData.layer, elementData.id, x, y);
|
|
806
|
+
replaceCabinet(false);
|
|
807
|
+
}
|
|
808
|
+
break;
|
|
809
|
+
case 'holes':
|
|
810
|
+
if (elementData.selected) holesActions.beginDraggingHole(elementData.layer, elementData.id, x, y);
|
|
811
|
+
break;
|
|
812
|
+
default:
|
|
813
|
+
break;
|
|
814
|
+
}
|
|
815
|
+
var currentObject = state.getIn(['scene', 'layers', layerID, elementData.prototype, elementData.id]);
|
|
816
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
817
|
+
type: INTERNAL_EVENT_SELECT_ELEMENT,
|
|
818
|
+
value: currentObject.toJS()
|
|
819
|
+
});
|
|
812
820
|
} else {
|
|
813
821
|
sPoint.x = x;
|
|
814
822
|
sPoint.y = y;
|
|
@@ -844,10 +852,47 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
844
852
|
y = _mapCursorPosition3.y;
|
|
845
853
|
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
846
854
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
855
|
+
var elementData = extractElementData(event.target);
|
|
856
|
+
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
857
|
+
var elementPrototype = null;
|
|
858
|
+
var elementID = null;
|
|
859
|
+
var internalType = '';
|
|
860
|
+
switch (mode) {
|
|
861
|
+
case constants.MODE_DRAWING_LINE:
|
|
862
|
+
elementPrototype = 'lines';
|
|
863
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
864
|
+
break;
|
|
865
|
+
case constants.MODE_DRAWING_HOLE:
|
|
866
|
+
elementPrototype = 'holes';
|
|
867
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
868
|
+
break;
|
|
869
|
+
case constants.MODE_DRAWING_ITEM:
|
|
870
|
+
elementPrototype = 'items';
|
|
871
|
+
internalType = INTERNAL_EVENT_DRAW_ELEMENT;
|
|
872
|
+
break;
|
|
873
|
+
case constants.MODE_DRAGGING_LINE:
|
|
874
|
+
elementPrototype = 'lines';
|
|
875
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
876
|
+
break;
|
|
877
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
878
|
+
elementPrototype = 'holes';
|
|
879
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
880
|
+
break;
|
|
881
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
882
|
+
elementPrototype = 'items';
|
|
883
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
884
|
+
break;
|
|
885
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
886
|
+
elementPrototype = 'lines';
|
|
887
|
+
internalType = INTERNAL_EVENT_DRAG_ELEMENT;
|
|
888
|
+
break;
|
|
889
|
+
case constants.MODE_ROTATING_ITEM:
|
|
890
|
+
elementPrototype = 'items';
|
|
891
|
+
internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
892
|
+
break;
|
|
893
|
+
}
|
|
847
894
|
switch (mode) {
|
|
848
895
|
case constants.MODE_IDLE:
|
|
849
|
-
var elementData = extractElementData(event.target);
|
|
850
|
-
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
851
896
|
switch (elementData ? elementData.prototype : 'none') {
|
|
852
897
|
case 'areas':
|
|
853
898
|
if (document.getElementById('setting_dialog')) {
|
|
@@ -1187,6 +1232,14 @@ export default function Viewer2D(_ref, _ref2) {
|
|
|
1187
1232
|
itemsActions.endRotatingItem(x, y);
|
|
1188
1233
|
break;
|
|
1189
1234
|
}
|
|
1235
|
+
if (elementPrototype) {
|
|
1236
|
+
elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
|
|
1237
|
+
var _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1238
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1239
|
+
type: internalType,
|
|
1240
|
+
value: _currentObject.toJS()
|
|
1241
|
+
});
|
|
1242
|
+
}
|
|
1190
1243
|
event.stopPropagation();
|
|
1191
1244
|
};
|
|
1192
1245
|
var onChangeValue = function onChangeValue(value) {
|
|
@@ -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";
|
|
@@ -1274,7 +1274,18 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1274
1274
|
}
|
|
1275
1275
|
}
|
|
1276
1276
|
if (selectedObject !== undefined) {
|
|
1277
|
-
|
|
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
|
+
}
|
|
1278
1289
|
sPoint.set(Point.x, Point.y);
|
|
1279
1290
|
if (transflag == 0) {
|
|
1280
1291
|
scene3D.remove(toolObj);
|
|
@@ -1340,7 +1351,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1340
1351
|
}
|
|
1341
1352
|
};
|
|
1342
1353
|
this.mouseUpEvent = function (event) {
|
|
1343
|
-
var
|
|
1354
|
+
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1355
|
+
var selectedElement; // internalEvent data
|
|
1344
1356
|
firstMove = 0;
|
|
1345
1357
|
var altitude = 0;
|
|
1346
1358
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1377,6 +1389,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1377
1389
|
isInitialPhase = true;
|
|
1378
1390
|
return;
|
|
1379
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
|
+
}
|
|
1380
1400
|
if (_this2.props.state.mode == MODE_DRAGGING_ITEM_3D) {
|
|
1381
1401
|
_this2.context.itemsActions.endDraggingItem3D();
|
|
1382
1402
|
}
|
|
@@ -1458,56 +1478,62 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1458
1478
|
currentObject = currentObject.parent;
|
|
1459
1479
|
}
|
|
1460
1480
|
isSelected = true;
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1485
|
-
});
|
|
1486
|
-
pointArray.forEach(function (pointElement) {
|
|
1487
|
-
if (pointElement[0] == 0) cnt++;
|
|
1488
|
-
});
|
|
1489
|
-
if (cnt == 4 || cnt == 3) {
|
|
1490
|
-
pointArray[0][0] = 100;
|
|
1491
|
-
pointArray[1][0] = 100;
|
|
1492
|
-
}
|
|
1493
|
-
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;
|
|
1494
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;
|
|
1495
1514
|
} else {
|
|
1496
1515
|
if (selectedObject) {
|
|
1516
|
+
var elementID = null;
|
|
1517
|
+
var elementPrototype = null;
|
|
1497
1518
|
switch (true) {
|
|
1498
1519
|
case 'holeID' in selectedObject:
|
|
1499
|
-
if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
|
|
1500
|
-
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1501
|
-
}
|
|
1502
|
-
break;
|
|
1503
1520
|
case 'lineID' in selectedObject:
|
|
1504
|
-
if (
|
|
1521
|
+
if (_this2.props.state.mode === MODE_DRAGGING_HOLE_3D) {
|
|
1505
1522
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1523
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1524
|
+
elementID = selectedObject.holeID;
|
|
1525
|
+
elementPrototype = 'holeID';
|
|
1506
1526
|
}
|
|
1507
1527
|
break;
|
|
1528
|
+
case 'areaID' in selectedObject:
|
|
1529
|
+
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1530
|
+
elementID = selectedObject.areaID;
|
|
1531
|
+
elementPrototype = 'areas';
|
|
1532
|
+
break;
|
|
1508
1533
|
default:
|
|
1509
1534
|
break;
|
|
1510
1535
|
}
|
|
1536
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
|
|
1511
1537
|
}
|
|
1512
1538
|
isSelected = false;
|
|
1513
1539
|
}
|
|
@@ -1542,14 +1568,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1542
1568
|
getPoint(event, alti);
|
|
1543
1569
|
if (bRotate) {
|
|
1544
1570
|
var _intersects$_i;
|
|
1545
|
-
var
|
|
1546
|
-
if (isUndefined(
|
|
1547
|
-
|
|
1548
|
-
var
|
|
1549
|
-
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) {
|
|
1550
1576
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1551
1577
|
} else {
|
|
1552
|
-
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);
|
|
1553
1579
|
}
|
|
1554
1580
|
scene3D.add(toolObj);
|
|
1555
1581
|
_this2.setState({
|
|
@@ -1560,14 +1586,14 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1560
1586
|
}
|
|
1561
1587
|
if (bMove) {
|
|
1562
1588
|
bMove = false;
|
|
1563
|
-
var
|
|
1564
|
-
if (isUndefined(
|
|
1565
|
-
|
|
1566
|
-
var
|
|
1567
|
-
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) {
|
|
1568
1594
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1569
1595
|
} else {
|
|
1570
|
-
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);
|
|
1571
1597
|
}
|
|
1572
1598
|
scene3D.add(toolObj);
|
|
1573
1599
|
_this2.setState({
|
|
@@ -1601,6 +1627,13 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
|
|
|
1601
1627
|
selectedObj = allItemRect.cur;
|
|
1602
1628
|
}
|
|
1603
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
|
+
}
|
|
1604
1637
|
};
|
|
1605
1638
|
this.mouseEnterEvent = function (event) {
|
|
1606
1639
|
if (_this2.props.state.mode !== MODE_DRAWING_ITEM_3D) return;
|
package/es/constants.js
CHANGED
|
@@ -667,4 +667,10 @@ export var EXTERNAL_EVENT_ZOOM_OUT = 'EXTERNAL_EVENT_ZOOM_OUT';
|
|
|
667
667
|
export var EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
668
668
|
export var EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
669
669
|
export var EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
670
|
-
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
670
|
+
export var EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
671
|
+
|
|
672
|
+
// internal event type
|
|
673
|
+
export var INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
674
|
+
export var INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
675
|
+
export var INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
676
|
+
export var INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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/
|
|
4
|
+
import mockProps from "./mocks/mockProps2.json";
|
|
5
5
|
import mockDataBundle from "./mocks/dataBundle2.json";
|
|
6
6
|
import cabinetPaylod from "./mocks/cabinetPayload2.json";
|
|
7
7
|
import doorStylePaylod from "./mocks/doorStylePayload.json";
|
|
@@ -19,6 +19,9 @@ var options = {
|
|
|
19
19
|
unit: 'in',
|
|
20
20
|
enable3D: true
|
|
21
21
|
};
|
|
22
|
+
var onInternalEvent = function onInternalEvent(evt) {
|
|
23
|
+
console.log('EVENT:', evt.type, evt.value);
|
|
24
|
+
};
|
|
22
25
|
document.getElementById('app').style.display = 'block';
|
|
23
26
|
function WorkSpace(props) {
|
|
24
27
|
var _useState = useState(null),
|
|
@@ -270,6 +273,7 @@ function WorkSpace(props) {
|
|
|
270
273
|
companyUrl: "https://example.com",
|
|
271
274
|
toolbarButtons: [],
|
|
272
275
|
externalEvent: externalEvent,
|
|
276
|
+
onInternalEvent: onInternalEvent,
|
|
273
277
|
onError: function onError(payload) {
|
|
274
278
|
// payload = {
|
|
275
279
|
// type: 'render-error' | 'runtime-error' | 'unhandled-rejection',
|
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 leftBlindLength = sizeinfo.leftBlindLength,
|
|
877
|
+
rightBlindLength = sizeinfo.rightBlindLength;
|
|
878
|
+
if (leftBlindLength > 0) {
|
|
879
|
+
var vx = leftBlindLength - 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 (rightBlindLength > 0) {
|
|
887
|
+
var _vx = ch - rightBlindLength;
|
|
888
888
|
var _vy = cw;
|
|
889
889
|
var _dx = _vx * cos + _vy * sin;
|
|
890
890
|
var _dy = _vx * sin - _vy * cos;
|
|
@@ -476,6 +476,7 @@ function _handleExternalEvent() {
|
|
|
476
476
|
return _regeneratorRuntime.wrap(function (_context5) {
|
|
477
477
|
while (1) switch (_context5.prev = _context5.next) {
|
|
478
478
|
case 0:
|
|
479
|
+
console.log('***external event****', props.externalEvent);
|
|
479
480
|
evt = props.externalEvent;
|
|
480
481
|
state = props.state.get('KitchenConfigurator');
|
|
481
482
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
@@ -506,6 +507,7 @@ function _handleExternalEvent() {
|
|
|
506
507
|
catalog = state.getIn(['catalog']).toJS(); // add item to catalog of state
|
|
507
508
|
_element = _objectSpread(_objectSpread({}, _element), {}, {
|
|
508
509
|
cds: {
|
|
510
|
+
data: [_objectSpread({}, _element.customer_property)],
|
|
509
511
|
itemID: _element.itemID
|
|
510
512
|
}
|
|
511
513
|
});
|
|
@@ -93,8 +93,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
93
93
|
redirectURL: '',
|
|
94
94
|
snackBarMessage: '',
|
|
95
95
|
isSaved: false,
|
|
96
|
-
isLeaving: false
|
|
97
|
-
stateCatalog: _this.props.catalog
|
|
96
|
+
isLeaving: false
|
|
98
97
|
};
|
|
99
98
|
|
|
100
99
|
// For UTM tracking
|
|
@@ -348,7 +347,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
348
347
|
}, {
|
|
349
348
|
key: "componentWillReceiveProps",
|
|
350
349
|
value: function componentWillReceiveProps(nextProps) {
|
|
351
|
-
var _oldState$catalog, _plannerState$catalog;
|
|
352
350
|
var stateExtractor = nextProps.stateExtractor,
|
|
353
351
|
state = nextProps.state,
|
|
354
352
|
projectActions = nextProps.projectActions,
|
|
@@ -360,15 +358,6 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
360
358
|
(0, _isolateEventHandler.handleExternalEvent)(nextProps);
|
|
361
359
|
}
|
|
362
360
|
var plannerState = stateExtractor(state);
|
|
363
|
-
var oldState = stateExtractor(this.props.state);
|
|
364
|
-
if ((oldState === null || oldState === void 0 || (_oldState$catalog = oldState.catalog) === null || _oldState$catalog === void 0 ? void 0 : _oldState$catalog.elements) !== (plannerState === null || plannerState === void 0 || (_plannerState$catalog = plannerState.catalog) === null || _plannerState$catalog === void 0 ? void 0 : _plannerState$catalog.elements)) {
|
|
365
|
-
// copy state.catalog to the props.catalog
|
|
366
|
-
// let catalog = this.state.stateCatalog;
|
|
367
|
-
// console.log('111111', plannerState?.catalog?.elements.toJS());
|
|
368
|
-
// catalog.elements = plannerState?.catalog?.elements.toJS();
|
|
369
|
-
// console.log('222222', catalog);
|
|
370
|
-
// this.setState({ stateCatalog: catalog });
|
|
371
|
-
}
|
|
372
361
|
var catalogReady = plannerState.getIn(['catalog', 'ready']);
|
|
373
362
|
if (!catalogReady) {
|
|
374
363
|
projectActions.initCatalog(catalog);
|
|
@@ -441,7 +430,7 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
441
430
|
}, /*#__PURE__*/_react["default"].createElement(_export2.Content, (0, _extends2["default"])({
|
|
442
431
|
width: contentW,
|
|
443
432
|
height: contentH,
|
|
444
|
-
catalog: this.
|
|
433
|
+
catalog: this.props.catalog,
|
|
445
434
|
state: extractedState,
|
|
446
435
|
toolBar: this.state.toolbar,
|
|
447
436
|
setToolbar: this.setToolbar,
|
|
@@ -450,7 +439,8 @@ var LiteKitchenConfigurator = /*#__PURE__*/function (_Component) {
|
|
|
450
439
|
}, props, {
|
|
451
440
|
onWheel: function onWheel(event) {
|
|
452
441
|
return event.preventDefault();
|
|
453
|
-
}
|
|
442
|
+
},
|
|
443
|
+
onInternalEvent: this.props.onInternalEvent
|
|
454
444
|
}))));
|
|
455
445
|
}
|
|
456
446
|
}]);
|
|
@@ -469,7 +459,8 @@ LiteKitchenConfigurator.propTypes = {
|
|
|
469
459
|
footerbarComponents: _propTypes["default"].array,
|
|
470
460
|
customContents: _propTypes["default"].object,
|
|
471
461
|
softwareSignature: _propTypes["default"].string,
|
|
472
|
-
configData: _propTypes["default"].object
|
|
462
|
+
configData: _propTypes["default"].object,
|
|
463
|
+
onInternalEvent: _propTypes["default"].func
|
|
473
464
|
};
|
|
474
465
|
LiteKitchenConfigurator.contextTypes = {
|
|
475
466
|
store: _propTypes["default"].object.isRequired
|
package/lib/LiteRenderer.js
CHANGED
|
@@ -39,7 +39,7 @@ var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
|
39
39
|
var _exporter = _interopRequireDefault(require("./catalog/utils/exporter"));
|
|
40
40
|
var THREE = _interopRequireWildcard(require("three"));
|
|
41
41
|
var _LiteKitchenConfigurator = _interopRequireDefault(require("./LiteKitchenConfigurator"));
|
|
42
|
-
var _excluded = ["width", "height", "projectElement", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onError"];
|
|
42
|
+
var _excluded = ["width", "height", "projectElement", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onInternalEvent", "onError"];
|
|
43
43
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
44
44
|
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; }
|
|
45
45
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -162,6 +162,7 @@ function LiteRenderer(props) {
|
|
|
162
162
|
sentry = props.sentry,
|
|
163
163
|
analytics = props.analytics,
|
|
164
164
|
externalEvent = props.externalEvent,
|
|
165
|
+
onInternalEvent = props.onInternalEvent,
|
|
165
166
|
onError = props.onError,
|
|
166
167
|
passThrough = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
167
168
|
|
|
@@ -480,7 +481,8 @@ function LiteRenderer(props) {
|
|
|
480
481
|
},
|
|
481
482
|
data: data,
|
|
482
483
|
configData: configData,
|
|
483
|
-
externalEvent: externalEvent
|
|
484
|
+
externalEvent: externalEvent,
|
|
485
|
+
onInternalEvent: onInternalEvent
|
|
484
486
|
}, passThrough)))));
|
|
485
487
|
}
|
|
486
488
|
|
|
@@ -504,6 +506,7 @@ LiteRenderer.propTypes = {
|
|
|
504
506
|
environment: _propTypes["default"].string
|
|
505
507
|
}),
|
|
506
508
|
externalEvent: _propTypes["default"].object,
|
|
509
|
+
onInternalEvent: _propTypes["default"].func,
|
|
507
510
|
onError: _propTypes["default"].func,
|
|
508
511
|
store: _propTypes["default"].object
|
|
509
512
|
};
|
|
@@ -26,7 +26,8 @@ function Content(_ref, _ref2) {
|
|
|
26
26
|
setToolbar = _ref.setToolbar,
|
|
27
27
|
replaceCabinet = _ref.replaceCabinet,
|
|
28
28
|
keyDownEnable = _ref.keyDownEnable,
|
|
29
|
-
catalog = _ref.catalog
|
|
29
|
+
catalog = _ref.catalog,
|
|
30
|
+
onInternalEvent = _ref.onInternalEvent;
|
|
30
31
|
var projectActions = _ref2.projectActions;
|
|
31
32
|
var mode = state.get('mode');
|
|
32
33
|
switch (mode) {
|
|
@@ -50,7 +51,8 @@ function Content(_ref, _ref2) {
|
|
|
50
51
|
setToolbar: setToolbar,
|
|
51
52
|
replaceCabinet: replaceCabinet,
|
|
52
53
|
keyDownEnable: keyDownEnable,
|
|
53
|
-
downloadFlag: false
|
|
54
|
+
downloadFlag: false,
|
|
55
|
+
onInternalEvent: onInternalEvent
|
|
54
56
|
});
|
|
55
57
|
case constants.MODE_3D_FIRST_PERSON:
|
|
56
58
|
return /*#__PURE__*/_react["default"].createElement(_viewer3dFirstPerson["default"], {
|
|
@@ -88,7 +90,8 @@ function Content(_ref, _ref2) {
|
|
|
88
90
|
width: width,
|
|
89
91
|
height: height,
|
|
90
92
|
setToolbar: setToolbar,
|
|
91
|
-
replaceCabinet: replaceCabinet
|
|
93
|
+
replaceCabinet: replaceCabinet,
|
|
94
|
+
onInternalEvent: onInternalEvent
|
|
92
95
|
});
|
|
93
96
|
case constants.MODE_ROTATING_ITEM_3D:
|
|
94
97
|
case constants.MODE_DRAGGING_ITEM_3D:
|
|
@@ -104,7 +107,8 @@ function Content(_ref, _ref2) {
|
|
|
104
107
|
setToolbar: setToolbar,
|
|
105
108
|
replaceCabinet: replaceCabinet,
|
|
106
109
|
keyDownEnable: keyDownEnable,
|
|
107
|
-
downloadFlag: false
|
|
110
|
+
downloadFlag: false,
|
|
111
|
+
onInternalEvent: onInternalEvent
|
|
108
112
|
});
|
|
109
113
|
|
|
110
114
|
// case constants.MODE_CONFIGURING_PROJECT:
|
|
@@ -129,7 +133,8 @@ Content.propTypes = {
|
|
|
129
133
|
state: _propTypes["default"].object.isRequired,
|
|
130
134
|
width: _propTypes["default"].number.isRequired,
|
|
131
135
|
height: _propTypes["default"].number.isRequired,
|
|
132
|
-
replaceCabinet: _propTypes["default"].func.isRequired
|
|
136
|
+
replaceCabinet: _propTypes["default"].func.isRequired,
|
|
137
|
+
onInternalEvent: _propTypes["default"].func.isRequired
|
|
133
138
|
};
|
|
134
139
|
Content.contextTypes = {
|
|
135
140
|
projectActions: _propTypes["default"].object.isRequired
|
|
@@ -133,7 +133,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
133
133
|
width = _ref.width,
|
|
134
134
|
height = _ref.height,
|
|
135
135
|
setToolbar = _ref.setToolbar,
|
|
136
|
-
replaceCabinet = _ref.replaceCabinet
|
|
136
|
+
replaceCabinet = _ref.replaceCabinet,
|
|
137
|
+
onInternalEvent = _ref.onInternalEvent;
|
|
137
138
|
var viewer2DActions = _ref2.viewer2DActions,
|
|
138
139
|
linesActions = _ref2.linesActions,
|
|
139
140
|
holesActions = _ref2.holesActions,
|
|
@@ -790,35 +791,42 @@ function Viewer2D(_ref, _ref2) {
|
|
|
790
791
|
if (mode === constants.MODE_IDLE) {
|
|
791
792
|
var elementData = extractElementData(event.target);
|
|
792
793
|
if (!elementData) return;
|
|
793
|
-
if (sCount < 2)
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
if (elementData.
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
break;
|
|
800
|
-
case 'vertices':
|
|
801
|
-
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
802
|
-
break;
|
|
803
|
-
case 'items':
|
|
804
|
-
setToolbar('');
|
|
805
|
-
current_sel_obj_id = elementData.id;
|
|
806
|
-
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
807
|
-
// closes the setting dialog
|
|
808
|
-
if (document.getElementById('setting_dialog')) {
|
|
809
|
-
document.getElementById('setting_dialog').style.display = 'none';
|
|
794
|
+
if (sCount < 2) {
|
|
795
|
+
switch (elementData.prototype) {
|
|
796
|
+
case 'lines':
|
|
797
|
+
if (elementData.selected) {
|
|
798
|
+
if (elementData.part === 'remove') break;else if (elementData.part === 'elevation') break;
|
|
799
|
+
linesActions.beginDraggingLine(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
810
800
|
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
801
|
+
break;
|
|
802
|
+
case 'vertices':
|
|
803
|
+
verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
|
|
804
|
+
break;
|
|
805
|
+
case 'items':
|
|
806
|
+
setToolbar('');
|
|
807
|
+
current_sel_obj_id = elementData.id;
|
|
808
|
+
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
809
|
+
// closes the setting dialog
|
|
810
|
+
if (document.getElementById('setting_dialog')) {
|
|
811
|
+
document.getElementById('setting_dialog').style.display = 'none';
|
|
812
|
+
}
|
|
813
|
+
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
814
|
+
// projectActions.setMode(constants.MODE_DRAGGING_ITEM);
|
|
815
|
+
itemsActions.beginDraggingItem(elementData.layer, elementData.id, x, y);
|
|
816
|
+
replaceCabinet(false);
|
|
817
|
+
}
|
|
818
|
+
break;
|
|
819
|
+
case 'holes':
|
|
820
|
+
if (elementData.selected) holesActions.beginDraggingHole(elementData.layer, elementData.id, x, y);
|
|
821
|
+
break;
|
|
822
|
+
default:
|
|
823
|
+
break;
|
|
824
|
+
}
|
|
825
|
+
var currentObject = state.getIn(['scene', 'layers', layerID, elementData.prototype, elementData.id]);
|
|
826
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
827
|
+
type: _constants.INTERNAL_EVENT_SELECT_ELEMENT,
|
|
828
|
+
value: currentObject.toJS()
|
|
829
|
+
});
|
|
822
830
|
} else {
|
|
823
831
|
sPoint.x = x;
|
|
824
832
|
sPoint.y = y;
|
|
@@ -854,10 +862,47 @@ function Viewer2D(_ref, _ref2) {
|
|
|
854
862
|
y = _mapCursorPosition3.y;
|
|
855
863
|
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
856
864
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
865
|
+
var elementData = extractElementData(event.target);
|
|
866
|
+
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
867
|
+
var elementPrototype = null;
|
|
868
|
+
var elementID = null;
|
|
869
|
+
var internalType = '';
|
|
870
|
+
switch (mode) {
|
|
871
|
+
case constants.MODE_DRAWING_LINE:
|
|
872
|
+
elementPrototype = 'lines';
|
|
873
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
874
|
+
break;
|
|
875
|
+
case constants.MODE_DRAWING_HOLE:
|
|
876
|
+
elementPrototype = 'holes';
|
|
877
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
878
|
+
break;
|
|
879
|
+
case constants.MODE_DRAWING_ITEM:
|
|
880
|
+
elementPrototype = 'items';
|
|
881
|
+
internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
|
|
882
|
+
break;
|
|
883
|
+
case constants.MODE_DRAGGING_LINE:
|
|
884
|
+
elementPrototype = 'lines';
|
|
885
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
886
|
+
break;
|
|
887
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
888
|
+
elementPrototype = 'holes';
|
|
889
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
890
|
+
break;
|
|
891
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
892
|
+
elementPrototype = 'items';
|
|
893
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
894
|
+
break;
|
|
895
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
896
|
+
elementPrototype = 'lines';
|
|
897
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
898
|
+
break;
|
|
899
|
+
case constants.MODE_ROTATING_ITEM:
|
|
900
|
+
elementPrototype = 'items';
|
|
901
|
+
internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
902
|
+
break;
|
|
903
|
+
}
|
|
857
904
|
switch (mode) {
|
|
858
905
|
case constants.MODE_IDLE:
|
|
859
|
-
var elementData = extractElementData(event.target);
|
|
860
|
-
var selectedLayer = scene.getIn(['layers', layerID]);
|
|
861
906
|
switch (elementData ? elementData.prototype : 'none') {
|
|
862
907
|
case 'areas':
|
|
863
908
|
if (document.getElementById('setting_dialog')) {
|
|
@@ -1197,6 +1242,14 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1197
1242
|
itemsActions.endRotatingItem(x, y);
|
|
1198
1243
|
break;
|
|
1199
1244
|
}
|
|
1245
|
+
if (elementPrototype) {
|
|
1246
|
+
elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
|
|
1247
|
+
var _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1248
|
+
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1249
|
+
type: internalType,
|
|
1250
|
+
value: _currentObject.toJS()
|
|
1251
|
+
});
|
|
1252
|
+
}
|
|
1200
1253
|
event.stopPropagation();
|
|
1201
1254
|
};
|
|
1202
1255
|
var onChangeValue = function onChangeValue(value) {
|
|
@@ -1281,7 +1281,18 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1281
1281
|
}
|
|
1282
1282
|
}
|
|
1283
1283
|
if (selectedObject !== undefined) {
|
|
1284
|
-
|
|
1284
|
+
// get selected object from planData.sceneGraph
|
|
1285
|
+
var selectedItem = null;
|
|
1286
|
+
switch (true) {
|
|
1287
|
+
case 'itemID' in selectedObject:
|
|
1288
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1289
|
+
break;
|
|
1290
|
+
case 'holeID' in selectedObject:
|
|
1291
|
+
selectedItem = planData.sceneGraph.layers[selectedObject.layerID].holes[selectedObject.holeID];
|
|
1292
|
+
break;
|
|
1293
|
+
default:
|
|
1294
|
+
break;
|
|
1295
|
+
}
|
|
1285
1296
|
sPoint.set(Point.x, Point.y);
|
|
1286
1297
|
if (transflag == 0) {
|
|
1287
1298
|
scene3D.remove(toolObj);
|
|
@@ -1347,7 +1358,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1347
1358
|
}
|
|
1348
1359
|
};
|
|
1349
1360
|
this.mouseUpEvent = function (event) {
|
|
1350
|
-
var
|
|
1361
|
+
var internalType = ''; // internalEvent type - select/drag/draw
|
|
1362
|
+
var selectedElement; // internalEvent data
|
|
1351
1363
|
firstMove = 0;
|
|
1352
1364
|
var altitude = 0;
|
|
1353
1365
|
if (allItemRect && allItemRect.cur && allItemRect.cur.itemInfo !== undefined) {
|
|
@@ -1384,6 +1396,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1384
1396
|
isInitialPhase = true;
|
|
1385
1397
|
return;
|
|
1386
1398
|
}
|
|
1399
|
+
switch (_this2.props.state.mode) {
|
|
1400
|
+
case _constants.MODE_DRAGGING_ITEM_3D:
|
|
1401
|
+
internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
|
|
1402
|
+
break;
|
|
1403
|
+
case _constants.MODE_ROTATING_ITEM_3D:
|
|
1404
|
+
internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
1405
|
+
break;
|
|
1406
|
+
}
|
|
1387
1407
|
if (_this2.props.state.mode == _constants.MODE_DRAGGING_ITEM_3D) {
|
|
1388
1408
|
_this2.context.itemsActions.endDraggingItem3D();
|
|
1389
1409
|
}
|
|
@@ -1465,56 +1485,62 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1465
1485
|
currentObject = currentObject.parent;
|
|
1466
1486
|
}
|
|
1467
1487
|
isSelected = true;
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1492
|
-
});
|
|
1493
|
-
pointArray.forEach(function (pointElement) {
|
|
1494
|
-
if (pointElement[0] == 0) cnt++;
|
|
1495
|
-
});
|
|
1496
|
-
if (cnt == 4 || cnt == 3) {
|
|
1497
|
-
pointArray[0][0] = 100;
|
|
1498
|
-
pointArray[1][0] = 100;
|
|
1499
|
-
}
|
|
1500
|
-
actions.itemsActions.storeDistArray(layer.id, selectedObject.itemID, pointArray);
|
|
1488
|
+
(0, _sceneCreator.getDistances)(layer);
|
|
1489
|
+
var selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1490
|
+
if ((0, _util.isUndefined)(selectedItem)) return;
|
|
1491
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1492
|
+
var itemPos = selectedItem.position.clone();
|
|
1493
|
+
if (intersects[_i10].object.parent && intersects[_i10].object.parent.parent.userData.itemId === selectedItem.userData.itemId) {
|
|
1494
|
+
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1495
|
+
} else {
|
|
1496
|
+
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);
|
|
1497
|
+
}
|
|
1498
|
+
scene3D.add(toolObj);
|
|
1499
|
+
_this2.setState({
|
|
1500
|
+
toolObj: toolObj
|
|
1501
|
+
});
|
|
1502
|
+
// showItemButtons(layer.getIn(['items', selectedObject.itemID]), currentObject, event, camera, this.renderer);
|
|
1503
|
+
var pointArray = [],
|
|
1504
|
+
cnt = 0;
|
|
1505
|
+
pointArray.push([_sceneCreator.fVLine[0].userData.distance, 90]);
|
|
1506
|
+
pointArray.push([_sceneCreator.fVLine[1].userData.distance, -90]);
|
|
1507
|
+
pointArray.push([_sceneCreator.fVLine[2].userData.distance, 180]);
|
|
1508
|
+
pointArray.push([_sceneCreator.fVLine[3].userData.distance, 0]);
|
|
1509
|
+
pointArray.forEach(function (pointElement, index) {
|
|
1510
|
+
if (pointElement[0] == undefined) pointArray[index][0] = 0;
|
|
1501
1511
|
});
|
|
1512
|
+
pointArray.forEach(function (pointElement) {
|
|
1513
|
+
if (pointElement[0] == 0) cnt++;
|
|
1514
|
+
});
|
|
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;
|
|
1502
1521
|
} else {
|
|
1503
1522
|
if (selectedObject) {
|
|
1523
|
+
var elementID = null;
|
|
1524
|
+
var elementPrototype = null;
|
|
1504
1525
|
switch (true) {
|
|
1505
1526
|
case 'holeID' in selectedObject:
|
|
1506
|
-
if (selObj !== null && selObj !== void 0 && (_selObj$object = selObj.object) !== null && _selObj$object !== void 0 && _selObj$object.name.includes('transHole')) {
|
|
1507
|
-
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1508
|
-
}
|
|
1509
|
-
break;
|
|
1510
1527
|
case 'lineID' in selectedObject:
|
|
1511
|
-
if (
|
|
1528
|
+
if (_this2.props.state.mode === _constants.MODE_DRAGGING_HOLE_3D) {
|
|
1512
1529
|
actions.holesActions.endDraggingHole3D(sPoint.x, sPoint.y);
|
|
1530
|
+
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1531
|
+
elementID = selectedObject.holeID;
|
|
1532
|
+
elementPrototype = 'holeID';
|
|
1513
1533
|
}
|
|
1514
1534
|
break;
|
|
1535
|
+
case 'areaID' in selectedObject:
|
|
1536
|
+
internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
|
|
1537
|
+
elementID = selectedObject.areaID;
|
|
1538
|
+
elementPrototype = 'areas';
|
|
1539
|
+
break;
|
|
1515
1540
|
default:
|
|
1516
1541
|
break;
|
|
1517
1542
|
}
|
|
1543
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).getIn([elementPrototype, elementID]);
|
|
1518
1544
|
}
|
|
1519
1545
|
isSelected = false;
|
|
1520
1546
|
}
|
|
@@ -1549,14 +1575,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1549
1575
|
getPoint(event, alti);
|
|
1550
1576
|
if (bRotate) {
|
|
1551
1577
|
var _intersects$_i;
|
|
1552
|
-
var
|
|
1553
|
-
if ((0, _util.isUndefined)(
|
|
1554
|
-
|
|
1555
|
-
var
|
|
1556
|
-
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) ===
|
|
1578
|
+
var _selectedItem = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1579
|
+
if ((0, _util.isUndefined)(_selectedItem)) return;
|
|
1580
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1581
|
+
var _itemPos = _selectedItem.position.clone();
|
|
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) === _selectedItem.userData.itemId) {
|
|
1557
1583
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1558
1584
|
} else {
|
|
1559
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1585
|
+
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);
|
|
1560
1586
|
}
|
|
1561
1587
|
scene3D.add(toolObj);
|
|
1562
1588
|
_this2.setState({
|
|
@@ -1567,14 +1593,14 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1567
1593
|
}
|
|
1568
1594
|
if (bMove) {
|
|
1569
1595
|
bMove = false;
|
|
1570
|
-
var
|
|
1571
|
-
if ((0, _util.isUndefined)(
|
|
1572
|
-
|
|
1573
|
-
var
|
|
1574
|
-
if (intersects[_i10].object.parent.parent.userData.itemId ===
|
|
1596
|
+
var _selectedItem2 = planData.sceneGraph.layers[selectedObject.layerID].items[selectedObject.itemID];
|
|
1597
|
+
if ((0, _util.isUndefined)(_selectedItem2)) return;
|
|
1598
|
+
selectedElement = _this2.props.state.scene.layers.get(selectedObject.layerID).items.get(selectedObject.itemID);
|
|
1599
|
+
var _itemPos2 = _selectedItem2.position.clone();
|
|
1600
|
+
if (intersects[_i10].object.parent.parent.userData.itemId === _selectedItem2.userData.itemId) {
|
|
1575
1601
|
toolObj.position.set(intersects[_i10].point.x, intersects[_i10].point.y, intersects[_i10].point.z);
|
|
1576
1602
|
} else {
|
|
1577
|
-
toolObj.position.set(planData.plan.position.x +
|
|
1603
|
+
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);
|
|
1578
1604
|
}
|
|
1579
1605
|
scene3D.add(toolObj);
|
|
1580
1606
|
_this2.setState({
|
|
@@ -1608,6 +1634,13 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
|
|
|
1608
1634
|
selectedObj = allItemRect.cur;
|
|
1609
1635
|
}
|
|
1610
1636
|
}
|
|
1637
|
+
if (!(0, _helper.isEmpty)(internalType)) {
|
|
1638
|
+
var _this2$props$onIntern, _this2$props;
|
|
1639
|
+
(_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
|
|
1640
|
+
type: internalType,
|
|
1641
|
+
value: selectedElement.toJS()
|
|
1642
|
+
});
|
|
1643
|
+
}
|
|
1611
1644
|
};
|
|
1612
1645
|
this.mouseEnterEvent = function (event) {
|
|
1613
1646
|
if (_this2.props.state.mode !== _constants.MODE_DRAWING_ITEM_3D) return;
|
package/lib/constants.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_INITIAL_DATA = exports.EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_CHANGE_DOORSTYLE = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ROOM_SHAPE = exports.EXTERNAL_EVENT_ADD_ITEM = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_FONT_FAMILY = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_CABINET_LAYOUTPOS = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_ELEMENT_TO_CATALOG = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCENT_COLOR = void 0;
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = void 0;
|
|
7
|
+
exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROJECT_SETTING_OPTION = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAX_ANGLE_SCALE = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_IN = void 0;
|
|
8
|
+
exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROLLBACK = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = void 0;
|
|
9
|
+
exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = void 0;
|
|
10
10
|
//API server
|
|
11
11
|
// export const API_SERVER = 'http://localhost:3000/';
|
|
12
12
|
// ACTIONS project
|
|
@@ -676,4 +676,10 @@ var EXTERNAL_EVENT_ZOOM_OUT = exports.EXTERNAL_EVENT_ZOOM_OUT = 'EXTERNAL_EVENT_
|
|
|
676
676
|
var EXTERNAL_EVENT_UNDO = exports.EXTERNAL_EVENT_UNDO = 'EXTERNAL_EVENT_UNDO';
|
|
677
677
|
var EXTERNAL_EVENT_REDO = exports.EXTERNAL_EVENT_REDO = 'EXTERNAL_EVENT_REDO';
|
|
678
678
|
var EXTERNAL_EVENT_SET_MOLDING = exports.EXTERNAL_EVENT_SET_MOLDING = 'EXTERNAL_EVENT_SET_MOLDING';
|
|
679
|
-
var EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
679
|
+
var EXTERNAL_EVENT_PROJECT_SETTING = exports.EXTERNAL_EVENT_PROJECT_SETTING = 'EXTERNAL_EVENT_PROJECT_SETTING';
|
|
680
|
+
|
|
681
|
+
// internal event type
|
|
682
|
+
var INTERNAL_EVENT_SELECT_ELEMENT = exports.INTERNAL_EVENT_SELECT_ELEMENT = 'INTERNAL_EVENT_SELECT_ELEMENT';
|
|
683
|
+
var INTERNAL_EVENT_DRAG_ELEMENT = exports.INTERNAL_EVENT_DRAG_ELEMENT = 'INTERNAL_EVENT_DRAG_ELEMENT';
|
|
684
|
+
var INTERNAL_EVENT_DRAW_ELEMENT = exports.INTERNAL_EVENT_DRAW_ELEMENT = 'INTERNAL_EVENT_DRAW_ELEMENT';
|
|
685
|
+
var INTERNAL_EVENT_ROTATE_ELEMENT = exports.INTERNAL_EVENT_ROTATE_ELEMENT = 'INTERNAL_EVENT_ROTATE_ELEMENT';
|
package/lib/devLiteRenderer.js
CHANGED
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
6
6
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
7
|
var _reactContainerDimensions = _interopRequireDefault(require("react-container-dimensions"));
|
|
8
|
-
var _mockProps = _interopRequireDefault(require("./mocks/
|
|
8
|
+
var _mockProps = _interopRequireDefault(require("./mocks/mockProps2.json"));
|
|
9
9
|
var _dataBundle = _interopRequireDefault(require("./mocks/dataBundle2.json"));
|
|
10
10
|
var _cabinetPayload = _interopRequireDefault(require("./mocks/cabinetPayload2.json"));
|
|
11
11
|
var _doorStylePayload = _interopRequireDefault(require("./mocks/doorStylePayload.json"));
|
|
@@ -23,6 +23,9 @@ var options = {
|
|
|
23
23
|
unit: 'in',
|
|
24
24
|
enable3D: true
|
|
25
25
|
};
|
|
26
|
+
var onInternalEvent = function onInternalEvent(evt) {
|
|
27
|
+
console.log('EVENT:', evt.type, evt.value);
|
|
28
|
+
};
|
|
26
29
|
document.getElementById('app').style.display = 'block';
|
|
27
30
|
function WorkSpace(props) {
|
|
28
31
|
var _useState = (0, _react.useState)(null),
|
|
@@ -274,6 +277,7 @@ function WorkSpace(props) {
|
|
|
274
277
|
companyUrl: "https://example.com",
|
|
275
278
|
toolbarButtons: [],
|
|
276
279
|
externalEvent: externalEvent,
|
|
280
|
+
onInternalEvent: onInternalEvent,
|
|
277
281
|
onError: function onError(payload) {
|
|
278
282
|
// payload = {
|
|
279
283
|
// type: 'render-error' | 'runtime-error' | 'unhandled-rejection',
|
package/lib/utils/geometry.js
CHANGED
|
@@ -972,18 +972,18 @@ function getAllItemSnap(allItemRects) {
|
|
|
972
972
|
var snap4 = itemrectInfo(rect.rect[3].x + ox0, rect.rect[3].y + oy0, nrot, cur && cur.size, rect.layoutpos, rect.is_corner);
|
|
973
973
|
var sizeinfo = otherItems[index].cat && otherItems[index].cat.info.sizeinfo;
|
|
974
974
|
if (sizeinfo) {
|
|
975
|
-
var
|
|
976
|
-
|
|
977
|
-
if (
|
|
978
|
-
var vx =
|
|
975
|
+
var leftBlindLength = sizeinfo.leftBlindLength,
|
|
976
|
+
rightBlindLength = sizeinfo.rightBlindLength;
|
|
977
|
+
if (leftBlindLength > 0) {
|
|
978
|
+
var vx = leftBlindLength - ch;
|
|
979
979
|
var vy = cw;
|
|
980
980
|
var dx = vx * cos + vy * sin;
|
|
981
981
|
var dy = vx * sin - vy * cos;
|
|
982
982
|
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);
|
|
983
983
|
allItemSnap.push(snap6);
|
|
984
984
|
}
|
|
985
|
-
if (
|
|
986
|
-
var _vx = ch -
|
|
985
|
+
if (rightBlindLength > 0) {
|
|
986
|
+
var _vx = ch - rightBlindLength;
|
|
987
987
|
var _vy = cw;
|
|
988
988
|
var _dx = _vx * cos + _vy * sin;
|
|
989
989
|
var _dy = _vx * sin - _vy * cos;
|
|
@@ -484,6 +484,7 @@ function _handleExternalEvent() {
|
|
|
484
484
|
return _regenerator["default"].wrap(function (_context5) {
|
|
485
485
|
while (1) switch (_context5.prev = _context5.next) {
|
|
486
486
|
case 0:
|
|
487
|
+
console.log('***external event****', props.externalEvent);
|
|
487
488
|
evt = props.externalEvent;
|
|
488
489
|
state = props.state.get('KitchenConfigurator');
|
|
489
490
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
@@ -514,6 +515,7 @@ function _handleExternalEvent() {
|
|
|
514
515
|
catalog = state.getIn(['catalog']).toJS(); // add item to catalog of state
|
|
515
516
|
_element = _objectSpread(_objectSpread({}, _element), {}, {
|
|
516
517
|
cds: {
|
|
518
|
+
data: [_objectSpread({}, _element.customer_property)],
|
|
517
519
|
itemID: _element.itemID
|
|
518
520
|
}
|
|
519
521
|
});
|