kitchen-simulator 3.0.1 → 3.1.0
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/actions/lines-actions.js +3 -1
- package/es/catalog/utils/item-loader.js +1 -0
- package/es/class/item.js +4 -0
- package/es/class/line.js +14 -2
- package/es/components/viewer2d/item.js +5 -2
- package/es/components/viewer2d/rulerDist.js +1 -1
- package/es/components/viewer2d/viewer2d.js +5 -3
- package/es/components/viewer3d/viewer3d.js +72 -61
- package/es/constants.js +1 -0
- package/es/reducers/lines-reducer.js +1 -1
- package/es/utils/isolate-event-handler.js +148 -64
- package/lib/actions/lines-actions.js +3 -1
- package/lib/catalog/utils/item-loader.js +1 -0
- package/lib/class/item.js +4 -0
- package/lib/class/line.js +13 -1
- package/lib/components/viewer2d/item.js +4 -1
- package/lib/components/viewer2d/rulerDist.js +1 -1
- package/lib/components/viewer2d/viewer2d.js +5 -3
- package/lib/components/viewer3d/viewer3d.js +72 -61
- package/lib/constants.js +5 -4
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/utils/isolate-event-handler.js +148 -64
- package/package.json +1 -1
|
@@ -110,10 +110,13 @@ function _parseTempPlaceholdersFromCabinetPayload() {
|
|
|
110
110
|
tempPlaceholders.map(function (element) {
|
|
111
111
|
var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
|
|
112
112
|
if (sink_match && sink_match.length >= 2) {
|
|
113
|
-
var _cabinetPayload$struc3;
|
|
113
|
+
var _process$env$API_URL, _cabinetPayload$struc3;
|
|
114
114
|
tempData['sink'] = tempData['sink'] || [];
|
|
115
115
|
tempData['sink'].push(element.name);
|
|
116
|
-
var sink_url = process.env.API_URL
|
|
116
|
+
var sink_url = (_process$env$API_URL = process.env.API_URL) !== null && _process$env$API_URL !== void 0 ? _process$env$API_URL :
|
|
117
|
+
// server url from 3DTool env
|
|
118
|
+
import.meta.env.VITE_APP_API_URL + // server url from Host env
|
|
119
|
+
"/uploads/assets/default/".concat(sink_match[1], ".gltf");
|
|
117
120
|
if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc3 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc3 !== void 0 && (_cabinetPayload$struc3 = _cabinetPayload$struc3.tempPlaceholders[0]) !== null && _cabinetPayload$struc3 !== void 0 && _cabinetPayload$struc3.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
|
|
118
121
|
} else if (temp.some(function (felement) {
|
|
119
122
|
return felement.name.includes('base_drawer');
|
|
@@ -1049,17 +1052,17 @@ export function handleExternalEvent(_x10) {
|
|
|
1049
1052
|
return _handleExternalEvent.apply(this, arguments);
|
|
1050
1053
|
}
|
|
1051
1054
|
function _handleExternalEvent() {
|
|
1052
|
-
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1055
|
+
_handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9(props) {
|
|
1053
1056
|
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 (
|
|
1057
|
+
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, _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, _layerId, layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven3, _t5;
|
|
1058
|
+
return _regeneratorRuntime.wrap(function (_context1) {
|
|
1059
|
+
while (1) switch (_context1.prev = _context1.next) {
|
|
1057
1060
|
case 0:
|
|
1058
1061
|
// console.log('***external event****', props);
|
|
1059
1062
|
evt = props.externalEvent;
|
|
1060
1063
|
state = props.state.get('KitchenConfigurator');
|
|
1061
1064
|
_t5 = evt === null || evt === void 0 ? void 0 : evt.type;
|
|
1062
|
-
|
|
1065
|
+
_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_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 ? 30 : _t5 === EXTERNAL_EVENT_UPDATE_PROPERTY ? 30 : _t5 === EXTERNAL_EVENT_REPLACE_CABINET ? 31 : _t5 === EXTERNAL_EVENT_SET_FINISHING ? 33 : _t5 === EXTERNAL_EVENT_SYNC_SCENE ? 34 : 35;
|
|
1063
1066
|
break;
|
|
1064
1067
|
case 1:
|
|
1065
1068
|
// prepare item data request
|
|
@@ -1074,7 +1077,7 @@ function _handleExternalEvent() {
|
|
|
1074
1077
|
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]];
|
|
1075
1078
|
if (!cdsItems.some(function (v) {
|
|
1076
1079
|
var _it$doorStyle;
|
|
1077
|
-
return it.
|
|
1080
|
+
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
1081
|
})) cdsItems.push({
|
|
1079
1082
|
itemID: it.itemID,
|
|
1080
1083
|
prototype: it.prototype,
|
|
@@ -1093,13 +1096,13 @@ function _handleExternalEvent() {
|
|
|
1093
1096
|
i = 0;
|
|
1094
1097
|
case 2:
|
|
1095
1098
|
if (!(i < itemKeys.length)) {
|
|
1096
|
-
|
|
1099
|
+
_context1.next = 4;
|
|
1097
1100
|
break;
|
|
1098
1101
|
}
|
|
1099
|
-
return
|
|
1102
|
+
return _context1.delegateYield(_loop3(), "t0", 3);
|
|
1100
1103
|
case 3:
|
|
1101
1104
|
i++;
|
|
1102
|
-
|
|
1105
|
+
_context1.next = 2;
|
|
1103
1106
|
break;
|
|
1104
1107
|
case 4:
|
|
1105
1108
|
// request item catalog data to host app
|
|
@@ -1140,30 +1143,30 @@ function _handleExternalEvent() {
|
|
|
1140
1143
|
};
|
|
1141
1144
|
}());
|
|
1142
1145
|
}
|
|
1143
|
-
return
|
|
1146
|
+
return _context1.abrupt("continue", 35);
|
|
1144
1147
|
case 5:
|
|
1145
1148
|
props.projectActions.setMode(MODE_IDLE_3D);
|
|
1146
|
-
return
|
|
1149
|
+
return _context1.abrupt("continue", 35);
|
|
1147
1150
|
case 6:
|
|
1148
1151
|
props.projectActions.setMode(MODE_IDLE);
|
|
1149
|
-
return
|
|
1152
|
+
return _context1.abrupt("continue", 35);
|
|
1150
1153
|
case 7:
|
|
1151
1154
|
sLineCnt = state.getIn(['scene', 'layers', 'layer-1', 'selected', 'lines']).size;
|
|
1152
1155
|
if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW);
|
|
1153
|
-
return
|
|
1156
|
+
return _context1.abrupt("continue", 35);
|
|
1154
1157
|
case 8:
|
|
1155
1158
|
if (state.mode === MODE_IDLE || state.mode === MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
|
|
1156
1159
|
props.projectActions.setMode(MODE_IDLE);
|
|
1157
1160
|
props.linesActions.selectToolDrawingLine('wall');
|
|
1158
1161
|
}
|
|
1159
|
-
return
|
|
1162
|
+
return _context1.abrupt("continue", 35);
|
|
1160
1163
|
case 9:
|
|
1161
1164
|
if (isEmpty(evt === null || evt === void 0 ? void 0 : evt.payload)) {
|
|
1162
|
-
|
|
1165
|
+
_context1.next = 11;
|
|
1163
1166
|
break;
|
|
1164
1167
|
}
|
|
1165
1168
|
element = evt.payload;
|
|
1166
|
-
|
|
1169
|
+
_context1.next = 10;
|
|
1167
1170
|
return addItemToCatalog(element, state, props.catalog, props.projectActions);
|
|
1168
1171
|
case 10:
|
|
1169
1172
|
// start drawing item
|
|
@@ -1187,67 +1190,148 @@ function _handleExternalEvent() {
|
|
|
1187
1190
|
props.projectActions.pushLastSelectedCatalogElementToHistory(element);
|
|
1188
1191
|
props.projectActions.setIsCabinetDrawing(true);
|
|
1189
1192
|
case 11:
|
|
1190
|
-
return
|
|
1193
|
+
return _context1.abrupt("continue", 35);
|
|
1191
1194
|
case 12:
|
|
1192
1195
|
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
|
|
1196
|
+
return _context1.abrupt("continue", 35);
|
|
1194
1197
|
case 13:
|
|
1195
1198
|
movePan2D3D(props, evt.payload, state);
|
|
1196
|
-
return
|
|
1199
|
+
return _context1.abrupt("continue", 35);
|
|
1197
1200
|
case 14:
|
|
1198
1201
|
defaulTitle = 'Untitle';
|
|
1199
1202
|
props.projectActions.newProject();
|
|
1200
1203
|
props.projectActions.rename(defaulTitle);
|
|
1201
|
-
return
|
|
1204
|
+
return _context1.abrupt("continue", 35);
|
|
1202
1205
|
case 15:
|
|
1203
|
-
_evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll;
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
+
_evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll; // prepare item data request
|
|
1207
|
+
layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1208
|
+
_cdsItems = [];
|
|
1209
|
+
allItems = state.getIn(['scene', 'layers', layerId, 'items']).toJS();
|
|
1210
|
+
selectedItemId = state.getIn(['scene', 'layers', layerId]).selected.items.toJS()[0];
|
|
1211
|
+
_itemKeys = isAll ? (_Object$keys = Object.keys(allItems)) !== null && _Object$keys !== void 0 ? _Object$keys : [] : [selectedItemId];
|
|
1212
|
+
_loop4 = /*#__PURE__*/_regeneratorRuntime.mark(function _loop4() {
|
|
1213
|
+
var _itemCDS$find;
|
|
1214
|
+
var item, cdsId;
|
|
1215
|
+
return _regeneratorRuntime.wrap(function (_context0) {
|
|
1216
|
+
while (1) switch (_context0.prev = _context0.next) {
|
|
1217
|
+
case 0:
|
|
1218
|
+
item = allItems[_itemKeys[_i2]];
|
|
1219
|
+
cdsId = (_itemCDS$find = itemCDS.find(function (itCDS) {
|
|
1220
|
+
return itCDS.itemID === item.itemID;
|
|
1221
|
+
})) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
|
|
1222
|
+
if (cdsId && !_cdsItems.some(function (v) {
|
|
1223
|
+
return it.itemID === v.itemID && it.name === v.name && cdsId === v.cdsId;
|
|
1224
|
+
})) _cdsItems.push({
|
|
1225
|
+
itemID: item.itemID,
|
|
1226
|
+
prototype: item.prototype,
|
|
1227
|
+
category: item.category,
|
|
1228
|
+
name: item.name,
|
|
1229
|
+
type: item.type,
|
|
1230
|
+
sku_number: item.sku_number,
|
|
1231
|
+
cdsId: cdsId
|
|
1232
|
+
});
|
|
1233
|
+
case 1:
|
|
1234
|
+
case "end":
|
|
1235
|
+
return _context0.stop();
|
|
1236
|
+
}
|
|
1237
|
+
}, _loop4);
|
|
1238
|
+
});
|
|
1239
|
+
_i2 = 0;
|
|
1206
1240
|
case 16:
|
|
1241
|
+
if (!(_i2 < _itemKeys.length)) {
|
|
1242
|
+
_context1.next = 18;
|
|
1243
|
+
break;
|
|
1244
|
+
}
|
|
1245
|
+
return _context1.delegateYield(_loop4(), "t1", 17);
|
|
1246
|
+
case 17:
|
|
1247
|
+
_i2++;
|
|
1248
|
+
_context1.next = 16;
|
|
1249
|
+
break;
|
|
1250
|
+
case 18:
|
|
1251
|
+
// request item catalog data to host app
|
|
1252
|
+
if (_cdsItems.length > 0) {
|
|
1253
|
+
(_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
|
|
1254
|
+
type: INTERNAL_EVENT_ITEMS_CATALOG,
|
|
1255
|
+
value: {
|
|
1256
|
+
cdsItems: _cdsItems
|
|
1257
|
+
}
|
|
1258
|
+
}, /*#__PURE__*/function () {
|
|
1259
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee8(result) {
|
|
1260
|
+
var _i3, _result$elements2;
|
|
1261
|
+
return _regeneratorRuntime.wrap(function (_context9) {
|
|
1262
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
1263
|
+
case 0:
|
|
1264
|
+
_i3 = 0;
|
|
1265
|
+
case 1:
|
|
1266
|
+
if (!(_i3 < (result === null || result === void 0 || (_result$elements2 = result.elements) === null || _result$elements2 === void 0 ? void 0 : _result$elements2.length))) {
|
|
1267
|
+
_context9.next = 3;
|
|
1268
|
+
break;
|
|
1269
|
+
}
|
|
1270
|
+
_context9.next = 2;
|
|
1271
|
+
return addItemToCatalog(result.elements[_i3], state, props.catalog, props.projectActions);
|
|
1272
|
+
case 2:
|
|
1273
|
+
_i3++;
|
|
1274
|
+
_context9.next = 1;
|
|
1275
|
+
break;
|
|
1276
|
+
case 3:
|
|
1277
|
+
props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1278
|
+
case 4:
|
|
1279
|
+
case "end":
|
|
1280
|
+
return _context9.stop();
|
|
1281
|
+
}
|
|
1282
|
+
}, _callee8);
|
|
1283
|
+
}));
|
|
1284
|
+
return function (_x12) {
|
|
1285
|
+
return _ref3.apply(this, arguments);
|
|
1286
|
+
};
|
|
1287
|
+
}());
|
|
1288
|
+
} else props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
|
|
1289
|
+
return _context1.abrupt("continue", 35);
|
|
1290
|
+
case 19:
|
|
1207
1291
|
_evt$payload6 = evt.payload, roomShapeType = _evt$payload6.roomShapeType, width = _evt$payload6.width, height = _evt$payload6.height, _doorStyle = _evt$payload6.doorStyle;
|
|
1208
1292
|
props.projectActions.createRoomWithShape(roomShapeType, width, height, _doorStyle);
|
|
1209
|
-
return
|
|
1210
|
-
case
|
|
1293
|
+
return _context1.abrupt("continue", 35);
|
|
1294
|
+
case 20:
|
|
1211
1295
|
value = state.getIn(['viewer2D']).toJS();
|
|
1212
1296
|
value.a += 0.1;
|
|
1213
1297
|
value.d += 0.1;
|
|
1214
1298
|
value.e -= value.SVGWidth * 0.1 / 2;
|
|
1215
1299
|
value.f -= value.SVGHeight * 0.1 / 2;
|
|
1216
1300
|
updateViwer2D(value, props.viewer2DActions);
|
|
1217
|
-
return
|
|
1218
|
-
case
|
|
1301
|
+
return _context1.abrupt("continue", 35);
|
|
1302
|
+
case 21:
|
|
1219
1303
|
_value = state.getIn(['viewer2D']).toJS();
|
|
1220
1304
|
_value.a -= 0.1;
|
|
1221
1305
|
_value.d -= 0.1;
|
|
1222
1306
|
_value.e += _value.SVGWidth * 0.1 / 2;
|
|
1223
1307
|
_value.f += _value.SVGHeight * 0.1 / 2;
|
|
1224
1308
|
updateViwer2D(_value, props.viewer2DActions);
|
|
1225
|
-
return
|
|
1226
|
-
case
|
|
1309
|
+
return _context1.abrupt("continue", 35);
|
|
1310
|
+
case 22:
|
|
1227
1311
|
centering2D(state, props.viewer2DActions);
|
|
1228
|
-
return
|
|
1229
|
-
case
|
|
1312
|
+
return _context1.abrupt("continue", 35);
|
|
1313
|
+
case 23:
|
|
1230
1314
|
props.projectActions.undo();
|
|
1231
|
-
return
|
|
1232
|
-
case
|
|
1315
|
+
return _context1.abrupt("continue", 35);
|
|
1316
|
+
case 24:
|
|
1233
1317
|
props.projectActions.redo();
|
|
1234
|
-
return
|
|
1235
|
-
case
|
|
1318
|
+
return _context1.abrupt("continue", 35);
|
|
1319
|
+
case 25:
|
|
1236
1320
|
_evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
|
|
1237
|
-
|
|
1321
|
+
_context1.next = 26;
|
|
1238
1322
|
return loadMoldingSvg(moldingInfo);
|
|
1239
|
-
case
|
|
1323
|
+
case 26:
|
|
1240
1324
|
props.itemsActions.setMolding(moldingInfo, isGlobal);
|
|
1241
|
-
return
|
|
1242
|
-
case
|
|
1325
|
+
return _context1.abrupt("continue", 35);
|
|
1326
|
+
case 27:
|
|
1243
1327
|
distElement = getElement(evt.payload, state);
|
|
1244
1328
|
if (distElement) props.itemsActions.duplicateSelected(distElement, props.onInternalEvent);
|
|
1245
|
-
return
|
|
1246
|
-
case
|
|
1329
|
+
return _context1.abrupt("continue", 35);
|
|
1330
|
+
case 28:
|
|
1247
1331
|
_distElement = getElement(evt.payload, state);
|
|
1248
1332
|
if (_distElement) props.projectActions.remove(_distElement);
|
|
1249
|
-
return
|
|
1250
|
-
case
|
|
1333
|
+
return _context1.abrupt("continue", 35);
|
|
1334
|
+
case 29:
|
|
1251
1335
|
_evt$payload8 = evt.payload, option = _evt$payload8.option, _value2 = _evt$payload8.value;
|
|
1252
1336
|
if (option === PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT) {
|
|
1253
1337
|
props.viewer2DActions.updateCeilHeight(_value2);
|
|
@@ -1261,23 +1345,23 @@ function _handleExternalEvent() {
|
|
|
1261
1345
|
} else if (option === PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE) {
|
|
1262
1346
|
props.viewer2DActions.changeWindowDoorMeasure(_value2);
|
|
1263
1347
|
}
|
|
1264
|
-
return
|
|
1265
|
-
case
|
|
1266
|
-
|
|
1267
|
-
layer = state.getIn(['scene', 'layers',
|
|
1348
|
+
return _context1.abrupt("continue", 35);
|
|
1349
|
+
case 30:
|
|
1350
|
+
_layerId = state.getIn(['scene', 'selectedLayer']);
|
|
1351
|
+
layer = state.getIn(['scene', 'layers', _layerId]);
|
|
1268
1352
|
_layer$getIn = layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
|
|
1269
|
-
for (
|
|
1270
|
-
for (
|
|
1271
|
-
for (
|
|
1272
|
-
return
|
|
1273
|
-
case
|
|
1353
|
+
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.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['lines', selectedLines.get(_i4)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1354
|
+
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.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['holes', selectedHoles.get(_i5)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1355
|
+
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.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['items', selectedItems.get(_i6)]), evt.payload, props.catalog, props.projectActions, evt.callback);
|
|
1356
|
+
return _context1.abrupt("continue", 35);
|
|
1357
|
+
case 31:
|
|
1274
1358
|
_layerID = state.scene.selectedLayer;
|
|
1275
1359
|
_layer = state.scene.getIn(['layers', _layerID]).toJS();
|
|
1276
1360
|
orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
|
|
1277
1361
|
originalItem = _layer === null || _layer === void 0 ? void 0 : _layer.items[orginalItemInfo.id];
|
|
1278
|
-
|
|
1362
|
+
_context1.next = 32;
|
|
1279
1363
|
return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
|
|
1280
|
-
case
|
|
1364
|
+
case 32:
|
|
1281
1365
|
originalItemPos = {
|
|
1282
1366
|
rotation: originalItem.rotation,
|
|
1283
1367
|
selectedItemId: originalItem.id,
|
|
@@ -1292,23 +1376,23 @@ function _handleExternalEvent() {
|
|
|
1292
1376
|
}
|
|
1293
1377
|
};
|
|
1294
1378
|
props.itemsActions.replaceItem(originalItemPos, originalItem, replaceItem);
|
|
1295
|
-
return
|
|
1296
|
-
case
|
|
1379
|
+
return _context1.abrupt("continue", 35);
|
|
1380
|
+
case 33:
|
|
1297
1381
|
setFinishing(props, state, evt.payload);
|
|
1298
|
-
case
|
|
1382
|
+
case 34:
|
|
1299
1383
|
// send scene object from 3DTool to HostApp using internalEvent
|
|
1300
|
-
(_props$
|
|
1384
|
+
(_props$onInternalEven3 = props.onInternalEvent) === null || _props$onInternalEven3 === void 0 || _props$onInternalEven3.call(props, {
|
|
1301
1385
|
type: INTERNAL_EVENT_SYNC_SCENE,
|
|
1302
1386
|
value: {
|
|
1303
1387
|
scene: state.scene.toJS()
|
|
1304
1388
|
}
|
|
1305
1389
|
});
|
|
1306
|
-
return
|
|
1307
|
-
case
|
|
1390
|
+
return _context1.abrupt("continue", 35);
|
|
1391
|
+
case 35:
|
|
1308
1392
|
case "end":
|
|
1309
|
-
return
|
|
1393
|
+
return _context1.stop();
|
|
1310
1394
|
}
|
|
1311
|
-
},
|
|
1395
|
+
}, _callee9);
|
|
1312
1396
|
}));
|
|
1313
1397
|
return _handleExternalEvent.apply(this, arguments);
|
|
1314
1398
|
}
|
|
@@ -28,12 +28,14 @@ function selectToolDrawingLine(sceneComponentType) {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
function beginDrawingLine(layerID, x, y, snapMask) {
|
|
31
|
+
var onInternalEvent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
|
|
31
32
|
return {
|
|
32
33
|
type: _constants.BEGIN_DRAWING_LINE,
|
|
33
34
|
layerID: layerID,
|
|
34
35
|
x: x,
|
|
35
36
|
y: y,
|
|
36
|
-
snapMask: snapMask
|
|
37
|
+
snapMask: snapMask,
|
|
38
|
+
onInternalEvent: onInternalEvent
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
41
|
function updateDrawingLine(x, y, relatedLines, snapMask) {
|
|
@@ -464,6 +464,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
|
|
|
464
464
|
var tempPlaceholders = structure.tempPlaceholders;
|
|
465
465
|
var tPlaceholders = tempPlaceholders.find(function (el) {
|
|
466
466
|
return el.id === tempDoorStyles.cabinet_door_style_id;
|
|
467
|
+
// return el.id === tempDoorStyles.cds[0].cabinet_door_style_id;
|
|
467
468
|
});
|
|
468
469
|
if (tPlaceholders !== undefined) {
|
|
469
470
|
placeholders = tPlaceholders.placeholders;
|
package/lib/class/item.js
CHANGED
|
@@ -486,6 +486,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
486
486
|
key: "storeDistArray",
|
|
487
487
|
value: function storeDistArray(state, layerID, itemID, distArray) {
|
|
488
488
|
var curDistArray = state.getIn(['scene', 'layers', layerID, 'items', itemID, 'distArray']);
|
|
489
|
+
distArray.forEach(function (dist) {
|
|
490
|
+
dist[0] < 0 ? dist[0] = 0 : dist[0];
|
|
491
|
+
});
|
|
489
492
|
var isEqualDist = function isEqualDist(a, b) {
|
|
490
493
|
return a == b;
|
|
491
494
|
};
|
|
@@ -1152,6 +1155,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1152
1155
|
for (var x in keys) {
|
|
1153
1156
|
tmp[keys[x]] = doorStyle.doorStyles[keys[x]];
|
|
1154
1157
|
}
|
|
1158
|
+
doorStyle.cds = itemCDS;
|
|
1155
1159
|
state = state.setIn(['scene', 'layers', state.scene.selectedLayer, 'doorStyle'], doorStyle);
|
|
1156
1160
|
state = state.merge({
|
|
1157
1161
|
doorStyle: doorStyle
|
package/lib/class/line.js
CHANGED
|
@@ -15,6 +15,7 @@ var _export2 = require("../utils/export");
|
|
|
15
15
|
var Three = _interopRequireWildcard(require("three"));
|
|
16
16
|
var _constants = require("../constants");
|
|
17
17
|
var _helper = require("../utils/helper");
|
|
18
|
+
var _convertUnitsLite = require("../utils/convert-units-lite");
|
|
18
19
|
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 _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
19
20
|
var timeGlobal = 0;
|
|
20
21
|
var TimeRecorder = /*#__PURE__*/function () {
|
|
@@ -435,7 +436,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
435
436
|
}
|
|
436
437
|
}, {
|
|
437
438
|
key: "beginDrawingLine",
|
|
438
|
-
value: function beginDrawingLine(state, layerID, x, y) {
|
|
439
|
+
value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
|
|
439
440
|
// if end drawing by created area
|
|
440
441
|
if (state.mode == _constants.MODE_IDLE) {
|
|
441
442
|
return {
|
|
@@ -488,6 +489,17 @@ var Line = exports["default"] = /*#__PURE__*/function () {
|
|
|
488
489
|
activeSnapElement: snap ? snap.snap : null,
|
|
489
490
|
drawingSupport: drawingSupport
|
|
490
491
|
});
|
|
492
|
+
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
493
|
+
var payload = line.toJS();
|
|
494
|
+
var v_a = layer.vertices.get(line.vertices.get(0));
|
|
495
|
+
var v_b = layer.vertices.get(line.vertices.get(1));
|
|
496
|
+
var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
|
|
497
|
+
var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
|
|
498
|
+
payload.length = _length;
|
|
499
|
+
if (onInternalEvent) onInternalEvent({
|
|
500
|
+
type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
|
|
501
|
+
value: payload
|
|
502
|
+
});
|
|
491
503
|
return {
|
|
492
504
|
updatedState: state
|
|
493
505
|
};
|
|
@@ -399,7 +399,10 @@ function Item(_ref, _ref2) {
|
|
|
399
399
|
y: "-19",
|
|
400
400
|
height: "16",
|
|
401
401
|
width: "16",
|
|
402
|
-
style: {
|
|
402
|
+
style: (0, _utils.isWarningItem)(item) ? {
|
|
403
|
+
transform: 'rotateX(180deg)',
|
|
404
|
+
opacity: 0.5
|
|
405
|
+
} : {
|
|
403
406
|
transform: 'rotateX(180deg)'
|
|
404
407
|
}
|
|
405
408
|
})), /*#__PURE__*/_react["default"].createElement("g", {
|
|
@@ -41,7 +41,7 @@ function RulerDist(_ref) {
|
|
|
41
41
|
var _unit = 'in';
|
|
42
42
|
// let _length = convert(length).from(unit).to(rulerUnit);
|
|
43
43
|
var distanceText = "".concat((0, _convertUnitsLite.convert)(length).from('cm').to(rulerUnit).toFixed(0));
|
|
44
|
-
var textLength = (distanceText.length + layer.unit.length) *
|
|
44
|
+
var textLength = (distanceText.length + layer.unit.length) * 8;
|
|
45
45
|
var textangle = angle + 90;
|
|
46
46
|
var textRotation = 1;
|
|
47
47
|
var ay = 2;
|
|
@@ -956,7 +956,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
956
956
|
case 'items':
|
|
957
957
|
if (elementData.part === 'duplicate') {
|
|
958
958
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
959
|
-
itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
959
|
+
if (!(0, _utils.isWarningItem)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
960
960
|
break;
|
|
961
961
|
} else if (elementData.part === 'remove') {
|
|
962
962
|
projectActions.remove();
|
|
@@ -1207,7 +1207,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1207
1207
|
break;
|
|
1208
1208
|
case constants.MODE_WAITING_DRAWING_LINE:
|
|
1209
1209
|
setdrawStart(true);
|
|
1210
|
-
linesActions.beginDrawingLine(layerID, x, y, state.snapMask);
|
|
1210
|
+
linesActions.beginDrawingLine(layerID, x, y, state.snapMask, onInternalEvent);
|
|
1211
1211
|
break;
|
|
1212
1212
|
case constants.MODE_DRAWING_LINE:
|
|
1213
1213
|
// Blocked 90 degree snap.
|
|
@@ -1221,7 +1221,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1221
1221
|
getConnectedLines();
|
|
1222
1222
|
var endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
|
|
1223
1223
|
linesActions.endDrawingLine(endInfor.x, endInfor.y, state.snapMask);
|
|
1224
|
-
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask);
|
|
1224
|
+
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask, onInternalEvent);
|
|
1225
1225
|
break;
|
|
1226
1226
|
case constants.MODE_DRAWING_HOLE:
|
|
1227
1227
|
holesActions.endDrawingHole(layerID, x, y);
|
|
@@ -1272,6 +1272,8 @@ function Viewer2D(_ref, _ref2) {
|
|
|
1272
1272
|
} else if (((_currentObject5 = _currentObject) === null || _currentObject5 === void 0 ? void 0 : _currentObject5.prototype) === 'items') {
|
|
1273
1273
|
// check this cabinet has warning box
|
|
1274
1274
|
payload.isWarning = (0, _utils.isWarningItem)(_currentObject);
|
|
1275
|
+
// check this item is available molding
|
|
1276
|
+
payload.isMoldingAvailable = _export2.MoldingUtils.isEnableItemForMolding(layer, _currentObject);
|
|
1275
1277
|
// check this item is snapped to wall
|
|
1276
1278
|
payload.isAttachedWall = _export2.MoldingUtils.isAttachedWall(layer, _currentObject);
|
|
1277
1279
|
}
|