@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,20 +0,0 @@
1
- import { useModelBlocksCommonStyle } from "./common";
2
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- const schema = viewer_schemas.opengeodeweb_viewer.model.blocks.visibility;
6
-
7
- export function useModelBlocksVisibility() {
8
- const modelCommonStyle = useModelCommonStyle();
9
- const modelBlocksCommonStyle = useModelBlocksCommonStyle();
10
-
11
- function modelBlockVisibility(id, block_id) {
12
- return modelBlocksCommonStyle.modelBlockStyle(id, block_id).visibility;
13
- }
14
-
15
- function setModelBlocksVisibility(modelId, blocks_ids, visibility) {
16
- return modelCommonStyle.setModelTypeVisibility(modelId, blocks_ids, visibility, schema);
17
- }
18
-
19
- return { setModelBlocksVisibility, modelBlockVisibility };
20
- }
@@ -1,218 +0,0 @@
1
- import { dispatchToComponentTypes } from "./visibility";
2
- import { useDataStore } from "@ogw_front/stores/data";
3
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
4
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
5
-
6
- function useModelColorStyle(componentStyleFunctions) {
7
- const dataStore = useDataStore();
8
- const dataStyleState = useDataStyleState();
9
- const modelCommonStyle = useModelCommonStyle();
10
- const { Surface, Line, Block, Corner } = componentStyleFunctions;
11
- const ATTRIBUTE_FUNCTIONS = {
12
- Surface: {
13
- vertex: {
14
- getName: Surface.modelSurfacesVertexAttributeName,
15
- setName: Surface.setModelSurfacesVertexAttributeName,
16
- getRange: Surface.modelSurfacesVertexAttributeRange,
17
- setRange: Surface.setModelSurfacesVertexAttributeRange,
18
- getColorMap: Surface.modelSurfacesVertexAttributeColorMap,
19
- setColorMap: Surface.setModelSurfacesVertexAttributeColorMap,
20
- },
21
- polygon: {
22
- getName: Surface.modelSurfacesPolygonAttributeName,
23
- setName: Surface.setModelSurfacesPolygonAttributeName,
24
- getRange: Surface.modelSurfacesPolygonAttributeRange,
25
- setRange: Surface.setModelSurfacesPolygonAttributeRange,
26
- getColorMap: Surface.modelSurfacesPolygonAttributeColorMap,
27
- setColorMap: Surface.setModelSurfacesPolygonAttributeColorMap,
28
- },
29
- },
30
- Line: {
31
- vertex: {
32
- getName: Line.modelLinesVertexAttributeName,
33
- setName: Line.setModelLinesVertexAttributeName,
34
- getRange: Line.modelLinesVertexAttributeRange,
35
- setRange: Line.setModelLinesVertexAttributeRange,
36
- getColorMap: Line.modelLinesVertexAttributeColorMap,
37
- setColorMap: Line.setModelLinesVertexAttributeColorMap,
38
- },
39
- edge: {
40
- getName: Line.modelLinesEdgeAttributeName,
41
- setName: Line.setModelLinesEdgeAttributeName,
42
- getRange: Line.modelLinesEdgeAttributeRange,
43
- setRange: Line.setModelLinesEdgeAttributeRange,
44
- getColorMap: Line.modelLinesEdgeAttributeColorMap,
45
- setColorMap: Line.setModelLinesEdgeAttributeColorMap,
46
- },
47
- },
48
- Block: {
49
- vertex: {
50
- getName: Block.modelBlocksVertexAttributeName,
51
- setName: Block.setModelBlocksVertexAttributeName,
52
- getRange: Block.modelBlocksVertexAttributeRange,
53
- setRange: Block.setModelBlocksVertexAttributeRange,
54
- getColorMap: Block.modelBlocksVertexAttributeColorMap,
55
- setColorMap: Block.setModelBlocksVertexAttributeColorMap,
56
- },
57
- polyhedron: {
58
- getName: Block.modelBlocksPolyhedronAttributeName,
59
- setName: Block.setModelBlocksPolyhedronAttributeName,
60
- getRange: Block.modelBlocksPolyhedronAttributeRange,
61
- setRange: Block.setModelBlocksPolyhedronAttributeRange,
62
- getColorMap: Block.modelBlocksPolyhedronAttributeColorMap,
63
- setColorMap: Block.setModelBlocksPolyhedronAttributeColorMap,
64
- },
65
- },
66
- Corner: {
67
- vertex: {
68
- getName: Corner.modelCornersVertexAttributeName,
69
- setName: Corner.setModelCornersVertexAttributeName,
70
- getRange: Corner.modelCornersVertexAttributeRange,
71
- setRange: Corner.setModelCornersVertexAttributeRange,
72
- getColorMap: Corner.modelCornersVertexAttributeColorMap,
73
- setColorMap: Corner.setModelCornersVertexAttributeColorMap,
74
- },
75
- },
76
- };
77
- function getModelComponentColor(modelId, componentId) {
78
- return dataStyleState.getComponentStyle(modelId, componentId).coloring?.constant;
79
- }
80
- function modelComponentTypeColor(modelId, type) {
81
- return (
82
- dataStyleState.getModelComponentTypeStyle(modelId, type).coloring?.constant ||
83
- dataStyleState.getStyle(modelId)[`${type.toLowerCase()}s`].coloring.constant
84
- );
85
- }
86
- function getModelComponentEffectiveColor(modelId, componentId, type) {
87
- const individualColor = getModelComponentColor(modelId, componentId);
88
- if (individualColor !== undefined) {
89
- return individualColor;
90
- }
91
- return modelComponentTypeColor(modelId, type);
92
- }
93
- function getModelComponentActiveColoring(modelId, componentId) {
94
- return dataStyleState.getComponentStyle(modelId, componentId).coloring?.active;
95
- }
96
- function getModelComponentTypeActiveColoring(modelId, type) {
97
- return (
98
- dataStyleState.getModelComponentTypeStyle(modelId, type).coloring?.active ||
99
- dataStyleState.getStyle(modelId)[`${type.toLowerCase()}s`].coloring.active
100
- );
101
- }
102
- async function setModelComponentsColor(
103
- modelId,
104
- componentIds,
105
- color,
106
- activeColoring = "constant",
107
- ) {
108
- await modelCommonStyle.mutateComponentStyles(modelId, componentIds, {
109
- coloring: {
110
- constant: color,
111
- active: activeColoring,
112
- },
113
- });
114
- return await dispatchToComponentTypes(
115
- modelId,
116
- componentIds,
117
- "Color",
118
- {
119
- componentStyleFunctions,
120
- },
121
- color,
122
- activeColoring,
123
- );
124
- }
125
- async function setModelComponentTypeColor(modelId, type, color) {
126
- await modelCommonStyle.mutateModelComponentTypeStyle(modelId, type, {
127
- coloring: {
128
- constant: color,
129
- active: "constant",
130
- },
131
- });
132
- const idsForType = await dataStore.getMeshComponentGeodeIds(modelId, type);
133
- if (idsForType.length === 0) {
134
- return;
135
- }
136
- await setModelComponentsColor(modelId, idsForType, color);
137
- }
138
- async function setModelComponentTypeActiveColoring(modelId, type, activeColoring) {
139
- await modelCommonStyle.mutateModelComponentTypeStyle(modelId, type, {
140
- coloring: {
141
- active: activeColoring,
142
- },
143
- });
144
- const idsForType = await dataStore.getMeshComponentGeodeIds(modelId, type);
145
- if (idsForType.length === 0) {
146
- return;
147
- }
148
- if (activeColoring === "random" || activeColoring === "constant") {
149
- await setModelComponentsColor(modelId, idsForType, undefined, activeColoring);
150
- return;
151
- }
152
- await modelCommonStyle.mutateComponentStyles(modelId, idsForType, {
153
- coloring: {
154
- active: activeColoring,
155
- },
156
- });
157
- const { getName, setName, getRange, setRange, getColorMap, setColorMap } =
158
- ATTRIBUTE_FUNCTIONS[type][activeColoring];
159
- const name = getName(modelId, idsForType[0]);
160
- if (name) {
161
- await setName(modelId, idsForType, name);
162
- const [minimum, maximum] = getRange(modelId, idsForType[0]);
163
- if (minimum !== undefined && maximum !== undefined) {
164
- await setRange(modelId, idsForType, minimum, maximum);
165
- }
166
- const colorMap = getColorMap(modelId, idsForType[0]);
167
- if (colorMap) {
168
- await setColorMap(modelId, idsForType, colorMap);
169
- }
170
- }
171
- }
172
- async function setModelComponentActiveColoring(modelId, componentId, activeColoring) {
173
- await modelCommonStyle.mutateComponentStyle(modelId, componentId, {
174
- coloring: {
175
- active: activeColoring,
176
- },
177
- });
178
- if (activeColoring === "random" || activeColoring === "constant") {
179
- await setModelComponentsColor(modelId, [componentId], undefined, activeColoring);
180
- return;
181
- }
182
- const type = await dataStore.meshComponentType(modelId, componentId);
183
- const { getName, setName, getRange, setRange, getColorMap, setColorMap } =
184
- ATTRIBUTE_FUNCTIONS[type][activeColoring];
185
- const name = getName(modelId, componentId);
186
- if (name) {
187
- await setName(modelId, [componentId], name);
188
- const [minimum, maximum] = getRange(modelId, componentId);
189
- if (minimum !== undefined && maximum !== undefined) {
190
- await setRange(modelId, [componentId], minimum, maximum);
191
- }
192
- const colorMap = getColorMap(modelId, componentId);
193
- if (colorMap) {
194
- await setColorMap(modelId, [componentId], colorMap);
195
- }
196
- }
197
- }
198
- function getModelColor(modelId) {
199
- return dataStyleState.getStyle(modelId).coloring.constant;
200
- }
201
- function getModelActiveColoring(modelId) {
202
- return dataStyleState.getStyle(modelId).coloring.active;
203
- }
204
- return {
205
- getModelColor,
206
- getModelActiveColoring,
207
- getModelComponentColor,
208
- getModelComponentEffectiveColor,
209
- getModelComponentActiveColoring,
210
- modelComponentTypeColor,
211
- getModelComponentTypeActiveColoring,
212
- setModelComponentTypeColor,
213
- setModelComponentTypeActiveColoring,
214
- setModelComponentActiveColoring,
215
- setModelComponentsColor,
216
- };
217
- }
218
- export { useModelColorStyle };
@@ -1,141 +0,0 @@
1
- import { database } from "@ogw_internal/database/database";
2
- import merge from "lodash/merge";
3
- import { useDataStore } from "@ogw_front/stores/data";
4
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
5
- import { useViewerStore } from "@ogw_front/stores/viewer";
6
-
7
- // oxlint-disable-next-line max-lines-per-function
8
- export function useModelCommonStyle() {
9
- const dataStore = useDataStore();
10
- const viewerStore = useViewerStore();
11
- const dataStyleState = useDataStyleState();
12
- const model_component_datastyle_db = database.model_component_datastyle;
13
- const model_component_type_datastyle_db = database.model_component_type_datastyle;
14
-
15
- async function mutateComponentStyle(id_model, id_component, values) {
16
- dataStyleState.updateComponentStyleCache(id_model, id_component, values);
17
- const key = [id_model, id_component];
18
- const entry = (await model_component_datastyle_db.get(key)) || { id_model, id_component };
19
- merge(entry, values);
20
- return model_component_datastyle_db.put(structuredClone(toRaw(entry)));
21
- }
22
-
23
- async function mutateModelComponentTypeStyle(id_model, type, values) {
24
- dataStyleState.updateModelComponentTypeStyleCache(id_model, type, values);
25
- await database.transaction("rw", model_component_type_datastyle_db, async () => {
26
- const key = [id_model, type];
27
- const entry = (await model_component_type_datastyle_db.get(key)) || { id_model, type };
28
- merge(entry, values);
29
- return model_component_type_datastyle_db.put(structuredClone(toRaw(entry)));
30
- });
31
- }
32
-
33
- async function mutateComponentStyles(id_model, id_components, values) {
34
- dataStyleState.bulkUpdateComponentStylesCache(id_model, id_components, values);
35
- await database.transaction("rw", model_component_datastyle_db, async () => {
36
- const keys = id_components.map((id_component) => [id_model, id_component]);
37
- const existing = await model_component_datastyle_db.bulkGet(keys);
38
- const updates = id_components.map((id_component, index) => {
39
- const style = existing[index] || { id_model, id_component };
40
- merge(style, values);
41
- return toRaw(style);
42
- });
43
-
44
- return model_component_datastyle_db.bulkPut(structuredClone(updates));
45
- });
46
- }
47
-
48
- async function bulkMutateComponentStylesPerComponent(id_model, component_updates) {
49
- dataStyleState.bulkUpdateComponentStyleCache(id_model, component_updates);
50
- await database.transaction("rw", model_component_datastyle_db, async () => {
51
- const keys = component_updates.map((update) => [id_model, update.id_component]);
52
- const existing = await model_component_datastyle_db.bulkGet(keys);
53
- const updates = component_updates.map(({ id_component, values }, index) => {
54
- const style = existing[index] || { id_model, id_component };
55
- merge(style, values);
56
- return toRaw(style);
57
- });
58
- return model_component_datastyle_db.bulkPut(structuredClone(updates));
59
- });
60
- }
61
-
62
- async function setModelTypeColor(id, component_ids, color, schema, activeColoring = "constant") {
63
- if (!component_ids?.length) {
64
- return;
65
- }
66
-
67
- const viewer_ids = await dataStore.getMeshComponentsViewerIds(id, component_ids);
68
- if (!viewer_ids?.length) {
69
- return;
70
- }
71
-
72
- const params = { id, block_ids: viewer_ids, color_mode: activeColoring };
73
- if (activeColoring === "constant") {
74
- await mutateComponentStyles(id, component_ids, {
75
- coloring: {
76
- constant: color,
77
- },
78
- });
79
- params.color = color;
80
- }
81
-
82
- return viewerStore.request(
83
- { schema, params },
84
- {
85
- response_function: async (colors) => {
86
- if (activeColoring === "constant") {
87
- await mutateComponentStyles(id, component_ids, {
88
- coloring: {
89
- constant: color,
90
- },
91
- });
92
- return;
93
- }
94
-
95
- if (!colors?.length) {
96
- return;
97
- }
98
-
99
- await bulkMutateComponentStylesPerComponent(
100
- id,
101
- colors.map(({ geode_id, color: color_value }) => ({
102
- id_component: geode_id,
103
- values: {
104
- coloring: {
105
- constant: color_value,
106
- },
107
- },
108
- })),
109
- );
110
- },
111
- },
112
- );
113
- }
114
-
115
- async function setModelTypeVisibility(id, component_ids, visibility, schema) {
116
- if (!component_ids?.length) {
117
- return;
118
- }
119
-
120
- const viewer_ids = await dataStore.getMeshComponentsViewerIds(id, component_ids);
121
- if (!viewer_ids?.length) {
122
- return;
123
- }
124
- const params = { id, block_ids: viewer_ids, visibility };
125
- return viewerStore.request(
126
- { schema, params },
127
- {
128
- response_function: () => mutateComponentStyles(id, component_ids, { visibility }),
129
- },
130
- );
131
- }
132
-
133
- return {
134
- mutateComponentStyle,
135
- mutateModelComponentTypeStyle,
136
- mutateComponentStyles,
137
- bulkMutateComponentStylesPerComponent,
138
- setModelTypeColor,
139
- setModelTypeVisibility,
140
- };
141
- }
@@ -1,51 +0,0 @@
1
- import merge from "lodash/merge";
2
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
3
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
4
-
5
- export function useModelCornersCommonStyle() {
6
- const dataStyleState = useDataStyleState();
7
- const modelCommonStyle = useModelCommonStyle();
8
-
9
- function modelCornersStyle(id) {
10
- return dataStyleState.getStyle(id).corners;
11
- }
12
-
13
- function modelComponentTypeCornersStyle(id) {
14
- const defaultStyle = modelCornersStyle(id);
15
- const typeStyle = dataStyleState.getModelComponentTypeStyle(id, "Corner");
16
- return merge({}, defaultStyle, typeStyle);
17
- }
18
-
19
- function modelCornerStyle(id, corner_id) {
20
- if (corner_id === undefined) {
21
- return modelComponentTypeCornersStyle(id);
22
- }
23
- const typeStyle = modelComponentTypeCornersStyle(id);
24
- const individualStyle = dataStyleState.getComponentStyle(id, corner_id);
25
- return merge({}, typeStyle, individualStyle);
26
- }
27
-
28
- function modelCornerColoring(id, corner_id) {
29
- return modelCornerStyle(id, corner_id).coloring;
30
- }
31
-
32
- function mutateModelCornersColoring(id, corners_ids, values) {
33
- return modelCommonStyle.mutateComponentStyles(id, corners_ids, {
34
- coloring: values,
35
- });
36
- }
37
-
38
- function mutateModelCornersTypeColoring(id, values) {
39
- return modelCommonStyle.mutateModelComponentTypeStyle(id, "Corner", {
40
- coloring: values,
41
- });
42
- }
43
-
44
- return {
45
- modelCornersStyle,
46
- modelCornerStyle,
47
- modelCornerColoring,
48
- mutateModelCornersColoring,
49
- mutateModelCornersTypeColoring,
50
- };
51
- }
@@ -1,204 +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 { useDataStore } from "@ogw_front/stores/data";
8
- import { useModelCornersCommonStyle } from "./common";
9
- import { useViewerStore } from "@ogw_front/stores/viewer";
10
-
11
- // Local constants
12
- const attributeSchema = viewer_schemas.opengeodeweb_viewer.model.corners.attribute.vertex.attribute;
13
- function isModelCornersVertexAttributeValid({ 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 useModelCornersVertexAttribute() {
25
- const dataStore = useDataStore();
26
- const modelCornersCommonStyle = useModelCornersCommonStyle();
27
- const viewerStore = useViewerStore();
28
- function modelCornersVertexAttribute(modelId, cornerId) {
29
- return modelCornersCommonStyle.modelCornerColoring(modelId, cornerId).vertex;
30
- }
31
- function modelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item) {
32
- const { storedConfigs } = modelCornersVertexAttribute(modelId, cornerId);
33
- if (storedConfigs && name in storedConfigs && item in storedConfigs[name]) {
34
- return storedConfigs[name][item];
35
- }
36
- return {
37
- minimum: undefined,
38
- maximum: undefined,
39
- colorMap: undefined,
40
- no_data_color: DEFAULT_NO_DATA_COLOR,
41
- };
42
- }
43
- function mutateModelCornersVertexStyle(modelId, cornerIds, values) {
44
- if (cornerIds.length > 1) {
45
- modelCornersCommonStyle.mutateModelCornersTypeColoring(modelId, {
46
- vertex: values,
47
- });
48
- }
49
- return modelCornersCommonStyle.mutateModelCornersColoring(modelId, cornerIds, {
50
- vertex: values,
51
- });
52
- }
53
- function setModelCornersVertexAttributeStoredConfig(modelId, cornerIds, name, item, config) {
54
- return mutateModelCornersVertexStyle(modelId, cornerIds, {
55
- storedConfigs: {
56
- [name]: {
57
- lastItem: item,
58
- [item]: config,
59
- },
60
- },
61
- });
62
- }
63
- function modelCornersVertexAttributeName(modelId, cornerId) {
64
- return modelCornersVertexAttribute(modelId, cornerId).name;
65
- }
66
- function modelCornersVertexAttributeLastItem(modelId, cornerId, name) {
67
- const { storedConfigs } = modelCornersVertexAttribute(modelId, cornerId);
68
- if (!(name in storedConfigs)) {
69
- return 0;
70
- }
71
- return storedConfigs[name].lastItem;
72
- }
73
- function modelCornersVertexAttributeItem(modelId, cornerId) {
74
- const vertexAttribute = modelCornersVertexAttribute(modelId, cornerId);
75
- return (
76
- vertexAttribute.item ??
77
- modelCornersVertexAttributeLastItem(modelId, cornerId, vertexAttribute.name)
78
- );
79
- }
80
- function modelCornersVertexAttributeRange(modelId, cornerId) {
81
- const name = modelCornersVertexAttributeName(modelId, cornerId);
82
- const item = modelCornersVertexAttributeItem(modelId, cornerId);
83
- const storedConfig = modelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item);
84
- const { minimum, maximum } = storedConfig;
85
- return [minimum, maximum];
86
- }
87
- function modelCornersVertexAttributeColorMap(modelId, cornerId) {
88
- const name = modelCornersVertexAttributeName(modelId, cornerId);
89
- const item = modelCornersVertexAttributeItem(modelId, cornerId);
90
- const storedConfig = modelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item);
91
- return storedConfig.colorMap;
92
- }
93
- async function setModelCornersVertexAttribute(
94
- modelId,
95
- cornerIds,
96
- { name, item, minimum, maximum, colorMap, no_data_color = DEFAULT_NO_DATA_COLOR },
97
- ) {
98
- mutateModelCornersVertexStyle(modelId, cornerIds, {
99
- name,
100
- item,
101
- });
102
- setModelCornersVertexAttributeStoredConfig(modelId, cornerIds, name, item, {
103
- minimum,
104
- maximum,
105
- colorMap,
106
- no_data_color,
107
- });
108
- const points = getRGBPointsFromPreset(colorMap);
109
- const corner_viewer_ids = await dataStore.getMeshComponentsViewerIds(modelId, cornerIds);
110
- const params = {
111
- id: modelId,
112
- block_ids: corner_viewer_ids,
113
- name,
114
- item,
115
- points,
116
- minimum,
117
- maximum,
118
- no_data_color,
119
- };
120
- return viewerStore.request({
121
- schema: attributeSchema,
122
- params,
123
- });
124
- }
125
- function applyVertexAttribute(modelId, cornerIds) {
126
- const name = modelCornersVertexAttributeName(modelId, cornerIds[0]);
127
- const item = modelCornersVertexAttributeItem(modelId, cornerIds[0]);
128
- const storedConfig = modelCornersVertexAttributeStoredConfig(modelId, cornerIds[0], name, item);
129
- const attribute = {
130
- name,
131
- item,
132
- minimum: storedConfig.minimum,
133
- maximum: storedConfig.maximum,
134
- colorMap: storedConfig.colorMap,
135
- no_data_color: storedConfig.no_data_color,
136
- };
137
- if (isModelCornersVertexAttributeValid(attribute)) {
138
- return setModelCornersVertexAttribute(modelId, cornerIds, attribute);
139
- }
140
- return Promise.resolve();
141
- }
142
- function setModelCornersVertexAttributeName(modelId, cornerIds, name) {
143
- const item = modelCornersVertexAttributeLastItem(modelId, cornerIds[0], name);
144
- mutateModelCornersVertexStyle(modelId, cornerIds, {
145
- name,
146
- item,
147
- });
148
- return applyVertexAttribute(modelId, cornerIds);
149
- }
150
- function setModelCornersVertexAttributeItem(modelId, cornerIds, item) {
151
- mutateModelCornersVertexStyle(modelId, cornerIds, {
152
- item,
153
- });
154
- return applyVertexAttribute(modelId, cornerIds);
155
- }
156
- function setModelCornersVertexAttributeRange(modelId, cornerIds, minimum, maximum) {
157
- const name = modelCornersVertexAttributeName(modelId, cornerIds[0]);
158
- const item = modelCornersVertexAttributeItem(modelId, cornerIds[0]);
159
- setModelCornersVertexAttributeStoredConfig(modelId, cornerIds, name, item, {
160
- minimum,
161
- maximum,
162
- });
163
- return applyVertexAttribute(modelId, cornerIds);
164
- }
165
- function setModelCornersVertexAttributeColorMap(modelId, cornerIds, colorMap) {
166
- const name = modelCornersVertexAttributeName(modelId, cornerIds[0]);
167
- const item = modelCornersVertexAttributeItem(modelId, cornerIds[0]);
168
- setModelCornersVertexAttributeStoredConfig(modelId, cornerIds, name, item, {
169
- colorMap,
170
- });
171
- return applyVertexAttribute(modelId, cornerIds);
172
- }
173
- function modelCornersVertexAttributeNoDataColor(modelId, cornerId) {
174
- const name = modelCornersVertexAttributeName(modelId, cornerId);
175
- const item = modelCornersVertexAttributeItem(modelId, cornerId);
176
- const storedConfig = modelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item);
177
- return storedConfig.no_data_color;
178
- }
179
- async function setModelCornersVertexAttributeNoDataColor(modelId, cornerId, no_data_color) {
180
- const name = modelCornersVertexAttributeName(modelId, cornerId);
181
- const item = modelCornersVertexAttributeItem(modelId, cornerId);
182
- const storedConfig = modelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item);
183
- await setModelCornersVertexAttributeStoredConfig(modelId, cornerId, name, item, {
184
- ...storedConfig,
185
- no_data_color,
186
- });
187
- return applyVertexAttribute(modelId, cornerId);
188
- }
189
- return {
190
- modelCornersVertexAttributeName,
191
- modelCornersVertexAttributeItem,
192
- modelCornersVertexAttributeRange,
193
- modelCornersVertexAttributeColorMap,
194
- modelCornersVertexAttributeStoredConfig,
195
- setModelCornersVertexAttribute,
196
- setModelCornersVertexAttributeName,
197
- setModelCornersVertexAttributeItem,
198
- setModelCornersVertexAttributeRange,
199
- setModelCornersVertexAttributeColorMap,
200
- modelCornersVertexAttributeNoDataColor,
201
- setModelCornersVertexAttributeNoDataColor,
202
- };
203
- }
204
- export { isModelCornersVertexAttributeValid, useModelCornersVertexAttribute };
@@ -1,20 +0,0 @@
1
- import { useModelCommonStyle } from "@ogw_internal/stores/data_style/model/common";
2
- import { useModelCornersCommonStyle } from "./common";
3
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
4
-
5
- const schema = viewer_schemas.opengeodeweb_viewer.model.corners.visibility;
6
-
7
- export function useModelCornersVisibility() {
8
- const modelCommonStyle = useModelCommonStyle();
9
- const modelCornersCommonStyle = useModelCornersCommonStyle();
10
-
11
- function modelCornerVisibility(id, corner_id) {
12
- return modelCornersCommonStyle.modelCornerStyle(id, corner_id).visibility;
13
- }
14
-
15
- function setModelCornersVisibility(modelId, corners_ids, visibility) {
16
- return modelCommonStyle.setModelTypeVisibility(modelId, corners_ids, visibility, schema);
17
- }
18
-
19
- return { setModelCornersVisibility, modelCornerVisibility };
20
- }
@@ -1,20 +0,0 @@
1
- import { useDataStyleState } from "@ogw_internal/stores/data_style/state";
2
-
3
- export function useModelEdgesCommonStyle() {
4
- const dataStyleState = useDataStyleState();
5
-
6
- function mutateModelEdgesStyle(id, values) {
7
- return dataStyleState.mutateStyle(id, {
8
- edges: values,
9
- });
10
- }
11
-
12
- function modelEdgesStyle(id) {
13
- return dataStyleState.getStyle(id).edges;
14
- }
15
-
16
- return {
17
- modelEdgesStyle,
18
- mutateModelEdgesStyle,
19
- };
20
- }