kitchen-simulator 11.0.0-react.18 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/AppContext.js +1 -4
- package/es/LiteKitchenConfigurator.js +67 -23
- package/es/LiteRenderer.js +15 -64
- package/es/actions/export.js +25 -12
- package/es/actions/items-actions.js +18 -2
- package/es/analytics/ga4.js +188 -0
- package/es/analytics/posthog.js +60 -0
- 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/assets/img/loading/loading.gif +0 -0
- package/es/catalog/cabinet/cabinet-assembly-order.js +36 -0
- package/es/catalog/catalog.js +0 -2
- package/es/catalog/factories/area-factory-3d.js +1 -5
- package/es/catalog/factories/wall-factory.js +1 -1
- 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 +4 -0
- package/es/catalog/utils/item-loader.js +12 -25
- package/es/class/area.js +0 -1
- package/es/class/export.js +1 -3
- package/es/class/item.js +207 -89
- package/es/class/line.js +1 -3
- package/es/class/project.js +15 -19
- package/es/components/content.js +20 -6
- package/es/components/export.js +3 -5
- package/es/components/style/export.js +2 -28
- package/es/components/style/form-number-input.js +34 -43
- package/es/components/viewer2d/group.js +12 -7
- package/es/components/viewer2d/item.js +159 -168
- package/es/components/viewer2d/line.js +18 -51
- package/es/components/viewer2d/rulerX.js +3 -0
- package/es/components/viewer2d/rulerY.js +3 -0
- package/es/components/viewer2d/scene.js +67 -47
- package/es/components/viewer2d/state.js +1 -1
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +566 -508
- package/es/components/viewer3d/front3D.js +1 -2
- package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
- package/es/components/viewer3d/ruler-utils/layer3D.js +2 -2
- package/es/components/viewer3d/scene-creator.js +113 -120
- package/es/components/viewer3d/three-memory-cleaner.js +0 -14
- package/es/components/viewer3d/viewer3d-first-person.js +132 -134
- package/es/components/viewer3d/viewer3d.js +40 -28
- package/es/constants/catalog/skinPanel.js +9 -0
- package/es/constants.js +19 -8
- package/es/{WorkSpaceOriginal.js → devLiteRenderer.js} +241 -173
- package/es/events/external/handleExternalEvent.js +141 -0
- package/es/events/external/handleExternalEvent.util.js +1099 -0
- package/es/events/external/handlers.addItem.js +47 -0
- package/es/events/external/handlers.changeDoorStyle.js +140 -0
- package/es/events/external/handlers.elementOps.js +8 -0
- package/es/events/external/handlers.finishing.js +26 -0
- package/es/events/external/handlers.hole.js +4 -0
- package/es/events/external/handlers.loadProject.js +128 -0
- package/es/events/external/handlers.molding.js +24 -0
- package/es/events/external/handlers.projectLifecycle.js +11 -0
- package/es/events/external/handlers.projectSettings.js +32 -0
- package/es/events/external/handlers.replaceCabinet.js +41 -0
- package/es/events/external/handlers.roomShape.js +8 -0
- package/es/events/external/handlers.syncScene.js +21 -0
- package/es/events/external/handlers.updateSelectedElements.js +11 -0
- package/es/events/external/handlers.viewMode.js +11 -0
- package/es/events/external/handlers.viewerNavigation.js +108 -0
- package/es/events/external/handlers.wall.js +7 -0
- package/es/index.js +36 -76
- package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
- package/es/mappings/external-events/mappers/addItemMapper.js +97 -0
- package/es/mappings/external-events/mappers/ccdfMapper.js +100 -0
- package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +49 -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 +16 -1
- package/es/plugins/keyboard.js +1 -1
- package/es/reducers/export.js +2 -4
- package/es/reducers/items-reducer.js +4 -2
- package/es/reducers/project-reducer.js +1 -1
- package/es/reducers/reducer.js +2 -3
- package/es/reducers/viewer2d-reducer.js +0 -2
- package/es/shared/domain/cabinet-warning.js +15 -0
- package/es/shared/objects/immutable.js +3 -0
- package/es/utils/geometry.js +418 -95
- package/es/utils/helper.js +41 -35
- package/es/utils/history.js +2 -2
- package/es/utils/molding.js +12 -241
- package/es/utils/name-generator.js +0 -3
- package/es/utils/skinPanelEngine.js +522 -0
- package/lib/@history.js +11 -0
- package/lib/AppContext.js +11 -0
- package/lib/LiteKitchenConfigurator.js +527 -0
- package/lib/LiteRenderer.js +323 -0
- package/lib/actions/area-actions.js +21 -0
- package/lib/actions/export.js +36 -0
- package/lib/actions/groups-actions.js +107 -0
- package/lib/actions/holes-actions.js +140 -0
- package/lib/actions/items-actions.js +383 -0
- package/lib/actions/lines-actions.js +98 -0
- package/lib/actions/project-actions.js +351 -0
- package/lib/actions/scene-actions.js +43 -0
- package/lib/actions/vertices-actions.js +35 -0
- package/lib/actions/viewer2d-actions.js +73 -0
- package/lib/actions/viewer3d-actions.js +32 -0
- package/lib/analytics/ga4.js +194 -0
- package/lib/analytics/posthog.js +68 -0
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
- package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
- package/lib/assets/fonts/style.css +177 -0
- package/lib/assets/gltf/door_closet.gltf +1 -0
- package/lib/assets/gltf/door_exterior.gltf +1 -0
- package/lib/assets/gltf/door_interior.gltf +1 -0
- package/lib/assets/gltf/door_sliding.gltf +1 -0
- package/lib/assets/gltf/doorway_framed.bin +0 -0
- package/lib/assets/gltf/doorway_framed.fbx +0 -0
- package/lib/assets/gltf/doorway_framed.gltf +1 -0
- package/lib/assets/gltf/window_clear.bin +0 -0
- package/lib/assets/gltf/window_clear.fbx +0 -0
- package/lib/assets/gltf/window_clear.gltf +1 -0
- package/lib/assets/gltf/window_cross.bin +0 -0
- package/lib/assets/gltf/window_cross.fbx +0 -0
- package/lib/assets/gltf/window_cross.gltf +1 -0
- package/lib/assets/gltf/window_double_hung.bin +0 -0
- package/lib/assets/gltf/window_double_hung.fbx +0 -0
- package/lib/assets/gltf/window_double_hung.gltf +1 -0
- package/lib/assets/gltf/window_vertical.bin +0 -0
- package/lib/assets/gltf/window_vertical.fbx +0 -0
- package/lib/assets/gltf/window_vertical.gltf +1 -0
- package/lib/assets/img/TKC_thumbnail.png +0 -0
- package/lib/assets/img/Toggle.png +0 -0
- package/lib/assets/img/default/maple.jpg +0 -0
- package/lib/assets/img/default/steel.jpg +0 -0
- package/lib/assets/img/loading/loading.gif +0 -0
- package/lib/assets/img/loading/loading_1.svg +11 -0
- package/lib/assets/img/loading_large.gif +0 -0
- package/lib/assets/img/png/door/closet.png +0 -0
- package/lib/assets/img/png/door/doorwaysframed.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
- package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
- package/lib/assets/img/png/door/exterior.png +0 -0
- package/lib/assets/img/png/door/interior.png +0 -0
- package/lib/assets/img/png/door/sliding.png +0 -0
- package/lib/assets/img/png/helper/outcome.png +0 -0
- package/lib/assets/img/project_img.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
- package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
- package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
- package/lib/assets/img/rta_menu.png +0 -0
- package/lib/assets/img/step2.jpg +0 -0
- package/lib/assets/img/step3.jpg +0 -0
- package/lib/assets/img/step4.jpg +0 -0
- package/lib/assets/img/step5.jpg +0 -0
- package/lib/assets/img/step6.jpg +0 -0
- package/lib/assets/img/step7.jpg +0 -0
- package/lib/assets/img/step8.jpg +0 -0
- package/lib/assets/img/svg/2d_delete_object.svg +33 -0
- package/lib/assets/img/svg/2d_delete_object1.svg +33 -0
- package/lib/assets/img/svg/2d_lock_object.svg +33 -0
- package/lib/assets/img/svg/3d_item_move.svg +106 -0
- package/lib/assets/img/svg/3d_item_rotation.svg +76 -0
- package/lib/assets/img/svg/3d_item_warning_edit.svg +77 -0
- package/lib/assets/img/svg/3d_item_warning_info.svg +81 -0
- package/lib/assets/img/svg/accessories.svg +4 -0
- package/lib/assets/img/svg/angle_icon.svg +39 -0
- package/lib/assets/img/svg/blank_div.svg +14 -0
- package/lib/assets/img/svg/bottombar/2d3d_button.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
- package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
- package/lib/assets/img/svg/bottombar/arrow-down.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-left.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-minus.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/bottombar/arrow-right.svg +3 -0
- package/lib/assets/img/svg/bottombar/arrow-up.svg +3 -0
- package/lib/assets/img/svg/bottombar/collapse.svg +3 -0
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -0
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -0
- package/lib/assets/img/svg/bottombar/elevation.svg +13 -0
- package/lib/assets/img/svg/bottombar/expand.svg +3 -0
- package/lib/assets/img/svg/bottombar/help.svg +72 -0
- package/lib/assets/img/svg/bottombar/incm_toggle.svg +39 -0
- package/lib/assets/img/svg/bottombar/pan_1.svg +57 -0
- package/lib/assets/img/svg/bottombar/pan_2.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_3.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_4.svg +27 -0
- package/lib/assets/img/svg/bottombar/pan_5.svg +27 -0
- package/lib/assets/img/svg/bottombar/settings.svg +23 -0
- package/lib/assets/img/svg/bottombar/spin-down.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin-left.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-right.svg +75 -0
- package/lib/assets/img/svg/bottombar/spin-up.svg +76 -0
- package/lib/assets/img/svg/bottombar/spin_1.svg +48 -0
- package/lib/assets/img/svg/bottombar/spin_2.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_3.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_4.svg +31 -0
- package/lib/assets/img/svg/bottombar/spin_5.svg +31 -0
- package/lib/assets/img/svg/bottombar/zoomin.svg +29 -0
- package/lib/assets/img/svg/bottombar/zoomout.svg +26 -0
- package/lib/assets/img/svg/check.svg +10 -0
- package/lib/assets/img/svg/close.svg +11 -0
- package/lib/assets/img/svg/color/Black.svg +3 -0
- package/lib/assets/img/svg/color/Blue.svg +3 -0
- package/lib/assets/img/svg/color/Cream.svg +3 -0
- package/lib/assets/img/svg/color/Gray.svg +3 -0
- package/lib/assets/img/svg/color/Green.svg +3 -0
- package/lib/assets/img/svg/color/White.svg +3 -0
- package/lib/assets/img/svg/color/White.svg.bak +3 -0
- package/lib/assets/img/svg/color/stone2.jpg +0 -0
- package/lib/assets/img/svg/color/wood2.jpg +0 -0
- package/lib/assets/img/svg/copy.svg +11 -0
- package/lib/assets/img/svg/delete.svg +3 -0
- package/lib/assets/img/svg/detail.svg +77 -0
- package/lib/assets/img/svg/disclaimer/background.svg +758 -0
- package/lib/assets/img/svg/disclaimer/logo-dots.svg +11 -0
- package/lib/assets/img/svg/door/Closet.svg +11 -0
- package/lib/assets/img/svg/door/Exterior.svg +5 -0
- package/lib/assets/img/svg/door/Framed_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Frameless_dorway.svg +5 -0
- package/lib/assets/img/svg/door/Interior.svg +7 -0
- package/lib/assets/img/svg/door/Sliding.svg +5 -0
- package/lib/assets/img/svg/doors_closet.svg +47 -0
- package/lib/assets/img/svg/doors_exterior.svg +25 -0
- package/lib/assets/img/svg/doors_interior.svg +29 -0
- package/lib/assets/img/svg/doors_patio.svg +26 -0
- package/lib/assets/img/svg/duplicate.svg +11 -0
- package/lib/assets/img/svg/duplicate_object_left.svg +32 -0
- package/lib/assets/img/svg/duplicate_object_right.svg +32 -0
- package/lib/assets/img/svg/filtersActive.svg +19 -0
- package/lib/assets/img/svg/firstsetting/L.svg +3 -0
- package/lib/assets/img/svg/firstsetting/L2.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Open.svg +3 -0
- package/lib/assets/img/svg/firstsetting/Square.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bar-active.svg +9 -0
- package/lib/assets/img/svg/firstsetting/bar-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-current.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-active.svg +3 -0
- package/lib/assets/img/svg/firstsetting/check-normal.svg +3 -0
- package/lib/assets/img/svg/firstsetting/pencil.svg +11 -0
- package/lib/assets/img/svg/green_checkmark.svg +27 -0
- package/lib/assets/img/svg/headerbar/assist.svg +3 -0
- package/lib/assets/img/svg/headerbar/cart.svg +3 -0
- package/lib/assets/img/svg/headerbar/check.svg +10 -0
- package/lib/assets/img/svg/headerbar/consult_designer.svg +45 -0
- package/lib/assets/img/svg/headerbar/edit_name.svg +26 -0
- package/lib/assets/img/svg/headerbar/file-dollar.svg +13 -0
- package/lib/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
- package/lib/assets/img/svg/headerbar/plus.svg +11 -0
- package/lib/assets/img/svg/headerbar/review_quote.svg +44 -0
- package/lib/assets/img/svg/headerbar/ruler-measure.svg +11 -0
- package/lib/assets/img/svg/headerbar/save.svg +3 -0
- package/lib/assets/img/svg/headerbar/setting.svg +75 -0
- package/lib/assets/img/svg/help/check.svg +10 -0
- package/lib/assets/img/svg/help/search.svg +76 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
- package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
- package/lib/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
- package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
- package/lib/assets/img/svg/intro/3-retrieve-project.svg +18 -0
- package/lib/assets/img/svg/invert.svg +127 -0
- package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/appliance.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
- package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
- package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door-style.svg +20 -0
- package/lib/assets/img/svg/lefttoolbar/door.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/finishing.svg +13 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
- package/lib/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
- package/lib/assets/img/svg/lefttoolbar/search.svg +76 -0
- package/lib/assets/img/svg/lefttoolbar/view_more.svg +86 -0
- package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
- package/lib/assets/img/svg/lefttoolbar/window.svg +12 -0
- package/lib/assets/img/svg/logo.svg +11 -0
- package/lib/assets/img/svg/logo_with_text.svg +25 -0
- package/lib/assets/img/svg/menubar/login.svg +84 -0
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -0
- package/lib/assets/img/svg/menubar/new_project.svg +110 -0
- package/lib/assets/img/svg/menubar/save_project.svg +84 -0
- package/lib/assets/img/svg/options.svg +3 -0
- package/lib/assets/img/svg/positioning.svg +3 -0
- package/lib/assets/img/svg/rotate.png +0 -0
- package/lib/assets/img/svg/rotate.svg +17 -0
- package/lib/assets/img/svg/rotate_object_clockwise.svg +26 -0
- package/lib/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
- package/lib/assets/img/svg/toggleFilters.svg +19 -0
- package/lib/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
- package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/add_button.svg +36 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
- package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
- package/lib/assets/img/svg/toolbar/add_items_doors.svg +25 -0
- package/lib/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
- package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
- package/lib/assets/img/svg/toolbar/add_items_windows.svg +28 -0
- package/lib/assets/img/svg/toolbar/apply_button.svg +38 -0
- package/lib/assets/img/svg/toolbar/arrow-plus.svg +11 -0
- package/lib/assets/img/svg/toolbar/backsplash.svg +8 -0
- package/lib/assets/img/svg/toolbar/cancel_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/countertop.svg +7 -0
- package/lib/assets/img/svg/toolbar/dcm.png +0 -0
- package/lib/assets/img/svg/toolbar/dcm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/dcm_on.svg +474 -0
- package/lib/assets/img/svg/toolbar/delete_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/download.svg +77 -0
- package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
- package/lib/assets/img/svg/toolbar/edit_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/email_quote_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/fbm.png +0 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
- package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
- package/lib/assets/img/svg/toolbar/floorstyle.svg +9 -0
- package/lib/assets/img/svg/toolbar/fmb.png +0 -0
- package/lib/assets/img/svg/toolbar/fmb_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/fmb_on.svg +489 -0
- package/lib/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
- package/lib/assets/img/svg/toolbar/get_started_button.svg +41 -0
- package/lib/assets/img/svg/toolbar/handles.svg +5 -0
- package/lib/assets/img/svg/toolbar/lighting.svg +7 -0
- package/lib/assets/img/svg/toolbar/lrm.png +0 -0
- package/lib/assets/img/svg/toolbar/lrm_off.svg +12 -0
- package/lib/assets/img/svg/toolbar/lrm_on.svg +470 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
- package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
- package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
- package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
- package/lib/assets/img/svg/toolbar/redo_button.svg +75 -0
- package/lib/assets/img/svg/toolbar/redo_button1.svg +75 -0
- package/lib/assets/img/svg/toolbar/review_quote_active.svg +14 -0
- package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
- package/lib/assets/img/svg/toolbar/save_project_button.svg +44 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
- package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -0
- package/lib/assets/img/svg/toolbar/style_change_button.svg +47 -0
- package/lib/assets/img/svg/toolbar/take_picture.svg +75 -0
- package/lib/assets/img/svg/toolbar/undo_button.svg +76 -0
- package/lib/assets/img/svg/toolbar/undo_button1.svg +76 -0
- package/lib/assets/img/svg/toolbar/use_button.svg +37 -0
- package/lib/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
- package/lib/assets/img/svg/topbar/edit_active.svg +10 -0
- package/lib/assets/img/svg/topbar/edit_inactive.svg +10 -0
- package/lib/assets/img/svg/topbar/redo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/redo_inactive.svg +23 -0
- package/lib/assets/img/svg/topbar/select_all_active.svg +50 -0
- package/lib/assets/img/svg/topbar/select_all_inactive.svg +32 -0
- package/lib/assets/img/svg/topbar/take_picture_active.svg +51 -0
- package/lib/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
- package/lib/assets/img/svg/topbar/undo_active.svg +42 -0
- package/lib/assets/img/svg/topbar/undo_inactive.svg +23 -0
- package/lib/assets/img/svg/warning_info_2d.svg +81 -0
- package/lib/assets/img/svg/window/Clear.svg +3 -0
- package/lib/assets/img/svg/window/Cross.svg +5 -0
- package/lib/assets/img/svg/window/Double_hung.svg +4 -0
- package/lib/assets/img/svg/window/Vertical.svg +4 -0
- package/lib/assets/img/svg/windows_clear.svg +23 -0
- package/lib/assets/img/svg/windows_cross.svg +28 -0
- package/lib/assets/img/svg/windows_double_hung.svg +24 -0
- package/lib/assets/img/svg/windows_vertical.svg +24 -0
- package/lib/assets/img/svg/wizardstep/Custom.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L.svg +3 -0
- package/lib/assets/img/svg/wizardstep/L2.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Open.svg +3 -0
- package/lib/assets/img/svg/wizardstep/Square.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bar-active.svg +9 -0
- package/lib/assets/img/svg/wizardstep/bar-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-current.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-active.svg +3 -0
- package/lib/assets/img/svg/wizardstep/check-normal.svg +3 -0
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -0
- package/lib/assets/img/svg/wizardstep/pencil.svg +11 -0
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -0
- package/lib/assets/img/texture/glass.jpg +0 -0
- package/lib/assets/img/texture/steel.jpg +0 -0
- package/lib/assets/img/texture/white1px.jpg +0 -0
- package/lib/assets/img/texture/wood.jpg +0 -0
- package/lib/assets/model/DCM.bin +0 -0
- package/lib/assets/model/DCM.fbx +0 -0
- package/lib/assets/model/DCM.gltf +1 -0
- package/lib/assets/model/FBM.bin +0 -0
- package/lib/assets/model/FBM.fbx +0 -0
- package/lib/assets/model/FBM.gltf +1 -0
- package/lib/assets/model/LRM.bin +0 -0
- package/lib/assets/model/LRM.fbx +0 -0
- package/lib/assets/model/LRM.gltf +1 -0
- package/lib/assets/rtastore_logo.png +0 -0
- package/lib/catalog/areas/area/planner-element.js +53 -0
- package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
- package/lib/catalog/areas/area/textures/grass.jpg +0 -0
- package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
- package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
- package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
- package/lib/catalog/back.png +0 -0
- package/lib/catalog/cabinet/cabinet-assembly-order.js +42 -0
- package/lib/catalog/catalog.js +270 -0
- package/lib/catalog/doors.png +0 -0
- package/lib/catalog/doorways.png +0 -0
- package/lib/catalog/envMap/nx.hdr +0 -0
- package/lib/catalog/envMap/ny.hdr +0 -0
- package/lib/catalog/envMap/nz.hdr +0 -0
- package/lib/catalog/envMap/px.hdr +0 -0
- package/lib/catalog/envMap/py.hdr +0 -0
- package/lib/catalog/envMap/pz.hdr +0 -0
- package/lib/catalog/export.js +1 -0
- package/lib/catalog/factories/area-factory-3d.js +187 -0
- package/lib/catalog/factories/area-factory.js +88 -0
- package/lib/catalog/factories/export.js +25 -0
- package/lib/catalog/factories/wall-factory-3d.js +212 -0
- package/lib/catalog/factories/wall-factory.js +279 -0
- package/lib/catalog/holes/door-closet/planner-element.js +232 -0
- package/lib/catalog/holes/door-double/door_double.png +0 -0
- package/lib/catalog/holes/door-double/planner-element.js +325 -0
- package/lib/catalog/holes/door-exterior/planner-element.js +225 -0
- package/lib/catalog/holes/door-interior/planner-element.js +237 -0
- package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
- package/lib/catalog/holes/door-panic/planner-element.js +513 -0
- package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
- package/lib/catalog/holes/door-panic-double/planner-element.js +473 -0
- package/lib/catalog/holes/door-sliding/planner-element.js +235 -0
- package/lib/catalog/holes/doorway-framed/planner-element.js +155 -0
- package/lib/catalog/holes/doorway-frameless/planner-element.js +114 -0
- package/lib/catalog/holes/export.js +97 -0
- package/lib/catalog/holes/gate/gate.jpg +0 -0
- package/lib/catalog/holes/window-clear/planner-element.js +176 -0
- package/lib/catalog/holes/window-clear/texture.png +0 -0
- package/lib/catalog/holes/window-cross/planner-element.js +175 -0
- package/lib/catalog/holes/window-cross/texture.png +0 -0
- package/lib/catalog/holes/window-double-hung/planner-element.js +313 -0
- package/lib/catalog/holes/window-double-hung/texture.png +0 -0
- package/lib/catalog/holes/window-vertical/planner-element.js +286 -0
- package/lib/catalog/holes/window-vertical/texture.png +0 -0
- package/lib/catalog/lines/wall/planner-element.js +87 -0
- package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
- package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
- package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
- package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
- package/lib/catalog/lines/wall/wall.png +0 -0
- package/lib/catalog/molding/molding-dcm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-dcm/texture.png +0 -0
- package/lib/catalog/molding/molding-fbm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-fbm/texture.png +0 -0
- package/lib/catalog/molding/molding-lrm/planner-element.js +33 -0
- package/lib/catalog/molding/molding-lrm/texture.png +0 -0
- package/lib/catalog/utils/exporter.js +173 -0
- package/lib/catalog/utils/geom-utils.js +205 -0
- package/lib/catalog/utils/item-loader.js +1603 -0
- package/lib/catalog/utils/load-obj.js +99 -0
- package/lib/catalog/utils/mtl-loader.js +366 -0
- package/lib/catalog/utils/obj-loader.js +486 -0
- package/lib/catalog/windows.png +0 -0
- package/lib/class/area.js +147 -0
- package/lib/class/export.js +88 -0
- package/lib/class/group.js +438 -0
- package/lib/class/guide.js +64 -0
- package/lib/class/hole.js +930 -0
- package/lib/class/item.js +2009 -0
- package/lib/class/layer.js +670 -0
- package/lib/class/line.js +1236 -0
- package/lib/class/project.js +949 -0
- package/lib/class/vertex.js +205 -0
- package/lib/components/content.js +160 -0
- package/lib/components/export.js +7 -0
- package/lib/components/style/export.js +17 -0
- package/lib/components/style/form-number-input.js +192 -0
- package/lib/components/style/form-submit-button.js +35 -0
- package/lib/components/viewer2d/area.js +89 -0
- package/lib/components/viewer2d/export.js +121 -0
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-streak.js +44 -0
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +44 -0
- package/lib/components/viewer2d/grids/grids.js +40 -0
- package/lib/components/viewer2d/group.js +63 -0
- package/lib/components/viewer2d/item.js +244 -0
- package/lib/components/viewer2d/layer.js +172 -0
- package/lib/components/viewer2d/line.js +975 -0
- package/lib/components/viewer2d/ruler.js +92 -0
- package/lib/components/viewer2d/rulerDist.js +110 -0
- package/lib/components/viewer2d/rulerX.js +154 -0
- package/lib/components/viewer2d/rulerY.js +156 -0
- package/lib/components/viewer2d/scene.js +137 -0
- package/lib/components/viewer2d/snap.js +84 -0
- package/lib/components/viewer2d/state.js +83 -0
- package/lib/components/viewer2d/utils.js +200 -0
- package/lib/components/viewer2d/vertex.js +76 -0
- package/lib/components/viewer2d/viewer2d.js +1472 -0
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +2591 -0
- package/lib/components/viewer3d/dcm.js +408 -0
- package/lib/components/viewer3d/fbm.js +421 -0
- package/lib/components/viewer3d/front3D.js +71 -0
- package/lib/components/viewer3d/grid-creator.js +35 -0
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +45 -0
- package/lib/components/viewer3d/grids/grid-streak.js +36 -0
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +45 -0
- package/lib/components/viewer3d/libs/first-person-controls.js +74 -0
- package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +1287 -0
- package/lib/components/viewer3d/libs/mtl-loader.js +366 -0
- package/lib/components/viewer3d/libs/obj-loader.js +471 -0
- package/lib/components/viewer3d/libs/orbit-controls.js +706 -0
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +53 -0
- package/lib/components/viewer3d/lrm.js +312 -0
- package/lib/components/viewer3d/model.js +714 -0
- package/lib/components/viewer3d/pointer-lock-navigation.js +32 -0
- package/lib/components/viewer3d/ruler-utils/itemRect.js +69 -0
- package/lib/components/viewer3d/ruler-utils/layer3D.js +503 -0
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +232 -0
- package/lib/components/viewer3d/ruler-utils/scene3D.js +67 -0
- package/lib/components/viewer3d/ruler-utils/state3D.js +26 -0
- package/lib/components/viewer3d/scene-creator.js +3850 -0
- package/lib/components/viewer3d/three-memory-cleaner.js +46 -0
- package/lib/components/viewer3d/viewer3d-first-person.js +316 -0
- package/lib/components/viewer3d/viewer3d.js +2673 -0
- package/lib/constants/catalog/skinPanel.js +15 -0
- package/lib/constants.js +791 -0
- package/lib/devLiteRenderer.js +917 -0
- package/lib/events/external/handleExternalEvent.js +148 -0
- package/lib/events/external/handleExternalEvent.util.js +1110 -0
- package/lib/events/external/handlers.addItem.js +54 -0
- package/lib/events/external/handlers.changeDoorStyle.js +147 -0
- package/lib/events/external/handlers.elementOps.js +15 -0
- package/lib/events/external/handlers.finishing.js +32 -0
- package/lib/events/external/handlers.hole.js +10 -0
- package/lib/events/external/handlers.loadProject.js +135 -0
- package/lib/events/external/handlers.molding.js +31 -0
- package/lib/events/external/handlers.projectLifecycle.js +19 -0
- package/lib/events/external/handlers.projectSettings.js +38 -0
- package/lib/events/external/handlers.replaceCabinet.js +48 -0
- package/lib/events/external/handlers.roomShape.js +14 -0
- package/lib/events/external/handlers.syncScene.js +27 -0
- package/lib/events/external/handlers.updateSelectedElements.js +17 -0
- package/lib/events/external/handlers.viewMode.js +19 -0
- package/lib/events/external/handlers.viewerNavigation.js +117 -0
- package/lib/events/external/handlers.wall.js +13 -0
- package/lib/index.js +637 -0
- package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
- package/lib/mappings/external-events/mappers/addItemMapper.js +103 -0
- package/lib/mappings/external-events/mappers/ccdfMapper.js +107 -0
- package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +55 -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 +534 -0
- package/lib/plugins/SVGLoader.js +1419 -0
- package/lib/plugins/console-debugger.js +42 -0
- package/lib/plugins/export.js +25 -0
- package/lib/plugins/keyboard.js +117 -0
- package/lib/reducers/areas-reducer.js +19 -0
- package/lib/reducers/export.js +89 -0
- package/lib/reducers/groups-reducer.js +45 -0
- package/lib/reducers/holes-reducer.js +69 -0
- package/lib/reducers/items-reducer.js +152 -0
- package/lib/reducers/lines-reducer.js +52 -0
- package/lib/reducers/project-reducer.js +143 -0
- package/lib/reducers/reducer.js +25 -0
- package/lib/reducers/scene-reducer.js +35 -0
- package/lib/reducers/vertices-reducer.js +26 -0
- package/lib/reducers/viewer2d-reducer.js +84 -0
- package/lib/reducers/viewer3d-reducer.js +65 -0
- package/lib/shared/domain/cabinet-warning.js +20 -0
- package/lib/shared/objects/immutable.js +9 -0
- package/lib/shared-style.js +72 -0
- package/lib/translator/en.js +111 -0
- package/lib/translator/it.js +86 -0
- package/lib/translator/ru.js +86 -0
- package/lib/translator/translator.js +87 -0
- package/lib/utils/browser.js +40 -0
- package/lib/utils/convert-units-lite.js +44 -0
- package/lib/utils/email-validator.js +10 -0
- package/lib/utils/export.js +56 -0
- package/lib/utils/geometry.js +3230 -0
- package/lib/utils/get-edges-of-subgraphs.js +33 -0
- package/lib/utils/graph-cycles.js +239 -0
- package/lib/utils/graph-inner-cycles.js +54 -0
- package/lib/utils/graph.js +153 -0
- package/lib/utils/helper.js +480 -0
- package/lib/utils/history.js +48 -0
- package/lib/utils/id-broker.js +22 -0
- package/lib/utils/logger.js +14 -0
- package/lib/utils/math.js +57 -0
- package/lib/utils/molding.js +1146 -0
- package/lib/utils/name-generator.js +21 -0
- package/lib/utils/objects-utils.js +62 -0
- package/lib/utils/phone-validator.js +10 -0
- package/lib/utils/process-black-list.js +22 -0
- package/lib/utils/react-if.js +25 -0
- package/lib/utils/ruler.js +63 -0
- package/lib/utils/skinPanelEngine.js +530 -0
- package/lib/utils/snap-scene.js +101 -0
- package/lib/utils/snap.js +245 -0
- package/lib/utils/summarizeCart.js +30 -0
- package/lib/utils/threeCSG.es6.js +504 -0
- package/lib/version.js +7 -0
- package/package.json +29 -24
- package/es/WorkSpace.js +0 -30
- package/es/WorkSpaceHostMimic.js +0 -132
- 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/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 -96
- package/es/catalog/properties/property-length-measure.js +0 -80
- package/es/catalog/properties/property-length-measure_hole.js +0 -96
- 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 -238
- 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/index.html.ejs +0 -264
- package/es/reducers/user-reducer.js +0 -41
- package/es/utils/isolate-event-handler.js +0 -1622
- /package/{es/catalog/lines/wall/textures/bricks-normal2.jpg → lib/catalog/lines/wall/textures/painted-normal.jpg} +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
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 _constants = require("../../../constants");
|
|
11
|
+
var _helper = require("../../../utils/helper");
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
/**
|
|
15
|
+
* Mapping logic for EXTERNAL_EVENT_ADD_ITEM.
|
|
16
|
+
*
|
|
17
|
+
* Converts the new assets3d payload shape into the legacy structure_json format
|
|
18
|
+
* expected by the existing 3D tool.
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} evt.payload External event payload
|
|
21
|
+
* @param {Immutable.Map} state Planner state
|
|
22
|
+
* @returns {Object|null} Updated event (or null when payload is empty)
|
|
23
|
+
*/
|
|
24
|
+
function mapAddItemEvent(orgEvtPayload, state) {
|
|
25
|
+
var _evtPayload, _evtPayload3;
|
|
26
|
+
// make structure_json using assest3D
|
|
27
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
28
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
29
|
+
var tempStructure = {};
|
|
30
|
+
var tempPlaceholders = [];
|
|
31
|
+
var cabinetDoorFinishId, animation;
|
|
32
|
+
if ((0, _helper.isEmpty)(orgEvtPayload)) return null;
|
|
33
|
+
var evtPayload = structuredClone(orgEvtPayload);
|
|
34
|
+
if (((_evtPayload = evtPayload) === null || _evtPayload === void 0 ? void 0 : _evtPayload.type) !== _constants.ITEM_TYPE.CABINET) {
|
|
35
|
+
var _evtPayload2;
|
|
36
|
+
evtPayload.structure_json = {
|
|
37
|
+
base: (_evtPayload2 = evtPayload) === null || _evtPayload2 === void 0 ? void 0 : _evtPayload2.gltf
|
|
38
|
+
};
|
|
39
|
+
return evtPayload;
|
|
40
|
+
}
|
|
41
|
+
var cabinetDoorFinish = (_evtPayload3 = evtPayload) === null || _evtPayload3 === void 0 ? void 0 : _evtPayload3.ccdf;
|
|
42
|
+
var assets3d = cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.assets3d;
|
|
43
|
+
if ((0, _helper.isEmpty)(assets3d)) {
|
|
44
|
+
var _evtPayload4;
|
|
45
|
+
tempStructure.base = (_evtPayload4 = evtPayload) === null || _evtPayload4 === void 0 ? void 0 : _evtPayload4.gltf;
|
|
46
|
+
}
|
|
47
|
+
if (!(0, _helper.isEmpty)(cabinetDoorFinish === null || cabinetDoorFinish === void 0 ? void 0 : cabinetDoorFinish.id)) {
|
|
48
|
+
cabinetDoorFinishId = cabinetDoorFinish.id;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// clone so we can push injected handle assets without mutating original
|
|
52
|
+
var updatedAssets3D = (0, _toConsumableArray2["default"])(assets3d);
|
|
53
|
+
|
|
54
|
+
// first pass: inject door-handle assets where needed
|
|
55
|
+
if (!(0, _helper.isEmpty)(assets3d)) {
|
|
56
|
+
assets3d.forEach(function (asItem) {
|
|
57
|
+
// make door handle
|
|
58
|
+
if (!(0, _helper.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
59
|
+
var phName = asItem.placeholder_name;
|
|
60
|
+
if (phName.includes('door_')) {
|
|
61
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
62
|
+
updatedAssets3D.push({
|
|
63
|
+
placeholder_name: doorHandleName,
|
|
64
|
+
gltf: layer.get('doorHandle')
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// second pass: build structure + placeholders from full asset list
|
|
71
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
72
|
+
var _evtPayload5;
|
|
73
|
+
// set base field with gltf
|
|
74
|
+
tempStructure.base = (_evtPayload5 = evtPayload) === null || _evtPayload5 === void 0 ? void 0 : _evtPayload5.gltf;
|
|
75
|
+
if (!(0, _helper.isEmpty)(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
76
|
+
// make the structure using placeholder_name and gltf
|
|
77
|
+
var phName = asitem.placeholder_name;
|
|
78
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
79
|
+
phName = 'base_' + phName;
|
|
80
|
+
}
|
|
81
|
+
tempStructure[phName] = asitem.gltf;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// make the tempPlaceholders using structure and id
|
|
87
|
+
tempPlaceholders.push({
|
|
88
|
+
id: cabinetDoorFinishId,
|
|
89
|
+
structure: tempStructure
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// make the structure_json using animation and tempPlaceholders
|
|
93
|
+
var structure_json = {
|
|
94
|
+
animation: animation,
|
|
95
|
+
tempPlaceholders: tempPlaceholders
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
// rebuild the cabinet payload with structure_json
|
|
99
|
+
evtPayload = _objectSpread(_objectSpread({}, evtPayload), {}, {
|
|
100
|
+
structure_json: structure_json
|
|
101
|
+
});
|
|
102
|
+
return evtPayload;
|
|
103
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
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 layerJS = (0, _immutable.toJSIfNeeded)(layer);
|
|
17
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (ccdf) {
|
|
18
|
+
// IMPORTANT: DIY-834-43
|
|
19
|
+
// Each CCDF row must produce its own independent structure/tempPlaceholders objects.
|
|
20
|
+
// Reusing the same object across iterations causes cross-cabinet mutation bugs
|
|
21
|
+
// (e.g. B12's `structure.base` being overwritten by W1218's gltf).
|
|
22
|
+
var tempPlaceholders = [];
|
|
23
|
+
var structure = {};
|
|
24
|
+
var cdfId;
|
|
25
|
+
var structure_json = {};
|
|
26
|
+
var cabinetDefinition = {};
|
|
27
|
+
var itemKeys = Object.keys(layerJS.items);
|
|
28
|
+
var correctItemId = '';
|
|
29
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
30
|
+
var it = layerJS.items[itemKeys[i]];
|
|
31
|
+
// Join key: scene_cabinet_id (instance id).
|
|
32
|
+
if (!!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (it === null || it === void 0 ? void 0 : it.id) === ccdf.scene_cabinet_id) correctItemId = layerJS.items[itemKeys[i]].id;
|
|
33
|
+
}
|
|
34
|
+
var cd = layerJS.items[correctItemId];
|
|
35
|
+
if (cd && !!(ccdf !== null && ccdf !== void 0 && ccdf.scene_cabinet_id) && (cd === null || cd === void 0 ? void 0 : cd.id) === ccdf.scene_cabinet_id) {
|
|
36
|
+
if (!(0, _utils.isEmpty)(ccdf === null || ccdf === void 0 ? void 0 : ccdf.id)) {
|
|
37
|
+
cdfId = ccdf.id;
|
|
38
|
+
}
|
|
39
|
+
var assets3d = Array.isArray(ccdf === null || ccdf === void 0 ? void 0 : ccdf.assets3d) ? ccdf.assets3d : [];
|
|
40
|
+
var updatedAssets3D = (0, _toConsumableArray2["default"])(assets3d);
|
|
41
|
+
|
|
42
|
+
// Always set base cabinet gltf even when there are no door/drawer assets.
|
|
43
|
+
// This ensures we can render a naked cabinet (base-only) for unsupported door styles.
|
|
44
|
+
structure.base = (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf;
|
|
45
|
+
|
|
46
|
+
// make structure (augment assets3d with door handles)
|
|
47
|
+
assets3d.forEach(function (asItem) {
|
|
48
|
+
// make door handle
|
|
49
|
+
if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.placeholder_name)) {
|
|
50
|
+
var phName = asItem.placeholder_name;
|
|
51
|
+
if (phName.includes('door_')) {
|
|
52
|
+
var doorHandleName = phName.slice(0, phName.length - 2) + '_handle' + phName.slice(phName.length - 2);
|
|
53
|
+
updatedAssets3D.push({
|
|
54
|
+
placeholder_name: doorHandleName,
|
|
55
|
+
gltf: layerJS.doorHandle
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
updatedAssets3D.forEach(function (asitem) {
|
|
61
|
+
if (!(0, _utils.isEmpty)(asitem === null || asitem === void 0 ? void 0 : asitem.placeholder_name)) {
|
|
62
|
+
// make the structure using placeholder_name and gltf
|
|
63
|
+
var phName = asitem.placeholder_name;
|
|
64
|
+
if (!phName.includes('_handle_') && !phName.includes('sink')) {
|
|
65
|
+
phName = 'base_' + phName;
|
|
66
|
+
}
|
|
67
|
+
structure[phName] = asitem.gltf;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
// make tempPlaceholders
|
|
71
|
+
// Only push when we have at least a base cabinet gltf to render.
|
|
72
|
+
if (!(0, _utils.isEmpty)(structure === null || structure === void 0 ? void 0 : structure.base)) {
|
|
73
|
+
tempPlaceholders.push({
|
|
74
|
+
structure: structure,
|
|
75
|
+
id: cdfId
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
// make structure_json
|
|
79
|
+
structure_json = {
|
|
80
|
+
tempPlaceholders: tempPlaceholders
|
|
81
|
+
};
|
|
82
|
+
// make cabinet definition using structure_json and catalog
|
|
83
|
+
cabinetDefinition = {
|
|
84
|
+
type: cd.category,
|
|
85
|
+
itemID: cd.itemID,
|
|
86
|
+
name: cd.name,
|
|
87
|
+
long_name: cd.long_name,
|
|
88
|
+
sizeinfo: cd.sizeinfo,
|
|
89
|
+
description: cd.description,
|
|
90
|
+
prototype: cd.prototype,
|
|
91
|
+
base: cd.base,
|
|
92
|
+
shape_svg: cd.shape_svg,
|
|
93
|
+
// If host provides cabinet base gltf/bin at CCDF top-level, prefer it.
|
|
94
|
+
gltf: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.gltf) || cd.gltf,
|
|
95
|
+
bin: (ccdf === null || ccdf === void 0 ? void 0 : ccdf.bin) || (cd === null || cd === void 0 ? void 0 : cd.bin),
|
|
96
|
+
structure_json: structure_json,
|
|
97
|
+
layoutpos: cd.layoutpos,
|
|
98
|
+
is_corner: cd.is_corner,
|
|
99
|
+
obj_property: cd.obj_property,
|
|
100
|
+
outline: cd.outline
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// make cabinet definition list using cabinetDefinition
|
|
104
|
+
cabinetDefinitionList.push(cabinetDefinition);
|
|
105
|
+
});
|
|
106
|
+
return cabinetDefinitionList;
|
|
107
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mapFromCCDFToCDS = mapFromCCDFToCDS;
|
|
7
|
+
var _utils = require("../../../components/viewer2d/utils");
|
|
8
|
+
function mapFromCCDFToCDS(ccdf_list) {
|
|
9
|
+
var sceneItems = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
10
|
+
// This function make CDS from CCDF_List
|
|
11
|
+
// `sceneItems` (optional) lets us map CCDF rows back onto placed scene items
|
|
12
|
+
// using stable identity (long_name), because host `cabinet_id` can vary per doorstyle.
|
|
13
|
+
var itemsArray = sceneItems ? Array.isArray(sceneItems) ? sceneItems : Object.values(sceneItems) : null;
|
|
14
|
+
var itemCDSList = [];
|
|
15
|
+
ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
|
|
16
|
+
// IMPORTANT: DIY-834-43
|
|
17
|
+
// `itemCDSData` must be recreated per asItem. Reusing it across iterations
|
|
18
|
+
// can leak one cabinet's door/drawer mappings into another.
|
|
19
|
+
var itemCDSData = {};
|
|
20
|
+
var cabitnetDoorStyleId;
|
|
21
|
+
if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
|
|
22
|
+
cabitnetDoorStyleId = asItem.id;
|
|
23
|
+
}
|
|
24
|
+
asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
|
|
25
|
+
if (!(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.placeholder_name) && !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.gltf)) {
|
|
26
|
+
var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
|
|
27
|
+
itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
|
|
28
|
+
}
|
|
29
|
+
itemCDSData['is_euro_cds'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
|
|
30
|
+
itemCDSData['euro_shape_svg'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
|
|
31
|
+
itemCDSData['euro_width'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
|
|
32
|
+
itemCDSData['euro_height'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
|
|
33
|
+
itemCDSData['euro_length'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
|
|
34
|
+
});
|
|
35
|
+
var data = [];
|
|
36
|
+
data.push(itemCDSData);
|
|
37
|
+
|
|
38
|
+
// Prefer stable join key: long_name -> scene item's itemID.
|
|
39
|
+
// Fall back to host cabinet_id for backward compatibility.
|
|
40
|
+
var resolvedItemID = asItem === null || asItem === void 0 ? void 0 : asItem.cabinet_id;
|
|
41
|
+
if (itemsArray) {
|
|
42
|
+
var match = itemsArray.find(function (it) {
|
|
43
|
+
return it.id === asItem.scene_cabinet_id;
|
|
44
|
+
});
|
|
45
|
+
if (match !== null && match !== void 0 && match.itemID) resolvedItemID = match.itemID;
|
|
46
|
+
}
|
|
47
|
+
itemCDSList.push({
|
|
48
|
+
itemID: resolvedItemID,
|
|
49
|
+
long_name: asItem === null || asItem === void 0 ? void 0 : asItem.long_name,
|
|
50
|
+
data: data,
|
|
51
|
+
cabinet_door_style_id: cabitnetDoorStyleId
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
return itemCDSList;
|
|
55
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mapChangeDoorStyleEvent = mapChangeDoorStyleEvent;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _constants = require("../../../constants");
|
|
10
|
+
var _helper = require("../../../utils/helper");
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
+
function mapChangeDoorStyleEvent(evt, state) {
|
|
14
|
+
var _evt$payload, _layer$toJS;
|
|
15
|
+
if ((0, _helper.isEmpty)(evt)) return null;
|
|
16
|
+
var targetDoorStyle = evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 ? void 0 : _evt$payload.doorStyle;
|
|
17
|
+
if ((0, _helper.isEmpty)(targetDoorStyle)) return evt;
|
|
18
|
+
var layerId = state.getIn(['scene', 'selectedLayer']);
|
|
19
|
+
var layer = state.getIn(['scene', 'layers', layerId]);
|
|
20
|
+
if ((0, _helper.isEmpty)(layer)) return evt;
|
|
21
|
+
var handleTexture = layer.get('doorHandle');
|
|
22
|
+
var counterToptexture = layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 || (_layer$toJS = _layer$toJS.counterTop) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.uri;
|
|
23
|
+
|
|
24
|
+
// make doorStyles and update the doorStyle payload
|
|
25
|
+
var Max_PH = 9;
|
|
26
|
+
var doorStyles = {
|
|
27
|
+
base: targetDoorStyle.texture,
|
|
28
|
+
counttop: counterToptexture,
|
|
29
|
+
interior: _constants.DEFAULT_INTERIOR_URL
|
|
30
|
+
};
|
|
31
|
+
for (var i = 1; i <= Max_PH; i++) {
|
|
32
|
+
doorStyles['base_door_' + i] = targetDoorStyle.texture;
|
|
33
|
+
doorStyles['base_fixed_drawer_door_' + i] = targetDoorStyle.texture;
|
|
34
|
+
doorStyles['base_drawer_' + i] = targetDoorStyle.texture;
|
|
35
|
+
doorStyles['base_drawer_door_' + i] = targetDoorStyle.texture;
|
|
36
|
+
doorStyles['door_handle_' + i] = handleTexture;
|
|
37
|
+
doorStyles['fixed_drawer_door_handle_' + i] = handleTexture;
|
|
38
|
+
doorStyles['drawer_door_handle_' + i] = handleTexture;
|
|
39
|
+
}
|
|
40
|
+
evt.payload.doorStyle = _objectSpread(_objectSpread({}, targetDoorStyle), {}, {
|
|
41
|
+
doorStyles: doorStyles
|
|
42
|
+
});
|
|
43
|
+
return evt;
|
|
44
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.mapLoadProjectEvent = mapLoadProjectEvent;
|
|
8
|
+
exports.updateProjectWithCDSList = updateProjectWithCDSList;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _constants = require("../../../constants");
|
|
11
|
+
var _helper = require("../../../utils/helper");
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
function mapLoadProjectEvent(evt, state) {
|
|
15
|
+
// preprocessing for loading project
|
|
16
|
+
// this function make doorStyles using item's doorStyle
|
|
17
|
+
if ((0, _helper.isEmpty)(evt)) return null;
|
|
18
|
+
var layerId = evt.payload.layers['layer-1'].id;
|
|
19
|
+
var layer = evt.payload.layers;
|
|
20
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
21
|
+
if ((0, _helper.isEmpty)(layer)) return evt;
|
|
22
|
+
var handleTexture = !(0, _helper.isEmpty)(layer.doorHandle) ? layer.doorHandle : _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL;
|
|
23
|
+
var counterToptexture = layer.counterTop;
|
|
24
|
+
// make doorStyles and update the doorStyle payload
|
|
25
|
+
var Max_PH = 9;
|
|
26
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
27
|
+
var item = layer[layerId].items[itemKeys[i]];
|
|
28
|
+
var doorStyle = item.doorStyle;
|
|
29
|
+
var doorStyles = {
|
|
30
|
+
base: doorStyle.texture,
|
|
31
|
+
counttop: counterToptexture,
|
|
32
|
+
interior: _constants.DEFAULT_INTERIOR_URL
|
|
33
|
+
};
|
|
34
|
+
for (var _i = 1; _i <= Max_PH; _i++) {
|
|
35
|
+
doorStyles['base_door_' + _i] = doorStyle.texture;
|
|
36
|
+
doorStyles['base_fixed_drawer_door_' + _i] = doorStyle.texture;
|
|
37
|
+
doorStyles['base_drawer_' + _i] = doorStyle.texture;
|
|
38
|
+
doorStyles['base_drawer_door_' + _i] = doorStyle.texture;
|
|
39
|
+
doorStyles['door_handle_' + _i] = handleTexture;
|
|
40
|
+
doorStyles['fixed_drawer_door_handle_' + _i] = handleTexture;
|
|
41
|
+
doorStyles['drawer_door_handle_' + _i] = handleTexture;
|
|
42
|
+
}
|
|
43
|
+
item.doorStyle = _objectSpread(_objectSpread({}, doorStyle), {}, {
|
|
44
|
+
doorStyles: doorStyles
|
|
45
|
+
});
|
|
46
|
+
layer[layerId].items[itemKeys[i]] = item;
|
|
47
|
+
}
|
|
48
|
+
return evt;
|
|
49
|
+
}
|
|
50
|
+
function updateProjectWithCDSList(project, cdsList) {
|
|
51
|
+
//This function updates the project json using CDSList
|
|
52
|
+
if ((0, _helper.isEmpty)(project) || (0, _helper.isEmpty)(cdsList)) return project;
|
|
53
|
+
var layerId = project.layers['layer-1'].id;
|
|
54
|
+
var layer = project.layers;
|
|
55
|
+
var itemKeys = Object.keys(layer[layerId].items);
|
|
56
|
+
if ((0, _helper.isEmpty)(itemKeys)) return project;
|
|
57
|
+
var _loop = function _loop(i) {
|
|
58
|
+
cdsList.forEach(function (cds) {
|
|
59
|
+
var _layer$layerId;
|
|
60
|
+
if (((_layer$layerId = layer[layerId]) === null || _layer$layerId === void 0 || (_layer$layerId = _layer$layerId.items[itemKeys[i]]) === null || _layer$layerId === void 0 ? void 0 : _layer$layerId.itemID) === (cds === null || cds === void 0 ? void 0 : cds.itemID)) {
|
|
61
|
+
layer[layerId].items[itemKeys[i]].doorStyle.cds = cds;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
for (var i = 0; i < itemKeys.length; i++) {
|
|
66
|
+
_loop(i);
|
|
67
|
+
}
|
|
68
|
+
project.layers = layer;
|
|
69
|
+
return project;
|
|
70
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.registerDynamicHoles = exports.buildHoleElements = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var Holes = _interopRequireWildcard(require("../catalog/holes/export"));
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var INCH_TO_CM = 2.54;
|
|
16
|
+
var normalizeKey = function normalizeKey(value) {
|
|
17
|
+
return (value !== null && value !== void 0 ? value : '').toString().toLowerCase().replace(/[^a-z0-9]+/g, '');
|
|
18
|
+
};
|
|
19
|
+
var safeParseJson = function safeParseJson(value) {
|
|
20
|
+
if (!value) return null;
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(value);
|
|
23
|
+
} catch (_unused) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var toCatalogLength = function toCatalogLength(value, prop) {
|
|
28
|
+
var _prop$defaultValue;
|
|
29
|
+
if (value == null) return null;
|
|
30
|
+
var unit = prop === null || prop === void 0 || (_prop$defaultValue = prop.defaultValue) === null || _prop$defaultValue === void 0 ? void 0 : _prop$defaultValue.unit;
|
|
31
|
+
if (unit && unit.toLowerCase() === 'in') return value;
|
|
32
|
+
return value * INCH_TO_CM;
|
|
33
|
+
};
|
|
34
|
+
var overrideLengthProperty = function overrideLengthProperty(prop, value) {
|
|
35
|
+
if (!prop || value == null) return prop;
|
|
36
|
+
var length = toCatalogLength(value, prop);
|
|
37
|
+
if (length == null) return prop;
|
|
38
|
+
return _objectSpread(_objectSpread({}, prop), {}, {
|
|
39
|
+
defaultValue: _objectSpread(_objectSpread({}, prop.defaultValue), {}, {
|
|
40
|
+
length: length
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var findBaseHoleTemplate = function findBaseHoleTemplate(hole, templates) {
|
|
45
|
+
var target = normalizeKey(hole === null || hole === void 0 ? void 0 : hole.name);
|
|
46
|
+
if (!target) return null;
|
|
47
|
+
return templates.find(function (template) {
|
|
48
|
+
var _template$info, _template$info2;
|
|
49
|
+
var candidates = [template === null || template === void 0 ? void 0 : template.name, template === null || template === void 0 || (_template$info = template.info) === null || _template$info === void 0 ? void 0 : _template$info.title, template === null || template === void 0 || (_template$info2 = template.info) === null || _template$info2 === void 0 ? void 0 : _template$info2.description].map(normalizeKey);
|
|
50
|
+
return candidates.includes(target);
|
|
51
|
+
}) || null;
|
|
52
|
+
};
|
|
53
|
+
var buildHoleElementFromTemplate = function buildHoleElementFromTemplate(hole, base) {
|
|
54
|
+
var _base$info, _base$info2, _base$info3, _base$info4, _base$info5, _base$structure_json;
|
|
55
|
+
if (!hole || !base) return null;
|
|
56
|
+
var nextInfo = _objectSpread(_objectSpread({}, base.info), {}, {
|
|
57
|
+
title: hole.name || ((_base$info = base.info) === null || _base$info === void 0 ? void 0 : _base$info.title),
|
|
58
|
+
description: ((_base$info2 = base.info) === null || _base$info2 === void 0 ? void 0 : _base$info2.description) || hole.name || ((_base$info3 = base.info) === null || _base$info3 === void 0 ? void 0 : _base$info3.title),
|
|
59
|
+
image: hole.menu_thumbnail || ((_base$info4 = base.info) === null || _base$info4 === void 0 ? void 0 : _base$info4.image),
|
|
60
|
+
url: hole.gltf || ((_base$info5 = base.info) === null || _base$info5 === void 0 ? void 0 : _base$info5.url)
|
|
61
|
+
});
|
|
62
|
+
var nextProperties = _objectSpread({}, base.properties);
|
|
63
|
+
if (nextProperties.width) {
|
|
64
|
+
nextProperties.width = overrideLengthProperty(nextProperties.width, hole.width);
|
|
65
|
+
}
|
|
66
|
+
if (nextProperties.height) {
|
|
67
|
+
nextProperties.height = overrideLengthProperty(nextProperties.height, hole.height);
|
|
68
|
+
}
|
|
69
|
+
if (nextProperties.length) {
|
|
70
|
+
nextProperties.length = overrideLengthProperty(nextProperties.length, hole.length);
|
|
71
|
+
}
|
|
72
|
+
var customConfig = safeParseJson(hole.custom_config);
|
|
73
|
+
var customProps = (customConfig === null || customConfig === void 0 ? void 0 : customConfig.properties) || {};
|
|
74
|
+
Object.keys(customProps).forEach(function (key) {
|
|
75
|
+
if (!nextProperties[key]) return;
|
|
76
|
+
nextProperties[key] = overrideLengthProperty(nextProperties[key], customProps[key]);
|
|
77
|
+
});
|
|
78
|
+
return _objectSpread(_objectSpread({}, base), {}, {
|
|
79
|
+
name: hole.name || base.name,
|
|
80
|
+
info: nextInfo,
|
|
81
|
+
properties: nextProperties,
|
|
82
|
+
structure_json: _objectSpread(_objectSpread({}, base.structure_json || {}), {}, {
|
|
83
|
+
hole_id: hole.id || ((_base$structure_json = base.structure_json) === null || _base$structure_json === void 0 ? void 0 : _base$structure_json.hole_id)
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
var buildHoleElements = exports.buildHoleElements = function buildHoleElements(holes) {
|
|
88
|
+
var categories = {
|
|
89
|
+
Doors: [],
|
|
90
|
+
Windows: []
|
|
91
|
+
};
|
|
92
|
+
var elements = [];
|
|
93
|
+
if (!Array.isArray(holes)) return {
|
|
94
|
+
elements: elements,
|
|
95
|
+
categories: categories
|
|
96
|
+
};
|
|
97
|
+
var templates = Object.values(Holes);
|
|
98
|
+
var usedNames = new Set();
|
|
99
|
+
holes.forEach(function (hole) {
|
|
100
|
+
var _base$info6;
|
|
101
|
+
if (!hole || hole.is_deleted) return;
|
|
102
|
+
var base = findBaseHoleTemplate(hole, templates);
|
|
103
|
+
if (!base) return;
|
|
104
|
+
var element = buildHoleElementFromTemplate(hole, base);
|
|
105
|
+
if (!element || !element.name || usedNames.has(element.name)) return;
|
|
106
|
+
usedNames.add(element.name);
|
|
107
|
+
elements.push(element);
|
|
108
|
+
var typeKey = normalizeKey(hole.type);
|
|
109
|
+
if (typeKey === 'window') {
|
|
110
|
+
categories.Windows.push(element);
|
|
111
|
+
} else if (typeKey === 'door') {
|
|
112
|
+
categories.Doors.push(element);
|
|
113
|
+
} else if ((_base$info6 = base.info) !== null && _base$info6 !== void 0 && (_base$info6 = _base$info6.tag) !== null && _base$info6 !== void 0 && _base$info6.includes('window')) {
|
|
114
|
+
categories.Windows.push(element);
|
|
115
|
+
} else {
|
|
116
|
+
categories.Doors.push(element);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return {
|
|
120
|
+
elements: elements,
|
|
121
|
+
categories: categories
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
var registerDynamicHoles = exports.registerDynamicHoles = function registerDynamicHoles(catalog, holePayload) {
|
|
125
|
+
if (!catalog) return;
|
|
126
|
+
var holeElements = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.elements) || [];
|
|
127
|
+
holeElements.forEach(function (element) {
|
|
128
|
+
if (!catalog.hasElement(element.name)) {
|
|
129
|
+
catalog.registerElement(element);
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
var categories = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.categories) || {};
|
|
133
|
+
Object.entries(categories).forEach(function (_ref) {
|
|
134
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
135
|
+
name = _ref2[0],
|
|
136
|
+
elements = _ref2[1];
|
|
137
|
+
if (!elements.length) return;
|
|
138
|
+
if (!catalog.hasCategory(name)) {
|
|
139
|
+
catalog.registerCategory(name, name, elements);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
elements.forEach(function (element) {
|
|
143
|
+
if (!catalog.categoryHasElement(name, element.name)) {
|
|
144
|
+
catalog.addToCategory(name, element);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
};
|