@geode/opengeodeweb-front 10.6.2 → 10.6.3-rc.1

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.
Files changed (235) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/.oxlintrc.json +3 -22
  3. package/app/assets/geode_objects.js +26 -26
  4. package/app/components/Carousel.vue +62 -66
  5. package/app/components/CrsSelector.vue +48 -52
  6. package/app/components/DeleteDialog.vue +21 -37
  7. package/app/components/DragAndDrop.vue +35 -41
  8. package/app/components/ExtensionSelector.vue +50 -63
  9. package/app/components/FeedBack/ErrorBanner.vue +7 -10
  10. package/app/components/FeedBack/Snackers.vue +12 -14
  11. package/app/components/FetchingData.vue +1 -6
  12. package/app/components/FileSelector.vue +41 -47
  13. package/app/components/FileUploader.vue +62 -79
  14. package/app/components/GlassCard.vue +19 -19
  15. package/app/components/HybridRenderingView.vue +37 -38
  16. package/app/components/InfraConnected.vue +3 -3
  17. package/app/components/Inspector/InspectionButton.vue +27 -31
  18. package/app/components/Inspector/ResultPanel.vue +13 -24
  19. package/app/components/Launcher.vue +13 -13
  20. package/app/components/Loading.vue +63 -69
  21. package/app/components/MissingFilesSelector.vue +53 -73
  22. package/app/components/ObjectSelector.vue +81 -99
  23. package/app/components/PackagesVersions.vue +27 -30
  24. package/app/components/Recaptcha.vue +60 -71
  25. package/app/components/RemoteRenderingView.vue +102 -108
  26. package/app/components/Screenshot.vue +36 -42
  27. package/app/components/SearchBar.vue +5 -5
  28. package/app/components/Step.vue +37 -44
  29. package/app/components/Stepper.vue +29 -35
  30. package/app/components/VeaseViewToolbar.vue +69 -78
  31. package/app/components/ViewToolbar.vue +41 -45
  32. package/app/components/Viewer/BreadCrumb.vue +18 -30
  33. package/app/components/Viewer/ContextMenu.vue +176 -179
  34. package/app/components/Viewer/ContextMenuItem.vue +105 -117
  35. package/app/components/Viewer/EdgedCurve/PointsOptions.vue +6 -9
  36. package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +82 -93
  37. package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +84 -99
  38. package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +83 -98
  39. package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +62 -73
  40. package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +84 -108
  41. package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +82 -105
  42. package/app/components/Viewer/Generic/Model/EdgesOptions.vue +19 -23
  43. package/app/components/Viewer/Generic/Model/PointsOptions.vue +26 -30
  44. package/app/components/Viewer/Grid/2D/CellsOptions.vue +5 -5
  45. package/app/components/Viewer/Grid/2D/EdgesOptions.vue +6 -9
  46. package/app/components/Viewer/Grid/2D/PointsOptions.vue +6 -9
  47. package/app/components/Viewer/Grid/3D/CellsOptions.vue +5 -5
  48. package/app/components/Viewer/Grid/3D/EdgesOptions.vue +6 -9
  49. package/app/components/Viewer/Grid/3D/FacetsOptions.vue +5 -5
  50. package/app/components/Viewer/Grid/3D/PointsOptions.vue +6 -9
  51. package/app/components/Viewer/HybridSolid/EdgesOptions.vue +6 -9
  52. package/app/components/Viewer/HybridSolid/PointsOptions.vue +6 -9
  53. package/app/components/Viewer/HybridSolid/PolygonsOptions.vue +6 -9
  54. package/app/components/Viewer/HybridSolid/PolyhedraOptions.vue +6 -9
  55. package/app/components/Viewer/Options/AttributeColorBar.vue +8 -8
  56. package/app/components/Viewer/Options/AttributeSelector.vue +73 -78
  57. package/app/components/Viewer/Options/ColorMapList.vue +115 -140
  58. package/app/components/Viewer/Options/ColorMapPicker.vue +128 -142
  59. package/app/components/Viewer/Options/ColorPicker.vue +9 -9
  60. package/app/components/Viewer/Options/ColoringTypeSelector.vue +77 -91
  61. package/app/components/Viewer/Options/TextureItem.vue +54 -58
  62. package/app/components/Viewer/Options/TexturesSelector.vue +22 -26
  63. package/app/components/Viewer/Options/VisibilitySwitch.vue +1 -1
  64. package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +61 -68
  65. package/app/components/Viewer/PolygonalSurface/EdgesOptions.vue +6 -9
  66. package/app/components/Viewer/PolygonalSurface/PointsOptions.vue +6 -9
  67. package/app/components/Viewer/PolygonalSurface/SpecificPolygonsOptions.vue +83 -103
  68. package/app/components/Viewer/Solid/EdgesOptions.vue +6 -9
  69. package/app/components/Viewer/Solid/PointsOptions.vue +6 -9
  70. package/app/components/Viewer/Solid/PolygonsOptions.vue +6 -9
  71. package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +82 -105
  72. package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +5 -5
  73. package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +5 -5
  74. package/app/components/Viewer/Tree/ObjectTree.vue +80 -89
  75. package/app/components/Viewer/TreeComponent.vue +43 -49
  76. package/app/components/Viewer/TreeObject.vue +48 -50
  77. package/app/components/Viewer/TriangulatedSurface/EdgesOptions.vue +6 -9
  78. package/app/components/Viewer/TriangulatedSurface/PointsOptions.vue +5 -5
  79. package/app/components/Viewer/TriangulatedSurface/TrianglesOptions.vue +5 -5
  80. package/app/components/Wrapper.vue +8 -8
  81. package/app/components/ZScaling.vue +18 -27
  82. package/app/composables/project_manager.js +57 -67
  83. package/app/composables/run_function_when_microservices_connected.js +8 -8
  84. package/app/plugins/auto_store_register.js +11 -13
  85. package/app/stores/app.js +118 -138
  86. package/app/stores/data.js +52 -68
  87. package/app/stores/data_style.js +36 -36
  88. package/app/stores/feedback.js +17 -20
  89. package/app/stores/geode.js +54 -55
  90. package/app/stores/hybrid_viewer.js +164 -177
  91. package/app/stores/infra.js +45 -55
  92. package/app/stores/lambda.js +26 -26
  93. package/app/stores/menu.js +78 -85
  94. package/app/stores/treeview.js +57 -65
  95. package/app/stores/viewer.js +92 -104
  96. package/app/utils/colormap.js +3 -3
  97. package/app/utils/config.js +16 -22
  98. package/app/utils/default_styles.js +50 -62
  99. package/app/utils/extension.js +44 -44
  100. package/app/utils/file_import_workflow.js +50 -64
  101. package/app/utils/local/app_mode.js +2 -2
  102. package/app/utils/local/cleanup.js +66 -72
  103. package/app/utils/local/microservices.js +61 -71
  104. package/app/utils/local/path.js +16 -19
  105. package/app/utils/local/scripts.js +22 -22
  106. package/app/utils/recaptcha.js +6 -6
  107. package/app/utils/server.js +21 -24
  108. package/app/utils/status.js +2 -2
  109. package/app/utils/treeview.js +4 -4
  110. package/app/utils/validate_schema.js +7 -7
  111. package/commitlint.config.js +2 -2
  112. package/eslint.config.js +4 -4
  113. package/internal/database/database.js +38 -46
  114. package/internal/database/extended_database.js +9 -10
  115. package/internal/database/tables/data.js +2 -3
  116. package/internal/database/tables/model_components.js +1 -1
  117. package/internal/database/tables/model_components_relation.js +1 -1
  118. package/internal/stores/data_style/mesh/cells/cell.js +47 -63
  119. package/internal/stores/data_style/mesh/cells/color.js +11 -16
  120. package/internal/stores/data_style/mesh/cells/common.js +6 -6
  121. package/internal/stores/data_style/mesh/cells/index.js +37 -47
  122. package/internal/stores/data_style/mesh/cells/textures.js +11 -12
  123. package/internal/stores/data_style/mesh/cells/vertex.js +47 -58
  124. package/internal/stores/data_style/mesh/cells/visibility.js +11 -16
  125. package/internal/stores/data_style/mesh/edges/color.js +11 -16
  126. package/internal/stores/data_style/mesh/edges/common.js +6 -6
  127. package/internal/stores/data_style/mesh/edges/edge.js +47 -63
  128. package/internal/stores/data_style/mesh/edges/index.js +38 -52
  129. package/internal/stores/data_style/mesh/edges/vertex.js +47 -58
  130. package/internal/stores/data_style/mesh/edges/visibility.js +11 -16
  131. package/internal/stores/data_style/mesh/edges/width.js +11 -16
  132. package/internal/stores/data_style/mesh/index.js +34 -34
  133. package/internal/stores/data_style/mesh/points/color.js +11 -16
  134. package/internal/stores/data_style/mesh/points/common.js +6 -6
  135. package/internal/stores/data_style/mesh/points/index.js +35 -49
  136. package/internal/stores/data_style/mesh/points/size.js +11 -16
  137. package/internal/stores/data_style/mesh/points/vertex.js +47 -58
  138. package/internal/stores/data_style/mesh/points/visibility.js +11 -16
  139. package/internal/stores/data_style/mesh/polygons/color.js +11 -16
  140. package/internal/stores/data_style/mesh/polygons/common.js +6 -6
  141. package/internal/stores/data_style/mesh/polygons/index.js +36 -45
  142. package/internal/stores/data_style/mesh/polygons/polygon.js +45 -56
  143. package/internal/stores/data_style/mesh/polygons/textures.js +11 -16
  144. package/internal/stores/data_style/mesh/polygons/vertex.js +47 -58
  145. package/internal/stores/data_style/mesh/polygons/visibility.js +11 -16
  146. package/internal/stores/data_style/mesh/polyhedra/color.js +11 -16
  147. package/internal/stores/data_style/mesh/polyhedra/common.js +6 -6
  148. package/internal/stores/data_style/mesh/polyhedra/index.js +29 -42
  149. package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +43 -47
  150. package/internal/stores/data_style/mesh/polyhedra/vertex.js +47 -58
  151. package/internal/stores/data_style/mesh/polyhedra/visibility.js +11 -17
  152. package/internal/stores/data_style/model/blocks/color.js +21 -24
  153. package/internal/stores/data_style/model/blocks/common.js +6 -6
  154. package/internal/stores/data_style/model/blocks/index.js +13 -17
  155. package/internal/stores/data_style/model/blocks/visibility.js +21 -24
  156. package/internal/stores/data_style/model/corners/color.js +21 -24
  157. package/internal/stores/data_style/model/corners/common.js +6 -6
  158. package/internal/stores/data_style/model/corners/index.js +14 -18
  159. package/internal/stores/data_style/model/corners/visibility.js +21 -25
  160. package/internal/stores/data_style/model/edges/common.js +4 -4
  161. package/internal/stores/data_style/model/edges/index.js +7 -7
  162. package/internal/stores/data_style/model/edges/visibility.js +11 -15
  163. package/internal/stores/data_style/model/index.js +84 -100
  164. package/internal/stores/data_style/model/lines/color.js +21 -24
  165. package/internal/stores/data_style/model/lines/common.js +6 -6
  166. package/internal/stores/data_style/model/lines/index.js +13 -17
  167. package/internal/stores/data_style/model/lines/visibility.js +21 -24
  168. package/internal/stores/data_style/model/points/common.js +4 -4
  169. package/internal/stores/data_style/model/points/index.js +9 -9
  170. package/internal/stores/data_style/model/points/size.js +11 -11
  171. package/internal/stores/data_style/model/points/visibility.js +11 -15
  172. package/internal/stores/data_style/model/surfaces/color.js +21 -24
  173. package/internal/stores/data_style/model/surfaces/common.js +6 -6
  174. package/internal/stores/data_style/model/surfaces/index.js +14 -22
  175. package/internal/stores/data_style/model/surfaces/visibility.js +18 -22
  176. package/internal/stores/data_style/state.js +11 -11
  177. package/internal/utils/api_fetch.js +24 -34
  178. package/internal/utils/upload_file.js +19 -24
  179. package/internal/utils/viewer_call.js +23 -36
  180. package/nuxt.config.js +7 -11
  181. package/package.json +3 -3
  182. package/scripts/generate_geode_objects.js +14 -16
  183. package/server/api/app/kill.post.js +4 -4
  184. package/server/api/app/project_folder_path.post.js +11 -11
  185. package/server/api/app/run_back.post.js +12 -12
  186. package/server/api/app/run_viewer.post.js +12 -12
  187. package/server/api/extensions/run.post.js +34 -41
  188. package/server/api/extensions/upload.put.js +48 -62
  189. package/tests/integration/setup.js +43 -53
  190. package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +90 -116
  191. package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +81 -107
  192. package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +38 -41
  193. package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +85 -101
  194. package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +89 -113
  195. package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +81 -105
  196. package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +56 -73
  197. package/tests/integration/stores/data_style/model/corners.nuxt.test.js +59 -76
  198. package/tests/integration/stores/data_style/model/edges.nuxt.test.js +39 -42
  199. package/tests/integration/stores/data_style/model/index.nuxt.test.js +31 -34
  200. package/tests/integration/stores/data_style/model/lines.nuxt.test.js +60 -73
  201. package/tests/integration/stores/data_style/model/points.nuxt.test.js +52 -55
  202. package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +59 -80
  203. package/tests/integration/stores/viewer.nuxt.test.js +35 -38
  204. package/tests/setup_indexeddb.js +2 -2
  205. package/tests/unit/components/CrsSelector.nuxt.test.js +28 -28
  206. package/tests/unit/components/ExtensionSelector.nuxt.test.js +33 -35
  207. package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +23 -23
  208. package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +18 -18
  209. package/tests/unit/components/FileSelector.nuxt.test.js +57 -59
  210. package/tests/unit/components/FileUploader.nuxt.test.js +35 -39
  211. package/tests/unit/components/Inspector/InspectionButton.nuxt.test.js +28 -28
  212. package/tests/unit/components/Inspector/ResultPanel.nuxt.test.js +22 -27
  213. package/tests/unit/components/Launcher.nuxt.test.js +20 -22
  214. package/tests/unit/components/MissingFilesSelector.nuxt.test.js +37 -37
  215. package/tests/unit/components/ObjectSelector.nuxt.test.js +62 -62
  216. package/tests/unit/components/PackagesVersions.nuxt.test.js +16 -16
  217. package/tests/unit/components/Step.nuxt.test.js +18 -19
  218. package/tests/unit/components/Stepper.nuxt.test.js +18 -18
  219. package/tests/unit/composables/api_fetch.nuxt.test.js +34 -36
  220. package/tests/unit/composables/project_manager.nuxt.test.js +93 -112
  221. package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +36 -36
  222. package/tests/unit/composables/upload_file.nuxt.test.js +27 -29
  223. package/tests/unit/plugins/project_load.nuxt.test.js +31 -33
  224. package/tests/unit/stores/app.nuxt.test.js +90 -92
  225. package/tests/unit/stores/feedback.nuxt.test.js +47 -57
  226. package/tests/unit/stores/geode.nuxt.test.js +111 -115
  227. package/tests/unit/stores/infra.nuxt.test.js +148 -148
  228. package/tests/unit/stores/lambda.nuxt.test.js +72 -74
  229. package/tests/unit/stores/treeview.nuxt.test.js +19 -21
  230. package/tests/unit/stores/viewer.nuxt.test.js +109 -122
  231. package/tests/unit/utils/recaptcha.nuxt.test.js +25 -29
  232. package/tests/unit/utils/validate_schema.nuxt.test.js +17 -17
  233. package/tests/utils.js +11 -11
  234. package/tests/vitest.config.js +9 -9
  235. package/vuetify_config.js +2 -2
