kitchen-simulator 11.0.0-react-18 → 11.0.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/LiteKitchenConfigurator.js +42 -11
- package/es/LiteRenderer.js +2 -24
- package/es/actions/export.js +25 -12
- package/es/analytics/ga4.js +188 -0
- package/es/catalog/utils/item-loader.js +4 -4
- package/es/class/item.js +29 -7
- package/es/class/line.js +1 -3
- package/es/components/content.js +20 -5
- package/es/components/export.js +6 -4
- package/es/components/style/form-number-input.js +7 -5
- package/es/components/style/form-submit-button.js +25 -0
- package/es/components/viewer2d/group.js +6 -5
- package/es/components/viewer2d/item.js +9 -9
- package/es/components/viewer2d/line.js +18 -47
- package/es/components/viewer2d/rulerX.js +9 -8
- package/es/components/viewer2d/rulerY.js +9 -8
- package/es/components/viewer2d/scene.js +9 -9
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +35 -31
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +40 -75
- package/es/components/viewer3d/viewer3d-first-person.js +13 -8
- package/es/components/viewer3d/viewer3d.js +19 -15
- package/es/devLiteRenderer.js +913 -0
- package/es/events/external/handleExternalEvent.js +1 -0
- package/es/events/external/handleExternalEvent.util.js +330 -347
- package/es/events/external/handlers.changeDoorStyle.js +5 -3
- package/es/events/external/handlers.loadProject.js +5 -3
- package/es/events/external/handlers.syncScene.js +1 -1
- package/es/mappings/external-events/mappers/ccdfMapper.js +14 -8
- package/es/shared/domain/cabinet-warning.js +15 -0
- package/es/utils/geometry.js +4 -7
- package/es/utils/helper.js +81 -22
- package/es/utils/skinPanelEngine.js +5 -9
- package/lib/LiteKitchenConfigurator.js +42 -11
- package/lib/LiteRenderer.js +3 -25
- package/lib/actions/export.js +35 -39
- package/lib/analytics/ga4.js +194 -0
- package/lib/catalog/utils/item-loader.js +3 -3
- package/lib/class/item.js +29 -7
- package/lib/class/line.js +1 -3
- package/lib/components/content.js +19 -4
- package/lib/components/export.js +6 -16
- package/lib/components/style/form-number-input.js +7 -5
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/viewer2d/group.js +6 -5
- package/lib/components/viewer2d/item.js +8 -8
- package/lib/components/viewer2d/line.js +18 -47
- package/lib/components/viewer2d/rulerX.js +9 -8
- package/lib/components/viewer2d/rulerY.js +9 -8
- package/lib/components/viewer2d/scene.js +9 -9
- package/lib/components/viewer2d/state.js +1 -1
- package/lib/components/viewer2d/utils.js +0 -7
- package/lib/components/viewer2d/viewer2d.js +33 -29
- package/lib/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/lib/components/viewer3d/scene-creator.js +39 -75
- package/lib/components/viewer3d/viewer3d-first-person.js +13 -8
- package/lib/components/viewer3d/viewer3d.js +19 -15
- package/lib/devLiteRenderer.js +917 -0
- package/lib/events/external/handleExternalEvent.js +1 -0
- package/lib/events/external/handleExternalEvent.util.js +330 -347
- package/lib/events/external/handlers.changeDoorStyle.js +5 -3
- package/lib/events/external/handlers.loadProject.js +5 -3
- package/lib/events/external/handlers.syncScene.js +1 -1
- package/lib/mappings/external-events/mappers/ccdfMapper.js +14 -8
- package/lib/shared/domain/cabinet-warning.js +20 -0
- package/lib/utils/geometry.js +4 -7
- package/lib/utils/helper.js +82 -24
- package/lib/utils/skinPanelEngine.js +4 -8
- package/package.json +21 -6
|
@@ -47,7 +47,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
47
47
|
case 4:
|
|
48
48
|
ccdf_list = [];
|
|
49
49
|
_loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
|
|
50
|
-
var item, _doorStyle$id2, _item$long_name;
|
|
50
|
+
var item, _item$ccdf$catalog_ca, _item$ccdf, _item$ccdf$cabinet_id, _item$ccdf2, _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:
|
|
@@ -58,9 +58,10 @@ function _handleChangeDoorStyleEvent() {
|
|
|
58
58
|
ccdf_list.push({
|
|
59
59
|
cabinet_sku: item.type,
|
|
60
60
|
sizeinfo: item.sizeinfo,
|
|
61
|
-
catalog_cabinet_sku: item.sku_number,
|
|
61
|
+
catalog_cabinet_sku: (_item$ccdf$catalog_ca = item === null || item === void 0 || (_item$ccdf = item.ccdf) === null || _item$ccdf === void 0 ? void 0 : _item$ccdf.catalog_cabinet_sku) !== null && _item$ccdf$catalog_ca !== void 0 ? _item$ccdf$catalog_ca : item.sku_number,
|
|
62
|
+
cabinet_id: (_item$ccdf$cabinet_id = item === null || item === void 0 || (_item$ccdf2 = item.ccdf) === null || _item$ccdf2 === void 0 ? void 0 : _item$ccdf2.cabinet_id) !== null && _item$ccdf$cabinet_id !== void 0 ? _item$ccdf$cabinet_id : null,
|
|
62
63
|
ccdf: item.ccdf,
|
|
63
|
-
|
|
64
|
+
target_door_finish_id: (_doorStyle$id2 = doorStyle === null || doorStyle === void 0 ? void 0 : doorStyle.id) !== null && _doorStyle$id2 !== void 0 ? _doorStyle$id2 : null,
|
|
64
65
|
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
66
|
scene_cabinet_id: item.id
|
|
66
67
|
});
|
|
@@ -87,6 +88,7 @@ function _handleChangeDoorStyleEvent() {
|
|
|
87
88
|
(_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
|
|
88
89
|
type: INTERNAL_EVENT_ITEMS_CATALOG,
|
|
89
90
|
value: {
|
|
91
|
+
event_type: 'change_door_style',
|
|
90
92
|
ccdf_list: ccdf_list
|
|
91
93
|
}
|
|
92
94
|
},
|
|
@@ -38,13 +38,14 @@ function _handleLoadProjectEvent() {
|
|
|
38
38
|
if (!ccdf_list.some(function (v) {
|
|
39
39
|
return v.scene_cabinet_id === it.id;
|
|
40
40
|
})) {
|
|
41
|
-
var _it$long_name;
|
|
41
|
+
var _it$ccdf$catalog_cabi, _it$ccdf, _it$ccdf$cabinet_id, _it$ccdf2, _it$ccdf$door_finish_, _it$ccdf3, _it$long_name;
|
|
42
42
|
ccdf_list.push({
|
|
43
43
|
cabinet_sku: it.type,
|
|
44
44
|
sizeinfo: it.sizeinfo,
|
|
45
|
-
catalog_cabinet_sku: it.sku_number,
|
|
45
|
+
catalog_cabinet_sku: (_it$ccdf$catalog_cabi = it === null || it === void 0 || (_it$ccdf = it.ccdf) === null || _it$ccdf === void 0 ? void 0 : _it$ccdf.catalog_cabinet_sku) !== null && _it$ccdf$catalog_cabi !== void 0 ? _it$ccdf$catalog_cabi : it.sku_number,
|
|
46
|
+
cabinet_id: (_it$ccdf$cabinet_id = it === null || it === void 0 || (_it$ccdf2 = it.ccdf) === null || _it$ccdf2 === void 0 ? void 0 : _it$ccdf2.cabinet_id) !== null && _it$ccdf$cabinet_id !== void 0 ? _it$ccdf$cabinet_id : it === null || it === void 0 ? void 0 : it.itemID,
|
|
46
47
|
ccdf: it.ccdf,
|
|
47
|
-
door_finish_id: it.doorStyle.id,
|
|
48
|
+
target_door_finish_id: (_it$ccdf$door_finish_ = it === null || it === void 0 || (_it$ccdf3 = it.ccdf) === null || _it$ccdf3 === void 0 ? void 0 : _it$ccdf3.door_finish_id) !== null && _it$ccdf$door_finish_ !== void 0 ? _it$ccdf$door_finish_ : it.doorStyle.id,
|
|
48
49
|
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
50
|
scene_cabinet_id: it.id
|
|
50
51
|
});
|
|
@@ -59,6 +60,7 @@ function _handleLoadProjectEvent() {
|
|
|
59
60
|
(_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
|
|
60
61
|
type: _constants.INTERNAL_EVENT_ITEMS_CATALOG,
|
|
61
62
|
value: {
|
|
63
|
+
event_type: 'load_project',
|
|
62
64
|
ccdf_list: ccdf_list
|
|
63
65
|
}
|
|
64
66
|
}, /*#__PURE__*/function () {
|
|
@@ -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
|
|
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, {
|
|
@@ -36,9 +36,14 @@ function ccdfMapper(ccdf_list, layer) {
|
|
|
36
36
|
if (!(0, _utils.isEmpty)(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
37
37
|
cdfId = ccdf.id;
|
|
38
38
|
}
|
|
39
|
-
var assets3d = ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d;
|
|
39
|
+
var assets3d = Array.isArray(ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d) ? ccdf.assets3d : [];
|
|
40
40
|
var updatedAssets3D = (0, _toConsumableArray2["default"])(assets3d);
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
// Always set base cabinet gltf even when there are no door/drawer assets.
|
|
43
|
+
// This ensures we can render a naked cabinet (base-only) for unsupported door styles.
|
|
44
|
+
structure.base = (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf;
|
|
45
|
+
|
|
46
|
+
// make structure (augment assets3d with door handles)
|
|
42
47
|
assets3d.forEach(function (asItem) {
|
|
43
48
|
// make door handle
|
|
44
49
|
if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
@@ -53,8 +58,6 @@ function ccdfMapper(ccdf_list, layer) {
|
|
|
53
58
|
}
|
|
54
59
|
});
|
|
55
60
|
updatedAssets3D.forEach(function (asitem) {
|
|
56
|
-
// set base field with gltf
|
|
57
|
-
structure.base = (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf;
|
|
58
61
|
if (!(0, _utils.isEmpty)(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
59
62
|
// make the structure using placeholder_name and gltf
|
|
60
63
|
var phName = asitem.placeholder_name;
|
|
@@ -65,10 +68,13 @@ function ccdfMapper(ccdf_list, layer) {
|
|
|
65
68
|
}
|
|
66
69
|
});
|
|
67
70
|
// make tempPlaceholders
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
// Only push when we have at least a base cabinet gltf to render.
|
|
72
|
+
if (!(0, _utils.isEmpty)(structure === null || structure === void 0 ? void 0 : structure.base)) {
|
|
73
|
+
tempPlaceholders.push({
|
|
74
|
+
structure: structure,
|
|
75
|
+
id: cdfId
|
|
76
|
+
});
|
|
77
|
+
}
|
|
72
78
|
// make structure_json
|
|
73
79
|
structure_json = {
|
|
74
80
|
tempPlaceholders: tempPlaceholders
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isWarningCabinet = isWarningCabinet;
|
|
7
|
+
var _constants = require("../../constants");
|
|
8
|
+
var _immutable = require("../objects/immutable");
|
|
9
|
+
// Centralized warning heuristic for cabinets across 2D/3D.
|
|
10
|
+
// Rule: a cabinet is "warning" when there are no assets for the current door style.
|
|
11
|
+
|
|
12
|
+
// Implementation: return true if item.category === 'cabinet' and (no ccdf or empty ccdf.assets3d)
|
|
13
|
+
function isWarningCabinet(item) {
|
|
14
|
+
var _js$ccdf;
|
|
15
|
+
var js = (0, _immutable.toJSIfNeeded)(item);
|
|
16
|
+
var isCabinet = (js === null || js === void 0 ? void 0 : js.category) === _constants.ITEM_TYPE.CABINET;
|
|
17
|
+
var assets3d = js === null || js === void 0 || (_js$ccdf = js.ccdf) === null || _js$ccdf === void 0 ? void 0 : _js$ccdf.assets3d;
|
|
18
|
+
var hasAssets3d = !!assets3d && Array.isArray(assets3d) && assets3d.length > 0;
|
|
19
|
+
return isCabinet && !hasAssets3d;
|
|
20
|
+
}
|
package/lib/utils/geometry.js
CHANGED
|
@@ -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
|
-
|
|
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 (
|
|
867
|
-
} else if (
|
|
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
|
|
package/lib/utils/helper.js
CHANGED
|
@@ -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.
|
|
15
|
-
exports.
|
|
16
|
-
exports.getSkuAliasFromCatalogElement = getSkuAliasFromCatalogElement;
|
|
14
|
+
exports.getCatalogCabinetSku = getCatalogCabinetSku;
|
|
15
|
+
exports.getSignedUrl = exports.getPathInfo = exports.getPath = void 0;
|
|
17
16
|
exports.handleCamRect = handleCamRect;
|
|
18
17
|
exports.isCeilLimitation = isCeilLimitation;
|
|
19
18
|
exports.isElevationView = isElevationView;
|
|
@@ -33,17 +32,87 @@ var _HDRCubeTextureLoader = require("three/examples/jsm/loaders/HDRCubeTextureLo
|
|
|
33
32
|
var _constants = require("../constants");
|
|
34
33
|
var Three = _interopRequireWildcard(require("three"));
|
|
35
34
|
var _utils = require("./../components/viewer2d/utils");
|
|
35
|
+
var _cabinetWarning = require("../shared/domain/cabinet-warning");
|
|
36
36
|
var _convertUnitsLite = require("./convert-units-lite");
|
|
37
37
|
var _math = require("./math");
|
|
38
|
+
var _awsSdk = _interopRequireDefault(require("aws-sdk"));
|
|
38
39
|
var _export = require("./export");
|
|
39
40
|
var _geometry = require("./geometry");
|
|
41
|
+
var _immutable = require("../shared/objects/immutable");
|
|
40
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); }
|
|
41
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; }
|
|
42
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; }
|
|
45
|
+
var s3 = new _awsSdk["default"].S3({
|
|
46
|
+
accessKeyId: process.env.REACT_APP_AWS_ID,
|
|
47
|
+
secretAccessKey: process.env.REACT_APP_AWS_SECRET
|
|
48
|
+
});
|
|
49
|
+
var s3ParseUrl = function s3ParseUrl(url) {
|
|
50
|
+
var _decodedUrl = decodeURIComponent(url);
|
|
51
|
+
var _result = null;
|
|
52
|
+
|
|
53
|
+
// http://s3.amazonaws.com/bucket/key1/key2
|
|
54
|
+
var match = decodedUrl.match(/^https?:\/\/s3.amazonaws.com\/([^\/]+)\/?(.*?)$/);
|
|
55
|
+
if (_match) {
|
|
56
|
+
_result = {
|
|
57
|
+
bucket: _match[1],
|
|
58
|
+
key: _match[2],
|
|
59
|
+
region: ''
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// http://s3-aws-region.amazonaws.com/bucket/key1/key2
|
|
64
|
+
match = decodedUrl.match(/^https?:\/\/s3-([^.]+).amazonaws.com\/([^\/]+)\/?(.*?)$/);
|
|
65
|
+
if (_match) {
|
|
66
|
+
_result = {
|
|
67
|
+
bucket: _match[2],
|
|
68
|
+
key: _match[3],
|
|
69
|
+
region: _match[1]
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// http://bucket.s3.amazonaws.com/key1/key2
|
|
74
|
+
match = decodedUrl.match(/^https?:\/\/([^.]+).s3.amazonaws.com\/?(.*?)$/);
|
|
75
|
+
if (_match) {
|
|
76
|
+
_result = {
|
|
77
|
+
bucket: _match[1],
|
|
78
|
+
key: _match[2],
|
|
79
|
+
region: ''
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// http://bucket.s3-aws-region.amazonaws.com/key1/key2 or,
|
|
84
|
+
// http://bucket.s3.aws-region.amazonaws.com/key1/key2
|
|
85
|
+
match = decodedUrl.match(/^https?:\/\/([^.]+).(?:s3-|s3\.)([^.]+).amazonaws.com\/?(.*?)$/);
|
|
86
|
+
if (_match) {
|
|
87
|
+
_result = {
|
|
88
|
+
bucket: _match[1],
|
|
89
|
+
key: _match[3],
|
|
90
|
+
region: _match[2]
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return _result;
|
|
94
|
+
};
|
|
43
95
|
var textureCube = exports.textureCube = new _HDRCubeTextureLoader.HDRCubeTextureLoader().setPath('/catalog/envMap/').load(_constants.HDR_URLS, function () {
|
|
44
96
|
textureCube.magFilter = Three.LinearFilter;
|
|
45
97
|
textureCube.needsUpdate = true;
|
|
46
98
|
});
|
|
99
|
+
var getSignedUrl = exports.getSignedUrl = function getSignedUrl(url) {
|
|
100
|
+
if (!url) return url;
|
|
101
|
+
var signedUrl = url;
|
|
102
|
+
try {
|
|
103
|
+
var _s3ParseUrl = s3ParseUrl(url),
|
|
104
|
+
bucket = _s3ParseUrl.bucket,
|
|
105
|
+
key = _s3ParseUrl.key;
|
|
106
|
+
signedUrl = s3.getSignedUrl('getObject', {
|
|
107
|
+
Bucket: bucket,
|
|
108
|
+
Key: key,
|
|
109
|
+
ResponseCacheControl: 'no-cache'
|
|
110
|
+
});
|
|
111
|
+
} catch (e) {
|
|
112
|
+
signedUrl = url;
|
|
113
|
+
}
|
|
114
|
+
return signedUrl;
|
|
115
|
+
};
|
|
47
116
|
var base64Decode = exports.base64Decode = function base64Decode(targetStr) {
|
|
48
117
|
if (!targetStr) return null;
|
|
49
118
|
try {
|
|
@@ -361,11 +430,11 @@ function centering2D(state) {
|
|
|
361
430
|
if (viewer2DActions) updateViwer2D(viewer, viewer2DActions);
|
|
362
431
|
return state;
|
|
363
432
|
}
|
|
364
|
-
function updatePayloadOfInternalEvent(currentObject, layer
|
|
365
|
-
var pointArray = arguments.length >
|
|
433
|
+
function updatePayloadOfInternalEvent(currentObject, layer) {
|
|
434
|
+
var pointArray = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
366
435
|
if (isEmpty(currentObject)) return null;
|
|
367
436
|
var updatedPayload = currentObject.toJS();
|
|
368
|
-
if (isEmpty(layer)
|
|
437
|
+
if (isEmpty(layer)) return updatedPayload;
|
|
369
438
|
if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'lines') {
|
|
370
439
|
// caculating length of selected line//
|
|
371
440
|
var v_a = layer.vertices.get(currentObject.vertices.get(0));
|
|
@@ -376,7 +445,7 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
376
445
|
//////////////////////////////////////
|
|
377
446
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'items') {
|
|
378
447
|
// check this cabinet has warning box
|
|
379
|
-
updatedPayload.isWarning = (0,
|
|
448
|
+
updatedPayload.isWarning = (0, _cabinetWarning.isWarningCabinet)(currentObject);
|
|
380
449
|
// check this item is available molding
|
|
381
450
|
updatedPayload.isMoldingAvailable = _export.MoldingUtils.isEnableItemForMolding(layer, currentObject);
|
|
382
451
|
// check this item is snapped to wall
|
|
@@ -385,7 +454,7 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
385
454
|
if (pointArray) updatedPayload.distArray = pointArray;
|
|
386
455
|
|
|
387
456
|
// update sku_number using sku_array
|
|
388
|
-
updatedPayload.sku_number =
|
|
457
|
+
updatedPayload.sku_number = getCatalogCabinetSku(currentObject);
|
|
389
458
|
} else if ((currentObject === null || currentObject === void 0 ? void 0 : currentObject.prototype) === 'holes') {
|
|
390
459
|
var _calcDistancesFromHol = (0, _geometry.calcDistancesFromHoleToNearestOneOrWall)(currentObject, layer),
|
|
391
460
|
distLeft = _calcDistancesFromHol.distLeft,
|
|
@@ -403,20 +472,9 @@ function updatePayloadOfInternalEvent(currentObject, layer, catalog) {
|
|
|
403
472
|
}
|
|
404
473
|
return updatedPayload;
|
|
405
474
|
}
|
|
406
|
-
function
|
|
407
|
-
var
|
|
408
|
-
var sceneObjectJS =
|
|
409
|
-
var
|
|
410
|
-
|
|
411
|
-
return getSkuAliasFromCatalogElement(catalogElement, sceneObjectJS);
|
|
412
|
-
}
|
|
413
|
-
function getSkuAliasFromCatalogElement(catalogElement, sceneObject) {
|
|
414
|
-
var _sceneObjectJS$doorSt, _catalogElement$obj, _skuAlias$sku;
|
|
415
|
-
var sceneObjectJS = typeof (sceneObject === null || sceneObject === void 0 ? void 0 : sceneObject.toJS) === 'function' ? sceneObject.toJS() : sceneObject;
|
|
416
|
-
var doorColorId = sceneObjectJS === null || sceneObjectJS === void 0 || (_sceneObjectJS$doorSt = sceneObjectJS.doorStyle) === null || _sceneObjectJS$doorSt === void 0 ? void 0 : _sceneObjectJS$doorSt.id;
|
|
417
|
-
var skuArray = catalogElement === null || catalogElement === void 0 || (_catalogElement$obj = catalogElement.obj) === null || _catalogElement$obj === void 0 ? void 0 : _catalogElement$obj.skuArray;
|
|
418
|
-
var skuAlias = skuArray === null || skuArray === void 0 ? void 0 : skuArray.find(function (sku) {
|
|
419
|
-
return sku.door_color_id === doorColorId;
|
|
420
|
-
});
|
|
421
|
-
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 !== null && ccdfSku !== void 0 ? ccdfSku : '';
|
|
422
480
|
}
|
|
@@ -501,16 +501,12 @@ function buildSkinPanelData(faces) {
|
|
|
501
501
|
});
|
|
502
502
|
return result;
|
|
503
503
|
}
|
|
504
|
-
function shouldExcludeSkinPanel(itemJS, exclusionSet
|
|
505
|
-
var
|
|
506
|
-
|
|
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
|
|
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": "11.0.0
|
|
3
|
+
"version": "11.0.0",
|
|
4
4
|
"description": "It is a kitchen simulator (self-contained micro-frontend).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"dependencies": {
|
|
62
62
|
"@babel/runtime": "^7.28.4",
|
|
63
63
|
"@sentry/react": "^9.10.1",
|
|
64
|
+
"aws-sdk": "^2.984.0",
|
|
64
65
|
"axios": "^0.20.0",
|
|
65
66
|
"camera-controls": "^2.8.5",
|
|
66
67
|
"clsx": "^2.1.1",
|
|
@@ -75,26 +76,36 @@
|
|
|
75
76
|
"polylabel": "1.0.2",
|
|
76
77
|
"posthog-js": "^1.271.0",
|
|
77
78
|
"prop-types": "^15.8.1",
|
|
78
|
-
"react": "^
|
|
79
|
-
"react-
|
|
80
|
-
"react-
|
|
81
|
-
"react-
|
|
82
|
-
"
|
|
79
|
+
"react": "^16.9.0",
|
|
80
|
+
"react-container-dimensions": "1.4.1",
|
|
81
|
+
"react-dom": "16.9.0",
|
|
82
|
+
"react-hotjar": "^1.0.11",
|
|
83
|
+
"react-icons": "3.5.0",
|
|
84
|
+
"react-redux": "5.0.7",
|
|
85
|
+
"react-svg-pan-zoom": "2.18.0",
|
|
86
|
+
"redux": "4.0.1",
|
|
83
87
|
"three": "0.166.0",
|
|
84
88
|
"moment": "^2.30.1",
|
|
85
89
|
"jwt-decode": "^2.2.0",
|
|
90
|
+
"react-ga4": "^1.4.1",
|
|
86
91
|
"styled-components": "^5.2.0"
|
|
87
92
|
},
|
|
88
93
|
"devDependencies": {
|
|
89
94
|
"localstorage-slim": "^1.3.0",
|
|
95
|
+
"react-tabs": "3.0.0",
|
|
90
96
|
"sass": "^1.29.0",
|
|
97
|
+
"reactjs-popup": "^2.0.4",
|
|
91
98
|
"sass-loader": "^10.0.5",
|
|
99
|
+
"antd": "^4.24.16",
|
|
92
100
|
"@babel/cli": "^7.28.3",
|
|
93
101
|
"@babel/core": "^7.28.4",
|
|
94
102
|
"@babel/plugin-transform-modules-commonjs": "^7.27.1",
|
|
95
103
|
"@babel/plugin-transform-runtime": "^7.28.3",
|
|
96
104
|
"@babel/preset-env": "^7.28.3",
|
|
97
105
|
"@babel/preset-react": "^7.27.1",
|
|
106
|
+
"@material-ui/core": "^4.12.3",
|
|
107
|
+
"@material-ui/icons": "^4.11.2",
|
|
108
|
+
"@material-ui/lab": "^4.0.0-alpha.61",
|
|
98
109
|
"@sentry/webpack-plugin": "^3.2.4",
|
|
99
110
|
"assert": "^2.1.0",
|
|
100
111
|
"babel-loader": "^9.1.3",
|
|
@@ -110,7 +121,11 @@
|
|
|
110
121
|
"css-loader": "*",
|
|
111
122
|
"file-loader": "6.2.0",
|
|
112
123
|
"html-webpack-plugin": "5.6.0",
|
|
124
|
+
"immutable-devtools": "0.1.4",
|
|
125
|
+
"mobile-detect": "^1.4.5",
|
|
113
126
|
"path-browserify": "^1.0.1",
|
|
127
|
+
"react-query": "^3.39.3",
|
|
128
|
+
"react-router-dom": "5.1.2",
|
|
114
129
|
"rimraf": "^2.6.3",
|
|
115
130
|
"stream-browserify": "^3.0.0",
|
|
116
131
|
"style-loader": "*",
|