@geode/opengeodeweb-front 10.34.0-rc.2 → 10.34.0-rc.21
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/.build/opengeodeweb_front_schemas.js +175 -0
- package/.build/server/utils/app_config.js +57 -0
- package/.build/server/utils/cleanup.js +135 -0
- package/.build/server/utils/cloud.js +156 -0
- package/.build/server/utils/microservices.js +153 -0
- package/.build/server/utils/path.js +108 -0
- package/.build/server/utils/scripts.js +134 -0
- package/.build/server/utils/server.js +44 -0
- package/.build/server/utils/server_config.js +51 -0
- package/.build/server/utils/stream.js +6 -0
- package/.build/server/utils/ws_client.js +100 -0
- package/.build/shared/app_mode.js +8 -0
- package/.build/shared/scripts.js +49 -0
- package/.build/shared/utils/call_raw.js +31 -0
- package/.build/shared/utils/call_schema.js +28 -0
- package/.build/shared/utils/fetch_raw.js +52 -0
- package/.build/shared/utils/fetch_schema.js +32 -0
- package/.build/shared/utils/file.js +14 -0
- package/.build/shared/utils/parse_boolean.js +23 -0
- package/.build/shared/utils/response_handlers/load.js +50 -0
- package/.build/shared/utils/types.js +1 -0
- package/.build/shared/utils/validate_schema.js +17 -0
- package/README.md +8 -0
- package/app/assets/{geode_objects.js → geode_objects.ts} +8 -1
- package/app/components/ActionButton.vue +28 -12
- package/app/components/Basic/Slider.vue +2 -2
- package/app/components/Basic/Switch.vue +2 -2
- package/app/components/CameraManager/List.vue +11 -11
- package/app/components/CameraManager/Saver.vue +8 -4
- package/app/components/CameraManager.vue +24 -12
- package/app/components/CameraOrientation.vue +31 -17
- package/app/components/ClippingPlaneCard.vue +13 -12
- package/app/components/ClippingPlanes.vue +31 -21
- package/app/components/CrsSelector.vue +26 -18
- package/app/components/DeleteDialog.vue +18 -16
- package/app/components/DragAndDrop.vue +55 -37
- package/app/components/DragAndDropInternal/DragAndDropInline.vue +31 -16
- package/app/components/DragAndDropInternal/DragAndDropOverlay.vue +32 -19
- package/app/components/ExtensionSelector.vue +34 -18
- package/app/components/FeedBack/ErrorBanner.vue +4 -3
- package/app/components/FeedBack/Snackers.vue +6 -5
- package/app/components/FetchingData.vue +8 -12
- package/app/components/FileSelector.vue +27 -17
- package/app/components/FileUploader.vue +51 -30
- package/app/components/GlassCard.vue +17 -13
- package/app/components/HybridRenderingView.vue +25 -12
- package/app/components/HybridViewerTooltip.vue +28 -26
- package/app/components/InfraConnected.vue +1 -1
- package/app/components/Launcher.vue +12 -10
- package/app/components/Loading/EcoMessages.vue +24 -13
- package/app/components/Loading/Header.vue +6 -7
- package/app/components/Loading/Progress.vue +6 -7
- package/app/components/Loading.vue +10 -14
- package/app/components/MissingFilesSelector.vue +35 -19
- package/app/components/ObjectSelector.vue +37 -21
- package/app/components/PackagesVersions.vue +16 -8
- package/app/components/Recaptcha.vue +17 -23
- package/app/components/RemoteRenderingView.vue +21 -15
- package/app/components/Ruler.vue +11 -9
- package/app/components/Screenshot.vue +25 -19
- package/app/components/SearchBar.vue +12 -6
- package/app/components/ShrinkFilter.vue +19 -14
- package/app/components/Step.vue +32 -12
- package/app/components/Stepper.vue +19 -7
- package/app/components/ToolPanel.vue +29 -13
- package/app/components/ViewToolbar.vue +53 -44
- package/app/components/Viewer/ContextMenu/CenterButton.vue +16 -9
- package/app/components/Viewer/ContextMenu/CircularItems.vue +13 -10
- package/app/components/Viewer/ContextMenu/ContextMenu.vue +40 -32
- package/app/components/Viewer/ContextMenu/ContextMenuItem.vue +31 -17
- package/app/components/Viewer/ContextMenu/InfoCard.vue +38 -22
- package/app/components/Viewer/EdgedCurve/PointsOptions.vue +8 -5
- package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +67 -48
- package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +74 -50
- package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +69 -50
- package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +47 -35
- package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +91 -51
- package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +74 -49
- package/app/components/Viewer/Generic/Model/BlocksOptions.vue +115 -53
- package/app/components/Viewer/Generic/Model/CornersOptions.vue +75 -37
- package/app/components/Viewer/Generic/Model/EdgesOptions.vue +13 -9
- package/app/components/Viewer/Generic/Model/LinesOptions.vue +110 -61
- package/app/components/Viewer/Generic/Model/ModelStyleCard.vue +32 -21
- package/app/components/Viewer/Generic/Model/ModelStyleOptions.vue +9 -5
- package/app/components/Viewer/Generic/Model/PointsOptions.vue +19 -13
- package/app/components/Viewer/Generic/Model/SurfacesOptions.vue +119 -49
- package/app/components/Viewer/Grid/2D/CellsOptions.vue +8 -5
- package/app/components/Viewer/Grid/2D/EdgesOptions.vue +8 -5
- package/app/components/Viewer/Grid/2D/PointsOptions.vue +8 -5
- package/app/components/Viewer/Grid/3D/CellsOptions.vue +8 -5
- package/app/components/Viewer/Grid/3D/EdgesOptions.vue +8 -5
- package/app/components/Viewer/Grid/3D/FacetsOptions.vue +8 -5
- package/app/components/Viewer/Grid/3D/PointsOptions.vue +8 -5
- package/app/components/Viewer/ObjectTree/Base/CommonTreeView.vue +120 -76
- package/app/components/Viewer/ObjectTree/Base/Controls.vue +25 -10
- package/app/components/Viewer/ObjectTree/Base/ItemLabel.vue +42 -17
- package/app/components/Viewer/ObjectTree/Base/StickyHeader.vue +22 -9
- package/app/components/Viewer/ObjectTree/Base/TreeRow.vue +29 -14
- package/app/components/Viewer/ObjectTree/Box.vue +32 -15
- package/app/components/Viewer/ObjectTree/Layout.vue +55 -35
- package/app/components/Viewer/ObjectTree/Views/GlobalObjects.vue +63 -34
- package/app/components/Viewer/ObjectTree/Views/{ModelCollections.vue → ModelTree.vue} +101 -39
- package/app/components/Viewer/Options/AttributeColorBar.vue +14 -6
- package/app/components/Viewer/Options/AttributeRangeSelector.vue +8 -4
- package/app/components/Viewer/Options/AttributeSelector.vue +64 -33
- package/app/components/Viewer/Options/ColorMapList.vue +52 -24
- package/app/components/Viewer/Options/ColorMapPicker.vue +15 -11
- package/app/components/Viewer/Options/ColorPicker.vue +239 -50
- package/app/components/Viewer/Options/ColoringTypeSelector.vue +87 -67
- package/app/components/Viewer/Options/ColormapQuickPicker.vue +16 -12
- package/app/components/Viewer/Options/OptionsSection.vue +7 -5
- package/app/components/Viewer/Options/Sliders/Size.vue +3 -3
- package/app/components/Viewer/Options/Sliders/Slider.vue +9 -6
- package/app/components/Viewer/Options/Sliders/Width.vue +3 -3
- package/app/components/Viewer/Options/TextureItem.vue +29 -22
- package/app/components/Viewer/Options/TexturesSelector.vue +23 -12
- package/app/components/Viewer/Options/VisibilitySwitch.vue +3 -3
- package/app/components/Viewer/OverlappingObjectsPicker.vue +27 -12
- package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +38 -26
- package/app/components/Viewer/Solid/EdgesOptions.vue +8 -5
- package/app/components/Viewer/Solid/PointsOptions.vue +8 -5
- package/app/components/Viewer/Solid/PolygonsOptions.vue +8 -5
- package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +73 -48
- package/app/components/Viewer/Surface/EdgesOptions.vue +8 -5
- package/app/components/Viewer/Surface/PointsOptions.vue +8 -5
- package/app/components/Viewer/Surface/PolygonsOptions.vue +79 -49
- package/app/components/Viewer/Surface/Triangulated/TrianglesOptions.vue +8 -5
- package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +8 -5
- package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +8 -5
- package/app/components/Viewer/Ui.vue +19 -14
- package/app/components/Wrapper.vue +16 -10
- package/app/components/ZScaling.vue +18 -10
- package/app/components/csv-preview/CsvPreviewer.vue +72 -50
- package/app/components/csv-preview/CsvSettings.vue +30 -50
- package/app/components/csv-preview/CsvTable.vue +34 -14
- package/app/composables/{batch_style.js → batch_style.ts} +9 -7
- package/app/composables/clipping_planes_widget.ts +204 -0
- package/app/composables/clipping_planes_widget_entries.ts +189 -0
- package/app/composables/copy_to_clipboard.ts +7 -0
- package/app/composables/global_attribute_style.ts +303 -0
- package/app/composables/hover_highlight.ts +127 -0
- package/app/composables/{model_collections.js → model_collections.ts} +28 -9
- package/app/composables/{model_components.js → model_components.ts} +28 -9
- package/app/composables/{project_manager.js → project_manager.ts} +77 -20
- package/app/composables/responsive_middle_truncate.ts +48 -0
- package/app/composables/{run_function_when_microservices_connected.js → run_function_when_microservices_connected.ts} +1 -1
- package/app/composables/stepper_tree.ts +79 -0
- package/app/composables/tree_filter.ts +194 -0
- package/app/composables/{tree_keyboard_nav.js → tree_keyboard_nav.ts} +62 -20
- package/app/composables/{tree_scroll.js → tree_scroll.ts} +61 -12
- package/app/composables/use_adaptive_styles.ts +186 -0
- package/app/composables/use_overlapping_picker.ts +263 -0
- package/app/composables/use_quick_colormap.ts +55 -0
- package/app/composables/virtual_tree.ts +271 -0
- package/app/composables/vtk_implicit_plane_widget.d.ts +2 -0
- package/app/plugins/{auto_store_register.js → auto_store_register.ts} +3 -5
- package/app/plugins/click_outside_ignore_snackbars.client.ts +36 -0
- package/app/stores/app.ts +252 -0
- package/app/stores/app_helpers/extension.ts +179 -0
- package/app/stores/{back.js → back.ts} +54 -28
- package/app/stores/camera_manager.ts +80 -0
- package/app/stores/{cloud.js → cloud.ts} +18 -13
- package/app/stores/data.ts +392 -0
- package/app/stores/data_helpers/collections.ts +138 -0
- package/app/stores/data_helpers/mesh.ts +169 -0
- package/app/stores/data_style.ts +167 -0
- package/app/stores/{feedback.js → feedback.ts} +19 -8
- package/app/stores/{hybrid_viewer.js → hybrid_viewer.ts} +49 -45
- package/app/stores/infra.ts +106 -0
- package/app/stores/{menu.js → menu.ts} +67 -36
- package/app/stores/treeview.ts +383 -0
- package/app/stores/{viewer.js → viewer.ts} +75 -42
- package/app/utils/attributes.ts +40 -0
- package/app/utils/clipping_planes.ts +222 -0
- package/app/utils/color_picker.js +54 -0
- package/app/utils/colormap.ts +102 -0
- package/app/utils/default_styles/{constants.js → constants.ts} +25 -12
- package/app/utils/default_styles/{index.js → index.ts} +4 -3
- package/app/utils/default_styles/meshes.ts +264 -0
- package/app/utils/default_styles/{models.js → models.ts} +106 -52
- package/app/utils/{extension.js → extension.ts} +63 -19
- package/app/utils/{import_workflow.js → import_workflow.ts} +39 -22
- package/app/utils/{log.js → log.ts} +12 -2
- package/app/utils/{name_cleaner.js → name_cleaner.ts} +6 -6
- package/app/utils/status.ts +19 -0
- package/app/utils/{stores.js → stores.ts} +5 -5
- package/app/utils/{string.js → string.ts} +6 -6
- package/app/utils/{treeview.js → treeview.ts} +4 -1
- package/internal/database/{base_database.js → base_database.ts} +7 -3
- package/internal/database/database.ts +102 -0
- package/internal/database/{extended_database.js → extended_database.ts} +5 -1
- package/internal/database/tables/camera_positions.ts +6 -0
- package/internal/database/tables/{data.js → data.ts} +3 -1
- package/internal/database/tables/data_style.ts +6 -0
- package/internal/database/tables/model_component_datastyle.ts +6 -0
- package/internal/database/tables/model_component_type_datastyle.ts +6 -0
- package/internal/database/tables/model_components.ts +6 -0
- package/internal/database/tables/model_components_relation.ts +6 -0
- package/internal/database/tables/table_definition.ts +5 -0
- package/internal/stores/data_style/mesh/cells/cell.ts +279 -0
- package/internal/stores/data_style/mesh/cells/{color.js → color.ts} +13 -7
- package/internal/stores/data_style/mesh/cells/common.ts +50 -0
- package/internal/stores/data_style/mesh/cells/index.ts +161 -0
- package/internal/stores/data_style/mesh/cells/{textures.js → textures.ts} +14 -8
- package/internal/stores/data_style/mesh/cells/vertex.ts +285 -0
- package/internal/stores/data_style/mesh/cells/visibility.ts +46 -0
- package/internal/stores/data_style/mesh/edges/{color.js → color.ts} +13 -7
- package/internal/stores/data_style/mesh/edges/common.ts +41 -0
- package/internal/stores/data_style/mesh/edges/edge.ts +279 -0
- package/internal/stores/data_style/mesh/edges/index.ts +155 -0
- package/internal/stores/data_style/mesh/edges/vertex.ts +285 -0
- package/internal/stores/data_style/mesh/edges/visibility.ts +45 -0
- package/internal/stores/data_style/mesh/edges/width.ts +42 -0
- package/internal/stores/data_style/mesh/{index.js → index.ts} +34 -14
- package/internal/stores/data_style/mesh/points/{color.js → color.ts} +13 -7
- package/internal/stores/data_style/mesh/points/common.ts +51 -0
- package/internal/stores/data_style/mesh/points/index.ts +133 -0
- package/internal/stores/data_style/mesh/points/size.ts +43 -0
- package/internal/stores/data_style/mesh/points/vertex.ts +285 -0
- package/internal/stores/data_style/mesh/points/visibility.ts +49 -0
- package/internal/stores/data_style/mesh/polygons/{color.js → color.ts} +13 -7
- package/internal/stores/data_style/mesh/polygons/common.ts +50 -0
- package/internal/stores/data_style/mesh/polygons/index.ts +167 -0
- package/internal/stores/data_style/mesh/polygons/polygon.ts +282 -0
- package/internal/stores/data_style/mesh/polygons/{textures.js → textures.ts} +14 -8
- package/internal/stores/data_style/mesh/polygons/vertex.ts +288 -0
- package/internal/stores/data_style/mesh/polygons/visibility.ts +48 -0
- package/internal/stores/data_style/mesh/polyhedra/{color.js → color.ts} +13 -7
- package/internal/stores/data_style/mesh/polyhedra/common.ts +41 -0
- package/internal/stores/data_style/mesh/polyhedra/index.ts +157 -0
- package/internal/stores/data_style/mesh/polyhedra/polyhedron.ts +294 -0
- package/internal/stores/data_style/mesh/polyhedra/vertex.ts +288 -0
- package/internal/stores/data_style/mesh/polyhedra/visibility.ts +48 -0
- package/internal/stores/data_style/model/blocks/{color.js → color.ts} +50 -13
- package/internal/stores/data_style/model/blocks/common.ts +67 -0
- package/internal/stores/data_style/model/blocks/{index.js → index.ts} +111 -66
- package/internal/stores/data_style/model/blocks/polyhedron.ts +363 -0
- package/internal/stores/data_style/model/blocks/vertex.ts +349 -0
- package/internal/stores/data_style/model/blocks/visibility.ts +37 -0
- package/internal/stores/data_style/model/color.ts +348 -0
- package/internal/stores/data_style/model/common.ts +262 -0
- package/internal/stores/data_style/model/corners/{color.js → color.ts} +49 -10
- package/internal/stores/data_style/model/corners/common.ts +71 -0
- package/internal/stores/data_style/model/corners/{index.js → index.ts} +86 -47
- package/internal/stores/data_style/model/corners/vertex.ts +315 -0
- package/internal/stores/data_style/model/corners/visibility.ts +39 -0
- package/internal/stores/data_style/model/edges/common.ts +29 -0
- package/internal/stores/data_style/model/edges/{index.js → index.ts} +2 -7
- package/internal/stores/data_style/model/edges/visibility.ts +55 -0
- package/internal/stores/data_style/model/{index.js → index.ts} +24 -11
- package/internal/stores/data_style/model/lines/{color.js → color.ts} +47 -10
- package/internal/stores/data_style/model/lines/common.ts +63 -0
- package/internal/stores/data_style/model/lines/edge.ts +343 -0
- package/internal/stores/data_style/model/lines/{index.js → index.ts} +108 -66
- package/internal/stores/data_style/model/lines/vertex.ts +344 -0
- package/internal/stores/data_style/model/lines/visibility.ts +37 -0
- package/internal/stores/data_style/model/points/common.ts +25 -0
- package/internal/stores/data_style/model/points/index.ts +35 -0
- package/internal/stores/data_style/model/points/size.ts +44 -0
- package/internal/stores/data_style/model/points/visibility.ts +46 -0
- package/internal/stores/data_style/model/selection.ts +138 -0
- package/internal/stores/data_style/model/surfaces/{color.js → color.ts} +47 -10
- package/internal/stores/data_style/model/surfaces/common.ts +69 -0
- package/internal/stores/data_style/model/surfaces/{index.js → index.ts} +113 -66
- package/internal/stores/data_style/model/surfaces/polygon.ts +347 -0
- package/internal/stores/data_style/model/surfaces/vertex.ts +351 -0
- package/internal/stores/data_style/model/surfaces/visibility.ts +37 -0
- package/internal/stores/data_style/model/{visibility.js → visibility.ts} +112 -32
- package/internal/stores/data_style/state.ts +281 -0
- package/internal/stores/data_style/types.ts +30 -0
- package/internal/stores/hybrid_viewer/brightness.ts +124 -0
- package/internal/stores/hybrid_viewer/camera.ts +326 -0
- package/internal/stores/hybrid_viewer/{camera_animation.js → camera_animation.ts} +30 -12
- package/internal/stores/hybrid_viewer/{constants.js → constants.ts} +2 -2
- package/internal/stores/hybrid_viewer/core.ts +64 -0
- package/internal/stores/hybrid_viewer/{filters.js → filters.ts} +10 -13
- package/internal/stores/hybrid_viewer/highlight.ts +183 -0
- package/internal/stores/hybrid_viewer/{ruler.js → ruler.ts} +50 -22
- package/internal/stores/hybrid_viewer/scene.ts +125 -0
- package/internal/stores/hybrid_viewer/viewport.ts +177 -0
- package/internal/stores/hybrid_viewer/vtk_types.ts +58 -0
- package/internal/utils/api_fetch.ts +133 -0
- package/internal/utils/upload_file.ts +115 -0
- package/internal/utils/viewer_call.ts +99 -0
- package/internal/utils/ws_client.ts +54 -0
- package/nuxt.config.ts +168 -0
- package/opengeodeweb_front_schemas.json +2 -2
- package/package.json +49 -13
- package/server/api/cloud/extensions/{run.post.js → run.post.ts} +16 -12
- package/server/api/local/app/project_folder_path.post.ts +33 -0
- package/server/api/local/app/run_back.post.ts +39 -0
- package/server/api/local/app/run_viewer.post.ts +39 -0
- package/server/api/local/extensions/{kill.post.js → kill.post.ts} +15 -8
- package/server/api/local/extensions/{run.post.js → run.post.ts} +17 -12
- package/server/api/local/extensions/upload.put.ts +71 -0
- package/server/api/microservice/app/{get_is_app_ready.get.js → get_is_app_ready.get.ts} +5 -5
- package/server/api/microservice/app/schemas/get_is_app_ready.json +1 -1
- package/server/api/microservice/app/set_app_base_url.post.ts +29 -0
- package/server/api/microservice/app/set_back_base_url.post.ts +26 -0
- package/server/api/microservice/app/set_is_app_ready.post.ts +29 -0
- package/server/api/microservice/app/set_viewer_base_url.post.ts +26 -0
- package/server/api/microservice/extensions/{download.post.js → download.post.ts} +13 -6
- package/server/api/serverless/run_cloud.post.ts +92 -0
- package/server/utils/{app_config.js → app_config.ts} +40 -18
- package/server/utils/{cleanup.js → cleanup.ts} +76 -29
- package/server/utils/{cloud.js → cloud.ts} +33 -17
- package/server/utils/{extension.js → extension.ts} +31 -4
- package/server/utils/{microservices.js → microservices.ts} +68 -27
- package/server/utils/{path.js → path.ts} +36 -17
- package/server/utils/{scripts.js → scripts.ts} +49 -33
- package/server/utils/{server.js → server.ts} +13 -6
- package/server/utils/server_config.ts +74 -0
- package/server/utils/stream.ts +6 -0
- package/server/utils/ws_client.ts +165 -0
- package/shared/{scripts.js → scripts.ts} +15 -10
- package/shared/utils/call_raw.ts +73 -0
- package/shared/utils/{call_schema.js → call_schema.ts} +15 -6
- package/shared/utils/fetch_raw.ts +125 -0
- package/shared/utils/{fetch_schema.js → fetch_schema.ts} +16 -7
- package/shared/utils/file.ts +22 -0
- package/shared/utils/{parse_boolean.js → parse_boolean.ts} +1 -1
- package/shared/utils/response_handlers/load.ts +109 -0
- package/shared/utils/types.ts +27 -0
- package/shared/utils/{validate_schema.js → validate_schema.ts} +3 -1
- package/.github/workflows/config.json +0 -5
- package/.github/workflows/deploy.yml +0 -15
- package/.github/workflows/manual_release.yml +0 -11
- package/.github/workflows/merge_request.yml +0 -9
- package/.github/workflows/pr_update.yml +0 -11
- package/.github/workflows/prepare_deploy.yml +0 -9
- package/.github/workflows/schedule.yml +0 -18
- package/.github/workflows/test.yml +0 -14
- package/.github/workflows/test_pr.yml +0 -12
- package/.oxlintrc.json +0 -150
- package/.releaserc +0 -11
- package/app/components/Viewer/ObjectTree/Views/ModelComponents.vue +0 -224
- package/app/composables/clipping_planes_widget.js +0 -249
- package/app/composables/global_attribute_style.js +0 -181
- package/app/composables/hover_highlight.js +0 -91
- package/app/composables/responsive_middle_truncate.js +0 -34
- package/app/composables/stepper_tree.js +0 -56
- package/app/composables/tree_filter.js +0 -138
- package/app/composables/use_adaptive_styles.js +0 -120
- package/app/composables/use_overlapping_picker.js +0 -169
- package/app/composables/use_quick_colormap.js +0 -32
- package/app/composables/virtual_tree.js +0 -191
- package/app/stores/app.js +0 -326
- package/app/stores/camera_manager.js +0 -57
- package/app/stores/data.js +0 -278
- package/app/stores/data_helpers/collections.js +0 -96
- package/app/stores/data_helpers/mesh.js +0 -122
- package/app/stores/data_style.js +0 -116
- package/app/stores/infra.js +0 -95
- package/app/stores/treeview.js +0 -290
- package/app/utils/attributes.js +0 -23
- package/app/utils/clipping_planes.js +0 -110
- package/app/utils/colormap.js +0 -64
- package/app/utils/default_styles/meshes.js +0 -191
- package/app/utils/status.js +0 -10
- package/commitlint.config.js +0 -20
- package/internal/database/database.js +0 -80
- package/internal/database/tables/camera_positions.js +0 -4
- package/internal/database/tables/data_style.js +0 -4
- package/internal/database/tables/model_component_datastyle.js +0 -4
- package/internal/database/tables/model_component_type_datastyle.js +0 -4
- package/internal/database/tables/model_components.js +0 -4
- package/internal/database/tables/model_components_relation.js +0 -4
- package/internal/stores/data_style/mesh/cells/cell.js +0 -196
- package/internal/stores/data_style/mesh/cells/common.js +0 -39
- package/internal/stores/data_style/mesh/cells/index.js +0 -81
- package/internal/stores/data_style/mesh/cells/vertex.js +0 -193
- package/internal/stores/data_style/mesh/cells/visibility.js +0 -35
- package/internal/stores/data_style/mesh/edges/common.js +0 -32
- package/internal/stores/data_style/mesh/edges/edge.js +0 -195
- package/internal/stores/data_style/mesh/edges/index.js +0 -81
- package/internal/stores/data_style/mesh/edges/vertex.js +0 -196
- package/internal/stores/data_style/mesh/edges/visibility.js +0 -34
- package/internal/stores/data_style/mesh/edges/width.js +0 -34
- package/internal/stores/data_style/mesh/points/common.js +0 -37
- package/internal/stores/data_style/mesh/points/index.js +0 -82
- package/internal/stores/data_style/mesh/points/size.js +0 -35
- package/internal/stores/data_style/mesh/points/vertex.js +0 -193
- package/internal/stores/data_style/mesh/points/visibility.js +0 -37
- package/internal/stores/data_style/mesh/polygons/common.js +0 -32
- package/internal/stores/data_style/mesh/polygons/index.js +0 -107
- package/internal/stores/data_style/mesh/polygons/polygon.js +0 -196
- package/internal/stores/data_style/mesh/polygons/vertex.js +0 -196
- package/internal/stores/data_style/mesh/polygons/visibility.js +0 -38
- package/internal/stores/data_style/mesh/polyhedra/common.js +0 -32
- package/internal/stores/data_style/mesh/polyhedra/index.js +0 -98
- package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +0 -196
- package/internal/stores/data_style/mesh/polyhedra/vertex.js +0 -196
- package/internal/stores/data_style/mesh/polyhedra/visibility.js +0 -38
- package/internal/stores/data_style/model/blocks/common.js +0 -51
- package/internal/stores/data_style/model/blocks/polyhedron.js +0 -215
- package/internal/stores/data_style/model/blocks/vertex.js +0 -204
- package/internal/stores/data_style/model/blocks/visibility.js +0 -20
- package/internal/stores/data_style/model/color.js +0 -218
- package/internal/stores/data_style/model/common.js +0 -141
- package/internal/stores/data_style/model/corners/common.js +0 -51
- package/internal/stores/data_style/model/corners/vertex.js +0 -204
- package/internal/stores/data_style/model/corners/visibility.js +0 -20
- package/internal/stores/data_style/model/edges/common.js +0 -20
- package/internal/stores/data_style/model/edges/visibility.js +0 -38
- package/internal/stores/data_style/model/lines/common.js +0 -51
- package/internal/stores/data_style/model/lines/edge.js +0 -203
- package/internal/stores/data_style/model/lines/vertex.js +0 -204
- package/internal/stores/data_style/model/lines/visibility.js +0 -20
- package/internal/stores/data_style/model/points/common.js +0 -20
- package/internal/stores/data_style/model/points/index.js +0 -25
- package/internal/stores/data_style/model/points/size.js +0 -36
- package/internal/stores/data_style/model/points/visibility.js +0 -36
- package/internal/stores/data_style/model/selection.js +0 -89
- package/internal/stores/data_style/model/surfaces/common.js +0 -51
- package/internal/stores/data_style/model/surfaces/polygon.js +0 -215
- package/internal/stores/data_style/model/surfaces/vertex.js +0 -215
- package/internal/stores/data_style/model/surfaces/visibility.js +0 -20
- package/internal/stores/data_style/state.js +0 -197
- package/internal/stores/hybrid_viewer/brightness.js +0 -82
- package/internal/stores/hybrid_viewer/camera.js +0 -274
- package/internal/stores/hybrid_viewer/highlight.js +0 -170
- package/internal/stores/hybrid_viewer/scene.js +0 -136
- package/internal/stores/hybrid_viewer/viewport.js +0 -140
- package/internal/utils/api_fetch.js +0 -52
- package/internal/utils/upload_file.js +0 -57
- package/internal/utils/viewer_call.js +0 -49
- package/internal/utils/ws_client.js +0 -29
- package/nuxt.config.js +0 -106
- package/scripts/generate_geode_objects.js +0 -24
- package/server/api/local/app/project_folder_path.post.js +0 -29
- package/server/api/local/app/run_back.post.js +0 -33
- package/server/api/local/app/run_viewer.post.js +0 -33
- package/server/api/local/extensions/upload.put.js +0 -72
- package/server/api/microservice/app/set_app_base_url.post.js +0 -25
- package/server/api/microservice/app/set_back_base_url.post.js +0 -22
- package/server/api/microservice/app/set_is_app_ready.post.js +0 -25
- package/server/api/microservice/app/set_viewer_base_url.post.js +0 -22
- package/server/api/serverless/run_cloud.post.js +0 -44
- package/server/utils/server_config.js +0 -58
- package/server/utils/ws_client.js +0 -112
- package/shared/utils/call_raw.js +0 -46
- package/shared/utils/fetch_raw.js +0 -61
- package/shared/utils/file.js +0 -16
- package/shared/utils/response_handlers/load.js +0 -74
- package/tests/integration/data/uploads/test.og_brep +0 -0
- package/tests/integration/data/uploads/test.og_edc2d +0 -0
- package/tests/integration/data/uploads/test.og_edc3d +0 -0
- package/tests/integration/data/uploads/test.og_psf3d +0 -0
- package/tests/integration/data/uploads/test.og_rgd2d +0 -0
- package/tests/integration/data/uploads/test.og_rgd3d +0 -0
- package/tests/integration/data/uploads/test.vtu +0 -22
- package/tests/integration/setup.js +0 -92
- package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +0 -343
- package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +0 -254
- package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +0 -62
- package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +0 -201
- package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +0 -260
- package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +0 -267
- package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +0 -397
- package/tests/integration/stores/data_style/model/corners.nuxt.test.js +0 -264
- package/tests/integration/stores/data_style/model/edges.nuxt.test.js +0 -71
- package/tests/integration/stores/data_style/model/index.nuxt.test.js +0 -92
- package/tests/integration/stores/data_style/model/lines.nuxt.test.js +0 -379
- package/tests/integration/stores/data_style/model/points.nuxt.test.js +0 -95
- package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +0 -574
- package/tests/integration/stores/viewer.nuxt.test.js +0 -69
- package/tests/setup_indexeddb.js +0 -4
- package/tests/unit/components/CrsSelector.nuxt.test.js +0 -55
- package/tests/unit/components/DragAndDrop.nuxt.test.js +0 -89
- package/tests/unit/components/ExtensionSelector.nuxt.test.js +0 -65
- package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +0 -41
- package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +0 -49
- package/tests/unit/components/FileSelector.nuxt.test.js +0 -124
- package/tests/unit/components/FileUploader.nuxt.test.js +0 -69
- package/tests/unit/components/MissingFilesSelector.nuxt.test.js +0 -77
- package/tests/unit/components/ObjectSelector.nuxt.test.js +0 -118
- package/tests/unit/components/PackagesVersions.nuxt.test.js +0 -42
- package/tests/unit/components/Step.nuxt.test.js +0 -51
- package/tests/unit/components/Stepper.nuxt.test.js +0 -41
- package/tests/unit/components/ToolPanel.nuxt.test.js +0 -66
- package/tests/unit/composables/api_fetch.nuxt.test.js +0 -75
- package/tests/unit/composables/project_manager.nuxt.test.js +0 -299
- package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +0 -57
- package/tests/unit/composables/upload_file.nuxt.test.js +0 -45
- package/tests/unit/composables/virtual_tree.nuxt.test.js +0 -63
- package/tests/unit/plugins/project_load.nuxt.test.js +0 -98
- package/tests/unit/stores/app.nuxt.test.js +0 -189
- package/tests/unit/stores/back.nuxt.test.js +0 -147
- package/tests/unit/stores/cloud.nuxt.test.js +0 -90
- package/tests/unit/stores/data.nuxt.test.js +0 -162
- package/tests/unit/stores/feedback.nuxt.test.js +0 -90
- package/tests/unit/stores/infra.nuxt.test.js +0 -313
- package/tests/unit/stores/treeview.nuxt.test.js +0 -63
- package/tests/unit/stores/viewer.nuxt.test.js +0 -161
- package/tests/unit/utils/validate_schema.nuxt.test.js +0 -38
- package/tests/utils.js +0 -20
- package/tests/vitest.config.js +0 -67
- /package/server/api/local/app/{kill.post.js → kill.post.ts} +0 -0
- /package/shared/{app_mode.js → app_mode.ts} +0 -0
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
<script setup>
|
|
1
|
+
<script setup lang="ts">
|
|
2
2
|
import OptionsSection from "@ogw_front/components/Viewer/Options/OptionsSection.vue";
|
|
3
|
+
import type { RGBAColor } from "@ogw_front/utils/default_styles/constants";
|
|
3
4
|
import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector.vue";
|
|
4
5
|
import VisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
|
|
5
6
|
import back_schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json";
|
|
6
7
|
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
7
8
|
import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
modelId:
|
|
11
|
-
cornerId
|
|
12
|
-
targetCornerIds:
|
|
13
|
-
}
|
|
10
|
+
interface Props {
|
|
11
|
+
modelId: string;
|
|
12
|
+
cornerId?: string;
|
|
13
|
+
targetCornerIds: string[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const { modelId, cornerId = undefined, targetCornerIds } = defineProps<Props>();
|
|
14
17
|
|
|
15
18
|
const dataStyleStore = useDataStyleStore();
|
|
16
19
|
const hybridViewerStore = useHybridViewerStore();
|
|
17
20
|
|
|
18
21
|
// Visibility
|
|
19
|
-
const cornersVisibility = computed({
|
|
22
|
+
const cornersVisibility = computed<boolean>({
|
|
20
23
|
get: () => dataStyleStore.modelComponentTypeVisibility(modelId, "Corner"),
|
|
21
24
|
set: async (newValue) => {
|
|
22
25
|
await dataStyleStore.setModelCornersVisibility(modelId, targetCornerIds, newValue);
|
|
@@ -24,57 +27,73 @@ const cornersVisibility = computed({
|
|
|
24
27
|
},
|
|
25
28
|
});
|
|
26
29
|
|
|
27
|
-
const cornerVisibility = computed({
|
|
28
|
-
get: () => dataStyleStore.modelCornerVisibility(modelId, cornerId),
|
|
30
|
+
const cornerVisibility = computed<boolean | undefined>({
|
|
31
|
+
get: () => dataStyleStore.modelCornerVisibility(modelId, cornerId) as boolean | undefined,
|
|
29
32
|
set: async (newValue) => {
|
|
33
|
+
if (cornerId === undefined) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
30
36
|
await dataStyleStore.setModelCornersVisibility(modelId, [cornerId], newValue);
|
|
31
37
|
hybridViewerStore.remoteRender();
|
|
32
38
|
},
|
|
33
39
|
});
|
|
34
40
|
|
|
35
41
|
// Color
|
|
36
|
-
const cornersColor = computed({
|
|
37
|
-
get: () => dataStyleStore.modelComponentTypeColor(modelId, "Corner"),
|
|
42
|
+
const cornersColor = computed<RGBAColor | undefined>({
|
|
43
|
+
get: () => dataStyleStore.modelComponentTypeColor(modelId, "Corner") as RGBAColor | undefined,
|
|
38
44
|
set: async (color) => {
|
|
39
45
|
await dataStyleStore.setModelCornersColor(modelId, targetCornerIds, color);
|
|
40
46
|
hybridViewerStore.remoteRender();
|
|
41
47
|
},
|
|
42
48
|
});
|
|
43
49
|
|
|
44
|
-
const cornerColor = computed({
|
|
45
|
-
get: () => dataStyleStore.modelCornerColor(modelId, cornerId),
|
|
50
|
+
const cornerColor = computed<RGBAColor | undefined>({
|
|
51
|
+
get: () => dataStyleStore.modelCornerColor(modelId, cornerId) as RGBAColor | undefined,
|
|
46
52
|
set: async (color) => {
|
|
53
|
+
if (cornerId === undefined) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
47
56
|
await dataStyleStore.setModelCornersColor(modelId, [cornerId], color);
|
|
48
57
|
hybridViewerStore.remoteRender();
|
|
49
58
|
},
|
|
50
59
|
});
|
|
51
60
|
|
|
52
|
-
const cornersActiveColoring = computed({
|
|
53
|
-
get: () =>
|
|
61
|
+
const cornersActiveColoring = computed<string | undefined>({
|
|
62
|
+
get: () =>
|
|
63
|
+
dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Corner") as string | undefined,
|
|
54
64
|
set: async (coloringType) => {
|
|
65
|
+
if (typeof coloringType !== "string") {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
55
68
|
await dataStyleStore.setModelCornersActiveColoring(modelId, targetCornerIds, coloringType);
|
|
56
69
|
hybridViewerStore.remoteRender();
|
|
57
70
|
},
|
|
58
71
|
});
|
|
59
72
|
|
|
60
|
-
const cornerActiveColoring = computed({
|
|
61
|
-
get: () => dataStyleStore.modelCornerActiveColoring(modelId, cornerId),
|
|
73
|
+
const cornerActiveColoring = computed<string | undefined>({
|
|
74
|
+
get: () => dataStyleStore.modelCornerActiveColoring(modelId, cornerId) as string | undefined,
|
|
62
75
|
set: async (coloringType) => {
|
|
76
|
+
if (cornerId === undefined || typeof coloringType !== "string") {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
63
79
|
await dataStyleStore.setModelCornersActiveColoring(modelId, [cornerId], coloringType);
|
|
64
80
|
hybridViewerStore.remoteRender();
|
|
65
81
|
},
|
|
66
82
|
});
|
|
67
83
|
|
|
68
84
|
// Group Attributes
|
|
69
|
-
const cornersVertexAttributeName = computed({
|
|
85
|
+
const cornersVertexAttributeName = computed<string | undefined>({
|
|
70
86
|
get: () => dataStyleStore.modelCornersVertexAttributeName(modelId),
|
|
71
87
|
set: async (newValue) => {
|
|
88
|
+
if (newValue === undefined) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
72
91
|
await dataStyleStore.setModelCornersVertexAttributeName(modelId, targetCornerIds, newValue);
|
|
73
92
|
hybridViewerStore.remoteRender();
|
|
74
93
|
},
|
|
75
94
|
});
|
|
76
95
|
|
|
77
|
-
const cornersVertexAttributeItem = computed({
|
|
96
|
+
const cornersVertexAttributeItem = computed<string | undefined>({
|
|
78
97
|
get: () => dataStyleStore.modelCornersVertexAttributeItem(modelId),
|
|
79
98
|
set: async (newValue) => {
|
|
80
99
|
await dataStyleStore.setModelCornersVertexAttributeItem(modelId, targetCornerIds, newValue);
|
|
@@ -82,20 +101,24 @@ const cornersVertexAttributeItem = computed({
|
|
|
82
101
|
},
|
|
83
102
|
});
|
|
84
103
|
|
|
85
|
-
const cornersVertexAttributeRange = computed({
|
|
104
|
+
const cornersVertexAttributeRange = computed<[number, number] | undefined>({
|
|
86
105
|
get: () => dataStyleStore.modelCornersVertexAttributeRange(modelId),
|
|
87
106
|
set: async (newValue) => {
|
|
107
|
+
const [minimum, maximum] = newValue;
|
|
108
|
+
if (minimum === undefined || maximum === undefined) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
88
111
|
await dataStyleStore.setModelCornersVertexAttributeRange(
|
|
89
112
|
modelId,
|
|
90
113
|
targetCornerIds,
|
|
91
|
-
|
|
92
|
-
|
|
114
|
+
minimum,
|
|
115
|
+
maximum,
|
|
93
116
|
);
|
|
94
117
|
hybridViewerStore.remoteRender();
|
|
95
118
|
},
|
|
96
119
|
});
|
|
97
120
|
|
|
98
|
-
const cornersVertexAttributeColorMap = computed({
|
|
121
|
+
const cornersVertexAttributeColorMap = computed<ColorMap | undefined>({
|
|
99
122
|
get: () => dataStyleStore.modelCornersVertexAttributeColorMap(modelId),
|
|
100
123
|
set: async (newValue) => {
|
|
101
124
|
await dataStyleStore.setModelCornersVertexAttributeColorMap(modelId, targetCornerIds, newValue);
|
|
@@ -103,8 +126,9 @@ const cornersVertexAttributeColorMap = computed({
|
|
|
103
126
|
},
|
|
104
127
|
});
|
|
105
128
|
|
|
106
|
-
const cornersVertexAttributeNoDataColor = computed({
|
|
107
|
-
get: () =>
|
|
129
|
+
const cornersVertexAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
130
|
+
get: () =>
|
|
131
|
+
dataStyleStore.modelCornersVertexAttributeNoDataColor(modelId) as RGBAColor | undefined,
|
|
108
132
|
set: async (newValue) => {
|
|
109
133
|
await dataStyleStore.setModelCornersVertexAttributeNoDataColor(
|
|
110
134
|
modelId,
|
|
@@ -116,46 +140,60 @@ const cornersVertexAttributeNoDataColor = computed({
|
|
|
116
140
|
});
|
|
117
141
|
|
|
118
142
|
// Individual Attributes
|
|
119
|
-
const vertexAttributeName = computed({
|
|
143
|
+
const vertexAttributeName = computed<string | undefined>({
|
|
120
144
|
get: () => dataStyleStore.modelCornersVertexAttributeName(modelId, cornerId),
|
|
121
145
|
set: async (newValue) => {
|
|
146
|
+
if (cornerId === undefined || newValue === undefined) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
122
149
|
await dataStyleStore.setModelCornersVertexAttributeName(modelId, [cornerId], newValue);
|
|
123
150
|
hybridViewerStore.remoteRender();
|
|
124
151
|
},
|
|
125
152
|
});
|
|
126
153
|
|
|
127
|
-
const vertexAttributeItem = computed({
|
|
154
|
+
const vertexAttributeItem = computed<string | undefined>({
|
|
128
155
|
get: () => dataStyleStore.modelCornersVertexAttributeItem(modelId, cornerId),
|
|
129
156
|
set: async (newValue) => {
|
|
157
|
+
if (cornerId === undefined) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
130
160
|
await dataStyleStore.setModelCornersVertexAttributeItem(modelId, [cornerId], newValue);
|
|
131
161
|
hybridViewerStore.remoteRender();
|
|
132
162
|
},
|
|
133
163
|
});
|
|
134
164
|
|
|
135
|
-
const vertexAttributeRange = computed({
|
|
165
|
+
const vertexAttributeRange = computed<[number, number] | undefined>({
|
|
136
166
|
get: () => dataStyleStore.modelCornersVertexAttributeRange(modelId, cornerId),
|
|
137
167
|
set: async (newValue) => {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
);
|
|
168
|
+
const [minimum, maximum] = newValue;
|
|
169
|
+
if (cornerId === undefined || minimum === undefined || maximum === undefined) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
await dataStyleStore.setModelCornersVertexAttributeRange(modelId, [cornerId], minimum, maximum);
|
|
144
173
|
hybridViewerStore.remoteRender();
|
|
145
174
|
},
|
|
146
175
|
});
|
|
147
176
|
|
|
148
|
-
const vertexAttributeColorMap = computed({
|
|
177
|
+
const vertexAttributeColorMap = computed<ColorMap | undefined>({
|
|
149
178
|
get: () => dataStyleStore.modelCornersVertexAttributeColorMap(modelId, cornerId),
|
|
150
179
|
set: async (newValue) => {
|
|
180
|
+
if (cornerId === undefined) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
151
183
|
await dataStyleStore.setModelCornersVertexAttributeColorMap(modelId, [cornerId], newValue);
|
|
152
184
|
hybridViewerStore.remoteRender();
|
|
153
185
|
},
|
|
154
186
|
});
|
|
155
187
|
|
|
156
|
-
const vertexAttributeNoDataColor = computed({
|
|
157
|
-
get: () =>
|
|
188
|
+
const vertexAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
189
|
+
get: () =>
|
|
190
|
+
dataStyleStore.modelCornersVertexAttributeNoDataColor(modelId, cornerId) as
|
|
191
|
+
| RGBAColor
|
|
192
|
+
| undefined,
|
|
158
193
|
set: async (newValue) => {
|
|
194
|
+
if (cornerId === undefined) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
159
197
|
await dataStyleStore.setModelCornersVertexAttributeNoDataColor(modelId, [cornerId], newValue);
|
|
160
198
|
hybridViewerStore.remoteRender();
|
|
161
199
|
},
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
<script setup>
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import ViewerContextMenuItem, {
|
|
3
|
+
type ItemProps,
|
|
4
|
+
} from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
|
|
2
5
|
import SurfaceEdges from "@ogw_front/assets/viewer_svgs/surface_edges.svg";
|
|
3
|
-
import
|
|
4
|
-
import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch";
|
|
5
|
-
|
|
6
|
+
import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
|
|
6
7
|
import { useBatchStyle } from "@ogw_front/composables/batch_style";
|
|
7
8
|
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
8
9
|
import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
|
|
@@ -11,16 +12,18 @@ const dataStyleStore = useDataStyleStore();
|
|
|
11
12
|
const hybridViewerStore = useHybridViewerStore();
|
|
12
13
|
const { applyBatchStyle } = useBatchStyle();
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
itemProps:
|
|
16
|
-
}
|
|
15
|
+
interface Props {
|
|
16
|
+
itemProps: ItemProps & { index: number };
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const { itemProps } = defineProps<Props>();
|
|
17
20
|
|
|
18
|
-
const id = computed(() => itemProps.meta_data.modelId || itemProps.id);
|
|
21
|
+
const id = computed(() => (itemProps.meta_data.modelId as string | undefined) || itemProps.id);
|
|
19
22
|
|
|
20
23
|
const visibility = computed({
|
|
21
24
|
get: () => dataStyleStore.modelEdgesVisibility(id.value),
|
|
22
25
|
set: async (newValue) => {
|
|
23
|
-
await applyBatchStyle(id.value, (targetId) =>
|
|
26
|
+
await applyBatchStyle(id.value, (targetId: string) =>
|
|
24
27
|
dataStyleStore.setModelEdgesVisibility(targetId, newValue),
|
|
25
28
|
);
|
|
26
29
|
hybridViewerStore.remoteRender();
|
|
@@ -31,6 +34,7 @@ const visibility = computed({
|
|
|
31
34
|
<template>
|
|
32
35
|
<ViewerContextMenuItem
|
|
33
36
|
data-testid="modelEdgesMenu"
|
|
37
|
+
:index="itemProps.index"
|
|
34
38
|
:itemProps="itemProps"
|
|
35
39
|
tooltip="Edges options"
|
|
36
40
|
:btnImage="SurfaceEdges"
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
<script setup>
|
|
1
|
+
<script setup lang="ts">
|
|
2
2
|
import OptionsSection from "@ogw_front/components/Viewer/Options/OptionsSection.vue";
|
|
3
|
+
import type { RGBAColor } from "@ogw_front/utils/default_styles/constants";
|
|
3
4
|
import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector.vue";
|
|
4
5
|
import VisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
|
|
5
6
|
import back_schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json";
|
|
6
7
|
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
7
8
|
import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
modelId:
|
|
11
|
-
lineId
|
|
12
|
-
targetLineIds:
|
|
13
|
-
}
|
|
10
|
+
interface Props {
|
|
11
|
+
modelId: string;
|
|
12
|
+
lineId?: string;
|
|
13
|
+
targetLineIds: string[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const { modelId, lineId = undefined, targetLineIds } = defineProps<Props>();
|
|
14
17
|
|
|
15
18
|
const dataStyleStore = useDataStyleStore();
|
|
16
19
|
const hybridViewerStore = useHybridViewerStore();
|
|
17
20
|
|
|
18
21
|
// Visibility
|
|
19
|
-
const linesVisibility = computed({
|
|
22
|
+
const linesVisibility = computed<boolean>({
|
|
20
23
|
get: () => dataStyleStore.modelComponentTypeVisibility(modelId, "Line"),
|
|
21
24
|
set: async (newValue) => {
|
|
22
25
|
await dataStyleStore.setModelLinesVisibility(modelId, targetLineIds, newValue);
|
|
@@ -24,57 +27,73 @@ const linesVisibility = computed({
|
|
|
24
27
|
},
|
|
25
28
|
});
|
|
26
29
|
|
|
27
|
-
const lineVisibility = computed({
|
|
28
|
-
get: () => dataStyleStore.modelLineVisibility(modelId, lineId),
|
|
30
|
+
const lineVisibility = computed<boolean | undefined>({
|
|
31
|
+
get: () => dataStyleStore.modelLineVisibility(modelId, lineId) as boolean | undefined,
|
|
29
32
|
set: async (newValue) => {
|
|
33
|
+
if (lineId === undefined) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
30
36
|
await dataStyleStore.setModelLinesVisibility(modelId, [lineId], newValue);
|
|
31
37
|
hybridViewerStore.remoteRender();
|
|
32
38
|
},
|
|
33
39
|
});
|
|
34
40
|
|
|
35
41
|
// Color
|
|
36
|
-
const linesColor = computed({
|
|
37
|
-
get: () => dataStyleStore.modelComponentTypeColor(modelId, "Line"),
|
|
42
|
+
const linesColor = computed<RGBAColor | undefined>({
|
|
43
|
+
get: () => dataStyleStore.modelComponentTypeColor(modelId, "Line") as RGBAColor | undefined,
|
|
38
44
|
set: async (color) => {
|
|
39
45
|
await dataStyleStore.setModelLinesColor(modelId, targetLineIds, color);
|
|
40
46
|
hybridViewerStore.remoteRender();
|
|
41
47
|
},
|
|
42
48
|
});
|
|
43
49
|
|
|
44
|
-
const lineColor = computed({
|
|
45
|
-
get: () => dataStyleStore.modelLineColor(modelId, lineId),
|
|
50
|
+
const lineColor = computed<RGBAColor | undefined>({
|
|
51
|
+
get: () => dataStyleStore.modelLineColor(modelId, lineId) as RGBAColor | undefined,
|
|
46
52
|
set: async (color) => {
|
|
53
|
+
if (lineId === undefined) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
47
56
|
await dataStyleStore.setModelLinesColor(modelId, [lineId], color);
|
|
48
57
|
hybridViewerStore.remoteRender();
|
|
49
58
|
},
|
|
50
59
|
});
|
|
51
60
|
|
|
52
|
-
const linesActiveColoring = computed({
|
|
53
|
-
get: () =>
|
|
61
|
+
const linesActiveColoring = computed<string | undefined>({
|
|
62
|
+
get: () =>
|
|
63
|
+
dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Line") as string | undefined,
|
|
54
64
|
set: async (coloringType) => {
|
|
65
|
+
if (typeof coloringType !== "string") {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
55
68
|
await dataStyleStore.setModelLinesActiveColoring(modelId, targetLineIds, coloringType);
|
|
56
69
|
hybridViewerStore.remoteRender();
|
|
57
70
|
},
|
|
58
71
|
});
|
|
59
72
|
|
|
60
|
-
const lineActiveColoring = computed({
|
|
61
|
-
get: () => dataStyleStore.modelLineActiveColoring(modelId, lineId),
|
|
73
|
+
const lineActiveColoring = computed<string | undefined>({
|
|
74
|
+
get: () => dataStyleStore.modelLineActiveColoring(modelId, lineId) as string | undefined,
|
|
62
75
|
set: async (coloringType) => {
|
|
76
|
+
if (lineId === undefined || typeof coloringType !== "string") {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
63
79
|
await dataStyleStore.setModelLinesActiveColoring(modelId, [lineId], coloringType);
|
|
64
80
|
hybridViewerStore.remoteRender();
|
|
65
81
|
},
|
|
66
82
|
});
|
|
67
83
|
|
|
68
84
|
// Group Attributes
|
|
69
|
-
const linesVertexAttributeName = computed({
|
|
85
|
+
const linesVertexAttributeName = computed<string | undefined>({
|
|
70
86
|
get: () => dataStyleStore.modelLinesVertexAttributeName(modelId),
|
|
71
87
|
set: async (newValue) => {
|
|
88
|
+
if (newValue === undefined) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
72
91
|
await dataStyleStore.setModelLinesVertexAttributeName(modelId, targetLineIds, newValue);
|
|
73
92
|
hybridViewerStore.remoteRender();
|
|
74
93
|
},
|
|
75
94
|
});
|
|
76
95
|
|
|
77
|
-
const linesVertexAttributeItem = computed({
|
|
96
|
+
const linesVertexAttributeItem = computed<string | undefined>({
|
|
78
97
|
get: () => dataStyleStore.modelLinesVertexAttributeItem(modelId),
|
|
79
98
|
set: async (newValue) => {
|
|
80
99
|
await dataStyleStore.setModelLinesVertexAttributeItem(modelId, targetLineIds, newValue);
|
|
@@ -82,20 +101,24 @@ const linesVertexAttributeItem = computed({
|
|
|
82
101
|
},
|
|
83
102
|
});
|
|
84
103
|
|
|
85
|
-
const linesVertexAttributeRange = computed({
|
|
104
|
+
const linesVertexAttributeRange = computed<[number, number] | undefined>({
|
|
86
105
|
get: () => dataStyleStore.modelLinesVertexAttributeRange(modelId),
|
|
87
106
|
set: async (newValue) => {
|
|
107
|
+
const [minimum, maximum] = newValue;
|
|
108
|
+
if (minimum === undefined || maximum === undefined) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
88
111
|
await dataStyleStore.setModelLinesVertexAttributeRange(
|
|
89
112
|
modelId,
|
|
90
113
|
targetLineIds,
|
|
91
|
-
|
|
92
|
-
|
|
114
|
+
minimum,
|
|
115
|
+
maximum,
|
|
93
116
|
);
|
|
94
117
|
hybridViewerStore.remoteRender();
|
|
95
118
|
},
|
|
96
119
|
});
|
|
97
120
|
|
|
98
|
-
const linesVertexAttributeColorMap = computed({
|
|
121
|
+
const linesVertexAttributeColorMap = computed<RGBAColorMap | undefined>({
|
|
99
122
|
get: () => dataStyleStore.modelLinesVertexAttributeColorMap(modelId),
|
|
100
123
|
set: async (newValue) => {
|
|
101
124
|
await dataStyleStore.setModelLinesVertexAttributeColorMap(modelId, targetLineIds, newValue);
|
|
@@ -103,23 +126,26 @@ const linesVertexAttributeColorMap = computed({
|
|
|
103
126
|
},
|
|
104
127
|
});
|
|
105
128
|
|
|
106
|
-
const linesVertexAttributeNoDataColor = computed({
|
|
107
|
-
get: () => dataStyleStore.modelLinesVertexAttributeNoDataColor(modelId),
|
|
129
|
+
const linesVertexAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
130
|
+
get: () => dataStyleStore.modelLinesVertexAttributeNoDataColor(modelId) as RGBAColor | undefined,
|
|
108
131
|
set: async (newValue) => {
|
|
109
132
|
await dataStyleStore.setModelLinesVertexAttributeNoDataColor(modelId, targetLineIds, newValue);
|
|
110
133
|
hybridViewerStore.remoteRender();
|
|
111
134
|
},
|
|
112
135
|
});
|
|
113
136
|
|
|
114
|
-
const linesEdgeAttributeName = computed({
|
|
137
|
+
const linesEdgeAttributeName = computed<string | undefined>({
|
|
115
138
|
get: () => dataStyleStore.modelLinesEdgeAttributeName(modelId),
|
|
116
139
|
set: async (newValue) => {
|
|
140
|
+
if (newValue === undefined) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
117
143
|
await dataStyleStore.setModelLinesEdgeAttributeName(modelId, targetLineIds, newValue);
|
|
118
144
|
hybridViewerStore.remoteRender();
|
|
119
145
|
},
|
|
120
146
|
});
|
|
121
147
|
|
|
122
|
-
const linesEdgeAttributeItem = computed({
|
|
148
|
+
const linesEdgeAttributeItem = computed<string | undefined>({
|
|
123
149
|
get: () => dataStyleStore.modelLinesEdgeAttributeItem(modelId),
|
|
124
150
|
set: async (newValue) => {
|
|
125
151
|
await dataStyleStore.setModelLinesEdgeAttributeItem(modelId, targetLineIds, newValue);
|
|
@@ -127,20 +153,19 @@ const linesEdgeAttributeItem = computed({
|
|
|
127
153
|
},
|
|
128
154
|
});
|
|
129
155
|
|
|
130
|
-
const linesEdgeAttributeRange = computed({
|
|
156
|
+
const linesEdgeAttributeRange = computed<[number, number] | undefined>({
|
|
131
157
|
get: () => dataStyleStore.modelLinesEdgeAttributeRange(modelId),
|
|
132
158
|
set: async (newValue) => {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
);
|
|
159
|
+
const [minimum, maximum] = newValue;
|
|
160
|
+
if (minimum === undefined || maximum === undefined) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
await dataStyleStore.setModelLinesEdgeAttributeRange(modelId, targetLineIds, minimum, maximum);
|
|
139
164
|
hybridViewerStore.remoteRender();
|
|
140
165
|
},
|
|
141
166
|
});
|
|
142
167
|
|
|
143
|
-
const linesEdgeAttributeColorMap = computed({
|
|
168
|
+
const linesEdgeAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
|
|
144
169
|
get: () => dataStyleStore.modelLinesEdgeAttributeColorMap(modelId),
|
|
145
170
|
set: async (newValue) => {
|
|
146
171
|
await dataStyleStore.setModelLinesEdgeAttributeColorMap(modelId, targetLineIds, newValue);
|
|
@@ -148,8 +173,8 @@ const linesEdgeAttributeColorMap = computed({
|
|
|
148
173
|
},
|
|
149
174
|
});
|
|
150
175
|
|
|
151
|
-
const linesEdgeAttributeNoDataColor = computed({
|
|
152
|
-
get: () => dataStyleStore.modelLinesEdgeAttributeNoDataColor(modelId),
|
|
176
|
+
const linesEdgeAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
177
|
+
get: () => dataStyleStore.modelLinesEdgeAttributeNoDataColor(modelId) as RGBAColor | undefined,
|
|
153
178
|
set: async (newValue) => {
|
|
154
179
|
await dataStyleStore.setModelLinesEdgeAttributeNoDataColor(modelId, targetLineIds, newValue);
|
|
155
180
|
hybridViewerStore.remoteRender();
|
|
@@ -157,91 +182,115 @@ const linesEdgeAttributeNoDataColor = computed({
|
|
|
157
182
|
});
|
|
158
183
|
|
|
159
184
|
// Individual Attributes
|
|
160
|
-
const vertexAttributeName = computed({
|
|
185
|
+
const vertexAttributeName = computed<string | undefined>({
|
|
161
186
|
get: () => dataStyleStore.modelLinesVertexAttributeName(modelId, lineId),
|
|
162
187
|
set: async (newValue) => {
|
|
188
|
+
if (lineId === undefined || newValue === undefined) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
163
191
|
await dataStyleStore.setModelLinesVertexAttributeName(modelId, [lineId], newValue);
|
|
164
192
|
hybridViewerStore.remoteRender();
|
|
165
193
|
},
|
|
166
194
|
});
|
|
167
195
|
|
|
168
|
-
const vertexAttributeItem = computed({
|
|
196
|
+
const vertexAttributeItem = computed<string | undefined>({
|
|
169
197
|
get: () => dataStyleStore.modelLinesVertexAttributeItem(modelId, lineId),
|
|
170
198
|
set: async (newValue) => {
|
|
199
|
+
if (lineId === undefined) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
171
202
|
await dataStyleStore.setModelLinesVertexAttributeItem(modelId, [lineId], newValue);
|
|
172
203
|
hybridViewerStore.remoteRender();
|
|
173
204
|
},
|
|
174
205
|
});
|
|
175
206
|
|
|
176
|
-
const vertexAttributeRange = computed({
|
|
207
|
+
const vertexAttributeRange = computed<[number, number] | undefined>({
|
|
177
208
|
get: () => dataStyleStore.modelLinesVertexAttributeRange(modelId, lineId),
|
|
178
209
|
set: async (newValue) => {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
);
|
|
210
|
+
const [minimum, maximum] = newValue;
|
|
211
|
+
if (lineId === undefined || minimum === undefined || maximum === undefined) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
await dataStyleStore.setModelLinesVertexAttributeRange(modelId, [lineId], minimum, maximum);
|
|
185
215
|
hybridViewerStore.remoteRender();
|
|
186
216
|
},
|
|
187
217
|
});
|
|
188
218
|
|
|
189
|
-
const vertexAttributeColorMap = computed({
|
|
219
|
+
const vertexAttributeColorMap = computed<ColorMap | undefined>({
|
|
190
220
|
get: () => dataStyleStore.modelLinesVertexAttributeColorMap(modelId, lineId),
|
|
191
221
|
set: async (newValue) => {
|
|
222
|
+
if (lineId === undefined) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
192
225
|
await dataStyleStore.setModelLinesVertexAttributeColorMap(modelId, [lineId], newValue);
|
|
193
226
|
hybridViewerStore.remoteRender();
|
|
194
227
|
},
|
|
195
228
|
});
|
|
196
229
|
|
|
197
|
-
const vertexAttributeNoDataColor = computed({
|
|
198
|
-
get: () =>
|
|
230
|
+
const vertexAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
231
|
+
get: () =>
|
|
232
|
+
dataStyleStore.modelLinesVertexAttributeNoDataColor(modelId, lineId) as RGBAColor | undefined,
|
|
199
233
|
set: async (newValue) => {
|
|
234
|
+
if (lineId === undefined) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
200
237
|
await dataStyleStore.setModelLinesVertexAttributeNoDataColor(modelId, [lineId], newValue);
|
|
201
238
|
hybridViewerStore.remoteRender();
|
|
202
239
|
},
|
|
203
240
|
});
|
|
204
241
|
|
|
205
|
-
const edgeAttributeName = computed({
|
|
242
|
+
const edgeAttributeName = computed<string | undefined>({
|
|
206
243
|
get: () => dataStyleStore.modelLinesEdgeAttributeName(modelId, lineId),
|
|
207
244
|
set: async (newValue) => {
|
|
245
|
+
if (lineId === undefined || newValue === undefined) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
208
248
|
await dataStyleStore.setModelLinesEdgeAttributeName(modelId, [lineId], newValue);
|
|
209
249
|
hybridViewerStore.remoteRender();
|
|
210
250
|
},
|
|
211
251
|
});
|
|
212
252
|
|
|
213
|
-
const edgeAttributeItem = computed({
|
|
253
|
+
const edgeAttributeItem = computed<string | undefined>({
|
|
214
254
|
get: () => dataStyleStore.modelLinesEdgeAttributeItem(modelId, lineId),
|
|
215
255
|
set: async (newValue) => {
|
|
256
|
+
if (lineId === undefined) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
216
259
|
await dataStyleStore.setModelLinesEdgeAttributeItem(modelId, [lineId], newValue);
|
|
217
260
|
hybridViewerStore.remoteRender();
|
|
218
261
|
},
|
|
219
262
|
});
|
|
220
263
|
|
|
221
|
-
const edgeAttributeRange = computed({
|
|
264
|
+
const edgeAttributeRange = computed<[number, number] | undefined>({
|
|
222
265
|
get: () => dataStyleStore.modelLinesEdgeAttributeRange(modelId, lineId),
|
|
223
266
|
set: async (newValue) => {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
);
|
|
267
|
+
const [minimum, maximum] = newValue;
|
|
268
|
+
if (lineId === undefined || minimum === undefined || maximum === undefined) {
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
await dataStyleStore.setModelLinesEdgeAttributeRange(modelId, [lineId], minimum, maximum);
|
|
230
272
|
hybridViewerStore.remoteRender();
|
|
231
273
|
},
|
|
232
274
|
});
|
|
233
275
|
|
|
234
|
-
const edgeAttributeColorMap = computed({
|
|
276
|
+
const edgeAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
|
|
235
277
|
get: () => dataStyleStore.modelLinesEdgeAttributeColorMap(modelId, lineId),
|
|
236
278
|
set: async (newValue) => {
|
|
279
|
+
if (lineId === undefined) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
237
282
|
await dataStyleStore.setModelLinesEdgeAttributeColorMap(modelId, [lineId], newValue);
|
|
238
283
|
hybridViewerStore.remoteRender();
|
|
239
284
|
},
|
|
240
285
|
});
|
|
241
286
|
|
|
242
|
-
const edgeAttributeNoDataColor = computed({
|
|
243
|
-
get: () =>
|
|
287
|
+
const edgeAttributeNoDataColor = computed<RGBAColor | undefined>({
|
|
288
|
+
get: () =>
|
|
289
|
+
dataStyleStore.modelLinesEdgeAttributeNoDataColor(modelId, lineId) as RGBAColor | undefined,
|
|
244
290
|
set: async (newValue) => {
|
|
291
|
+
if (lineId === undefined) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
245
294
|
await dataStyleStore.setModelLinesEdgeAttributeNoDataColor(modelId, [lineId], newValue);
|
|
246
295
|
hybridViewerStore.remoteRender();
|
|
247
296
|
},
|