@@ -1,182 +1,158 @@
1
1
  // Third party imports
2
- import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
2
+ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
3
+ import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
4
4
 
5
5
  // Local imports
6
- import { Status } from "@ogw_front/utils/status"
7
- import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
8
- import { setupIntegrationTests } from "@ogw_tests/integration/setup"
9
- import { useDataStyleStore } from "@ogw_front/stores/data_style"
10
- import { useViewerStore } from "@ogw_front/stores/viewer"
6
+ import { Status } from "@ogw_front/utils/status";
7
+ import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
8
+ import { setupIntegrationTests } from "@ogw_tests/integration/setup";
9
+ import { useDataStyleStore } from "@ogw_front/stores/data_style";
10
+ import { useViewerStore } from "@ogw_front/stores/viewer";
11
11
 
12
12
  // Local constants
13
- const INTERVAL_TIMEOUT = 20_000
14
- const mesh_polygons_schemas = viewer_schemas.opengeodeweb_viewer.mesh.polygons
15
- const file_name = "test.og_psf3d"
16
- const geode_object = "PolygonalSurface3D"
17
- const vertex_attribute = { name: "points" }
18
- const polygon_attribute = { name: "test_attribute" }
13
+ const INTERVAL_TIMEOUT = 20_000;
14
+ const mesh_polygons_schemas = viewer_schemas.opengeodeweb_viewer.mesh.polygons;
15
+ const file_name = "test.og_psf3d";
16
+ const geode_object = "PolygonalSurface3D";
17
+ const vertex_attribute = { name: "points" };
18
+ const polygon_attribute = { name: "test_attribute" };
19
19
 
