@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,71 +0,0 @@
|
|
|
1
|
-
// Third party imports
|
|
2
|
-
import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
|
-
|
|
5
|
-
// Local imports
|
|
6
|
-
import { beforeAllTimeout, setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
7
|
-
import { Status } from "@ogw_front/utils/status";
|
|
8
|
-
import { cleanupBackend } from "@ogw_server/utils/cleanup";
|
|
9
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
10
|
-
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
11
|
-
|
|
12
|
-
// Local constants
|
|
13
|
-
const model_edges_schemas = viewer_schemas.opengeodeweb_viewer.model.edges;
|
|
14
|
-
const file_name = "test.og_brep";
|
|
15
|
-
const geode_object = "BRep";
|
|
16
|
-
const SLEEP_MS = 200;
|
|
17
|
-
|
|
18
|
-
function sleep(milliseconds) {
|
|
19
|
-
// oxlint-disable-next-line promise/avoid-new
|
|
20
|
-
return new Promise((resolve) => {
|
|
21
|
-
setTimeout(resolve, milliseconds);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
let id = "";
|
|
26
|
-
let projectFolderPath = "";
|
|
27
|
-
|
|
28
|
-
describe("model edges", () => {
|
|
29
|
-
beforeAll(async () => {
|
|
30
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
31
|
-
}, beforeAllTimeout);
|
|
32
|
-
|
|
33
|
-
afterAll(async () => {
|
|
34
|
-
console.log("afterAll model edges kill", projectFolderPath);
|
|
35
|
-
await cleanupBackend(projectFolderPath);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
describe("edges visibility", () => {
|
|
39
|
-
test("visibility true", async () => {
|
|
40
|
-
const dataStyleStore = useDataStyleStore();
|
|
41
|
-
const viewerStore = useViewerStore();
|
|
42
|
-
const visibility = true;
|
|
43
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
44
|
-
spy.mockClear();
|
|
45
|
-
const result = dataStyleStore.setModelEdgesVisibility(id, visibility);
|
|
46
|
-
expect(result).toBeInstanceOf(Promise);
|
|
47
|
-
await result;
|
|
48
|
-
await sleep(SLEEP_MS);
|
|
49
|
-
const schema = model_edges_schemas.visibility;
|
|
50
|
-
const params = { id, visibility };
|
|
51
|
-
expect(spy).toHaveBeenCalledWith(
|
|
52
|
-
{ schema, params },
|
|
53
|
-
{
|
|
54
|
-
response_function: expect.any(Function),
|
|
55
|
-
},
|
|
56
|
-
);
|
|
57
|
-
expect(dataStyleStore.modelEdgesVisibility(id)).toBe(visibility);
|
|
58
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe("edges style", () => {
|
|
62
|
-
test("edges apply style", async () => {
|
|
63
|
-
const dataStyleStore = useDataStyleStore();
|
|
64
|
-
const viewerStore = useViewerStore();
|
|
65
|
-
const result = dataStyleStore.applyModelEdgesStyle(id);
|
|
66
|
-
expect(result).toBeInstanceOf(Promise);
|
|
67
|
-
await result;
|
|
68
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// Third party imports
|
|
2
|
-
import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
|
-
|
|
5
|
-
// Local imports
|
|
6
|
-
import { beforeAllTimeout, setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
7
|
-
import { Status } from "@ogw_front/utils/status";
|
|
8
|
-
import { cleanupBackend } from "@ogw_server/utils/cleanup";
|
|
9
|
-
import { useDataStore } from "@ogw_front/stores/data";
|
|
10
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
11
|
-
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
12
|
-
|
|
13
|
-
// Local constants
|
|
14
|
-
const model_schemas = viewer_schemas.opengeodeweb_viewer.model;
|
|
15
|
-
const file_name = "test.og_brep";
|
|
16
|
-
const geode_object = "BRep";
|
|
17
|
-
const SLEEP_MS = 200;
|
|
18
|
-
|
|
19
|
-
function sleep(milliseconds) {
|
|
20
|
-
// oxlint-disable-next-line promise/avoid-new
|
|
21
|
-
return new Promise((resolve) => {
|
|
22
|
-
setTimeout(resolve, milliseconds);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
let id = "";
|
|
27
|
-
let projectFolderPath = "";
|
|
28
|
-
|
|
29
|
-
describe("model", () => {
|
|
30
|
-
beforeAll(async () => {
|
|
31
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
32
|
-
}, beforeAllTimeout);
|
|
33
|
-
|
|
34
|
-
afterAll(async () => {
|
|
35
|
-
console.log("afterAll model kill", projectFolderPath);
|
|
36
|
-
await cleanupBackend(projectFolderPath);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe("model visibility", () => {
|
|
40
|
-
test("visibility true", async () => {
|
|
41
|
-
const dataStyleStore = useDataStyleStore();
|
|
42
|
-
const viewerStore = useViewerStore();
|
|
43
|
-
const visibility = true;
|
|
44
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
45
|
-
spy.mockClear();
|
|
46
|
-
const result = dataStyleStore.setModelVisibility(id, visibility);
|
|
47
|
-
expect(result).toBeInstanceOf(Promise);
|
|
48
|
-
await result;
|
|
49
|
-
await sleep(SLEEP_MS);
|
|
50
|
-
const schema = model_schemas.visibility;
|
|
51
|
-
const params = { id, visibility };
|
|
52
|
-
expect(spy).toHaveBeenCalledWith(
|
|
53
|
-
{ schema, params },
|
|
54
|
-
{
|
|
55
|
-
response_function: expect.any(Function),
|
|
56
|
-
},
|
|
57
|
-
);
|
|
58
|
-
expect(dataStyleStore.modelVisibility(id)).toBe(visibility);
|
|
59
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
describe("model color inheritance", () => {
|
|
64
|
-
test("inheritance workflow model > surfaces > surface", async () => {
|
|
65
|
-
const dataStyleStore = useDataStyleStore();
|
|
66
|
-
const dataStore = useDataStore();
|
|
67
|
-
|
|
68
|
-
const surface_ids = await dataStore.getSurfacesGeodeIds(id);
|
|
69
|
-
const [surface_id] = surface_ids;
|
|
70
|
-
|
|
71
|
-
const red = { red: 255, green: 0, blue: 0, alpha: 1 };
|
|
72
|
-
const green = { red: 0, green: 255, blue: 0, alpha: 1 };
|
|
73
|
-
const blue = { red: 0, green: 0, blue: 255, alpha: 1 };
|
|
74
|
-
|
|
75
|
-
await dataStyleStore.mutateStyle(id, {
|
|
76
|
-
coloring: { constant: red, active: "constant" },
|
|
77
|
-
});
|
|
78
|
-
await dataStyleStore.setModelComponentsColor(id, surface_ids, red);
|
|
79
|
-
await sleep(SLEEP_MS);
|
|
80
|
-
|
|
81
|
-
await dataStyleStore.setModelComponentTypeColor(id, "Surface", green);
|
|
82
|
-
await sleep(SLEEP_MS);
|
|
83
|
-
|
|
84
|
-
await dataStyleStore.setModelSurfacesColor(id, [surface_id], blue);
|
|
85
|
-
await sleep(SLEEP_MS);
|
|
86
|
-
|
|
87
|
-
expect(dataStyleStore.getModelColor(id)).toStrictEqual(red);
|
|
88
|
-
expect(dataStyleStore.modelComponentTypeColor(id, "Surface")).toStrictEqual(green);
|
|
89
|
-
expect(dataStyleStore.modelSurfaceColor(id, surface_id)).toStrictEqual(blue);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
// oxlint-disable max-lines
|
|
2
|
-
// Third party imports
|
|
3
|
-
import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
|
|
4
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
5
|
-
|
|
6
|
-
// Local imports
|
|
7
|
-
import { beforeAllTimeout, setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
8
|
-
import { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
|
|
9
|
-
import { Status } from "@ogw_front/utils/status";
|
|
10
|
-
import { cleanupBackend } from "@ogw_server/utils/cleanup";
|
|
11
|
-
import { useDataStore } from "@ogw_front/stores/data";
|
|
12
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
13
|
-
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
14
|
-
|
|
15
|
-
// Local constants
|
|
16
|
-
const model_lines_schemas = viewer_schemas.opengeodeweb_viewer.model.lines;
|
|
17
|
-
const file_name = "test.og_brep";
|
|
18
|
-
const geode_object = "BRep";
|
|
19
|
-
const SLEEP_MS = 200;
|
|
20
|
-
const MINIMUM_RANGE = 10;
|
|
21
|
-
const MAXIMUM_RANGE = 20;
|
|
22
|
-
|
|
23
|
-
function sleep(milliseconds) {
|
|
24
|
-
// oxlint-disable-next-line promise/avoid-new
|
|
25
|
-
return new Promise((resolve) => {
|
|
26
|
-
setTimeout(resolve, milliseconds);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
let id = "";
|
|
31
|
-
let projectFolderPath = "";
|
|
32
|
-
|
|
33
|
-
describe("model lines", () => {
|
|
34
|
-
beforeAll(async () => {
|
|
35
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
36
|
-
}, beforeAllTimeout);
|
|
37
|
-
|
|
38
|
-
afterAll(async () => {
|
|
39
|
-
console.log("afterAll model lines kill", projectFolderPath);
|
|
40
|
-
await cleanupBackend(projectFolderPath);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
describe("lines visibility", () => {
|
|
44
|
-
test("visibility false", async () => {
|
|
45
|
-
console.log("FROM TEST MODEL LINES");
|
|
46
|
-
const dataStyleStore = useDataStyleStore();
|
|
47
|
-
const viewerStore = useViewerStore();
|
|
48
|
-
const dataStore = useDataStore();
|
|
49
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
50
|
-
const lines_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, line_ids);
|
|
51
|
-
const visibility = false;
|
|
52
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
53
|
-
spy.mockClear();
|
|
54
|
-
const result = dataStyleStore.setModelLinesVisibility(id, line_ids, visibility);
|
|
55
|
-
expect(result).toBeInstanceOf(Promise);
|
|
56
|
-
await result;
|
|
57
|
-
await sleep(SLEEP_MS);
|
|
58
|
-
const schema = model_lines_schemas.visibility;
|
|
59
|
-
const params = { id, block_ids: lines_viewer_ids, visibility };
|
|
60
|
-
expect(spy).toHaveBeenCalledWith(
|
|
61
|
-
{ schema, params },
|
|
62
|
-
{
|
|
63
|
-
response_function: expect.any(Function),
|
|
64
|
-
},
|
|
65
|
-
);
|
|
66
|
-
for (const line_id of line_ids) {
|
|
67
|
-
expect(dataStyleStore.modelLineVisibility(id, line_id)).toBe(visibility);
|
|
68
|
-
}
|
|
69
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
describe("lines color", () => {
|
|
74
|
-
test("color red", async () => {
|
|
75
|
-
const dataStyleStore = useDataStyleStore();
|
|
76
|
-
const viewerStore = useViewerStore();
|
|
77
|
-
const dataStore = useDataStore();
|
|
78
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
79
|
-
const lines_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, line_ids);
|
|
80
|
-
const color = { red: 255, green: 0, blue: 0, alpha: 1 };
|
|
81
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
82
|
-
spy.mockClear();
|
|
83
|
-
const result = dataStyleStore.setModelLinesColor(id, line_ids, color);
|
|
84
|
-
expect(result).toBeInstanceOf(Promise);
|
|
85
|
-
await result;
|
|
86
|
-
await sleep(SLEEP_MS);
|
|
87
|
-
const schema = model_lines_schemas.color;
|
|
88
|
-
const params = { id, block_ids: lines_viewer_ids, color, color_mode: "constant" };
|
|
89
|
-
expect(spy).toHaveBeenCalledWith(
|
|
90
|
-
{ schema, params },
|
|
91
|
-
{
|
|
92
|
-
response_function: expect.any(Function),
|
|
93
|
-
},
|
|
94
|
-
);
|
|
95
|
-
for (const line_id of line_ids) {
|
|
96
|
-
expect(dataStyleStore.modelLineColor(id, line_id)).toStrictEqual(color);
|
|
97
|
-
}
|
|
98
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
describe("lines vertex attribute", () => {
|
|
102
|
-
test("coloring vertex attribute — no request until range+colormap set", async () => {
|
|
103
|
-
const dataStyleStore = useDataStyleStore();
|
|
104
|
-
const viewerStore = useViewerStore();
|
|
105
|
-
const dataStore = useDataStore();
|
|
106
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
107
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
108
|
-
spy.mockClear();
|
|
109
|
-
const result = dataStyleStore.setModelLinesVertexAttributeName(id, line_ids, "points");
|
|
110
|
-
expect(result).toBeInstanceOf(Promise);
|
|
111
|
-
await result;
|
|
112
|
-
await sleep(SLEEP_MS);
|
|
113
|
-
// No request sent yet since minimum/maximum/colorMap are still undefined
|
|
114
|
-
expect(spy).not.toHaveBeenCalled();
|
|
115
|
-
for (const line_id of line_ids) {
|
|
116
|
-
expect(dataStyleStore.modelLinesVertexAttributeName(id, line_id)).toBe("points");
|
|
117
|
-
}
|
|
118
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
test("coloring vertex attribute — request sent when all params defined", async () => {
|
|
122
|
-
const dataStyleStore = useDataStyleStore();
|
|
123
|
-
const viewerStore = useViewerStore();
|
|
124
|
-
const dataStore = useDataStore();
|
|
125
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
126
|
-
const lines_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, line_ids);
|
|
127
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
128
|
-
spy.mockClear();
|
|
129
|
-
await dataStyleStore.setModelLinesVertexAttributeName(id, line_ids, "points");
|
|
130
|
-
await dataStyleStore.setModelLinesVertexAttributeRange(
|
|
131
|
-
id,
|
|
132
|
-
line_ids,
|
|
133
|
-
MINIMUM_RANGE,
|
|
134
|
-
MAXIMUM_RANGE,
|
|
135
|
-
);
|
|
136
|
-
await dataStyleStore.setModelLinesVertexAttributeColorMap(id, line_ids, "budaS");
|
|
137
|
-
await sleep(SLEEP_MS);
|
|
138
|
-
const [lastCall] = spy.mock.calls.slice(-1);
|
|
139
|
-
expect(lastCall[0].schema).toStrictEqual(model_lines_schemas.attribute.vertex.attribute);
|
|
140
|
-
expect(lastCall[0].params).toStrictEqual(
|
|
141
|
-
expect.objectContaining({
|
|
142
|
-
id,
|
|
143
|
-
block_ids: lines_viewer_ids,
|
|
144
|
-
name: "points",
|
|
145
|
-
item: 0,
|
|
146
|
-
minimum: MINIMUM_RANGE,
|
|
147
|
-
maximum: MAXIMUM_RANGE,
|
|
148
|
-
no_data_color: DEFAULT_NO_DATA_COLOR,
|
|
149
|
-
}),
|
|
150
|
-
);
|
|
151
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
152
|
-
});
|
|
153
|
-
|
|
154
|
-
test("stored configs 1 - select attribute points and item 2", async () => {
|
|
155
|
-
const dataStyleStore = useDataStyleStore();
|
|
156
|
-
const dataStore = useDataStore();
|
|
157
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
158
|
-
const [line_id] = line_ids;
|
|
159
|
-
await dataStyleStore.setModelLinesVertexAttributeName(id, line_ids, "points");
|
|
160
|
-
await dataStyleStore.setModelLinesVertexAttributeItem(id, line_ids, 2);
|
|
161
|
-
expect(dataStyleStore.modelLinesVertexAttributeName(id, line_id)).toBe("points");
|
|
162
|
-
expect(dataStyleStore.modelLinesVertexAttributeItem(id, line_id)).toBe(2);
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
test("stored configs 2 - set range and colormap", async () => {
|
|
166
|
-
const dataStyleStore = useDataStyleStore();
|
|
167
|
-
const dataStore = useDataStore();
|
|
168
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
169
|
-
const [line_id] = line_ids;
|
|
170
|
-
await dataStyleStore.setModelLinesVertexAttributeRange(
|
|
171
|
-
id,
|
|
172
|
-
line_ids,
|
|
173
|
-
MINIMUM_RANGE,
|
|
174
|
-
MAXIMUM_RANGE,
|
|
175
|
-
);
|
|
176
|
-
await dataStyleStore.setModelLinesVertexAttributeColorMap(id, line_ids, "budaS");
|
|
177
|
-
await sleep(SLEEP_MS);
|
|
178
|
-
expect(dataStyleStore.modelLinesVertexAttributeRange(id, line_id)).toStrictEqual([
|
|
179
|
-
MINIMUM_RANGE,
|
|
180
|
-
MAXIMUM_RANGE,
|
|
181
|
-
]);
|
|
182
|
-
expect(dataStyleStore.modelLinesVertexAttributeColorMap(id, line_id)).toBe("budaS");
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
test("stored configs 3 - select unique_vertices", async () => {
|
|
186
|
-
const dataStyleStore = useDataStyleStore();
|
|
187
|
-
const dataStore = useDataStore();
|
|
188
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
189
|
-
const [line_id] = line_ids;
|
|
190
|
-
await dataStyleStore.setModelLinesVertexAttributeName(id, line_ids, "unique_vertices");
|
|
191
|
-
await dataStyleStore.setModelLinesVertexAttributeItem(id, line_ids, 0);
|
|
192
|
-
expect(dataStyleStore.modelLinesVertexAttributeName(id, line_id)).toBe("unique_vertices");
|
|
193
|
-
expect(dataStyleStore.modelLinesVertexAttributeItem(id, line_id)).toBe(0);
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
test("stored configs 4 - switch back to points and verify restoration", async () => {
|
|
197
|
-
const dataStyleStore = useDataStyleStore();
|
|
198
|
-
const dataStore = useDataStore();
|
|
199
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
200
|
-
const [line_id] = line_ids;
|
|
201
|
-
await dataStyleStore.setModelLinesVertexAttributeName(id, line_ids, "points");
|
|
202
|
-
expect(dataStyleStore.modelLinesVertexAttributeName(id, line_id)).toBe("points");
|
|
203
|
-
expect(dataStyleStore.modelLinesVertexAttributeItem(id, line_id)).toBe(2);
|
|
204
|
-
expect(dataStyleStore.modelLinesVertexAttributeRange(id, line_id)).toStrictEqual([
|
|
205
|
-
MINIMUM_RANGE,
|
|
206
|
-
MAXIMUM_RANGE,
|
|
207
|
-
]);
|
|
208
|
-
expect(dataStyleStore.modelLinesVertexAttributeColorMap(id, line_id)).toBe("budaS");
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
describe("lines edge attribute", () => {
|
|
213
|
-
test("coloring edge attribute — no request until range+colormap set", async () => {
|
|
214
|
-
const dataStyleStore = useDataStyleStore();
|
|
215
|
-
const viewerStore = useViewerStore();
|
|
216
|
-
const dataStore = useDataStore();
|
|
217
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
218
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
219
|
-
spy.mockClear();
|
|
220
|
-
const result = dataStyleStore.setModelLinesEdgeAttributeName(id, line_ids, "test_attribute");
|
|
221
|
-
expect(result).toBeInstanceOf(Promise);
|
|
222
|
-
await result;
|
|
223
|
-
await sleep(SLEEP_MS);
|
|
224
|
-
// No request sent yet since minimum/maximum/colorMap are still undefined
|
|
225
|
-
expect(spy).not.toHaveBeenCalled();
|
|
226
|
-
for (const line_id of line_ids) {
|
|
227
|
-
expect(dataStyleStore.modelLinesEdgeAttributeName(id, line_id)).toBe("test_attribute");
|
|
228
|
-
}
|
|
229
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
test("coloring edge attribute — request sent when all params defined", async () => {
|
|
233
|
-
const dataStyleStore = useDataStyleStore();
|
|
234
|
-
const viewerStore = useViewerStore();
|
|
235
|
-
const dataStore = useDataStore();
|
|
236
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
237
|
-
const lines_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, line_ids);
|
|
238
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
239
|
-
spy.mockClear();
|
|
240
|
-
await dataStyleStore.setModelLinesEdgeAttributeName(id, line_ids, "test_attribute");
|
|
241
|
-
await dataStyleStore.setModelLinesEdgeAttributeRange(
|
|
242
|
-
id,
|
|
243
|
-
line_ids,
|
|
244
|
-
MINIMUM_RANGE,
|
|
245
|
-
MAXIMUM_RANGE,
|
|
246
|
-
);
|
|
247
|
-
await dataStyleStore.setModelLinesEdgeAttributeColorMap(id, line_ids, "budaS");
|
|
248
|
-
await sleep(SLEEP_MS);
|
|
249
|
-
const [lastCall] = spy.mock.calls.slice(-1);
|
|
250
|
-
expect(lastCall[0].schema).toStrictEqual(model_lines_schemas.attribute.edge.attribute);
|
|
251
|
-
expect(lastCall[0].params).toStrictEqual(
|
|
252
|
-
expect.objectContaining({
|
|
253
|
-
id,
|
|
254
|
-
block_ids: lines_viewer_ids,
|
|
255
|
-
name: "test_attribute",
|
|
256
|
-
item: 0,
|
|
257
|
-
minimum: MINIMUM_RANGE,
|
|
258
|
-
maximum: MAXIMUM_RANGE,
|
|
259
|
-
no_data_color: DEFAULT_NO_DATA_COLOR,
|
|
260
|
-
}),
|
|
261
|
-
);
|
|
262
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
test("stored configs 1 - select attribute edges and item 2", async () => {
|
|
266
|
-
const dataStyleStore = useDataStyleStore();
|
|
267
|
-
const dataStore = useDataStore();
|
|
268
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
269
|
-
const [line_id] = line_ids;
|
|
270
|
-
await dataStyleStore.setModelLinesEdgeAttributeName(id, line_ids, "edges");
|
|
271
|
-
await dataStyleStore.setModelLinesEdgeAttributeItem(id, line_ids, 2);
|
|
272
|
-
expect(dataStyleStore.modelLinesEdgeAttributeName(id, line_id)).toBe("edges");
|
|
273
|
-
expect(dataStyleStore.modelLinesEdgeAttributeItem(id, line_id)).toBe(2);
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
test("stored configs 2 - set range and colormap", async () => {
|
|
277
|
-
const dataStyleStore = useDataStyleStore();
|
|
278
|
-
const dataStore = useDataStore();
|
|
279
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
280
|
-
const [line_id] = line_ids;
|
|
281
|
-
await dataStyleStore.setModelLinesEdgeAttributeRange(
|
|
282
|
-
id,
|
|
283
|
-
line_ids,
|
|
284
|
-
MINIMUM_RANGE,
|
|
285
|
-
MAXIMUM_RANGE,
|
|
286
|
-
);
|
|
287
|
-
await dataStyleStore.setModelLinesEdgeAttributeColorMap(id, line_ids, "budaS");
|
|
288
|
-
await sleep(SLEEP_MS);
|
|
289
|
-
expect(dataStyleStore.modelLinesEdgeAttributeRange(id, line_id)).toStrictEqual([
|
|
290
|
-
MINIMUM_RANGE,
|
|
291
|
-
MAXIMUM_RANGE,
|
|
292
|
-
]);
|
|
293
|
-
expect(dataStyleStore.modelLinesEdgeAttributeColorMap(id, line_id)).toBe("budaS");
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
test("stored configs 3 - select dummy_attribute", async () => {
|
|
297
|
-
const dataStyleStore = useDataStyleStore();
|
|
298
|
-
const dataStore = useDataStore();
|
|
299
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
300
|
-
const [line_id] = line_ids;
|
|
301
|
-
await dataStyleStore.setModelLinesEdgeAttributeName(id, line_ids, "dummy_attribute");
|
|
302
|
-
await dataStyleStore.setModelLinesEdgeAttributeItem(id, line_ids, 0);
|
|
303
|
-
expect(dataStyleStore.modelLinesEdgeAttributeName(id, line_id)).toBe("dummy_attribute");
|
|
304
|
-
expect(dataStyleStore.modelLinesEdgeAttributeItem(id, line_id)).toBe(0);
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
test("stored configs 4 - switch back to edges and verify restoration", async () => {
|
|
308
|
-
const dataStyleStore = useDataStyleStore();
|
|
309
|
-
const dataStore = useDataStore();
|
|
310
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
311
|
-
const [line_id] = line_ids;
|
|
312
|
-
await dataStyleStore.setModelLinesEdgeAttributeName(id, line_ids, "edges");
|
|
313
|
-
expect(dataStyleStore.modelLinesEdgeAttributeName(id, line_id)).toBe("edges");
|
|
314
|
-
expect(dataStyleStore.modelLinesEdgeAttributeItem(id, line_id)).toBe(2);
|
|
315
|
-
expect(dataStyleStore.modelLinesEdgeAttributeRange(id, line_id)).toStrictEqual([
|
|
316
|
-
MINIMUM_RANGE,
|
|
317
|
-
MAXIMUM_RANGE,
|
|
318
|
-
]);
|
|
319
|
-
expect(dataStyleStore.modelLinesEdgeAttributeColorMap(id, line_id)).toBe("budaS");
|
|
320
|
-
});
|
|
321
|
-
});
|
|
322
|
-
|
|
323
|
-
describe("lines style", () => {
|
|
324
|
-
test("lines apply style", async () => {
|
|
325
|
-
const dataStyleStore = useDataStyleStore();
|
|
326
|
-
const viewerStore = useViewerStore();
|
|
327
|
-
const result = dataStyleStore.applyModelLinesStyle(id);
|
|
328
|
-
expect(result).toBeInstanceOf(Promise);
|
|
329
|
-
await result;
|
|
330
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
331
|
-
});
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
describe("line component active coloring", () => {
|
|
335
|
-
test("coloring color", async () => {
|
|
336
|
-
const dataStyleStore = useDataStyleStore();
|
|
337
|
-
const viewerStore = useViewerStore();
|
|
338
|
-
const dataStore = useDataStore();
|
|
339
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
340
|
-
const [line_id] = line_ids;
|
|
341
|
-
const coloringName = "constant";
|
|
342
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, line_id, coloringName);
|
|
343
|
-
expect(result).toBeInstanceOf(Promise);
|
|
344
|
-
await result;
|
|
345
|
-
expect(dataStyleStore.modelLineActiveColoring(id, line_id)).toBe(coloringName);
|
|
346
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
347
|
-
});
|
|
348
|
-
|
|
349
|
-
test("coloring vertex", async () => {
|
|
350
|
-
const dataStyleStore = useDataStyleStore();
|
|
351
|
-
const viewerStore = useViewerStore();
|
|
352
|
-
const dataStore = useDataStore();
|
|
353
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
354
|
-
const [line_id] = line_ids;
|
|
355
|
-
await dataStyleStore.setModelLinesVertexAttributeName(id, [line_id], "points");
|
|
356
|
-
const coloringName = "vertex";
|
|
357
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, line_id, coloringName);
|
|
358
|
-
expect(result).toBeInstanceOf(Promise);
|
|
359
|
-
await result;
|
|
360
|
-
expect(dataStyleStore.modelLineActiveColoring(id, line_id)).toBe(coloringName);
|
|
361
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
362
|
-
});
|
|
363
|
-
|
|
364
|
-
test("coloring edge", async () => {
|
|
365
|
-
const dataStyleStore = useDataStyleStore();
|
|
366
|
-
const viewerStore = useViewerStore();
|
|
367
|
-
const dataStore = useDataStore();
|
|
368
|
-
const line_ids = await dataStore.getLinesGeodeIds(id);
|
|
369
|
-
const [line_id] = line_ids;
|
|
370
|
-
await dataStyleStore.setModelLinesEdgeAttributeName(id, [line_id], "test_attribute");
|
|
371
|
-
const coloringName = "edge";
|
|
372
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, line_id, coloringName);
|
|
373
|
-
expect(result).toBeInstanceOf(Promise);
|
|
374
|
-
await result;
|
|
375
|
-
expect(dataStyleStore.modelLineActiveColoring(id, line_id)).toBe(coloringName);
|
|
376
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
377
|
-
});
|
|
378
|
-
});
|
|
379
|
-
});
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// Third party imports
|
|
2
|
-
import { afterAll, beforeAll, describe, expect, test, vi } from "vitest";
|
|
3
|
-
import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
|
|
4
|
-
|
|
5
|
-
// Local imports
|
|
6
|
-
import { beforeAllTimeout, setupIntegrationTests } from "@ogw_tests/integration/setup";
|
|
7
|
-
import { Status } from "@ogw_front/utils/status";
|
|
8
|
-
import { cleanupBackend } from "@ogw_server/utils/cleanup";
|
|
9
|
-
import { useDataStyleStore } from "@ogw_front/stores/data_style";
|
|
10
|
-
import { useViewerStore } from "@ogw_front/stores/viewer";
|
|
11
|
-
|
|
12
|
-
// Local constants
|
|
13
|
-
const model_points_schemas = viewer_schemas.opengeodeweb_viewer.model.points;
|
|
14
|
-
const file_name = "test.og_brep";
|
|
15
|
-
const geode_object = "BRep";
|
|
16
|
-
const SLEEP_MS = 200;
|
|
17
|
-
|
|
18
|
-
function sleep(milliseconds) {
|
|
19
|
-
// oxlint-disable-next-line promise/avoid-new
|
|
20
|
-
return new Promise((resolve) => {
|
|
21
|
-
setTimeout(resolve, milliseconds);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
let id = "";
|
|
26
|
-
let projectFolderPath = "";
|
|
27
|
-
|
|
28
|
-
describe("model points", () => {
|
|
29
|
-
beforeAll(async () => {
|
|
30
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
31
|
-
}, beforeAllTimeout);
|
|
32
|
-
|
|
33
|
-
afterAll(async () => {
|
|
34
|
-
console.log("afterAll model points kill", projectFolderPath);
|
|
35
|
-
await cleanupBackend(projectFolderPath);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
describe("points visibility", () => {
|
|
39
|
-
test("visibility true", async () => {
|
|
40
|
-
const dataStyleStore = useDataStyleStore();
|
|
41
|
-
const viewerStore = useViewerStore();
|
|
42
|
-
const visibility = true;
|
|
43
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
44
|
-
spy.mockClear();
|
|
45
|
-
const result = dataStyleStore.setModelPointsVisibility(id, visibility);
|
|
46
|
-
expect(result).toBeInstanceOf(Promise);
|
|
47
|
-
await result;
|
|
48
|
-
await sleep(SLEEP_MS);
|
|
49
|
-
const schema = model_points_schemas.visibility;
|
|
50
|
-
const params = { id, visibility };
|
|
51
|
-
expect(spy).toHaveBeenCalledWith(
|
|
52
|
-
{ schema, params },
|
|
53
|
-
{
|
|
54
|
-
response_function: expect.any(Function),
|
|
55
|
-
},
|
|
56
|
-
);
|
|
57
|
-
expect(dataStyleStore.modelPointsVisibility(id)).toBe(visibility);
|
|
58
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
describe("points size", () => {
|
|
63
|
-
test("size 20", async () => {
|
|
64
|
-
const dataStyleStore = useDataStyleStore();
|
|
65
|
-
const viewerStore = useViewerStore();
|
|
66
|
-
const size = 20;
|
|
67
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
68
|
-
spy.mockClear();
|
|
69
|
-
const result = dataStyleStore.setModelPointsSize(id, size);
|
|
70
|
-
expect(result).toBeInstanceOf(Promise);
|
|
71
|
-
await result;
|
|
72
|
-
await sleep(SLEEP_MS);
|
|
73
|
-
const schema = model_points_schemas.size;
|
|
74
|
-
const params = { id, size };
|
|
75
|
-
expect(spy).toHaveBeenCalledWith(
|
|
76
|
-
{ schema, params },
|
|
77
|
-
{
|
|
78
|
-
response_function: expect.any(Function),
|
|
79
|
-
},
|
|
80
|
-
);
|
|
81
|
-
expect(dataStyleStore.modelPointsSize(id)).toBe(size);
|
|
82
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
describe("points style", () => {
|
|
86
|
-
test("points apply style", async () => {
|
|
87
|
-
const dataStyleStore = useDataStyleStore();
|
|
88
|
-
const viewerStore = useViewerStore();
|
|
89
|
-
const result = dataStyleStore.applyModelPointsStyle(id);
|
|
90
|
-
expect(result).toBeInstanceOf(Promise);
|
|
91
|
-
await result;
|
|
92
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
});
|