kitchen-simulator 4.4.4 → 5.0.0-new-api
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/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/item-loader.js +0 -4
- package/es/class/item.js +17 -6
- package/es/constants.js +12 -7
- package/es/devLiteRenderer.js +91 -109
- 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 +65 -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/utils/isolate-event-handler.js +55 -45
- package/es/utils/molding.js +17 -1
- package/es/utils/skinPanelEngine.js +16 -11
- package/lib/LiteRenderer.js +17 -55
- 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/item-loader.js +0 -4
- package/lib/class/item.js +17 -6
- package/lib/constants.js +17 -12
- package/lib/devLiteRenderer.js +93 -111
- 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 +72 -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/utils/isolate-event-handler.js +55 -45
- package/lib/utils/molding.js +17 -1
- package/lib/utils/skinPanelEngine.js +15 -10
- package/package.json +1 -1
package/es/devLiteRenderer.js
CHANGED
|
@@ -6,10 +6,11 @@ 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";
|
|
@@ -17,10 +18,11 @@ import furnishingPayload from "./mocks/furnishingPayload.json";
|
|
|
17
18
|
import rectangleData from "./mocks/rectangleShape.json";
|
|
18
19
|
import moldingPayload from "./mocks/moldingPayload.json";
|
|
19
20
|
import replaceCabinetPayload from "./mocks/replaceCabinetPayload.json";
|
|
21
|
+
import holesPayload from "./mocks/holesPayload.json";
|
|
20
22
|
import ReactDOM from 'react-dom';
|
|
21
23
|
import LiteRenderer from "./LiteRenderer";
|
|
22
24
|
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,
|
|
25
|
+
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 } from "./constants";
|
|
24
26
|
import { convert } from "./utils/convert-units-lite";
|
|
25
27
|
|
|
26
28
|
// --- renderer props ---
|
|
@@ -60,6 +62,9 @@ function WorkSpace(props) {
|
|
|
60
62
|
externalEvent = _useState2[0],
|
|
61
63
|
setExternalEvent = _useState2[1];
|
|
62
64
|
var offset = 5;
|
|
65
|
+
var holeButtons = Array.isArray(holesPayload) ? holesPayload.filter(function (hole) {
|
|
66
|
+
return hole && !hole.is_deleted;
|
|
67
|
+
}) : [];
|
|
63
68
|
return /*#__PURE__*/React.createElement("div", {
|
|
64
69
|
className: "flex gap-4"
|
|
65
70
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -237,6 +242,18 @@ function WorkSpace(props) {
|
|
|
237
242
|
setExternalEvent(evt);
|
|
238
243
|
}
|
|
239
244
|
}, "DoorStyle (Change into Midtown White Shaker)"), /*#__PURE__*/React.createElement(Button, {
|
|
245
|
+
actionType: "danger",
|
|
246
|
+
onClick: function onClick() {
|
|
247
|
+
var evt = {
|
|
248
|
+
type: EXTERNAL_EVENT_CHANGE_DOORSTYLE,
|
|
249
|
+
payload: {
|
|
250
|
+
doorStyle: doorStylePayloadNew === null || doorStylePayloadNew === void 0 ? void 0 : doorStylePayloadNew.doorStyle,
|
|
251
|
+
applyScope: doorStylePayloadNew === null || doorStylePayloadNew === void 0 ? void 0 : doorStylePayloadNew.applyScope
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
setExternalEvent(evt);
|
|
255
|
+
}
|
|
256
|
+
}, "DoorStyle Change(New-Cambriage)"), /*#__PURE__*/React.createElement(Button, {
|
|
240
257
|
actionType: "danger",
|
|
241
258
|
onClick: function onClick() {
|
|
242
259
|
var evt = {
|
|
@@ -245,7 +262,6 @@ function WorkSpace(props) {
|
|
|
245
262
|
roomShapeType: 'rectangle',
|
|
246
263
|
width: 250,
|
|
247
264
|
height: 100,
|
|
248
|
-
measurementUnit: 'in',
|
|
249
265
|
doorStyle: {
|
|
250
266
|
id: 36,
|
|
251
267
|
type: 'door',
|
|
@@ -264,70 +280,70 @@ function WorkSpace(props) {
|
|
|
264
280
|
doorStyles: {
|
|
265
281
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
266
282
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
267
|
-
interior: '
|
|
283
|
+
interior: 'https://media.test.diydesignspace.com/uploads/assets/default/maple.jpg',
|
|
268
284
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
269
285
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
270
286
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
271
287
|
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: '
|
|
288
|
+
door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
289
|
+
fixed_drawer_door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
290
|
+
drawer_door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
275
291
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
276
292
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
277
293
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
278
294
|
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: '
|
|
295
|
+
door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
296
|
+
fixed_drawer_door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
297
|
+
drawer_door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
282
298
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
283
299
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
284
300
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
285
301
|
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: '
|
|
302
|
+
door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
303
|
+
fixed_drawer_door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
304
|
+
drawer_door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
289
305
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
290
306
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
291
307
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
292
308
|
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: '
|
|
309
|
+
door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
310
|
+
fixed_drawer_door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
311
|
+
drawer_door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
296
312
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
297
313
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
298
314
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
299
315
|
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: '
|
|
316
|
+
door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
317
|
+
fixed_drawer_door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
318
|
+
drawer_door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
303
319
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
304
320
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
305
321
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
306
322
|
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: '
|
|
323
|
+
door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
324
|
+
fixed_drawer_door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
325
|
+
drawer_door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
310
326
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
311
327
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
312
328
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
313
329
|
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: '
|
|
330
|
+
door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
331
|
+
fixed_drawer_door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
332
|
+
drawer_door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
317
333
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
318
334
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
319
335
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
320
336
|
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: '
|
|
337
|
+
door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
338
|
+
fixed_drawer_door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
339
|
+
drawer_door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
324
340
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
325
341
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
326
342
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
327
343
|
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: '
|
|
344
|
+
door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
345
|
+
fixed_drawer_door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
346
|
+
drawer_door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg'
|
|
331
347
|
},
|
|
332
348
|
installation_types: [125, 124]
|
|
333
349
|
}
|
|
@@ -362,70 +378,70 @@ function WorkSpace(props) {
|
|
|
362
378
|
doorStyles: {
|
|
363
379
|
base: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
364
380
|
counttop: 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg',
|
|
365
|
-
interior: '
|
|
381
|
+
interior: 'https://media.test.diydesignspace.com/uploads/assets/default/maple.jpg',
|
|
366
382
|
base_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
367
383
|
base_fixed_drawer_door_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
368
384
|
base_drawer_1: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
369
385
|
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: '
|
|
386
|
+
door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
387
|
+
fixed_drawer_door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
388
|
+
drawer_door_handle_1: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
373
389
|
base_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
374
390
|
base_fixed_drawer_door_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
375
391
|
base_drawer_2: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
376
392
|
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: '
|
|
393
|
+
door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
394
|
+
fixed_drawer_door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
395
|
+
drawer_door_handle_2: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
380
396
|
base_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
381
397
|
base_fixed_drawer_door_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
382
398
|
base_drawer_3: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
383
399
|
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: '
|
|
400
|
+
door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
401
|
+
fixed_drawer_door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
402
|
+
drawer_door_handle_3: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
387
403
|
base_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
388
404
|
base_fixed_drawer_door_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
389
405
|
base_drawer_4: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
390
406
|
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: '
|
|
407
|
+
door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
408
|
+
fixed_drawer_door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
409
|
+
drawer_door_handle_4: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
394
410
|
base_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
395
411
|
base_fixed_drawer_door_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
396
412
|
base_drawer_5: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
397
413
|
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: '
|
|
414
|
+
door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
415
|
+
fixed_drawer_door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
416
|
+
drawer_door_handle_5: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
401
417
|
base_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
402
418
|
base_fixed_drawer_door_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
403
419
|
base_drawer_6: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
404
420
|
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: '
|
|
421
|
+
door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
422
|
+
fixed_drawer_door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
423
|
+
drawer_door_handle_6: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
408
424
|
base_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
409
425
|
base_fixed_drawer_door_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
410
426
|
base_drawer_7: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
411
427
|
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: '
|
|
428
|
+
door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
429
|
+
fixed_drawer_door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
430
|
+
drawer_door_handle_7: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
415
431
|
base_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
416
432
|
base_fixed_drawer_door_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
417
433
|
base_drawer_8: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
418
434
|
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: '
|
|
435
|
+
door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
436
|
+
fixed_drawer_door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
437
|
+
drawer_door_handle_8: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
422
438
|
base_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
423
439
|
base_fixed_drawer_door_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
424
440
|
base_drawer_9: 'https://media.test.diydesignspace.com/uploads/DoorColor/202105065453_36/texture/White1px.jpeg',
|
|
425
441
|
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: '
|
|
442
|
+
door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
443
|
+
fixed_drawer_door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg',
|
|
444
|
+
drawer_door_handle_9: 'https://media.test.diydesignspace.com/uploads/assets/default/steel.jpg'
|
|
429
445
|
},
|
|
430
446
|
installation_types: [125, 124]
|
|
431
447
|
}
|
|
@@ -614,56 +630,21 @@ function WorkSpace(props) {
|
|
|
614
630
|
};
|
|
615
631
|
setExternalEvent(evt);
|
|
616
632
|
}
|
|
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, {
|
|
640
|
-
actionType: "danger",
|
|
641
|
-
onClick: function onClick() {
|
|
642
|
-
var evt = {
|
|
643
|
-
type: EXTERNAL_EVENT_ADD_ITEM,
|
|
644
|
-
payload: appliancePaylod
|
|
645
|
-
};
|
|
646
|
-
setExternalEvent(evt);
|
|
647
|
-
}
|
|
648
|
-
}, "Add Appliance (30 Bottom Freezer)"), /*#__PURE__*/React.createElement(Button, {
|
|
649
|
-
actionType: "danger",
|
|
650
|
-
onClick: function onClick() {
|
|
651
|
-
var evt = {
|
|
652
|
-
type: EXTERNAL_EVENT_ADD_ITEM,
|
|
653
|
-
payload: lightingPayload
|
|
654
|
-
};
|
|
655
|
-
setExternalEvent(evt);
|
|
656
|
-
}
|
|
657
|
-
}, "Add Lighting"), /*#__PURE__*/React.createElement(Button, {
|
|
658
|
-
actionType: "danger",
|
|
659
|
-
onClick: function onClick() {
|
|
660
|
-
var evt = {
|
|
661
|
-
type: EXTERNAL_EVENT_ADD_ITEM,
|
|
662
|
-
payload: furnishingPayload
|
|
663
|
-
};
|
|
664
|
-
setExternalEvent(evt);
|
|
665
|
-
}
|
|
666
|
-
}, "Add Furnishing"), /*#__PURE__*/React.createElement(Button, {
|
|
633
|
+
}, "Delete Item"), holeButtons.map(function (hole) {
|
|
634
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
635
|
+
key: "".concat(hole.type, "-").concat(hole.name),
|
|
636
|
+
actionType: "danger",
|
|
637
|
+
onClick: function onClick() {
|
|
638
|
+
var evt = {
|
|
639
|
+
type: EXTERNAL_EVENT_ADD_HOLE,
|
|
640
|
+
payload: {
|
|
641
|
+
holeName: hole.name
|
|
642
|
+
}
|
|
643
|
+
};
|
|
644
|
+
setExternalEvent(evt);
|
|
645
|
+
}
|
|
646
|
+
}, "Add Hole (".concat(hole.type, " - ").concat(hole.name, ")"));
|
|
647
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
667
648
|
actionType: "danger",
|
|
668
649
|
onClick: function onClick() {
|
|
669
650
|
var evt = {
|
|
@@ -860,6 +841,7 @@ function WorkSpace(props) {
|
|
|
860
841
|
logoImg: "/assets/logo.png",
|
|
861
842
|
companyUrl: "https://example.com",
|
|
862
843
|
toolbarButtons: [],
|
|
844
|
+
holes: holesPayload,
|
|
863
845
|
externalEvent: externalEvent,
|
|
864
846
|
onInternalEvent: onInternalEvent,
|
|
865
847
|
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 { Map } from '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 = Map.isMap(layer) ? layer.toJS() : 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
|
+
}
|