20
20
  let id = "",
21
- projectFolderPath = ""
21
+ projectFolderPath = "";
22
22
 
23
23
  beforeEach(async () => {
24
- ;({ id, projectFolderPath } = await setupIntegrationTests(
25
- file_name,
26
- geode_object,
27
- ))
28
- }, INTERVAL_TIMEOUT)
24
+ ({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
25
+ }, INTERVAL_TIMEOUT);
29
26
 
30
27
  afterEach(async () => {
31
- console.log("afterEach mesh polygons kill", projectFolderPath)
32
- await cleanupBackend(projectFolderPath)
33
- })
28
+ console.log("afterEach mesh polygons kill", projectFolderPath);
29
+ await cleanupBackend(projectFolderPath);
30
+ });
34
31
 
35
32
  describe("Mesh polygons", () => {
36
33
  describe("Polygons visibility", () => {
37
34
  test("Visibility true", async () => {
38
- const dataStyleStore = useDataStyleStore()
39
- const viewerStore = useViewerStore()
40
- const visibility = true
41
- const spy = vi.spyOn(viewerStore, "request")
42
- const result = dataStyleStore.setMeshPolygonsVisibility(id, visibility)
43
- expect(result).toBeInstanceOf(Promise)
44
- await result
35
+ const dataStyleStore = useDataStyleStore();
36
+ const viewerStore = useViewerStore();
37
+ const visibility = true;
38
+ const spy = vi.spyOn(viewerStore, "request");
39
+ const result = dataStyleStore.setMeshPolygonsVisibility(id, visibility);
40
+ expect(result).toBeInstanceOf(Promise);
41
+ await result;
45
42
  expect(spy).toHaveBeenCalledWith(
46
43
  mesh_polygons_schemas.visibility,
47
44
  { id, visibility },
48
45
  {
49
46
  response_function: expect.any(Function),
50
47
  },
51
- )
52
- expect(dataStyleStore.meshPolygonsVisibility(id)).toBe(visibility)
53
- expect(viewerStore.status).toBe(Status.CONNECTED)
54
- })
55
- })
48
+ );
49
+ expect(dataStyleStore.meshPolygonsVisibility(id)).toBe(visibility);
50
+ expect(viewerStore.status).toBe(Status.CONNECTED);
51
+ });
52
+ });
56
53
 
