kitchen-simulator 3.10.0 → 3.12.0-test.1

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/lib/class/item.js CHANGED
@@ -472,8 +472,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
472
472
  break;
473
473
  }
474
474
  if (onInternalEvent && duplicatedElement) {
475
- var jsElement = duplicatedElement.toJS();
476
- if (jsElement.prototype === 'items') jsElement.isWarning = (0, _utils.isWarningItem)(duplicatedElement);
475
+ var _state$get;
476
+ var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
477
+ var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer, catalog);
477
478
  onInternalEvent({
478
479
  type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
479
480
  value: jsElement
package/lib/class/line.js CHANGED
@@ -15,7 +15,6 @@ 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");
19
18
  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); }
20
19
  var timeGlobal = 0;
21
20
  var TimeRecorder = /*#__PURE__*/function () {
@@ -437,6 +436,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
437
436
  }, {
438
437
  key: "beginDrawingLine",
439
438
  value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
439
+ var _state$get;
440
440
  // if end drawing by created area
441
441
  if (state.mode == _constants.MODE_IDLE) {
442
442
  return {
@@ -490,12 +490,8 @@ var Line = exports["default"] = /*#__PURE__*/function () {
490
490
  drawingSupport: drawingSupport
491
491
  });
492
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(layer.unit);
498
- payload.length = _length;
493
+ var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
494
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer, catalog);
499
495
  if (onInternalEvent) onInternalEvent({
500
496
  type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
501
497
  value: payload
@@ -1259,24 +1259,7 @@ function Viewer2D(_ref, _ref2) {
1259
1259
  _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1260
1260
  }
1261
1261
  if (_currentObject) {
1262
- var _currentObject3, _currentObject4, _currentObject5;
1263
- var payload = (_currentObject3 = _currentObject) === null || _currentObject3 === void 0 ? void 0 : _currentObject3.toJS();
1264
- if (((_currentObject4 = _currentObject) === null || _currentObject4 === void 0 ? void 0 : _currentObject4.prototype) === 'lines') {
1265
- // caculating length of selected line//
1266
- var v_a = layer.vertices.get(_currentObject.vertices.get(0));
1267
- var v_b = layer.vertices.get(_currentObject.vertices.get(1));
1268
- var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1269
- var _length3 = (0, _convertUnitsLite.convert)(distance).from('cm').to(layer.unit);
1270
- payload.length = _length3;
1271
- //////////////////////////////////////
1272
- } else if (((_currentObject5 = _currentObject) === null || _currentObject5 === void 0 ? void 0 : _currentObject5.prototype) === 'items') {
1273
- // check this cabinet has warning box
1274
- payload.isWarning = (0, _utils.isWarningItem)(_currentObject);
1275
- // check this item is available molding
1276
- payload.isMoldingAvailable = _export2.MoldingUtils.isEnableItemForMolding(layer, _currentObject);
1277
- // check this item is snapped to wall
1278
- payload.isAttachedWall = _export2.MoldingUtils.isAttachedWall(layer, _currentObject);
1279
- }
1262
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer, catalog);
1280
1263
 
1281
1264
  // send selection event befor replace event
1282
1265
  if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
@@ -677,10 +677,10 @@ function replaceObject(modifiedPath, layer, planData, actions, sceneData, oldSce
677
677
  vLine3.material.depthTest = false;
678
678
  var uVec = new Three.Vector3(-posVec.x / scalevec.x, -posVec.y / scalevec.y, -posVec.z / scalevec.z);
679
679
  var blLighting = item.type.includes('Light');
680
- vLine.translateY(blLighting ? 1.6 : 0.1);
681
- vLine1.translateY(blLighting ? 1.6 : 0.1);
682
- vLine2.translateY(blLighting ? 1.6 : 0.1);
683
- vLine3.translateY(blLighting ? 1.6 : 0.1);
680
+ vLine.translateY(blLighting ? 1.6 : boundingBox.min.y + 0.1);
681
+ vLine1.translateY(blLighting ? 1.6 : boundingBox.min.y + 0.1);
682
+ vLine2.translateY(blLighting ? 1.6 : boundingBox.min.y + 0.1);
683
+ vLine3.translateY(blLighting ? 1.6 : boundingBox.min.y + 0.1);
684
684
  upObj.translateOnAxis(uVec, 1);
685
685
  upObj.translateY(max.y - min.y);
686
686
  _mBox.name = 'TransformBox';
@@ -1193,25 +1193,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1193
1193
  var sendInternalEvent = function sendInternalEvent(evtType, evtElement) {
1194
1194
  var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1195
1195
  if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
1196
- var _this2$props$onIntern, _this2$props;
1197
- var payload = evtElement === null || evtElement === void 0 ? void 0 : evtElement.toJS();
1198
- if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'lines') {
1199
- // caculating length of selected line//
1200
- var v_a = layer.vertices.get(evtElement.vertices.get(0));
1201
- var v_b = layer.vertices.get(evtElement.vertices.get(1));
1202
- var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1203
- var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to(layer.unit);
1204
- payload.length = _length;
1205
- //////////////////////////////////////
1206
- } else if ((evtElement === null || evtElement === void 0 ? void 0 : evtElement.prototype) === 'items') {
1207
- // check this cabinet has warning box
1208
- payload.isWarning = (0, _utils.isWarningItem)(evtElement);
1209
- // check this item is available molding
1210
- payload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, evtElement); // check this item is snapped to wall
1211
- payload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, evtElement);
1212
- // update distArray
1213
- if (pointArray) payload.distArray = pointArray;
1214
- }
1196
+ var _state$get, _this2$props$onIntern, _this2$props;
1197
+ var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
1198
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, layer, catalog, pointArray);
1215
1199
  (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1216
1200
  type: evtType,
1217
1201
  value: payload
@@ -1483,6 +1467,9 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1483
1467
  var replaceInfo = intersects[_i10].object.parent.parent.userData;
1484
1468
  _this2.context.itemsActions.selectItem(replaceInfo.layerId, replaceInfo.itemId);
1485
1469
  !_this2.props.downloadFlag && _this2.props.replaceCabinet(true);
1470
+ internalType = _constants.INTERNAL_EVENT_REPLACE_CABINET;
1471
+ var replaceElement = _this2.props.state.scene.layers.get(replaceInfo.layerId).items.get(replaceInfo.itemId);
1472
+ sendInternalEvent(internalType, replaceElement);
1486
1473
  return;
1487
1474
  }
1488
1475
  }
