@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.
Files changed (499) hide show
  1. package/.build/opengeodeweb_front_schemas.js +175 -0
  2. package/.build/server/utils/app_config.js +57 -0
  3. package/.build/server/utils/cleanup.js +135 -0
  4. package/.build/server/utils/cloud.js +156 -0
  5. package/.build/server/utils/microservices.js +153 -0
  6. package/.build/server/utils/path.js +108 -0
  7. package/.build/server/utils/scripts.js +134 -0
  8. package/.build/server/utils/server.js +44 -0
  9. package/.build/server/utils/server_config.js +51 -0
  10. package/.build/server/utils/stream.js +6 -0
  11. package/.build/server/utils/ws_client.js +100 -0
  12. package/.build/shared/app_mode.js +8 -0
  13. package/.build/shared/scripts.js +49 -0
  14. package/.build/shared/utils/call_raw.js +31 -0
  15. package/.build/shared/utils/call_schema.js +28 -0
  16. package/.build/shared/utils/fetch_raw.js +52 -0
  17. package/.build/shared/utils/fetch_schema.js +32 -0
  18. package/.build/shared/utils/file.js +14 -0
  19. package/.build/shared/utils/parse_boolean.js +23 -0
  20. package/.build/shared/utils/response_handlers/load.js +50 -0
  21. package/.build/shared/utils/types.js +1 -0
  22. package/.build/shared/utils/validate_schema.js +17 -0
  23. package/README.md +8 -0
  24. package/app/assets/{geode_objects.js → geode_objects.ts} +8 -1
  25. package/app/components/ActionButton.vue +28 -12
  26. package/app/components/Basic/Slider.vue +2 -2
  27. package/app/components/Basic/Switch.vue +2 -2
  28. package/app/components/CameraManager/List.vue +11 -11
  29. package/app/components/CameraManager/Saver.vue +8 -4
  30. package/app/components/CameraManager.vue +24 -12
  31. package/app/components/CameraOrientation.vue +31 -17
  32. package/app/components/ClippingPlaneCard.vue +13 -12
  33. package/app/components/ClippingPlanes.vue +31 -21
  34. package/app/components/CrsSelector.vue +26 -18
  35. package/app/components/DeleteDialog.vue +18 -16
  36. package/app/components/DragAndDrop.vue +55 -37
  37. package/app/components/DragAndDropInternal/DragAndDropInline.vue +31 -16
  38. package/app/components/DragAndDropInternal/DragAndDropOverlay.vue +32 -19
  39. package/app/components/ExtensionSelector.vue +34 -18
  40. package/app/components/FeedBack/ErrorBanner.vue +4 -3
  41. package/app/components/FeedBack/Snackers.vue +6 -5
  42. package/app/components/FetchingData.vue +8 -12
  43. package/app/components/FileSelector.vue +27 -17
  44. package/app/components/FileUploader.vue +51 -30
  45. package/app/components/GlassCard.vue +17 -13
  46. package/app/components/HybridRenderingView.vue +25 -12
  47. package/app/components/HybridViewerTooltip.vue +28 -26
  48. package/app/components/InfraConnected.vue +1 -1
  49. package/app/components/Launcher.vue +12 -10
  50. package/app/components/Loading/EcoMessages.vue +24 -13
  51. package/app/components/Loading/Header.vue +6 -7
  52. package/app/components/Loading/Progress.vue +6 -7
  53. package/app/components/Loading.vue +10 -14
  54. package/app/components/MissingFilesSelector.vue +35 -19
  55. package/app/components/ObjectSelector.vue +37 -21
  56. package/app/components/PackagesVersions.vue +16 -8
  57. package/app/components/Recaptcha.vue +17 -23
  58. package/app/components/RemoteRenderingView.vue +21 -15
  59. package/app/components/Ruler.vue +11 -9
  60. package/app/components/Screenshot.vue +25 -19
  61. package/app/components/SearchBar.vue +12 -6
  62. package/app/components/ShrinkFilter.vue +19 -14
  63. package/app/components/Step.vue +32 -12
  64. package/app/components/Stepper.vue +19 -7
  65. package/app/components/ToolPanel.vue +29 -13
  66. package/app/components/ViewToolbar.vue +53 -44
  67. package/app/components/Viewer/ContextMenu/CenterButton.vue +16 -9
  68. package/app/components/Viewer/ContextMenu/CircularItems.vue +13 -10
  69. package/app/components/Viewer/ContextMenu/ContextMenu.vue +40 -32
  70. package/app/components/Viewer/ContextMenu/ContextMenuItem.vue +31 -17
  71. package/app/components/Viewer/ContextMenu/InfoCard.vue +38 -22
  72. package/app/components/Viewer/EdgedCurve/PointsOptions.vue +8 -5
  73. package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +67 -48
  74. package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +74 -50
  75. package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +69 -50
  76. package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +47 -35
  77. package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +91 -51
  78. package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +74 -49
  79. package/app/components/Viewer/Generic/Model/BlocksOptions.vue +115 -53
  80. package/app/components/Viewer/Generic/Model/CornersOptions.vue +75 -37
  81. package/app/components/Viewer/Generic/Model/EdgesOptions.vue +13 -9
  82. package/app/components/Viewer/Generic/Model/LinesOptions.vue +110 -61
  83. package/app/components/Viewer/Generic/Model/ModelStyleCard.vue +32 -21
  84. package/app/components/Viewer/Generic/Model/ModelStyleOptions.vue +9 -5
  85. package/app/components/Viewer/Generic/Model/PointsOptions.vue +19 -13
  86. package/app/components/Viewer/Generic/Model/SurfacesOptions.vue +119 -49
  87. package/app/components/Viewer/Grid/2D/CellsOptions.vue +8 -5
  88. package/app/components/Viewer/Grid/2D/EdgesOptions.vue +8 -5
  89. package/app/components/Viewer/Grid/2D/PointsOptions.vue +8 -5
  90. package/app/components/Viewer/Grid/3D/CellsOptions.vue +8 -5
  91. package/app/components/Viewer/Grid/3D/EdgesOptions.vue +8 -5
  92. package/app/components/Viewer/Grid/3D/FacetsOptions.vue +8 -5
  93. package/app/components/Viewer/Grid/3D/PointsOptions.vue +8 -5
  94. package/app/components/Viewer/ObjectTree/Base/CommonTreeView.vue +120 -76
  95. package/app/components/Viewer/ObjectTree/Base/Controls.vue +25 -10
  96. package/app/components/Viewer/ObjectTree/Base/ItemLabel.vue +42 -17
  97. package/app/components/Viewer/ObjectTree/Base/StickyHeader.vue +22 -9
  98. package/app/components/Viewer/ObjectTree/Base/TreeRow.vue +29 -14
  99. package/app/components/Viewer/ObjectTree/Box.vue +32 -15
  100. package/app/components/Viewer/ObjectTree/Layout.vue +55 -35
  101. package/app/components/Viewer/ObjectTree/Views/GlobalObjects.vue +63 -34
  102. package/app/components/Viewer/ObjectTree/Views/{ModelCollections.vue → ModelTree.vue} +101 -39
  103. package/app/components/Viewer/Options/AttributeColorBar.vue +14 -6
  104. package/app/components/Viewer/Options/AttributeRangeSelector.vue +8 -4
  105. package/app/components/Viewer/Options/AttributeSelector.vue +64 -33
  106. package/app/components/Viewer/Options/ColorMapList.vue +52 -24
  107. package/app/components/Viewer/Options/ColorMapPicker.vue +15 -11
  108. package/app/components/Viewer/Options/ColorPicker.vue +239 -50
  109. package/app/components/Viewer/Options/ColoringTypeSelector.vue +87 -67
  110. package/app/components/Viewer/Options/ColormapQuickPicker.vue +16 -12
  111. package/app/components/Viewer/Options/OptionsSection.vue +7 -5
  112. package/app/components/Viewer/Options/Sliders/Size.vue +3 -3
  113. package/app/components/Viewer/Options/Sliders/Slider.vue +9 -6
  114. package/app/components/Viewer/Options/Sliders/Width.vue +3 -3
  115. package/app/components/Viewer/Options/TextureItem.vue +29 -22
  116. package/app/components/Viewer/Options/TexturesSelector.vue +23 -12
  117. package/app/components/Viewer/Options/VisibilitySwitch.vue +3 -3
  118. package/app/components/Viewer/OverlappingObjectsPicker.vue +27 -12
  119. package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +38 -26
  120. package/app/components/Viewer/Solid/EdgesOptions.vue +8 -5
  121. package/app/components/Viewer/Solid/PointsOptions.vue +8 -5
  122. package/app/components/Viewer/Solid/PolygonsOptions.vue +8 -5
  123. package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +73 -48
  124. package/app/components/Viewer/Surface/EdgesOptions.vue +8 -5
  125. package/app/components/Viewer/Surface/PointsOptions.vue +8 -5
  126. package/app/components/Viewer/Surface/PolygonsOptions.vue +79 -49
  127. package/app/components/Viewer/Surface/Triangulated/TrianglesOptions.vue +8 -5
  128. package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +8 -5
  129. package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +8 -5
  130. package/app/components/Viewer/Ui.vue +19 -14
  131. package/app/components/Wrapper.vue +16 -10
  132. package/app/components/ZScaling.vue +18 -10
  133. package/app/components/csv-preview/CsvPreviewer.vue +72 -50
  134. package/app/components/csv-preview/CsvSettings.vue +30 -50
  135. package/app/components/csv-preview/CsvTable.vue +34 -14
  136. package/app/composables/{batch_style.js → batch_style.ts} +9 -7
  137. package/app/composables/clipping_planes_widget.ts +204 -0
  138. package/app/composables/clipping_planes_widget_entries.ts +189 -0
  139. package/app/composables/copy_to_clipboard.ts +7 -0
  140. package/app/composables/global_attribute_style.ts +303 -0
  141. package/app/composables/hover_highlight.ts +127 -0
  142. package/app/composables/{model_collections.js → model_collections.ts} +28 -9
  143. package/app/composables/{model_components.js → model_components.ts} +28 -9
  144. package/app/composables/{project_manager.js → project_manager.ts} +77 -20
  145. package/app/composables/responsive_middle_truncate.ts +48 -0
  146. package/app/composables/{run_function_when_microservices_connected.js → run_function_when_microservices_connected.ts} +1 -1
  147. package/app/composables/stepper_tree.ts +79 -0
  148. package/app/composables/tree_filter.ts +194 -0
  149. package/app/composables/{tree_keyboard_nav.js → tree_keyboard_nav.ts} +62 -20
  150. package/app/composables/{tree_scroll.js → tree_scroll.ts} +61 -12
  151. package/app/composables/use_adaptive_styles.ts +186 -0
  152. package/app/composables/use_overlapping_picker.ts +263 -0
  153. package/app/composables/use_quick_colormap.ts +55 -0
  154. package/app/composables/virtual_tree.ts +271 -0
  155. package/app/composables/vtk_implicit_plane_widget.d.ts +2 -0
  156. package/app/plugins/{auto_store_register.js → auto_store_register.ts} +3 -5
  157. package/app/plugins/click_outside_ignore_snackbars.client.ts +36 -0
  158. package/app/stores/app.ts +252 -0
  159. package/app/stores/app_helpers/extension.ts +179 -0
  160. package/app/stores/{back.js → back.ts} +54 -28
  161. package/app/stores/camera_manager.ts +80 -0
  162. package/app/stores/{cloud.js → cloud.ts} +18 -13
  163. package/app/stores/data.ts +392 -0
  164. package/app/stores/data_helpers/collections.ts +138 -0
  165. package/app/stores/data_helpers/mesh.ts +169 -0
  166. package/app/stores/data_style.ts +167 -0
  167. package/app/stores/{feedback.js → feedback.ts} +19 -8
  168. package/app/stores/{hybrid_viewer.js → hybrid_viewer.ts} +49 -45
  169. package/app/stores/infra.ts +106 -0
  170. package/app/stores/{menu.js → menu.ts} +67 -36
  171. package/app/stores/treeview.ts +383 -0
  172. package/app/stores/{viewer.js → viewer.ts} +75 -42
  173. package/app/utils/attributes.ts +40 -0
  174. package/app/utils/clipping_planes.ts +222 -0
  175. package/app/utils/color_picker.js +54 -0
  176. package/app/utils/colormap.ts +102 -0
  177. package/app/utils/default_styles/{constants.js → constants.ts} +25 -12
  178. package/app/utils/default_styles/{index.js → index.ts} +4 -3
  179. package/app/utils/default_styles/meshes.ts +264 -0
  180. package/app/utils/default_styles/{models.js → models.ts} +106 -52
  181. package/app/utils/{extension.js → extension.ts} +63 -19
  182. package/app/utils/{import_workflow.js → import_workflow.ts} +39 -22
  183. package/app/utils/{log.js → log.ts} +12 -2
  184. package/app/utils/{name_cleaner.js → name_cleaner.ts} +6 -6
  185. package/app/utils/status.ts +19 -0
  186. package/app/utils/{stores.js → stores.ts} +5 -5
  187. package/app/utils/{string.js → string.ts} +6 -6
  188. package/app/utils/{treeview.js → treeview.ts} +4 -1
  189. package/internal/database/{base_database.js → base_database.ts} +7 -3
  190. package/internal/database/database.ts +102 -0
  191. package/internal/database/{extended_database.js → extended_database.ts} +5 -1
  192. package/internal/database/tables/camera_positions.ts +6 -0
  193. package/internal/database/tables/{data.js → data.ts} +3 -1
  194. package/internal/database/tables/data_style.ts +6 -0
  195. package/internal/database/tables/model_component_datastyle.ts +6 -0
  196. package/internal/database/tables/model_component_type_datastyle.ts +6 -0
  197. package/internal/database/tables/model_components.ts +6 -0
  198. package/internal/database/tables/model_components_relation.ts +6 -0
  199. package/internal/database/tables/table_definition.ts +5 -0
  200. package/internal/stores/data_style/mesh/cells/cell.ts +279 -0
  201. package/internal/stores/data_style/mesh/cells/{color.js → color.ts} +13 -7
  202. package/internal/stores/data_style/mesh/cells/common.ts +50 -0
  203. package/internal/stores/data_style/mesh/cells/index.ts +161 -0
  204. package/internal/stores/data_style/mesh/cells/{textures.js → textures.ts} +14 -8
  205. package/internal/stores/data_style/mesh/cells/vertex.ts +285 -0
  206. package/internal/stores/data_style/mesh/cells/visibility.ts +46 -0
  207. package/internal/stores/data_style/mesh/edges/{color.js → color.ts} +13 -7
  208. package/internal/stores/data_style/mesh/edges/common.ts +41 -0
  209. package/internal/stores/data_style/mesh/edges/edge.ts +279 -0
  210. package/internal/stores/data_style/mesh/edges/index.ts +155 -0
  211. package/internal/stores/data_style/mesh/edges/vertex.ts +285 -0
  212. package/internal/stores/data_style/mesh/edges/visibility.ts +45 -0
  213. package/internal/stores/data_style/mesh/edges/width.ts +42 -0
  214. package/internal/stores/data_style/mesh/{index.js → index.ts} +34 -14
  215. package/internal/stores/data_style/mesh/points/{color.js → color.ts} +13 -7
  216. package/internal/stores/data_style/mesh/points/common.ts +51 -0
  217. package/internal/stores/data_style/mesh/points/index.ts +133 -0
  218. package/internal/stores/data_style/mesh/points/size.ts +43 -0
  219. package/internal/stores/data_style/mesh/points/vertex.ts +285 -0
  220. package/internal/stores/data_style/mesh/points/visibility.ts +49 -0
  221. package/internal/stores/data_style/mesh/polygons/{color.js → color.ts} +13 -7
  222. package/internal/stores/data_style/mesh/polygons/common.ts +50 -0
  223. package/internal/stores/data_style/mesh/polygons/index.ts +167 -0
  224. package/internal/stores/data_style/mesh/polygons/polygon.ts +282 -0
  225. package/internal/stores/data_style/mesh/polygons/{textures.js → textures.ts} +14 -8
  226. package/internal/stores/data_style/mesh/polygons/vertex.ts +288 -0
  227. package/internal/stores/data_style/mesh/polygons/visibility.ts +48 -0
  228. package/internal/stores/data_style/mesh/polyhedra/{color.js → color.ts} +13 -7
  229. package/internal/stores/data_style/mesh/polyhedra/common.ts +41 -0
  230. package/internal/stores/data_style/mesh/polyhedra/index.ts +157 -0
  231. package/internal/stores/data_style/mesh/polyhedra/polyhedron.ts +294 -0
  232. package/internal/stores/data_style/mesh/polyhedra/vertex.ts +288 -0
  233. package/internal/stores/data_style/mesh/polyhedra/visibility.ts +48 -0
  234. package/internal/stores/data_style/model/blocks/{color.js → color.ts} +50 -13
  235. package/internal/stores/data_style/model/blocks/common.ts +67 -0
  236. package/internal/stores/data_style/model/blocks/{index.js → index.ts} +111 -66
  237. package/internal/stores/data_style/model/blocks/polyhedron.ts +363 -0
  238. package/internal/stores/data_style/model/blocks/vertex.ts +349 -0
  239. package/internal/stores/data_style/model/blocks/visibility.ts +37 -0
  240. package/internal/stores/data_style/model/color.ts +348 -0
  241. package/internal/stores/data_style/model/common.ts +262 -0
  242. package/internal/stores/data_style/model/corners/{color.js → color.ts} +49 -10
  243. package/internal/stores/data_style/model/corners/common.ts +71 -0
  244. package/internal/stores/data_style/model/corners/{index.js → index.ts} +86 -47
  245. package/internal/stores/data_style/model/corners/vertex.ts +315 -0
  246. package/internal/stores/data_style/model/corners/visibility.ts +39 -0
  247. package/internal/stores/data_style/model/edges/common.ts +29 -0
  248. package/internal/stores/data_style/model/edges/{index.js → index.ts} +2 -7
  249. package/internal/stores/data_style/model/edges/visibility.ts +55 -0
  250. package/internal/stores/data_style/model/{index.js → index.ts} +24 -11
  251. package/internal/stores/data_style/model/lines/{color.js → color.ts} +47 -10
  252. package/internal/stores/data_style/model/lines/common.ts +63 -0
  253. package/internal/stores/data_style/model/lines/edge.ts +343 -0
  254. package/internal/stores/data_style/model/lines/{index.js → index.ts} +108 -66
  255. package/internal/stores/data_style/model/lines/vertex.ts +344 -0
  256. package/internal/stores/data_style/model/lines/visibility.ts +37 -0
  257. package/internal/stores/data_style/model/points/common.ts +25 -0
  258. package/internal/stores/data_style/model/points/index.ts +35 -0
  259. package/internal/stores/data_style/model/points/size.ts +44 -0
  260. package/internal/stores/data_style/model/points/visibility.ts +46 -0
  261. package/internal/stores/data_style/model/selection.ts +138 -0
  262. package/internal/stores/data_style/model/surfaces/{color.js → color.ts} +47 -10
  263. package/internal/stores/data_style/model/surfaces/common.ts +69 -0
  264. package/internal/stores/data_style/model/surfaces/{index.js → index.ts} +113 -66
  265. package/internal/stores/data_style/model/surfaces/polygon.ts +347 -0
  266. package/internal/stores/data_style/model/surfaces/vertex.ts +351 -0
  267. package/internal/stores/data_style/model/surfaces/visibility.ts +37 -0
  268. package/internal/stores/data_style/model/{visibility.js → visibility.ts} +112 -32
  269. package/internal/stores/data_style/state.ts +281 -0
  270. package/internal/stores/data_style/types.ts +30 -0
  271. package/internal/stores/hybrid_viewer/brightness.ts +124 -0
  272. package/internal/stores/hybrid_viewer/camera.ts +326 -0
  273. package/internal/stores/hybrid_viewer/{camera_animation.js → camera_animation.ts} +30 -12
  274. package/internal/stores/hybrid_viewer/{constants.js → constants.ts} +2 -2
  275. package/internal/stores/hybrid_viewer/core.ts +64 -0
  276. package/internal/stores/hybrid_viewer/{filters.js → filters.ts} +10 -13
  277. package/internal/stores/hybrid_viewer/highlight.ts +183 -0
  278. package/internal/stores/hybrid_viewer/{ruler.js → ruler.ts} +50 -22
  279. package/internal/stores/hybrid_viewer/scene.ts +125 -0
  280. package/internal/stores/hybrid_viewer/viewport.ts +177 -0
  281. package/internal/stores/hybrid_viewer/vtk_types.ts +58 -0
  282. package/internal/utils/api_fetch.ts +133 -0
  283. package/internal/utils/upload_file.ts +115 -0
  284. package/internal/utils/viewer_call.ts +99 -0
  285. package/internal/utils/ws_client.ts +54 -0
  286. package/nuxt.config.ts +168 -0
  287. package/opengeodeweb_front_schemas.json +2 -2
  288. package/package.json +49 -13
  289. package/server/api/cloud/extensions/{run.post.js → run.post.ts} +16 -12
  290. package/server/api/local/app/project_folder_path.post.ts +33 -0
  291. package/server/api/local/app/run_back.post.ts +39 -0
  292. package/server/api/local/app/run_viewer.post.ts +39 -0
  293. package/server/api/local/extensions/{kill.post.js → kill.post.ts} +15 -8
  294. package/server/api/local/extensions/{run.post.js → run.post.ts} +17 -12
  295. package/server/api/local/extensions/upload.put.ts +71 -0
  296. package/server/api/microservice/app/{get_is_app_ready.get.js → get_is_app_ready.get.ts} +5 -5
  297. package/server/api/microservice/app/schemas/get_is_app_ready.json +1 -1
  298. package/server/api/microservice/app/set_app_base_url.post.ts +29 -0
  299. package/server/api/microservice/app/set_back_base_url.post.ts +26 -0
  300. package/server/api/microservice/app/set_is_app_ready.post.ts +29 -0
  301. package/server/api/microservice/app/set_viewer_base_url.post.ts +26 -0
  302. package/server/api/microservice/extensions/{download.post.js → download.post.ts} +13 -6
  303. package/server/api/serverless/run_cloud.post.ts +92 -0
  304. package/server/utils/{app_config.js → app_config.ts} +40 -18
  305. package/server/utils/{cleanup.js → cleanup.ts} +76 -29
  306. package/server/utils/{cloud.js → cloud.ts} +33 -17
  307. package/server/utils/{extension.js → extension.ts} +31 -4
  308. package/server/utils/{microservices.js → microservices.ts} +68 -27
  309. package/server/utils/{path.js → path.ts} +36 -17
  310. package/server/utils/{scripts.js → scripts.ts} +49 -33
  311. package/server/utils/{server.js → server.ts} +13 -6
  312. package/server/utils/server_config.ts +74 -0
  313. package/server/utils/stream.ts +6 -0
  314. package/server/utils/ws_client.ts +165 -0
  315. package/shared/{scripts.js → scripts.ts} +15 -10
  316. package/shared/utils/call_raw.ts +73 -0
  317. package/shared/utils/{call_schema.js → call_schema.ts} +15 -6
  318. package/shared/utils/fetch_raw.ts +125 -0
  319. package/shared/utils/{fetch_schema.js → fetch_schema.ts} +16 -7
  320. package/shared/utils/file.ts +22 -0
  321. package/shared/utils/{parse_boolean.js → parse_boolean.ts} +1 -1
  322. package/shared/utils/response_handlers/load.ts +109 -0
  323. package/shared/utils/types.ts +27 -0
  324. package/shared/utils/{validate_schema.js → validate_schema.ts} +3 -1
  325. package/.github/workflows/config.json +0 -5
  326. package/.github/workflows/deploy.yml +0 -15
  327. package/.github/workflows/manual_release.yml +0 -11
  328. package/.github/workflows/merge_request.yml +0 -9
  329. package/.github/workflows/pr_update.yml +0 -11
  330. package/.github/workflows/prepare_deploy.yml +0 -9
  331. package/.github/workflows/schedule.yml +0 -18
  332. package/.github/workflows/test.yml +0 -14
  333. package/.github/workflows/test_pr.yml +0 -12
  334. package/.oxlintrc.json +0 -150
  335. package/.releaserc +0 -11
  336. package/app/components/Viewer/ObjectTree/Views/ModelComponents.vue +0 -224
  337. package/app/composables/clipping_planes_widget.js +0 -249
  338. package/app/composables/global_attribute_style.js +0 -181
  339. package/app/composables/hover_highlight.js +0 -91
  340. package/app/composables/responsive_middle_truncate.js +0 -34
  341. package/app/composables/stepper_tree.js +0 -56
  342. package/app/composables/tree_filter.js +0 -138
  343. package/app/composables/use_adaptive_styles.js +0 -120
  344. package/app/composables/use_overlapping_picker.js +0 -169
  345. package/app/composables/use_quick_colormap.js +0 -32
  346. package/app/composables/virtual_tree.js +0 -191
  347. package/app/stores/app.js +0 -326
  348. package/app/stores/camera_manager.js +0 -57
  349. package/app/stores/data.js +0 -278
  350. package/app/stores/data_helpers/collections.js +0 -96
  351. package/app/stores/data_helpers/mesh.js +0 -122
  352. package/app/stores/data_style.js +0 -116
  353. package/app/stores/infra.js +0 -95
  354. package/app/stores/treeview.js +0 -290
  355. package/app/utils/attributes.js +0 -23
  356. package/app/utils/clipping_planes.js +0 -110
  357. package/app/utils/colormap.js +0 -64
  358. package/app/utils/default_styles/meshes.js +0 -191
  359. package/app/utils/status.js +0 -10
  360. package/commitlint.config.js +0 -20
  361. package/internal/database/database.js +0 -80
  362. package/internal/database/tables/camera_positions.js +0 -4
  363. package/internal/database/tables/data_style.js +0 -4
  364. package/internal/database/tables/model_component_datastyle.js +0 -4
  365. package/internal/database/tables/model_component_type_datastyle.js +0 -4
  366. package/internal/database/tables/model_components.js +0 -4
  367. package/internal/database/tables/model_components_relation.js +0 -4
  368. package/internal/stores/data_style/mesh/cells/cell.js +0 -196
  369. package/internal/stores/data_style/mesh/cells/common.js +0 -39
  370. package/internal/stores/data_style/mesh/cells/index.js +0 -81
  371. package/internal/stores/data_style/mesh/cells/vertex.js +0 -193
  372. package/internal/stores/data_style/mesh/cells/visibility.js +0 -35
  373. package/internal/stores/data_style/mesh/edges/common.js +0 -32
  374. package/internal/stores/data_style/mesh/edges/edge.js +0 -195
  375. package/internal/stores/data_style/mesh/edges/index.js +0 -81
  376. package/internal/stores/data_style/mesh/edges/vertex.js +0 -196
  377. package/internal/stores/data_style/mesh/edges/visibility.js +0 -34
  378. package/internal/stores/data_style/mesh/edges/width.js +0 -34
  379. package/internal/stores/data_style/mesh/points/common.js +0 -37
  380. package/internal/stores/data_style/mesh/points/index.js +0 -82
  381. package/internal/stores/data_style/mesh/points/size.js +0 -35
  382. package/internal/stores/data_style/mesh/points/vertex.js +0 -193
  383. package/internal/stores/data_style/mesh/points/visibility.js +0 -37
  384. package/internal/stores/data_style/mesh/polygons/common.js +0 -32
  385. package/internal/stores/data_style/mesh/polygons/index.js +0 -107
  386. package/internal/stores/data_style/mesh/polygons/polygon.js +0 -196
  387. package/internal/stores/data_style/mesh/polygons/vertex.js +0 -196
  388. package/internal/stores/data_style/mesh/polygons/visibility.js +0 -38
  389. package/internal/stores/data_style/mesh/polyhedra/common.js +0 -32
  390. package/internal/stores/data_style/mesh/polyhedra/index.js +0 -98
  391. package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +0 -196
  392. package/internal/stores/data_style/mesh/polyhedra/vertex.js +0 -196
  393. package/internal/stores/data_style/mesh/polyhedra/visibility.js +0 -38
  394. package/internal/stores/data_style/model/blocks/common.js +0 -51
  395. package/internal/stores/data_style/model/blocks/polyhedron.js +0 -215
  396. package/internal/stores/data_style/model/blocks/vertex.js +0 -204
  397. package/internal/stores/data_style/model/blocks/visibility.js +0 -20
  398. package/internal/stores/data_style/model/color.js +0 -218
  399. package/internal/stores/data_style/model/common.js +0 -141
  400. package/internal/stores/data_style/model/corners/common.js +0 -51
  401. package/internal/stores/data_style/model/corners/vertex.js +0 -204
  402. package/internal/stores/data_style/model/corners/visibility.js +0 -20
  403. package/internal/stores/data_style/model/edges/common.js +0 -20
  404. package/internal/stores/data_style/model/edges/visibility.js +0 -38
  405. package/internal/stores/data_style/model/lines/common.js +0 -51
  406. package/internal/stores/data_style/model/lines/edge.js +0 -203
  407. package/internal/stores/data_style/model/lines/vertex.js +0 -204
  408. package/internal/stores/data_style/model/lines/visibility.js +0 -20
  409. package/internal/stores/data_style/model/points/common.js +0 -20
  410. package/internal/stores/data_style/model/points/index.js +0 -25
  411. package/internal/stores/data_style/model/points/size.js +0 -36
  412. package/internal/stores/data_style/model/points/visibility.js +0 -36
  413. package/internal/stores/data_style/model/selection.js +0 -89
  414. package/internal/stores/data_style/model/surfaces/common.js +0 -51
  415. package/internal/stores/data_style/model/surfaces/polygon.js +0 -215
  416. package/internal/stores/data_style/model/surfaces/vertex.js +0 -215
  417. package/internal/stores/data_style/model/surfaces/visibility.js +0 -20
  418. package/internal/stores/data_style/state.js +0 -197
  419. package/internal/stores/hybrid_viewer/brightness.js +0 -82
  420. package/internal/stores/hybrid_viewer/camera.js +0 -274
  421. package/internal/stores/hybrid_viewer/highlight.js +0 -170
  422. package/internal/stores/hybrid_viewer/scene.js +0 -136
  423. package/internal/stores/hybrid_viewer/viewport.js +0 -140
  424. package/internal/utils/api_fetch.js +0 -52
  425. package/internal/utils/upload_file.js +0 -57
  426. package/internal/utils/viewer_call.js +0 -49
  427. package/internal/utils/ws_client.js +0 -29
  428. package/nuxt.config.js +0 -106
  429. package/scripts/generate_geode_objects.js +0 -24
  430. package/server/api/local/app/project_folder_path.post.js +0 -29
  431. package/server/api/local/app/run_back.post.js +0 -33
  432. package/server/api/local/app/run_viewer.post.js +0 -33
  433. package/server/api/local/extensions/upload.put.js +0 -72
  434. package/server/api/microservice/app/set_app_base_url.post.js +0 -25
  435. package/server/api/microservice/app/set_back_base_url.post.js +0 -22
  436. package/server/api/microservice/app/set_is_app_ready.post.js +0 -25
  437. package/server/api/microservice/app/set_viewer_base_url.post.js +0 -22
  438. package/server/api/serverless/run_cloud.post.js +0 -44
  439. package/server/utils/server_config.js +0 -58
  440. package/server/utils/ws_client.js +0 -112
  441. package/shared/utils/call_raw.js +0 -46
  442. package/shared/utils/fetch_raw.js +0 -61
  443. package/shared/utils/file.js +0 -16
  444. package/shared/utils/response_handlers/load.js +0 -74
  445. package/tests/integration/data/uploads/test.og_brep +0 -0
  446. package/tests/integration/data/uploads/test.og_edc2d +0 -0
  447. package/tests/integration/data/uploads/test.og_edc3d +0 -0
  448. package/tests/integration/data/uploads/test.og_psf3d +0 -0
  449. package/tests/integration/data/uploads/test.og_rgd2d +0 -0
  450. package/tests/integration/data/uploads/test.og_rgd3d +0 -0
  451. package/tests/integration/data/uploads/test.vtu +0 -22
  452. package/tests/integration/setup.js +0 -92
  453. package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +0 -343
  454. package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +0 -254
  455. package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +0 -62
  456. package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +0 -201
  457. package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +0 -260
  458. package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +0 -267
  459. package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +0 -397
  460. package/tests/integration/stores/data_style/model/corners.nuxt.test.js +0 -264
  461. package/tests/integration/stores/data_style/model/edges.nuxt.test.js +0 -71
  462. package/tests/integration/stores/data_style/model/index.nuxt.test.js +0 -92
  463. package/tests/integration/stores/data_style/model/lines.nuxt.test.js +0 -379
  464. package/tests/integration/stores/data_style/model/points.nuxt.test.js +0 -95
  465. package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +0 -574
  466. package/tests/integration/stores/viewer.nuxt.test.js +0 -69
  467. package/tests/setup_indexeddb.js +0 -4
  468. package/tests/unit/components/CrsSelector.nuxt.test.js +0 -55
  469. package/tests/unit/components/DragAndDrop.nuxt.test.js +0 -89
  470. package/tests/unit/components/ExtensionSelector.nuxt.test.js +0 -65
  471. package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +0 -41
  472. package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +0 -49
  473. package/tests/unit/components/FileSelector.nuxt.test.js +0 -124
  474. package/tests/unit/components/FileUploader.nuxt.test.js +0 -69
  475. package/tests/unit/components/MissingFilesSelector.nuxt.test.js +0 -77
  476. package/tests/unit/components/ObjectSelector.nuxt.test.js +0 -118
  477. package/tests/unit/components/PackagesVersions.nuxt.test.js +0 -42
  478. package/tests/unit/components/Step.nuxt.test.js +0 -51
  479. package/tests/unit/components/Stepper.nuxt.test.js +0 -41
  480. package/tests/unit/components/ToolPanel.nuxt.test.js +0 -66
  481. package/tests/unit/composables/api_fetch.nuxt.test.js +0 -75
  482. package/tests/unit/composables/project_manager.nuxt.test.js +0 -299
  483. package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +0 -57
  484. package/tests/unit/composables/upload_file.nuxt.test.js +0 -45
  485. package/tests/unit/composables/virtual_tree.nuxt.test.js +0 -63
  486. package/tests/unit/plugins/project_load.nuxt.test.js +0 -98
  487. package/tests/unit/stores/app.nuxt.test.js +0 -189
  488. package/tests/unit/stores/back.nuxt.test.js +0 -147
  489. package/tests/unit/stores/cloud.nuxt.test.js +0 -90
  490. package/tests/unit/stores/data.nuxt.test.js +0 -162
  491. package/tests/unit/stores/feedback.nuxt.test.js +0 -90
  492. package/tests/unit/stores/infra.nuxt.test.js +0 -313
  493. package/tests/unit/stores/treeview.nuxt.test.js +0 -63
  494. package/tests/unit/stores/viewer.nuxt.test.js +0 -161
  495. package/tests/unit/utils/validate_schema.nuxt.test.js +0 -38
  496. package/tests/utils.js +0 -20
  497. package/tests/vitest.config.js +0 -67
  498. /package/server/api/local/app/{kill.post.js → kill.post.ts} +0 -0
  499. /package/shared/{app_mode.js → app_mode.ts} +0 -0