57
54
  describe("Polygons color", () => {
58
55
  test("Color red", async () => {
59
- const dataStyleStore = useDataStyleStore()
60
- const viewerStore = useViewerStore()
61
- const color = { r: 255, g: 0, b: 0 }
62
- const spy = vi.spyOn(viewerStore, "request")
63
- const result = dataStyleStore.setMeshPolygonsColor(id, color)
64
- expect(result).toBeInstanceOf(Promise)
65
- await result
56
+ const dataStyleStore = useDataStyleStore();
57
+ const viewerStore = useViewerStore();
58
+ const color = { r: 255, g: 0, b: 0 };
59
+ const spy = vi.spyOn(viewerStore, "request");
60
+ const result = dataStyleStore.setMeshPolygonsColor(id, color);
61
+ expect(result).toBeInstanceOf(Promise);
62
+ await result;
66
63
  expect(spy).toHaveBeenCalledWith(
67
64
  mesh_polygons_schemas.color,
68
65
  { id, color },
69
66
  {
70
67
  response_function: expect.any(Function),
71
68
  },
72
- )
73
- expect(dataStyleStore.meshPolygonsColor(id)).toStrictEqual(color)
74
- expect(viewerStore.status).toBe(Status.CONNECTED)
75
- })
76
- })
69
+ );
70
+ expect(dataStyleStore.meshPolygonsColor(id)).toStrictEqual(color);
71
+ expect(viewerStore.status).toBe(Status.CONNECTED);
72
+ });
73
+ });
77
74
 
