kitchen-simulator 11.0.0-react.18 → 11.1.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 +211 -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 +2013 -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
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
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
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 React, {
|
|
5
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { ReactSVGPanZoom, TOOL_AUTO, TOOL_NONE, TOOL_PAN, TOOL_ZOOM_IN, TOOL_ZOOM_OUT } from 'react-svg-pan-zoom';
|
|
8
8
|
import * as constants from "../../constants";
|
|
@@ -15,11 +15,9 @@ import FormNumberInput from "../style/form-number-input";
|
|
|
15
15
|
import { convert } from "../../utils/convert-units-lite";
|
|
16
16
|
import { Map } from 'immutable';
|
|
17
17
|
import { formatNumber } from "../../utils/math";
|
|
18
|
-
import { isEmpty, updatePayloadOfInternalEvent } from "../../utils/helper";
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// variables (kept as in your original file)
|
|
18
|
+
import { isEmpty, updatePayloadOfInternalEvent } from "../../utils/helper"; // variables
|
|
19
|
+
import { isWarningCabinet } from "../../shared/domain/cabinet-warning";
|
|
20
|
+
// variables
|
|
23
21
|
var pinFlag = false;
|
|
24
22
|
var sFlag = false; //for all object move
|
|
25
23
|
var sPoint = {}; //for all object move
|
|
@@ -32,7 +30,6 @@ var allLines;
|
|
|
32
30
|
var allLineRects;
|
|
33
31
|
var allLineSnap;
|
|
34
32
|
var allRect;
|
|
35
|
-
var holeRect;
|
|
36
33
|
var allArea;
|
|
37
34
|
|
|
38
35
|
// /////////
|
|
@@ -108,11 +105,10 @@ function mode2DetectAutopan(mode) {
|
|
|
108
105
|
}
|
|
109
106
|
}
|
|
110
107
|
function extractElementData(node) {
|
|
111
|
-
while (!
|
|
112
|
-
var _node, _node$getNamedItem, _node2;
|
|
108
|
+
while (!node.attributes.getNamedItem('data-element-root') && node.tagName !== 'svg') {
|
|
113
109
|
node = node.parentNode;
|
|
114
110
|
}
|
|
115
|
-
if (
|
|
111
|
+
if (node.tagName === 'svg') return null;
|
|
116
112
|
return {
|
|
117
113
|
length: node.attributes.getNamedItem('data-length') ? parseFloat(node.attributes.getNamedItem('data-length').value) : 0,
|
|
118
114
|
part: node.attributes.getNamedItem('data-part') ? node.attributes.getNamedItem('data-part').value : undefined,
|
|
@@ -123,23 +119,21 @@ function extractElementData(node) {
|
|
|
123
119
|
direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
|
|
124
120
|
};
|
|
125
121
|
}
|
|
126
|
-
export default function Viewer2D(_ref) {
|
|
122
|
+
export default function Viewer2D(_ref, _ref2) {
|
|
127
123
|
var state = _ref.state,
|
|
128
124
|
width = _ref.width,
|
|
129
125
|
height = _ref.height,
|
|
130
126
|
setToolbar = _ref.setToolbar,
|
|
131
127
|
replaceCabinet = _ref.replaceCabinet,
|
|
132
128
|
onInternalEvent = _ref.onInternalEvent;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
projectActions = ctx.projectActions,
|
|
142
|
-
catalog = ctx.catalog;
|
|
129
|
+
var viewer2DActions = _ref2.viewer2DActions,
|
|
130
|
+
linesActions = _ref2.linesActions,
|
|
131
|
+
holesActions = _ref2.holesActions,
|
|
132
|
+
verticesActions = _ref2.verticesActions,
|
|
133
|
+
itemsActions = _ref2.itemsActions,
|
|
134
|
+
areaActions = _ref2.areaActions,
|
|
135
|
+
projectActions = _ref2.projectActions,
|
|
136
|
+
catalog = _ref2.catalog;
|
|
143
137
|
var _useState = useState(null),
|
|
144
138
|
_useState2 = _slicedToArray(_useState, 2),
|
|
145
139
|
rulerEdit = _useState2[0],
|
|
@@ -149,56 +143,20 @@ export default function Viewer2D(_ref) {
|
|
|
149
143
|
rulerEditID = _useState4[0],
|
|
150
144
|
setRulerEditID = _useState4[1];
|
|
151
145
|
var Viewer = useRef(null);
|
|
152
|
-
var _useState5 = useState(false),
|
|
153
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
154
|
-
viewerReady = _useState6[0],
|
|
155
|
-
setViewerReady = _useState6[1];
|
|
156
|
-
var setViewerRef = function setViewerRef(node) {
|
|
157
|
-
Viewer.current = node;
|
|
158
|
-
if (node && !viewerReady) setViewerReady(true);
|
|
159
|
-
};
|
|
160
146
|
var viewer2D = state.viewer2D,
|
|
161
147
|
mode = state.mode,
|
|
162
148
|
scene = state.scene;
|
|
163
|
-
var _useState7 = useState([]),
|
|
164
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
165
|
-
relatedLines = _useState8[0],
|
|
166
|
-
setRelatedLines = _useState8[1];
|
|
167
|
-
var _useState9 = useState(false),
|
|
168
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
169
|
-
drawStart = _useState0[0],
|
|
170
|
-
setdrawStart = _useState0[1];
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* ✅ CRITICAL FIX (keeps same behavior):
|
|
174
|
-
* react-svg-pan-zoom does NOT always provide viewerEvent.x/y on mousedown/mouseup.
|
|
175
|
-
* If you treat viewerEvent as {x,y}, you inject NaN into Redux state -> SVG crash.
|
|
176
|
-
*/
|
|
177
|
-
var getXY = function getXY(viewerEvent) {
|
|
178
|
-
var _viewerEvent$original;
|
|
179
|
-
// mousemove usually has viewer coords
|
|
180
|
-
if (Number.isFinite(viewerEvent === null || viewerEvent === void 0 ? void 0 : viewerEvent.x) && Number.isFinite(viewerEvent === null || viewerEvent === void 0 ? void 0 : viewerEvent.y)) {
|
|
181
|
-
return {
|
|
182
|
-
x: viewerEvent.x,
|
|
183
|
-
y: viewerEvent.y
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// fallback for mousedown/mouseup
|
|
188
|
-
var ev = (viewerEvent === null || viewerEvent === void 0 || (_viewerEvent$original = viewerEvent.originalEvent) === null || _viewerEvent$original === void 0 ? void 0 : _viewerEvent$original.nativeEvent) || (viewerEvent === null || viewerEvent === void 0 ? void 0 : viewerEvent.originalEvent);
|
|
189
|
-
if (!ev || !Viewer.current) return null;
|
|
190
149
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
150
|
+
// let relatedLines = [];
|
|
151
|
+
var _useState5 = useState([]),
|
|
152
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
153
|
+
relatedLines = _useState6[0],
|
|
154
|
+
setRelatedLines = _useState6[1];
|
|
155
|
+
var _useState7 = useState(false),
|
|
156
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
157
|
+
drawStart = _useState8[0],
|
|
158
|
+
setdrawStart = _useState8[1];
|
|
199
159
|
useEffect(function () {
|
|
200
|
-
if (!viewerReady || !Viewer.current) return;
|
|
201
|
-
|
|
202
160
|
// move viewer point to center
|
|
203
161
|
var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
|
|
204
162
|
var vertices = selectedLayer.vertices;
|
|
@@ -217,20 +175,23 @@ export default function Viewer2D(_ref) {
|
|
|
217
175
|
});
|
|
218
176
|
var moveX = topX + (bottomX - topX) / 2;
|
|
219
177
|
var moveY = 2000 - (bottomY + (topY - bottomY) / 2);
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
}, [viewerReady, state.scene.selectedLayer]);
|
|
178
|
+
Viewer.current.setPointOnViewerCenter(moveX, moveY, viewer2D.get('a'));
|
|
179
|
+
}, []);
|
|
223
180
|
var layerID = scene.selectedLayer;
|
|
224
181
|
var wall_thickness = LINE_THICKNESS / 2;
|
|
225
182
|
var layer = scene.getIn(['layers', layerID]);
|
|
226
|
-
var mapCursorPosition = function mapCursorPosition(
|
|
227
|
-
var x =
|
|
228
|
-
y =
|
|
183
|
+
var mapCursorPosition = function mapCursorPosition(_ref3) {
|
|
184
|
+
var x = _ref3.x,
|
|
185
|
+
y = _ref3.y;
|
|
229
186
|
return {
|
|
230
187
|
x: x,
|
|
231
188
|
y: -y + scene.height
|
|
232
189
|
};
|
|
233
190
|
};
|
|
191
|
+
// let pinBackColor = pinFlag ? "#4488ff" : "black";
|
|
192
|
+
// let topRightImg = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? "/assets/img/svg/topbar/edit_inactive.svg" : "/assets/img/svg/topbar/edit_active.svg";
|
|
193
|
+
// let topBtnAction = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? () => linesActions.selectToolDrawingLine("wall") : () => projectActions.setMode(MODE_IDLE);
|
|
194
|
+
|
|
234
195
|
var prepareSnap = function prepareSnap() {
|
|
235
196
|
var layerID = scene.selectedLayer;
|
|
236
197
|
var layer = scene.layers.get(layerID);
|
|
@@ -290,7 +251,24 @@ export default function Viewer2D(_ref) {
|
|
|
290
251
|
v_a = _GeometryUtils$orderV2[0],
|
|
291
252
|
v_b = _GeometryUtils$orderV2[1];
|
|
292
253
|
var v_b_new = GeometryUtils.extendLine(v_a.x, v_a.y, v_b.x, v_b.y, value.get('length'), 2);
|
|
254
|
+
|
|
255
|
+
// Blocked function that as wall changed, opposite wall should changed together.
|
|
256
|
+
// let layer = scene.getIn(['layers', elementData.layer]);
|
|
257
|
+
// let allLines = layer.lines.toArray()
|
|
258
|
+
// let relatedLine = allLines.filter(line => { return line.vertices.toArray().includes(v_b.id) && line.id != selectedLine.id })[0];
|
|
259
|
+
// let relatedVertexID = relatedLine && (relatedLine.vertices.toArray()[0] == v_b.id ? relatedLine.vertices.toArray()[1] : relatedLine.vertices.toArray()[0]);
|
|
260
|
+
// let v_d = relatedVertexID && layer.getIn(['vertices', relatedVertexID]);
|
|
261
|
+
// let delta = {
|
|
262
|
+
// x : v_b_new.x - v_b.x,
|
|
263
|
+
// y : v_b_new.y - v_b.y
|
|
264
|
+
// };
|
|
265
|
+
// let newPosition = {
|
|
266
|
+
// x : v_d.x + delta.x,
|
|
267
|
+
// y : v_d.y + delta.y
|
|
268
|
+
// }
|
|
269
|
+
|
|
293
270
|
var attributesData = {
|
|
271
|
+
// (v_0 === v_a ? 'vertexTwo' : 'vertexOne') : v_b.merge(v_b_new)),
|
|
294
272
|
lineLength: value
|
|
295
273
|
};
|
|
296
274
|
if (v_0 === v_a) {
|
|
@@ -310,6 +288,11 @@ export default function Viewer2D(_ref) {
|
|
|
310
288
|
layerID: elementData.layer,
|
|
311
289
|
lineID: elementData.id
|
|
312
290
|
});
|
|
291
|
+
|
|
292
|
+
// Blocked function that as wall changed, opposite wall should changed together.
|
|
293
|
+
// verticesActions.beginDraggingVertex(elementData.layer, relatedVertexID, newPosition.x, newPosition.y, state.snapMask);
|
|
294
|
+
// verticesActions.updateDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
|
|
295
|
+
// verticesActions.endDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
|
|
313
296
|
};
|
|
314
297
|
var updateTwoHoleRulerAttribute = function updateTwoHoleRulerAttribute(elementData, value) {
|
|
315
298
|
var elementIds = elementData.id.split(',');
|
|
@@ -375,9 +358,11 @@ export default function Viewer2D(_ref) {
|
|
|
375
358
|
_loop2(j);
|
|
376
359
|
}
|
|
377
360
|
};
|
|
361
|
+
// if (drawingLine.vertices[0] !== drawingLine.vertices[1]) {
|
|
378
362
|
for (var i = 0; i < drawingLine.vertices.length; i++) {
|
|
379
363
|
_loop();
|
|
380
364
|
}
|
|
365
|
+
// }
|
|
381
366
|
};
|
|
382
367
|
var getEndPoint = function getEndPoint(vertices, x, y, mode) {
|
|
383
368
|
var selLineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
@@ -444,6 +429,7 @@ export default function Viewer2D(_ref) {
|
|
|
444
429
|
vtx = x;
|
|
445
430
|
vty = y;
|
|
446
431
|
} else {
|
|
432
|
+
// the origin point of rotation(snapping)
|
|
447
433
|
var _originVerId = draggingLine.vertices.findIndex(function (vertice) {
|
|
448
434
|
return vertice !== dragVertexId;
|
|
449
435
|
});
|
|
@@ -451,7 +437,7 @@ export default function Viewer2D(_ref) {
|
|
|
451
437
|
if (stepUnit) {
|
|
452
438
|
var _ox = vertices[_originVerId].x;
|
|
453
439
|
var _oy = vertices[_originVerId].y;
|
|
454
|
-
angles.forEach(function (angle) {
|
|
440
|
+
angles.forEach(function (angle, index) {
|
|
455
441
|
if (Math.abs(angle) < MIN_ANGLE_DISALLOW_DRAW_WALL || Math.abs(angle) > 360 - MIN_ANGLE_DISALLOW_DRAW_WALL) {
|
|
456
442
|
var absVal = Math.abs(angle);
|
|
457
443
|
var rest = MIN_ANGLE_DISALLOW_DRAW_WALL - absVal;
|
|
@@ -459,7 +445,9 @@ export default function Viewer2D(_ref) {
|
|
|
459
445
|
absVal = 360 - absVal;
|
|
460
446
|
rest = -(MIN_ANGLE_DISALLOW_DRAW_WALL - absVal);
|
|
461
447
|
}
|
|
448
|
+
// determine the direction of rotation.
|
|
462
449
|
rest = angle > 0 ? -rest : rest;
|
|
450
|
+
// rotate the current point to last point around the first point of drawing line.
|
|
463
451
|
var res = GeometryUtils.rotatePointAroundPoint(x, y, _ox, _oy, rest);
|
|
464
452
|
vtx = res.x;
|
|
465
453
|
vty = res.y;
|
|
@@ -467,18 +455,98 @@ export default function Viewer2D(_ref) {
|
|
|
467
455
|
});
|
|
468
456
|
}
|
|
469
457
|
}
|
|
458
|
+
|
|
459
|
+
// angle snapping as a value of UNIT_ANGLE
|
|
470
460
|
if (!endDrag.some(function (flag) {
|
|
471
461
|
return flag === false;
|
|
472
462
|
}) && !isEmpty(absAngle) && absAngle % UNIT_ANGLE !== 0 && stepUnit) {
|
|
473
|
-
var
|
|
474
|
-
vtx =
|
|
475
|
-
vty =
|
|
463
|
+
var _result = GeometryUtils.snapAngleByUnit(lineAngle, vertices, draggingLine, vtx, vty, dragVertexId);
|
|
464
|
+
vtx = _result.x;
|
|
465
|
+
vty = _result.y;
|
|
476
466
|
}
|
|
477
|
-
|
|
467
|
+
var result = {
|
|
478
468
|
isEndDrag: endDrag,
|
|
479
469
|
x: vtx,
|
|
480
470
|
y: vty
|
|
481
471
|
};
|
|
472
|
+
return result;
|
|
473
|
+
};
|
|
474
|
+
var getProperties = function getProperties(item, property) {
|
|
475
|
+
var _item$properties;
|
|
476
|
+
if (!(item !== null && item !== void 0 && (_item$properties = item.properties) !== null && _item$properties !== void 0 && _item$properties.getIn)) return 0;
|
|
477
|
+
var length = item.properties.getIn([property, '_length']);
|
|
478
|
+
var unit = item.properties.getIn([property, '_unit']);
|
|
479
|
+
return length && unit ? convert(length).from(unit).to('cm') : 0;
|
|
480
|
+
};
|
|
481
|
+
var point = function point(x, y) {
|
|
482
|
+
return {
|
|
483
|
+
x: x,
|
|
484
|
+
y: y
|
|
485
|
+
};
|
|
486
|
+
};
|
|
487
|
+
var getDistant = function getDistant(x, y, rotRad, curItemInfo, allRect) {
|
|
488
|
+
var center_h = 3 * height / 8;
|
|
489
|
+
var center_x1 = x - center_h * Math.sin(rotRad);
|
|
490
|
+
var center_y1 = y + center_h * Math.cos(rotRad);
|
|
491
|
+
var pointArray = [];
|
|
492
|
+
curItemInfo.rectCenterPoint.forEach(function (centerpoint) {
|
|
493
|
+
if (!Array.isArray(centerpoint) || centerpoint.length < 2) return;
|
|
494
|
+
var _centerpoint = _slicedToArray(centerpoint, 2),
|
|
495
|
+
pt = _centerpoint[0],
|
|
496
|
+
angle = _centerpoint[1];
|
|
497
|
+
if (!pt) return;
|
|
498
|
+
|
|
499
|
+
// line through centerpoint and reference center
|
|
500
|
+
var rectLine = angle === 180 || angle === 0 ? GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, center_x1, center_y1) : GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
|
|
501
|
+
if (!rectLine) return;
|
|
502
|
+
var minDist;
|
|
503
|
+
allRect.forEach(function (linerect) {
|
|
504
|
+
if (!(linerect !== null && linerect !== void 0 && linerect.rect) || linerect.rect.length < 4) return;
|
|
505
|
+
var p0 = GeometryUtils.clone_point(linerect.rect[2]);
|
|
506
|
+
var p1 = GeometryUtils.clone_point(linerect.rect[3]);
|
|
507
|
+
if (!p0 || !p1 || p0.x === p1.x && p0.y === p1.y) return;
|
|
508
|
+
var lineFn = GeometryUtils.linePassingThroughTwoPoints(p0.x, p0.y, p1.x, p1.y);
|
|
509
|
+
if (!lineFn) return;
|
|
510
|
+
var ip = GeometryUtils.twoLinesIntersection(lineFn.a, lineFn.b, lineFn.c, rectLine.a, rectLine.b, rectLine.c);
|
|
511
|
+
if (!ip) return;
|
|
512
|
+
|
|
513
|
+
// intersection must lie within line segment
|
|
514
|
+
var segLen = GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
|
|
515
|
+
if (segLen <= GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) || segLen <= GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)) return;
|
|
516
|
+
|
|
517
|
+
// ensure intersection is farther than pt→center
|
|
518
|
+
var distToCenter = GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
|
|
519
|
+
var baseDist = GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
|
|
520
|
+
if (distToCenter <= baseDist) return;
|
|
521
|
+
var candidate = baseDist;
|
|
522
|
+
minDist = minDist !== undefined ? Math.min(minDist, candidate) : candidate;
|
|
523
|
+
});
|
|
524
|
+
pointArray.push([minDist !== null && minDist !== void 0 ? minDist : 0, angle]);
|
|
525
|
+
});
|
|
526
|
+
return pointArray;
|
|
527
|
+
};
|
|
528
|
+
var getCalcRectFromItem = function getCalcRectFromItem(item) {
|
|
529
|
+
if (!(item !== null && item !== void 0 && item.pos) || !(item !== null && item !== void 0 && item.size)) return {
|
|
530
|
+
rectCenterPoint: []
|
|
531
|
+
};
|
|
532
|
+
var _item$pos = item.pos,
|
|
533
|
+
x = _item$pos.x,
|
|
534
|
+
y = _item$pos.y;
|
|
535
|
+
var w = item.size.width / 2;
|
|
536
|
+
var h = item.size.height / 2;
|
|
537
|
+
var rotRad = item.rotRad;
|
|
538
|
+
var mh = 3 * h / 4;
|
|
539
|
+
var mx = x - w * Math.cos(rotRad) - mh * Math.sin(rotRad);
|
|
540
|
+
var my = y - w * Math.sin(rotRad) + mh * Math.cos(rotRad);
|
|
541
|
+
var m2x = x + w * Math.cos(rotRad) - mh * Math.sin(rotRad);
|
|
542
|
+
var m2y = y + w * Math.sin(rotRad) + mh * Math.cos(rotRad);
|
|
543
|
+
var m3x = x - h * Math.sin(rotRad);
|
|
544
|
+
var m3y = y + h * Math.cos(rotRad);
|
|
545
|
+
var m1x = x + h * Math.sin(rotRad);
|
|
546
|
+
var m1y = y - h * Math.cos(rotRad);
|
|
547
|
+
return {
|
|
548
|
+
rectCenterPoint: [[point(mx, my), 180], [point(m1x, m1y), -90], [point(m2x, m2y), 0], [point(m3x, m3y), 90]]
|
|
549
|
+
};
|
|
482
550
|
};
|
|
483
551
|
var getConnectedLines = function getConnectedLines() {
|
|
484
552
|
var _state$getIn;
|
|
@@ -486,22 +554,20 @@ export default function Viewer2D(_ref) {
|
|
|
486
554
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
487
555
|
var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
488
556
|
var drawingLine = (_state$getIn = state.getIn(['scene', 'layers', layerID, 'lines', lineID])) === null || _state$getIn === void 0 ? void 0 : _state$getIn.toJS();
|
|
557
|
+
// get the lines that have same points with drawing line.
|
|
489
558
|
if (!isEmpty(drawingLine)) {
|
|
490
559
|
var tlines = [];
|
|
491
560
|
getRelatedLines(tlines, drawingLine, vertices, lines);
|
|
492
561
|
setRelatedLines(tlines);
|
|
493
562
|
}
|
|
494
563
|
};
|
|
495
|
-
|
|
496
|
-
// =========================
|
|
497
|
-
// ✅ Mouse handlers (only x/y extraction changed; logic preserved)
|
|
498
|
-
// =========================
|
|
499
|
-
|
|
500
564
|
var onMouseMove = function onMouseMove(viewerEvent) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
565
|
+
//workaround that allow imageful component to work
|
|
566
|
+
|
|
567
|
+
// let evt = new Event('mousemove-planner-event');
|
|
568
|
+
// evt.viewerEvent = viewerEvent;
|
|
569
|
+
// document.dispatchEvent(evt);
|
|
570
|
+
var _mapCursorPosition = mapCursorPosition(viewerEvent),
|
|
505
571
|
x = _mapCursorPosition.x,
|
|
506
572
|
y = _mapCursorPosition.y;
|
|
507
573
|
projectActions.updateMouseCoord({
|
|
@@ -517,127 +583,54 @@ export default function Viewer2D(_ref) {
|
|
|
517
583
|
} else {
|
|
518
584
|
switch (mode) {
|
|
519
585
|
case constants.MODE_DRAWING_LINE:
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
break;
|
|
586
|
+
// check whether the drawing line is started.
|
|
587
|
+
var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
|
|
588
|
+
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
589
|
+
var drawingLine = state.getIn(['scene', 'layers', layerID, 'lines', lineID]).toJS();
|
|
590
|
+
var tlines = [];
|
|
591
|
+
if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
|
|
592
|
+
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
593
|
+
setdrawStart(false);
|
|
594
|
+
// get the lines that have same points with drawing line.
|
|
595
|
+
getRelatedLines(tlines, drawingLine, _vertices, lines);
|
|
596
|
+
setRelatedLines(tlines);
|
|
597
|
+
linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
|
|
598
|
+
} else {
|
|
599
|
+
linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
|
|
535
600
|
}
|
|
601
|
+
|
|
602
|
+
// Blocked 90 degree snap.
|
|
603
|
+
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
604
|
+
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
605
|
+
// let dx = Math.abs(x - prevVertex.x);
|
|
606
|
+
// let dy = Math.abs(y - prevVertex.y);
|
|
607
|
+
// if (dx > dy) y = prevVertex.y
|
|
608
|
+
// else x = prevVertex.x;
|
|
609
|
+
break;
|
|
536
610
|
case constants.MODE_DRAWING_HOLE:
|
|
537
611
|
holesActions.updateDrawingHole(layerID, x, y);
|
|
538
612
|
break;
|
|
539
613
|
case constants.MODE_DRAWING_ITEM:
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
flag = true;
|
|
548
|
-
}
|
|
549
|
-
});
|
|
550
|
-
if (current_sel_obj_id === null || !flag) {
|
|
551
|
-
itemsActions.updateDrawingItem(layerID, x, y);
|
|
552
|
-
endPoint.x = x;
|
|
553
|
-
endPoint.y = y;
|
|
554
|
-
} else {
|
|
555
|
-
prepareSnap();
|
|
556
|
-
var _GeometryUtils$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
557
|
-
nx = _GeometryUtils$calcSn.nx,
|
|
558
|
-
ny = _GeometryUtils$calcSn.ny,
|
|
559
|
-
rot = _GeometryUtils$calcSn.rot,
|
|
560
|
-
rotRad = _GeometryUtils$calcSn.rotRad;
|
|
561
|
-
var val = {
|
|
562
|
-
pos: {
|
|
563
|
-
x: x,
|
|
564
|
-
y: y
|
|
565
|
-
},
|
|
566
|
-
rotRad: rotRad,
|
|
567
|
-
size: allItemRect.cur && allItemRect.cur.size,
|
|
568
|
-
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
569
|
-
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
570
|
-
};
|
|
571
|
-
var _GeometryUtils$getAll = GeometryUtils.getAllHoleRect(scene, val),
|
|
572
|
-
isSect = _GeometryUtils$getAll.isSect,
|
|
573
|
-
snap = _GeometryUtils$getAll.snap;
|
|
574
|
-
if (!isEmpty(snap) && isSect) {
|
|
575
|
-
if (snap.length == 1) val.pos = {
|
|
576
|
-
x: snap[0].x,
|
|
577
|
-
y: snap[0].y
|
|
578
|
-
};else {
|
|
579
|
-
if ((snap[0].x - x) * (snap[0].x - x) + (snap[0].y - y) * (snap[0].y - y) < (snap[1].x - x) * (snap[1].x - x) + (snap[1].y - y) * (snap[1].y - y)) val.pos = {
|
|
580
|
-
x: snap[0].x,
|
|
581
|
-
y: snap[0].y
|
|
582
|
-
};else val.pos = {
|
|
583
|
-
x: snap[1].x,
|
|
584
|
-
y: snap[1].y
|
|
585
|
-
};
|
|
586
|
-
}
|
|
587
|
-
var interSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
588
|
-
if (interSect) {
|
|
589
|
-
nx = val.pos.x;
|
|
590
|
-
ny = val.pos.y;
|
|
591
|
-
}
|
|
592
|
-
}
|
|
593
|
-
val.pos = {
|
|
594
|
-
x: nx,
|
|
595
|
-
y: ny
|
|
596
|
-
};
|
|
597
|
-
var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
598
|
-
if (isrectSect && isSect) {
|
|
599
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
600
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
601
|
-
endPoint.x = nx;
|
|
602
|
-
endPoint.y = ny;
|
|
603
|
-
}
|
|
604
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('cabinet')) {
|
|
605
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
606
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
607
|
-
endPoint.x = nx;
|
|
608
|
-
endPoint.y = ny;
|
|
609
|
-
}
|
|
610
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
611
|
-
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
612
|
-
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
613
|
-
endPoint.x = nx;
|
|
614
|
-
endPoint.y = ny;
|
|
615
|
-
}
|
|
614
|
+
var _layer = scene.layers.get(layerID);
|
|
615
|
+
var flag = false;
|
|
616
|
+
_layer.items.some(function (item) {
|
|
617
|
+
if (item.selected) {
|
|
618
|
+
item.counterTop.uri = _layer.counterTop.uri;
|
|
619
|
+
current_sel_obj_id = item.id;
|
|
620
|
+
flag = true;
|
|
616
621
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
624
|
-
break;
|
|
625
|
-
case constants.MODE_DRAGGING_VERTEX:
|
|
626
|
-
{
|
|
627
|
-
var _vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
628
|
-
getConnectedLines();
|
|
629
|
-
var result = getEndPoint(_vertices, x, y, 'DRAGGING_VERTEX');
|
|
630
|
-
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
631
|
-
break;
|
|
632
|
-
}
|
|
633
|
-
case constants.MODE_DRAGGING_ITEM:
|
|
634
|
-
{
|
|
622
|
+
});
|
|
623
|
+
if (current_sel_obj_id === null || !flag) {
|
|
624
|
+
itemsActions.updateDrawingItem(layerID, x, y);
|
|
625
|
+
endPoint.x = x;
|
|
626
|
+
endPoint.y = y;
|
|
627
|
+
} else {
|
|
635
628
|
prepareSnap();
|
|
636
|
-
var _GeometryUtils$
|
|
637
|
-
nx = _GeometryUtils$
|
|
638
|
-
ny = _GeometryUtils$
|
|
639
|
-
rot = _GeometryUtils$
|
|
640
|
-
rotRad = _GeometryUtils$
|
|
629
|
+
var _GeometryUtils$calcSn = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
630
|
+
nx = _GeometryUtils$calcSn.nx,
|
|
631
|
+
ny = _GeometryUtils$calcSn.ny,
|
|
632
|
+
rot = _GeometryUtils$calcSn.rot,
|
|
633
|
+
rotRad = _GeometryUtils$calcSn.rotRad;
|
|
641
634
|
var _val = {
|
|
642
635
|
pos: {
|
|
643
636
|
x: x,
|
|
@@ -648,14 +641,14 @@ export default function Viewer2D(_ref) {
|
|
|
648
641
|
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
649
642
|
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
650
643
|
};
|
|
651
|
-
var _GeometryUtils$
|
|
652
|
-
_isSect = _GeometryUtils$
|
|
653
|
-
_snap = _GeometryUtils$
|
|
644
|
+
var _GeometryUtils$getAll = GeometryUtils.getAllHoleRect(scene, _val),
|
|
645
|
+
_isSect = _GeometryUtils$getAll.isSect,
|
|
646
|
+
_snap = _GeometryUtils$getAll.snap;
|
|
654
647
|
if (!isEmpty(_snap) && _isSect) {
|
|
655
648
|
if (_snap.length == 1) _val.pos = {
|
|
656
649
|
x: _snap[0].x,
|
|
657
650
|
y: _snap[0].y
|
|
658
|
-
};else
|
|
651
|
+
};else {
|
|
659
652
|
if ((_snap[0].x - x) * (_snap[0].x - x) + (_snap[0].y - y) * (_snap[0].y - y) < (_snap[1].x - x) * (_snap[1].x - x) + (_snap[1].y - y) * (_snap[1].y - y)) _val.pos = {
|
|
660
653
|
x: _snap[0].x,
|
|
661
654
|
y: _snap[0].y
|
|
@@ -664,8 +657,8 @@ export default function Viewer2D(_ref) {
|
|
|
664
657
|
y: _snap[1].y
|
|
665
658
|
};
|
|
666
659
|
}
|
|
667
|
-
var
|
|
668
|
-
if (
|
|
660
|
+
var interSect = GeometryUtils.validInterSect(allItemRect.others, _val);
|
|
661
|
+
if (interSect) {
|
|
669
662
|
nx = _val.pos.x;
|
|
670
663
|
ny = _val.pos.y;
|
|
671
664
|
}
|
|
@@ -678,33 +671,106 @@ export default function Viewer2D(_ref) {
|
|
|
678
671
|
if (_isrectSect && _isSect) {
|
|
679
672
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
680
673
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
674
|
+
endPoint.x = nx;
|
|
675
|
+
endPoint.y = ny;
|
|
681
676
|
}
|
|
682
|
-
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('
|
|
677
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('cabinet')) {
|
|
683
678
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
684
679
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
680
|
+
endPoint.x = nx;
|
|
681
|
+
endPoint.y = ny;
|
|
685
682
|
}
|
|
686
683
|
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
687
684
|
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
688
685
|
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
686
|
+
endPoint.x = nx;
|
|
687
|
+
endPoint.y = ny;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
break;
|
|
691
|
+
case constants.MODE_DRAGGING_HOLE:
|
|
692
|
+
holesActions.updateDraggingHole(x, y);
|
|
693
|
+
break;
|
|
694
|
+
case constants.MODE_DRAGGING_LINE:
|
|
695
|
+
linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
|
|
696
|
+
break;
|
|
697
|
+
case constants.MODE_DRAGGING_VERTEX:
|
|
698
|
+
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
699
|
+
getConnectedLines();
|
|
700
|
+
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
701
|
+
verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
|
|
702
|
+
break;
|
|
703
|
+
case constants.MODE_DRAGGING_ITEM:
|
|
704
|
+
prepareSnap();
|
|
705
|
+
var _GeometryUtils$calcSn2 = GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
|
|
706
|
+
nx = _GeometryUtils$calcSn2.nx,
|
|
707
|
+
ny = _GeometryUtils$calcSn2.ny,
|
|
708
|
+
rot = _GeometryUtils$calcSn2.rot,
|
|
709
|
+
rotRad = _GeometryUtils$calcSn2.rotRad;
|
|
710
|
+
var val = {
|
|
711
|
+
pos: {
|
|
712
|
+
x: x,
|
|
713
|
+
y: y
|
|
714
|
+
},
|
|
715
|
+
rotRad: rotRad,
|
|
716
|
+
size: allItemRect.cur && allItemRect.cur.size,
|
|
717
|
+
layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
|
|
718
|
+
is_corner: allItemRect.cur && allItemRect.cur.is_corner
|
|
719
|
+
};
|
|
720
|
+
var _GeometryUtils$getAll2 = GeometryUtils.getAllHoleRect(scene, val),
|
|
721
|
+
isSect = _GeometryUtils$getAll2.isSect,
|
|
722
|
+
snap = _GeometryUtils$getAll2.snap;
|
|
723
|
+
if (!isEmpty(snap) && isSect) {
|
|
724
|
+
if (snap.length == 1) val.pos = {
|
|
725
|
+
x: snap[0].x,
|
|
726
|
+
y: snap[0].y
|
|
727
|
+
};else if (snap.length == 2) {
|
|
728
|
+
if ((snap[0].x - x) * (snap[0].x - x) + (snap[0].y - y) * (snap[0].y - y) < (snap[1].x - x) * (snap[1].x - x) + (snap[1].y - y) * (snap[1].y - y)) val.pos = {
|
|
729
|
+
x: snap[0].x,
|
|
730
|
+
y: snap[0].y
|
|
731
|
+
};else val.pos = {
|
|
732
|
+
x: snap[1].x,
|
|
733
|
+
y: snap[1].y
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
var _interSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
737
|
+
if (_interSect) {
|
|
738
|
+
nx = val.pos.x;
|
|
739
|
+
ny = val.pos.y;
|
|
689
740
|
}
|
|
690
|
-
break;
|
|
691
741
|
}
|
|
742
|
+
val.pos = {
|
|
743
|
+
x: nx,
|
|
744
|
+
y: ny
|
|
745
|
+
};
|
|
746
|
+
var isrectSect = GeometryUtils.validInterSect(allItemRect.others, val);
|
|
747
|
+
if (isrectSect && isSect) {
|
|
748
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
749
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
750
|
+
}
|
|
751
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
|
|
752
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
753
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
754
|
+
}
|
|
755
|
+
if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
|
|
756
|
+
itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
|
|
757
|
+
itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
|
|
758
|
+
}
|
|
759
|
+
break;
|
|
692
760
|
case constants.MODE_ROTATING_ITEM:
|
|
693
761
|
itemsActions.updateRotatingItem(x, y);
|
|
694
762
|
break;
|
|
695
|
-
default:
|
|
696
|
-
break;
|
|
697
763
|
}
|
|
698
764
|
}
|
|
699
|
-
viewerEvent
|
|
765
|
+
viewerEvent.originalEvent.stopPropagation();
|
|
700
766
|
};
|
|
701
767
|
var onMouseDown = function onMouseDown(viewerEvent) {
|
|
702
768
|
var event = viewerEvent.originalEvent;
|
|
703
|
-
|
|
704
|
-
//
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
var _mapCursorPosition2 = mapCursorPosition(
|
|
769
|
+
//workaround that allow imageful component to work
|
|
770
|
+
// let evt = new Event('mousedown-planner-event');
|
|
771
|
+
// evt.viewerEvent = viewerEvent;
|
|
772
|
+
// document.dispatchEvent(evt);
|
|
773
|
+
var _mapCursorPosition2 = mapCursorPosition(viewerEvent),
|
|
708
774
|
x = _mapCursorPosition2.x,
|
|
709
775
|
y = _mapCursorPosition2.y;
|
|
710
776
|
var layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
|
|
@@ -738,10 +804,12 @@ export default function Viewer2D(_ref) {
|
|
|
738
804
|
setToolbar('');
|
|
739
805
|
current_sel_obj_id = elementData.id;
|
|
740
806
|
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
807
|
+
// closes the setting dialog
|
|
741
808
|
if (document.getElementById('setting_dialog')) {
|
|
742
809
|
document.getElementById('setting_dialog').style.display = 'none';
|
|
743
810
|
}
|
|
744
811
|
itemsActions.selectItem(elementData.layer, elementData.id);
|
|
812
|
+
// projectActions.setMode(constants.MODE_DRAGGING_ITEM);
|
|
745
813
|
itemsActions.beginDraggingItem(elementData.layer, elementData.id, x, y);
|
|
746
814
|
replaceCabinet(false);
|
|
747
815
|
}
|
|
@@ -761,15 +829,9 @@ export default function Viewer2D(_ref) {
|
|
|
761
829
|
event.stopPropagation();
|
|
762
830
|
};
|
|
763
831
|
var onMouseUp = function onMouseUp(viewerEvent) {
|
|
832
|
+
//set move all flag false
|
|
764
833
|
sFlag = false;
|
|
765
834
|
var event = viewerEvent.originalEvent;
|
|
766
|
-
|
|
767
|
-
// ✅ fixed: do not treat viewerEvent as {x,y}
|
|
768
|
-
var raw = getXY(viewerEvent);
|
|
769
|
-
if (!raw) return;
|
|
770
|
-
var _mapCursorPosition3 = mapCursorPosition(raw),
|
|
771
|
-
x = _mapCursorPosition3.x,
|
|
772
|
-
y = _mapCursorPosition3.y;
|
|
773
835
|
var parent = document.querySelector('#kitchen-simulator-container');
|
|
774
836
|
var targetRect = event.target.getBoundingClientRect();
|
|
775
837
|
var left = targetRect.left;
|
|
@@ -790,6 +852,13 @@ export default function Viewer2D(_ref) {
|
|
|
790
852
|
}
|
|
791
853
|
}
|
|
792
854
|
setRulerEdit(null);
|
|
855
|
+
// let evt = new Event('mouseup-planner-event');
|
|
856
|
+
// evt.viewerEvent = viewerEvent;
|
|
857
|
+
// document.dispatchEvent(evt);
|
|
858
|
+
|
|
859
|
+
var _mapCursorPosition3 = mapCursorPosition(viewerEvent),
|
|
860
|
+
x = _mapCursorPosition3.x,
|
|
861
|
+
y = _mapCursorPosition3.y;
|
|
793
862
|
var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
|
|
794
863
|
var vertices = state.getIn(['scene', 'layers', layerID, 'vertices']).toJS();
|
|
795
864
|
var lines = state.getIn(['scene', 'layers', layerID, 'lines']).toJS();
|
|
@@ -826,6 +895,8 @@ export default function Viewer2D(_ref) {
|
|
|
826
895
|
elementPrototype = 'items';
|
|
827
896
|
internalType = INTERNAL_EVENT_ROTATE_ELEMENT;
|
|
828
897
|
break;
|
|
898
|
+
|
|
899
|
+
// item selection be came from dragging mode
|
|
829
900
|
case constants.MODE_DRAGGING_ITEM:
|
|
830
901
|
elementPrototype = 'items';
|
|
831
902
|
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
@@ -840,12 +911,8 @@ export default function Viewer2D(_ref) {
|
|
|
840
911
|
internalType = INTERNAL_EVENT_SELECT_ELEMENT;
|
|
841
912
|
}
|
|
842
913
|
break;
|
|
843
|
-
default:
|
|
844
|
-
break;
|
|
845
914
|
}
|
|
846
915
|
break;
|
|
847
|
-
default:
|
|
848
|
-
break;
|
|
849
916
|
}
|
|
850
917
|
switch (mode) {
|
|
851
918
|
case constants.MODE_IDLE:
|
|
@@ -864,6 +931,7 @@ export default function Viewer2D(_ref) {
|
|
|
864
931
|
projectActions.remove();
|
|
865
932
|
break;
|
|
866
933
|
} else if (elementData.part === 'elevation') {
|
|
934
|
+
// handle action when click elevation about selected line
|
|
867
935
|
var _mode = MODE_ELEVATION_VIEW;
|
|
868
936
|
projectActions.setMode(_mode);
|
|
869
937
|
internalType = constants.INTERNAL_EVENT_TOGGLE_TO_ELEVATION;
|
|
@@ -885,12 +953,13 @@ export default function Viewer2D(_ref) {
|
|
|
885
953
|
case 'items':
|
|
886
954
|
if (elementData.part === 'duplicate') {
|
|
887
955
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
888
|
-
if (!
|
|
956
|
+
if (!isWarningCabinet(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
889
957
|
break;
|
|
890
958
|
} else if (elementData.part === 'remove') {
|
|
891
959
|
projectActions.remove();
|
|
892
960
|
break;
|
|
893
961
|
} else if (elementData.part === 'warning_edit') {
|
|
962
|
+
// closes the setting dialog
|
|
894
963
|
if (document.getElementById('setting_dialog')) {
|
|
895
964
|
document.getElementById('setting_dialog').style.display = 'none';
|
|
896
965
|
}
|
|
@@ -903,249 +972,233 @@ export default function Viewer2D(_ref) {
|
|
|
903
972
|
break;
|
|
904
973
|
}
|
|
905
974
|
case 'rulerDist':
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
break;
|
|
939
|
-
}
|
|
975
|
+
var _length1 = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
976
|
+
var distanceText1 = "".concat(formatNumber(_length1, DECIMAL_PLACES_2));
|
|
977
|
+
var numberInput1 = /*#__PURE__*/React.createElement("div", {
|
|
978
|
+
id: "ruler_numberInput",
|
|
979
|
+
style: {
|
|
980
|
+
position: 'absolute',
|
|
981
|
+
left: left,
|
|
982
|
+
top: top,
|
|
983
|
+
zIndex: 1000
|
|
984
|
+
}
|
|
985
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
986
|
+
style: {
|
|
987
|
+
textAlign: 'center',
|
|
988
|
+
paddingRight: 10,
|
|
989
|
+
fontSize: '16px',
|
|
990
|
+
lineHeight: '22px',
|
|
991
|
+
fontWeight: 600
|
|
992
|
+
},
|
|
993
|
+
value: distanceText1,
|
|
994
|
+
onChange: function onChange(event) {
|
|
995
|
+
var value = new Map({
|
|
996
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
997
|
+
_length: event.target.value,
|
|
998
|
+
_unit: scene.rulerUnit
|
|
999
|
+
});
|
|
1000
|
+
updateRulerDistAttribute(elementData, value);
|
|
1001
|
+
},
|
|
1002
|
+
precision: 2
|
|
1003
|
+
}));
|
|
1004
|
+
setRulerEdit(numberInput1);
|
|
1005
|
+
projectActions.unselectAll();
|
|
1006
|
+
break;
|
|
940
1007
|
case 'ruler':
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
break;
|
|
973
|
-
}
|
|
1008
|
+
var _length = convert(elementData.length).from(scene.unit).to(selectedLayer.unit);
|
|
1009
|
+
var numberInput = /*#__PURE__*/React.createElement("div", {
|
|
1010
|
+
id: "ruler_numberInput",
|
|
1011
|
+
style: {
|
|
1012
|
+
position: 'absolute',
|
|
1013
|
+
left: left,
|
|
1014
|
+
top: top,
|
|
1015
|
+
zIndex: 1000
|
|
1016
|
+
}
|
|
1017
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1018
|
+
style: {
|
|
1019
|
+
textAlign: 'center',
|
|
1020
|
+
paddingRight: 10,
|
|
1021
|
+
fontSize: '16px',
|
|
1022
|
+
lineHeight: '22px',
|
|
1023
|
+
fontWeight: 600
|
|
1024
|
+
},
|
|
1025
|
+
value: formatNumber(_length, DECIMAL_PLACES_2),
|
|
1026
|
+
onChange: function onChange(event) {
|
|
1027
|
+
var value = new Map({
|
|
1028
|
+
length: convert(event.target.value).from(selectedLayer.unit).to(scene.unit),
|
|
1029
|
+
_length: event.target.value,
|
|
1030
|
+
_unit: selectedLayer.unit
|
|
1031
|
+
});
|
|
1032
|
+
updateRulerAttribute(elementData, value);
|
|
1033
|
+
},
|
|
1034
|
+
precision: 2
|
|
1035
|
+
}));
|
|
1036
|
+
setRulerEdit(numberInput);
|
|
1037
|
+
projectActions.unselectAll();
|
|
1038
|
+
break;
|
|
974
1039
|
case 'twoHoleRuler':
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
break;
|
|
1008
|
-
}
|
|
1040
|
+
var _lengthTwoHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1041
|
+
var distanceTextTwoHoleRuler = "".concat(formatNumber(_lengthTwoHoleRuler, DECIMAL_PLACES_2));
|
|
1042
|
+
var numberInputTwoHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
1043
|
+
id: "ruler_numberInput",
|
|
1044
|
+
style: {
|
|
1045
|
+
position: 'absolute',
|
|
1046
|
+
left: left,
|
|
1047
|
+
top: top,
|
|
1048
|
+
zIndex: 1000
|
|
1049
|
+
}
|
|
1050
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1051
|
+
style: {
|
|
1052
|
+
textAlign: 'center',
|
|
1053
|
+
padding: 'auto',
|
|
1054
|
+
fontSize: '16px',
|
|
1055
|
+
lineHeight: '22px',
|
|
1056
|
+
fontWeight: 600
|
|
1057
|
+
},
|
|
1058
|
+
value: distanceTextTwoHoleRuler,
|
|
1059
|
+
onChange: function onChange(event) {
|
|
1060
|
+
var value = new Map({
|
|
1061
|
+
length: convert(event.target.value / 2).from(scene.rulerUnit).to(scene.unit),
|
|
1062
|
+
_length: event.target.value / 2,
|
|
1063
|
+
_unit: scene.rulerUnit
|
|
1064
|
+
});
|
|
1065
|
+
updateTwoHoleRulerAttribute(elementData, value);
|
|
1066
|
+
},
|
|
1067
|
+
precision: 2
|
|
1068
|
+
}));
|
|
1069
|
+
setRulerEdit(numberInputTwoHoleRuler);
|
|
1070
|
+
projectActions.unselectAll();
|
|
1071
|
+
break;
|
|
1009
1072
|
case 'leftHoleRuler':
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
break;
|
|
1043
|
-
}
|
|
1073
|
+
var _lengthLeftHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1074
|
+
var distanceTextLeftHoleRuler = "".concat(_lengthLeftHoleRuler.toFixed(2));
|
|
1075
|
+
var numberInputLeftHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
1076
|
+
id: "ruler_numberInput",
|
|
1077
|
+
style: {
|
|
1078
|
+
position: 'absolute',
|
|
1079
|
+
left: left,
|
|
1080
|
+
top: top,
|
|
1081
|
+
zIndex: 1000
|
|
1082
|
+
}
|
|
1083
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1084
|
+
style: {
|
|
1085
|
+
textAlign: 'center',
|
|
1086
|
+
paddingRight: 10,
|
|
1087
|
+
fontSize: '16px',
|
|
1088
|
+
lineHeight: '22px',
|
|
1089
|
+
fontWeight: 600
|
|
1090
|
+
},
|
|
1091
|
+
value: distanceTextLeftHoleRuler,
|
|
1092
|
+
onChange: function onChange(event) {
|
|
1093
|
+
var value = new Map({
|
|
1094
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1095
|
+
_length: event.target.value,
|
|
1096
|
+
_unit: scene.rulerUnit
|
|
1097
|
+
});
|
|
1098
|
+
updateLeftHoleRulerAttribute(elementData, value);
|
|
1099
|
+
},
|
|
1100
|
+
precision: 2
|
|
1101
|
+
}));
|
|
1102
|
+
setRulerEdit(numberInputLeftHoleRuler);
|
|
1103
|
+
projectActions.unselectAll();
|
|
1104
|
+
break;
|
|
1044
1105
|
case 'rulerHole':
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
break;
|
|
1078
|
-
}
|
|
1106
|
+
var _lengthRulerHole = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1107
|
+
var distanceTextRulerHole = "".concat(formatNumber(_lengthRulerHole, DECIMAL_PLACES_2));
|
|
1108
|
+
var numberInputRulerHole = /*#__PURE__*/React.createElement("div", {
|
|
1109
|
+
id: "ruler_numberInput",
|
|
1110
|
+
style: {
|
|
1111
|
+
position: 'absolute',
|
|
1112
|
+
left: left,
|
|
1113
|
+
top: top,
|
|
1114
|
+
zIndex: 1000
|
|
1115
|
+
}
|
|
1116
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1117
|
+
style: {
|
|
1118
|
+
textAlign: 'center',
|
|
1119
|
+
paddingRight: 10,
|
|
1120
|
+
fontSize: '16px',
|
|
1121
|
+
lineHeight: '22px',
|
|
1122
|
+
fontWeight: 600
|
|
1123
|
+
},
|
|
1124
|
+
value: distanceTextRulerHole,
|
|
1125
|
+
onChange: function onChange(event) {
|
|
1126
|
+
var value = new Map({
|
|
1127
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1128
|
+
_length: event.target.value,
|
|
1129
|
+
_unit: scene.rulerUnit
|
|
1130
|
+
});
|
|
1131
|
+
updateHoleRulerAttribute(elementData, value);
|
|
1132
|
+
},
|
|
1133
|
+
precision: 2
|
|
1134
|
+
}));
|
|
1135
|
+
setRulerEdit(numberInputRulerHole);
|
|
1136
|
+
projectActions.unselectAll();
|
|
1137
|
+
break;
|
|
1079
1138
|
case 'rightHoleRuler':
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
break;
|
|
1113
|
-
}
|
|
1139
|
+
var _lengthRightHoleRuler = convert(elementData.length).from(scene.unit).to(scene.rulerUnit);
|
|
1140
|
+
var distanceTextRightHoleRuler = "".concat(_lengthRightHoleRuler.toFixed(2));
|
|
1141
|
+
var numberInputRightHoleRuler = /*#__PURE__*/React.createElement("div", {
|
|
1142
|
+
id: "ruler_numberInput",
|
|
1143
|
+
style: {
|
|
1144
|
+
position: 'absolute',
|
|
1145
|
+
left: left,
|
|
1146
|
+
top: top,
|
|
1147
|
+
zIndex: 1000
|
|
1148
|
+
}
|
|
1149
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1150
|
+
style: {
|
|
1151
|
+
textAlign: 'center',
|
|
1152
|
+
paddingRight: 10,
|
|
1153
|
+
fontSize: '16px',
|
|
1154
|
+
lineHeight: '22px',
|
|
1155
|
+
fontWeight: 600
|
|
1156
|
+
},
|
|
1157
|
+
value: distanceTextRightHoleRuler,
|
|
1158
|
+
onChange: function onChange(event) {
|
|
1159
|
+
var value = new Map({
|
|
1160
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1161
|
+
_length: event.target.value,
|
|
1162
|
+
_unit: scene.rulerUnit
|
|
1163
|
+
});
|
|
1164
|
+
updateRightHoleRulerAttribute(elementData, value);
|
|
1165
|
+
},
|
|
1166
|
+
precision: 2
|
|
1167
|
+
}));
|
|
1168
|
+
setRulerEdit(numberInputRightHoleRuler);
|
|
1169
|
+
projectActions.unselectAll();
|
|
1170
|
+
break;
|
|
1114
1171
|
case 'angleChange':
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
setRulerEdit(numberInput2);
|
|
1142
|
-
projectActions.unselectAll();
|
|
1143
|
-
break;
|
|
1144
|
-
}
|
|
1145
|
-
case 'none':
|
|
1172
|
+
var _length2 = elementData.length;
|
|
1173
|
+
var numberInput2 = /*#__PURE__*/React.createElement("div", {
|
|
1174
|
+
id: "ruler_numberInput",
|
|
1175
|
+
style: {
|
|
1176
|
+
position: 'absolute',
|
|
1177
|
+
left: left,
|
|
1178
|
+
top: top,
|
|
1179
|
+
zIndex: 1000
|
|
1180
|
+
}
|
|
1181
|
+
}, /*#__PURE__*/React.createElement(FormNumberInput, {
|
|
1182
|
+
style: {
|
|
1183
|
+
width: 50,
|
|
1184
|
+
height: 50
|
|
1185
|
+
},
|
|
1186
|
+
value: _length2,
|
|
1187
|
+
onChange: function onChange(event) {
|
|
1188
|
+
var value = new Map({
|
|
1189
|
+
length: convert(event.target.value).from(scene.rulerUnit).to(scene.unit),
|
|
1190
|
+
_length: event.target.value,
|
|
1191
|
+
_unit: scene.rulerUnit
|
|
1192
|
+
});
|
|
1193
|
+
updateangleChangeAttribute(elementData, value);
|
|
1194
|
+
},
|
|
1195
|
+
precision: 2
|
|
1196
|
+
}));
|
|
1197
|
+
setRulerEdit(numberInput2);
|
|
1146
1198
|
projectActions.unselectAll();
|
|
1147
1199
|
break;
|
|
1148
|
-
|
|
1200
|
+
case 'none':
|
|
1201
|
+
projectActions.unselectAll();
|
|
1149
1202
|
break;
|
|
1150
1203
|
}
|
|
1151
1204
|
break;
|
|
@@ -1154,14 +1207,19 @@ export default function Viewer2D(_ref) {
|
|
|
1154
1207
|
linesActions.beginDrawingLine(layerID, x, y, state.snapMask, onInternalEvent);
|
|
1155
1208
|
break;
|
|
1156
1209
|
case constants.MODE_DRAWING_LINE:
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1210
|
+
// Blocked 90 degree snap.
|
|
1211
|
+
// let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
|
|
1212
|
+
// let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
|
|
1213
|
+
// let dx = Math.abs(x - prevVertex.x);
|
|
1214
|
+
// let dy = Math.abs(y - prevVertex.y);
|
|
1215
|
+
// if (dx > dy) y = prevVertex.y
|
|
1216
|
+
// else x = prevVertex.x;
|
|
1217
|
+
setdrawStart(true);
|
|
1218
|
+
getConnectedLines();
|
|
1219
|
+
var endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
|
|
1220
|
+
linesActions.endDrawingLine(endInfor.x, endInfor.y, state.snapMask);
|
|
1221
|
+
linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask, onInternalEvent);
|
|
1222
|
+
break;
|
|
1165
1223
|
case constants.MODE_DRAWING_HOLE:
|
|
1166
1224
|
holesActions.endDrawingHole(layerID, x, y);
|
|
1167
1225
|
break;
|
|
@@ -1169,18 +1227,16 @@ export default function Viewer2D(_ref) {
|
|
|
1169
1227
|
{
|
|
1170
1228
|
var itemData = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
|
|
1171
1229
|
itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
|
|
1172
|
-
break;
|
|
1173
1230
|
}
|
|
1231
|
+
break;
|
|
1174
1232
|
case constants.MODE_DRAGGING_LINE:
|
|
1175
1233
|
linesActions.endDraggingLine(x, y, relatedLines, state.snapMask);
|
|
1176
1234
|
break;
|
|
1177
1235
|
case constants.MODE_DRAGGING_VERTEX:
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
break;
|
|
1183
|
-
}
|
|
1236
|
+
getConnectedLines();
|
|
1237
|
+
var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
|
|
1238
|
+
verticesActions.endDraggingVertex(result.x, result.y, state.snapMask);
|
|
1239
|
+
break;
|
|
1184
1240
|
case constants.MODE_DRAGGING_ITEM:
|
|
1185
1241
|
itemsActions.updateMolding();
|
|
1186
1242
|
projectActions.setMode(MODE_IDLE);
|
|
@@ -1191,8 +1247,6 @@ export default function Viewer2D(_ref) {
|
|
|
1191
1247
|
case constants.MODE_ROTATING_ITEM:
|
|
1192
1248
|
itemsActions.endRotatingItem(x, y);
|
|
1193
1249
|
break;
|
|
1194
|
-
default:
|
|
1195
|
-
break;
|
|
1196
1250
|
}
|
|
1197
1251
|
if (internalType) {
|
|
1198
1252
|
var _currentObject2;
|
|
@@ -1202,7 +1256,9 @@ export default function Viewer2D(_ref) {
|
|
|
1202
1256
|
_currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
|
|
1203
1257
|
}
|
|
1204
1258
|
if (_currentObject) {
|
|
1205
|
-
var payload = updatePayloadOfInternalEvent(_currentObject, layer
|
|
1259
|
+
var payload = updatePayloadOfInternalEvent(_currentObject, layer);
|
|
1260
|
+
|
|
1261
|
+
// send selection event befor replace event
|
|
1206
1262
|
if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
|
|
1207
1263
|
onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
|
|
1208
1264
|
type: INTERNAL_EVENT_SELECT_ELEMENT,
|
|
@@ -1219,7 +1275,7 @@ export default function Viewer2D(_ref) {
|
|
|
1219
1275
|
};
|
|
1220
1276
|
var onChangeValue = function onChangeValue(value) {
|
|
1221
1277
|
if (sFlag) return;
|
|
1222
|
-
var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE
|
|
1278
|
+
var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
|
|
1223
1279
|
if (_zoomValue > constants.MAX_ZOOM_IN_SCALE) return;
|
|
1224
1280
|
if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
|
|
1225
1281
|
if (rulerEdit !== null && value.startX && value.startY || value.lastAction === 'zoom') {
|
|
@@ -1236,6 +1292,13 @@ export default function Viewer2D(_ref) {
|
|
|
1236
1292
|
}
|
|
1237
1293
|
}
|
|
1238
1294
|
if (value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight) {
|
|
1295
|
+
/*let val = Object.assign({}, value);
|
|
1296
|
+
if (refresh === 2) {
|
|
1297
|
+
val.a += 0.4; val.d += 0.4;
|
|
1298
|
+
val.e -= (val.SVGWidth * val.a - val.SVGWidth * (val.a - 0.4)) / 2;
|
|
1299
|
+
val.f -= (val.SVGHeight * val.d - val.SVGHeight * (val.d - 0.4)) / 2;
|
|
1300
|
+
console.log('----', val)
|
|
1301
|
+
}*/
|
|
1239
1302
|
projectActions.updateZoomScale(value.a);
|
|
1240
1303
|
return viewer2DActions.updateCameraView(value);
|
|
1241
1304
|
}
|
|
@@ -1254,10 +1317,14 @@ export default function Viewer2D(_ref) {
|
|
|
1254
1317
|
case TOOL_ZOOM_OUT:
|
|
1255
1318
|
viewer2DActions.selectToolZoomOut();
|
|
1256
1319
|
break;
|
|
1257
|
-
default:
|
|
1258
|
-
break;
|
|
1259
1320
|
}
|
|
1260
1321
|
};
|
|
1322
|
+
var onZoom = function onZoom(value) {
|
|
1323
|
+
// var nextValue = viewer2D.toJS();
|
|
1324
|
+
// nextValue = zoom(nextValue, 0, 0, value.a / nextValue.a)
|
|
1325
|
+
// projectActions.updateZoomScale(nextValue.a);
|
|
1326
|
+
// return viewer2DActions.updateCameraView(nextValue)
|
|
1327
|
+
};
|
|
1261
1328
|
var _state$get$toJS = state.get('viewer2D').toJS(),
|
|
1262
1329
|
e = _state$get$toJS.e,
|
|
1263
1330
|
f = _state$get$toJS.f,
|
|
@@ -1273,18 +1340,6 @@ export default function Viewer2D(_ref) {
|
|
|
1273
1340
|
var sceneZoom = state.zoom || 1;
|
|
1274
1341
|
var rulerXElements = Math.ceil(sceneWidth / rulerUnitPixelSize) + 1;
|
|
1275
1342
|
var rulerYElements = Math.ceil(sceneHeight / rulerUnitPixelSize) + 1;
|
|
1276
|
-
var defaultViewerValue = {
|
|
1277
|
-
a: 1,
|
|
1278
|
-
b: 0,
|
|
1279
|
-
c: 0,
|
|
1280
|
-
d: 1,
|
|
1281
|
-
e: 0,
|
|
1282
|
-
f: 0,
|
|
1283
|
-
viewerWidth: width - rulerSize,
|
|
1284
|
-
viewerHeight: height - rulerSize,
|
|
1285
|
-
SVGWidth: scene.width,
|
|
1286
|
-
SVGHeight: scene.height
|
|
1287
|
-
};
|
|
1288
1343
|
return /*#__PURE__*/React.createElement("div", null, rulerEdit, /*#__PURE__*/React.createElement("div", {
|
|
1289
1344
|
style: {
|
|
1290
1345
|
margin: 0,
|
|
@@ -1347,7 +1402,7 @@ export default function Viewer2D(_ref) {
|
|
|
1347
1402
|
},
|
|
1348
1403
|
width: width - rulerSize,
|
|
1349
1404
|
height: height - rulerSize,
|
|
1350
|
-
value: viewer2D
|
|
1405
|
+
value: viewer2D.isEmpty() ? null : viewer2D.toJS(),
|
|
1351
1406
|
onChangeValue: onChangeValue,
|
|
1352
1407
|
tool: mode2Tool(mode),
|
|
1353
1408
|
onChangeTool: onChangeTool,
|
|
@@ -1355,15 +1410,11 @@ export default function Viewer2D(_ref) {
|
|
|
1355
1410
|
onMouseDown: onMouseDown,
|
|
1356
1411
|
onMouseMove: onMouseMove,
|
|
1357
1412
|
onMouseUp: onMouseUp,
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
},
|
|
1361
|
-
toolbarProps: {
|
|
1362
|
-
position: 'none'
|
|
1363
|
-
},
|
|
1413
|
+
miniaturePosition: "none",
|
|
1414
|
+
toolbarPosition: "none",
|
|
1364
1415
|
detectPinchGesture: false,
|
|
1365
1416
|
disableDoubleClickZoomWithToolAuto: true,
|
|
1366
|
-
ref:
|
|
1417
|
+
ref: Viewer
|
|
1367
1418
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
1368
1419
|
width: scene.width,
|
|
1369
1420
|
height: scene.height
|
|
@@ -1397,8 +1448,15 @@ export default function Viewer2D(_ref) {
|
|
|
1397
1448
|
Viewer2D.propTypes = {
|
|
1398
1449
|
state: PropTypes.object.isRequired,
|
|
1399
1450
|
width: PropTypes.number.isRequired,
|
|
1400
|
-
height: PropTypes.number.isRequired
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1451
|
+
height: PropTypes.number.isRequired
|
|
1452
|
+
};
|
|
1453
|
+
Viewer2D.contextTypes = {
|
|
1454
|
+
viewer2DActions: PropTypes.object.isRequired,
|
|
1455
|
+
linesActions: PropTypes.object.isRequired,
|
|
1456
|
+
holesActions: PropTypes.object.isRequired,
|
|
1457
|
+
verticesActions: PropTypes.object.isRequired,
|
|
1458
|
+
itemsActions: PropTypes.object.isRequired,
|
|
1459
|
+
areaActions: PropTypes.object.isRequired,
|
|
1460
|
+
projectActions: PropTypes.object.isRequired,
|
|
1461
|
+
catalog: PropTypes.object.isRequired
|
|
1404
1462
|
};
|