package/lib/index.js CHANGED
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = void 0;
8
8
  exports.renderKitchenSimulator = renderKitchenSimulator;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -17,6 +18,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
17
18
  var _react = _interopRequireDefault(require("react"));
18
19
  var _LiteRenderer = _interopRequireDefault(require("./LiteRenderer"));
19
20
  var _client = require("react-dom/client");
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
+ 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; }
20
23
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
21
24
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
25
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
@@ -452,10 +455,23 @@ function renderKitchenSimulator(container) {
452
455
  }
453
456
  }]);
454
457
  }(_react["default"].Component);
458
+ var lastProps = _objectSpread({}, props);
455
459
  var api = {
456
460
  // internal: rerender wrapper with latest props if host calls renderKitchenSimulator again
457
461
  __render: function __render(nextProps) {
458
- root.render(/*#__PURE__*/_react["default"].createElement(Wrapper, nextProps));
462
+ lastProps = _objectSpread(_objectSpread({}, lastProps), nextProps);
463
+ root.render(/*#__PURE__*/_react["default"].createElement(Wrapper, lastProps));
464
+ },
465
+ updateContainerDimensions: function updateContainerDimensions(width, height) {
466
+ var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
467
+ if (destroyed) return false;
468
+
469
+ // optional: accept numbers or strings, up to you
470
+ api.__render(_objectSpread(_objectSpread(_objectSpread({}, lastProps), extraProps), {}, {
471
+ width: width,
472
+ height: height
473
+ }));
474
+ return true;
459
475
  },
460
476
  /**
461
477
  * Send one or many events (in order).
@@ -22,7 +22,9 @@ exports.refineProductForSummaryPdf = exports.refineMoldingForSummaryPdf = void 0
22
22
  exports.replaceMeshesWithLineSegments = replaceMeshesWithLineSegments;
23
23
  exports.textureCube = void 0;
24
24
  exports.toPlainObject = toPlainObject;
25
- exports.updateViwer2D = exports.translateDrawer = void 0;
25
+ exports.translateDrawer = void 0;
26
+ exports.updatePayloadOfInternalEvent = updatePayloadOfInternalEvent;
27
+ exports.updateViwer2D = void 0;
26
28
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
27
29
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
28
30
  var _HDRCubeTextureLoader = require("three/examples/jsm/loaders/HDRCubeTextureLoader.js");
@@ -32,6 +34,7 @@ var _utils = require("./../components/viewer2d/utils");
32
34
  var _convertUnitsLite = require("./convert-units-lite");
33
35
  var _math = require("./math");
34
36
  var _awsSdk = _interopRequireDefault(require("aws-sdk"));
37
+ var _export = require("./export");
35
38
  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" != _typeof3(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); }
36
39
  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; }
37
40
  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; }
@@ -422,4 +425,40 @@ function centering2D(state) {
422
425
  });
423
426
  if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
424
427
  return state;
428
+ }
429
+ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
430
+ var pointArray = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
431
+ if (isEmpty(currentObject)) return null;
432
+ var updatedPayload = currentObject.toJS();
433
+ if (isEmpty(layer) || isEmpty(catalog)) return updatedPayload;
434
+ if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
435
+ // caculating length of selected line//
436
+ var v_a = layer.vertices.get(currentObject.vertices.get(0));
437
+ var v_b = layer.vertices.get(currentObject.vertices.get(1));
438
+ var distance = _export.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
439
+ var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to(layer.unit);
440
+ updatedPayload.length = _length;
441
+ //////////////////////////////////////
442
+ } else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'items') {
443
+ var _catalog$elements$cur;
444
+ // check this cabinet has warning box
445
+ updatedPayload.isWarning = (0, _utils.isWarningItem)(currentObject);
446
+ // check this item is available molding
447
+ updatedPayload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, currentObject);
448
+ // check this item is snapped to wall
449
+ updatedPayload.isAttachedWall = _export.MoldingUtils.isAttachedWall(layer, currentObject);
450
+ // update distArray
451
+ if (pointArray) updatedPayload.distArray = pointArray;
452
+
453
+ // update sku_number using sku_array
454
+ var currentDoorColorId = currentObject.getIn(['doorStyle', 'id']);
455
+ var skuArray = catalog === null || catalog === void 0 || (_catalog$elements$cur = catalog.elements[currentObject.get('name')]) === null || _catalog$elements$cur === void 0 || (_catalog$elements$cur = _catalog$elements$cur.obj) === null || _catalog$elements$cur === void 0 ? void 0 : _catalog$elements$cur.skuArray;
456
+ var correctSKU = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
457
+ return sku.door_color_id === currentDoorColorId;
458
+ });
459
+ if (correctSKU) {
460
+ updatedPayload.sku_number = correctSKU.sku;
461
+ }
462
+ }
463
+ return updatedPayload;
425
464
  }
@@ -20,6 +20,7 @@ var _export = require("./export");
20
20
  var _utils = require("../components/viewer2d/utils");
21
21
  var _SVGLoader = require("three/addons/loaders/SVGLoader");
22
22
  var _molding = require("./molding");
23
+ var _models = require("../models");
23
24
  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; }
24
25
  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; }
25
26
  var PRECISION = 2;
@@ -1158,7 +1159,7 @@ function handleExternalEvent(_x10) {
1158
1159
  function _handleExternalEvent() {
1159
1160
  _handleExternalEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(props) {
1160
1161
  var _evt$payload3, _evt$payload4;
1161
- var evt, state, layerId, layer, _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, _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;
1162
+ var evt, state, layerId, layer, _evt$payload, cdsItems, itemKeys, _loop3, i, newScene, _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, _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;
1162
1163
  return _regenerator["default"].wrap(function (_context1) {
1163
1164
  while (1) switch (_context1.prev = _context1.next) {
1164
1165
  case 0:
@@ -1168,9 +1169,13 @@ function _handleExternalEvent() {
1168
1169
  layerId = state.getIn(['scene', 'selectedLayer']);
1169
1170
  layer = state.getIn(['scene', 'layers', layerId]);
1170
1171
  _t5 = evt === null || evt === void 0 ? void 0 : evt.type;
1171
- _context1.next = _t5 === _constants.EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_3D ? 5 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_2D ? 6 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 7 : _t5 === _constants.EXTERNAL_EVENT_ADD_WALL ? 8 : _t5 === _constants.EXTERNAL_EVENT_ADD_ITEM ? 9 : _t5 === _constants.EXTERNAL_EVENT_ADD_HOLE ? 12 : _t5 === _constants.EXTERNAL_EVENT_ROTATE_PAN ? 13 : _t5 === _constants.EXTERNAL_EVENT_MOVE_PAN ? 13 : _t5 === _constants.EXTERNAL_EVENT_NEW_PROJECT ? 14 : _t5 === _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 15 : _t5 === _constants.EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 19 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_IN ? 20 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_OUT ? 21 : _t5 === _constants.EXTERNAL_EVENT_CENTERING_2D ? 22 : _t5 === _constants.EXTERNAL_EVENT_UNDO ? 23 : _t5 === _constants.EXTERNAL_EVENT_REDO ? 24 : _t5 === _constants.EXTERNAL_EVENT_SET_MOLDING ? 25 : _t5 === _constants.EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 27 : _t5 === _constants.EXTERNAL_EVENT_DELETE_ELEMENT ? 28 : _t5 === _constants.EXTERNAL_EVENT_PROJECT_SETTING ? 29 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 38 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_PROPERTY ? 38 : _t5 === _constants.EXTERNAL_EVENT_REPLACE_CABINET ? 39 : _t5 === _constants.EXTERNAL_EVENT_SET_FINISHING ? 41 : _t5 === _constants.EXTERNAL_EVENT_SYNC_SCENE ? 42 : 43;
1172
+ _context1.next = _t5 === _constants.EXTERNAL_EVENT_LOAD_PROJECT ? 1 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_3D ? 6 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_2D ? 7 : _t5 === _constants.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 8 : _t5 === _constants.EXTERNAL_EVENT_ADD_WALL ? 9 : _t5 === _constants.EXTERNAL_EVENT_ADD_ITEM ? 10 : _t5 === _constants.EXTERNAL_EVENT_ADD_HOLE ? 13 : _t5 === _constants.EXTERNAL_EVENT_ROTATE_PAN ? 14 : _t5 === _constants.EXTERNAL_EVENT_MOVE_PAN ? 14 : _t5 === _constants.EXTERNAL_EVENT_NEW_PROJECT ? 15 : _t5 === _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE ? 16 : _t5 === _constants.EXTERNAL_EVENT_ADD_ROOM_SHAPE ? 20 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_IN ? 21 : _t5 === _constants.EXTERNAL_EVENT_ZOOM_OUT ? 22 : _t5 === _constants.EXTERNAL_EVENT_CENTERING_2D ? 23 : _t5 === _constants.EXTERNAL_EVENT_UNDO ? 24 : _t5 === _constants.EXTERNAL_EVENT_REDO ? 25 : _t5 === _constants.EXTERNAL_EVENT_SET_MOLDING ? 26 : _t5 === _constants.EXTERNAL_EVENT_DUPLICATE_ELEMENT ? 28 : _t5 === _constants.EXTERNAL_EVENT_DELETE_ELEMENT ? 29 : _t5 === _constants.EXTERNAL_EVENT_PROJECT_SETTING ? 30 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? 39 : _t5 === _constants.EXTERNAL_EVENT_UPDATE_PROPERTY ? 39 : _t5 === _constants.EXTERNAL_EVENT_REPLACE_CABINET ? 40 : _t5 === _constants.EXTERNAL_EVENT_SET_FINISHING ? 42 : _t5 === _constants.EXTERNAL_EVENT_SYNC_SCENE ? 43 : 44;
1172
1173
  break;
1173
1174
  case 1:
1175
+ if (!(evt !== null && evt !== void 0 && evt.payload)) {
1176
+ _context1.next = 5;
1177
+ break;
1178
+ }
1174
1179
  // prepare item data request
1175
1180
  cdsItems = [];
1176
1181
  itemKeys = Object.keys(evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 || (_evt$payload = _evt$payload.layers['layer-1']) === null || _evt$payload === void 0 ? void 0 : _evt$payload.items) || [];
@@ -1215,6 +1220,10 @@ function _handleExternalEvent() {
1215
1220
  _context1.next = 2;
1216
1221
  break;
1217
1222
  case 4:
1223
+ newScene = new _models.Scene(evt === null || evt === void 0 ? void 0 : evt.payload);
1224
+ state = new _models.State({
1225
+ scene: newScene.toJS()
1226
+ });
1218
1227
  // request item catalog data to host app
1219
1228
  if (cdsItems.length > 0) {
1220
1229
  (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
@@ -1253,32 +1262,33 @@ function _handleExternalEvent() {
1253
1262
  };
1254
1263
  }());
1255
1264
  }
1256
- return _context1.abrupt("continue", 43);
1257
1265
  case 5:
1258
- props.projectActions.setMode(_constants.MODE_IDLE_3D);
1259
- return _context1.abrupt("continue", 43);
1266
+ return _context1.abrupt("continue", 44);
1260
1267
  case 6:
1261
- props.projectActions.setMode(_constants.MODE_IDLE);
1262
- return _context1.abrupt("continue", 43);
1268
+ props.projectActions.setMode(_constants.MODE_IDLE_3D);
1269
+ return _context1.abrupt("continue", 44);
1263
1270
  case 7:
1271
+ props.projectActions.setMode(_constants.MODE_IDLE);
1272
+ return _context1.abrupt("continue", 44);
1273
+ case 8:
1264
1274
  sLineCnt = layer.selected.lines.size;
1265
1275
  if (sLineCnt > 0) props.projectActions.setMode(_constants.MODE_ELEVATION_VIEW);
1266
- return _context1.abrupt("continue", 43);
1267
- case 8:
1276
+ return _context1.abrupt("continue", 44);
1277
+ case 9:
1268
1278
  if (state.mode === _constants.MODE_IDLE || state.mode === _constants.MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
1269
1279
  props.projectActions.setMode(_constants.MODE_IDLE);
1270
1280
  props.linesActions.selectToolDrawingLine('wall');
1271
1281
  }
1272
- return _context1.abrupt("continue", 43);
1273
- case 9:
1282
+ return _context1.abrupt("continue", 44);
1283
+ case 10:
1274
1284
  if ((0, _helper.isEmpty)(evt === null || evt === void 0 ? void 0 : evt.payload)) {
1275
- _context1.next = 11;
1285
+ _context1.next = 12;
1276
1286
  break;
1277
1287
  }
1278
1288
  element = evt.payload;
1279
- _context1.next = 10;
1289
+ _context1.next = 11;
1280
1290
  return addItemToCatalog(element, state, props.catalog, props.projectActions);
1281
- case 10:
1291
+ case 11:
1282
1292
  // start drawing item
1283
1293
  if (_constants.ARRAY_3D_MODES.includes(state.mode)) {
1284
1294
  // in 3d view
@@ -1299,20 +1309,20 @@ function _handleExternalEvent() {
1299
1309
  }
1300
1310
  props.projectActions.pushLastSelectedCatalogElementToHistory(element);
1301
1311
  props.projectActions.setIsCabinetDrawing(true);
1302
- case 11:
1303
- return _context1.abrupt("continue", 43);
1304
1312
  case 12:
1305
- _constants.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);
1306
- return _context1.abrupt("continue", 43);
1313
+ return _context1.abrupt("continue", 44);
1307
1314
  case 13:
1308
- moveAndRotatePan2D3D(evt.type, props, evt.payload, state);
1309
- return _context1.abrupt("continue", 43);
1315
+ _constants.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);
1316
+ return _context1.abrupt("continue", 44);
1310
1317
  case 14:
1318
+ moveAndRotatePan2D3D(evt.type, props, evt.payload, state);
1319
+ return _context1.abrupt("continue", 44);
1320
+ case 15:
1311
1321
  defaulTitle = 'Untitle';
1312
1322
  props.projectActions.newProject();
1313
1323
  props.projectActions.rename(defaulTitle);
1314
- return _context1.abrupt("continue", 43);
1315
- case 15:
1324
+ return _context1.abrupt("continue", 44);
1325
+ case 16:
1316
1326
  _evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, isAll = _evt$payload5.isAll; // prepare item data request
1317
1327
  _layerId = state.getIn(['scene', 'selectedLayer']);
1318
1328
  _cdsItems = [];
@@ -1347,17 +1357,17 @@ function _handleExternalEvent() {
1347
1357
  }, _loop4);
1348
1358
  });
1349
1359
  _i2 = 0;
1350
- case 16:
1360
+ case 17:
1351
1361
  if (!(_i2 < _itemKeys.length)) {
1352
- _context1.next = 18;
1362
+ _context1.next = 19;
1353
1363
  break;
1354
1364
  }
1355
- return _context1.delegateYield(_loop4(), "t1", 17);
1356
- case 17:
1365
+ return _context1.delegateYield(_loop4(), "t1", 18);
1366
+ case 18:
1357
1367
  _i2++;
1358
- _context1.next = 16;
1368
+ _context1.next = 17;
1359
1369
  break;
1360
- case 18:
1370
+ case 19:
1361
1371
  // request item catalog data to host app
1362
1372
  if (_cdsItems.length > 0) {
1363
1373
  (_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
@@ -1396,94 +1406,94 @@ function _handleExternalEvent() {
1396
1406
  };
1397
1407
  }());
1398
1408
  } else props.itemsActions.setDoorStyle(doorStyle, itemCDS, isAll);
1399
- return _context1.abrupt("continue", 43);
1400
- case 19:
1409
+ return _context1.abrupt("continue", 44);
1410
+ case 20:
1401
1411
  _evt$payload6 = evt.payload, roomShapeType = _evt$payload6.roomShapeType, width = _evt$payload6.width, height = _evt$payload6.height, _doorStyle = _evt$payload6.doorStyle;
1402
1412
  props.projectActions.createRoomWithShape(roomShapeType, width, height, _doorStyle);
1403
- return _context1.abrupt("continue", 43);
1404
- case 20:
1413
+ return _context1.abrupt("continue", 44);
1414
+ case 21:
1405
1415
  value = state.getIn(['viewer2D']).toJS();
1406
1416
  value.a += 0.1;
1407
1417
  value.d += 0.1;
1408
1418
  value.e -= value.SVGWidth * 0.1 / 2;
1409
1419
  value.f -= value.SVGHeight * 0.1 / 2;
1410
1420
  (0, _helper.updateViwer2D)(value, props.viewer2DActions);
1411
- return _context1.abrupt("continue", 43);
1412
- case 21:
1421
+ return _context1.abrupt("continue", 44);
1422
+ case 22:
1413
1423
  _value = state.getIn(['viewer2D']).toJS();
1414
1424
  _value.a -= 0.1;
1415
1425
  _value.d -= 0.1;
1416
1426
  _value.e += _value.SVGWidth * 0.1 / 2;
1417
1427
  _value.f += _value.SVGHeight * 0.1 / 2;
1418
1428
  (0, _helper.updateViwer2D)(_value, props.viewer2DActions);
1419
- return _context1.abrupt("continue", 43);
1420
- case 22:
1421
- (0, _helper.centering2D)(state, props.viewer2DActions);
1422
- return _context1.abrupt("continue", 43);
1429
+ return _context1.abrupt("continue", 44);
1423
1430
  case 23:
1424
- props.projectActions.undo();
1425
- return _context1.abrupt("continue", 43);
1431
+ (0, _helper.centering2D)(state, props.viewer2DActions);
1432
+ return _context1.abrupt("continue", 44);
1426
1433
  case 24:
1427
- props.projectActions.redo();
1428
- return _context1.abrupt("continue", 43);
1434
+ props.projectActions.undo();
1435
+ return _context1.abrupt("continue", 44);
1429
1436
  case 25:
1437
+ props.projectActions.redo();
1438
+ return _context1.abrupt("continue", 44);
1439
+ case 26:
1430
1440
  _evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
1431
- _context1.next = 26;
1441
+ _context1.next = 27;
1432
1442
  return loadMoldingSvg(moldingInfo);
1433
- case 26:
1434
- props.itemsActions.setMolding(moldingInfo, isGlobal);
1435
- return _context1.abrupt("continue", 43);
1436
1443
  case 27:
1444
+ props.itemsActions.setMolding(moldingInfo, isGlobal);
1445
+ return _context1.abrupt("continue", 44);
1446
+ case 28:
1437
1447
  distElement = getElement(evt.payload, state);
1438
1448
  if (distElement) props.itemsActions.duplicateSelected(distElement, props.onInternalEvent);
1439
- return _context1.abrupt("continue", 43);
1440
- case 28:
1449
+ return _context1.abrupt("continue", 44);
1450
+ case 29:
1441
1451
  _distElement = getElement(evt.payload, state);
1442
1452
  if (_distElement) props.projectActions.remove(_distElement);
1443
- return _context1.abrupt("continue", 43);
1444
- case 29:
1453
+ return _context1.abrupt("continue", 44);
1454
+ case 30:
1445
1455
  _evt$payload8 = evt.payload, option = _evt$payload8.option, _value2 = _evt$payload8.value;
1446
1456
  _t6 = option;
1447
- _context1.next = _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_MEASUREMENT_UNIT ? 30 : _t6 === _constants.PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT ? 31 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE ? 32 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_BASE_CABINET_MEASURE ? 33 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_CABINET_MEASURE ? 34 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE ? 35 : 36;
1457
+ _context1.next = _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_MEASUREMENT_UNIT ? 31 : _t6 === _constants.PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT ? 32 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE ? 33 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_BASE_CABINET_MEASURE ? 34 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_CABINET_MEASURE ? 35 : _t6 === _constants.PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE ? 36 : 37;
1448
1458
  break;
1449
- case 30:
1450
- props.viewer2DActions.updateCeilHeightUnit(_value2);
1451
1459
  case 31:
1460
+ props.viewer2DActions.updateCeilHeightUnit(_value2);
1461
+ case 32:
1452
1462
  props.viewer2DActions.updateCeilHeight(_value2);
1453
1463
  props.viewer3DActions.update3DCeilHeight(_value2);
1454
- return _context1.abrupt("continue", 37);
1455
- case 32:
1456
- props.viewer2DActions.changeWallLengthMeasure(_value2);
1457
- return _context1.abrupt("continue", 37);
1464
+ return _context1.abrupt("continue", 38);
1458
1465
  case 33:
1459
- props.viewer2DActions.changeBaseCabinetMeasure(_value2);
1460
- return _context1.abrupt("continue", 37);
1466
+ props.viewer2DActions.changeWallLengthMeasure(_value2);
1467
+ return _context1.abrupt("continue", 38);
1461
1468
  case 34:
1462
- props.viewer2DActions.changeWallCabinetMeasure(_value2);
1463
- return _context1.abrupt("continue", 37);
1469
+ props.viewer2DActions.changeBaseCabinetMeasure(_value2);
1470
+ return _context1.abrupt("continue", 38);
1464
1471
  case 35:
1465
- props.viewer2DActions.changeWindowDoorMeasure(_value2);
1466
- return _context1.abrupt("continue", 37);
1472
+ props.viewer2DActions.changeWallCabinetMeasure(_value2);
1473
+ return _context1.abrupt("continue", 38);
1467
1474
  case 36:
1468
- return _context1.abrupt("continue", 37);
1475
+ props.viewer2DActions.changeWindowDoorMeasure(_value2);
1476
+ return _context1.abrupt("continue", 38);
1469
1477
  case 37:
1470
- return _context1.abrupt("continue", 43);
1478
+ return _context1.abrupt("continue", 38);
1471
1479
  case 38:
1480
+ return _context1.abrupt("continue", 44);
1481
+ case 39:
1472
1482
  _layerId2 = state.getIn(['scene', 'selectedLayer']);
1473
1483
  _layer = state.getIn(['scene', 'layers', _layerId2]);
1474
1484
  _layer$getIn = _layer.getIn(['selected']), selectedLines = _layer$getIn.lines, selectedHoles = _layer$getIn.holes, selectedItems = _layer$getIn.items;
1475
1485
  for (_i4 = 0; _i4 < selectedLines.size; _i4++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.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);
1476
1486
  for (_i5 = 0; _i5 < selectedHoles.size; _i5++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.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);
1477
1487
  for (_i6 = 0; _i6 < selectedItems.size; _i6++) (evt === null || evt === void 0 ? void 0 : evt.type) === _constants.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);
1478
- return _context1.abrupt("continue", 43);
1479
- case 39:
1488
+ return _context1.abrupt("continue", 44);
1489
+ case 40:
1480
1490
  _layerID = state.scene.selectedLayer;
1481
1491
  _layer2 = state.scene.getIn(['layers', _layerID]).toJS();
1482
1492
  orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
1483
1493
  originalItem = _layer2 === null || _layer2 === void 0 ? void 0 : _layer2.items[orginalItemInfo.id];
1484
- _context1.next = 40;
1494
+ _context1.next = 41;
1485
1495
  return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
1486
- case 40:
1496
+ case 41:
1487
1497
  originalItemPos = {
1488
1498
  rotation: originalItem.rotation,
1489
1499
  selectedItemId: originalItem.id,
@@ -1498,11 +1508,11 @@ function _handleExternalEvent() {
1498
1508
  }
1499
1509
  };
1500
1510
  props.itemsActions.replaceItem(originalItemPos, originalItem, replaceItem);
1501
- return _context1.abrupt("continue", 43);
1502
- case 41:
1503
- setFinishing(props, state, evt.payload);
1504
- return _context1.abrupt("continue", 43);
1511
+ return _context1.abrupt("continue", 44);
1505
1512
  case 42:
1513
+ setFinishing(props, state, evt.payload);
1514
+ return _context1.abrupt("continue", 44);
1515
+ case 43:
1506
1516
  sceneData = state.scene.toJS(); // get molding data for "ReviewForQuote"
1507
1517
  currentTexture = layer.doorStyle !== null || layer.doorStyle !== undefined ? layer.doorStyle : props.state.doorStyle.toJS();
1508
1518
  sceneData.layers[layerId].moldingData = (0, _molding.getMoldingDataOfScene)(layer, props.catalog, currentTexture);
@@ -1513,8 +1523,8 @@ function _handleExternalEvent() {
1513
1523
  scene: sceneData
1514
1524
  }
1515
1525
  });
1516
- return _context1.abrupt("continue", 43);
1517
- case 43:
1526
+ return _context1.abrupt("continue", 44);
1527
+ case 44:
1518
1528
  case "end":
1519
1529
  return _context1.stop();
1520
1530
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "3.10.0",
3
+ "version": "3.12.0-test.1",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",