kitchen-simulator 2.0.30 → 2.0.40

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.
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.animateDoor = void 0;
9
9
  exports.applyEdges = applyEdges;
10
10
  exports.base64Decode = void 0;
11
+ exports.centering2D = centering2D;
12
+ exports.compareSVGRect = void 0;
11
13
  exports.debugUtil = debugUtil;
12
14
  exports.getSignedUrl = exports.getPathInfo = exports.getPath = void 0;
13
15
  exports.handleCamRect = handleCamRect;
@@ -20,7 +22,7 @@ exports.refineProductForSummaryPdf = exports.refineMoldingForSummaryPdf = void 0
20
22
  exports.replaceMeshesWithLineSegments = replaceMeshesWithLineSegments;
21
23
  exports.textureCube = void 0;
22
24
  exports.toPlainObject = toPlainObject;
23
- exports.translateDrawer = void 0;
25
+ exports.updateViwer2D = exports.translateDrawer = void 0;
24
26
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
25
27
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
26
28
  var _HDRCubeTextureLoader = require("three/examples/jsm/loaders/HDRCubeTextureLoader.js");
@@ -355,4 +357,69 @@ function isImmutable(maybeImmutable) {
355
357
  }
356
358
  function debugUtil() {
357
359
  return new Date();
360
+ }
361
+ var compareSVGRect = exports.compareSVGRect = function compareSVGRect(value) {
362
+ return value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight ? true : false;
363
+ };
364
+ var updateViwer2D = exports.updateViwer2D = function updateViwer2D(value) {
365
+ var viewer2DActions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
366
+ var _zoomValue = parseInt((value.a - 0.5) / _constants.ZOOM_VARIABLE);
367
+ if (_zoomValue > _constants.MAX_ZOOM_IN_SCALE) return;
368
+ if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
369
+
370
+ // modify e, f to fit to SVG
371
+ while (!(value.e <= 10)) {
372
+ value.e -= 0.1;
373
+ }
374
+ while (!(value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth)) {
375
+ value.e += 0.1;
376
+ }
377
+ while (!(value.f <= 80)) {
378
+ value.f -= 0.1;
379
+ }
380
+ while (!(value.f + value.a * value.SVGHeight + 10 >= value.viewerHeight)) {
381
+ value.f += 0.1;
382
+ }
383
+ if (viewer2DActions && compareSVGRect(value)) viewer2DActions.updateCameraView(value);
384
+ };
385
+ function centering2D(state) {
386
+ var viewer2DActions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
387
+ // calculate the bounding box of all elements in plan
388
+ var layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
389
+ var bb = {
390
+ minX: Infinity,
391
+ maxX: -Infinity,
392
+ minY: Infinity,
393
+ maxY: -Infinity
394
+ };
395
+ bb = layer.vertices.reduce(function (pre, cur) {
396
+ pre.minX = Math.min(pre.minX, cur.x);
397
+ pre.maxX = Math.max(pre.maxX, cur.x);
398
+ pre.minY = Math.min(pre.minY, cur.y);
399
+ pre.maxY = Math.max(pre.maxY, cur.y);
400
+ return pre;
401
+ }, bb);
402
+ var w = bb.maxX - bb.minX;
403
+ var h = bb.maxY - bb.minY;
404
+
405
+ // calc scale and offset to fit view
406
+ var viewer = state.getIn(['viewer2D']).toJS();
407
+ if (w != 0 && Math.abs(w) != Infinity && h != 0 && Math.abs(h) != Infinity) {
408
+ // elements are exist && bounding box size > 0
409
+ viewer.a = viewer.viewerHeight < h ? viewer.viewerHeight / h : viewer.viewerHeight / h * 3 / 5 / _constants.ZOOM_VARIABLE > _constants.MAX_ZOOM_IN_SCALE ? viewer.viewerHeight / h * _constants.MAX_ZOOM_IN_SCALE / (viewer.viewerHeight / h / _constants.ZOOM_VARIABLE) : viewer.viewerHeight / h * 3 / 5;
410
+ viewer.d = viewer.a;
411
+ viewer.e = (viewer.viewerWidth - (bb.maxX + bb.minX) * viewer.a) / 2;
412
+ viewer.f = (viewer.viewerHeight - (bb.maxY + bb.minY) * viewer.a) / 2;
413
+ } else {
414
+ // there is no any element && bounding box size == 0
415
+ viewer.e = viewer.viewerWidth / 2 - viewer.SVGWidth / 2;
416
+ viewer.f = viewer.viewerHeight / 2 - viewer.SVGHeight / 2;
417
+ viewer.a = 0.99;
418
+ viewer.d = 0.99;
419
+ }
420
+ state = state.merge({
421
+ viewer2D: viewer
422
+ });
423
+ if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
424
+ return state;
358
425
  }
