kitchen-simulator 4.4.6 → 5.0.0-new-api.1
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/LiteRenderer.js +15 -53
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/img/default/maple.jpg +0 -0
- package/es/assets/img/default/steel.jpg +0 -0
- package/es/catalog/catalog.js +0 -2
- package/es/catalog/factories/area-factory-3d.js +0 -4
- package/es/catalog/holes/door-double/door_double.png +0 -0
- package/es/catalog/holes/door-panic/panicDoor.png +0 -0
- package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/es/catalog/holes/gate/gate.jpg +0 -0
- package/es/catalog/holes/window-clear/texture.png +0 -0
- package/es/catalog/holes/window-cross/texture.png +0 -0
- package/es/catalog/holes/window-double-hung/texture.png +0 -0
- package/es/catalog/holes/window-vertical/texture.png +0 -0
- package/es/catalog/utils/exporter.js +2 -0
- package/es/catalog/utils/item-loader.js +0 -4
- package/es/class/area.js +0 -1
- package/es/class/export.js +1 -3
- package/es/class/item.js +17 -6
- package/es/components/content.js +1 -3
- package/es/components/style/export.js +2 -28
- package/es/components/viewer2d/line.js +2 -2
- package/es/components/viewer2d/viewer2d.js +0 -1
- package/es/components/viewer3d/front3D.js +1 -2
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/es/components/viewer3d/scene-creator.js +0 -1
- package/es/components/viewer3d/three-memory-cleaner.js +0 -14
- package/es/components/viewer3d/viewer3d.js +1 -1
- package/es/constants.js +11 -6
- package/es/devLiteRenderer.js +124 -84
- package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
- package/es/mappings/external-events/mappers/addItemMapper.js +86 -0
- package/es/mappings/external-events/mappers/ccdfMapper.js +86 -0
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +31 -0
- package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +37 -0
- package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
- package/es/mappings/holesToCatalog.js +139 -0
- package/es/models.js +12 -1
- package/es/plugins/keyboard.js +1 -1
- package/es/reducers/export.js +2 -4
- package/es/reducers/items-reducer.js +1 -1
- package/es/reducers/project-reducer.js +1 -1
- package/es/reducers/reducer.js +2 -3
- package/es/shared/objects/immutable.js +3 -0
- package/es/utils/geometry.js +276 -74
- package/es/utils/history.js +2 -2
- package/es/utils/isolate-event-handler.js +57 -45
- package/es/utils/molding.js +5 -3
- package/lib/LiteRenderer.js +17 -55
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/img/default/maple.jpg +0 -0
- package/lib/assets/img/default/steel.jpg +0 -0
- package/lib/catalog/catalog.js +0 -2
- package/lib/catalog/factories/area-factory-3d.js +0 -4
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/utils/exporter.js +2 -0
- package/lib/catalog/utils/item-loader.js +0 -4
- package/lib/class/area.js +0 -1
- package/lib/class/export.js +0 -8
- package/lib/class/item.js +17 -6
- package/lib/components/content.js +1 -3
- package/lib/components/style/export.js +1 -105
- package/lib/components/viewer2d/line.js +1 -1
- package/lib/components/viewer2d/viewer2d.js +0 -1
- package/lib/components/viewer3d/front3D.js +1 -2
- package/lib/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/lib/components/viewer3d/scene-creator.js +0 -1
- package/lib/components/viewer3d/three-memory-cleaner.js +0 -14
- package/lib/constants.js +16 -11
- package/lib/devLiteRenderer.js +126 -86
- package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
- package/lib/mappings/external-events/mappers/addItemMapper.js +92 -0
- package/lib/mappings/external-events/mappers/ccdfMapper.js +93 -0
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +37 -0
- package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +44 -0
- package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
- package/lib/mappings/holesToCatalog.js +148 -0
- package/lib/models.js +12 -1
- package/lib/reducers/export.js +1 -9
- package/lib/reducers/reducer.js +0 -1
- package/lib/shared/objects/immutable.js +9 -0
- package/lib/utils/geometry.js +276 -74
- package/lib/utils/history.js +1 -1
- package/lib/utils/isolate-event-handler.js +57 -45
- package/lib/utils/molding.js +5 -3
- package/package.json +1 -1
- package/es/assets/gltf/door_closet.bin +0 -0
- package/es/assets/gltf/door_closet.fbx +0 -0
- package/es/assets/gltf/door_exterior.bin +0 -0
- package/es/assets/gltf/door_exterior.fbx +0 -0
- package/es/assets/gltf/door_interior.bin +0 -0
- package/es/assets/gltf/door_interior.fbx +0 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/gltf/door_sliding.fbx +0 -0
- package/es/assets/img/png/helper/video_preview_3d.png +0 -0
- package/es/assets/img/png/helper/video_preview_start.png +0 -0
- package/es/assets/img/svg/color/Brown.svg +0 -9
- package/es/assets/img/svg/color/Dark.svg +0 -9
- package/es/assets/img/svg/color/Light.svg +0 -9
- package/es/assets/img/svg/color/Medium.svg +0 -9
- package/es/assets/img/svg/color/Unfinished.svg +0 -9
- package/es/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
- package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
- package/es/catalog/properties/export.js +0 -21
- package/es/catalog/properties/property-checkbox.js +0 -68
- package/es/catalog/properties/property-color.js +0 -39
- package/es/catalog/properties/property-enum.js +0 -50
- package/es/catalog/properties/property-hidden.js +0 -19
- package/es/catalog/properties/property-lenght-measure.js +0 -100
- package/es/catalog/properties/property-length-measure.js +0 -84
- package/es/catalog/properties/property-length-measure_hole.js +0 -100
- package/es/catalog/properties/property-number.js +0 -48
- package/es/catalog/properties/property-read-only.js +0 -26
- package/es/catalog/properties/property-string.js +0 -48
- package/es/catalog/properties/property-toggle.js +0 -39
- package/es/catalog/properties/shared-property-style.js +0 -14
- package/es/catalog/utils/FuseUtils.js +0 -79
- package/es/class/FuseUtils.js +0 -79
- package/es/components/style/button.js +0 -106
- package/es/components/style/cancel-button.js +0 -21
- package/es/components/style/content-container.js +0 -30
- package/es/components/style/content-title.js +0 -25
- package/es/components/style/delete-button.js +0 -24
- package/es/components/style/form-block.js +0 -20
- package/es/components/style/form-color-input.js +0 -26
- package/es/components/style/form-label.js +0 -22
- package/es/components/style/form-number-input_2.js +0 -200
- package/es/components/style/form-select.js +0 -19
- package/es/components/style/form-slider.js +0 -60
- package/es/components/style/form-text-input.js +0 -69
- package/es/reducers/user-reducer.js +0 -41
- package/es/styles/export.js +0 -5
- package/es/styles/tabs.css +0 -40
- package/lib/assets/gltf/door_closet.bin +0 -0
- package/lib/assets/gltf/door_closet.fbx +0 -0
- package/lib/assets/gltf/door_exterior.bin +0 -0
- package/lib/assets/gltf/door_exterior.fbx +0 -0
- package/lib/assets/gltf/door_interior.bin +0 -0
- package/lib/assets/gltf/door_interior.fbx +0 -0
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/gltf/door_sliding.fbx +0 -0
- package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
- package/lib/assets/img/png/helper/video_preview_start.png +0 -0
- package/lib/assets/img/svg/color/Brown.svg +0 -9
- package/lib/assets/img/svg/color/Dark.svg +0 -9
- package/lib/assets/img/svg/color/Light.svg +0 -9
- package/lib/assets/img/svg/color/Medium.svg +0 -9
- package/lib/assets/img/svg/color/Unfinished.svg +0 -9
- package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
- package/lib/catalog/properties/export.js +0 -81
- package/lib/catalog/properties/property-checkbox.js +0 -76
- package/lib/catalog/properties/property-color.js +0 -47
- package/lib/catalog/properties/property-enum.js +0 -58
- package/lib/catalog/properties/property-hidden.js +0 -27
- package/lib/catalog/properties/property-lenght-measure.js +0 -108
- package/lib/catalog/properties/property-length-measure.js +0 -92
- package/lib/catalog/properties/property-length-measure_hole.js +0 -108
- package/lib/catalog/properties/property-number.js +0 -56
- package/lib/catalog/properties/property-read-only.js +0 -34
- package/lib/catalog/properties/property-string.js +0 -56
- package/lib/catalog/properties/property-toggle.js +0 -47
- package/lib/catalog/properties/shared-property-style.js +0 -21
- package/lib/catalog/utils/FuseUtils.js +0 -87
- package/lib/class/FuseUtils.js +0 -87
- package/lib/components/style/button.js +0 -115
- package/lib/components/style/cancel-button.js +0 -29
- package/lib/components/style/content-container.js +0 -38
- package/lib/components/style/content-title.js +0 -35
- package/lib/components/style/delete-button.js +0 -34
- package/lib/components/style/form-block.js +0 -28
- package/lib/components/style/form-color-input.js +0 -34
- package/lib/components/style/form-label.js +0 -30
- package/lib/components/style/form-number-input_2.js +0 -209
- package/lib/components/style/form-select.js +0 -29
- package/lib/components/style/form-slider.js +0 -68
- package/lib/components/style/form-text-input.js +0 -78
- package/lib/reducers/user-reducer.js +0 -48
- package/lib/styles/export.js +0 -13
- package/lib/styles/tabs.css +0 -40
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mapFromCCDFToCDS = mapFromCCDFToCDS;
|
|
7
|
+
var _utils = require("../../../components/viewer2d/utils");
|
|
8
|
+
function mapFromCCDFToCDS(ccdf_list) {
|
|
9
|
+
// This function make CDS from CCDF_List
|
|
10
|
+
var itemCDSList = [];
|
|
11
|
+
var itemCDSData = {};
|
|
12
|
+
var cabitnetDoorStyleId;
|
|
13
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
|
|
14
|
+
if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
|
|
15
|
+
cabitnetDoorStyleId = asItem.id;
|
|
16
|
+
}
|
|
17
|
+
asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
|
|
18
|
+
if (!(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.placeholder_name) && !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.gltf)) {
|
|
19
|
+
var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
|
|
20
|
+
itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
|
|
21
|
+
}
|
|
22
|
+
itemCDSData['is_euro_cds'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
|
|
23
|
+
itemCDSData['euro_shape_svg'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
|
|
24
|
+
itemCDSData['euro_width'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
|
|
25
|
+
itemCDSData['euro_height'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
|
|
26
|
+
itemCDSData['euro_length'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
|
|
27
|
+
});
|
|
28
|
+
var data = [];
|
|
29
|
+
data.push(itemCDSData);
|
|
30
|
+
itemCDSList.push({
|
|
31
|
+
itemID: asItem.cabinet_id,
|
|
32
|
+
data: data,
|
|
33
|
+
cabinet_door_style_id: cabitnetDoorStyleId
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
return itemCDSList;
|
|
37
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mapChangeDoorStyleEvent = mapChangeDoorStyleEvent;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _constants = require("../../../constants");
|
|
10
|
+
var _helper = require("../../../utils/helper");
|
|
11
|
+
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; }
|
|
12
|
+
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; }
|
|
13
|
+
function mapChangeDoorStyleEvent(evt, state) {
|
|
14
|
+
var _evt$payload, _layer$toJS;
|
|
15
|
+
if ((0, _helper.isEmpty)(evt)) return null;
|
|
16
|
+
var targetDoorStyle = evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 ? void 0 : _evt$payload.doorStyle;
|
|
17
|
+
if ((0, _helper.isEmpty)(targetDoorStyle)) return evt;
|
|
18
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
19
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
20
|
+
if ((0, _helper.isEmpty)(layer)) return evt;
|
|
21
|
+
var handleTexture = layer.get('doorHandle');
|
|
22
|
+
var counterToptexture = layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 || (_layer$toJS = _layer$toJS.counterTop) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.uri;
|
|
23
|
+
|
|
24
|
+
// make doorStyles and update the doorStyle payload
|
|
25
|
+
var Max_PH = 9;
|
|
26
|
+
var doorStyles = {
|
|
27
|
+
base: targetDoorStyle.texture,
|
|
28
|
+
counttop: counterToptexture,
|
|
29
|
+
interior: _constants.DEFAULT_INTERIOR_URL
|
|
30
|
+
};
|
|
31
|
+
for (var i = 1; i <= Max_PH; i++) {
|
|
32
|
+
doorStyles['base_door_' + i] = targetDoorStyle.texture;
|
|
33
|
+
doorStyles['base_fixed_drawer_door_' + i] = targetDoorStyle.texture;
|
|
34
|
+
doorStyles['base_drawer_' + i] = targetDoorStyle.texture;
|
|
35
|
+
doorStyles['base_drawer_door_' + i] = targetDoorStyle.texture;
|
|
36
|
+
doorStyles['door_handle_' + i] = handleTexture;
|
|
37
|
+
doorStyles['fixed_drawer_door_handle_' + i] = handleTexture;
|
|
38
|
+
doorStyles['drawer_door_handle_' + i] = handleTexture;
|
|
39
|
+
}
|
|
40
|
+
evt.payload.doorStyle = _objectSpread(_objectSpread({}, targetDoorStyle), {}, {
|
|
41
|
+
doorStyles: doorStyles
|
|
42
|
+
});
|
|
43
|
+
return evt;
|
|
44
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mapLoadProjectEvent = mapLoadProjectEvent;
|
|
8
|
+
exports.updateProjectWithCDSList = updateProjectWithCDSList;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _constants = require("../../../constants");
|
|
11
|
+
var _helper = require("../../../utils/helper");
|
|
12
|
+
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; }
|
|
13
|
+
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; }
|
|
14
|
+
function mapLoadProjectEvent(evt, state) {
|
|
15
|
+
// preprocessing for loading project
|
|
16
|
+
// this function make doorStyles using item's doorStyle
|
|
17
|
+
if ((0, _helper.isEmpty)(evt)) return null;
|
|
18
|
+
var layerId = evt.payload.layers['layer-1'].id;
|
|
19
|
+
var layer = evt.payload.layers;
|
|
20
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
21
|
+
if ((0, _helper.isEmpty)(layer)) return evt;
|
|
22
|
+
var handleTexture = !(0, _helper.isEmpty)(layer.doorHandle) ? layer.doorHandle : _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL;
|
|
23
|
+
var counterToptexture = layer.counterTop;
|
|
24
|
+
// make doorStyles and update the doorStyle payload
|
|
25
|
+
var Max_PH = 9;
|
|
26
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
27
|
+
var item = layer[layerId].items[itemKeys[i]];
|
|
28
|
+
var doorStyle = item.doorStyle;
|
|
29
|
+
var doorStyles = {
|
|
30
|
+
base: doorStyle.texture,
|
|
31
|
+
counttop: counterToptexture,
|
|
32
|
+
interior: _constants.DEFAULT_INTERIOR_URL
|
|
33
|
+
};
|
|
34
|
+
for (var _i = 1; _i <= Max_PH; _i++) {
|
|
35
|
+
doorStyles['base_door_' + _i] = doorStyle.texture;
|
|
36
|
+
doorStyles['base_fixed_drawer_door_' + _i] = doorStyle.texture;
|
|
37
|
+
doorStyles['base_drawer_' + _i] = doorStyle.texture;
|
|
38
|
+
doorStyles['base_drawer_door_' + _i] = doorStyle.texture;
|
|
39
|
+
doorStyles['door_handle_' + _i] = handleTexture;
|
|
40
|
+
doorStyles['fixed_drawer_door_handle_' + _i] = handleTexture;
|
|
41
|
+
doorStyles['drawer_door_handle_' + _i] = handleTexture;
|
|
42
|
+
}
|
|
43
|
+
item.doorStyle = _objectSpread(_objectSpread({}, doorStyle), {}, {
|
|
44
|
+
doorStyles: doorStyles
|
|
45
|
+
});
|
|
46
|
+
layer[layerId].items[itemKeys[i]] = item;
|
|
47
|
+
}
|
|
48
|
+
return evt;
|
|
49
|
+
}
|
|
50
|
+
function updateProjectWithCDSList(project, cdsList) {
|
|
51
|
+
//This function updates the project json using CDSList
|
|
52
|
+
if ((0, _helper.isEmpty)(project) || (0, _helper.isEmpty)(cdsList)) return project;
|
|
53
|
+
var layerId = project.layers['layer-1'].id;
|
|
54
|
+
var layer = project.layers;
|
|
55
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
56
|
+
if ((0, _helper.isEmpty)(itemKeys)) return project;
|
|
57
|
+
var _loop = function _loop(i) {
|
|
58
|
+
cdsList.forEach(function (cds) {
|
|
59
|
+
var _layer$layerId;
|
|
60
|
+
if (((_layer$layerId = layer[layerId]) === null || _layer$layerId === void 0 || (_layer$layerId = _layer$layerId.items[itemKeys[i]]) === null || _layer$layerId === void 0 ? void 0 : _layer$layerId.itemID) === (cds === null || cds === void 0 ? void 0 : cds.itemID)) {
|
|
61
|
+
layer[layerId].items[itemKeys[i]].doorStyle.cds = cds;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
66
|
+
_loop(i);
|
|
67
|
+
}
|
|
68
|
+
project.layers = layer;
|
|
69
|
+
return project;
|
|
70
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.registerDynamicHoles = exports.buildHoleElements = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var Holes = _interopRequireWildcard(require("../catalog/holes/export"));
|
|
12
|
+
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" != _typeof(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); }
|
|
13
|
+
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; }
|
|
14
|
+
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; }
|
|
15
|
+
var INCH_TO_CM = 2.54;
|
|
16
|
+
var normalizeKey = function normalizeKey(value) {
|
|
17
|
+
return (value !== null && value !== void 0 ? value : '').toString().toLowerCase().replace(/[^a-z0-9]+/g, '');
|
|
18
|
+
};
|
|
19
|
+
var safeParseJson = function safeParseJson(value) {
|
|
20
|
+
if (!value) return null;
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(value);
|
|
23
|
+
} catch (_unused) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var toCatalogLength = function toCatalogLength(value, prop) {
|
|
28
|
+
var _prop$defaultValue;
|
|
29
|
+
if (value == null) return null;
|
|
30
|
+
var unit = prop === null || prop === void 0 || (_prop$defaultValue = prop.defaultValue) === null || _prop$defaultValue === void 0 ? void 0 : _prop$defaultValue.unit;
|
|
31
|
+
if (unit && unit.toLowerCase() === 'in') return value;
|
|
32
|
+
return value * INCH_TO_CM;
|
|
33
|
+
};
|
|
34
|
+
var overrideLengthProperty = function overrideLengthProperty(prop, value) {
|
|
35
|
+
if (!prop || value == null) return prop;
|
|
36
|
+
var length = toCatalogLength(value, prop);
|
|
37
|
+
if (length == null) return prop;
|
|
38
|
+
return _objectSpread(_objectSpread({}, prop), {}, {
|
|
39
|
+
defaultValue: _objectSpread(_objectSpread({}, prop.defaultValue), {}, {
|
|
40
|
+
length: length
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var findBaseHoleTemplate = function findBaseHoleTemplate(hole, templates) {
|
|
45
|
+
var target = normalizeKey(hole === null || hole === void 0 ? void 0 : hole.name);
|
|
46
|
+
if (!target) return null;
|
|
47
|
+
return templates.find(function (template) {
|
|
48
|
+
var _template$info, _template$info2;
|
|
49
|
+
var candidates = [template === null || template === void 0 ? void 0 : template.name, template === null || template === void 0 || (_template$info = template.info) === null || _template$info === void 0 ? void 0 : _template$info.title, template === null || template === void 0 || (_template$info2 = template.info) === null || _template$info2 === void 0 ? void 0 : _template$info2.description].map(normalizeKey);
|
|
50
|
+
return candidates.includes(target);
|
|
51
|
+
}) || null;
|
|
52
|
+
};
|
|
53
|
+
var buildHoleElementFromTemplate = function buildHoleElementFromTemplate(hole, base) {
|
|
54
|
+
var _base$info, _base$info2, _base$info3, _base$info4, _base$info5, _base$structure_json;
|
|
55
|
+
if (!hole || !base) return null;
|
|
56
|
+
var nextInfo = _objectSpread(_objectSpread({}, base.info), {}, {
|
|
57
|
+
title: hole.name || ((_base$info = base.info) === null || _base$info === void 0 ? void 0 : _base$info.title),
|
|
58
|
+
description: ((_base$info2 = base.info) === null || _base$info2 === void 0 ? void 0 : _base$info2.description) || hole.name || ((_base$info3 = base.info) === null || _base$info3 === void 0 ? void 0 : _base$info3.title),
|
|
59
|
+
image: hole.menu_thumbnail || ((_base$info4 = base.info) === null || _base$info4 === void 0 ? void 0 : _base$info4.image),
|
|
60
|
+
url: hole.gltf || ((_base$info5 = base.info) === null || _base$info5 === void 0 ? void 0 : _base$info5.url)
|
|
61
|
+
});
|
|
62
|
+
var nextProperties = _objectSpread({}, base.properties);
|
|
63
|
+
if (nextProperties.width) {
|
|
64
|
+
nextProperties.width = overrideLengthProperty(nextProperties.width, hole.width);
|
|
65
|
+
}
|
|
66
|
+
if (nextProperties.height) {
|
|
67
|
+
nextProperties.height = overrideLengthProperty(nextProperties.height, hole.height);
|
|
68
|
+
}
|
|
69
|
+
if (nextProperties.length) {
|
|
70
|
+
nextProperties.length = overrideLengthProperty(nextProperties.length, hole.length);
|
|
71
|
+
}
|
|
72
|
+
var customConfig = safeParseJson(hole.custom_config);
|
|
73
|
+
var customProps = (customConfig === null || customConfig === void 0 ? void 0 : customConfig.properties) || {};
|
|
74
|
+
Object.keys(customProps).forEach(function (key) {
|
|
75
|
+
if (!nextProperties[key]) return;
|
|
76
|
+
nextProperties[key] = overrideLengthProperty(nextProperties[key], customProps[key]);
|
|
77
|
+
});
|
|
78
|
+
return _objectSpread(_objectSpread({}, base), {}, {
|
|
79
|
+
name: hole.name || base.name,
|
|
80
|
+
info: nextInfo,
|
|
81
|
+
properties: nextProperties,
|
|
82
|
+
structure_json: _objectSpread(_objectSpread({}, base.structure_json || {}), {}, {
|
|
83
|
+
hole_id: hole.id || ((_base$structure_json = base.structure_json) === null || _base$structure_json === void 0 ? void 0 : _base$structure_json.hole_id)
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
var buildHoleElements = exports.buildHoleElements = function buildHoleElements(holes) {
|
|
88
|
+
var categories = {
|
|
89
|
+
Doors: [],
|
|
90
|
+
Windows: []
|
|
91
|
+
};
|
|
92
|
+
var elements = [];
|
|
93
|
+
if (!Array.isArray(holes)) return {
|
|
94
|
+
elements: elements,
|
|
95
|
+
categories: categories
|
|
96
|
+
};
|
|
97
|
+
var templates = Object.values(Holes);
|
|
98
|
+
var usedNames = new Set();
|
|
99
|
+
holes.forEach(function (hole) {
|
|
100
|
+
var _base$info6;
|
|
101
|
+
if (!hole || hole.is_deleted) return;
|
|
102
|
+
var base = findBaseHoleTemplate(hole, templates);
|
|
103
|
+
if (!base) return;
|
|
104
|
+
var element = buildHoleElementFromTemplate(hole, base);
|
|
105
|
+
if (!element || !element.name || usedNames.has(element.name)) return;
|
|
106
|
+
usedNames.add(element.name);
|
|
107
|
+
elements.push(element);
|
|
108
|
+
var typeKey = normalizeKey(hole.type);
|
|
109
|
+
if (typeKey === 'window') {
|
|
110
|
+
categories.Windows.push(element);
|
|
111
|
+
} else if (typeKey === 'door') {
|
|
112
|
+
categories.Doors.push(element);
|
|
113
|
+
} else if ((_base$info6 = base.info) !== null && _base$info6 !== void 0 && (_base$info6 = _base$info6.tag) !== null && _base$info6 !== void 0 && _base$info6.includes('window')) {
|
|
114
|
+
categories.Windows.push(element);
|
|
115
|
+
} else {
|
|
116
|
+
categories.Doors.push(element);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
elements: elements,
|
|
121
|
+
categories: categories
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
var registerDynamicHoles = exports.registerDynamicHoles = function registerDynamicHoles(catalog, holePayload) {
|
|
125
|
+
if (!catalog) return;
|
|
126
|
+
var holeElements = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.elements) || [];
|
|
127
|
+
holeElements.forEach(function (element) {
|
|
128
|
+
if (!catalog.hasElement(element.name)) {
|
|
129
|
+
catalog.registerElement(element);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
var categories = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.categories) || {};
|
|
133
|
+
Object.entries(categories).forEach(function (_ref) {
|
|
134
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
135
|
+
name = _ref2[0],
|
|
136
|
+
elements = _ref2[1];
|
|
137
|
+
if (!elements.length) return;
|
|
138
|
+
if (!catalog.hasCategory(name)) {
|
|
139
|
+
catalog.registerCategory(name, name, elements);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
elements.forEach(function (element) {
|
|
143
|
+
if (!catalog.categoryHasElement(name, element.name)) {
|
|
144
|
+
catalog.addToCategory(name, element);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
};
|
package/lib/models.js
CHANGED
|
@@ -187,6 +187,15 @@ var Item = exports.Item = /*#__PURE__*/function (_Record7) {
|
|
|
187
187
|
(0, _inherits2["default"])(Item, _Record7);
|
|
188
188
|
return (0, _createClass2["default"])(Item);
|
|
189
189
|
}((0, _immutable.Record)(_objectSpread(_objectSpread({}, sharedAttributes), {}, {
|
|
190
|
+
long_name: '',
|
|
191
|
+
sizeinfo: new _immutable.Map(),
|
|
192
|
+
description: '',
|
|
193
|
+
base: '',
|
|
194
|
+
shape_svg: '',
|
|
195
|
+
gltf: '',
|
|
196
|
+
is_corner: -1,
|
|
197
|
+
obj_property: new _immutable.Map(),
|
|
198
|
+
outline: '',
|
|
190
199
|
prototype: 'items',
|
|
191
200
|
x: 0,
|
|
192
201
|
y: 0,
|
|
@@ -343,13 +352,15 @@ var CatalogElement = exports.CatalogElement = /*#__PURE__*/function (_Record1) {
|
|
|
343
352
|
}((0, _immutable.Record)({
|
|
344
353
|
itemID: -1,
|
|
345
354
|
name: '',
|
|
355
|
+
long_name: '',
|
|
346
356
|
prototype: '',
|
|
347
357
|
info: new _immutable.Map(),
|
|
348
358
|
properties: new _immutable.Map(),
|
|
349
359
|
obj: new _immutable.Map(),
|
|
350
360
|
type: '',
|
|
351
361
|
cds: new _immutable.Map(),
|
|
352
|
-
structure_json: {}
|
|
362
|
+
structure_json: {},
|
|
363
|
+
gltf: ''
|
|
353
364
|
}, 'CatalogElement'));
|
|
354
365
|
var Catalog = exports.Catalog = /*#__PURE__*/function (_Record10) {
|
|
355
366
|
function Catalog() {
|
package/lib/reducers/export.js
CHANGED
|
@@ -46,12 +46,6 @@ Object.defineProperty(exports, "KitchenConfiguratorSceneReducer", {
|
|
|
46
46
|
return _sceneReducer["default"];
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
-
Object.defineProperty(exports, "KitchenConfiguratorUserReducer", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function get() {
|
|
52
|
-
return _userReducer["default"];
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
49
|
Object.defineProperty(exports, "KitchenConfiguratorVerticesReducer", {
|
|
56
50
|
enumerable: true,
|
|
57
51
|
get: function get() {
|
|
@@ -81,7 +75,6 @@ var _sceneReducer = _interopRequireDefault(require("./scene-reducer"));
|
|
|
81
75
|
var _verticesReducer = _interopRequireDefault(require("./vertices-reducer"));
|
|
82
76
|
var _viewer2dReducer = _interopRequireDefault(require("./viewer2d-reducer"));
|
|
83
77
|
var _viewer3dReducer = _interopRequireDefault(require("./viewer3d-reducer"));
|
|
84
|
-
var _userReducer = _interopRequireDefault(require("./user-reducer"));
|
|
85
78
|
var _default = exports["default"] = {
|
|
86
79
|
KitchenConfiguratorAreasReducer: _areasReducer["default"],
|
|
87
80
|
KitchenConfiguratorHolesReducer: _holesReducer["default"],
|
|
@@ -92,6 +85,5 @@ var _default = exports["default"] = {
|
|
|
92
85
|
KitchenConfiguratorSceneReducer: _sceneReducer["default"],
|
|
93
86
|
KitchenConfiguratorVerticesReducer: _verticesReducer["default"],
|
|
94
87
|
KitchenConfiguratorViewer2dReducer: _viewer2dReducer["default"],
|
|
95
|
-
KitchenConfiguratorViewer3dReducer: _viewer3dReducer["default"]
|
|
96
|
-
KitchenConfiguratorUserReducer: _userReducer["default"]
|
|
88
|
+
KitchenConfiguratorViewer3dReducer: _viewer3dReducer["default"]
|
|
97
89
|
};
|
package/lib/reducers/reducer.js
CHANGED
|
@@ -21,6 +21,5 @@ function appReducer(state, action) {
|
|
|
21
21
|
if (_constants.GROUP_ACTIONS[action.type]) return _export.KitchenConfiguratorGroupsReducer.apply(void 0, arguments);
|
|
22
22
|
if (_constants.SCENE_ACTIONS[action.type]) return _export.KitchenConfiguratorSceneReducer.apply(void 0, arguments);
|
|
23
23
|
if (_constants.VERTEX_ACTIONS[action.type]) return _export.KitchenConfiguratorVerticesReducer.apply(void 0, arguments);
|
|
24
|
-
if (_constants.USER_ACTIONS[action.type]) return _export.KitchenConfiguratorUserReducer.apply(void 0, arguments);
|
|
25
24
|
return state || initialState;
|
|
26
25
|
}
|