@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,397 +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_blocks_schemas = viewer_schemas.opengeodeweb_viewer.model.blocks;
|
|
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 blocks", () => {
|
|
34
|
-
beforeAll(async () => {
|
|
35
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
36
|
-
}, beforeAllTimeout);
|
|
37
|
-
|
|
38
|
-
afterAll(async () => {
|
|
39
|
-
console.log("afterAll model blocks kill", projectFolderPath);
|
|
40
|
-
await cleanupBackend(projectFolderPath);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
describe("blocks visibility", () => {
|
|
44
|
-
test("visibility false", async () => {
|
|
45
|
-
const dataStyleStore = useDataStyleStore();
|
|
46
|
-
const viewerStore = useViewerStore();
|
|
47
|
-
const dataStore = useDataStore();
|
|
48
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
49
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
50
|
-
const visibility = false;
|
|
51
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
52
|
-
spy.mockClear();
|
|
53
|
-
const result = dataStyleStore.setModelBlocksVisibility(id, block_ids, visibility);
|
|
54
|
-
expect(result).toBeInstanceOf(Promise);
|
|
55
|
-
await result;
|
|
56
|
-
await sleep(SLEEP_MS);
|
|
57
|
-
const schema = model_blocks_schemas.visibility;
|
|
58
|
-
const params = { id, block_ids: block_viewer_ids, visibility };
|
|
59
|
-
expect(spy).toHaveBeenCalledWith(
|
|
60
|
-
{ schema, params },
|
|
61
|
-
{
|
|
62
|
-
response_function: expect.any(Function),
|
|
63
|
-
},
|
|
64
|
-
);
|
|
65
|
-
for (const block_id of block_ids) {
|
|
66
|
-
expect(dataStyleStore.modelBlockVisibility(id, block_id)).toBe(visibility);
|
|
67
|
-
}
|
|
68
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
describe("blocks color", () => {
|
|
73
|
-
test("color red", async () => {
|
|
74
|
-
const dataStyleStore = useDataStyleStore();
|
|
75
|
-
const viewerStore = useViewerStore();
|
|
76
|
-
const dataStore = useDataStore();
|
|
77
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
78
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
79
|
-
const color = { red: 255, green: 0, blue: 0, alpha: 1 };
|
|
80
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
81
|
-
await dataStyleStore.setModelBlocksColor(id, block_ids, color);
|
|
82
|
-
await sleep(SLEEP_MS);
|
|
83
|
-
const schema = model_blocks_schemas.color;
|
|
84
|
-
const params = { id, block_ids: block_viewer_ids, color, color_mode: "constant" };
|
|
85
|
-
expect(spy).toHaveBeenCalledWith(
|
|
86
|
-
{ schema, params },
|
|
87
|
-
{
|
|
88
|
-
response_function: expect.any(Function),
|
|
89
|
-
},
|
|
90
|
-
);
|
|
91
|
-
for (const block_id of block_ids) {
|
|
92
|
-
expect(dataStyleStore.modelBlockColor(id, block_id)).toStrictEqual(color);
|
|
93
|
-
}
|
|
94
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
describe("blocks vertex attribute", () => {
|
|
98
|
-
test("coloring vertex attribute — no request until range+colormap set", async () => {
|
|
99
|
-
const dataStyleStore = useDataStyleStore();
|
|
100
|
-
const viewerStore = useViewerStore();
|
|
101
|
-
const dataStore = useDataStore();
|
|
102
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
103
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
104
|
-
spy.mockClear();
|
|
105
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, block_ids, "points");
|
|
106
|
-
await sleep(SLEEP_MS);
|
|
107
|
-
// No request sent yet since minimum/maximum/colorMap are still undefined
|
|
108
|
-
expect(spy).not.toHaveBeenCalled();
|
|
109
|
-
for (const block_id of block_ids) {
|
|
110
|
-
expect(dataStyleStore.modelBlocksVertexAttributeName(id, block_id)).toBe("points");
|
|
111
|
-
}
|
|
112
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
test("coloring vertex attribute — request sent when all params defined", async () => {
|
|
116
|
-
const dataStyleStore = useDataStyleStore();
|
|
117
|
-
const viewerStore = useViewerStore();
|
|
118
|
-
const dataStore = useDataStore();
|
|
119
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
120
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
121
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
122
|
-
spy.mockClear();
|
|
123
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, block_ids, "points");
|
|
124
|
-
await dataStyleStore.setModelBlocksVertexAttributeRange(
|
|
125
|
-
id,
|
|
126
|
-
block_ids,
|
|
127
|
-
MINIMUM_RANGE,
|
|
128
|
-
MAXIMUM_RANGE,
|
|
129
|
-
);
|
|
130
|
-
await dataStyleStore.setModelBlocksVertexAttributeColorMap(id, block_ids, "budaS");
|
|
131
|
-
await sleep(SLEEP_MS);
|
|
132
|
-
const [lastCall] = spy.mock.calls.slice(-1);
|
|
133
|
-
expect(lastCall[0].schema).toStrictEqual(model_blocks_schemas.attribute.vertex.attribute);
|
|
134
|
-
expect(lastCall[0].params).toStrictEqual(
|
|
135
|
-
expect.objectContaining({
|
|
136
|
-
id,
|
|
137
|
-
block_ids: block_viewer_ids,
|
|
138
|
-
name: "points",
|
|
139
|
-
item: 0,
|
|
140
|
-
minimum: MINIMUM_RANGE,
|
|
141
|
-
maximum: MAXIMUM_RANGE,
|
|
142
|
-
no_data_color: DEFAULT_NO_DATA_COLOR,
|
|
143
|
-
}),
|
|
144
|
-
);
|
|
145
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
146
|
-
});
|
|
147
|
-
|
|
148
|
-
test("stored configs 1 - select attribute points and item 2", async () => {
|
|
149
|
-
const dataStyleStore = useDataStyleStore();
|
|
150
|
-
const dataStore = useDataStore();
|
|
151
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
152
|
-
const [block_id] = block_ids;
|
|
153
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, block_ids, "points");
|
|
154
|
-
await dataStyleStore.setModelBlocksVertexAttributeItem(id, block_ids, 2);
|
|
155
|
-
expect(dataStyleStore.modelBlocksVertexAttributeName(id, block_id)).toBe("points");
|
|
156
|
-
expect(dataStyleStore.modelBlocksVertexAttributeItem(id, block_id)).toBe(2);
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
test("stored configs 2 - set range and colormap", async () => {
|
|
160
|
-
const dataStyleStore = useDataStyleStore();
|
|
161
|
-
const dataStore = useDataStore();
|
|
162
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
163
|
-
const [block_id] = block_ids;
|
|
164
|
-
await dataStyleStore.setModelBlocksVertexAttributeRange(
|
|
165
|
-
id,
|
|
166
|
-
block_ids,
|
|
167
|
-
MINIMUM_RANGE,
|
|
168
|
-
MAXIMUM_RANGE,
|
|
169
|
-
);
|
|
170
|
-
await dataStyleStore.setModelBlocksVertexAttributeColorMap(id, block_ids, "budaS");
|
|
171
|
-
await sleep(SLEEP_MS);
|
|
172
|
-
expect(dataStyleStore.modelBlocksVertexAttributeRange(id, block_id)).toStrictEqual([
|
|
173
|
-
MINIMUM_RANGE,
|
|
174
|
-
MAXIMUM_RANGE,
|
|
175
|
-
]);
|
|
176
|
-
expect(dataStyleStore.modelBlocksVertexAttributeColorMap(id, block_id)).toBe("budaS");
|
|
177
|
-
});
|
|
178
|
-
|
|
179
|
-
test("stored configs 3 - select unique_vertices", async () => {
|
|
180
|
-
const dataStyleStore = useDataStyleStore();
|
|
181
|
-
const dataStore = useDataStore();
|
|
182
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
183
|
-
const [block_id] = block_ids;
|
|
184
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, block_ids, "unique_vertices");
|
|
185
|
-
await dataStyleStore.setModelBlocksVertexAttributeItem(id, block_ids, 0);
|
|
186
|
-
expect(dataStyleStore.modelBlocksVertexAttributeName(id, block_id)).toBe("unique_vertices");
|
|
187
|
-
expect(dataStyleStore.modelBlocksVertexAttributeItem(id, block_id)).toBe(0);
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
test("stored configs 4 - switch back to points and verify restoration", async () => {
|
|
191
|
-
const dataStyleStore = useDataStyleStore();
|
|
192
|
-
const dataStore = useDataStore();
|
|
193
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
194
|
-
const [block_id] = block_ids;
|
|
195
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, block_ids, "points");
|
|
196
|
-
expect(dataStyleStore.modelBlocksVertexAttributeName(id, block_id)).toBe("points");
|
|
197
|
-
expect(dataStyleStore.modelBlocksVertexAttributeItem(id, block_id)).toBe(2);
|
|
198
|
-
expect(dataStyleStore.modelBlocksVertexAttributeRange(id, block_id)).toStrictEqual([
|
|
199
|
-
MINIMUM_RANGE,
|
|
200
|
-
MAXIMUM_RANGE,
|
|
201
|
-
]);
|
|
202
|
-
expect(dataStyleStore.modelBlocksVertexAttributeColorMap(id, block_id)).toBe("budaS");
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
describe("blocks polyhedron attribute", () => {
|
|
207
|
-
test("coloring polyhedron attribute — no request until range+colormap set", async () => {
|
|
208
|
-
const dataStyleStore = useDataStyleStore();
|
|
209
|
-
const viewerStore = useViewerStore();
|
|
210
|
-
const dataStore = useDataStore();
|
|
211
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
212
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
213
|
-
spy.mockClear();
|
|
214
|
-
const result = dataStyleStore.setModelBlocksPolyhedronAttributeName(
|
|
215
|
-
id,
|
|
216
|
-
block_ids,
|
|
217
|
-
"test_attribute",
|
|
218
|
-
);
|
|
219
|
-
expect(result).toBeInstanceOf(Promise);
|
|
220
|
-
await result;
|
|
221
|
-
await sleep(SLEEP_MS);
|
|
222
|
-
// No request sent yet since minimum/maximum/colorMap are still undefined
|
|
223
|
-
expect(spy).not.toHaveBeenCalled();
|
|
224
|
-
for (const block_id of block_ids) {
|
|
225
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeName(id, block_id)).toBe(
|
|
226
|
-
"test_attribute",
|
|
227
|
-
);
|
|
228
|
-
}
|
|
229
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
test("coloring polyhedron attribute — request sent when all params defined", async () => {
|
|
233
|
-
const dataStyleStore = useDataStyleStore();
|
|
234
|
-
const viewerStore = useViewerStore();
|
|
235
|
-
const dataStore = useDataStore();
|
|
236
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
237
|
-
const block_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, block_ids);
|
|
238
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
239
|
-
spy.mockClear();
|
|
240
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeName(id, block_ids, "test_attribute");
|
|
241
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeRange(
|
|
242
|
-
id,
|
|
243
|
-
block_ids,
|
|
244
|
-
MINIMUM_RANGE,
|
|
245
|
-
MAXIMUM_RANGE,
|
|
246
|
-
);
|
|
247
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeColorMap(id, block_ids, "budaS");
|
|
248
|
-
await sleep(SLEEP_MS);
|
|
249
|
-
const [lastCall] = spy.mock.calls.slice(-1);
|
|
250
|
-
expect(lastCall[0].schema).toStrictEqual(model_blocks_schemas.attribute.polyhedron.attribute);
|
|
251
|
-
expect(lastCall[0].params).toStrictEqual(
|
|
252
|
-
expect.objectContaining({
|
|
253
|
-
id,
|
|
254
|
-
block_ids: block_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 tetrahedron_vertices and item 2", async () => {
|
|
266
|
-
const dataStyleStore = useDataStyleStore();
|
|
267
|
-
const dataStore = useDataStore();
|
|
268
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
269
|
-
const [block_id] = block_ids;
|
|
270
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeName(
|
|
271
|
-
id,
|
|
272
|
-
block_ids,
|
|
273
|
-
"tetrahedron_vertices",
|
|
274
|
-
);
|
|
275
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeItem(id, block_ids, 2);
|
|
276
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeName(id, block_id)).toBe(
|
|
277
|
-
"tetrahedron_vertices",
|
|
278
|
-
);
|
|
279
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeItem(id, block_id)).toBe(2);
|
|
280
|
-
});
|
|
281
|
-
|
|
282
|
-
test("stored configs 2 - set range and colormap", async () => {
|
|
283
|
-
const dataStyleStore = useDataStyleStore();
|
|
284
|
-
const dataStore = useDataStore();
|
|
285
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
286
|
-
const [block_id] = block_ids;
|
|
287
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeRange(
|
|
288
|
-
id,
|
|
289
|
-
block_ids,
|
|
290
|
-
MINIMUM_RANGE,
|
|
291
|
-
MAXIMUM_RANGE,
|
|
292
|
-
);
|
|
293
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeColorMap(id, block_ids, "budaS");
|
|
294
|
-
await sleep(SLEEP_MS);
|
|
295
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeRange(id, block_id)).toStrictEqual([
|
|
296
|
-
MINIMUM_RANGE,
|
|
297
|
-
MAXIMUM_RANGE,
|
|
298
|
-
]);
|
|
299
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeColorMap(id, block_id)).toBe("budaS");
|
|
300
|
-
});
|
|
301
|
-
|
|
302
|
-
test("stored configs 3 - select tetrahedron_adjacents", async () => {
|
|
303
|
-
const dataStyleStore = useDataStyleStore();
|
|
304
|
-
const dataStore = useDataStore();
|
|
305
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
306
|
-
const [block_id] = block_ids;
|
|
307
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeName(
|
|
308
|
-
id,
|
|
309
|
-
block_ids,
|
|
310
|
-
"tetrahedron_adjacents",
|
|
311
|
-
);
|
|
312
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeItem(id, block_ids, 0);
|
|
313
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeName(id, block_id)).toBe(
|
|
314
|
-
"tetrahedron_adjacents",
|
|
315
|
-
);
|
|
316
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeItem(id, block_id)).toBe(0);
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
test("stored configs 4 - switch back to tetrahedron_vertices and verify restoration", async () => {
|
|
320
|
-
const dataStyleStore = useDataStyleStore();
|
|
321
|
-
const dataStore = useDataStore();
|
|
322
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
323
|
-
const [block_id] = block_ids;
|
|
324
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeName(
|
|
325
|
-
id,
|
|
326
|
-
block_ids,
|
|
327
|
-
"tetrahedron_vertices",
|
|
328
|
-
);
|
|
329
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeName(id, block_id)).toBe(
|
|
330
|
-
"tetrahedron_vertices",
|
|
331
|
-
);
|
|
332
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeItem(id, block_id)).toBe(2);
|
|
333
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeRange(id, block_id)).toStrictEqual([
|
|
334
|
-
MINIMUM_RANGE,
|
|
335
|
-
MAXIMUM_RANGE,
|
|
336
|
-
]);
|
|
337
|
-
expect(dataStyleStore.modelBlocksPolyhedronAttributeColorMap(id, block_id)).toBe("budaS");
|
|
338
|
-
});
|
|
339
|
-
});
|
|
340
|
-
|
|
341
|
-
describe("blocks style", () => {
|
|
342
|
-
test("blocks apply style", async () => {
|
|
343
|
-
const dataStyleStore = useDataStyleStore();
|
|
344
|
-
const viewerStore = useViewerStore();
|
|
345
|
-
const result = dataStyleStore.applyModelBlocksStyle(id);
|
|
346
|
-
expect(result).toBeInstanceOf(Promise);
|
|
347
|
-
await result;
|
|
348
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
349
|
-
});
|
|
350
|
-
});
|
|
351
|
-
|
|
352
|
-
describe("block component active coloring", () => {
|
|
353
|
-
test("coloring color", async () => {
|
|
354
|
-
const dataStyleStore = useDataStyleStore();
|
|
355
|
-
const viewerStore = useViewerStore();
|
|
356
|
-
const dataStore = useDataStore();
|
|
357
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
358
|
-
const [block_id] = block_ids;
|
|
359
|
-
const coloringName = "constant";
|
|
360
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, block_id, coloringName);
|
|
361
|
-
expect(result).toBeInstanceOf(Promise);
|
|
362
|
-
await result;
|
|
363
|
-
expect(dataStyleStore.modelBlockActiveColoring(id, block_id)).toBe(coloringName);
|
|
364
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
365
|
-
});
|
|
366
|
-
|
|
367
|
-
test("coloring vertex", async () => {
|
|
368
|
-
const dataStyleStore = useDataStyleStore();
|
|
369
|
-
const viewerStore = useViewerStore();
|
|
370
|
-
const dataStore = useDataStore();
|
|
371
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
372
|
-
const [block_id] = block_ids;
|
|
373
|
-
await dataStyleStore.setModelBlocksVertexAttributeName(id, [block_id], "points");
|
|
374
|
-
const coloringName = "vertex";
|
|
375
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, block_id, coloringName);
|
|
376
|
-
expect(result).toBeInstanceOf(Promise);
|
|
377
|
-
await result;
|
|
378
|
-
expect(dataStyleStore.modelBlockActiveColoring(id, block_id)).toBe(coloringName);
|
|
379
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
380
|
-
});
|
|
381
|
-
|
|
382
|
-
test("coloring polyhedron", async () => {
|
|
383
|
-
const dataStyleStore = useDataStyleStore();
|
|
384
|
-
const viewerStore = useViewerStore();
|
|
385
|
-
const dataStore = useDataStore();
|
|
386
|
-
const block_ids = await dataStore.getBlocksGeodeIds(id);
|
|
387
|
-
const [block_id] = block_ids;
|
|
388
|
-
await dataStyleStore.setModelBlocksPolyhedronAttributeName(id, [block_id], "test_attribute");
|
|
389
|
-
const coloringName = "polyhedron";
|
|
390
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, block_id, coloringName);
|
|
391
|
-
expect(result).toBeInstanceOf(Promise);
|
|
392
|
-
await result;
|
|
393
|
-
expect(dataStyleStore.modelBlockActiveColoring(id, block_id)).toBe(coloringName);
|
|
394
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
395
|
-
});
|
|
396
|
-
});
|
|
397
|
-
});
|
|
@@ -1,264 +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 { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
|
|
8
|
-
import { Status } from "@ogw_front/utils/status";
|
|
9
|
-
import { cleanupBackend } from "@ogw_server/utils/cleanup";
|
|
10
|
-
import { isModelCornersVertexAttributeValid } from "@ogw_internal/stores/data_style/model/corners/vertex";
|
|
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_corners_schemas = viewer_schemas.opengeodeweb_viewer.model.corners;
|
|
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 corners", () => {
|
|
34
|
-
beforeAll(async () => {
|
|
35
|
-
({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
|
|
36
|
-
}, beforeAllTimeout);
|
|
37
|
-
|
|
38
|
-
afterAll(async () => {
|
|
39
|
-
console.log("afterAll model corners kill", projectFolderPath);
|
|
40
|
-
await cleanupBackend(projectFolderPath);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
describe("corners visibility", () => {
|
|
44
|
-
test("visibility false", async () => {
|
|
45
|
-
const dataStyleStore = useDataStyleStore();
|
|
46
|
-
const viewerStore = useViewerStore();
|
|
47
|
-
const dataStore = useDataStore();
|
|
48
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
49
|
-
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, corner_ids);
|
|
50
|
-
const visibility = false;
|
|
51
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
52
|
-
spy.mockClear();
|
|
53
|
-
const result = dataStyleStore.setModelCornersVisibility(id, corner_ids, visibility);
|
|
54
|
-
expect(result).toBeInstanceOf(Promise);
|
|
55
|
-
await result;
|
|
56
|
-
await sleep(SLEEP_MS);
|
|
57
|
-
const schema = model_corners_schemas.visibility;
|
|
58
|
-
const params = { id, block_ids: corner_viewer_ids, visibility };
|
|
59
|
-
expect(spy).toHaveBeenCalledWith(
|
|
60
|
-
{ schema, params },
|
|
61
|
-
{
|
|
62
|
-
response_function: expect.any(Function),
|
|
63
|
-
},
|
|
64
|
-
);
|
|
65
|
-
for (const corner_id of corner_ids) {
|
|
66
|
-
expect(dataStyleStore.modelCornerVisibility(id, corner_id)).toBe(visibility);
|
|
67
|
-
}
|
|
68
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
describe("corner color", () => {
|
|
73
|
-
test("color red", async () => {
|
|
74
|
-
const dataStyleStore = useDataStyleStore();
|
|
75
|
-
const viewerStore = useViewerStore();
|
|
76
|
-
const dataStore = useDataStore();
|
|
77
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
78
|
-
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, corner_ids);
|
|
79
|
-
const color = { red: 255, green: 0, blue: 0, alpha: 1 };
|
|
80
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
81
|
-
spy.mockClear();
|
|
82
|
-
const result = dataStyleStore.setModelCornersColor(id, corner_ids, color);
|
|
83
|
-
expect(result).toBeInstanceOf(Promise);
|
|
84
|
-
await result;
|
|
85
|
-
await sleep(SLEEP_MS);
|
|
86
|
-
const schema = model_corners_schemas.color;
|
|
87
|
-
const params = { id, block_ids: corner_viewer_ids, color, color_mode: "constant" };
|
|
88
|
-
expect(spy).toHaveBeenCalledWith(
|
|
89
|
-
{ schema, params },
|
|
90
|
-
{
|
|
91
|
-
response_function: expect.any(Function),
|
|
92
|
-
},
|
|
93
|
-
);
|
|
94
|
-
for (const corner_id of corner_ids) {
|
|
95
|
-
expect(dataStyleStore.modelCornerColor(id, corner_id)).toStrictEqual(color);
|
|
96
|
-
}
|
|
97
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
describe("corners vertex attribute", () => {
|
|
102
|
-
test("coloring vertex attribute", () => {
|
|
103
|
-
const attribute = {
|
|
104
|
-
name: undefined,
|
|
105
|
-
item: undefined,
|
|
106
|
-
minimum: undefined,
|
|
107
|
-
maximum: undefined,
|
|
108
|
-
colorMap: undefined,
|
|
109
|
-
};
|
|
110
|
-
expect(isModelCornersVertexAttributeValid(attribute)).toBe(false);
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
test("coloring vertex attribute — no request until range+colormap set", async () => {
|
|
114
|
-
const dataStyleStore = useDataStyleStore();
|
|
115
|
-
const viewerStore = useViewerStore();
|
|
116
|
-
const dataStore = useDataStore();
|
|
117
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
118
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
119
|
-
spy.mockClear();
|
|
120
|
-
const result = dataStyleStore.setModelCornersVertexAttributeName(id, corner_ids, "points");
|
|
121
|
-
expect(result).toBeInstanceOf(Promise);
|
|
122
|
-
await result;
|
|
123
|
-
await sleep(SLEEP_MS);
|
|
124
|
-
// No request sent yet since minimum/maximum/colorMap are still undefined
|
|
125
|
-
expect(spy).not.toHaveBeenCalled();
|
|
126
|
-
for (const corner_id of corner_ids) {
|
|
127
|
-
expect(dataStyleStore.modelCornersVertexAttributeName(id, corner_id)).toBe("points");
|
|
128
|
-
}
|
|
129
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
test("coloring vertex attribute — request sent when all params defined", async () => {
|
|
133
|
-
const dataStyleStore = useDataStyleStore();
|
|
134
|
-
const viewerStore = useViewerStore();
|
|
135
|
-
const dataStore = useDataStore();
|
|
136
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
137
|
-
const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(id, corner_ids);
|
|
138
|
-
const spy = vi.spyOn(viewerStore, "request");
|
|
139
|
-
spy.mockClear();
|
|
140
|
-
await dataStyleStore.setModelCornersVertexAttributeName(id, corner_ids, "points");
|
|
141
|
-
await dataStyleStore.setModelCornersVertexAttributeRange(
|
|
142
|
-
id,
|
|
143
|
-
corner_ids,
|
|
144
|
-
MINIMUM_RANGE,
|
|
145
|
-
MAXIMUM_RANGE,
|
|
146
|
-
);
|
|
147
|
-
await dataStyleStore.setModelCornersVertexAttributeColorMap(id, corner_ids, "budaS");
|
|
148
|
-
await sleep(SLEEP_MS);
|
|
149
|
-
const [lastCall] = spy.mock.calls.slice(-1);
|
|
150
|
-
expect(lastCall[0].schema).toStrictEqual(model_corners_schemas.attribute.vertex.attribute);
|
|
151
|
-
expect(lastCall[0].params).toStrictEqual(
|
|
152
|
-
expect.objectContaining({
|
|
153
|
-
id,
|
|
154
|
-
block_ids: corner_viewer_ids,
|
|
155
|
-
name: "points",
|
|
156
|
-
item: 0,
|
|
157
|
-
minimum: MINIMUM_RANGE,
|
|
158
|
-
maximum: MAXIMUM_RANGE,
|
|
159
|
-
no_data_color: DEFAULT_NO_DATA_COLOR,
|
|
160
|
-
}),
|
|
161
|
-
);
|
|
162
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
test("stored configs 1 - select attribute points and item 2", async () => {
|
|
166
|
-
const dataStyleStore = useDataStyleStore();
|
|
167
|
-
const dataStore = useDataStore();
|
|
168
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
169
|
-
const [corner_id] = corner_ids;
|
|
170
|
-
await dataStyleStore.setModelCornersVertexAttributeName(id, corner_ids, "points");
|
|
171
|
-
await dataStyleStore.setModelCornersVertexAttributeItem(id, corner_ids, 2);
|
|
172
|
-
expect(dataStyleStore.modelCornersVertexAttributeName(id, corner_id)).toBe("points");
|
|
173
|
-
expect(dataStyleStore.modelCornersVertexAttributeItem(id, corner_id)).toBe(2);
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
test("stored configs 2 - set range and colormap", async () => {
|
|
177
|
-
const dataStyleStore = useDataStyleStore();
|
|
178
|
-
const dataStore = useDataStore();
|
|
179
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
180
|
-
const [corner_id] = corner_ids;
|
|
181
|
-
await dataStyleStore.setModelCornersVertexAttributeRange(
|
|
182
|
-
id,
|
|
183
|
-
corner_ids,
|
|
184
|
-
MINIMUM_RANGE,
|
|
185
|
-
MAXIMUM_RANGE,
|
|
186
|
-
);
|
|
187
|
-
await dataStyleStore.setModelCornersVertexAttributeColorMap(id, corner_ids, "budaS");
|
|
188
|
-
await sleep(SLEEP_MS);
|
|
189
|
-
expect(dataStyleStore.modelCornersVertexAttributeRange(id, corner_id)).toStrictEqual([
|
|
190
|
-
MINIMUM_RANGE,
|
|
191
|
-
MAXIMUM_RANGE,
|
|
192
|
-
]);
|
|
193
|
-
expect(dataStyleStore.modelCornersVertexAttributeColorMap(id, corner_id)).toBe("budaS");
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
test("stored configs 3 - select unique_vertices", async () => {
|
|
197
|
-
const dataStyleStore = useDataStyleStore();
|
|
198
|
-
const dataStore = useDataStore();
|
|
199
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
200
|
-
const [corner_id] = corner_ids;
|
|
201
|
-
await dataStyleStore.setModelCornersVertexAttributeName(id, corner_ids, "unique_vertices");
|
|
202
|
-
await dataStyleStore.setModelCornersVertexAttributeItem(id, corner_ids, 0);
|
|
203
|
-
expect(dataStyleStore.modelCornersVertexAttributeName(id, corner_id)).toBe("unique_vertices");
|
|
204
|
-
expect(dataStyleStore.modelCornersVertexAttributeItem(id, corner_id)).toBe(0);
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
test("stored configs 4 - switch back to points and verify restoration", async () => {
|
|
208
|
-
const dataStyleStore = useDataStyleStore();
|
|
209
|
-
const dataStore = useDataStore();
|
|
210
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
211
|
-
const [corner_id] = corner_ids;
|
|
212
|
-
await dataStyleStore.setModelCornersVertexAttributeName(id, corner_ids, "points");
|
|
213
|
-
expect(dataStyleStore.modelCornersVertexAttributeName(id, corner_id)).toBe("points");
|
|
214
|
-
expect(dataStyleStore.modelCornersVertexAttributeItem(id, corner_id)).toBe(2);
|
|
215
|
-
expect(dataStyleStore.modelCornersVertexAttributeRange(id, corner_id)).toStrictEqual([
|
|
216
|
-
MINIMUM_RANGE,
|
|
217
|
-
MAXIMUM_RANGE,
|
|
218
|
-
]);
|
|
219
|
-
expect(dataStyleStore.modelCornersVertexAttributeColorMap(id, corner_id)).toBe("budaS");
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
describe("corner style", () => {
|
|
224
|
-
test("corners apply style", async () => {
|
|
225
|
-
const dataStyleStore = useDataStyleStore();
|
|
226
|
-
const viewerStore = useViewerStore();
|
|
227
|
-
const result = dataStyleStore.applyModelCornersStyle(id);
|
|
228
|
-
expect(result).toBeInstanceOf(Promise);
|
|
229
|
-
await result;
|
|
230
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
231
|
-
});
|
|
232
|
-
});
|
|
233
|
-
|
|
234
|
-
describe("corner component active coloring", () => {
|
|
235
|
-
test("coloring color", async () => {
|
|
236
|
-
const dataStyleStore = useDataStyleStore();
|
|
237
|
-
const viewerStore = useViewerStore();
|
|
238
|
-
const dataStore = useDataStore();
|
|
239
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
240
|
-
const [corner_id] = corner_ids;
|
|
241
|
-
const coloringName = "constant";
|
|
242
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, corner_id, coloringName);
|
|
243
|
-
expect(result).toBeInstanceOf(Promise);
|
|
244
|
-
await result;
|
|
245
|
-
expect(dataStyleStore.modelCornerActiveColoring(id, corner_id)).toBe(coloringName);
|
|
246
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
test("coloring vertex", async () => {
|
|
250
|
-
const dataStyleStore = useDataStyleStore();
|
|
251
|
-
const viewerStore = useViewerStore();
|
|
252
|
-
const dataStore = useDataStore();
|
|
253
|
-
const corner_ids = await dataStore.getCornersGeodeIds(id);
|
|
254
|
-
const [corner_id] = corner_ids;
|
|
255
|
-
await dataStyleStore.setModelCornersVertexAttributeName(id, [corner_id], "points");
|
|
256
|
-
const coloringName = "vertex";
|
|
257
|
-
const result = dataStyleStore.setModelComponentActiveColoring(id, corner_id, coloringName);
|
|
258
|
-
expect(result).toBeInstanceOf(Promise);
|
|
259
|
-
await result;
|
|
260
|
-
expect(dataStyleStore.modelCornerActiveColoring(id, corner_id)).toBe(coloringName);
|
|
261
|
-
expect(viewerStore.status).toBe(Status.CONNECTED);
|
|
262
|
-
});
|
|
263
|
-
});
|
|
264
|
-
});
|