kitchen-simulator 10.6.0 → 10.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/class/item.js CHANGED
@@ -254,8 +254,7 @@ var Item = /*#__PURE__*/function () {
254
254
  var doorFinishId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
255
255
  var layerID = state.getIn(['scene', 'selectedLayer']);
256
256
  var layer = state.getIn(['scene', 'layers', layerID]);
257
- var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
258
- if (!Array.isArray(ccdf_list) || !desiredDoorFinishId) return {
257
+ if (!Array.isArray(ccdf_list)) return {
259
258
  updatedState: state
260
259
  };
261
260
 
@@ -267,9 +266,27 @@ var Item = /*#__PURE__*/function () {
267
266
  } else if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
268
267
  idSet = new Set(targetItemIDs);
269
268
  }
269
+
270
+ // If host returns an empty ccdf_list, remove persisted ccdf from affected instances.
271
+ // This keeps SYNC payload from sending stale `items[].ccdf`.
272
+ if (ccdf_list.length === 0) {
273
+ layer.items.forEach(function (it) {
274
+ var _idSet;
275
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
276
+ if (!should) return;
277
+ state = state.deleteIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf']);
278
+ });
279
+ return {
280
+ updatedState: state
281
+ };
282
+ }
283
+ var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
284
+ if (!desiredDoorFinishId) return {
285
+ updatedState: state
286
+ };
270
287
  layer.items.forEach(function (it) {
271
- var _idSet, _picked$door_finish_i;
272
- var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
288
+ var _idSet2, _picked$door_finish_i;
289
+ var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet2 = idSet) === null || _idSet2 === void 0 ? void 0 : _idSet2.has(it.id);
273
290
  if (!should) return;
274
291
 
275
292
  // Join key: scene_cabinet_id (instance id).
@@ -55,8 +55,7 @@ function _handleChangeDoorStyleEvent() {
55
55
  ccdf: item.ccdf,
56
56
  door_finish_id: (_doorStyle$id2 = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id2 !== void 0 ? _doorStyle$id2 : null,
57
57
  long_name: (_item$long_name = item === null || item === void 0 ? void 0 : item.long_name) !== null && _item$long_name !== void 0 ? _item$long_name : null,
58
- scene_cabinet_id: item.id,
59
- cabinet_id: item.cabinet_id
58
+ scene_cabinet_id: item.id
60
59
  });
61
60
  }
62
61
  case 1:
@@ -39,8 +39,7 @@ function _handleLoadProjectEvent() {
39
39
  ccdf: it.ccdf,
40
40
  door_finish_id: it.doorStyle.id,
41
41
  long_name: (_it$long_name = it === null || it === void 0 ? void 0 : it.long_name) !== null && _it$long_name !== void 0 ? _it$long_name : null,
42
- scene_cabinet_id: it.id,
43
- cabinet_id: it.cabinet_id
42
+ scene_cabinet_id: it.id
44
43
  });
45
44
  }
46
45
  });
