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/lib/devLiteRenderer.js
CHANGED
|
@@ -10,17 +10,18 @@ var _immutable = require("immutable");
|
|
|
10
10
|
var _reactContainerDimensions = _interopRequireDefault(require("react-container-dimensions"));
|
|
11
11
|
var _projectItemsCatalog = _interopRequireDefault(require("./mocks/projectItemsCatalog.json"));
|
|
12
12
|
var _mockProps = _interopRequireDefault(require("./mocks/mockProps.json"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var _cabinetPayload_new = _interopRequireDefault(require("./mocks/cabinetPayload_new.json"));
|
|
14
|
+
var _cabinetPayload = _interopRequireDefault(require("./mocks/cabinetPayload.json"));
|
|
15
15
|
var _appliancePayload = _interopRequireDefault(require("./mocks/appliancePayload.json"));
|
|
16
16
|
var _doorStylePayload = _interopRequireDefault(require("./mocks/doorStylePayload2.json"));
|
|
17
|
+
var _doorStylePayload_new = _interopRequireDefault(require("./mocks/doorStylePayload_new.json"));
|
|
17
18
|
var _roomShapePayload = _interopRequireDefault(require("./mocks/roomShapePayload.json"));
|
|
18
19
|
var _itemCDSPayload = _interopRequireDefault(require("./mocks/itemCDSPayload.json"));
|
|
19
20
|
var _lightingPayload = _interopRequireDefault(require("./mocks/lightingPayload.json"));
|
|
20
21
|
var _furnishingPayload = _interopRequireDefault(require("./mocks/furnishingPayload.json"));
|
|
21
|
-
var _rectangleShape = _interopRequireDefault(require("./mocks/rectangleShape.json"));
|
|
22
22
|
var _moldingPayload = _interopRequireDefault(require("./mocks/moldingPayload.json"));
|
|
23
23
|
var _replaceCabinetPayload = _interopRequireDefault(require("./mocks/replaceCabinetPayload.json"));
|
|
24
|
+
var _holesPayload = _interopRequireDefault(require("./mocks/holesPayload.json"));
|
|
24
25
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
25
26
|
var _LiteRenderer = _interopRequireDefault(require("./LiteRenderer"));
|
|
26
27
|
var _antd = require("antd");
|
|
@@ -64,6 +65,9 @@ function WorkSpace(props) {
|
|
|
64
65
|
externalEvent = _useState2[0],
|
|
65
66
|
setExternalEvent = _useState2[1];
|
|
66
67
|
var offset = 5;
|
|
68
|
+
var holeButtons = Array.isArray(_holesPayload["default"]) ? [_holesPayload["default"].find(function (hole) {
|
|
69
|
+
return hole && !hole.is_deleted;
|
|
70
|
+
})] : [];
|
|
67
71
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
68
72
|
className: "flex gap-4"
|
|
69
73
|
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
@@ -82,7 +86,7 @@ function WorkSpace(props) {
|
|
|
82
86
|
var evt = {
|
|
83
87
|
type: _constants.EXTERNAL_EVENT_LOAD_PROJECT,
|
|
84
88
|
// send request for sync scene data to 3DTool
|
|
85
|
-
payload:
|
|
89
|
+
payload: _mockProps["default"].projectElement[0].project_data
|
|
86
90
|
};
|
|
87
91
|
setExternalEvent(evt);
|
|
88
92
|
}
|
|
@@ -214,7 +218,7 @@ function WorkSpace(props) {
|
|
|
214
218
|
onClick: function onClick() {
|
|
215
219
|
var evt = {
|
|
216
220
|
type: _constants.EXTERNAL_EVENT_ADD_ITEM,
|
|
217
|
-
payload:
|
|
221
|
+
payload: _cabinetPayload_new["default"]
|
|
218
222
|
};
|
|
219
223
|
setExternalEvent(evt);
|
|
220
224
|
}
|
|
@@ -223,7 +227,7 @@ function WorkSpace(props) {
|
|
|
223
227
|
onClick: function onClick() {
|
|
224
228
|
var evt = {
|
|
225
229
|
type: _constants.EXTERNAL_EVENT_ADD_ITEM,
|
|
226
|
-
payload:
|
|
230
|
+
payload: _cabinetPayload["default"]
|
|
227
231
|
};
|
|
228
232
|
setExternalEvent(evt);
|
|
229
233
|
}
|
|
@@ -241,6 +245,18 @@ function WorkSpace(props) {
|
|
|
241
245
|
setExternalEvent(evt);
|
|
242
246
|
}
|
|
243
247
|
}, "DoorStyle (Change into Midtown White Shaker)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
248
|
+
actionType: "danger",
|
|
249
|
+
onClick: function onClick() {
|
|
250
|
+
var evt = {
|
|
251
|
+
type: _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
252
|
+
payload: {
|
|
253
|
+
doorStyle: _doorStylePayload_new["default"] === null || _doorStylePayload_new["default"] === void 0 ? void 0 : _doorStylePayload_new["default"].doorStyle,
|
|
254
|
+
applyScope: _doorStylePayload_new["default"] === null || _doorStylePayload_new["default"] === void 0 ? void 0 : _doorStylePayload_new["default"].applyScope
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
setExternalEvent(evt);
|
|
258
|
+
}
|
|
259
|
+
}, "DoorStyle Change(New-Cambriage)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
244
260
|
actionType: "danger",
|
|
245
261
|
onClick: function onClick() {
|
|
246
262
|
var evt = {
|
|
@@ -249,7 +265,6 @@ function WorkSpace(props) {
|
|
|
249
265
|
roomShapeType: 'rectangle',
|
|
250
266
|
width: 250,
|
|
251
267
|
height: 100,
|
|
252
|
-
measurementUnit: 'in',
|
|
253
268
|
doorStyle: {
|
|
254
269
|
id: 36,
|
|
255
270
|
type: 'door',
|
|
@@ -268,70 +283,70 @@ function WorkSpace(props) {
|
|
|
268
283
|
doorStyles: {
|
|
269
284
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
270
285
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
271
|
-
interior:
|
|
286
|
+
interior: _constants.DEFAULT_INTERIOR_URL,
|
|
272
287
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
273
288
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
274
289
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
275
290
|
base_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
276
|
-
door_handle_1:
|
|
277
|
-
fixed_drawer_door_handle_1:
|
|
278
|
-
drawer_door_handle_1:
|
|
291
|
+
door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
292
|
+
fixed_drawer_door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
293
|
+
drawer_door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
279
294
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
280
295
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
281
296
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
282
297
|
base_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
283
|
-
door_handle_2:
|
|
284
|
-
fixed_drawer_door_handle_2:
|
|
285
|
-
drawer_door_handle_2:
|
|
298
|
+
door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
299
|
+
fixed_drawer_door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
300
|
+
drawer_door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
286
301
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
287
302
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
288
303
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
289
304
|
base_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
290
|
-
door_handle_3:
|
|
291
|
-
fixed_drawer_door_handle_3:
|
|
292
|
-
drawer_door_handle_3:
|
|
305
|
+
door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
306
|
+
fixed_drawer_door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
307
|
+
drawer_door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
293
308
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
294
309
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
295
310
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
296
311
|
base_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
297
|
-
door_handle_4:
|
|
298
|
-
fixed_drawer_door_handle_4:
|
|
299
|
-
drawer_door_handle_4:
|
|
312
|
+
door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
313
|
+
fixed_drawer_door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
314
|
+
drawer_door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
300
315
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
301
316
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
302
317
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
303
318
|
base_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
304
|
-
door_handle_5:
|
|
305
|
-
fixed_drawer_door_handle_5:
|
|
306
|
-
drawer_door_handle_5:
|
|
319
|
+
door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
320
|
+
fixed_drawer_door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
321
|
+
drawer_door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
307
322
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
308
323
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
309
324
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
310
325
|
base_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
311
|
-
door_handle_6:
|
|
312
|
-
fixed_drawer_door_handle_6:
|
|
313
|
-
drawer_door_handle_6:
|
|
326
|
+
door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
327
|
+
fixed_drawer_door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
328
|
+
drawer_door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
314
329
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
315
330
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
316
331
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
317
332
|
base_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
318
|
-
door_handle_7:
|
|
319
|
-
fixed_drawer_door_handle_7:
|
|
320
|
-
drawer_door_handle_7:
|
|
333
|
+
door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
334
|
+
fixed_drawer_door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
335
|
+
drawer_door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
321
336
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
322
337
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
323
338
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
324
339
|
base_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
325
|
-
door_handle_8:
|
|
326
|
-
fixed_drawer_door_handle_8:
|
|
327
|
-
drawer_door_handle_8:
|
|
340
|
+
door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
341
|
+
fixed_drawer_door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
342
|
+
drawer_door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
328
343
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
329
344
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
330
345
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
331
346
|
base_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
332
|
-
door_handle_9:
|
|
333
|
-
fixed_drawer_door_handle_9:
|
|
334
|
-
drawer_door_handle_9:
|
|
347
|
+
door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
348
|
+
fixed_drawer_door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
349
|
+
drawer_door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL
|
|
335
350
|
},
|
|
336
351
|
installation_types: [125, 124]
|
|
337
352
|
}
|
|
@@ -366,70 +381,70 @@ function WorkSpace(props) {
|
|
|
366
381
|
doorStyles: {
|
|
367
382
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
368
383
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
369
|
-
interior:
|
|
384
|
+
interior: _constants.DEFAULT_INTERIOR_URL,
|
|
370
385
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
371
386
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
372
387
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
373
388
|
base_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
374
|
-
door_handle_1:
|
|
375
|
-
fixed_drawer_door_handle_1:
|
|
376
|
-
drawer_door_handle_1:
|
|
389
|
+
door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
390
|
+
fixed_drawer_door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
391
|
+
drawer_door_handle_1: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
377
392
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
378
393
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
379
394
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
380
395
|
base_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
381
|
-
door_handle_2:
|
|
382
|
-
fixed_drawer_door_handle_2:
|
|
383
|
-
drawer_door_handle_2:
|
|
396
|
+
door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
397
|
+
fixed_drawer_door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
398
|
+
drawer_door_handle_2: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
384
399
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
385
400
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
386
401
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
387
402
|
base_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
388
|
-
door_handle_3:
|
|
389
|
-
fixed_drawer_door_handle_3:
|
|
390
|
-
drawer_door_handle_3:
|
|
403
|
+
door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
404
|
+
fixed_drawer_door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
405
|
+
drawer_door_handle_3: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
391
406
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
392
407
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
393
408
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
394
409
|
base_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
395
|
-
door_handle_4:
|
|
396
|
-
fixed_drawer_door_handle_4:
|
|
397
|
-
drawer_door_handle_4:
|
|
410
|
+
door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
411
|
+
fixed_drawer_door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
412
|
+
drawer_door_handle_4: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
398
413
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
399
414
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
400
415
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
401
416
|
base_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
402
|
-
door_handle_5:
|
|
403
|
-
fixed_drawer_door_handle_5:
|
|
404
|
-
drawer_door_handle_5:
|
|
417
|
+
door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
418
|
+
fixed_drawer_door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
419
|
+
drawer_door_handle_5: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
405
420
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
406
421
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
407
422
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
408
423
|
base_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
409
|
-
door_handle_6:
|
|
410
|
-
fixed_drawer_door_handle_6:
|
|
411
|
-
drawer_door_handle_6:
|
|
424
|
+
door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
425
|
+
fixed_drawer_door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
426
|
+
drawer_door_handle_6: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
412
427
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
413
428
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
414
429
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
415
430
|
base_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
416
|
-
door_handle_7:
|
|
417
|
-
fixed_drawer_door_handle_7:
|
|
418
|
-
drawer_door_handle_7:
|
|
431
|
+
door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
432
|
+
fixed_drawer_door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
433
|
+
drawer_door_handle_7: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
419
434
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
420
435
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
421
436
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
422
437
|
base_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
423
|
-
door_handle_8:
|
|
424
|
-
fixed_drawer_door_handle_8:
|
|
425
|
-
drawer_door_handle_8:
|
|
438
|
+
door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
439
|
+
fixed_drawer_door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
440
|
+
drawer_door_handle_8: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
426
441
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
427
442
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
428
443
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
429
444
|
base_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
430
|
-
door_handle_9:
|
|
431
|
-
fixed_drawer_door_handle_9:
|
|
432
|
-
drawer_door_handle_9:
|
|
445
|
+
door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
446
|
+
fixed_drawer_door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL,
|
|
447
|
+
drawer_door_handle_9: _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL
|
|
433
448
|
},
|
|
434
449
|
installation_types: [125, 124]
|
|
435
450
|
}
|
|
@@ -552,6 +567,38 @@ function WorkSpace(props) {
|
|
|
552
567
|
setExternalEvent(evt);
|
|
553
568
|
}
|
|
554
569
|
}, "OP-Wall Length to 100"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
570
|
+
actionType: "danger",
|
|
571
|
+
onClick: function onClick() {
|
|
572
|
+
var evt = {
|
|
573
|
+
type: _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
574
|
+
payload: {
|
|
575
|
+
attributeName: _constants.ATT_HOLE_OFFSET_A,
|
|
576
|
+
value: 20
|
|
577
|
+
},
|
|
578
|
+
callback: function callback(updatedAttributeForm) {
|
|
579
|
+
console.log(updatedAttributeForm);
|
|
580
|
+
// Do something here with new attributes
|
|
581
|
+
}
|
|
582
|
+
};
|
|
583
|
+
setExternalEvent(evt);
|
|
584
|
+
}
|
|
585
|
+
}, "OP-Window Left Distance To 20"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
586
|
+
actionType: "danger",
|
|
587
|
+
onClick: function onClick() {
|
|
588
|
+
var evt = {
|
|
589
|
+
type: _constants.EXTERNAL_EVENT_UPDATE_ATTRIBUTE,
|
|
590
|
+
payload: {
|
|
591
|
+
attributeName: _constants.ATT_HOLE_OFFSET_B,
|
|
592
|
+
value: 20
|
|
593
|
+
},
|
|
594
|
+
callback: function callback(updatedAttributeForm) {
|
|
595
|
+
console.log(updatedAttributeForm);
|
|
596
|
+
// Do something here with new attributes
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
setExternalEvent(evt);
|
|
600
|
+
}
|
|
601
|
+
}, "OP-Window Right Distance To 20"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
555
602
|
actionType: "danger",
|
|
556
603
|
onClick: function onClick() {
|
|
557
604
|
var evt = {
|
|
@@ -618,29 +665,21 @@ function WorkSpace(props) {
|
|
|
618
665
|
};
|
|
619
666
|
setExternalEvent(evt);
|
|
620
667
|
}
|
|
621
|
-
}, "Delete Item"),
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
type: _constants.EXTERNAL_EVENT_ADD_HOLE,
|
|
637
|
-
payload: {
|
|
638
|
-
holeName: _constants.HOLE_NAMES.DOOR_EXTERIOR
|
|
639
|
-
}
|
|
640
|
-
};
|
|
641
|
-
setExternalEvent(evt);
|
|
642
|
-
}
|
|
643
|
-
}, "Add Hole (DOOR_EXTERIOR)"), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
668
|
+
}, "Delete Item"), holeButtons.map(function (hole) {
|
|
669
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
670
|
+
key: "".concat(hole.type, "-").concat(hole.name),
|
|
671
|
+
actionType: "danger",
|
|
672
|
+
onClick: function onClick() {
|
|
673
|
+
var evt = {
|
|
674
|
+
type: _constants.EXTERNAL_EVENT_ADD_HOLE,
|
|
675
|
+
payload: {
|
|
676
|
+
holeName: hole.name
|
|
677
|
+
}
|
|
678
|
+
};
|
|
679
|
+
setExternalEvent(evt);
|
|
680
|
+
}
|
|
681
|
+
}, "Add Hole (".concat(hole.type, " - ").concat(hole.name, ")"));
|
|
682
|
+
}), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
644
683
|
actionType: "danger",
|
|
645
684
|
onClick: function onClick() {
|
|
646
685
|
var evt = {
|
|
@@ -864,6 +903,7 @@ function WorkSpace(props) {
|
|
|
864
903
|
logoImg: "/assets/logo.png",
|
|
865
904
|
companyUrl: "https://example.com",
|
|
866
905
|
toolbarButtons: [],
|
|
906
|
+
holes: _holesPayload["default"],
|
|
867
907
|
externalEvent: externalEvent,
|
|
868
908
|
onInternalEvent: onInternalEvent,
|
|
869
909
|
onError: function onError(payload) {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mapExternalEventPayload = mapExternalEventPayload;
|
|
7
|
+
var _constants = require("../../constants");
|
|
8
|
+
var _helper = require("../../utils/helper");
|
|
9
|
+
var _addItemMapper = require("./mappers/addItemMapper");
|
|
10
|
+
var _changeDoorStyleMapper = require("./mappers/changeDoorStyleMapper");
|
|
11
|
+
var _loadProjectMapper = require("./mappers/loadProjectMapper");
|
|
12
|
+
/**
|
|
13
|
+
* Main dispatcher for external event payload mapping.
|
|
14
|
+
* Converts new API formats into legacy internal formats (e.g. assets3d -> structure_json)
|
|
15
|
+
* without changing the behavior of the existing 3D tool.
|
|
16
|
+
*/
|
|
17
|
+
function mapExternalEventPayload(evt, state) {
|
|
18
|
+
if ((0, _helper.isEmpty)(evt)) return null;
|
|
19
|
+
switch (evt.type) {
|
|
20
|
+
case _constants.EXTERNAL_EVENT_REPLACE_CABINET:
|
|
21
|
+
evt.payload.replaceItemInfo = (0, _addItemMapper.mapAddItemEvent)(evt.payload.replaceItemInfo, state);
|
|
22
|
+
return evt;
|
|
23
|
+
case _constants.EXTERNAL_EVENT_ADD_ITEM:
|
|
24
|
+
evt.payload = (0, _addItemMapper.mapAddItemEvent)(evt.payload, state);
|
|
25
|
+
return evt;
|
|
26
|
+
case _constants.EXTERNAL_EVENT_CHANGE_DOORSTYLE:
|
|
27
|
+
return (0, _changeDoorStyleMapper.mapChangeDoorStyleEvent)(evt, state);
|
|
28
|
+
case _constants.EXTERNAL_EVENT_LOAD_PROJECT:
|
|
29
|
+
return (0, _loadProjectMapper.mapLoadProjectEvent)(evt, state);
|
|
30
|
+
default:
|
|
31
|
+
return evt;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mapAddItemEvent = mapAddItemEvent;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
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
|
+
/**
|
|
14
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
15
|
+
*
|
|
16
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
17
|
+
* expected by the existing 3D tool.
|
|
18
|
+
*
|
|
19
|
+
* @param {Object} evt.payload External event payload
|
|
20
|
+
* @param {Immutable.Map} state Planner state
|
|
21
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
22
|
+
*/
|
|
23
|
+
function mapAddItemEvent(evtPayload, state) {
|
|
24
|
+
var _evtPayload;
|
|
25
|
+
// make structure_json using assest3D
|
|
26
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
27
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
28
|
+
var tempStructure = {};
|
|
29
|
+
var tempPlaceholders = [];
|
|
30
|
+
var cabinetDoorFinishId, animation;
|
|
31
|
+
if ((0, _helper.isEmpty)(evtPayload)) return null;
|
|
32
|
+
var cabinetDoorFinish = (_evtPayload = evtPayload) === null || _evtPayload === void 0 ? void 0 : _evtPayload.ccdf;
|
|
33
|
+
var assets3d = cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.assets3d;
|
|
34
|
+
if ((0, _helper.isEmpty)(assets3d)) {
|
|
35
|
+
// nothing to map; keep event as-is
|
|
36
|
+
return evtPayload;
|
|
37
|
+
}
|
|
38
|
+
if (!(0, _helper.isEmpty)(cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.id)) {
|
|
39
|
+
cabinetDoorFinishId = cabinetDoorFinish.id;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// clone so we can push injected handle assets without mutating original
|
|
43
|
+
var updatedAssets3D = (0, _toConsumableArray2["default"])(assets3d);
|
|
44
|
+
|
|
45
|
+
// first pass: inject door-handle assets where needed
|
|
46
|
+
assets3d.forEach(function (asItem) {
|
|
47
|
+
// make door handle
|
|
48
|
+
if (!(0, _helper.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
49
|
+
var phName = asItem.placeholder_name;
|
|
50
|
+
if (phName.includes('door_')) {
|
|
51
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
52
|
+
updatedAssets3D.push({
|
|
53
|
+
placeholder_name: doorHandleName,
|
|
54
|
+
gltf: layer.get('doorHandle')
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// second pass: build structure + placeholders from full asset list
|
|
61
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
62
|
+
var _evtPayload2;
|
|
63
|
+
// set base field with gltf
|
|
64
|
+
tempStructure.base = (_evtPayload2 = evtPayload) === null || _evtPayload2 === void 0 ? void 0 : _evtPayload2.gltf;
|
|
65
|
+
if (!(0, _helper.isEmpty)(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
66
|
+
// make the structure using placeholder_name and gltf
|
|
67
|
+
var phName = asitem.placeholder_name;
|
|
68
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
69
|
+
phName = 'base_' + phName;
|
|
70
|
+
}
|
|
71
|
+
tempStructure[phName] = asitem.gltf;
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// make the tempPlaceholders using structure and id
|
|
76
|
+
tempPlaceholders.push({
|
|
77
|
+
id: cabinetDoorFinishId,
|
|
78
|
+
structure: tempStructure
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// make the structure_json using animation and tempPlaceholders
|
|
82
|
+
var structure_json = {
|
|
83
|
+
animation: animation,
|
|
84
|
+
tempPlaceholders: tempPlaceholders
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
// rebuild the cabinet payload with structure_json
|
|
88
|
+
evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
|
|
89
|
+
structure_json: structure_json
|
|
90
|
+
});
|
|
91
|
+
return evtPayload;
|
|
92
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ccdfMapper = ccdfMapper;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _utils = require("../../../components/viewer2d/utils");
|
|
10
|
+
var _immutable = require("../../../shared/objects/immutable");
|
|
11
|
+
function ccdfMapper(ccdf_list, layer) {
|
|
12
|
+
// This function make cabinet definition using ccdf, layer's item information and catalog
|
|
13
|
+
// console.log(ccdf_list, catalog);
|
|
14
|
+
// make structure_json list using ccdf-list
|
|
15
|
+
var cabinetDefinitionList = [];
|
|
16
|
+
var tempPlaceholders = [];
|
|
17
|
+
var structure = {};
|
|
18
|
+
var cdfId;
|
|
19
|
+
var structure_json = {};
|
|
20
|
+
var cabinetDefinition = {};
|
|
21
|
+
var layerJS = (0, _immutable.toJSIfNeeded)(layer);
|
|
22
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
|
|
23
|
+
var itemKeys = Object.keys(layerJS.items);
|
|
24
|
+
var correctItemId = '';
|
|
25
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
26
|
+
if (layerJS.items[itemKeys[i]].itemID === ccdf.cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
27
|
+
}
|
|
28
|
+
var cd = layerJS.items[correctItemId];
|
|
29
|
+
if (cd.itemID === ccdf.cabinet_id) {
|
|
30
|
+
if (!(0, _utils.isEmpty)(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
31
|
+
cdfId = ccdf.id;
|
|
32
|
+
}
|
|
33
|
+
var assets3d = ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d;
|
|
34
|
+
var updatedAssets3D = (0, _toConsumableArray2["default"])(assets3d);
|
|
35
|
+
// make structure
|
|
36
|
+
assets3d.forEach(function (asItem) {
|
|
37
|
+
// make door handle
|
|
38
|
+
if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
39
|
+
var phName = asItem.placeholder_name;
|
|
40
|
+
if (phName.includes('door_')) {
|
|
41
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
42
|
+
updatedAssets3D.push({
|
|
43
|
+
placeholder_name: doorHandleName,
|
|
44
|
+
gltf: layerJS.doorHandle
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
50
|
+
// set base field with gltf
|
|
51
|
+
structure.base = cd.gltf;
|
|
52
|
+
if (!(0, _utils.isEmpty)(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
53
|
+
// make the structure using placeholder_name and gltf
|
|
54
|
+
var phName = asitem.placeholder_name;
|
|
55
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
56
|
+
phName = 'base_' + phName;
|
|
57
|
+
}
|
|
58
|
+
structure[phName] = asitem.gltf;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
// make tempPlaceholders
|
|
62
|
+
tempPlaceholders.push({
|
|
63
|
+
structure: structure,
|
|
64
|
+
id: cdfId
|
|
65
|
+
});
|
|
66
|
+
// make structure_json
|
|
67
|
+
structure_json = {
|
|
68
|
+
tempPlaceholders: tempPlaceholders
|
|
69
|
+
};
|
|
70
|
+
// make cabinet definition using structure_json and catalog
|
|
71
|
+
cabinetDefinition = {
|
|
72
|
+
type: cd.category,
|
|
73
|
+
itemID: cd.itemID,
|
|
74
|
+
name: cd.name,
|
|
75
|
+
long_name: cd.long_name,
|
|
76
|
+
sizeinfo: cd.sizeinfo,
|
|
77
|
+
description: cd.description,
|
|
78
|
+
prototype: cd.prototype,
|
|
79
|
+
base: cd.base,
|
|
80
|
+
shape_svg: cd.shape_svg,
|
|
81
|
+
gltf: cd.gltf,
|
|
82
|
+
structure_json: structure_json,
|
|
83
|
+
layoutpos: cd.layoutpos,
|
|
84
|
+
is_corner: cd.is_corner,
|
|
85
|
+
obj_property: cd.obj_property,
|
|
86
|
+
outline: cd.outline
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// make cabinet definition list using cabinetDefinition
|
|
90
|
+
cabinetDefinitionList.push(cabinetDefinition);
|
|
91
|
+
});
|
|
92
|
+
return cabinetDefinitionList;
|
|
93
|
+
}
|