kitchen-simulator 2.0.21 → 2.0.22

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/class/item.js CHANGED
@@ -1081,7 +1081,6 @@ var Item = /*#__PURE__*/function () {
1081
1081
  scene = _state8.scene;
1082
1082
  var layerID = scene.get('selectedLayer');
1083
1083
  var layers = scene.layers.get(layerID);
1084
- layers = layers.set('doorStyle', doorStyle);
1085
1084
  var items = layers.items;
1086
1085
  items.forEach(function (data) {
1087
1086
  {
@@ -1093,11 +1092,11 @@ var Item = /*#__PURE__*/function () {
1093
1092
  });
1094
1093
  data = data.mergeIn(['doorStyle'], fromJS(tmpDS));
1095
1094
  layers = layers.mergeIn(['items', itemID], data);
1095
+ state = state.merge({
1096
+ scene: scene.mergeIn(['layers', layerID], layers)
1097
+ });
1096
1098
  }
1097
1099
  });
1098
- state = state.merge({
1099
- scene: scene.mergeIn(['layers', layerID], layers)
1100
- });
1101
1100
  return {
1102
1101
  updatedState: state
1103
1102
  };
@@ -94,9 +94,8 @@ var Project = /*#__PURE__*/function () {
94
94
 
95
95
  // making layer's doorStyle when changing room shape
96
96
  if (isEmpty(sceneJSON === null || sceneJSON === void 0 || (_sceneJSON$layers$lay = sceneJSON.layers[layerID]) === null || _sceneJSON$layers$lay === void 0 ? void 0 : _sceneJSON$layers$lay.doorStyle)) {
97
- var _doorStyle;
98
97
  var newlayer = _objectSpread(_objectSpread({}, sceneJSON === null || sceneJSON === void 0 ? void 0 : sceneJSON.layers[layerID]), {}, {
99
- doorStyle: (_doorStyle = doorStyle) === null || _doorStyle === void 0 ? void 0 : _doorStyle.toJS()
98
+ doorStyle: doorStyle.toJS()
100
99
  });
101
100
  sceneJSON && (sceneJSON.layers[layerID] = newlayer);
102
101
  }
@@ -567,7 +567,6 @@ export default function Viewer2D(_ref, _ref2) {
567
567
  // let evt = new Event('mousemove-planner-event');
568
568
  // evt.viewerEvent = viewerEvent;
569
569
  // document.dispatchEvent(evt);
570
- var elementPrototype, internalType;
571
570
  var _mapCursorPosition = mapCursorPosition(viewerEvent),
572
571
  x = _mapCursorPosition.x,
573
572
  y = _mapCursorPosition.y;
@@ -582,40 +581,6 @@ export default function Viewer2D(_ref, _ref2) {
582
581
  };
583
582
  projectActions.selectAll(differs);
584
583
  } else {
585
- switch (mode) {
586
- case constants.MODE_DRAWING_LINE:
587
- elementPrototype = 'lines';
588
- internalType = INTERNAL_EVENT_DRAW_ELEMENT;
589
- break;
590
- case constants.MODE_DRAWING_HOLE:
591
- elementPrototype = 'holes';
592
- internalType = INTERNAL_EVENT_DRAW_ELEMENT;
593
- break;
594
- case constants.MODE_DRAWING_ITEM:
595
- elementPrototype = 'items';
596
- internalType = INTERNAL_EVENT_DRAW_ELEMENT;
597
- break;
598
- case constants.MODE_DRAGGING_HOLE:
599
- elementPrototype = 'holes';
600
- internalType = INTERNAL_EVENT_DRAG_ELEMENT;
601
- break;
602
- case constants.MODE_DRAGGING_LINE:
603
- elementPrototype = 'lines';
604
- internalType = INTERNAL_EVENT_DRAG_ELEMENT;
605
- break;
606
- case constants.MODE_DRAGGING_VERTEX:
607
- elementPrototype = 'lines';
608
- internalType = INTERNAL_EVENT_DRAG_ELEMENT;
609
- break;
610
- case constants.MODE_DRAGGING_ITEM:
611
- elementPrototype = 'items';
612
- internalType = INTERNAL_EVENT_DRAG_ELEMENT;
613
- break;
614
- case constants.MODE_ROTATING_ITEM:
615
- elementPrototype = 'items';
616
- internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
617
- break;
618
- }
619
584
  switch (mode) {
620
585
  case constants.MODE_DRAWING_LINE:
621
586
  // check whether the drawing line is started.
@@ -859,24 +824,6 @@ export default function Viewer2D(_ref, _ref2) {
859
824
  default:
860
825
  break;
861
826
  }
862
- var currentObject = state.getIn(['scene', 'layers', layerID, elementData.prototype, elementData.id]);
863
- if (elementData.prototype === 'lines' && currentObject) {
864
- // caculating length of selected line//
865
- var v_a = layer.vertices.get(currentObject.vertices.get(0));
866
- var v_b = layer.vertices.get(currentObject.vertices.get(1));
867
- var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
868
- var _length = convert(distance).from('cm').to('in');
869
- elementData.length = _length;
870
- //////////////////////////////////////
871
- }
872
- // Adding length field to internal event payload when selected lines
873
- var payloadValue = (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) === 'lines' ? _objectSpread(_objectSpread({}, currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS()), {}, {
874
- length: elementData === null || elementData === void 0 ? void 0 : elementData.length
875
- }) : currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS();
876
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
877
- type: INTERNAL_EVENT_SELECT_ELEMENT,
878
- value: payloadValue
879
- });
880
827
  } else {
881
828
  sPoint.x = x;
882
829
  sPoint.y = y;
@@ -915,8 +862,7 @@ export default function Viewer2D(_ref, _ref2) {
915
862
  var elementData = extractElementData(event.target);
916
863
  var selectedLayer = scene.getIn(['layers', layerID]);
917
864
  var elementPrototype = null;
918
- var elementID = null;
919
- var internalType = '';
865
+ var internalType = null;
920
866
  switch (mode) {
921
867
  case constants.MODE_DRAWING_LINE:
922
868
  elementPrototype = 'lines';
@@ -938,10 +884,6 @@ export default function Viewer2D(_ref, _ref2) {
938
884
  elementPrototype = 'holes';
939
885
  internalType = INTERNAL_EVENT_DRAG_ELEMENT;
940
886
  break;
941
- case constants.MODE_DRAGGING_ITEM:
942
- elementPrototype = 'items';
943
- internalType = INTERNAL_EVENT_DRAG_ELEMENT;
944
- break;
945
887
  case constants.MODE_DRAGGING_VERTEX:
946
888
  elementPrototype = 'lines';
947
889
  internalType = INTERNAL_EVENT_DRAG_ELEMENT;
@@ -950,6 +892,24 @@ export default function Viewer2D(_ref, _ref2) {
950
892
  elementPrototype = 'items';
951
893
  internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
952
894
  break;
895
+
896
+ // item selection be came from dragging mode
897
+ case constants.MODE_DRAGGING_ITEM:
898
+ elementPrototype = 'items';
899
+ internalType = INTERNAL_EVENT_SELECT_ELEMENT;
900
+ break;
901
+ case constants.MODE_IDLE:
902
+ switch (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) {
903
+ case 'areas':
904
+ case 'lines':
905
+ case 'holes':
906
+ if (isEmpty(elementData === null || elementData === void 0 ? void 0 : elementData.part)) {
907
+ elementPrototype = elementData === null || elementData === void 0 ? void 0 : elementData.prototype;
908
+ internalType = INTERNAL_EVENT_SELECT_ELEMENT;
909
+ }
910
+ break;
911
+ }
912
+ break;
953
913
  }
954
914
  switch (mode) {
955
915
  case constants.MODE_IDLE:
@@ -1296,14 +1256,37 @@ export default function Viewer2D(_ref, _ref2) {
1296
1256
  itemsActions.endRotatingItem(x, y);
1297
1257
  break;
1298
1258
  }
1299
- var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
1300
- if (elementPrototype && draggingDistance > constants.EPSILON) {
1301
- elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
1302
- var _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1303
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1304
- type: internalType,
1305
- value: _currentObject === null || _currentObject === void 0 ? void 0 : _currentObject.toJS()
1306
- });
1259
+ if (internalType) {
1260
+ var _currentObject = null;
1261
+ var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
1262
+ if (internalType === INTERNAL_EVENT_SELECT_ELEMENT) {
1263
+ _currentObject = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
1264
+ // if (
1265
+ // currentObject?.prototype === 'items' &&
1266
+ // draggingDistance > constants.EPSILON
1267
+ // )
1268
+ // internalType = INTERNAL_EVENT_DRAG_ELEMENT;
1269
+ } else if (draggingDistance > constants.EPSILON) {
1270
+ var elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
1271
+ _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1272
+ }
1273
+ if (_currentObject) {
1274
+ var _currentObject2, _currentObject3;
1275
+ var payload = (_currentObject2 = _currentObject) === null || _currentObject2 === void 0 ? void 0 : _currentObject2.toJS();
1276
+ if (((_currentObject3 = _currentObject) === null || _currentObject3 === void 0 ? void 0 : _currentObject3.prototype) === 'lines') {
1277
+ // caculating length of selected line//
1278
+ var v_a = layer.vertices.get(_currentObject.vertices.get(0));
1279
+ var v_b = layer.vertices.get(_currentObject.vertices.get(1));
1280
+ var distance = GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1281
+ var _length3 = convert(distance).from('cm').to('in');
1282
+ payload.length = _length3;
1283
+ //////////////////////////////////////
1284
+ }
1285
+ onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1286
+ type: internalType,
1287
+ value: payload
1288
+ });
1289
+ }
1307
1290
  }
1308
1291
  event.stopPropagation();
1309
1292
  };
@@ -10,6 +10,8 @@ import cabinetPaylod from "./mocks/cabinetPayload2.json";
10
10
  import appliancePaylod from "./mocks/appliancePayload.json";
11
11
  import doorStylePaylod2 from "./mocks/doorStylePayload2.json";
12
12
  import itemCDSPayload from "./mocks/itemCDSPayload.json";
13
+ import lightingPayload from "./mocks/lightingPayload.json";
14
+ import furnishingPayload from "./mocks/furnishingPayload.json";
13
15
  import rectangleData from "./mocks/rectangleShape.json";
14
16
  import moldingPayload from "./mocks/moldingPayload.json";
15
17
  import replaceCabinetPayload from "./mocks/replaceCabinetPayload.json";
@@ -451,6 +453,24 @@ function WorkSpace(props) {
451
453
  setExternalEvent(evt);
452
454
  }
453
455
  }, "Add Appliance (30 Bottom Freezer)"), /*#__PURE__*/React.createElement(Button, {
456
+ actionType: "danger",
457
+ onClick: function onClick() {
458
+ var evt = {
459
+ type: EXTERNAL_EVENT_ADD_ITEM,
460
+ payload: lightingPayload
461
+ };
462
+ setExternalEvent(evt);
463
+ }
464
+ }, "Add Lighting"), /*#__PURE__*/React.createElement(Button, {
465
+ actionType: "danger",
466
+ onClick: function onClick() {
467
+ var evt = {
468
+ type: EXTERNAL_EVENT_ADD_ITEM,
469
+ payload: furnishingPayload
470
+ };
471
+ setExternalEvent(evt);
472
+ }
473
+ }, "Add Furnishing"), /*#__PURE__*/React.createElement(Button, {
454
474
  actionType: "danger",
455
475
  onClick: function onClick() {
456
476
  var evt = {
@@ -74,7 +74,7 @@ function parseTempPlaceholdersFromCabinetPayload(_x2) {
74
74
  /***** Update cabinetPayloadData with updatedTempPlaceholders *****/
75
75
  function _parseTempPlaceholdersFromCabinetPayload() {
76
76
  _parseTempPlaceholdersFromCabinetPayload = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(cabinetPayload) {
77
- var link, keys, temp, i, _cabinetPayload$struc, el, tempPlaceholdersData, tempData, doorKey, drawerKey, fixedKey, doorPHs, drawerPHs, has_single_door, fixedPHs, _t2, _t3, _t4;
77
+ var link, keys, temp, i, _cabinetPayload$struc, _cabinetPayload$struc2, el, tempPlaceholdersData, tempData, doorKey, drawerKey, fixedKey, doorPHs, drawerPHs, has_single_door, fixedPHs, _t2, _t3, _t4;
78
78
  return _regeneratorRuntime.wrap(function (_context3) {
79
79
  while (1) switch (_context3.prev = _context3.next) {
80
80
  case 0:
@@ -87,7 +87,7 @@ function _parseTempPlaceholdersFromCabinetPayload() {
87
87
  _context3.next = 4;
88
88
  break;
89
89
  }
90
- if (!((_cabinetPayload$struc = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc !== void 0 && (_cabinetPayload$struc = _cabinetPayload$struc.toString()) !== null && _cabinetPayload$struc !== void 0 && _cabinetPayload$struc.includes('.gltf'))) {
90
+ if (!((_cabinetPayload$struc = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc !== void 0 && (_cabinetPayload$struc = _cabinetPayload$struc.toString()) !== null && _cabinetPayload$struc !== void 0 && _cabinetPayload$struc.includes('.gltf') && (_cabinetPayload$struc2 = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc2 !== void 0 && (_cabinetPayload$struc2 = _cabinetPayload$struc2.toString()) !== null && _cabinetPayload$struc2 !== void 0 && _cabinetPayload$struc2.startsWith('http'))) {
91
91
  _context3.next = 3;
92
92
  break;
93
93
  }
@@ -133,11 +133,11 @@ function _parseTempPlaceholdersFromCabinetPayload() {
133
133
  tempPlaceholders.map(function (element) {
134
134
  var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
135
135
  if (sink_match && sink_match.length >= 2) {
136
- var _cabinetPayload$struc2;
136
+ var _cabinetPayload$struc3;
137
137
  tempData['sink'] = tempData['sink'] || [];
138
138
  tempData['sink'].push(element.name);
139
139
  var sink_url = process.env.API_URL + "/uploads/assets/default/".concat(sink_match[1], ".gltf");
140
- if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc2 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc2 !== void 0 && (_cabinetPayload$struc2 = _cabinetPayload$struc2.tempPlaceholders[0]) !== null && _cabinetPayload$struc2 !== void 0 && _cabinetPayload$struc2.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
140
+ 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;
141
141
  } else if (temp.some(function (felement) {
142
142
  return felement.name.includes('base_drawer');
143
143
  }) && element.name.includes('interior_drawer')) {
@@ -501,7 +501,7 @@ function addItemToCatalog(_x5, _x6, _x7, _x8) {
501
501
  function _addItemToCatalog() {
502
502
  _addItemToCatalog = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(element, state, catalogInstance, projectActions) {
503
503
  var _element, _element2;
504
- var elementJs, catalog, outlineSVGData, updatedStructureJson;
504
+ var elementJs, catalog, outlineSVGData, _element$structure_js, _element$structure_js2, _element$structure_js3, updatedStructureJson;
505
505
  return _regeneratorRuntime.wrap(function (_context5) {
506
506
  while (1) switch (_context5.prev = _context5.next) {
507
507
  case 0:
@@ -523,7 +523,7 @@ function _addItemToCatalog() {
523
523
  break;
524
524
  }
525
525
  // make placeholders of element and tempPlaceholder
526
- updatedStructureJson = _objectSpread(_objectSpread({}, element.structure_json), element.structure_json.tempPlaceholders[0].structure);
526
+ updatedStructureJson = _objectSpread(_objectSpread({}, element.structure_json), (_element$structure_js = (_element$structure_js2 = element.structure_json) === null || _element$structure_js2 === void 0 || (_element$structure_js2 = _element$structure_js2.tempPlaceholders[0]) === null || _element$structure_js2 === void 0 ? void 0 : _element$structure_js2.structure) !== null && _element$structure_js !== void 0 ? _element$structure_js : {});
527
527
  element.structure_json = updatedStructureJson;
528
528
  element = _objectSpread(_objectSpread({}, element), {}, {
529
529
  cds: {
@@ -531,6 +531,10 @@ function _addItemToCatalog() {
531
531
  itemID: element.itemID
532
532
  }
533
533
  });
534
+ if (isEmpty((_element$structure_js3 = element.structure_json) === null || _element$structure_js3 === void 0 ? void 0 : _element$structure_js3.tempPlaceholders)) {
535
+ _context5.next = 4;
536
+ break;
537
+ }
534
538
  _context5.next = 3;
535
539
  return updateCabinetPayload(element);
536
540
  case 3:
@@ -1017,11 +1021,12 @@ function _handleExternalEvent() {
1017
1021
  var _it$doorStyle;
1018
1022
  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;
1019
1023
  })) cdsItems.push({
1020
- itemId: it.itemId,
1024
+ itemID: it.itemID,
1025
+ prototype: it.prototype,
1026
+ category: it.category,
1021
1027
  name: it.name,
1028
+ type: it.type,
1022
1029
  sku_number: it.sku_number,
1023
- category: it.category,
1024
- prototype: it.prototype,
1025
1030
  cdsId: (_it$doorStyle2 = it.doorStyle) === null || _it$doorStyle2 === void 0 || (_it$doorStyle2 = _it$doorStyle2.doorStyles) === null || _it$doorStyle2 === void 0 ? void 0 : _it$doorStyle2.cabinet_door_style_id
1026
1031
  });
1027
1032
  case 1:
package/lib/class/item.js CHANGED
@@ -1088,7 +1088,6 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1088
1088
  scene = _state8.scene;
1089
1089
  var layerID = scene.get('selectedLayer');
1090
1090
  var layers = scene.layers.get(layerID);
1091
- layers = layers.set('doorStyle', doorStyle);
1092
1091
  var items = layers.items;
1093
1092
  items.forEach(function (data) {
1094
1093
  {
@@ -1100,11 +1099,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
1100
1099
  });
1101
1100
  data = data.mergeIn(['doorStyle'], (0, _immutable.fromJS)(tmpDS));
1102
1101
  layers = layers.mergeIn(['items', itemID], data);
1102
+ state = state.merge({
1103
+ scene: scene.mergeIn(['layers', layerID], layers)
1104
+ });
1103
1105
  }
1104
1106
  });
1105
- state = state.merge({
1106
- scene: scene.mergeIn(['layers', layerID], layers)
1107
- });
1108
1107
  return {
1109
1108
  updatedState: state
1110
1109
  };
@@ -103,9 +103,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
103
103
 
104
104
  // making layer's doorStyle when changing room shape
105
105
  if ((0, _helper.isEmpty)(sceneJSON === null || sceneJSON === void 0 || (_sceneJSON$layers$lay = sceneJSON.layers[layerID]) === null || _sceneJSON$layers$lay === void 0 ? void 0 : _sceneJSON$layers$lay.doorStyle)) {
106
- var _doorStyle;
107
106
  var newlayer = _objectSpread(_objectSpread({}, sceneJSON === null || sceneJSON === void 0 ? void 0 : sceneJSON.layers[layerID]), {}, {
108
- doorStyle: (_doorStyle = doorStyle) === null || _doorStyle === void 0 ? void 0 : _doorStyle.toJS()
107
+ doorStyle: doorStyle.toJS()
109
108
  });
110
109
  sceneJSON && (sceneJSON.layers[layerID] = newlayer);
111
110
  }
@@ -577,7 +577,6 @@ function Viewer2D(_ref, _ref2) {
577
577
  // let evt = new Event('mousemove-planner-event');
578
578
  // evt.viewerEvent = viewerEvent;
579
579
  // document.dispatchEvent(evt);
580
- var elementPrototype, internalType;
581
580
  var _mapCursorPosition = mapCursorPosition(viewerEvent),
582
581
  x = _mapCursorPosition.x,
583
582
  y = _mapCursorPosition.y;
@@ -592,40 +591,6 @@ function Viewer2D(_ref, _ref2) {
592
591
  };
593
592
  projectActions.selectAll(differs);
594
593
  } else {
595
- switch (mode) {
596
- case constants.MODE_DRAWING_LINE:
597
- elementPrototype = 'lines';
598
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
599
- break;
600
- case constants.MODE_DRAWING_HOLE:
601
- elementPrototype = 'holes';
602
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
603
- break;
604
- case constants.MODE_DRAWING_ITEM:
605
- elementPrototype = 'items';
606
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
607
- break;
608
- case constants.MODE_DRAGGING_HOLE:
609
- elementPrototype = 'holes';
610
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
611
- break;
612
- case constants.MODE_DRAGGING_LINE:
613
- elementPrototype = 'lines';
614
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
615
- break;
616
- case constants.MODE_DRAGGING_VERTEX:
617
- elementPrototype = 'lines';
618
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
619
- break;
620
- case constants.MODE_DRAGGING_ITEM:
621
- elementPrototype = 'items';
622
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
623
- break;
624
- case constants.MODE_ROTATING_ITEM:
625
- elementPrototype = 'items';
626
- internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
627
- break;
628
- }
629
594
  switch (mode) {
630
595
  case constants.MODE_DRAWING_LINE:
631
596
  // check whether the drawing line is started.
@@ -869,24 +834,6 @@ function Viewer2D(_ref, _ref2) {
869
834
  default:
870
835
  break;
871
836
  }
872
- var currentObject = state.getIn(['scene', 'layers', layerID, elementData.prototype, elementData.id]);
873
- if (elementData.prototype === 'lines' && currentObject) {
874
- // caculating length of selected line//
875
- var v_a = layer.vertices.get(currentObject.vertices.get(0));
876
- var v_b = layer.vertices.get(currentObject.vertices.get(1));
877
- var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
878
- var _length = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
879
- elementData.length = _length;
880
- //////////////////////////////////////
881
- }
882
- // Adding length field to internal event payload when selected lines
883
- var payloadValue = (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) === 'lines' ? _objectSpread(_objectSpread({}, currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS()), {}, {
884
- length: elementData === null || elementData === void 0 ? void 0 : elementData.length
885
- }) : currentObject === null || currentObject === void 0 ? void 0 : currentObject.toJS();
886
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
887
- type: _constants.INTERNAL_EVENT_SELECT_ELEMENT,
888
- value: payloadValue
889
- });
890
837
  } else {
891
838
  sPoint.x = x;
892
839
  sPoint.y = y;
@@ -925,8 +872,7 @@ function Viewer2D(_ref, _ref2) {
925
872
  var elementData = extractElementData(event.target);
926
873
  var selectedLayer = scene.getIn(['layers', layerID]);
927
874
  var elementPrototype = null;
928
- var elementID = null;
929
- var internalType = '';
875
+ var internalType = null;
930
876
  switch (mode) {
931
877
  case constants.MODE_DRAWING_LINE:
932
878
  elementPrototype = 'lines';
@@ -948,10 +894,6 @@ function Viewer2D(_ref, _ref2) {
948
894
  elementPrototype = 'holes';
949
895
  internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
950
896
  break;
951
- case constants.MODE_DRAGGING_ITEM:
952
- elementPrototype = 'items';
953
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
954
- break;
955
897
  case constants.MODE_DRAGGING_VERTEX:
956
898
  elementPrototype = 'lines';
957
899
  internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
@@ -960,6 +902,24 @@ function Viewer2D(_ref, _ref2) {
960
902
  elementPrototype = 'items';
961
903
  internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
962
904
  break;
905
+
906
+ // item selection be came from dragging mode
907
+ case constants.MODE_DRAGGING_ITEM:
908
+ elementPrototype = 'items';
909
+ internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
910
+ break;
911
+ case constants.MODE_IDLE:
912
+ switch (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) {
913
+ case 'areas':
914
+ case 'lines':
915
+ case 'holes':
916
+ if ((0, _helper.isEmpty)(elementData === null || elementData === void 0 ? void 0 : elementData.part)) {
917
+ elementPrototype = elementData === null || elementData === void 0 ? void 0 : elementData.prototype;
918
+ internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
919
+ }
920
+ break;
921
+ }
922
+ break;
963
923
  }
964
924
  switch (mode) {
965
925
  case constants.MODE_IDLE:
@@ -1306,14 +1266,37 @@ function Viewer2D(_ref, _ref2) {
1306
1266
  itemsActions.endRotatingItem(x, y);
1307
1267
  break;
1308
1268
  }
1309
- var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
1310
- if (elementPrototype && draggingDistance > constants.EPSILON) {
1311
- elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
1312
- var _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1313
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1314
- type: internalType,
1315
- value: _currentObject === null || _currentObject === void 0 ? void 0 : _currentObject.toJS()
1316
- });
1269
+ if (internalType) {
1270
+ var _currentObject = null;
1271
+ var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
1272
+ if (internalType === _constants.INTERNAL_EVENT_SELECT_ELEMENT) {
1273
+ _currentObject = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
1274
+ // if (
1275
+ // currentObject?.prototype === 'items' &&
1276
+ // draggingDistance > constants.EPSILON
1277
+ // )
1278
+ // internalType = INTERNAL_EVENT_DRAG_ELEMENT;
1279
+ } else if (draggingDistance > constants.EPSILON) {
1280
+ var elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
1281
+ _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1282
+ }
1283
+ if (_currentObject) {
1284
+ var _currentObject2, _currentObject3;
1285
+ var payload = (_currentObject2 = _currentObject) === null || _currentObject2 === void 0 ? void 0 : _currentObject2.toJS();
1286
+ if (((_currentObject3 = _currentObject) === null || _currentObject3 === void 0 ? void 0 : _currentObject3.prototype) === 'lines') {
1287
+ // caculating length of selected line//
1288
+ var v_a = layer.vertices.get(_currentObject.vertices.get(0));
1289
+ var v_b = layer.vertices.get(_currentObject.vertices.get(1));
1290
+ var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1291
+ var _length3 = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
1292
+ payload.length = _length3;
1293
+ //////////////////////////////////////
1294
+ }
1295
+ onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1296
+ type: internalType,
1297
+ value: payload
1298
+ });
1299
+ }
1317
1300
  }
1318
1301
  event.stopPropagation();
1319
1302
  };
@@ -14,6 +14,8 @@ var _cabinetPayload = _interopRequireDefault(require("./mocks/cabinetPayload2.js
14
14
  var _appliancePayload = _interopRequireDefault(require("./mocks/appliancePayload.json"));
15
15
  var _doorStylePayload = _interopRequireDefault(require("./mocks/doorStylePayload2.json"));
16
16
  var _itemCDSPayload = _interopRequireDefault(require("./mocks/itemCDSPayload.json"));
17
+ var _lightingPayload = _interopRequireDefault(require("./mocks/lightingPayload.json"));
18
+ var _furnishingPayload = _interopRequireDefault(require("./mocks/furnishingPayload.json"));
17
19
  var _rectangleShape = _interopRequireDefault(require("./mocks/rectangleShape.json"));
18
20
  var _moldingPayload = _interopRequireDefault(require("./mocks/moldingPayload.json"));
19
21
  var _replaceCabinetPayload = _interopRequireDefault(require("./mocks/replaceCabinetPayload.json"));
@@ -455,6 +457,24 @@ function WorkSpace(props) {
455
457
  setExternalEvent(evt);
456
458
  }
457
459
  }, "Add Appliance (30 Bottom Freezer)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
460
+ actionType: "danger",
461
+ onClick: function onClick() {
462
+ var evt = {
463
+ type: _constants.EXTERNAL_EVENT_ADD_ITEM,
464
+ payload: _lightingPayload["default"]
465
+ };
466
+ setExternalEvent(evt);
467
+ }
468
+ }, "Add Lighting"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
469
+ actionType: "danger",
470
+ onClick: function onClick() {
471
+ var evt = {
472
+ type: _constants.EXTERNAL_EVENT_ADD_ITEM,
473
+ payload: _furnishingPayload["default"]
474
+ };
475
+ setExternalEvent(evt);
476
+ }
477
+ }, "Add Furnishing"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
458
478
  actionType: "danger",
459
479
  onClick: function onClick() {
460
480
  var evt = {
@@ -81,7 +81,7 @@ function parseTempPlaceholdersFromCabinetPayload(_x2) {
81
81
  /***** Update cabinetPayloadData with updatedTempPlaceholders *****/
82
82
  function _parseTempPlaceholdersFromCabinetPayload() {
83
83
  _parseTempPlaceholdersFromCabinetPayload = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(cabinetPayload) {
84
- var link, keys, temp, i, _cabinetPayload$struc, el, tempPlaceholdersData, tempData, doorKey, drawerKey, fixedKey, doorPHs, drawerPHs, has_single_door, fixedPHs, _t2, _t3, _t4;
84
+ var link, keys, temp, i, _cabinetPayload$struc, _cabinetPayload$struc2, el, tempPlaceholdersData, tempData, doorKey, drawerKey, fixedKey, doorPHs, drawerPHs, has_single_door, fixedPHs, _t2, _t3, _t4;
85
85
  return _regenerator["default"].wrap(function (_context3) {
86
86
  while (1) switch (_context3.prev = _context3.next) {
87
87
  case 0:
@@ -94,7 +94,7 @@ function _parseTempPlaceholdersFromCabinetPayload() {
94
94
  _context3.next = 4;
95
95
  break;
96
96
  }
97
- if (!((_cabinetPayload$struc = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc !== void 0 && (_cabinetPayload$struc = _cabinetPayload$struc.toString()) !== null && _cabinetPayload$struc !== void 0 && _cabinetPayload$struc.includes('.gltf'))) {
97
+ if (!((_cabinetPayload$struc = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc !== void 0 && (_cabinetPayload$struc = _cabinetPayload$struc.toString()) !== null && _cabinetPayload$struc !== void 0 && _cabinetPayload$struc.includes('.gltf') && (_cabinetPayload$struc2 = cabinetPayload.structure_json[keys[i]]) !== null && _cabinetPayload$struc2 !== void 0 && (_cabinetPayload$struc2 = _cabinetPayload$struc2.toString()) !== null && _cabinetPayload$struc2 !== void 0 && _cabinetPayload$struc2.startsWith('http'))) {
98
98
  _context3.next = 3;
99
99
  break;
100
100
  }
@@ -140,11 +140,11 @@ function _parseTempPlaceholdersFromCabinetPayload() {
140
140
  tempPlaceholders.map(function (element) {
141
141
  var sink_match = element.name.match(/\d_(sink_[^LR12]*)(_[LR12])?$/);
142
142
  if (sink_match && sink_match.length >= 2) {
143
- var _cabinetPayload$struc2;
143
+ var _cabinetPayload$struc3;
144
144
  tempData['sink'] = tempData['sink'] || [];
145
145
  tempData['sink'].push(element.name);
146
146
  var sink_url = process.env.API_URL + "/uploads/assets/default/".concat(sink_match[1], ".gltf");
147
- if (cabinetPayload !== null && cabinetPayload !== void 0 && (_cabinetPayload$struc2 = cabinetPayload.structure_json) !== null && _cabinetPayload$struc2 !== void 0 && (_cabinetPayload$struc2 = _cabinetPayload$struc2.tempPlaceholders[0]) !== null && _cabinetPayload$struc2 !== void 0 && _cabinetPayload$struc2.structure) cabinetPayload.structure_json.tempPlaceholders[0].structure.sink = sink_url;
147
+ 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;
148
148
  } else if (temp.some(function (felement) {
149
149
  return felement.name.includes('base_drawer');
150
150
  }) && element.name.includes('interior_drawer')) {
@@ -508,7 +508,7 @@ function addItemToCatalog(_x5, _x6, _x7, _x8) {
508
508
  function _addItemToCatalog() {
509
509
  _addItemToCatalog = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(element, state, catalogInstance, projectActions) {
510
510
  var _element, _element2;
511
- var elementJs, catalog, outlineSVGData, updatedStructureJson;
511
+ var elementJs, catalog, outlineSVGData, _element$structure_js, _element$structure_js2, _element$structure_js3, updatedStructureJson;
512
512
  return _regenerator["default"].wrap(function (_context5) {
513
513
  while (1) switch (_context5.prev = _context5.next) {
514
514
  case 0:
@@ -530,7 +530,7 @@ function _addItemToCatalog() {
530
530
  break;
531
531
  }
532
532
  // make placeholders of element and tempPlaceholder
533
- updatedStructureJson = _objectSpread(_objectSpread({}, element.structure_json), element.structure_json.tempPlaceholders[0].structure);
533
+ updatedStructureJson = _objectSpread(_objectSpread({}, element.structure_json), (_element$structure_js = (_element$structure_js2 = element.structure_json) === null || _element$structure_js2 === void 0 || (_element$structure_js2 = _element$structure_js2.tempPlaceholders[0]) === null || _element$structure_js2 === void 0 ? void 0 : _element$structure_js2.structure) !== null && _element$structure_js !== void 0 ? _element$structure_js : {});
534
534
  element.structure_json = updatedStructureJson;
535
535
  element = _objectSpread(_objectSpread({}, element), {}, {
536
536
  cds: {
@@ -538,6 +538,10 @@ function _addItemToCatalog() {
538
538
  itemID: element.itemID
539
539
  }
540
540
  });
541
+ if ((0, _helper.isEmpty)((_element$structure_js3 = element.structure_json) === null || _element$structure_js3 === void 0 ? void 0 : _element$structure_js3.tempPlaceholders)) {
542
+ _context5.next = 4;
543
+ break;
544
+ }
541
545
  _context5.next = 3;
542
546
  return updateCabinetPayload(element);
543
547
  case 3:
@@ -1024,11 +1028,12 @@ function _handleExternalEvent() {
1024
1028
  var _it$doorStyle;
1025
1029
  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;
1026
1030
  })) cdsItems.push({
1027
- itemId: it.itemId,
1031
+ itemID: it.itemID,
1032
+ prototype: it.prototype,
1033
+ category: it.category,
1028
1034
  name: it.name,
1035
+ type: it.type,
1029
1036
  sku_number: it.sku_number,
1030
- category: it.category,
1031
- prototype: it.prototype,
1032
1037
  cdsId: (_it$doorStyle2 = it.doorStyle) === null || _it$doorStyle2 === void 0 || (_it$doorStyle2 = _it$doorStyle2.doorStyles) === null || _it$doorStyle2 === void 0 ? void 0 : _it$doorStyle2.cabinet_door_style_id
1033
1038
  });
1034
1039
  case 1:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "2.0.21",
3
+ "version": "2.0.22",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",