@@ -70,7 +69,16 @@ function _handleLoadProjectEvent() {
70
69
  // IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
71
70
  // Use request payload (`ccdf_list[].door_finish_id`) / scene doorStyle.id as door_finish_id source.
72
71
  try {
73
- resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [];
72
+ resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : []; // When host returns an empty list, clear any persisted ccdf from the loaded payload
73
+ // to avoid keeping stale `items[].ccdf` around.
74
+ if (Array.isArray(resp) && resp.length === 0) {
75
+ Object.keys(items).forEach(function (k) {
76
+ var it = items[k];
77
+ if (it && Object.prototype.hasOwnProperty.call(it, 'ccdf')) {
78
+ delete it.ccdf;
79
+ }
80
+ });
81
+ }
74
82
  Object.keys(items).forEach(function (k) {
75
83
  var _it$doorStyle$id, _it$doorStyle;
76
84
  var it = items[k];
@@ -447,5 +447,5 @@ export function getCatalogCabinetSku(sceneObject) {
447
447
  var _sceneObjectJS$ccdf;
448
448
  var sceneObjectJS = toJSIfNeeded(sceneObject);
449
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;
450
+ return ccdfSku !== null && ccdfSku !== void 0 ? ccdfSku : '';
451
451
  }
package/lib/class/item.js CHANGED
@@ -261,8 +261,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
261
261
  var doorFinishId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
262
262
  var layerID = state.getIn(['scene', 'selectedLayer']);
263
263
  var layer = state.getIn(['scene', 'layers', layerID]);
264
- var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
265
- if (!Array.isArray(ccdf_list) || !desiredDoorFinishId) return {
264
+ if (!Array.isArray(ccdf_list)) return {
266
265
  updatedState: state
267
266
  };
268
267
 
@@ -274,9 +273,27 @@ var Item = exports["default"] = /*#__PURE__*/function () {
274
273
  } else if (applyScope === _constants.DOORSTYLE_SCOPE_MULTIPLE) {
275
274
  idSet = new Set(targetItemIDs);
276
275
  }
276
+
277
+ // If host returns an empty ccdf_list, remove persisted ccdf from affected instances.
278
+ // This keeps SYNC payload from sending stale `items[].ccdf`.
279
+ if (ccdf_list.length === 0) {
280
+ layer.items.forEach(function (it) {
281
+ var _idSet;
282
+ var should = applyScope === _constants.DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
283
+ if (!should) return;
284
+ state = state.deleteIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf']);
285
+ });
286
+ return {
287
+ updatedState: state
288
+ };
289
+ }
290
+ var desiredDoorFinishId = doorFinishId !== null && doorFinishId !== void 0 ? doorFinishId : this.__getDesiredDoorFinishId(layer);
291
+ if (!desiredDoorFinishId) return {
292
+ updatedState: state
293
+ };
277
294
  layer.items.forEach(function (it) {
278
- var _idSet, _picked$door_finish_i;
279
- var should = applyScope === _constants.DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
295
+ var _idSet2, _picked$door_finish_i;
296
+ var should = applyScope === _constants.DOORSTYLE_SCOPE_ALL ? true : (_idSet2 = idSet) === null || _idSet2 === void 0 ? void 0 : _idSet2.has(it.id);
280
297
  if (!should) return;
281
298
 
282
299
  // Join key: scene_cabinet_id (instance id).
@@ -62,8 +62,7 @@ function _handleChangeDoorStyleEvent() {
62
62
  ccdf: item.ccdf,
63
63
  door_finish_id: (_doorStyle$id2 = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id2 !== void 0 ? _doorStyle$id2 : null,
64
64
  long_name: (_item$long_name = item === null || item === void 0 ? void 0 : item.long_name) !== null && _item$long_name !== void 0 ? _item$long_name : null,
65
- scene_cabinet_id: item.id,
66
- cabinet_id: item.cabinet_id
65
+ scene_cabinet_id: item.id
67
66
  });
68
67
  }
69
68
  case 1:
@@ -46,8 +46,7 @@ function _handleLoadProjectEvent() {
46
46
  ccdf: it.ccdf,
47
47
  door_finish_id: it.doorStyle.id,
48
48
  long_name: (_it$long_name = it === null || it === void 0 ? void 0 : it.long_name) !== null && _it$long_name !== void 0 ? _it$long_name : null,
49
- scene_cabinet_id: it.id,
50
- cabinet_id: it.cabinet_id
49
+ scene_cabinet_id: it.id
51
50
  });
52
51
  }
53
52
  });
@@ -77,7 +76,16 @@ function _handleLoadProjectEvent() {
77
76
  // IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
78
77
  // Use request payload (`ccdf_list[].door_finish_id`) / scene doorStyle.id as door_finish_id source.
79
78
  try {
80
- resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [];
79
+ resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : []; // When host returns an empty list, clear any persisted ccdf from the loaded payload
80
+ // to avoid keeping stale `items[].ccdf` around.
81
+ if (Array.isArray(resp) && resp.length === 0) {
82
+ Object.keys(items).forEach(function (k) {
83
+ var it = items[k];
84
+ if (it && Object.prototype.hasOwnProperty.call(it, 'ccdf')) {
85
+ delete it.ccdf;
86
+ }
87
+ });
88
+ }
81
89
  Object.keys(items).forEach(function (k) {
82
90
  var _it$doorStyle$id, _it$doorStyle;
83
91
  var it = items[k];
@@ -476,5 +476,5 @@ function getCatalogCabinetSku(sceneObject) {
476
476
  var _sceneObjectJS$ccdf;
477
477
  var sceneObjectJS = (0, _immutable.toJSIfNeeded)(sceneObject);
478
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;
479
+ return ccdfSku !== null && ccdfSku !== void 0 ? ccdfSku : '';
480
480
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "10.6.0",
3
+ "version": "10.7.0",
4
4
  "description": "It is a kitchen simulator (self-contained micro-frontend).",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",