kitchen-simulator 10.4.0 → 10.5.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.
@@ -12,7 +12,7 @@ import { ARROW_COLOR, BASE_CABINET_LAYOUTPOS, OBJTYPE_GROUP, OBJTYPE_MESH, SHADE
12
12
  import { Item } from "../../models";
13
13
  import * as GeomUtils from "./geom-utils";
14
14
  import { loadGLTF } from "./load-obj";
15
- import { animateDoor, getSkuAliasFromCatalogElement, isEmpty, translateDrawer } from "../../utils/helper";
15
+ import { animateDoor, getCatalogCabinetSku, isEmpty, translateDrawer } from "../../utils/helper";
16
16
  import { isWarningCabinet } from "../../shared/domain/cabinet-warning";
17
17
  import { orderCabinetAssemblyKeys } from "../cabinet/cabinet-assembly-order";
18
18
  var INITIAL_NORMAL_MAP = '';
@@ -124,7 +124,7 @@ export function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corn
124
124
  var rowCount = 0; //parseInt((element.type.length / lineCount - 0.51).toFixed(), 10);
125
125
 
126
126
  // Get SKU Alias
127
- var objSKU = getSkuAliasFromCatalogElement(this, element);
127
+ var objSKU = getCatalogCabinetSku(element);
128
128
  if (rowCount > 0) {
129
129
  for (var _x = 0; _x < rowCount; _x++) {
130
130
  splitStr.push(objSKU.slice(lineCount * _x, lineCount * (_x + 1)));
package/es/class/item.js CHANGED
@@ -567,9 +567,7 @@ var Item = /*#__PURE__*/function () {
567
567
  break;
568
568
  }
569
569
  if (onInternalEvent && duplicatedElement) {
570
- var _state$get;
571
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
572
- var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer, catalog);
570
+ var jsElement = updatePayloadOfInternalEvent(duplicatedElement, layer);
573
571
  onInternalEvent({
574
572
  type: INTERNAL_EVENT_DRAW_ELEMENT,
575
573
  value: jsElement
package/es/class/line.js CHANGED
@@ -427,7 +427,6 @@ var Line = /*#__PURE__*/function () {
427
427
  }, {
428
428
  key: "beginDrawingLine",
429
429
  value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
430
- var _state$get;
431
430
  // if end drawing by created area
432
431
  if (state.mode == MODE_IDLE) {
433
432
  return {
@@ -481,8 +480,7 @@ var Line = /*#__PURE__*/function () {
481
480
  drawingSupport: drawingSupport
482
481
  });
483
482
  var layer = state.getIn(['scene', 'layers', layerID]);
484
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
485
- var payload = updatePayloadOfInternalEvent(line, layer, catalog);
483
+ var payload = updatePayloadOfInternalEvent(line, layer);
486
484
  if (onInternalEvent) onInternalEvent({
487
485
  type: INTERNAL_EVENT_START_DRAW_WALL,
488
486
  value: payload
@@ -87,7 +87,7 @@ export default function Item(_ref, _ref2) {
87
87
  length: itemDistanceFromLine,
88
88
  angle: rotation,
89
89
  rotation: element[1],
90
- transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? cat.info.is_corner !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
90
+ transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? (item === null || item === void 0 ? void 0 : item.is_corner) !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
91
91
  })));
92
92
  }
93
93
  });
@@ -1256,7 +1256,7 @@ export default function Viewer2D(_ref, _ref2) {
1256
1256
  _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1257
1257
  }
1258
1258
  if (_currentObject) {
1259
- var payload = updatePayloadOfInternalEvent(_currentObject, layer, catalog);
1259
+ var payload = updatePayloadOfInternalEvent(_currentObject, layer);
1260
1260
 
1261
1261
  // send selection event befor replace event
1262
1262
  if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
@@ -94,8 +94,8 @@ export default function Layer3D(_ref) {
94
94
  depth: depth,
95
95
  altitude: altitude
96
96
  };
97
- val.layoutpos = cat && cat.info.layoutpos;
98
- val.is_corner = cat && cat.info.is_corner;
97
+ val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
98
+ val.is_corner = item.is_corner;
99
99
  val.item = item.toJS();
100
100
  var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
101
101
  if (isSnapped(calcrect.rect[3], calcrect.rect[2]) || isSnapped(calcrect.rect[2], calcrect.rect[1]) || isSnapped(calcrect.rect[0], calcrect.rect[3])) {
@@ -2153,8 +2153,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
2153
2153
  height: height,
2154
2154
  depth: depth
2155
2155
  };
2156
- val.layoutpos = cat.info.layoutpos;
2157
- val.is_corner = cat.info.is_corner;
2156
+ val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
2157
+ val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
2158
2158
  val.item = item;
2159
2159
  var calcrect = GeometryUtils.getCalcRectFromItem3D(val);
2160
2160
 
@@ -544,7 +544,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
544
544
  if (item !== null) {
545
545
  var catid = item.type;
546
546
  var cat = catalog.elements[catid];
547
- layoutpos = cat.info.layoutpos;
547
+ layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
548
548
  }
549
549
  var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
550
550
  var sBounding = obj.children[0].userData;
@@ -564,9 +564,7 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
564
564
  return false;
565
565
  }
566
566
  var _item = layer.items.getIn([data.id]);
567
- var ocatid = _item.type;
568
- var ocat = catalog.elements[ocatid];
569
- var olayoutpos = ocat.info.layoutpos;
567
+ var olayoutpos = _item.layoutpos;
570
568
  if (!(layoutpos === BASE_CABINET_LAYOUTPOS && olayoutpos === WALL_CABINET_LAYOUTPOS || layoutpos === WALL_CABINET_LAYOUTPOS && olayoutpos === BASE_CABINET_LAYOUTPOS)) {
571
569
  var tRot = _item.rotation;
572
570
  var tPos = new Three.Vector2(_item.x, _item.y);
@@ -1192,9 +1190,8 @@ var Scene3DViewer = /*#__PURE__*/function (_React$Component) {
1192
1190
  var curLayerId = _this2.props.state.scene.selectedLayer;
1193
1191
  var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
1194
1192
  if (!isEmpty(evtType) && !isEmpty(evtElement)) {
1195
- var _state$get, _this2$props$onIntern, _this2$props;
1196
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
1197
- var payload = updatePayloadOfInternalEvent(evtElement, curLayer, catalog, pointArray);
1193
+ var _this2$props$onIntern, _this2$props;
1194
+ var payload = updatePayloadOfInternalEvent(evtElement, curLayer, pointArray);
1198
1195
  (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1199
1196
  type: evtType,
1200
1197
  value: payload
@@ -128,6 +128,7 @@ function _handleExternalEvent() {
128
128
  handleSetFinishing(props, state, evt.payload);
129
129
  return _context.abrupt("continue", 31);
130
130
  case 30:
131
+ console.log('*** catalog ***', props.catalog);
131
132
  handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE);
132
133
  return _context.abrupt("continue", 31);
133
134
  case 31:
@@ -9,7 +9,7 @@ export function handleSyncScene(props, state, layer, layerId, getMoldingDataOfSc
9
9
 
10
10
  // get skin panel data
11
11
  var skinPanelExclusionSKUs = (_props$configData$ski = props === null || props === void 0 || (_props$configData2 = props.configData) === null || _props$configData2 === void 0 ? void 0 : _props$configData2.skinPanelExclusionSKUs) !== null && _props$configData$ski !== void 0 ? _props$configData$ski : [];
12
- sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs, props.catalog);
12
+ sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs);
13
13
 
14
14
  // send scene object from 3DTool to HostApp using internalEvent
15
15
  (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
@@ -739,7 +739,8 @@ export function getAllItemSpecified(scene, catalog, filter) {
739
739
  rotRad: item.rotation / 180 * Math.PI
740
740
  };
741
741
  var cat = item.type ? findCatalogElement(catalog, item.type) : null;
742
- var info = cat === null || cat === void 0 ? void 0 : cat.info;
742
+ val.layoutpos = item.layoutpos;
743
+ val.is_corner = item.is_corner;
743
744
  var props = item.properties;
744
745
  var getSize = function getSize(key) {
745
746
  var _props$getIn, _props$getIn2, _props$getIn3;
@@ -752,15 +753,11 @@ export function getAllItemSpecified(scene, catalog, filter) {
752
753
  depth: getSize('depth')
753
754
  };
754
755
  val.item = item;
755
- if (info) {
756
- val.layoutpos = info.layoutpos;
757
- val.is_corner = info.is_corner;
758
- }
759
756
 
760
757
  // Filter check
761
758
  if (Array.isArray(filter)) {
762
- if (info && !filter.includes(info.layoutpos)) return;
763
- } else if ((info === null || info === void 0 ? void 0 : info.layoutpos) !== filter || isEmpty(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
759
+ if (!val.layoutpos || !filter.includes(val.layoutpos)) return;
760
+ } else if (val.layoutpos !== filter || isEmpty(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
764
761
  return;
765
762
  }
766
763
 
@@ -12,6 +12,7 @@ import { formatNumber } from "./math";
12
12
  import AWS from 'aws-sdk';
13
13
  import { GeometryUtils, MoldingUtils } from "./export";
14
14
  import { calcDistancesFromHoleToNearestOneOrWall } from "./geometry";
15
+ import { toJSIfNeeded } from "../shared/objects/immutable";
15
16
  var s3 = new AWS.S3({
16
17
  accessKeyId: process.env.REACT_APP_AWS_ID,
17
18
  secretAccessKey: process.env.REACT_APP_AWS_SECRET
@@ -400,11 +401,11 @@ export function centering2D(state) {
400
401
  if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
401
402
  return state;
402
403
  }
403
- export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
404
- var pointArray = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
404
+ export function updatePayloadOfInternalEvent(currentObject, layer) {
405
+ var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
405
406
  if (isEmpty(currentObject)) return null;
406
407
  var updatedPayload = currentObject.toJS();
407
- if (isEmpty(layer) || isEmpty(catalog)) return updatedPayload;
408
+ if (isEmpty(layer)) return updatedPayload;
408
409
  if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
409
410
  // caculating length of selected line//
410
411
  var v_a = layer.vertices.get(currentObject.vertices.get(0));
@@ -424,7 +425,7 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
424
425
  if (pointArray) updatedPayload.distArray = pointArray;
425
426
 
426
427
  // update sku_number using sku_array
427
- updatedPayload.sku_number = getSkuAliasFromCatalog(catalog, currentObject);
428
+ updatedPayload.sku_number = getCatalogCabinetSku(currentObject);
428
429
  } else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
429
430
  var _calcDistancesFromHol = calcDistancesFromHoleToNearestOneOrWall(currentObject, layer),
430
431
  distLeft = _calcDistancesFromHol.distLeft,
@@ -442,20 +443,9 @@ export function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
442
443
  }
443
444
  return updatedPayload;
444
445
  }
445
- export function getSkuAliasFromCatalog(catalog, sceneObject) {
446
- var _catalog$elements;
447
- var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
448
- var elementName = sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.name;
449
- var catalogElement = catalog === null || catalog === void 0 || (_catalog$elements = catalog.elements) === null || _catalog$elements === void 0 ? void 0 : _catalog$elements[elementName];
450
- return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
451
- }
452
- export function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
453
- var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
454
- var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
455
- var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
456
- var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
457
- var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
458
- return sku.door_color_id === doorColorId;
459
- });
460
- return (_skuAlias$sku = skuAlias === null || skuAlias === void 0 ? void 0 : skuAlias.sku) !== null && _skuAlias$sku !== void 0 ? _skuAlias$sku : sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.sku_number;
446
+ export function getCatalogCabinetSku(sceneObject) {
447
+ var _sceneObjectJS$ccdf;
448
+ var sceneObjectJS = toJSIfNeeded(sceneObject);
449
+ var ccdfSku = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$ccdf = sceneObjectJS.ccdf) === null || _sceneObjectJS$ccdf === void 0 ? void 0 : _sceneObjectJS$ccdf.catalog_cabinet_sku;
450
+ return ccdfSku;
461
451
  }
@@ -6,7 +6,7 @@ import { BASE_CABINET_LAYOUTPOS, WALL_CABINET_LAYOUTPOS, TALL_CABINET_LAYOUTPOS,
6
6
  import { buildRectFromLines, getAllLines, pointsDistance, relationshipOfTwoOverlappedLines, rotatePointAroundPoint } from "./geometry";
7
7
  import { MathUtils } from "./export";
8
8
  import { convert } from "./convert-units-lite";
9
- import { getSkuAliasFromCatalog, isEmpty } from "./helper";
9
+ import { getCatalogCabinetSku, isEmpty } from "./helper";
10
10
  import { SKIN_SKU_BSV_24, SKIN_SKU_BSV_48, SKIN_SKU_WSV_1242, SKIN_SKU_WSV_2442, SKIN_SKU_WSV_2460, SKIN_SKU_USV245325, SKIN_HEIGHT_53_25 } from "../constants/catalog/skinPanel";
11
11
  function toCm(item, prop) {
12
12
  var unit = item.properties.get(prop).get('_unit') || 'cm';
@@ -493,16 +493,12 @@ function buildSkinPanelData(faces) {
493
493
  });
494
494
  return result;
495
495
  }
496
- function shouldExcludeSkinPanel(itemJS, exclusionSet, catalog) {
497
- var _itemJS$doorStyle;
498
- var cabinetSku = getSkuAliasFromCatalog(catalog, itemJS);
499
- var doorColorSku = itemJS === null || itemJS === void 0 || (_itemJS$doorStyle = itemJS.doorStyle) === null || _itemJS$doorStyle === void 0 ? void 0 : _itemJS$doorStyle.sku;
500
- if (!cabinetSku || !doorColorSku) return false;
501
- return exclusionSet.has("".concat(cabinetSku, "-").concat(doorColorSku));
496
+ function shouldExcludeSkinPanel(itemJS, exclusionSet) {
497
+ var catalogCabinetSku = getCatalogCabinetSku(itemJS);
498
+ return exclusionSet.has(catalogCabinetSku);
502
499
  }
503
500
  export function computeSkinPanels(layer) {
504
501
  var skinPanelExclusionSKUs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
505
- var catalog = arguments.length > 2 ? arguments[2] : undefined;
506
502
  var exclusionSet = new Set(skinPanelExclusionSKUs);
507
503
 
508
504
  // Get candidate skin panel items and other items
@@ -510,7 +506,7 @@ export function computeSkinPanels(layer) {
510
506
  skinPanelItems = _collectLayerItems.skinPanelItems,
511
507
  otherItems = _collectLayerItems.otherItems;
512
508
  var filteredSkinPanelItems = skinPanelItems.filter(function (item) {
513
- return !shouldExcludeSkinPanel(item.toJS(), exclusionSet, catalog);
509
+ return !shouldExcludeSkinPanel(item.toJS(), exclusionSet);
514
510
  });
515
511
 
516
512
  // Get all skin face list of [skinPanelItems] & [otherItems]
@@ -138,7 +138,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
138
138
  var rowCount = 0; //parseInt((element.type.length / lineCount - 0.51).toFixed(), 10);
139
139
 
140
140
  // Get SKU Alias
141
- var objSKU = (0, _helper.getSkuAliasFromCatalogElement)(this, element);
141
+ var objSKU = (0, _helper.getCatalogCabinetSku)(element);
142
142
  if (rowCount > 0) {
143
143
  for (var _x = 0; _x < rowCount; _x++) {
144
144
  splitStr.push(objSKU.slice(lineCount * _x, lineCount * (_x + 1)));
package/lib/class/item.js CHANGED
@@ -574,9 +574,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
574
574
  break;
575
575
  }
576
576
  if (onInternalEvent && duplicatedElement) {
577
- var _state$get;
578
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
579
- var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer, catalog);
577
+ var jsElement = (0, _helper.updatePayloadOfInternalEvent)(duplicatedElement, layer);
580
578
  onInternalEvent({
581
579
  type: _constants.INTERNAL_EVENT_DRAW_ELEMENT,
582
580
  value: jsElement
package/lib/class/line.js CHANGED
@@ -436,7 +436,6 @@ var Line = exports["default"] = /*#__PURE__*/function () {
436
436
  }, {
437
437
  key: "beginDrawingLine",
438
438
  value: function beginDrawingLine(state, layerID, x, y, onInternalEvent) {
439
- var _state$get;
440
439
  // if end drawing by created area
441
440
  if (state.mode == _constants.MODE_IDLE) {
442
441
  return {
@@ -490,8 +489,7 @@ var Line = exports["default"] = /*#__PURE__*/function () {
490
489
  drawingSupport: drawingSupport
491
490
  });
492
491
  var layer = state.getIn(['scene', 'layers', layerID]);
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);
492
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(line, layer);
495
493
  if (onInternalEvent) onInternalEvent({
496
494
  type: _constants.INTERNAL_EVENT_START_DRAW_WALL,
497
495
  value: payload
@@ -96,7 +96,7 @@ function Item(_ref, _ref2) {
96
96
  length: itemDistanceFromLine,
97
97
  angle: rotation,
98
98
  rotation: element[1],
99
- transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? cat.info.is_corner !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
99
+ transform: "translate(".concat(element[1] === 180 ? -nw : element[1] === 0 ? nw : 0, ", ").concat(element[1] === 90 ? nh : element[1] === -90 ? (item === null || item === void 0 ? void 0 : item.is_corner) !== 1 ? -(nh + 4) : -nh : 0, ") rotate(").concat(element[1], ", 0, 0)")
100
100
  })));
101
101
  }
102
102
  });
@@ -1265,7 +1265,7 @@ function Viewer2D(_ref, _ref2) {
1265
1265
  _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1266
1266
  }
1267
1267
  if (_currentObject) {
1268
- var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer, catalog);
1268
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer);
1269
1269
 
1270
1270
  // send selection event befor replace event
1271
1271
  if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
@@ -101,8 +101,8 @@ function Layer3D(_ref) {
101
101
  depth: depth,
102
102
  altitude: altitude
103
103
  };
104
- val.layoutpos = cat && cat.info.layoutpos;
105
- val.is_corner = cat && cat.info.is_corner;
104
+ val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
105
+ val.is_corner = item.is_corner;
106
106
  val.item = item.toJS();
107
107
  var calcrect = _export.GeometryUtils.getCalcRectFromItem3D(val);
108
108
  if (isSnapped(calcrect.rect[3], calcrect.rect[2]) || isSnapped(calcrect.rect[2], calcrect.rect[1]) || isSnapped(calcrect.rect[0], calcrect.rect[3])) {
@@ -2187,8 +2187,8 @@ function addItem(sceneData, planData, layer, itemID, catalog, itemsActions) {
2187
2187
  height: height,
2188
2188
  depth: depth
2189
2189
  };
2190
- val.layoutpos = cat.info.layoutpos;
2191
- val.is_corner = cat.info.is_corner;
2190
+ val.layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
2191
+ val.is_corner = item === null || item === void 0 ? void 0 : item.is_corner;
2192
2192
  val.item = item;
2193
2193
  var calcrect = _export.GeometryUtils.getCalcRectFromItem3D(val);
2194
2194
 
@@ -551,7 +551,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
551
551
  if (item !== null) {
552
552
  var catid = item.type;
553
553
  var cat = catalog.elements[catid];
554
- layoutpos = cat.info.layoutpos;
554
+ layoutpos = item === null || item === void 0 ? void 0 : item.layoutpos;
555
555
  }
556
556
  var oPos = new Three.Vector2(pos.clone().x, pos.clone().y);
557
557
  var sBounding = obj.children[0].userData;
@@ -571,9 +571,7 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
571
571
  return false;
572
572
  }
573
573
  var _item = layer.items.getIn([data.id]);
574
- var ocatid = _item.type;
575
- var ocat = catalog.elements[ocatid];
576
- var olayoutpos = ocat.info.layoutpos;
574
+ var olayoutpos = _item.layoutpos;
577
575
  if (!(layoutpos === _constants.BASE_CABINET_LAYOUTPOS && olayoutpos === _constants.WALL_CABINET_LAYOUTPOS || layoutpos === _constants.WALL_CABINET_LAYOUTPOS && olayoutpos === _constants.BASE_CABINET_LAYOUTPOS)) {
578
576
  var tRot = _item.rotation;
579
577
  var tPos = new Three.Vector2(_item.x, _item.y);
@@ -1199,9 +1197,8 @@ var Scene3DViewer = exports["default"] = /*#__PURE__*/function (_React$Component
1199
1197
  var curLayerId = _this2.props.state.scene.selectedLayer;
1200
1198
  var curLayer = _this2.props.state.scene.getIn(['layers', curLayerId]);
1201
1199
  if (!(0, _helper.isEmpty)(evtType) && !(0, _helper.isEmpty)(evtElement)) {
1202
- var _state$get, _this2$props$onIntern, _this2$props;
1203
- var catalog = (_state$get = state.get('catalog')) === null || _state$get === void 0 ? void 0 : _state$get.toJS();
1204
- var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, curLayer, catalog, pointArray);
1200
+ var _this2$props$onIntern, _this2$props;
1201
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(evtElement, curLayer, pointArray);
1205
1202
  (_this2$props$onIntern = (_this2$props = _this2.props).onInternalEvent) === null || _this2$props$onIntern === void 0 || _this2$props$onIntern.call(_this2$props, {
1206
1203
  type: evtType,
1207
1204
  value: payload
@@ -135,6 +135,7 @@ function _handleExternalEvent() {
135
135
  (0, _handlers5.handleSetFinishing)(props, state, evt.payload);
136
136
  return _context.abrupt("continue", 31);
137
137
  case 30:
138
+ console.log('*** catalog ***', props.catalog);
138
139
  (0, _handlers10.handleSyncScene)(props, state, layer, layerId, _molding.getMoldingDataOfScene2, _skinPanelEngine.computeSkinPanels, _constants.DEFAULT_MOLDING_PIECE_LENGTH, _constants.INTERNAL_EVENT_SYNC_SCENE);
139
140
  return _context.abrupt("continue", 31);
140
141
  case 31:
@@ -15,7 +15,7 @@ function handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, c
15
15
 
16
16
  // get skin panel data
17
17
  var skinPanelExclusionSKUs = (_props$configData$ski = props === null || props === void 0 || (_props$configData2 = props.configData) === null || _props$configData2 === void 0 ? void 0 : _props$configData2.skinPanelExclusionSKUs) !== null && _props$configData$ski !== void 0 ? _props$configData$ski : [];
18
- sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs, props.catalog);
18
+ sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs);
19
19
 
20
20
  // send scene object from 3DTool to HostApp using internalEvent
21
21
  (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
@@ -843,7 +843,8 @@ function getAllItemSpecified(scene, catalog, filter) {
843
843
  rotRad: item.rotation / 180 * Math.PI
844
844
  };
845
845
  var cat = item.type ? findCatalogElement(catalog, item.type) : null;
846
- var info = cat === null || cat === void 0 ? void 0 : cat.info;
846
+ val.layoutpos = item.layoutpos;
847
+ val.is_corner = item.is_corner;
847
848
  var props = item.properties;
848
849
  var getSize = function getSize(key) {
849
850
  var _props$getIn, _props$getIn2, _props$getIn3;
@@ -856,15 +857,11 @@ function getAllItemSpecified(scene, catalog, filter) {
856
857
  depth: getSize('depth')
857
858
  };
858
859
  val.item = item;
859
- if (info) {
860
- val.layoutpos = info.layoutpos;
861
- val.is_corner = info.is_corner;
862
- }
863
860
 
864
861
  // Filter check
865
862
  if (Array.isArray(filter)) {
866
- if (info && !filter.includes(info.layoutpos)) return;
867
- } else if ((info === null || info === void 0 ? void 0 : info.layoutpos) !== filter || (0, _helper.isEmpty)(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
863
+ if (!val.layoutpos || !filter.includes(val.layoutpos)) return;
864
+ } else if (val.layoutpos !== filter || (0, _helper.isEmpty)(cat) || (cat === null || cat === void 0 ? void 0 : cat.type) === 'appliance' && ['Cook Top', 'Microwave'].includes(cat === null || cat === void 0 || (_cat$obj = cat.obj) === null || _cat$obj === void 0 ? void 0 : _cat$obj.category)) {
868
865
  return;
869
866
  }
870
867
 
@@ -11,9 +11,8 @@ exports.base64Decode = void 0;
11
11
  exports.centering2D = centering2D;
12
12
  exports.compareSVGRect = void 0;
13
13
  exports.debugUtil = debugUtil;
14
+ exports.getCatalogCabinetSku = getCatalogCabinetSku;
14
15
  exports.getSignedUrl = exports.getPathInfo = exports.getPath = void 0;
15
- exports.getSkuAliasFromCatalog = getSkuAliasFromCatalog;
16
- exports.getSkuAliasFromCatalogElement = getSkuAliasFromCatalogElement;
17
16
  exports.handleCamRect = handleCamRect;
18
17
  exports.isCeilLimitation = isCeilLimitation;
19
18
  exports.isElevationView = isElevationView;
@@ -39,6 +38,7 @@ var _math = require("./math");
39
38
  var _awsSdk = _interopRequireDefault(require("aws-sdk"));
40
39
  var _export = require("./export");
41
40
  var _geometry = require("./geometry");
41
+ var _immutable = require("../shared/objects/immutable");
42
42
  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); }
43
43
  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; }
44
44
  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; }
@@ -430,11 +430,11 @@ function centering2D(state) {
430
430
  if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
431
431
  return state;
432
432
  }
433
- function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
434
- var pointArray = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
433
+ function updatePayloadOfInternalEvent(currentObject, layer) {
434
+ var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
435
435
  if (isEmpty(currentObject)) return null;
436
436
  var updatedPayload = currentObject.toJS();
437
- if (isEmpty(layer) || isEmpty(catalog)) return updatedPayload;
437
+ if (isEmpty(layer)) return updatedPayload;
438
438
  if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
439
439
  // caculating length of selected line//
440
440
  var v_a = layer.vertices.get(currentObject.vertices.get(0));
@@ -454,7 +454,7 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
454
454
  if (pointArray) updatedPayload.distArray = pointArray;
455
455
 
456
456
  // update sku_number using sku_array
457
- updatedPayload.sku_number = getSkuAliasFromCatalog(catalog, currentObject);
457
+ updatedPayload.sku_number = getCatalogCabinetSku(currentObject);
458
458
  } else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
459
459
  var _calcDistancesFromHol = (0, _geometry.calcDistancesFromHoleToNearestOneOrWall)(currentObject, layer),
460
460
  distLeft = _calcDistancesFromHol.distLeft,
@@ -472,20 +472,9 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
472
472
  }
473
473
  return updatedPayload;
474
474
  }
475
- function getSkuAliasFromCatalog(catalog, sceneObject) {
476
- var _catalog$elements;
477
- var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
478
- var elementName = sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.name;
479
- var catalogElement = catalog === null || catalog === void 0 || (_catalog$elements = catalog.elements) === null || _catalog$elements === void 0 ? void 0 : _catalog$elements[elementName];
480
- return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
481
- }
482
- function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
483
- var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
484
- var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
485
- var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
486
- var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
487
- var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
488
- return sku.door_color_id === doorColorId;
489
- });
490
- return (_skuAlias$sku = skuAlias === null || skuAlias === void 0 ? void 0 : skuAlias.sku) !== null && _skuAlias$sku !== void 0 ? _skuAlias$sku : sceneObjectJS === null || sceneObjectJS === void 0 ? void 0 : sceneObjectJS.sku_number;
475
+ function getCatalogCabinetSku(sceneObject) {
476
+ var _sceneObjectJS$ccdf;
477
+ var sceneObjectJS = (0, _immutable.toJSIfNeeded)(sceneObject);
478
+ var ccdfSku = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$ccdf = sceneObjectJS.ccdf) === null || _sceneObjectJS$ccdf === void 0 ? void 0 : _sceneObjectJS$ccdf.catalog_cabinet_sku;
479
+ return ccdfSku;
491
480
  }
@@ -501,16 +501,12 @@ function buildSkinPanelData(faces) {
501
501
  });
502
502
  return result;
503
503
  }
504
- function shouldExcludeSkinPanel(itemJS, exclusionSet, catalog) {
505
- var _itemJS$doorStyle;
506
- var cabinetSku = (0, _helper.getSkuAliasFromCatalog)(catalog, itemJS);
507
- var doorColorSku = itemJS === null || itemJS === void 0 || (_itemJS$doorStyle = itemJS.doorStyle) === null || _itemJS$doorStyle === void 0 ? void 0 : _itemJS$doorStyle.sku;
508
- if (!cabinetSku || !doorColorSku) return false;
509
- return exclusionSet.has("".concat(cabinetSku, "-").concat(doorColorSku));
504
+ function shouldExcludeSkinPanel(itemJS, exclusionSet) {
505
+ var catalogCabinetSku = (0, _helper.getCatalogCabinetSku)(itemJS);
506
+ return exclusionSet.has(catalogCabinetSku);
510
507
  }
511
508
  function computeSkinPanels(layer) {
512
509
  var skinPanelExclusionSKUs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
513
- var catalog = arguments.length > 2 ? arguments[2] : undefined;
514
510
  var exclusionSet = new Set(skinPanelExclusionSKUs);
515
511
 
516
512
  // Get candidate skin panel items and other items
@@ -518,7 +514,7 @@ function computeSkinPanels(layer) {
518
514
  skinPanelItems = _collectLayerItems.skinPanelItems,
519
515
  otherItems = _collectLayerItems.otherItems;
520
516
  var filteredSkinPanelItems = skinPanelItems.filter(function (item) {
521
- return !shouldExcludeSkinPanel(item.toJS(), exclusionSet, catalog);
517
+ return !shouldExcludeSkinPanel(item.toJS(), exclusionSet);
522
518
  });
523
519
 
524
520
  // Get all skin face list of [skinPanelItems] & [otherItems]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "10.4.0",
3
+ "version": "10.5.0",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",