78
75
  describe("Polygons vertex attribute", () => {
79
76
  test("Coloring vertex attribute", async () => {
80
- const dataStyleStore = useDataStyleStore()
81
- const viewerStore = useViewerStore()
82
- const spy = vi.spyOn(viewerStore, "request")
83
- const result = dataStyleStore.setMeshPolygonsVertexAttributeName(
84
- id,
85
- vertex_attribute.name,
86
- )
87
- expect(result).toBeInstanceOf(Promise)
88
- await result
77
+ const dataStyleStore = useDataStyleStore();
78
+ const viewerStore = useViewerStore();
79
+ const spy = vi.spyOn(viewerStore, "request");
80
+ const result = dataStyleStore.setMeshPolygonsVertexAttributeName(id, vertex_attribute.name);
81
+ expect(result).toBeInstanceOf(Promise);
82
+ await result;
89
83
  expect(spy).toHaveBeenCalledWith(
90
84
  mesh_polygons_schemas.attribute.vertex.name,
91
85
  { id, ...vertex_attribute },
92
86
  {
93
87
  response_function: expect.any(Function),
94
88
  },
95
- )
96
- expect(dataStyleStore.meshPolygonsVertexAttributeName(id)).toBe(
97
- vertex_attribute.name,
98
- )
99
- expect(viewerStore.status).toBe(Status.CONNECTED)
100
- })
101
- })
89
+ );
90
+ expect(dataStyleStore.meshPolygonsVertexAttributeName(id)).toBe(vertex_attribute.name);
91
+ expect(viewerStore.status).toBe(Status.CONNECTED);
92
+ });
93
+ });
102
94
 
103
95
  describe("Polygons polygon attribute", () => {
104
96
  test("Coloring polygon attribute", async () => {
105
- const dataStyleStore = useDataStyleStore()
106
- const viewerStore = useViewerStore()
107
- const spy = vi.spyOn(viewerStore, "request")
108
- const result = dataStyleStore.setMeshPolygonsPolygonAttributeName(
109
- id,
110
- polygon_attribute.name,
111
- )
112
- expect(result).toBeInstanceOf(Promise)
113
- await result
97
+ const dataStyleStore = useDataStyleStore();
98
+ const viewerStore = useViewerStore();
99
+ const spy = vi.spyOn(viewerStore, "request");
100
+ const result = dataStyleStore.setMeshPolygonsPolygonAttributeName(id, polygon_attribute.name);
101
+ expect(result).toBeInstanceOf(Promise);
102
+ await result;
114
103
  expect(spy).toHaveBeenCalledWith(
115
104
  mesh_polygons_schemas.attribute.polygon.name,
116
105
  { id, ...polygon_attribute },
117
106
  {
118
107
  response_function: expect.any(Function),
119
108
  },
120
- )
121
- expect(dataStyleStore.meshPolygonsPolygonAttributeName(id)).toBe(
122
- polygon_attribute.name,
123
- )
124
- expect(viewerStore.status).toBe(Status.CONNECTED)
125
- })
126
- })
109
+ );
110
+ expect(dataStyleStore.meshPolygonsPolygonAttributeName(id)).toBe(polygon_attribute.name);
111
+ expect(viewerStore.status).toBe(Status.CONNECTED);
112
+ });
113
+ });
127
114
 
