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
package/es/devLiteRenderer.js
CHANGED
|
@@ -6,21 +6,22 @@ import { Map } from 'immutable';
|
|
|
6
6
|
import ContainerDimensions from 'react-container-dimensions';
|
|
7
7
|
import projectItemsCatalog from "./mocks/projectItemsCatalog.json";
|
|
8
8
|
import mockProps from "./mocks/mockProps.json";
|
|
9
|
-
import cabinetPaylod from "./mocks/
|
|
9
|
+
import cabinetPaylod from "./mocks/cabinetPayload_new.json";
|
|
10
10
|
import cabinetW0940Payload from "./mocks/cabinetPayload.json";
|
|
11
11
|
import appliancePaylod from "./mocks/appliancePayload.json";
|
|
12
12
|
import doorStylePaylod2 from "./mocks/doorStylePayload2.json";
|
|
13
|
+
import doorStylePayloadNew from "./mocks/doorStylePayload_new.json";
|
|
13
14
|
import roomShapePayload from "./mocks/roomShapePayload.json";
|
|
14
15
|
import itemCDSPayload from "./mocks/itemCDSPayload.json";
|
|
15
16
|
import lightingPayload from "./mocks/lightingPayload.json";
|
|
16
17
|
import furnishingPayload from "./mocks/furnishingPayload.json";
|
|
17
|
-
import rectangleData from "./mocks/rectangleShape.json";
|
|
18
18
|
import moldingPayload from "./mocks/moldingPayload.json";
|
|
19
19
|
import replaceCabinetPayload from "./mocks/replaceCabinetPayload.json";
|
|
20
|
+
import holesPayload from "./mocks/holesPayload.json";
|
|
20
21
|
import ReactDOM from 'react-dom';
|
|
21
22
|
import LiteRenderer from "./LiteRenderer";
|
|
22
23
|
import { Button } from 'antd';
|
|
23
|
-
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, BACK_DIST_ANG, ATT_ITEM_POS, ATT_ITEM_ROTATION, ATT_LINE_LENGTH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE,
|
|
24
|
+
import { LEFT, RIGHT, TOP, BOTTOM, EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, EXTERNAL_EVENT_NEW_PROJECT, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_ADD_ROOM_SHAPE, EXTERNAL_EVENT_ZOOM_IN, EXTERNAL_EVENT_ZOOM_OUT, EXTERNAL_EVENT_UNDO, EXTERNAL_EVENT_REDO, EXTERNAL_EVENT_SET_MOLDING, EXTERNAL_EVENT_PROJECT_SETTING, PROJECT_SETTING_OPTION, EXTERNAL_EVENT_SYNC_SCENE, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, BACK_DIST_ANG, ATT_ITEM_POS, ATT_ITEM_ROTATION, ATT_LINE_LENGTH, EXTERNAL_EVENT_UPDATE_PROPERTY, PROP_FLIP_DOOR_HANDLE, PROP_OPEN_DOORS, EXTERNAL_EVENT_LOAD_PROJECT, INTERNAL_EVENT_ITEMS_CATALOG, EXTERNAL_EVENT_ADD_HOLE, EXTERNAL_EVENT_CENTERING_2D, PROP_ALTITUDE, EXTERNAL_EVENT_DUPLICATE_ELEMENT, ELEMENT_ITEM, EXTERNAL_EVENT_DELETE_ELEMENT, PROP_RESIZE_WIDTH, EXTERNAL_EVENT_REPLACE_CABINET, EXTERNAL_EVENT_SET_FINISHING, FINISHING_TYPE, EXTERNAL_EVENT_ROTATE_PAN, DOORSTYLE_SCOPE_ALL, ATT_HOLE_OFFSET_A, ATT_HOLE_OFFSET_B, DEFAULT_INTERIOR_URL, DEFAULT_DOOR_HANDLE_TEXTURE_URL } from "./constants";
|
|
24
25
|
import { convert } from "./utils/convert-units-lite";
|
|
25
26
|
|
|
26
27
|
// --- renderer props ---
|
|
@@ -60,6 +61,9 @@ function WorkSpace(props) {
|
|
|
60
61
|
externalEvent = _useState2[0],
|
|
61
62
|
setExternalEvent = _useState2[1];
|
|
62
63
|
var offset = 5;
|
|
64
|
+
var holeButtons = Array.isArray(holesPayload) ? [holesPayload.find(function (hole) {
|
|
65
|
+
return hole && !hole.is_deleted;
|
|
66
|
+
})] : [];
|
|
63
67
|
return /*#__PURE__*/React.createElement("div", {
|
|
64
68
|
className: "flex gap-4"
|
|
65
69
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -78,7 +82,7 @@ function WorkSpace(props) {
|
|
|
78
82
|
var evt = {
|
|
79
83
|
type: EXTERNAL_EVENT_LOAD_PROJECT,
|
|
80
84
|
// send request for sync scene data to 3DTool
|
|
81
|
-
payload:
|
|
85
|
+
payload: mockProps.projectElement[0].project_data
|
|
82
86
|
};
|
|
83
87
|
setExternalEvent(evt);
|
|
84
88
|
}
|
|
@@ -237,6 +241,18 @@ function WorkSpace(props) {
|
|
|
237
241
|
setExternalEvent(evt);
|
|
238
242
|
}
|
|
239
243
|
}, "DoorStyle (Change into Midtown White Shaker)"), /*#__PURE__*/React.createElement(Button, {
|
|
244
|
+
actionType: "danger",
|
|
245
|
+
onClick: function onClick() {
|
|
246
|
+
var evt = {
|
|
247
|
+
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
248
|
+
payload: {
|
|
249
|
+
doorStyle: doorStylePayloadNew === null || doorStylePayloadNew === void 0 ? void 0 : doorStylePayloadNew.doorStyle,
|
|
250
|
+
applyScope: doorStylePayloadNew === null || doorStylePayloadNew === void 0 ? void 0 : doorStylePayloadNew.applyScope
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
setExternalEvent(evt);
|
|
254
|
+
}
|
|
255
|
+
}, "DoorStyle Change(New-Cambriage)"), /*#__PURE__*/React.createElement(Button, {
|
|
240
256
|
actionType: "danger",
|
|
241
257
|
onClick: function onClick() {
|
|
242
258
|
var evt = {
|
|
@@ -245,7 +261,6 @@ function WorkSpace(props) {
|
|
|
245
261
|
roomShapeType: 'rectangle',
|
|
246
262
|
width: 250,
|
|
247
263
|
height: 100,
|
|
248
|
-
measurementUnit: 'in',
|
|
249
264
|
doorStyle: {
|
|
250
265
|
id: 36,
|
|
251
266
|
type: 'door',
|
|
@@ -264,70 +279,70 @@ function WorkSpace(props) {
|
|
|
264
279
|
doorStyles: {
|
|
265
280
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
266
281
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
267
|
-
interior:
|
|
282
|
+
interior: DEFAULT_INTERIOR_URL,
|
|
268
283
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
269
284
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
270
285
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
271
286
|
base_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
272
|
-
door_handle_1:
|
|
273
|
-
fixed_drawer_door_handle_1:
|
|
274
|
-
drawer_door_handle_1:
|
|
287
|
+
door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
288
|
+
fixed_drawer_door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
289
|
+
drawer_door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
275
290
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
276
291
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
277
292
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
278
293
|
base_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
279
|
-
door_handle_2:
|
|
280
|
-
fixed_drawer_door_handle_2:
|
|
281
|
-
drawer_door_handle_2:
|
|
294
|
+
door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
295
|
+
fixed_drawer_door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
296
|
+
drawer_door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
282
297
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
283
298
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
284
299
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
285
300
|
base_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
286
|
-
door_handle_3:
|
|
287
|
-
fixed_drawer_door_handle_3:
|
|
288
|
-
drawer_door_handle_3:
|
|
301
|
+
door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
302
|
+
fixed_drawer_door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
303
|
+
drawer_door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
289
304
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
290
305
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
291
306
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
292
307
|
base_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
293
|
-
door_handle_4:
|
|
294
|
-
fixed_drawer_door_handle_4:
|
|
295
|
-
drawer_door_handle_4:
|
|
308
|
+
door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
309
|
+
fixed_drawer_door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
310
|
+
drawer_door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
296
311
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
297
312
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
298
313
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
299
314
|
base_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
300
|
-
door_handle_5:
|
|
301
|
-
fixed_drawer_door_handle_5:
|
|
302
|
-
drawer_door_handle_5:
|
|
315
|
+
door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
316
|
+
fixed_drawer_door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
317
|
+
drawer_door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
303
318
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
304
319
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
305
320
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
306
321
|
base_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
307
|
-
door_handle_6:
|
|
308
|
-
fixed_drawer_door_handle_6:
|
|
309
|
-
drawer_door_handle_6:
|
|
322
|
+
door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
323
|
+
fixed_drawer_door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
324
|
+
drawer_door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
310
325
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
311
326
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
312
327
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
313
328
|
base_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
314
|
-
door_handle_7:
|
|
315
|
-
fixed_drawer_door_handle_7:
|
|
316
|
-
drawer_door_handle_7:
|
|
329
|
+
door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
330
|
+
fixed_drawer_door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
331
|
+
drawer_door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
317
332
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
318
333
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
319
334
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
320
335
|
base_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
321
|
-
door_handle_8:
|
|
322
|
-
fixed_drawer_door_handle_8:
|
|
323
|
-
drawer_door_handle_8:
|
|
336
|
+
door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
337
|
+
fixed_drawer_door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
338
|
+
drawer_door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
324
339
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
325
340
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
326
341
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
327
342
|
base_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
328
|
-
door_handle_9:
|
|
329
|
-
fixed_drawer_door_handle_9:
|
|
330
|
-
drawer_door_handle_9:
|
|
343
|
+
door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
344
|
+
fixed_drawer_door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
345
|
+
drawer_door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL
|
|
331
346
|
},
|
|
332
347
|
installation_types: [125, 124]
|
|
333
348
|
}
|
|
@@ -362,70 +377,70 @@ function WorkSpace(props) {
|
|
|
362
377
|
doorStyles: {
|
|
363
378
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
364
379
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
365
|
-
interior:
|
|
380
|
+
interior: DEFAULT_INTERIOR_URL,
|
|
366
381
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
367
382
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
368
383
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
369
384
|
base_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
370
|
-
door_handle_1:
|
|
371
|
-
fixed_drawer_door_handle_1:
|
|
372
|
-
drawer_door_handle_1:
|
|
385
|
+
door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
386
|
+
fixed_drawer_door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
387
|
+
drawer_door_handle_1: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
373
388
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
374
389
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
375
390
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
376
391
|
base_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
377
|
-
door_handle_2:
|
|
378
|
-
fixed_drawer_door_handle_2:
|
|
379
|
-
drawer_door_handle_2:
|
|
392
|
+
door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
393
|
+
fixed_drawer_door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
394
|
+
drawer_door_handle_2: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
380
395
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
381
396
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
382
397
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
383
398
|
base_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
384
|
-
door_handle_3:
|
|
385
|
-
fixed_drawer_door_handle_3:
|
|
386
|
-
drawer_door_handle_3:
|
|
399
|
+
door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
400
|
+
fixed_drawer_door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
401
|
+
drawer_door_handle_3: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
387
402
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
388
403
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
389
404
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
390
405
|
base_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
391
|
-
door_handle_4:
|
|
392
|
-
fixed_drawer_door_handle_4:
|
|
393
|
-
drawer_door_handle_4:
|
|
406
|
+
door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
407
|
+
fixed_drawer_door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
408
|
+
drawer_door_handle_4: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
394
409
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
395
410
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
396
411
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
397
412
|
base_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
398
|
-
door_handle_5:
|
|
399
|
-
fixed_drawer_door_handle_5:
|
|
400
|
-
drawer_door_handle_5:
|
|
413
|
+
door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
414
|
+
fixed_drawer_door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
415
|
+
drawer_door_handle_5: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
401
416
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
402
417
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
403
418
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
404
419
|
base_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
405
|
-
door_handle_6:
|
|
406
|
-
fixed_drawer_door_handle_6:
|
|
407
|
-
drawer_door_handle_6:
|
|
420
|
+
door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
421
|
+
fixed_drawer_door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
422
|
+
drawer_door_handle_6: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
408
423
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
409
424
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
410
425
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
411
426
|
base_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
412
|
-
door_handle_7:
|
|
413
|
-
fixed_drawer_door_handle_7:
|
|
414
|
-
drawer_door_handle_7:
|
|
427
|
+
door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
428
|
+
fixed_drawer_door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
429
|
+
drawer_door_handle_7: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
415
430
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
416
431
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
417
432
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
418
433
|
base_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
419
|
-
door_handle_8:
|
|
420
|
-
fixed_drawer_door_handle_8:
|
|
421
|
-
drawer_door_handle_8:
|
|
434
|
+
door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
435
|
+
fixed_drawer_door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
436
|
+
drawer_door_handle_8: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
422
437
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
423
438
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
424
439
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
425
440
|
base_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
426
|
-
door_handle_9:
|
|
427
|
-
fixed_drawer_door_handle_9:
|
|
428
|
-
drawer_door_handle_9:
|
|
441
|
+
door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
442
|
+
fixed_drawer_door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
443
|
+
drawer_door_handle_9: DEFAULT_DOOR_HANDLE_TEXTURE_URL
|
|
429
444
|
},
|
|
430
445
|
installation_types: [125, 124]
|
|
431
446
|
}
|
|
@@ -548,6 +563,38 @@ function WorkSpace(props) {
|
|
|
548
563
|
setExternalEvent(evt);
|
|
549
564
|
}
|
|
550
565
|
}, "OP-Wall Length to 100"), /*#__PURE__*/React.createElement(Button, {
|
|
566
|
+
actionType: "danger",
|
|
567
|
+
onClick: function onClick() {
|
|
568
|
+
var evt = {
|
|
569
|
+
type: EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
570
|
+
payload: {
|
|
571
|
+
attributeName: ATT_HOLE_OFFSET_A,
|
|
572
|
+
value: 20
|
|
573
|
+
},
|
|
574
|
+
callback: function callback(updatedAttributeForm) {
|
|
575
|
+
console.log(updatedAttributeForm);
|
|
576
|
+
// Do something here with new attributes
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
setExternalEvent(evt);
|
|
580
|
+
}
|
|
581
|
+
}, "OP-Window Left Distance To 20"), /*#__PURE__*/React.createElement(Button, {
|
|
582
|
+
actionType: "danger",
|
|
583
|
+
onClick: function onClick() {
|
|
584
|
+
var evt = {
|
|
585
|
+
type: EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
586
|
+
payload: {
|
|
587
|
+
attributeName: ATT_HOLE_OFFSET_B,
|
|
588
|
+
value: 20
|
|
589
|
+
},
|
|
590
|
+
callback: function callback(updatedAttributeForm) {
|
|
591
|
+
console.log(updatedAttributeForm);
|
|
592
|
+
// Do something here with new attributes
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
setExternalEvent(evt);
|
|
596
|
+
}
|
|
597
|
+
}, "OP-Window Right Distance To 20"), /*#__PURE__*/React.createElement(Button, {
|
|
551
598
|
actionType: "danger",
|
|
552
599
|
onClick: function onClick() {
|
|
553
600
|
var evt = {
|
|
@@ -614,29 +661,21 @@ function WorkSpace(props) {
|
|
|
614
661
|
};
|
|
615
662
|
setExternalEvent(evt);
|
|
616
663
|
}
|
|
617
|
-
}, "Delete Item"),
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
type: EXTERNAL_EVENT_ADD_HOLE,
|
|
633
|
-
payload: {
|
|
634
|
-
holeName: HOLE_NAMES.DOOR_EXTERIOR
|
|
635
|
-
}
|
|
636
|
-
};
|
|
637
|
-
setExternalEvent(evt);
|
|
638
|
-
}
|
|
639
|
-
}, "Add Hole (DOOR_EXTERIOR)"), /*#__PURE__*/React.createElement(Button, {
|
|
664
|
+
}, "Delete Item"), holeButtons.map(function (hole) {
|
|
665
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
666
|
+
key: "".concat(hole.type, "-").concat(hole.name),
|
|
667
|
+
actionType: "danger",
|
|
668
|
+
onClick: function onClick() {
|
|
669
|
+
var evt = {
|
|
670
|
+
type: EXTERNAL_EVENT_ADD_HOLE,
|
|
671
|
+
payload: {
|
|
672
|
+
holeName: hole.name
|
|
673
|
+
}
|
|
674
|
+
};
|
|
675
|
+
setExternalEvent(evt);
|
|
676
|
+
}
|
|
677
|
+
}, "Add Hole (".concat(hole.type, " - ").concat(hole.name, ")"));
|
|
678
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
640
679
|
actionType: "danger",
|
|
641
680
|
onClick: function onClick() {
|
|
642
681
|
var evt = {
|
|
@@ -860,6 +899,7 @@ function WorkSpace(props) {
|
|
|
860
899
|
logoImg: "/assets/logo.png",
|
|
861
900
|
companyUrl: "https://example.com",
|
|
862
901
|
toolbarButtons: [],
|
|
902
|
+
holes: holesPayload,
|
|
863
903
|
externalEvent: externalEvent,
|
|
864
904
|
onInternalEvent: onInternalEvent,
|
|
865
905
|
onError: function onError(payload) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EXTERNAL_EVENT_ADD_ITEM, EXTERNAL_EVENT_CHANGE_DOORSTYLE, EXTERNAL_EVENT_LOAD_PROJECT, EXTERNAL_EVENT_REPLACE_CABINET } from "../../constants";
|
|
2
|
+
import { isEmpty } from "../../utils/helper";
|
|
3
|
+
import { mapAddItemEvent } from "./mappers/addItemMapper";
|
|
4
|
+
import { mapChangeDoorStyleEvent } from "./mappers/changeDoorStyleMapper";
|
|
5
|
+
import { mapLoadProjectEvent } from "./mappers/loadProjectMapper";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Main dispatcher for external event payload mapping.
|
|
9
|
+
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
10
|
+
* without changing the behavior of the existing 3D tool.
|
|
11
|
+
*/
|
|
12
|
+
export function mapExternalEventPayload(evt, state) {
|
|
13
|
+
if (isEmpty(evt)) return null;
|
|
14
|
+
switch (evt.type) {
|
|
15
|
+
case EXTERNAL_EVENT_REPLACE_CABINET:
|
|
16
|
+
evt.payload.replaceItemInfo = mapAddItemEvent(evt.payload.replaceItemInfo, state);
|
|
17
|
+
return evt;
|
|
18
|
+
case EXTERNAL_EVENT_ADD_ITEM:
|
|
19
|
+
evt.payload = mapAddItemEvent(evt.payload, state);
|
|
20
|
+
return evt;
|
|
21
|
+
case EXTERNAL_EVENT_CHANGE_DOORSTYLE:
|
|
22
|
+
return mapChangeDoorStyleEvent(evt, state);
|
|
23
|
+
case EXTERNAL_EVENT_LOAD_PROJECT:
|
|
24
|
+
return mapLoadProjectEvent(evt, state);
|
|
25
|
+
default:
|
|
26
|
+
return evt;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
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; }
|
|
4
|
+
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) { _defineProperty(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; }
|
|
5
|
+
import { isEmpty } from "../../../utils/helper";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
9
|
+
*
|
|
10
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
11
|
+
* expected by the existing 3D tool.
|
|
12
|
+
*
|
|
13
|
+
* @param {Object} evt.payload External event payload
|
|
14
|
+
* @param {Immutable.Map} state Planner state
|
|
15
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
16
|
+
*/
|
|
17
|
+
export function mapAddItemEvent(evtPayload, state) {
|
|
18
|
+
var _evtPayload;
|
|
19
|
+
// make structure_json using assest3D
|
|
20
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
21
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
22
|
+
var tempStructure = {};
|
|
23
|
+
var tempPlaceholders = [];
|
|
24
|
+
var cabinetDoorFinishId, animation;
|
|
25
|
+
if (isEmpty(evtPayload)) return null;
|
|
26
|
+
var cabinetDoorFinish = (_evtPayload = evtPayload) === null || _evtPayload === void 0 ? void 0 : _evtPayload.ccdf;
|
|
27
|
+
var assets3d = cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.assets3d;
|
|
28
|
+
if (isEmpty(assets3d)) {
|
|
29
|
+
// nothing to map; keep event as-is
|
|
30
|
+
return evtPayload;
|
|
31
|
+
}
|
|
32
|
+
if (!isEmpty(cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.id)) {
|
|
33
|
+
cabinetDoorFinishId = cabinetDoorFinish.id;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// clone so we can push injected handle assets without mutating original
|
|
37
|
+
var updatedAssets3D = _toConsumableArray(assets3d);
|
|
38
|
+
|
|
39
|
+
// first pass: inject door-handle assets where needed
|
|
40
|
+
assets3d.forEach(function (asItem) {
|
|
41
|
+
// make door handle
|
|
42
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
43
|
+
var phName = asItem.placeholder_name;
|
|
44
|
+
if (phName.includes('door_')) {
|
|
45
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
46
|
+
updatedAssets3D.push({
|
|
47
|
+
placeholder_name: doorHandleName,
|
|
48
|
+
gltf: layer.get('doorHandle')
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// second pass: build structure + placeholders from full asset list
|
|
55
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
56
|
+
var _evtPayload2;
|
|
57
|
+
// set base field with gltf
|
|
58
|
+
tempStructure.base = (_evtPayload2 = evtPayload) === null || _evtPayload2 === void 0 ? void 0 : _evtPayload2.gltf;
|
|
59
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
60
|
+
// make the structure using placeholder_name and gltf
|
|
61
|
+
var phName = asitem.placeholder_name;
|
|
62
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
63
|
+
phName = 'base_' + phName;
|
|
64
|
+
}
|
|
65
|
+
tempStructure[phName] = asitem.gltf;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// make the tempPlaceholders using structure and id
|
|
70
|
+
tempPlaceholders.push({
|
|
71
|
+
id: cabinetDoorFinishId,
|
|
72
|
+
structure: tempStructure
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// make the structure_json using animation and tempPlaceholders
|
|
76
|
+
var structure_json = {
|
|
77
|
+
animation: animation,
|
|
78
|
+
tempPlaceholders: tempPlaceholders
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// rebuild the cabinet payload with structure_json
|
|
82
|
+
evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
|
|
83
|
+
structure_json: structure_json
|
|
84
|
+
});
|
|
85
|
+
return evtPayload;
|
|
86
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
3
|
+
import { toJSIfNeeded } from "../../../shared/objects/immutable";
|
|
4
|
+
export function ccdfMapper(ccdf_list, layer) {
|
|
5
|
+
// This function make cabinet definition using ccdf, layer's item information and catalog
|
|
6
|
+
// console.log(ccdf_list, catalog);
|
|
7
|
+
// make structure_json list using ccdf-list
|
|
8
|
+
var cabinetDefinitionList = [];
|
|
9
|
+
var tempPlaceholders = [];
|
|
10
|
+
var structure = {};
|
|
11
|
+
var cdfId;
|
|
12
|
+
var structure_json = {};
|
|
13
|
+
var cabinetDefinition = {};
|
|
14
|
+
var layerJS = toJSIfNeeded(layer);
|
|
15
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
|
|
16
|
+
var itemKeys = Object.keys(layerJS.items);
|
|
17
|
+
var correctItemId = '';
|
|
18
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
19
|
+
if (layerJS.items[itemKeys[i]].itemID === ccdf.cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
20
|
+
}
|
|
21
|
+
var cd = layerJS.items[correctItemId];
|
|
22
|
+
if (cd.itemID === ccdf.cabinet_id) {
|
|
23
|
+
if (!isEmpty(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
24
|
+
cdfId = ccdf.id;
|
|
25
|
+
}
|
|
26
|
+
var assets3d = ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d;
|
|
27
|
+
var updatedAssets3D = _toConsumableArray(assets3d);
|
|
28
|
+
// make structure
|
|
29
|
+
assets3d.forEach(function (asItem) {
|
|
30
|
+
// make door handle
|
|
31
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
32
|
+
var phName = asItem.placeholder_name;
|
|
33
|
+
if (phName.includes('door_')) {
|
|
34
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
35
|
+
updatedAssets3D.push({
|
|
36
|
+
placeholder_name: doorHandleName,
|
|
37
|
+
gltf: layerJS.doorHandle
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
43
|
+
// set base field with gltf
|
|
44
|
+
structure.base = cd.gltf;
|
|
45
|
+
if (!isEmpty(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
46
|
+
// make the structure using placeholder_name and gltf
|
|
47
|
+
var phName = asitem.placeholder_name;
|
|
48
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
49
|
+
phName = 'base_' + phName;
|
|
50
|
+
}
|
|
51
|
+
structure[phName] = asitem.gltf;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// make tempPlaceholders
|
|
55
|
+
tempPlaceholders.push({
|
|
56
|
+
structure: structure,
|
|
57
|
+
id: cdfId
|
|
58
|
+
});
|
|
59
|
+
// make structure_json
|
|
60
|
+
structure_json = {
|
|
61
|
+
tempPlaceholders: tempPlaceholders
|
|
62
|
+
};
|
|
63
|
+
// make cabinet definition using structure_json and catalog
|
|
64
|
+
cabinetDefinition = {
|
|
65
|
+
type: cd.category,
|
|
66
|
+
itemID: cd.itemID,
|
|
67
|
+
name: cd.name,
|
|
68
|
+
long_name: cd.long_name,
|
|
69
|
+
sizeinfo: cd.sizeinfo,
|
|
70
|
+
description: cd.description,
|
|
71
|
+
prototype: cd.prototype,
|
|
72
|
+
base: cd.base,
|
|
73
|
+
shape_svg: cd.shape_svg,
|
|
74
|
+
gltf: cd.gltf,
|
|
75
|
+
structure_json: structure_json,
|
|
76
|
+
layoutpos: cd.layoutpos,
|
|
77
|
+
is_corner: cd.is_corner,
|
|
78
|
+
obj_property: cd.obj_property,
|
|
79
|
+
outline: cd.outline
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// make cabinet definition list using cabinetDefinition
|
|
83
|
+
cabinetDefinitionList.push(cabinetDefinition);
|
|
84
|
+
});
|
|
85
|
+
return cabinetDefinitionList;
|
|
86
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { isEmpty } from "../../../components/viewer2d/utils";
|
|
2
|
+
export function mapFromCCDFToCDS(ccdf_list) {
|
|
3
|
+
// This function make CDS from CCDF_List
|
|
4
|
+
var itemCDSList = [];
|
|
5
|
+
var itemCDSData = {};
|
|
6
|
+
var cabitnetDoorStyleId;
|
|
7
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
|
|
8
|
+
if (!isEmpty(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
|
|
9
|
+
cabitnetDoorStyleId = asItem.id;
|
|
10
|
+
}
|
|
11
|
+
asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
|
|
12
|
+
if (!isEmpty(as === null || as === void 0 ? void 0 : as.placeholder_name) && !isEmpty(as === null || as === void 0 ? void 0 : as.gltf)) {
|
|
13
|
+
var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
|
|
14
|
+
itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
|
|
15
|
+
}
|
|
16
|
+
itemCDSData['is_euro_cds'] = !isEmpty(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
|
|
17
|
+
itemCDSData['euro_shape_svg'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
|
|
18
|
+
itemCDSData['euro_width'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
|
|
19
|
+
itemCDSData['euro_height'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
|
|
20
|
+
itemCDSData['euro_length'] = !isEmpty(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
|
|
21
|
+
});
|
|
22
|
+
var data = [];
|
|
23
|
+
data.push(itemCDSData);
|
|
24
|
+
itemCDSList.push({
|
|
25
|
+
itemID: asItem.cabinet_id,
|
|
26
|
+
data: data,
|
|
27
|
+
cabinet_door_style_id: cabitnetDoorStyleId
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
return itemCDSList;
|
|
31
|
+
}
|