@@ -21,29 +21,6 @@ var _SVGLoader = require("three/addons/loaders/SVGLoader");
21
21
  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; }
22
22
  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; }
23
23
  var PRECISION = 2;
24
- var compareSVGRect = function compareSVGRect(value) {
25
- return value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight ? true : false;
26
- };
27
- var updateViwer2D = function updateViwer2D(value, viewer2DActions) {
28
- var _zoomValue = parseInt((value.a - 0.5) / _constants.ZOOM_VARIABLE);
29
- if (_zoomValue > _constants.MAX_ZOOM_IN_SCALE) return;
30
- if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
31
-
32
- // modify e, f to fit to SVG
33
- while (!(value.e <= 10)) {
34
- value.e -= 0.1;
35
- }
36
- while (!(value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth)) {
37
- value.e += 0.1;
38
- }
39
- while (!(value.f <= 80)) {
40
- value.f -= 0.1;
41
- }
42
- while (!(value.f + value.a * value.SVGHeight + 10 >= value.viewerHeight)) {
43
- value.f += 0.1;
44
- }
45
- if (compareSVGRect(value)) viewer2DActions.updateCameraView(value);
46
- };
47
24
  function loadJSON(_x) {
48
25
  return _loadJSON.apply(this, arguments);
49
26
  }
