kitchen-simulator 3.0.1 → 3.1.0-alpha.12
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 +42 -9
- package/es/LiteRenderer.js +5 -8
- package/es/actions/lines-actions.js +3 -1
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/catalog/factories/area-factory-3d.js +17 -17
- package/es/catalog/holes/window-clear/planner-element.js +2 -2
- package/es/catalog/utils/item-loader.js +198 -197
- package/es/class/item.js +11 -0
- package/es/class/line.js +14 -2
- package/es/components/viewer2d/item.js +41 -14
- package/es/components/viewer2d/rulerDist.js +1 -1
- package/es/components/viewer2d/utils.js +2 -2
- package/es/components/viewer2d/viewer2d.js +13 -11
- package/es/components/viewer3d/viewer3d.js +98 -96
- package/es/constants.js +6 -2
- package/es/devLiteRenderer.js +192 -98
- package/es/index.js +82 -13
- package/es/reducers/lines-reducer.js +1 -1
- package/es/utils/geometry.js +161 -0
- package/es/utils/isolate-event-handler.js +273 -116
- package/es/utils/molding.js +234 -2
- package/lib/LiteKitchenConfigurator.js +42 -9
- package/lib/LiteRenderer.js +5 -8
- package/lib/actions/lines-actions.js +3 -1
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/catalog/factories/area-factory-3d.js +14 -14
- package/lib/catalog/holes/window-clear/planner-element.js +2 -2
- package/lib/catalog/utils/item-loader.js +195 -194
- package/lib/class/item.js +11 -0
- package/lib/class/line.js +13 -1
- package/lib/components/viewer2d/item.js +40 -13
- package/lib/components/viewer2d/rulerDist.js +1 -1
- package/lib/components/viewer2d/utils.js +2 -2
- package/lib/components/viewer2d/viewer2d.js +13 -11
- package/lib/components/viewer3d/viewer3d.js +98 -96
- package/lib/constants.js +11 -7
- package/lib/devLiteRenderer.js +186 -92
- package/lib/index.js +82 -13
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/utils/geometry.js +162 -0
- package/lib/utils/isolate-event-handler.js +272 -115
- package/lib/utils/molding.js +233 -0
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
5
5
|
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
6
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
7
|
import { Map } from 'immutable';
|
|
8
|
-
import { EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, MODE_IDLE, MODE_2D_PAN, EXTERNAL_EVENT_ADD_ITEM, ARRAY_3D_MODES, MODE_IDLE_3D, MODE_ELEVATION_VIEW, MODE_DRAWING_LINE, TOP, BOTTOM, LEFT, RIGHT, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, INTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, ATT_ITEM_POS, ATT_LINE_LENGTH, ATT_VERTEXT_ONE, ATT_VERTEXT_TWO, ATT_HOLE_OFFSET_A, ATT_HOLE_OFFSET_B, UNIT_CENTIMETER, UNIT_INCH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DUPLICATE_ELEMENT, EXTERNAL_EVENT_DELETE_ELEMENT, ELEMENT_HOLE, ELEMENT_ITEM, ELEMENT_LINE, EXTERNAL_EVENT_REPLACE_CABINET, FINISHING_TYPE, EXTERNAL_EVENT_SET_FINISHING } from "../constants";
|
|
8
|
+
import { EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, MODE_IDLE, MODE_2D_PAN, EXTERNAL_EVENT_ADD_ITEM, ARRAY_3D_MODES, MODE_IDLE_3D, MODE_ELEVATION_VIEW, MODE_DRAWING_LINE, TOP, BOTTOM, LEFT, RIGHT, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, INTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, ATT_ITEM_POS, ATT_LINE_LENGTH, ATT_VERTEXT_ONE, ATT_VERTEXT_TWO, ATT_HOLE_OFFSET_A, ATT_HOLE_OFFSET_B, UNIT_CENTIMETER, UNIT_INCH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_CENTERING_2D, EXTERNAL_EVENT_DUPLICATE_ELEMENT, EXTERNAL_EVENT_DELETE_ELEMENT, ELEMENT_HOLE, ELEMENT_ITEM, ELEMENT_LINE, EXTERNAL_EVENT_REPLACE_CABINET, FINISHING_TYPE, EXTERNAL_EVENT_SET_FINISHING, EXTERNAL_EVENT_ROTATE_PAN } from "../constants";
|
|
9
9
|
import { isEmpty, updateViwer2D, centering2D } from "./helper";
|
|
10
10
|
import exporter from "../catalog/utils/exporter";
|
|
11
11
|
import { render2DItem, render3DItem, render3DApplianceItem, render3DLightingItem } from "../catalog/utils/item-loader";
|
|
@@ -13,6 +13,7 @@ import { convert } from "./convert-units-lite";
|
|
|
13
13
|
import { GeometryUtils, MathUtils } from "./export";
|
|
14
14
|
import { returnReplaceableDeepSearchType } from "../components/viewer2d/utils";
|
|
15
15
|
import { SVGLoader } from 'three/addons/loaders/SVGLoader';
|
|
16
|
+
import { getMoldingDataOfScene } from "./molding";
|
|
16
17
|
var PRECISION = 2;
|
|
17
18
|
function loadJSON(_x) {
|
|
18
19
|
return _loadJSON.apply(this, arguments);
|
|
@@ -110,10 +111,13 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
110
111
|
tempPlaceholders.map(function (element) {
|
|
111
112
|
var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
|
|
112
113
|
if (sink_match && sink_match.length >= 2) {
|
|
113
|
-
var _cabinetPayload$struc3;
|
|
114
|
+
var _process$env$API_URL, _cabinetPayload$struc3;
|
|
114
115
|
tempData['sink'] = tempData['sink'] || [];
|
|
115
116
|
tempData['sink'].push(element.name);
|
|
116
|
-
var sink_url = process.env.API_URL
|
|
117
|
+
var sink_url = (_process$env$API_URL = process.env.API_URL) !== null && _process$env$API_URL !== void 0 ? _process$env$API_URL :
|
|
118
|
+
// server url from 3DTool env
|
|
119
|
+
import.meta.env.VITE_APP_API_URL + // server url from Host env
|
|
120
|
+
"/uploads/assets/default/".concat(sink_match[1], ".gltf");
|
|
117
121
|
if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc3 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc3 !== void 0 && (_cabinetPayload$struc3 = _cabinetPayload$struc3.tempPlaceholders[0]) !== null && _cabinetPayload$struc3 !== void 0 && _cabinetPayload$struc3.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
|
|
118
122
|
} else if (temp.some(function (felement) {
|
|
119
123
|
return felement.name.includes('base_drawer');
|
|
@@ -663,9 +667,9 @@ function initPropData(element, catalog) {
|
|
|
663
667
|
}
|
|
664
668
|
return new Map(mapped);
|
|
665
669
|
}
|
|
666
|
-
function updateAttributeOfSelectedElement(element, attrPayload, state, layer, projectActions) {
|
|
670
|
+
function updateAttributeOfSelectedElement(element, attrPayload, state, layer, catalog, projectActions) {
|
|
667
671
|
var _attributesFormData;
|
|
668
|
-
var callback = arguments.length >
|
|
672
|
+
var callback = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
|
669
673
|
var attributesFormData = initAttrData(element, layer, state);
|
|
670
674
|
var value = attrPayload.value;
|
|
671
675
|
var attributeName = attrPayload.attributeName;
|
|
@@ -718,6 +722,10 @@ function updateAttributeOfSelectedElement(element, attrPayload, state, layer, pr
|
|
|
718
722
|
attributesFormData = attributesFormData.set('y', yVal);
|
|
719
723
|
} else {
|
|
720
724
|
attributesFormData = attributesFormData.set(attributeName, value);
|
|
725
|
+
// update the distances from wall
|
|
726
|
+
var _GeometryUtils$calcDi = GeometryUtils.calcDistancesFromItemToWalls(attributesFormData, layer),
|
|
727
|
+
PointArray = _GeometryUtils$calcDi.PointArray;
|
|
728
|
+
attributesFormData = attributesFormData.set('distArray', PointArray);
|
|
721
729
|
}
|
|
722
730
|
break;
|
|
723
731
|
}
|
|
@@ -992,53 +1000,87 @@ function setFinishing(props, state, payload) {
|
|
|
992
1000
|
break;
|
|
993
1001
|
}
|
|
994
1002
|
}
|
|
995
|
-
function
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1003
|
+
function moveAndRotatePan2D3D(eventType, props, payload, state) {
|
|
1004
|
+
if (eventType === EXTERNAL_EVENT_MOVE_PAN) {
|
|
1005
|
+
var moveType = payload.moveType,
|
|
1006
|
+
moveValue = payload.moveValue;
|
|
1007
|
+
var value = state.getIn(['viewer2D']).toJS();
|
|
1008
|
+
if (state.mode === MODE_IDLE) {
|
|
1009
|
+
switch (moveType) {
|
|
1010
|
+
case TOP:
|
|
1011
|
+
value.f -= moveValue;
|
|
1012
|
+
break;
|
|
1013
|
+
case BOTTOM:
|
|
1014
|
+
value.f += moveValue;
|
|
1015
|
+
break;
|
|
1016
|
+
case RIGHT:
|
|
1017
|
+
value.e += moveValue;
|
|
1018
|
+
break;
|
|
1019
|
+
case LEFT:
|
|
1020
|
+
value.e -= moveValue;
|
|
1021
|
+
break;
|
|
1022
|
+
}
|
|
1023
|
+
updateViwer2D(value, props.viewer2DActions);
|
|
1024
|
+
} else if (state.mode === MODE_IDLE_3D) {
|
|
1025
|
+
switch (moveType) {
|
|
1026
|
+
case TOP:
|
|
1027
|
+
window.interval = setTimeout(function () {
|
|
1028
|
+
window.tDKeyDown({
|
|
1029
|
+
keyCode: 38
|
|
1030
|
+
});
|
|
1031
|
+
}, 50);
|
|
1032
|
+
break;
|
|
1033
|
+
case BOTTOM:
|
|
1034
|
+
window.interval = setTimeout(function () {
|
|
1035
|
+
window.tDKeyDown({
|
|
1036
|
+
keyCode: 40
|
|
1037
|
+
});
|
|
1038
|
+
}, 50);
|
|
1039
|
+
break;
|
|
1040
|
+
case RIGHT:
|
|
1041
|
+
window.interval = setTimeout(function () {
|
|
1042
|
+
window.tDKeyDown({
|
|
1043
|
+
keyCode: 37
|
|
1044
|
+
});
|
|
1045
|
+
}, 50);
|
|
1046
|
+
break;
|
|
1047
|
+
case LEFT:
|
|
1048
|
+
window.interval = setTimeout(function () {
|
|
1049
|
+
window.tDKeyDown({
|
|
1050
|
+
keyCode: 39
|
|
1051
|
+
});
|
|
1052
|
+
}, 50);
|
|
1053
|
+
break;
|
|
1054
|
+
}
|
|
1013
1055
|
}
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
switch (
|
|
1056
|
+
} else if (eventType === EXTERNAL_EVENT_ROTATE_PAN) {
|
|
1057
|
+
var rotateType = payload.rotateType;
|
|
1058
|
+
switch (rotateType) {
|
|
1017
1059
|
case TOP:
|
|
1018
1060
|
window.interval = setTimeout(function () {
|
|
1019
|
-
window.
|
|
1020
|
-
keyCode:
|
|
1061
|
+
window.SPKeyDown({
|
|
1062
|
+
keyCode: 87
|
|
1021
1063
|
});
|
|
1022
1064
|
}, 50);
|
|
1023
1065
|
break;
|
|
1024
1066
|
case BOTTOM:
|
|
1025
1067
|
window.interval = setTimeout(function () {
|
|
1026
|
-
window.
|
|
1027
|
-
keyCode:
|
|
1068
|
+
window.SPKeyDown({
|
|
1069
|
+
keyCode: 83
|
|
1028
1070
|
});
|
|
1029
1071
|
}, 50);
|
|
1030
1072
|
break;
|
|
1031
1073
|
case RIGHT:
|
|
1032
1074
|
window.interval = setTimeout(function () {
|
|
1033
|
-
window.
|
|
1034
|
-
keyCode:
|
|
1075
|
+
window.SPKeyDown({
|
|
1076
|
+
keyCode: 68
|
|
1035
1077
|
});
|
|
1036
1078
|
}, 50);
|
|
1037
1079
|
break;
|
|
1038
1080
|
case LEFT:
|
|
1039
1081
|
window.interval = setTimeout(function () {
|
|
1040
|
-
window.
|
|
1041
|
-
keyCode:
|
|
1082
|
+
window.SPKeyDown({
|
|
1083
|
+
keyCode: 65
|
|
1042
1084
|
});
|
|
1043
1085
|
}, 50);
|
|
1044
1086
|
break;
|
|
@@ -1049,17 +1091,19 @@ export function handleExternalEvent(_x10) {
|
|
|
1049
1091
|
return _handleExternalEvent.apply(this, arguments);
|
|
1050
1092
|
}
|
|
1051
1093
|
function _handleExternalEvent() {
|
|
1052
|
-
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1094
|
+
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9(props) {
|
|
1053
1095
|
var _evt$payload3, _evt$payload4;
|
|
1054
|
-
var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _evt$payload5, doorStyle, itemCDS, isAll, _evt$payload6, roomShapeType, width, height, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2,
|
|
1055
|
-
return _regeneratorRuntime.wrap(function (
|
|
1056
|
-
while (1) switch (
|
|
1096
|
+
var evt, state, layerId, layer, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, _state$getIn, element, cds, _cds$find, currentCdsId, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _Object$keys, _evt$payload5, doorStyle, itemCDS, isAll, _layerId, _cdsItems, allItems, selectedItemId, _itemKeys, _loop4, _i2, _props$onInternalEven2, _evt$payload6, roomShapeType, width, height, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven3, sceneData, currentTexture, _t5, _t6;
|
|
1097
|
+
return _regeneratorRuntime.wrap(function (_context1) {
|
|
1098
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
1057
1099
|
case 0:
|
|
1058
1100
|
// console.log('***external event****', props);
|
|
1059
1101
|
evt = props.externalEvent;
|
|
1060
1102
|
state = props.state.get('KitchenConfigurator');
|
|
1103
|
+
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1104
|
+
layer = state.getIn(['scene', 'layers', layerId]);
|
|
1061
1105
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
1062
|
-
|
|
1106
|
+
_context1.next = _t5 === EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === EXTERNAL_EVENT_ROTATE_PAN ? 13 : _t5 === EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === EXTERNAL_EVENT_NEW_PROJECT ? 14 : _t5 === EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 15 : _t5 === EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 19 : _t5 === EXTERNAL_EVENT_ZOOM_IN ? 20 : _t5 === EXTERNAL_EVENT_ZOOM_OUT ? 21 : _t5 === EXTERNAL_EVENT_CENTERING_2D ? 22 : _t5 === EXTERNAL_EVENT_UNDO ? 23 : _t5 === EXTERNAL_EVENT_REDO ? 24 : _t5 === EXTERNAL_EVENT_SET_MOLDING ? 25 : _t5 === EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 27 : _t5 === EXTERNAL_EVENT_DELETE_ELEMENT ? 28 : _t5 === EXTERNAL_EVENT_PROJECT_SETTING ? 29 : _t5 === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 38 : _t5 === EXTERNAL_EVENT_UPDATE_PROPERTY ? 38 : _t5 === EXTERNAL_EVENT_REPLACE_CABINET ? 39 : _t5 === EXTERNAL_EVENT_SET_FINISHING ? 41 : _t5 === EXTERNAL_EVENT_SYNC_SCENE ? 42 : 43;
|
|
1063
1107
|
break;
|
|
1064
1108
|
case 1:
|
|
1065
1109
|
// prepare item data request
|
|
@@ -1071,10 +1115,14 @@ function _handleExternalEvent() {
|
|
|
1071
1115
|
return _regeneratorRuntime.wrap(function (_context8) {
|
|
1072
1116
|
while (1) switch (_context8.prev = _context8.next) {
|
|
1073
1117
|
case 0:
|
|
1074
|
-
it = evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 || (_evt$payload2 = _evt$payload2.layers['layer-1']) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.items[itemKeys[i]];
|
|
1118
|
+
it = evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 || (_evt$payload2 = _evt$payload2.layers['layer-1']) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.items[itemKeys[i]]; //////// check altitude of item property and change length from _length (convert length from 'in' fo 'cm')
|
|
1119
|
+
if (it.properties.altitude.length !== convert(it.properties.altitude._length).from('in').to('cm')) {
|
|
1120
|
+
it.properties.altitude.length = convert(it.properties.altitude._length).from('in').to('cm');
|
|
1121
|
+
}
|
|
1122
|
+
/////////
|
|
1075
1123
|
if (!cdsItems.some(function (v) {
|
|
1076
1124
|
var _it$doorStyle;
|
|
1077
|
-
return it.
|
|
1125
|
+
return it.itemID === v.itemID && it.name === v.name && ((_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 || (_it$doorStyle = _it$doorStyle.doorStyles) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.cabinet_door_style_id) === v.cdsId;
|
|
1078
1126
|
})) cdsItems.push({
|
|
1079
1127
|
itemID: it.itemID,
|
|
1080
1128
|
prototype: it.prototype,
|
|
@@ -1093,13 +1141,13 @@ function _handleExternalEvent() {
|
|
|
1093
1141
|
i = 0;
|
|
1094
1142
|
case 2:
|
|
1095
1143
|
if (!(i < itemKeys.length)) {
|
|
1096
|
-
|
|
1144
|
+
_context1.next = 4;
|
|
1097
1145
|
break;
|
|
1098
1146
|
}
|
|
1099
|
-
return
|
|
1147
|
+
return _context1.delegateYield(_loop3(), "t0", 3);
|
|
1100
1148
|
case 3:
|
|
1101
1149
|
i++;
|
|
1102
|
-
|
|
1150
|
+
_context1.next = 2;
|
|
1103
1151
|
break;
|
|
1104
1152
|
case 4:
|
|
1105
1153
|
// request item catalog data to host app
|
|
@@ -1140,30 +1188,42 @@ function _handleExternalEvent() {
|
|
|
1140
1188
|
};
|
|
1141
1189
|
}());
|
|
1142
1190
|
}
|
|
1143
|
-
return
|
|
1191
|
+
return _context1.abrupt("continue", 43);
|
|
1144
1192
|
case 5:
|
|
1145
1193
|
props.projectActions.setMode(MODE_IDLE_3D);
|
|
1146
|
-
return
|
|
1194
|
+
return _context1.abrupt("continue", 43);
|
|
1147
1195
|
case 6:
|
|
1148
1196
|
props.projectActions.setMode(MODE_IDLE);
|
|
1149
|
-
return
|
|
1197
|
+
return _context1.abrupt("continue", 43);
|
|
1150
1198
|
case 7:
|
|
1151
|
-
sLineCnt =
|
|
1199
|
+
sLineCnt = layer.selected.lines.size;
|
|
1152
1200
|
if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW);
|
|
1153
|
-
return
|
|
1201
|
+
return _context1.abrupt("continue", 43);
|
|
1154
1202
|
case 8:
|
|
1155
1203
|
if (state.mode === MODE_IDLE || state.mode === MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
|
|
1156
1204
|
props.projectActions.setMode(MODE_IDLE);
|
|
1157
1205
|
props.linesActions.selectToolDrawingLine('wall');
|
|
1158
1206
|
}
|
|
1159
|
-
return
|
|
1207
|
+
return _context1.abrupt("continue", 43);
|
|
1160
1208
|
case 9:
|
|
1161
1209
|
if (isEmpty(evt === null || evt === void 0 ? void 0 : evt.payload)) {
|
|
1162
|
-
|
|
1210
|
+
_context1.next = 11;
|
|
1163
1211
|
break;
|
|
1164
1212
|
}
|
|
1165
|
-
element = evt.payload;
|
|
1166
|
-
|
|
1213
|
+
element = evt.payload; ///// filter the tempPlaceholders using layer-doorstyle-cds
|
|
1214
|
+
cds = (_state$getIn = state.getIn(['scene', 'layers', 'layer-1', 'doorStyle'])) === null || _state$getIn === void 0 ? void 0 : _state$getIn.cds;
|
|
1215
|
+
if (cds) {
|
|
1216
|
+
currentCdsId = (_cds$find = cds.find(function (c) {
|
|
1217
|
+
return c.itemID === element.itemID;
|
|
1218
|
+
})) === null || _cds$find === void 0 ? void 0 : _cds$find.cabinet_door_style_id;
|
|
1219
|
+
if (currentCdsId && element.structure_json.tempPlaceholders.length > 0) {
|
|
1220
|
+
element.structure_json.tempPlaceholders[0] = element.structure_json.tempPlaceholders.find(function (tPlaceholder) {
|
|
1221
|
+
return tPlaceholder.id === currentCdsId;
|
|
1222
|
+
});
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
/////
|
|
1226
|
+
_context1.next = 10;
|
|
1167
1227
|
return addItemToCatalog(element, state, props.catalog, props.projectActions);
|
|
1168
1228
|
case 10:
|
|
1169
1229
|
// start drawing item
|
|
@@ -1187,97 +1247,190 @@ function _handleExternalEvent() {
|
|
|
1187
1247
|
props.projectActions.pushLastSelectedCatalogElementToHistory(element);
|
|
1188
1248
|
props.projectActions.setIsCabinetDrawing(true);
|
|
1189
1249
|
case 11:
|
|
1190
|
-
return
|
|
1250
|
+
return _context1.abrupt("continue", 43);
|
|
1191
1251
|
case 12:
|
|
1192
1252
|
ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(evt === null || evt === void 0 || (_evt$payload3 = evt.payload) === null || _evt$payload3 === void 0 ? void 0 : _evt$payload3.holeName) : props.holesActions.selectToolDrawingHole(evt === null || evt === void 0 || (_evt$payload4 = evt.payload) === null || _evt$payload4 === void 0 ? void 0 : _evt$payload4.holeName);
|
|
1193
|
-
return
|
|
1253
|
+
return _context1.abrupt("continue", 43);
|
|
1194
1254
|
case 13:
|
|
1195
|
-
|
|
1196
|
-
return
|
|
1255
|
+
moveAndRotatePan2D3D(evt.type, props, evt.payload, state);
|
|
1256
|
+
return _context1.abrupt("continue", 43);
|
|
1197
1257
|
case 14:
|
|
1198
1258
|
defaulTitle = 'Untitle';
|
|
1199
1259
|
props.projectActions.newProject();
|
|
1200
1260
|
props.projectActions.rename(defaulTitle);
|
|
1201
|
-
return
|
|
1261
|
+
return _context1.abrupt("continue", 43);
|
|
1202
1262
|
case 15:
|
|
1203
|
-
_evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll;
|
|
1204
|
-
|
|
1205
|
-
|
|
1263
|
+
_evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll; // prepare item data request
|
|
1264
|
+
_layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1265
|
+
_cdsItems = [];
|
|
1266
|
+
allItems = state.getIn(['scene', 'layers', _layerId, 'items']).toJS();
|
|
1267
|
+
selectedItemId = state.getIn(['scene', 'layers', _layerId]).selected.items.toJS()[0];
|
|
1268
|
+
_itemKeys = isAll ? (_Object$keys = Object.keys(allItems)) !== null && _Object$keys !== void 0 ? _Object$keys : [] : [selectedItemId];
|
|
1269
|
+
_loop4 = /*#__PURE__*/_regeneratorRuntime.mark(function _loop4() {
|
|
1270
|
+
var _itemCDS$find;
|
|
1271
|
+
var item, cdsId;
|
|
1272
|
+
return _regeneratorRuntime.wrap(function (_context0) {
|
|
1273
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
1274
|
+
case 0:
|
|
1275
|
+
item = allItems[_itemKeys[_i2]];
|
|
1276
|
+
cdsId = (_itemCDS$find = itemCDS.find(function (itCDS) {
|
|
1277
|
+
return itCDS.itemID === item.itemID;
|
|
1278
|
+
})) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
|
|
1279
|
+
if (cdsId && !_cdsItems.some(function (v) {
|
|
1280
|
+
return item.itemID === v.itemID && item.name === v.name && cdsId === v.cdsId;
|
|
1281
|
+
})) _cdsItems.push({
|
|
1282
|
+
itemID: item.itemID,
|
|
1283
|
+
prototype: item.prototype,
|
|
1284
|
+
category: item.category,
|
|
1285
|
+
name: item.name,
|
|
1286
|
+
type: item.type,
|
|
1287
|
+
sku_number: item.sku_number,
|
|
1288
|
+
cdsId: cdsId
|
|
1289
|
+
});
|
|
1290
|
+
case 1:
|
|
1291
|
+
case "end":
|
|
1292
|
+
return _context0.stop();
|
|
1293
|
+
}
|
|
1294
|
+
}, _loop4);
|
|
1295
|
+
});
|
|
1296
|
+
_i2 = 0;
|
|
1206
1297
|
case 16:
|
|
1298
|
+
if (!(_i2 < _itemKeys.length)) {
|
|
1299
|
+
_context1.next = 18;
|
|
1300
|
+
break;
|
|
1301
|
+
}
|
|
1302
|
+
return _context1.delegateYield(_loop4(), "t1", 17);
|
|
1303
|
+
case 17:
|
|
1304
|
+
_i2++;
|
|
1305
|
+
_context1.next = 16;
|
|
1306
|
+
break;
|
|
1307
|
+
case 18:
|
|
1308
|
+
// request item catalog data to host app
|
|
1309
|
+
if (_cdsItems.length > 0) {
|
|
1310
|
+
(_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
|
|
1311
|
+
type: INTERNAL_EVENT_ITEMS_CATALOG,
|
|
1312
|
+
value: {
|
|
1313
|
+
cdsItems: _cdsItems
|
|
1314
|
+
}
|
|
1315
|
+
}, /*#__PURE__*/function () {
|
|
1316
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8(result) {
|
|
1317
|
+
var _i3, _result$elements2;
|
|
1318
|
+
return _regeneratorRuntime.wrap(function (_context9) {
|
|
1319
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
1320
|
+
case 0:
|
|
1321
|
+
_i3 = 0;
|
|
1322
|
+
case 1:
|
|
1323
|
+
if (!(_i3 < (result === null || result === void 0 || (_result$elements2 = result.elements) === null || _result$elements2 === void 0 ? void 0 : _result$elements2.length))) {
|
|
1324
|
+
_context9.next = 3;
|
|
1325
|
+
break;
|
|
1326
|
+
}
|
|
1327
|
+
_context9.next = 2;
|
|
1328
|
+
return addItemToCatalog(result.elements[_i3], state, props.catalog, props.projectActions);
|
|
1329
|
+
case 2:
|
|
1330
|
+
_i3++;
|
|
1331
|
+
_context9.next = 1;
|
|
1332
|
+
break;
|
|
1333
|
+
case 3:
|
|
1334
|
+
props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1335
|
+
case 4:
|
|
1336
|
+
case "end":
|
|
1337
|
+
return _context9.stop();
|
|
1338
|
+
}
|
|
1339
|
+
}, _callee8);
|
|
1340
|
+
}));
|
|
1341
|
+
return function (_x12) {
|
|
1342
|
+
return _ref3.apply(this, arguments);
|
|
1343
|
+
};
|
|
1344
|
+
}());
|
|
1345
|
+
} else props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1346
|
+
return _context1.abrupt("continue", 43);
|
|
1347
|
+
case 19:
|
|
1207
1348
|
_evt$payload6 = evt.payload, roomShapeType = _evt$payload6.roomShapeType, width = _evt$payload6.width, height = _evt$payload6.height, _doorStyle = _evt$payload6.doorStyle;
|
|
1208
1349
|
props.projectActions.createRoomWithShape(roomShapeType, width, height, _doorStyle);
|
|
1209
|
-
return
|
|
1210
|
-
case
|
|
1350
|
+
return _context1.abrupt("continue", 43);
|
|
1351
|
+
case 20:
|
|
1211
1352
|
value = state.getIn(['viewer2D']).toJS();
|
|
1212
1353
|
value.a += 0.1;
|
|
1213
1354
|
value.d += 0.1;
|
|
1214
1355
|
value.e -= value.SVGWidth * 0.1 / 2;
|
|
1215
1356
|
value.f -= value.SVGHeight * 0.1 / 2;
|
|
1216
1357
|
updateViwer2D(value, props.viewer2DActions);
|
|
1217
|
-
return
|
|
1218
|
-
case
|
|
1358
|
+
return _context1.abrupt("continue", 43);
|
|
1359
|
+
case 21:
|
|
1219
1360
|
_value = state.getIn(['viewer2D']).toJS();
|
|
1220
1361
|
_value.a -= 0.1;
|
|
1221
1362
|
_value.d -= 0.1;
|
|
1222
1363
|
_value.e += _value.SVGWidth * 0.1 / 2;
|
|
1223
1364
|
_value.f += _value.SVGHeight * 0.1 / 2;
|
|
1224
1365
|
updateViwer2D(_value, props.viewer2DActions);
|
|
1225
|
-
return
|
|
1226
|
-
case
|
|
1366
|
+
return _context1.abrupt("continue", 43);
|
|
1367
|
+
case 22:
|
|
1227
1368
|
centering2D(state, props.viewer2DActions);
|
|
1228
|
-
return
|
|
1229
|
-
case
|
|
1369
|
+
return _context1.abrupt("continue", 43);
|
|
1370
|
+
case 23:
|
|
1230
1371
|
props.projectActions.undo();
|
|
1231
|
-
return
|
|
1232
|
-
case
|
|
1372
|
+
return _context1.abrupt("continue", 43);
|
|
1373
|
+
case 24:
|
|
1233
1374
|
props.projectActions.redo();
|
|
1234
|
-
return
|
|
1235
|
-
case
|
|
1375
|
+
return _context1.abrupt("continue", 43);
|
|
1376
|
+
case 25:
|
|
1236
1377
|
_evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
|
|
1237
|
-
|
|
1378
|
+
_context1.next = 26;
|
|
1238
1379
|
return loadMoldingSvg(moldingInfo);
|
|
1239
|
-
case
|
|
1380
|
+
case 26:
|
|
1240
1381
|
props.itemsActions.setMolding(moldingInfo, isGlobal);
|
|
1241
|
-
return
|
|
1242
|
-
case
|
|
1382
|
+
return _context1.abrupt("continue", 43);
|
|
1383
|
+
case 27:
|
|
1243
1384
|
distElement = getElement(evt.payload, state);
|
|
1244
1385
|
if (distElement) props.itemsActions.duplicateSelected(distElement, props.onInternalEvent);
|
|
1245
|
-
return
|
|
1246
|
-
case
|
|
1386
|
+
return _context1.abrupt("continue", 43);
|
|
1387
|
+
case 28:
|
|
1247
1388
|
_distElement = getElement(evt.payload, state);
|
|
1248
1389
|
if (_distElement) props.projectActions.remove(_distElement);
|
|
1249
|
-
return
|
|
1250
|
-
case
|
|
1390
|
+
return _context1.abrupt("continue", 43);
|
|
1391
|
+
case 29:
|
|
1251
1392
|
_evt$payload8 = evt.payload, option = _evt$payload8.option, _value2 = _evt$payload8.value;
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
return
|
|
1273
|
-
case
|
|
1393
|
+
_t6 = option;
|
|
1394
|
+
_context1.next = _t6 === PROJECT_SETTING_OPTION.CHANGE_MEASUREMENT_UNIT ? 30 : _t6 === PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT ? 31 : _t6 === PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE ? 32 : _t6 === PROJECT_SETTING_OPTION.CHANGE_BASE_CABINET_MEASURE ? 33 : _t6 === PROJECT_SETTING_OPTION.CHANGE_WALL_CABINET_MEASURE ? 34 : _t6 === PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE ? 35 : 36;
|
|
1395
|
+
break;
|
|
1396
|
+
case 30:
|
|
1397
|
+
props.viewer2DActions.updateCeilHeightUnit(_value2);
|
|
1398
|
+
case 31:
|
|
1399
|
+
props.viewer2DActions.updateCeilHeight(_value2);
|
|
1400
|
+
props.viewer3DActions.update3DCeilHeight(_value2);
|
|
1401
|
+
return _context1.abrupt("continue", 37);
|
|
1402
|
+
case 32:
|
|
1403
|
+
props.viewer2DActions.changeWallLengthMeasure(_value2);
|
|
1404
|
+
return _context1.abrupt("continue", 37);
|
|
1405
|
+
case 33:
|
|
1406
|
+
props.viewer2DActions.changeBaseCabinetMeasure(_value2);
|
|
1407
|
+
return _context1.abrupt("continue", 37);
|
|
1408
|
+
case 34:
|
|
1409
|
+
props.viewer2DActions.changeWallCabinetMeasure(_value2);
|
|
1410
|
+
return _context1.abrupt("continue", 37);
|
|
1411
|
+
case 35:
|
|
1412
|
+
props.viewer2DActions.changeWindowDoorMeasure(_value2);
|
|
1413
|
+
return _context1.abrupt("continue", 37);
|
|
1414
|
+
case 36:
|
|
1415
|
+
return _context1.abrupt("continue", 37);
|
|
1416
|
+
case 37:
|
|
1417
|
+
return _context1.abrupt("continue", 43);
|
|
1418
|
+
case 38:
|
|
1419
|
+
_layerId2 = state.getIn(['scene', 'selectedLayer']);
|
|
1420
|
+
_layer = state.getIn(['scene', 'layers', _layerId2]);
|
|
1421
|
+
_layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
|
|
1422
|
+
for (_i4 = 0; _i4 < selectedLines.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i4)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i4)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1423
|
+
for (_i5 = 0; _i5 < selectedHoles.size; _i5++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i5)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i5)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1424
|
+
for (_i6 = 0; _i6 < selectedItems.size; _i6++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i6)]), evt.payload, state, _layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i6)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1425
|
+
return _context1.abrupt("continue", 43);
|
|
1426
|
+
case 39:
|
|
1274
1427
|
_layerID = state.scene.selectedLayer;
|
|
1275
|
-
|
|
1428
|
+
_layer2 = state.scene.getIn(['layers', _layerID]).toJS();
|
|
1276
1429
|
orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
|
|
1277
|
-
originalItem =
|
|
1278
|
-
|
|
1430
|
+
originalItem = _layer2 === null || _layer2 === void 0 ? void 0 : _layer2.items[orginalItemInfo.id];
|
|
1431
|
+
_context1.next = 40;
|
|
1279
1432
|
return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
|
|
1280
|
-
case
|
|
1433
|
+
case 40:
|
|
1281
1434
|
originalItemPos = {
|
|
1282
1435
|
rotation: originalItem.rotation,
|
|
1283
1436
|
selectedItemId: originalItem.id,
|
|
@@ -1292,23 +1445,27 @@ function _handleExternalEvent() {
|
|
|
1292
1445
|
}
|
|
1293
1446
|
};
|
|
1294
1447
|
props.itemsActions.replaceItem(originalItemPos, originalItem, replaceItem);
|
|
1295
|
-
return
|
|
1296
|
-
case
|
|
1448
|
+
return _context1.abrupt("continue", 43);
|
|
1449
|
+
case 41:
|
|
1297
1450
|
setFinishing(props, state, evt.payload);
|
|
1298
|
-
|
|
1451
|
+
return _context1.abrupt("continue", 43);
|
|
1452
|
+
case 42:
|
|
1453
|
+
sceneData = state.scene.toJS(); // get molding data for "ReviewForQuote"
|
|
1454
|
+
currentTexture = layer.doorStyle !== null || layer.doorStyle !== undefined ? layer.doorStyle : props.state.doorStyle.toJS();
|
|
1455
|
+
sceneData.layers[layerId].moldingData = getMoldingDataOfScene(layer, props.catalog, currentTexture);
|
|
1299
1456
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1300
|
-
(_props$
|
|
1457
|
+
(_props$onInternalEven3 = props.onInternalEvent) === null || _props$onInternalEven3 === void 0 || _props$onInternalEven3.call(props, {
|
|
1301
1458
|
type: INTERNAL_EVENT_SYNC_SCENE,
|
|
1302
1459
|
value: {
|
|
1303
|
-
scene:
|
|
1460
|
+
scene: sceneData
|
|
1304
1461
|
}
|
|
1305
1462
|
});
|
|
1306
|
-
return
|
|
1307
|
-
case
|
|
1463
|
+
return _context1.abrupt("continue", 43);
|
|
1464
|
+
case 43:
|
|
1308
1465
|
case "end":
|
|
1309
|
-
return
|
|
1466
|
+
return _context1.stop();
|
|
1310
1467
|
}
|
|
1311
|
-
},
|
|
1468
|
+
}, _callee9);
|
|
1312
1469
|
}));
|
|
1313
1470
|
return _handleExternalEvent.apply(this, arguments);
|
|
1314
1471
|
}
|