128
115
  describe("Polygons active coloring", () => {
129
116
  test("test coloring", async () => {
130
- const dataStyleStore = useDataStyleStore()
131
- const viewerStore = useViewerStore()
117
+ const dataStyleStore = useDataStyleStore();
118
+ const viewerStore = useViewerStore();
132
119
  const coloringTypes = [
133
120
  { name: "color" },
134
121
  {
135
122
  name: "vertex",
136
123
  function: () =>
137
- dataStyleStore.setMeshPolygonsVertexAttributeName(
138
- id,
139
- vertex_attribute.name,
140
- ),
124
+ dataStyleStore.setMeshPolygonsVertexAttributeName(id, vertex_attribute.name),
141
125
  },
142
126
  {
143
127
  name: "polygon",
144
128
  function: () =>
145
- dataStyleStore.setMeshPolygonsPolygonAttributeName(
146
- id,
147
- polygon_attribute.name,
148
- ),
129
+ dataStyleStore.setMeshPolygonsPolygonAttributeName(id, polygon_attribute.name),
149
130
  },
150
- ]
131
+ ];
151
132
 
152
133
  async function testColoring(coloringType, expectedColoringType) {
153
134
  if (coloringType.function) {
154
- await coloringType.function()
135
+ await coloringType.function();
155
136
  }
156
- const result = dataStyleStore.setMeshPolygonsActiveColoring(
157
- id,
158
- coloringType.name,
159
- )
160
- expect(result).toBeInstanceOf(Promise)
161
- await result
162
- expect(dataStyleStore.meshPolygonsActiveColoring(id)).toBe(
163
- expectedColoringType,
164
- )
165
- expect(viewerStore.status).toBe(Status.CONNECTED)
137
+ const result = dataStyleStore.setMeshPolygonsActiveColoring(id, coloringType.name);
138
+ expect(result).toBeInstanceOf(Promise);
139
+ await result;
140
+ expect(dataStyleStore.meshPolygonsActiveColoring(id)).toBe(expectedColoringType);
141
+ expect(viewerStore.status).toBe(Status.CONNECTED);
166
142
  }
167
143
 
168
- await testColoring(coloringTypes[0], "color")
169
- await testColoring(coloringTypes[1], "vertex")
170
- await testColoring(coloringTypes[2], "polygon")
171
- })
172
- })
144
+ await testColoring(coloringTypes[0], "color");
145
+ await testColoring(coloringTypes[1], "vertex");
146
+ await testColoring(coloringTypes[2], "polygon");
147
+ });
148
+ });
173
149
 
174
150
  test("Polygons apply default style", async () => {
175
- const dataStyleStore = useDataStyleStore()
176
- const viewerStore = useViewerStore()
177
- const result = dataStyleStore.applyMeshPolygonsStyle(id)
178
- expect(result).toBeInstanceOf(Promise)
179
- await result
180
- expect(viewerStore.status).toBe(Status.CONNECTED)
181
- })
182
- })
151
+ const dataStyleStore = useDataStyleStore();
152
+ const viewerStore = useViewerStore();
153
+ const result = dataStyleStore.applyMeshPolygonsStyle(id);
154
+ expect(result).toBeInstanceOf(Promise);
155
+ await result;
156
+ expect(viewerStore.status).toBe(Status.CONNECTED);
157
+ });
158
+ });
@@ -1,171 +1,147 @@
1
1
  // Third party imports
2
- import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" }
2
+ import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
3
+ import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json" with { type: "json" };
4
4
 
5
5
  // Local imports
6
- import { Status } from "@ogw_front/utils/status"
7
- import { cleanupBackend } from "@ogw_front/utils/local/cleanup"
8
- import { setupIntegrationTests } from "@ogw_tests/integration/setup"
9
- import { useDataStyleStore } from "@ogw_front/stores/data_style"
10
- import { useViewerStore } from "@ogw_front/stores/viewer"
6
+ import { Status } from "@ogw_front/utils/status";
7
+ import { cleanupBackend } from "@ogw_front/utils/local/cleanup";
8
+ import { setupIntegrationTests } from "@ogw_tests/integration/setup";
9
+ import { useDataStyleStore } from "@ogw_front/stores/data_style";
10
+ import { useViewerStore } from "@ogw_front/stores/viewer";
11
11
 
12
12
  // Local constants
13
- const INTERVAL_TIMEOUT = 20_000
14
- const mesh_polyhedra_schemas = viewer_schemas.opengeodeweb_viewer.mesh.polyhedra
15
- const file_name = "test.vtu"
16
- const geode_object = "HybridSolid3D"
17
- const vertex_attribute = { name: "toto_on_vertices" }
18
- const polyhedron_attribute = { name: "toto_on_polyhedra" }
13
+ const INTERVAL_TIMEOUT = 20_000;
14
+ const mesh_polyhedra_schemas = viewer_schemas.opengeodeweb_viewer.mesh.polyhedra;
15
+ const file_name = "test.vtu";
16
+ const geode_object = "HybridSolid3D";
17
+ const vertex_attribute = { name: "toto_on_vertices" };
18
+ const polyhedron_attribute = { name: "toto_on_polyhedra" };
19
19
 