@@ -1003,7 +980,7 @@ function handleExternalEvent(_x10) {
1003
980
  function _handleExternalEvent() {
1004
981
  _handleExternalEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(props) {
1005
982
  var _evt$payload3, _evt$payload4;
1006
- var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, layer, bb, w, h, viewer, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value3, layerId, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven2, _t5, _t6;
983
+ var evt, state, _evt$payload, cdsItems, itemKeys, _loop3, i, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, _evt$payload5, moveType, moveValue, value, defaulTitle, _evt$payload6, doorStyle, itemCDS, isAll, _doorStyle, _value, _value2, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value3, layerId, layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i2, _i3, _i4, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$onInternalEven2, _t5, _t6;
1007
984
  return _regenerator["default"].wrap(function (_context9) {
1008
985
  while (1) switch (_context9.prev = _context9.next) {
1009
986
  case 0:
@@ -1133,7 +1110,7 @@ function _handleExternalEvent() {
1133
1110
  vPosX = (mouseX - v2d.e) / v2d.a;
1134
1111
  vPosY = (mouseY - v2d.f) / v2d.d;
1135
1112
  layerID = state.scene.selectedLayer; // move cabinet to initial position
1136
- props.itemsActions.updateDrawingItem(layerID, vPosX, -vPosY + state.scene.height);
1113
+ props.itemsActions.updateDrawingItem(layerID, vPosX, -vPosY + state.scene.height, true);
1137
1114
  }
1138
1115
  }
1139
1116
  props.projectActions.pushLastSelectedCatalogElementToHistory(element);
@@ -1162,7 +1139,7 @@ function _handleExternalEvent() {
1162
1139
  value.e -= moveValue;
1163
1140
  return _context9.abrupt("continue", 18);
1164
1141
  case 18:
1165
- updateViwer2D(value, props.viewer2DActions);
1142
+ (0, _helper.updateViwer2D)(value, props.viewer2DActions);
1166
1143
  return _context9.abrupt("continue", 37);
1167
1144
  case 19:
1168
1145
  defaulTitle = 'Untitle';
@@ -1178,7 +1155,7 @@ function _handleExternalEvent() {
1178
1155
  props.itemsActions.setInitialDoorStyle(_doorStyle.doorStyle);
1179
1156
  return _context9.abrupt("continue", 37);
1180
1157
  case 22:
1181
- props.projectActions.loadProject(evt.payload);
1158
+ props.projectActions.createRoomWithShape(evt.payload.roomShapeType, evt.payload.width, evt.payload.height);
1182
1159
  return _context9.abrupt("continue", 37);
1183
1160
  case 23:
1184
1161
  _value = state.getIn(['viewer2D']).toJS();
@@ -1186,7 +1163,7 @@ function _handleExternalEvent() {
1186
1163
  _value.d += 0.1;
1187
1164
  _value.e -= _value.SVGWidth * 0.1 / 2;
1188
1165
  _value.f -= _value.SVGHeight * 0.1 / 2;
1189
- updateViwer2D(_value, props.viewer2DActions);
1166
+ (0, _helper.updateViwer2D)(_value, props.viewer2DActions);
1190
1167
  return _context9.abrupt("continue", 37);
1191
1168
  case 24:
1192
1169
  _value2 = state.getIn(['viewer2D']).toJS();
@@ -1194,41 +1171,10 @@ function _handleExternalEvent() {
1194
1171
  _value2.d -= 0.1;
1195
1172
  _value2.e += _value2.SVGWidth * 0.1 / 2;
1196
1173
  _value2.f += _value2.SVGHeight * 0.1 / 2;
1197
- updateViwer2D(_value2, props.viewer2DActions);
1174
+ (0, _helper.updateViwer2D)(_value2, props.viewer2DActions);
1198
1175
  return _context9.abrupt("continue", 37);
1199
1176
  case 25:
1200
- // calculate the bounding box of all elements in plan
1201
- layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
1202
- bb = {
1203
- minX: Infinity,
1204
- maxX: -Infinity,
1205
- minY: Infinity,
1206
- maxY: -Infinity
1207
- };
1208
- bb = layer.vertices.reduce(function (pre, cur) {
1209
- pre.minX = Math.min(pre.minX, cur.x);
1210
- pre.maxX = Math.max(pre.maxX, cur.x);
1211
- pre.minY = Math.min(pre.minY, cur.y);
1212
- pre.maxY = Math.max(pre.maxY, cur.y);
1213
- return pre;
1214
- }, bb);
1215
- w = bb.maxX - bb.minX;
1216
- h = bb.maxY - bb.minY; // calc scale and offset to fit view
1217
- viewer = state.getIn(['viewer2D']).toJS();
1218
- if (w != 0 && Math.abs(w) != Infinity && h != 0 && Math.abs(h) != Infinity) {
1219
- // elements are exist && bounding box size > 0
1220
- viewer.a = viewer.viewerHeight < h ? viewer.viewerHeight / h : viewer.viewerHeight / h * 3 / 5 / _constants.ZOOM_VARIABLE > _constants.MAX_ZOOM_IN_SCALE ? viewer.viewerHeight / h * _constants.MAX_ZOOM_IN_SCALE / (viewer.viewerHeight / h / _constants.ZOOM_VARIABLE) : viewer.viewerHeight / h * 3 / 5;
1221
- viewer.d = viewer.a;
1222
- viewer.e = (viewer.viewerWidth - (bb.maxX + bb.minX) * viewer.a) / 2;
1223
- viewer.f = (viewer.viewerHeight - (bb.maxY + bb.minY) * viewer.a) / 2;
1224
- } else {
1225
- // there is no any element && bounding box size == 0
1226
- viewer.e = viewer.viewerWidth / 2 - viewer.SVGWidth / 2;
1227
- viewer.f = viewer.viewerHeight / 2 - viewer.SVGHeight / 2;
1228
- viewer.a = 0.99;
1229
- viewer.d = 0.99;
1230
- }
1231
- updateViwer2D(viewer, props.viewer2DActions);
1177
+ (0, _helper.centering2D)(state, props.viewer2DActions);
1232
1178
  return _context9.abrupt("continue", 37);
1233
1179
  case 26:
1234
1180
  props.projectActions.undo();
@@ -1268,17 +1214,17 @@ function _handleExternalEvent() {
1268
1214
  return _context9.abrupt("continue", 37);
1269
1215
  case 33:
1270
1216
  layerId = state.getIn(['scene', 'selectedLayer']);
1271
- _layer = state.getIn(['scene', 'layers', layerId]);
1272
- _layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
1273
- for (_i2 = 0; _i2 < selectedLines.size; _i2++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, state, _layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1274
- for (_i3 = 0; _i3 < selectedHoles.size; _i3++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, state, _layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1275
- for (_i4 = 0; _i4 < selectedItems.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, state, _layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(_layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1217
+ layer = state.getIn(['scene', 'layers', layerId]);
1218
+ _layer$getIn = layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
1219
+ for (_i2 = 0; _i2 < selectedLines.size; _i2++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, state, layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['lines', selectedLines.get(_i2)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1220
+ for (_i3 = 0; _i3 < selectedHoles.size; _i3++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, state, layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['holes', selectedHoles.get(_i3)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1221
+ for (_i4 = 0; _i4 < selectedItems.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, state, layer, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['items', selectedItems.get(_i4)]), evt.payload, props.catalog, props.projectActions, evt.callback);
1276
1222
  return _context9.abrupt("continue", 37);
1277
1223
  case 34:
1278
1224
  _layerID = state.scene.selectedLayer;
1279
- _layer2 = state.scene.getIn(['layers', _layerID]).toJS();
1225
+ _layer = state.scene.getIn(['layers', _layerID]).toJS();
1280
1226
  orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
1281
- originalItem = _layer2 === null || _layer2 === void 0 ? void 0 : _layer2.items[orginalItemInfo.id];
1227
+ originalItem = _layer === null || _layer === void 0 ? void 0 : _layer.items[orginalItemInfo.id];
1282
1228
  _context9.next = 35;
1283
1229
  return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
1284
1230
  case 35:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "2.0.30",
3
+ "version": "2.0.40",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",