@@ -1,193 +0,0 @@
1
- import { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
2
- // Third party imports
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- // Local imports
6
- import { getRGBPointsFromPreset } from "@ogw_front/utils/colormap";
7
- import { useMeshPointsCommonStyle } from "./common";
8
- import { useViewerStore } from "@ogw_front/stores/viewer";
9
-
10
- // Local constants
11
- const meshPointsVertexAttributeSchemas =
12
- viewer_schemas.opengeodeweb_viewer.mesh.points.attribute.vertex;
13
- function isMeshPointsVertexAttributeValid({ name, item, minimum, maximum, colorMap }) {
14
- return (
15
- name !== undefined &&
16
- item !== undefined &&
17
- minimum !== undefined &&
18
- maximum !== undefined &&
19
- colorMap !== undefined
20
- );
21
- }
22
-
23
- // oxlint-disable-next-line max-lines-per-function
24
- function useMeshPointsVertexAttributeStyle() {
25
- const viewerStore = useViewerStore();
26
- const meshPointsCommonStyle = useMeshPointsCommonStyle();
27
- function meshPointsVertexAttribute(id) {
28
- return meshPointsCommonStyle.meshPointsColoring(id).vertex;
29
- }
30
- function meshPointsVertexAttributeStoredConfig(id, name, item) {
31
- const { storedConfigs } = meshPointsVertexAttribute(id);
32
- if (storedConfigs && name in storedConfigs && item in storedConfigs[name]) {
33
- return storedConfigs[name][item];
34
- }
35
- return {
36
- minimum: undefined,
37
- maximum: undefined,
38
- colorMap: undefined,
39
- no_data_color: DEFAULT_NO_DATA_COLOR,
40
- };
41
- }
42
- function mutateMeshPointsVertexStyle(id, values) {
43
- return meshPointsCommonStyle.mutateMeshPointsStyle(id, {
44
- coloring: {
45
- vertex: values,
46
- },
47
- });
48
- }
49
- function setMeshPointsVertexAttributeStoredConfig(id, name, item, config) {
50
- return mutateMeshPointsVertexStyle(id, {
51
- storedConfigs: {
52
- [name]: {
53
- lastItem: item,
54
- [item]: config,
55
- },
56
- },
57
- });
58
- }
59
- function meshPointsVertexAttributeName(id) {
60
- return meshPointsVertexAttribute(id).name;
61
- }
62
- function meshPointsVertexAttributeLastItem(id, name) {
63
- const { storedConfigs } = meshPointsVertexAttribute(id);
64
- if (storedConfigs && name in storedConfigs) {
65
- return storedConfigs[name].lastItem;
66
- }
67
- return 0;
68
- }
69
- function meshPointsVertexAttributeItem(id) {
70
- const { item, name } = meshPointsVertexAttribute(id);
71
- return item ?? meshPointsVertexAttributeLastItem(id, name);
72
- }
73
- function setMeshPointsVertexAttribute(
74
- id,
75
- { name, item, minimum, maximum, colorMap, no_data_color = DEFAULT_NO_DATA_COLOR },
76
- ) {
77
- mutateMeshPointsVertexStyle(id, {
78
- name,
79
- item,
80
- });
81
- setMeshPointsVertexAttributeStoredConfig(id, name, item, {
82
- minimum,
83
- maximum,
84
- colorMap,
85
- no_data_color,
86
- });
87
- const points = getRGBPointsFromPreset(colorMap);
88
- const schema = meshPointsVertexAttributeSchemas.attribute;
89
- const params = {
90
- id,
91
- name,
92
- item,
93
- points,
94
- minimum,
95
- maximum,
96
- no_data_color,
97
- };
98
- return viewerStore.request({
99
- schema,
100
- params,
101
- });
102
- }
103
- function applyVertexAttribute(id) {
104
- const name = meshPointsVertexAttributeName(id);
105
- const item = meshPointsVertexAttributeItem(id);
106
- const storedConfig = meshPointsVertexAttributeStoredConfig(id, name, item);
107
- const attribute = {
108
- name,
109
- item,
110
- minimum: storedConfig.minimum,
111
- maximum: storedConfig.maximum,
112
- colorMap: storedConfig.colorMap,
113
- no_data_color: storedConfig.no_data_color,
114
- };
115
- if (isMeshPointsVertexAttributeValid(attribute)) {
116
- return setMeshPointsVertexAttribute(id, attribute);
117
- }
118
- }
119
- function setMeshPointsVertexAttributeName(id, name) {
120
- const item = meshPointsVertexAttributeLastItem(id, name);
121
- mutateMeshPointsVertexStyle(id, {
122
- name,
123
- item,
124
- });
125
- return applyVertexAttribute(id);
126
- }
127
- function setMeshPointsVertexAttributeItem(id, item) {
128
- mutateMeshPointsVertexStyle(id, {
129
- item,
130
- });
131
- return applyVertexAttribute(id);
132
- }
133
- function meshPointsVertexAttributeRange(id) {
134
- const name = meshPointsVertexAttributeName(id);
135
- const item = meshPointsVertexAttributeItem(id);
136
- const storedConfig = meshPointsVertexAttributeStoredConfig(id, name, item);
137
- return [storedConfig.minimum, storedConfig.maximum];
138
- }
139
- function setMeshPointsVertexAttributeRange(id, minimum, maximum) {
140
- const name = meshPointsVertexAttributeName(id);
141
- const item = meshPointsVertexAttributeItem(id);
142
- setMeshPointsVertexAttributeStoredConfig(id, name, item, {
143
- minimum,
144
- maximum,
145
- });
146
- return applyVertexAttribute(id);
147
- }
148
- function meshPointsVertexAttributeColorMap(id) {
149
- const name = meshPointsVertexAttributeName(id);
150
- const item = meshPointsVertexAttributeItem(id);
151
- const storedConfig = meshPointsVertexAttributeStoredConfig(id, name, item);
152
- return storedConfig.colorMap;
153
- }
154
- function setMeshPointsVertexAttributeColorMap(id, colorMap) {
155
- const name = meshPointsVertexAttributeName(id);
156
- const item = meshPointsVertexAttributeItem(id);
157
- setMeshPointsVertexAttributeStoredConfig(id, name, item, {
158
- colorMap,
159
- });
160
- return applyVertexAttribute(id);
161
- }
162
- function meshPointsVertexAttributeNoDataColor(id) {
163
- const name = meshPointsVertexAttributeName(id);
164
- const item = meshPointsVertexAttributeItem(id);
165
- const storedConfig = meshPointsVertexAttributeStoredConfig(id, name, item);
166
- return storedConfig.no_data_color;
167
- }
168
- async function setMeshPointsVertexAttributeNoDataColor(id, no_data_color) {
169
- const name = meshPointsVertexAttributeName(id);
170
- const item = meshPointsVertexAttributeItem(id);
171
- const storedConfig = meshPointsVertexAttributeStoredConfig(id, name, item);
172
- await setMeshPointsVertexAttributeStoredConfig(id, name, item, {
173
- ...storedConfig,
174
- no_data_color,
175
- });
176
- return applyVertexAttribute(id);
177
- }
178
- return {
179
- meshPointsVertexAttributeName,
180
- meshPointsVertexAttributeItem,
181
- meshPointsVertexAttributeRange,
182
- meshPointsVertexAttributeColorMap,
183
- meshPointsVertexAttributeStoredConfig,
184
- setMeshPointsVertexAttribute,
185
- setMeshPointsVertexAttributeName,
186
- setMeshPointsVertexAttributeItem,
187
- setMeshPointsVertexAttributeRange,
188
- setMeshPointsVertexAttributeColorMap,
189
- meshPointsVertexAttributeNoDataColor,
190
- setMeshPointsVertexAttributeNoDataColor,
191
- };
192
- }
193
- export { isMeshPointsVertexAttributeValid, useMeshPointsVertexAttributeStyle };
@@ -1,37 +0,0 @@
1
- // Third party imports
2
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
3
-
4
- // Local imports
5
- import { useMeshPointsCommonStyle } from "./common";
6
- import { useViewerStore } from "@ogw_front/stores/viewer";
7
-
8
- // Local constants
9
- const schema = viewer_schemas.opengeodeweb_viewer.mesh.points.visibility;
10
-
11
- export function useMeshPointsVisibilityStyle() {
12
- const viewerStore = useViewerStore();
13
- const meshPointsCommonStyle = useMeshPointsCommonStyle();
14
-
15
- function meshPointsVisibility(id) {
16
- return meshPointsCommonStyle.meshPointsStyle(id).visibility;
17
- }
18
- function setMeshPointsVisibility(id, visibility) {
19
- const params = { id, visibility };
20
- return viewerStore.request(
21
- {
22
- schema,
23
- params,
24
- },
25
- {
26
- response_function(response) {
27
- return meshPointsCommonStyle.mutateMeshPointsVisibility(response);
28
- },
29
- },
30
- );
31
- }
32
-
33
- return {
34
- meshPointsVisibility,
35
- setMeshPointsVisibility,
36
- };
37
- }
@@ -1,32 +0,0 @@
1
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
2
-
3
- export function useMeshPolygonsCommonStyle() {
4
- const dataStyleState = useDataStyleState();
5
-
6
- function mutateMeshPolygonsStyle(id, values) {
7
- return dataStyleState.mutateStyle(id, {
8
- polygons: values,
9
- });
10
- }
11
-
12
- function meshPolygonsStyle(id) {
13
- return dataStyleState.getStyle(id).polygons;
14
- }
15
-
16
- function meshPolygonsColoring(id) {
17
- return meshPolygonsStyle(id).coloring;
18
- }
19
-
20
- function mutateMeshPolygonsColoring(id, values) {
21
- return mutateMeshPolygonsStyle(id, {
22
- coloring: values,
23
- });
24
- }
25
-
26
- return {
27
- meshPolygonsStyle,
28
- meshPolygonsColoring,
29
- mutateMeshPolygonsStyle,
30
- mutateMeshPolygonsColoring,
31
- };
32
- }
@@ -1,107 +0,0 @@
1
- // Third party imports
2
-
3
- // Local imports
4
- import {
5
- isMeshPolygonsPolygonAttributeValid,
6
- useMeshPolygonsPolygonAttributeStyle,
7
- } from "./polygon";
8
- import { isMeshPolygonsVertexAttributeValid, useMeshPolygonsVertexAttributeStyle } from "./vertex";
9
- import { useMeshPolygonsColorStyle } from "./color";
10
- import { useMeshPolygonsCommonStyle } from "./common";
11
- import { useMeshPolygonsTexturesStyle } from "./textures";
12
- import { useMeshPolygonsVisibilityStyle } from "./visibility";
13
-
14
- // Local constants
15
-
16
- function useMeshPolygonsColoringStyle() {
17
- const meshPolygonsCommonStyle = useMeshPolygonsCommonStyle();
18
- const meshPolygonsColorStyle = useMeshPolygonsColorStyle();
19
- const meshPolygonsTexturesStyle = useMeshPolygonsTexturesStyle();
20
- const meshPolygonsVertexAttributeStyle = useMeshPolygonsVertexAttributeStyle();
21
- const meshPolygonsPolygonAttributeStyle = useMeshPolygonsPolygonAttributeStyle();
22
-
23
- function meshPolygonsColoring(id) {
24
- return meshPolygonsCommonStyle.meshPolygonsColoring(id);
25
- }
26
-
27
- function meshPolygonsActiveColoring(id) {
28
- return meshPolygonsColoring(id).active;
29
- }
30
-
31
- async function setMeshPolygonsActiveColoring(id, type) {
32
- await meshPolygonsCommonStyle.mutateMeshPolygonsStyle(id, {
33
- coloring: { active: type },
34
- });
35
- if (type === "constant") {
36
- return meshPolygonsColorStyle.setMeshPolygonsColor(
37
- id,
38
- meshPolygonsColorStyle.meshPolygonsColor(id),
39
- );
40
- }
41
- if (type === "textures") {
42
- const textures = meshPolygonsTexturesStyle.meshPolygonsTextures(id);
43
- return meshPolygonsTexturesStyle.setMeshPolygonsTextures(id, textures);
44
- }
45
- if (type === "vertex") {
46
- const name = meshPolygonsVertexAttributeStyle.meshPolygonsVertexAttributeName(id);
47
- const item = meshPolygonsVertexAttributeStyle.meshPolygonsVertexAttributeItem(id);
48
- const [minimum, maximum] =
49
- meshPolygonsVertexAttributeStyle.meshPolygonsVertexAttributeRange(id);
50
- const colorMap = meshPolygonsVertexAttributeStyle.meshPolygonsVertexAttributeColorMap(id);
51
- const vertex_attribute = { name, item, minimum, maximum, colorMap };
52
- if (!isMeshPolygonsVertexAttributeValid(vertex_attribute)) {
53
- return;
54
- }
55
- return meshPolygonsVertexAttributeStyle.setMeshPolygonsVertexAttribute(id, vertex_attribute);
56
- }
57
- if (type === "polygon") {
58
- const name = meshPolygonsPolygonAttributeStyle.meshPolygonsPolygonAttributeName(id);
59
- const item = meshPolygonsPolygonAttributeStyle.meshPolygonsPolygonAttributeItem(id);
60
- const [minimum, maximum] =
61
- meshPolygonsPolygonAttributeStyle.meshPolygonsPolygonAttributeRange(id);
62
- const colorMap = meshPolygonsPolygonAttributeStyle.meshPolygonsPolygonAttributeColorMap(id);
63
- const polygon_attribute = { name, item, minimum, maximum, colorMap };
64
- if (!isMeshPolygonsPolygonAttributeValid(polygon_attribute)) {
65
- return;
66
- }
67
- return meshPolygonsPolygonAttributeStyle.setMeshPolygonsPolygonAttribute(
68
- id,
69
- polygon_attribute,
70
- );
71
- }
72
- throw new Error(`Unknown mesh polygons coloring type: ${type}`);
73
- }
74
-
75
- return {
76
- meshPolygonsColoring,
77
- meshPolygonsActiveColoring,
78
- setMeshPolygonsActiveColoring,
79
- ...meshPolygonsColorStyle,
80
- ...meshPolygonsTexturesStyle,
81
- ...meshPolygonsVertexAttributeStyle,
82
- ...meshPolygonsPolygonAttributeStyle,
83
- };
84
- }
85
-
86
- export function useMeshPolygonsStyle() {
87
- const meshPolygonsCommonStyle = useMeshPolygonsCommonStyle();
88
- const meshPolygonsVisibility = useMeshPolygonsVisibilityStyle();
89
- const coloringStyle = useMeshPolygonsColoringStyle();
90
-
91
- function applyMeshPolygonsStyle(id) {
92
- return Promise.all([
93
- meshPolygonsVisibility.setMeshPolygonsVisibility(
94
- id,
95
- meshPolygonsVisibility.meshPolygonsVisibility(id),
96
- ),
97
- coloringStyle.setMeshPolygonsActiveColoring(id, coloringStyle.meshPolygonsActiveColoring(id)),
98
- ]);
99
- }
100
-
101
- return {
102
- ...meshPolygonsCommonStyle,
103
- ...coloringStyle,
104
- applyMeshPolygonsStyle,
105
- ...meshPolygonsVisibility,
106
- };
107
- }
@@ -1,196 +0,0 @@
1
- import { DEFAULT_NO_DATA_COLOR } from "@ogw_front/utils/default_styles/constants";
2
- // Third party imports
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- // Local imports
6
- import { getRGBPointsFromPreset } from "@ogw_front/utils/colormap";
7
- import { useMeshPolygonsCommonStyle } from "./common";
8
- import { useViewerStore } from "@ogw_front/stores/viewer";
9
-
10
- // Local constants
11
- const meshPolygonsPolygonAttributeSchemas =
12
- viewer_schemas.opengeodeweb_viewer.mesh.polygons.attribute.polygon;
13
- function isMeshPolygonsPolygonAttributeValid({ name, item, minimum, maximum, colorMap }) {
14
- return (
15
- name !== undefined &&
16
- item !== undefined &&
17
- minimum !== undefined &&
18
- maximum !== undefined &&
19
- colorMap !== undefined
20
- );
21
- }
22
-
23
- // oxlint-disable-next-line max-lines-per-function
24
- function useMeshPolygonsPolygonAttributeStyle() {
25
- const viewerStore = useViewerStore();
26
- const meshPolygonsCommonStyle = useMeshPolygonsCommonStyle();
27
- function meshPolygonsColoring(id) {
28
- return meshPolygonsCommonStyle.meshPolygonsStyle(id).coloring;
29
- }
30
- function meshPolygonsPolygonAttribute(id) {
31
- return meshPolygonsColoring(id).polygon;
32
- }
33
- function meshPolygonsPolygonAttributeStoredConfig(id, name, item) {
34
- const { storedConfigs } = meshPolygonsPolygonAttribute(id);
35
- if (storedConfigs && name in storedConfigs && item in storedConfigs[name]) {
36
- return storedConfigs[name][item];
37
- }
38
- return {
39
- minimum: undefined,
40
- maximum: undefined,
41
- colorMap: undefined,
42
- no_data_color: DEFAULT_NO_DATA_COLOR,
43
- };
44
- }
45
- function mutateMeshPolygonsPolygonStyle(id, values) {
46
- return meshPolygonsCommonStyle.mutateMeshPolygonsStyle(id, {
47
- coloring: {
48
- polygon: values,
49
- },
50
- });
51
- }
52
- function setMeshPolygonsPolygonAttributeStoredConfig(id, name, item, config) {
53
- return mutateMeshPolygonsPolygonStyle(id, {
54
- storedConfigs: {
55
- [name]: {
56
- lastItem: item,
57
- [item]: config,
58
- },
59
- },
60
- });
61
- }
62
- function meshPolygonsPolygonAttributeName(id) {
63
- return meshPolygonsPolygonAttribute(id).name;
64
- }
65
- function meshPolygonsPolygonAttributeLastItem(id, name) {
66
- const { storedConfigs } = meshPolygonsPolygonAttribute(id);
67
- if (storedConfigs && name in storedConfigs) {
68
- return storedConfigs[name].lastItem;
69
- }
70
- return 0;
71
- }
72
- function meshPolygonsPolygonAttributeItem(id) {
73
- const { item, name } = meshPolygonsPolygonAttribute(id);
74
- return item ?? meshPolygonsPolygonAttributeLastItem(id, name);
75
- }
76
- function setMeshPolygonsPolygonAttribute(
77
- id,
78
- { name, item, minimum, maximum, colorMap, no_data_color = DEFAULT_NO_DATA_COLOR },
79
- ) {
80
- mutateMeshPolygonsPolygonStyle(id, {
81
- name,
82
- item,
83
- });
84
- setMeshPolygonsPolygonAttributeStoredConfig(id, name, item, {
85
- minimum,
86
- maximum,
87
- colorMap,
88
- no_data_color,
89
- });
90
- const points = getRGBPointsFromPreset(colorMap);
91
- const schema = meshPolygonsPolygonAttributeSchemas.attribute;
92
- const params = {
93
- id,
94
- name,
95
- item,
96
- points,
97
- minimum,
98
- maximum,
99
- no_data_color,
100
- };
101
- return viewerStore.request({
102
- schema,
103
- params,
104
- });
105
- }
106
- function applyPolygonAttribute(id) {
107
- const name = meshPolygonsPolygonAttributeName(id);
108
- const item = meshPolygonsPolygonAttributeItem(id);
109
- const storedConfig = meshPolygonsPolygonAttributeStoredConfig(id, name, item);
110
- const attribute = {
111
- name,
112
- item,
113
- minimum: storedConfig.minimum,
114
- maximum: storedConfig.maximum,
115
- colorMap: storedConfig.colorMap,
116
- no_data_color: storedConfig.no_data_color,
117
- };
118
- if (isMeshPolygonsPolygonAttributeValid(attribute)) {
119
- return setMeshPolygonsPolygonAttribute(id, attribute);
120
- }
121
- }
122
- function setMeshPolygonsPolygonAttributeName(id, name) {
123
- const item = meshPolygonsPolygonAttributeLastItem(id, name);
124
- mutateMeshPolygonsPolygonStyle(id, {
125
- name,
126
- item,
127
- });
128
- return applyPolygonAttribute(id);
129
- }
130
- function setMeshPolygonsPolygonAttributeItem(id, item) {
131
- mutateMeshPolygonsPolygonStyle(id, {
132
- item,
133
- });
134
- return applyPolygonAttribute(id);
135
- }
136
- function meshPolygonsPolygonAttributeRange(id) {
137
- const name = meshPolygonsPolygonAttributeName(id);
138
- const item = meshPolygonsPolygonAttributeItem(id);
139
- const storedConfig = meshPolygonsPolygonAttributeStoredConfig(id, name, item);
140
- return [storedConfig.minimum, storedConfig.maximum];
141
- }
142
- function setMeshPolygonsPolygonAttributeRange(id, minimum, maximum) {
143
- const name = meshPolygonsPolygonAttributeName(id);
144
- const item = meshPolygonsPolygonAttributeItem(id);
145
- setMeshPolygonsPolygonAttributeStoredConfig(id, name, item, {
146
- minimum,
147
- maximum,
148
- });
149
- return applyPolygonAttribute(id);
150
- }
151
- function meshPolygonsPolygonAttributeColorMap(id) {
152
- const name = meshPolygonsPolygonAttributeName(id);
153
- const item = meshPolygonsPolygonAttributeItem(id);
154
- const storedConfig = meshPolygonsPolygonAttributeStoredConfig(id, name, item);
155
- return storedConfig.colorMap;
156
- }
157
- function setMeshPolygonsPolygonAttributeColorMap(id, colorMap) {
158
- const name = meshPolygonsPolygonAttributeName(id);
159
- const item = meshPolygonsPolygonAttributeItem(id);
160
- setMeshPolygonsPolygonAttributeStoredConfig(id, name, item, {
161
- colorMap,
162
- });
163
- return applyPolygonAttribute(id);
164
- }
165
- function meshPolygonsPolygonAttributeNoDataColor(id) {
166
- const name = meshPolygonsPolygonAttributeName(id);
167
- const item = meshPolygonsPolygonAttributeItem(id);
168
- const storedConfig = meshPolygonsPolygonAttributeStoredConfig(id, name, item);
169
- return storedConfig.no_data_color;
170
- }
171
- async function setMeshPolygonsPolygonAttributeNoDataColor(id, no_data_color) {
172
- const name = meshPolygonsPolygonAttributeName(id);
173
- const item = meshPolygonsPolygonAttributeItem(id);
174
- const storedConfig = meshPolygonsPolygonAttributeStoredConfig(id, name, item);
175
- await setMeshPolygonsPolygonAttributeStoredConfig(id, name, item, {
176
- ...storedConfig,
177
- no_data_color,
178
- });
179
- return applyPolygonAttribute(id);
180
- }
181
- return {
182
- meshPolygonsPolygonAttributeName,
183
- meshPolygonsPolygonAttributeItem,
184
- meshPolygonsPolygonAttributeRange,
185
- meshPolygonsPolygonAttributeColorMap,
186
- meshPolygonsPolygonAttributeStoredConfig,
187
- setMeshPolygonsPolygonAttribute,
188
- setMeshPolygonsPolygonAttributeName,
189
- setMeshPolygonsPolygonAttributeItem,
190
- setMeshPolygonsPolygonAttributeRange,
191
- setMeshPolygonsPolygonAttributeColorMap,
192
- meshPolygonsPolygonAttributeNoDataColor,
193
- setMeshPolygonsPolygonAttributeNoDataColor,
194
- };
195
- }
196
- export { isMeshPolygonsPolygonAttributeValid, useMeshPolygonsPolygonAttributeStyle };