20
20
  let id = "",
21
- projectFolderPath = ""
21
+ projectFolderPath = "";
22
22
 
23
23
  beforeEach(async () => {
24
- ;({ id, projectFolderPath } = await setupIntegrationTests(
25
- file_name,
26
- geode_object,
27
- ))
28
- }, INTERVAL_TIMEOUT)
24
+ ({ id, projectFolderPath } = await setupIntegrationTests(file_name, geode_object));
25
+ }, INTERVAL_TIMEOUT);
29
26
 
30
27
  afterEach(async () => {
31
- console.log("afterEach mesh cells kill", projectFolderPath)
32
- await cleanupBackend(projectFolderPath)
33
- })
28
+ console.log("afterEach mesh cells kill", projectFolderPath);
29
+ await cleanupBackend(projectFolderPath);
30
+ });
34
31
 
35
32
  describe("Mesh polyhedra", () => {
36
33
  describe("Polyhedra", () => {
37
34
  test("Polyhedra visibility", async () => {
38
- const dataStyleStore = useDataStyleStore()
39
- const viewerStore = useViewerStore()
40
- const visibility = true
41
- const spy = vi.spyOn(viewerStore, "request")
42
- const result = dataStyleStore.setMeshPolyhedraVisibility(id, visibility)
43
- expect(result).toBeInstanceOf(Promise)
44
- await result
35
+ const dataStyleStore = useDataStyleStore();
36
+ const viewerStore = useViewerStore();
37
+ const visibility = true;
38
+ const spy = vi.spyOn(viewerStore, "request");
39
+ const result = dataStyleStore.setMeshPolyhedraVisibility(id, visibility);
40
+ expect(result).toBeInstanceOf(Promise);
41
+ await result;
45
42
  expect(spy).toHaveBeenCalledWith(
46
43
  mesh_polyhedra_schemas.visibility,
47
44
  { id, visibility },
48
45
  {
49
46
  response_function: expect.any(Function),
50
47
  },
51
- )
52
- expect(dataStyleStore.meshPolyhedraVisibility(id)).toBe(visibility)
53
- expect(viewerStore.status).toBe(Status.CONNECTED)
54
- })
48
+ );
49
+ expect(dataStyleStore.meshPolyhedraVisibility(id)).toBe(visibility);
50
+ expect(viewerStore.status).toBe(Status.CONNECTED);
51
+ });
55
52
 
56
53
  test("Polyhedra color red", async () => {
57
- const dataStyleStore = useDataStyleStore()
58
- const viewerStore = useViewerStore()
59
- const color = { r: 255, g: 0, b: 0 }
60
- const spy = vi.spyOn(viewerStore, "request")
61
- const result = dataStyleStore.setMeshPolyhedraColor(id, color)
62
- expect(result).toBeInstanceOf(Promise)
63
- await result
54
+ const dataStyleStore = useDataStyleStore();
55
+ const viewerStore = useViewerStore();
56
+ const color = { r: 255, g: 0, b: 0 };
57
+ const spy = vi.spyOn(viewerStore, "request");
58
+ const result = dataStyleStore.setMeshPolyhedraColor(id, color);
59
+ expect(result).toBeInstanceOf(Promise);
60
+ await result;
64
61
  expect(spy).toHaveBeenCalledWith(
65
62
  mesh_polyhedra_schemas.color,
66
63
  { id, color },
67
64
  {
68
65
  response_function: expect.any(Function),
69
66
  },
70
- )
71
- expect(dataStyleStore.meshPolyhedraColor(id)).toStrictEqual(color)
72
- expect(viewerStore.status).toBe(Status.CONNECTED)
73
- })
67
+ );
68
+ expect(dataStyleStore.meshPolyhedraColor(id)).toStrictEqual(color);
69
+ expect(viewerStore.status).toBe(Status.CONNECTED);
70
+ });
74
71
 
