kitchen-simulator 10.1.0 → 10.2.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 +4 -7
- package/es/devLiteRenderer.js +32 -6
- package/es/events/external/handlers.changeDoorStyle.js +10 -7
- package/es/events/external/handlers.loadProject.js +18 -16
- package/es/mappings/external-events/mappers/ccdfMapper.js +3 -4
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +2 -5
- package/lib/class/item.js +4 -7
- package/lib/devLiteRenderer.js +32 -6
- package/lib/events/external/handlers.changeDoorStyle.js +10 -7
- package/lib/events/external/handlers.loadProject.js +18 -16
- package/lib/mappings/external-events/mappers/ccdfMapper.js +3 -4
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +2 -5
- package/package.json +1 -1
- package/es/shared/domain/cabinet-identity.js +0 -6
- package/lib/shared/domain/cabinet-identity.js +0 -12
package/es/class/item.js
CHANGED
|
@@ -15,7 +15,6 @@ import { hasMoldingLayout } from "../utils/molding";
|
|
|
15
15
|
import { getInstallationSuffix, isEmpty } from "../components/viewer2d/utils";
|
|
16
16
|
import { historyPush } from "../utils/history";
|
|
17
17
|
import { toJSIfNeeded } from "../shared/objects/immutable";
|
|
18
|
-
import { normalizeLongName } from "../shared/domain/cabinet-identity";
|
|
19
18
|
var allItemRect;
|
|
20
19
|
var allItemSnap;
|
|
21
20
|
var allLines;
|
|
@@ -269,15 +268,13 @@ var Item = /*#__PURE__*/function () {
|
|
|
269
268
|
idSet = new Set(targetItemIDs);
|
|
270
269
|
}
|
|
271
270
|
layer.items.forEach(function (it) {
|
|
272
|
-
var _idSet,
|
|
271
|
+
var _idSet, _picked$door_finish_i;
|
|
273
272
|
var should = applyScope === DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
|
|
274
273
|
if (!should) return;
|
|
275
274
|
|
|
276
|
-
//
|
|
277
|
-
var picked =
|
|
278
|
-
return (c === null || c === void 0 ? void 0 : c.
|
|
279
|
-
})) !== null && _ccdf_list$find !== void 0 ? _ccdf_list$find : ccdf_list.find(function (c) {
|
|
280
|
-
return (c === null || c === void 0 ? void 0 : c.cabinet_id) === it.itemID;
|
|
275
|
+
// Join key: scene_cabinet_id (instance id).
|
|
276
|
+
var picked = ccdf_list.find(function (c) {
|
|
277
|
+
return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
|
|
281
278
|
});
|
|
282
279
|
if (!picked) return;
|
|
283
280
|
state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf'], _objectSpread(_objectSpread({}, picked), {}, {
|
package/es/devLiteRenderer.js
CHANGED
|
@@ -4,12 +4,14 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
4
4
|
import React, { useState, useEffect } from 'react';
|
|
5
5
|
import { Map } from 'immutable';
|
|
6
6
|
import ContainerDimensions from 'react-container-dimensions';
|
|
7
|
-
import
|
|
7
|
+
import ccdfPayload1 from "./mocks/get_ccdf_of_b12_brilliant.json";
|
|
8
|
+
import ccdfPayload2 from "./mocks/get_ccdf_of_b12_cambridge.json";
|
|
8
9
|
import configData from "./mocks/configData.json";
|
|
9
10
|
import projectJson from "./mocks/project.json";
|
|
10
11
|
import cabinetPaylod from "./mocks/cabinetPayload.json";
|
|
11
12
|
import appliancePaylod from "./mocks/appliancePayload.json";
|
|
12
|
-
import
|
|
13
|
+
import doorStylePayload_brilliant from "./mocks/doorStylePayload_brilliant.json";
|
|
14
|
+
import doorStylePayload_cambridge from "./mocks/doorStylePayload_cambridge.json";
|
|
13
15
|
import roomShapePayload from "./mocks/roomShapePayload.json";
|
|
14
16
|
import lightingPayload from "./mocks/lightingPayload.json";
|
|
15
17
|
import furnishingPayload from "./mocks/furnishingPayload.json";
|
|
@@ -27,6 +29,7 @@ var options = {
|
|
|
27
29
|
unit: 'in',
|
|
28
30
|
enable3D: true
|
|
29
31
|
};
|
|
32
|
+
var test_num = 0;
|
|
30
33
|
var onInternalEvent = /*#__PURE__*/function () {
|
|
31
34
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(evt, callback) {
|
|
32
35
|
var _t;
|
|
@@ -38,8 +41,9 @@ var onInternalEvent = /*#__PURE__*/function () {
|
|
|
38
41
|
_context.next = _t === INTERNAL_EVENT_ITEMS_CATALOG ? 1 : 3;
|
|
39
42
|
break;
|
|
40
43
|
case 1:
|
|
44
|
+
console.log("Use ".concat(test_num % 2 === 1 ? 'Brilliant' : 'Cambridge'));
|
|
41
45
|
_context.next = 2;
|
|
42
|
-
return callback(
|
|
46
|
+
return callback(test_num % 2 === 1 ? ccdfPayload1 : ccdfPayload2);
|
|
43
47
|
case 2:
|
|
44
48
|
return _context.abrupt("continue", 3);
|
|
45
49
|
case 3:
|
|
@@ -217,18 +221,40 @@ function WorkSpace(props) {
|
|
|
217
221
|
setExternalEvent(evt);
|
|
218
222
|
}
|
|
219
223
|
}, "Add B12 Cabinet"), /*#__PURE__*/React.createElement(Button, {
|
|
224
|
+
actionType: "danger",
|
|
225
|
+
onClick: function onClick() {
|
|
226
|
+
test_num = 1;
|
|
227
|
+
}
|
|
228
|
+
}, "Use Brilliant for ITEMS_CATALOG"), /*#__PURE__*/React.createElement(Button, {
|
|
229
|
+
actionType: "danger",
|
|
230
|
+
onClick: function onClick() {
|
|
231
|
+
var evt = {
|
|
232
|
+
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
233
|
+
payload: {
|
|
234
|
+
doorStyle: doorStylePayload_brilliant === null || doorStylePayload_brilliant === void 0 ? void 0 : doorStylePayload_brilliant.doorStyle,
|
|
235
|
+
applyScope: doorStylePayload_brilliant === null || doorStylePayload_brilliant === void 0 ? void 0 : doorStylePayload_brilliant.applyScope
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
setExternalEvent(evt);
|
|
239
|
+
}
|
|
240
|
+
}, "DoorStyle Change(Brilliant)"), /*#__PURE__*/React.createElement(Button, {
|
|
241
|
+
actionType: "danger",
|
|
242
|
+
onClick: function onClick() {
|
|
243
|
+
test_num = 2;
|
|
244
|
+
}
|
|
245
|
+
}, "Use Cambridge for ITEMS_CATALOG"), /*#__PURE__*/React.createElement(Button, {
|
|
220
246
|
actionType: "danger",
|
|
221
247
|
onClick: function onClick() {
|
|
222
248
|
var evt = {
|
|
223
249
|
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
224
250
|
payload: {
|
|
225
|
-
doorStyle:
|
|
226
|
-
applyScope:
|
|
251
|
+
doorStyle: doorStylePayload_cambridge === null || doorStylePayload_cambridge === void 0 ? void 0 : doorStylePayload_cambridge.doorStyle,
|
|
252
|
+
applyScope: doorStylePayload_cambridge === null || doorStylePayload_cambridge === void 0 ? void 0 : doorStylePayload_cambridge.applyScope
|
|
227
253
|
}
|
|
228
254
|
};
|
|
229
255
|
setExternalEvent(evt);
|
|
230
256
|
}
|
|
231
|
-
}, "DoorStyle Change(
|
|
257
|
+
}, "DoorStyle Change(Cambriage)"), /*#__PURE__*/React.createElement(Button, {
|
|
232
258
|
actionType: "danger",
|
|
233
259
|
onClick: function onClick() {
|
|
234
260
|
var evt = {
|
|
@@ -40,19 +40,22 @@ function _handleChangeDoorStyleEvent() {
|
|
|
40
40
|
case 4:
|
|
41
41
|
ccdf_list = [];
|
|
42
42
|
_loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
|
|
43
|
-
var item;
|
|
43
|
+
var item, _doorStyle$id2, _item$long_name;
|
|
44
44
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
45
45
|
while (1) switch (_context2.prev = _context2.next) {
|
|
46
46
|
case 0:
|
|
47
47
|
item = targetItems[i];
|
|
48
48
|
if (!ccdf_list.some(function (v) {
|
|
49
|
-
return
|
|
49
|
+
return v.scene_cabinet_id === item.id;
|
|
50
50
|
})) {
|
|
51
51
|
ccdf_list.push({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
ccdf: item.ccdf
|
|
52
|
+
cabinet_sku: item.type,
|
|
53
|
+
sizeinfo: item.sizeinfo,
|
|
54
|
+
catalog_cabinet_sku: item.sku_number,
|
|
55
|
+
ccdf: item.ccdf,
|
|
56
|
+
door_finish_id: (_doorStyle$id2 = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id2 !== void 0 ? _doorStyle$id2 : null,
|
|
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
|
|
56
59
|
});
|
|
57
60
|
}
|
|
58
61
|
case 1:
|
|
@@ -109,7 +112,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
109
112
|
case 3:
|
|
110
113
|
// Persist ccdf on affected instances so SYNC includes the latest ccdf.id for each item.
|
|
111
114
|
// IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
|
|
112
|
-
// Use request
|
|
115
|
+
// Use request door_finish_id (doorStyle.id) as the source of truth for door_finish_id.
|
|
113
116
|
props.itemsActions.setItemsCCDF((_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [], applyScope, itemIds, (_doorStyle$id = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id !== void 0 ? _doorStyle$id : null);
|
|
114
117
|
props.itemsActions.setDoorStyle(doorStyle, itemCDS, applyScope, itemIds);
|
|
115
118
|
case 4:
|
|
@@ -6,7 +6,6 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
6
6
|
import { convert } from "../../utils/convert-units-lite";
|
|
7
7
|
import { INTERNAL_EVENT_ITEMS_CATALOG } from "../../constants";
|
|
8
8
|
import { Scene, State } from "../../models";
|
|
9
|
-
import { normalizeLongName } from "../../shared/domain/cabinet-identity";
|
|
10
9
|
export function handleLoadProjectEvent(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8) {
|
|
11
10
|
return _handleLoadProjectEvent.apply(this, arguments);
|
|
12
11
|
}
|
|
@@ -30,14 +29,19 @@ function _handleLoadProjectEvent() {
|
|
|
30
29
|
}
|
|
31
30
|
/////////
|
|
32
31
|
if (!ccdf_list.some(function (v) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
return v.scene_cabinet_id === it.id;
|
|
33
|
+
})) {
|
|
34
|
+
var _it$long_name;
|
|
35
|
+
ccdf_list.push({
|
|
36
|
+
cabinet_sku: it.type,
|
|
37
|
+
sizeinfo: it.sizeinfo,
|
|
38
|
+
catalog_cabinet_sku: it.sku_number,
|
|
39
|
+
ccdf: it.ccdf,
|
|
40
|
+
door_finish_id: door_finish_id,
|
|
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: scene_cabinet_id
|
|
43
|
+
});
|
|
44
|
+
}
|
|
41
45
|
});
|
|
42
46
|
newScene = new Scene(evt === null || evt === void 0 ? void 0 : evt.payload);
|
|
43
47
|
tempState = new State({
|
|
@@ -63,18 +67,16 @@ function _handleLoadProjectEvent() {
|
|
|
63
67
|
// Attach matched ccdf to each scene instance before loading into state,
|
|
64
68
|
// so SYNC payload includes `scene.layers[].items[].ccdf.id`.
|
|
65
69
|
// IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
|
|
66
|
-
// Use request payload (`ccdf_list[].
|
|
70
|
+
// Use request payload (`ccdf_list[].door_finish_id`) / scene doorStyle.id as door_finish_id source.
|
|
67
71
|
try {
|
|
68
72
|
resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [];
|
|
69
73
|
Object.keys(items).forEach(function (k) {
|
|
70
|
-
var _it$doorStyle$id, _it$
|
|
74
|
+
var _it$doorStyle$id, _it$doorStyle;
|
|
71
75
|
var it = items[k];
|
|
72
|
-
var desiredDoorFinishId = (_it$doorStyle$id = it === null || it === void 0 || (_it$
|
|
76
|
+
var desiredDoorFinishId = (_it$doorStyle$id = it === null || it === void 0 || (_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.id) !== null && _it$doorStyle$id !== void 0 ? _it$doorStyle$id : null;
|
|
73
77
|
if (!desiredDoorFinishId) return;
|
|
74
|
-
var picked =
|
|
75
|
-
return (c === null || c === void 0 ? void 0 : c.
|
|
76
|
-
})) !== null && _resp$find !== void 0 ? _resp$find : resp.find(function (c) {
|
|
77
|
-
return (c === null || c === void 0 ? void 0 : c.cabinet_id) === it.itemID;
|
|
78
|
+
var picked = resp.find(function (c) {
|
|
79
|
+
return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
|
|
78
80
|
});
|
|
79
81
|
if (picked) {
|
|
80
82
|
var _picked$door_finish_i;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
2
|
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
3
3
|
import { toJSIfNeeded } from "../../../shared/objects/immutable";
|
|
4
|
-
import { normalizeLongName } from "../../../shared/domain/cabinet-identity";
|
|
5
4
|
export function ccdfMapper(ccdf_list, layer) {
|
|
6
5
|
// This function make cabinet definition using ccdf, layer's item information and catalog
|
|
7
6
|
// console.log(ccdf_list, catalog);
|
|
@@ -22,11 +21,11 @@ export function ccdfMapper(ccdf_list, layer) {
|
|
|
22
21
|
var correctItemId = '';
|
|
23
22
|
for (var i = 0; i < itemKeys.length; i++) {
|
|
24
23
|
var it = layerJS.items[itemKeys[i]];
|
|
25
|
-
//
|
|
26
|
-
if (
|
|
24
|
+
// Join key: scene_cabinet_id (instance id).
|
|
25
|
+
if (!!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (it === null || it === void 0 ? void 0 : it.id) === ccdf.scene_cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
27
26
|
}
|
|
28
27
|
var cd = layerJS.items[correctItemId];
|
|
29
|
-
if (cd && (
|
|
28
|
+
if (cd && !!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (cd === null || cd === void 0 ? void 0 : cd.id) === ccdf.scene_cabinet_id) {
|
|
30
29
|
if (!isEmpty(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
31
30
|
cdfId = ccdf.id;
|
|
32
31
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
2
|
-
import { normalizeLongName } from "../../../shared/domain/cabinet-identity";
|
|
3
2
|
export function mapFromCCDFToCDS(ccdf_list) {
|
|
4
3
|
var sceneItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
5
4
|
// This function make CDS from CCDF_List
|
|
@@ -33,11 +32,9 @@ export function mapFromCCDFToCDS(ccdf_list) {
|
|
|
33
32
|
// Prefer stable join key: long_name -> scene item's itemID.
|
|
34
33
|
// Fall back to host cabinet_id for backward compatibility.
|
|
35
34
|
var resolvedItemID = asItem === null || asItem === void 0 ? void 0 : asItem.cabinet_id;
|
|
36
|
-
|
|
37
|
-
if (itemsArray && !isEmpty(ln)) {
|
|
38
|
-
var nl = normalizeLongName(ln);
|
|
35
|
+
if (itemsArray) {
|
|
39
36
|
var match = itemsArray.find(function (it) {
|
|
40
|
-
return
|
|
37
|
+
return it.id === asItem.scene_cabinet_id;
|
|
41
38
|
});
|
|
42
39
|
if (match !== null && match !== void 0 && match.itemID) resolvedItemID = match.itemID;
|
|
43
40
|
}
|
package/lib/class/item.js
CHANGED
|
@@ -20,7 +20,6 @@ var _molding = require("../utils/molding");
|
|
|
20
20
|
var _utils = require("../components/viewer2d/utils");
|
|
21
21
|
var _history = require("../utils/history");
|
|
22
22
|
var _immutable2 = require("../shared/objects/immutable");
|
|
23
|
-
var _cabinetIdentity = require("../shared/domain/cabinet-identity");
|
|
24
23
|
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; }
|
|
25
24
|
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; }
|
|
26
25
|
var allItemRect;
|
|
@@ -276,15 +275,13 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
276
275
|
idSet = new Set(targetItemIDs);
|
|
277
276
|
}
|
|
278
277
|
layer.items.forEach(function (it) {
|
|
279
|
-
var _idSet,
|
|
278
|
+
var _idSet, _picked$door_finish_i;
|
|
280
279
|
var should = applyScope === _constants.DOORSTYLE_SCOPE_ALL ? true : (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(it.id);
|
|
281
280
|
if (!should) return;
|
|
282
281
|
|
|
283
|
-
//
|
|
284
|
-
var picked =
|
|
285
|
-
return (c === null || c === void 0 ? void 0 : c.
|
|
286
|
-
})) !== null && _ccdf_list$find !== void 0 ? _ccdf_list$find : ccdf_list.find(function (c) {
|
|
287
|
-
return (c === null || c === void 0 ? void 0 : c.cabinet_id) === it.itemID;
|
|
282
|
+
// Join key: scene_cabinet_id (instance id).
|
|
283
|
+
var picked = ccdf_list.find(function (c) {
|
|
284
|
+
return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
|
|
288
285
|
});
|
|
289
286
|
if (!picked) return;
|
|
290
287
|
state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'ccdf'], _objectSpread(_objectSpread({}, picked), {}, {
|
package/lib/devLiteRenderer.js
CHANGED
|
@@ -8,12 +8,14 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _immutable = require("immutable");
|
|
10
10
|
var _reactContainerDimensions = _interopRequireDefault(require("react-container-dimensions"));
|
|
11
|
-
var
|
|
11
|
+
var _get_ccdf_of_b12_brilliant = _interopRequireDefault(require("./mocks/get_ccdf_of_b12_brilliant.json"));
|
|
12
|
+
var _get_ccdf_of_b12_cambridge = _interopRequireDefault(require("./mocks/get_ccdf_of_b12_cambridge.json"));
|
|
12
13
|
var _configData = _interopRequireDefault(require("./mocks/configData.json"));
|
|
13
14
|
var _project = _interopRequireDefault(require("./mocks/project.json"));
|
|
14
15
|
var _cabinetPayload = _interopRequireDefault(require("./mocks/cabinetPayload.json"));
|
|
15
16
|
var _appliancePayload = _interopRequireDefault(require("./mocks/appliancePayload.json"));
|
|
16
|
-
var
|
|
17
|
+
var _doorStylePayload_brilliant = _interopRequireDefault(require("./mocks/doorStylePayload_brilliant.json"));
|
|
18
|
+
var _doorStylePayload_cambridge = _interopRequireDefault(require("./mocks/doorStylePayload_cambridge.json"));
|
|
17
19
|
var _roomShapePayload = _interopRequireDefault(require("./mocks/roomShapePayload.json"));
|
|
18
20
|
var _lightingPayload = _interopRequireDefault(require("./mocks/lightingPayload.json"));
|
|
19
21
|
var _furnishingPayload = _interopRequireDefault(require("./mocks/furnishingPayload.json"));
|
|
@@ -31,6 +33,7 @@ var options = {
|
|
|
31
33
|
unit: 'in',
|
|
32
34
|
enable3D: true
|
|
33
35
|
};
|
|
36
|
+
var test_num = 0;
|
|
34
37
|
var onInternalEvent = /*#__PURE__*/function () {
|
|
35
38
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(evt, callback) {
|
|
36
39
|
var _t;
|
|
@@ -42,8 +45,9 @@ var onInternalEvent = /*#__PURE__*/function () {
|
|
|
42
45
|
_context.next = _t === _constants.INTERNAL_EVENT_ITEMS_CATALOG ? 1 : 3;
|
|
43
46
|
break;
|
|
44
47
|
case 1:
|
|
48
|
+
console.log("Use ".concat(test_num % 2 === 1 ? 'Brilliant' : 'Cambridge'));
|
|
45
49
|
_context.next = 2;
|
|
46
|
-
return callback(
|
|
50
|
+
return callback(test_num % 2 === 1 ? _get_ccdf_of_b12_brilliant["default"] : _get_ccdf_of_b12_cambridge["default"]);
|
|
47
51
|
case 2:
|
|
48
52
|
return _context.abrupt("continue", 3);
|
|
49
53
|
case 3:
|
|
@@ -221,18 +225,40 @@ function WorkSpace(props) {
|
|
|
221
225
|
setExternalEvent(evt);
|
|
222
226
|
}
|
|
223
227
|
}, "Add B12 Cabinet"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
228
|
+
actionType: "danger",
|
|
229
|
+
onClick: function onClick() {
|
|
230
|
+
test_num = 1;
|
|
231
|
+
}
|
|
232
|
+
}, "Use Brilliant for ITEMS_CATALOG"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
233
|
+
actionType: "danger",
|
|
234
|
+
onClick: function onClick() {
|
|
235
|
+
var evt = {
|
|
236
|
+
type: _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
237
|
+
payload: {
|
|
238
|
+
doorStyle: _doorStylePayload_brilliant["default"] === null || _doorStylePayload_brilliant["default"] === void 0 ? void 0 : _doorStylePayload_brilliant["default"].doorStyle,
|
|
239
|
+
applyScope: _doorStylePayload_brilliant["default"] === null || _doorStylePayload_brilliant["default"] === void 0 ? void 0 : _doorStylePayload_brilliant["default"].applyScope
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
setExternalEvent(evt);
|
|
243
|
+
}
|
|
244
|
+
}, "DoorStyle Change(Brilliant)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
245
|
+
actionType: "danger",
|
|
246
|
+
onClick: function onClick() {
|
|
247
|
+
test_num = 2;
|
|
248
|
+
}
|
|
249
|
+
}, "Use Cambridge for ITEMS_CATALOG"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
224
250
|
actionType: "danger",
|
|
225
251
|
onClick: function onClick() {
|
|
226
252
|
var evt = {
|
|
227
253
|
type: _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
228
254
|
payload: {
|
|
229
|
-
doorStyle:
|
|
230
|
-
applyScope:
|
|
255
|
+
doorStyle: _doorStylePayload_cambridge["default"] === null || _doorStylePayload_cambridge["default"] === void 0 ? void 0 : _doorStylePayload_cambridge["default"].doorStyle,
|
|
256
|
+
applyScope: _doorStylePayload_cambridge["default"] === null || _doorStylePayload_cambridge["default"] === void 0 ? void 0 : _doorStylePayload_cambridge["default"].applyScope
|
|
231
257
|
}
|
|
232
258
|
};
|
|
233
259
|
setExternalEvent(evt);
|
|
234
260
|
}
|
|
235
|
-
}, "DoorStyle Change(
|
|
261
|
+
}, "DoorStyle Change(Cambriage)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
236
262
|
actionType: "danger",
|
|
237
263
|
onClick: function onClick() {
|
|
238
264
|
var evt = {
|
|
@@ -47,19 +47,22 @@ function _handleChangeDoorStyleEvent() {
|
|
|
47
47
|
case 4:
|
|
48
48
|
ccdf_list = [];
|
|
49
49
|
_loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
|
|
50
|
-
var item;
|
|
50
|
+
var item, _doorStyle$id2, _item$long_name;
|
|
51
51
|
return _regenerator["default"].wrap(function (_context2) {
|
|
52
52
|
while (1) switch (_context2.prev = _context2.next) {
|
|
53
53
|
case 0:
|
|
54
54
|
item = targetItems[i];
|
|
55
55
|
if (!ccdf_list.some(function (v) {
|
|
56
|
-
return
|
|
56
|
+
return v.scene_cabinet_id === item.id;
|
|
57
57
|
})) {
|
|
58
58
|
ccdf_list.push({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
ccdf: item.ccdf
|
|
59
|
+
cabinet_sku: item.type,
|
|
60
|
+
sizeinfo: item.sizeinfo,
|
|
61
|
+
catalog_cabinet_sku: item.sku_number,
|
|
62
|
+
ccdf: item.ccdf,
|
|
63
|
+
door_finish_id: (_doorStyle$id2 = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id2 !== void 0 ? _doorStyle$id2 : null,
|
|
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
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
case 1:
|
|
@@ -116,7 +119,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
116
119
|
case 3:
|
|
117
120
|
// Persist ccdf on affected instances so SYNC includes the latest ccdf.id for each item.
|
|
118
121
|
// IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
|
|
119
|
-
// Use request
|
|
122
|
+
// Use request door_finish_id (doorStyle.id) as the source of truth for door_finish_id.
|
|
120
123
|
props.itemsActions.setItemsCCDF((_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [], applyScope, itemIds, (_doorStyle$id = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id !== void 0 ? _doorStyle$id : null);
|
|
121
124
|
props.itemsActions.setDoorStyle(doorStyle, itemCDS, applyScope, itemIds);
|
|
122
125
|
case 4:
|
|
@@ -11,7 +11,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
12
12
|
var _constants = require("../../constants");
|
|
13
13
|
var _models = require("../../models");
|
|
14
|
-
var _cabinetIdentity = require("../../shared/domain/cabinet-identity");
|
|
15
14
|
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; }
|
|
16
15
|
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; }
|
|
17
16
|
function handleLoadProjectEvent(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8) {
|
|
@@ -37,14 +36,19 @@ function _handleLoadProjectEvent() {
|
|
|
37
36
|
}
|
|
38
37
|
/////////
|
|
39
38
|
if (!ccdf_list.some(function (v) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
return v.scene_cabinet_id === it.id;
|
|
40
|
+
})) {
|
|
41
|
+
var _it$long_name;
|
|
42
|
+
ccdf_list.push({
|
|
43
|
+
cabinet_sku: it.type,
|
|
44
|
+
sizeinfo: it.sizeinfo,
|
|
45
|
+
catalog_cabinet_sku: it.sku_number,
|
|
46
|
+
ccdf: it.ccdf,
|
|
47
|
+
door_finish_id: door_finish_id,
|
|
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: scene_cabinet_id
|
|
50
|
+
});
|
|
51
|
+
}
|
|
48
52
|
});
|
|
49
53
|
newScene = new _models.Scene(evt === null || evt === void 0 ? void 0 : evt.payload);
|
|
50
54
|
tempState = new _models.State({
|
|
@@ -70,18 +74,16 @@ function _handleLoadProjectEvent() {
|
|
|
70
74
|
// Attach matched ccdf to each scene instance before loading into state,
|
|
71
75
|
// so SYNC payload includes `scene.layers[].items[].ccdf.id`.
|
|
72
76
|
// IMPORTANT: host response `ccdf_list[]` may not include `door_finish_id`.
|
|
73
|
-
// Use request payload (`ccdf_list[].
|
|
77
|
+
// Use request payload (`ccdf_list[].door_finish_id`) / scene doorStyle.id as door_finish_id source.
|
|
74
78
|
try {
|
|
75
79
|
resp = (_result$ccdf_list = result === null || result === void 0 ? void 0 : result.ccdf_list) !== null && _result$ccdf_list !== void 0 ? _result$ccdf_list : [];
|
|
76
80
|
Object.keys(items).forEach(function (k) {
|
|
77
|
-
var _it$doorStyle$id, _it$
|
|
81
|
+
var _it$doorStyle$id, _it$doorStyle;
|
|
78
82
|
var it = items[k];
|
|
79
|
-
var desiredDoorFinishId = (_it$doorStyle$id = it === null || it === void 0 || (_it$
|
|
83
|
+
var desiredDoorFinishId = (_it$doorStyle$id = it === null || it === void 0 || (_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.id) !== null && _it$doorStyle$id !== void 0 ? _it$doorStyle$id : null;
|
|
80
84
|
if (!desiredDoorFinishId) return;
|
|
81
|
-
var picked =
|
|
82
|
-
return (c === null || c === void 0 ? void 0 : c.
|
|
83
|
-
})) !== null && _resp$find !== void 0 ? _resp$find : resp.find(function (c) {
|
|
84
|
-
return (c === null || c === void 0 ? void 0 : c.cabinet_id) === it.itemID;
|
|
85
|
+
var picked = resp.find(function (c) {
|
|
86
|
+
return (c === null || c === void 0 ? void 0 : c.scene_cabinet_id) && c.scene_cabinet_id === it.id;
|
|
85
87
|
});
|
|
86
88
|
if (picked) {
|
|
87
89
|
var _picked$door_finish_i;
|
|
@@ -8,7 +8,6 @@ exports.ccdfMapper = ccdfMapper;
|
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _utils = require("../../../components/viewer2d/utils");
|
|
10
10
|
var _immutable = require("../../../shared/objects/immutable");
|
|
11
|
-
var _cabinetIdentity = require("../../../shared/domain/cabinet-identity");
|
|
12
11
|
function ccdfMapper(ccdf_list, layer) {
|
|
13
12
|
// This function make cabinet definition using ccdf, layer's item information and catalog
|
|
14
13
|
// console.log(ccdf_list, catalog);
|
|
@@ -29,11 +28,11 @@ function ccdfMapper(ccdf_list, layer) {
|
|
|
29
28
|
var correctItemId = '';
|
|
30
29
|
for (var i = 0; i < itemKeys.length; i++) {
|
|
31
30
|
var it = layerJS.items[itemKeys[i]];
|
|
32
|
-
//
|
|
33
|
-
if (
|
|
31
|
+
// Join key: scene_cabinet_id (instance id).
|
|
32
|
+
if (!!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (it === null || it === void 0 ? void 0 : it.id) === ccdf.scene_cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
34
33
|
}
|
|
35
34
|
var cd = layerJS.items[correctItemId];
|
|
36
|
-
if (cd && (
|
|
35
|
+
if (cd && !!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (cd === null || cd === void 0 ? void 0 : cd.id) === ccdf.scene_cabinet_id) {
|
|
37
36
|
if (!(0, _utils.isEmpty)(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
38
37
|
cdfId = ccdf.id;
|
|
39
38
|
}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mapFromCCDFToCDS = mapFromCCDFToCDS;
|
|
7
7
|
var _utils = require("../../../components/viewer2d/utils");
|
|
8
|
-
var _cabinetIdentity = require("../../../shared/domain/cabinet-identity");
|
|
9
8
|
function mapFromCCDFToCDS(ccdf_list) {
|
|
10
9
|
var sceneItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
11
10
|
// This function make CDS from CCDF_List
|
|
@@ -39,11 +38,9 @@ function mapFromCCDFToCDS(ccdf_list) {
|
|
|
39
38
|
// Prefer stable join key: long_name -> scene item's itemID.
|
|
40
39
|
// Fall back to host cabinet_id for backward compatibility.
|
|
41
40
|
var resolvedItemID = asItem === null || asItem === void 0 ? void 0 : asItem.cabinet_id;
|
|
42
|
-
|
|
43
|
-
if (itemsArray && !(0, _utils.isEmpty)(ln)) {
|
|
44
|
-
var nl = (0, _cabinetIdentity.normalizeLongName)(ln);
|
|
41
|
+
if (itemsArray) {
|
|
45
42
|
var match = itemsArray.find(function (it) {
|
|
46
|
-
return
|
|
43
|
+
return it.id === asItem.scene_cabinet_id;
|
|
47
44
|
});
|
|
48
45
|
if (match !== null && match !== void 0 && match.itemID) resolvedItemID = match.itemID;
|
|
49
46
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
// Domain utilities for identifying cabinets across backend responses and scene state.
|
|
2
|
-
// We normalize `long_name` because it is the stable identity across door-style changes.
|
|
3
|
-
|
|
4
|
-
export function normalizeLongName(value) {
|
|
5
|
-
return (value !== null && value !== void 0 ? value : '').toString().trim().toLowerCase();
|
|
6
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.normalizeLongName = normalizeLongName;
|
|
7
|
-
// Domain utilities for identifying cabinets across backend responses and scene state.
|
|
8
|
-
// We normalize `long_name` because it is the stable identity across door-style changes.
|
|
9
|
-
|
|
10
|
-
function normalizeLongName(value) {
|
|
11
|
-
return (value !== null && value !== void 0 ? value : '').toString().trim().toLowerCase();
|
|
12
|
-
}
|