75
72
  test("Polyhedra active coloring", async () => {
76
- const dataStyleStore = useDataStyleStore()
77
- const viewerStore = useViewerStore()
73
+ const dataStyleStore = useDataStyleStore();
74
+ const viewerStore = useViewerStore();
78
75
  const coloringTypes = [
79
76
  { name: "color" },
80
77
  {
81
78
  name: "vertex",
82
79
  function: () =>
83
- dataStyleStore.setMeshPolyhedraVertexAttributeName(
84
- id,
85
- vertex_attribute.name,
86
- ),
80
+ dataStyleStore.setMeshPolyhedraVertexAttributeName(id, vertex_attribute.name),
87
81
  },
88
82
  {
89
83
  name: "polyhedron",
90
84
  function: () =>
91
- dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(
92
- id,
93
- polyhedron_attribute.name,
94
- ),
85
+ dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(id, polyhedron_attribute.name),
95
86
  },
96
- ]
87
+ ];
97
88
  async function testColoring(coloringType, expectedColoringType) {
98
89
  if (coloringType.function) {
99
- await coloringType.function()
90
+ await coloringType.function();
100
91
  }
101
- const result = dataStyleStore.setMeshPolyhedraActiveColoring(
102
- id,
103
- coloringType.name,
104
- )
105
- expect(result).toBeInstanceOf(Promise)
106
- await result
107
- expect(dataStyleStore.meshPolyhedraActiveColoring(id)).toBe(
108
- expectedColoringType,
109
- )
110
- expect(viewerStore.status).toBe(Status.CONNECTED)
92
+ const result = dataStyleStore.setMeshPolyhedraActiveColoring(id, coloringType.name);
93
+ expect(result).toBeInstanceOf(Promise);
94
+ await result;
95
+ expect(dataStyleStore.meshPolyhedraActiveColoring(id)).toBe(expectedColoringType);
96
+ expect(viewerStore.status).toBe(Status.CONNECTED);
111
97
  }
112
98
 
113
- await testColoring(coloringTypes[0], "color")
114
- await testColoring(coloringTypes[1], "vertex")
115
- await testColoring(coloringTypes[2], "polyhedron")
116
- })
117
- })
99
+ await testColoring(coloringTypes[0], "color");
100
+ await testColoring(coloringTypes[1], "vertex");
101
+ await testColoring(coloringTypes[2], "polyhedron");
102
+ });
103
+ });
118
104
 
119
105
  test("Polyhedra vertex attribute", async () => {
120
- const dataStyleStore = useDataStyleStore()
121
- const viewerStore = useViewerStore()
106
+ const dataStyleStore = useDataStyleStore();
107
+ const viewerStore = useViewerStore();
122
108
 
123
- const spy = vi.spyOn(viewerStore, "request")
124
- await dataStyleStore.setMeshPolyhedraVertexAttributeName(
125
- id,
126
- vertex_attribute.name,
127
- )
109
+ const spy = vi.spyOn(viewerStore, "request");
110
+ await dataStyleStore.setMeshPolyhedraVertexAttributeName(id, vertex_attribute.name);
128
111
  expect(spy).toHaveBeenCalledWith(
129
112
  mesh_polyhedra_schemas.attribute.vertex.name,
130
113
  { id, ...vertex_attribute },
131
114
  {
132
115
  response_function: expect.any(Function),
133
116
  },
134
- )
135
- expect(dataStyleStore.meshPolyhedraVertexAttributeName(id)).toBe(
136
- vertex_attribute.name,
137
- )
138
- expect(viewerStore.status).toBe(Status.CONNECTED)
139
- })
117
+ );
118
+ expect(dataStyleStore.meshPolyhedraVertexAttributeName(id)).toBe(vertex_attribute.name);
119
+ expect(viewerStore.status).toBe(Status.CONNECTED);
120
+ });
140
121
 
141
122
  test("Polyhedra polyhedron attribute", async () => {
142
- const dataStyleStore = useDataStyleStore()
143
- const viewerStore = useViewerStore()
123
+ const dataStyleStore = useDataStyleStore();
124
+ const viewerStore = useViewerStore();
144
125
 
145
- const spy = vi.spyOn(viewerStore, "request")
146
- await dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(
147
- id,
148
- polyhedron_attribute.name,
149
- )
126
+ const spy = vi.spyOn(viewerStore, "request");
127
+ await dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(id, polyhedron_attribute.name);
150
128
  expect(spy).toHaveBeenCalledWith(
151
129
  mesh_polyhedra_schemas.attribute.polyhedron.name,
152
130
  { id, ...polyhedron_attribute },
153
131
  {
154
132
  response_function: expect.any(Function),
155
133
  },
156
- )
157
- expect(dataStyleStore.meshPolyhedraPolyhedronAttributeName(id)).toBe(
158
- polyhedron_attribute.name,
159
- )
160
- expect(viewerStore.status).toBe(Status.CONNECTED)
161
- })
134
+ );
135
+ expect(dataStyleStore.meshPolyhedraPolyhedronAttributeName(id)).toBe(polyhedron_attribute.name);
136
+ expect(viewerStore.status).toBe(Status.CONNECTED);
137
+ });
162
138
 
163
139
  test("Polyhedra apply default style", async () => {
164
- const dataStyleStore = useDataStyleStore()
165
- const viewerStore = useViewerStore()
166
- const result = dataStyleStore.applyMeshPolyhedraStyle(id)
167
- expect(result).toBeInstanceOf(Promise)
168
- await result
169
- expect(viewerStore.status).toBe(Status.CONNECTED)
170
- })
171
- })
140
+ const dataStyleStore = useDataStyleStore();
141
+ const viewerStore = useViewerStore();
142
+ const result = dataStyleStore.applyMeshPolyhedraStyle(id);
143
+ expect(result).toBeInstanceOf(Promise);
144
+ await result;
145
+ expect(viewerStore.status).toBe(Status.CONNECTED);
146
+ });
147
+ });