@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,5 +1,10 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
+ import BlocksOptions from "./BlocksOptions.vue";
3
+ import CornersOptions from "./CornersOptions.vue";
4
+ import LinesOptions from "./LinesOptions.vue";
2
5
  import OptionsSection from "@ogw_front/components/Viewer/Options/OptionsSection.vue";
6
+ import type { RGBAColor } from "@ogw_front/utils/default_styles/constants";
7
+ import SurfacesOptions from "./SurfacesOptions.vue";
3
8
  import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector.vue";
4
9
  import VisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
5
10
  import { useDataStore } from "@ogw_front/stores/data";
@@ -7,17 +12,12 @@ import { useDataStyleStore } from "@ogw_front/stores/data_style";
7
12
  import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
8
13
  import { useTreeviewStore } from "@ogw_front/stores/treeview";
9
14
 
10
- import BlocksOptions from "./BlocksOptions.vue";
11
- import CornersOptions from "./CornersOptions.vue";
12
- import LinesOptions from "./LinesOptions.vue";
13
- import SurfacesOptions from "./SurfacesOptions.vue";
14
-
15
15
  const dataStyleStore = useDataStyleStore();
16
16
  const hybridViewerStore = useHybridViewerStore();
17
17
  const dataStore = useDataStore();
18
18
  const treeviewStore = useTreeviewStore();
19
19
 
20
- function getBatchComponentIds(currentId) {
20
+ function getBatchComponentIds(currentId: string): string[] {
21
21
  const { activeItems } = treeviewStore;
22
22
  if (activeItems.includes(currentId) && activeItems.length > 1) {
23
23
  return activeItems;
@@ -25,14 +25,18 @@ function getBatchComponentIds(currentId) {
25
25
  return [currentId];
26
26
  }
27
27
 
28
- const { itemProps } = defineProps({
29
- itemProps: { type: Object, required: true },
30
- });
28
+ interface Props {
29
+ itemProps: Record<string, unknown>;
30
+ }
31
31
 
32
- const modelId = computed(() => itemProps.meta_data.modelId || itemProps.id);
33
- const componentId = computed(() => itemProps.meta_data.pickedComponentId);
34
- const selection = computed(() => dataStyleStore.visibleMeshComponents(modelId.value).value || []);
35
- const componentType = ref(undefined);
32
+ const { itemProps } = defineProps<Props>();
33
+
34
+ const modelId = computed<string>(() => itemProps.meta_data.modelId || itemProps.id);
35
+ const componentId = computed<string | undefined>(() => itemProps.meta_data.pickedComponentId);
36
+ const selection = computed<string[]>(
37
+ () => dataStyleStore.visibleMeshComponents(modelId.value).value || [],
38
+ );
39
+ const componentType = ref<string | undefined>(undefined);
36
40
 
37
41
  watch(
38
42
  () => [
@@ -61,7 +65,7 @@ watch(
61
65
  { immediate: true },
62
66
  );
63
67
 
64
- const targetComponentIds = ref([]);
68
+ const targetComponentIds = ref<string[]>([]);
65
69
  watch(
66
70
  () => [modelId.value, componentType.value, itemProps.meta_data.targetComponentIds],
67
71
  async () => {
@@ -82,33 +86,40 @@ watch(
82
86
  { immediate: true },
83
87
  );
84
88
 
85
- const modelVisibility = computed({
89
+ const modelVisibility = computed<boolean | undefined>({
86
90
  get: () => dataStyleStore.modelVisibility(modelId.value),
87
91
  set: async (newValue) => {
92
+ if (newValue === undefined) {
93
+ return;
94
+ }
88
95
  await dataStyleStore.setModelVisibility(modelId.value, newValue);
89
96
  hybridViewerStore.remoteRender();
90
97
  },
91
98
  });
92
99
 
93
- const modelComponentsColor = computed({
94
- get: () => dataStyleStore.getModelColor(modelId.value),
100
+ const modelComponentsColor = computed<RGBAColor | undefined>({
101
+ get: () => dataStyleStore.getModelColor(modelId.value) as RGBAColor | undefined,
95
102
  set: async (color) => {
96
103
  await dataStyleStore.mutateStyle(modelId.value, {
97
104
  coloring: { constant: color },
98
105
  });
106
+ const activeColoring = dataStyleStore.getModelActiveColoring(modelId.value);
99
107
  await dataStyleStore.setModelComponentsColor(
100
108
  modelId.value,
101
109
  selection.value,
102
110
  color,
103
- dataStyleStore.getModelActiveColoring(modelId.value),
111
+ typeof activeColoring === "string" ? activeColoring : undefined,
104
112
  );
105
113
  hybridViewerStore.remoteRender();
106
114
  },
107
115
  });
108
116
 
109
- const modelComponentsActiveColoring = computed({
110
- get: () => dataStyleStore.getModelActiveColoring(modelId.value),
117
+ const modelComponentsActiveColoring = computed<string | undefined>({
118
+ get: () => dataStyleStore.getModelActiveColoring(modelId.value) as string | undefined,
111
119
  set: async (coloringType) => {
120
+ if (typeof coloringType !== "string") {
121
+ return;
122
+ }
112
123
  await dataStyleStore.mutateStyle(modelId.value, {
113
124
  coloring: { active: coloringType },
114
125
  });
@@ -1,11 +1,15 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
+ import ViewerContextMenuItem, {
3
+ type ItemProps,
4
+ } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
2
5
  import ModelColor from "@ogw_front/assets/viewer_svgs/model_component_color.svg";
3
6
  import ModelStyleCard from "./ModelStyleCard.vue";
4
- import ViewerContextMenuItem from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem";
5
7
 
6
- const { itemProps } = defineProps({
7
- itemProps: { type: Object, required: true },
8
- });
8
+ interface Props {
9
+ itemProps: ItemProps & { index: number };
10
+ }
11
+
12
+ const { itemProps } = defineProps<Props>();
9
13
  </script>
10
14
 
11
15
  <template>
@@ -1,9 +1,10 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
+ import ViewerContextMenuItem, {
3
+ type ItemProps,
4
+ } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
2
5
  import SurfacePoints from "@ogw_front/assets/viewer_svgs/surface_points.svg";
3
- import ViewerContextMenuItem from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem";
4
- import ViewerOptionsSizeSlider from "@ogw_front/components/Viewer/Options/Sliders/Size";
5
- import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch";
6
-
6
+ import ViewerOptionsSizeSlider from "@ogw_front/components/Viewer/Options/Sliders/Size.vue";
7
+ import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
7
8
  import { useBatchStyle } from "@ogw_front/composables/batch_style";
8
9
  import { useDataStyleStore } from "@ogw_front/stores/data_style";
9
10
  import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
@@ -12,25 +13,29 @@ const dataStyleStore = useDataStyleStore();
12
13
  const hybridViewerStore = useHybridViewerStore();
13
14
  const { applyBatchStyle } = useBatchStyle();
14
15
 
15
- const { itemProps } = defineProps({
16
- itemProps: { type: Object, required: true },
17
- });
16
+ interface Props {
17
+ itemProps: ItemProps & { index: number };
18
+ }
19
+
20
+ const { itemProps } = defineProps<Props>();
18
21
 
19
- const id = computed(() => itemProps.meta_data.modelId || itemProps.id);
22
+ const id = computed<string>(
23
+ () => (itemProps.meta_data.modelId as string | undefined) || itemProps.id,
24
+ );
20
25
 
21
- const visibility = computed({
26
+ const visibility = computed<boolean>({
22
27
  get: () => dataStyleStore.modelPointsVisibility(id.value),
23
28
  set: async (newValue) => {
24
- await applyBatchStyle(id.value, (targetId) =>
29
+ await applyBatchStyle(id.value, (targetId: string) =>
25
30
  dataStyleStore.setModelPointsVisibility(targetId, newValue),
26
31
  );
27
32
  hybridViewerStore.remoteRender();
28
33
  },
29
34
  });
30
- const size = computed({
35
+ const size = computed<number>({
31
36
  get: () => dataStyleStore.modelPointsSize(id.value),
32
37
  set: async (newValue) => {
33
- await applyBatchStyle(id.value, (targetId) =>
38
+ await applyBatchStyle(id.value, (targetId: string) =>
34
39
  dataStyleStore.setModelPointsSize(targetId, newValue),
35
40
  );
36
41
  hybridViewerStore.remoteRender();
@@ -41,6 +46,7 @@ const size = computed({
41
46
  <template>
42
47
  <ViewerContextMenuItem
43
48
  data-testid="modelPointsMenu"
49
+ :index="itemProps.index"
44
50
  :itemProps="itemProps"
45
51
  tooltip="Points options"
46
52
  :btnImage="SurfacePoints"
@@ -1,22 +1,25 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import OptionsSection from "@ogw_front/components/Viewer/Options/OptionsSection.vue";
3
+ import type { RGBAColor } from "@ogw_front/utils/default_styles/constants";
3
4
  import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector.vue";
4
5
  import VisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
5
6
  import back_schemas from "@geode/opengeodeweb-back/opengeodeweb_back_schemas.json";
6
7
  import { useDataStyleStore } from "@ogw_front/stores/data_style";
7
8
  import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
8
9
 
9
- const { modelId, surfaceId, targetSurfaceIds } = defineProps({
10
- modelId: { type: String, required: true },
11
- surfaceId: { type: String, default: undefined },
12
- targetSurfaceIds: { type: Array, required: true },
13
- });
10
+ interface Props {
11
+ modelId: string;
12
+ surfaceId?: string;
13
+ targetSurfaceIds: string[];
14
+ }
15
+
16
+ const { modelId, surfaceId = undefined, targetSurfaceIds } = defineProps<Props>();
14
17
 
15
18
  const dataStyleStore = useDataStyleStore();
16
19
  const hybridViewerStore = useHybridViewerStore();
17
20
 
18
21
  // Visibility
19
- const surfacesVisibility = computed({
22
+ const surfacesVisibility = computed<boolean>({
20
23
  get: () => dataStyleStore.modelComponentTypeVisibility(modelId, "Surface"),
21
24
  set: async (newValue) => {
22
25
  await dataStyleStore.setModelSurfacesVisibility(modelId, targetSurfaceIds, newValue);
@@ -24,57 +27,73 @@ const surfacesVisibility = computed({
24
27
  },
25
28
  });
26
29
 
27
- const surfaceVisibility = computed({
28
- get: () => dataStyleStore.modelSurfaceVisibility(modelId, surfaceId),
30
+ const surfaceVisibility = computed<boolean>({
31
+ get: () => dataStyleStore.modelSurfaceVisibility(modelId, surfaceId) as boolean | undefined,
29
32
  set: async (newValue) => {
33
+ if (surfaceId === undefined) {
34
+ return;
35
+ }
30
36
  await dataStyleStore.setModelSurfacesVisibility(modelId, [surfaceId], newValue);
31
37
  hybridViewerStore.remoteRender();
32
38
  },
33
39
  });
34
40
 
35
41
  // Color
36
- const surfacesColor = computed({
37
- get: () => dataStyleStore.modelComponentTypeColor(modelId, "Surface"),
42
+ const surfacesColor = computed<RGBAColor | undefined>({
43
+ get: () => dataStyleStore.modelComponentTypeColor(modelId, "Surface") as RGBAColor | undefined,
38
44
  set: async (color) => {
39
45
  await dataStyleStore.setModelSurfacesColor(modelId, targetSurfaceIds, color);
40
46
  hybridViewerStore.remoteRender();
41
47
  },
42
48
  });
43
49
 
44
- const surfaceColor = computed({
45
- get: () => dataStyleStore.modelSurfaceColor(modelId, surfaceId),
50
+ const surfaceColor = computed<RGBAColor | undefined>({
51
+ get: () => dataStyleStore.modelSurfaceColor(modelId, surfaceId) as RGBAColor | undefined,
46
52
  set: async (color) => {
53
+ if (surfaceId === undefined) {
54
+ return;
55
+ }
47
56
  await dataStyleStore.setModelSurfacesColor(modelId, [surfaceId], color);
48
57
  hybridViewerStore.remoteRender();
49
58
  },
50
59
  });
51
60
 
52
- const surfacesActiveColoring = computed({
53
- get: () => dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Surface"),
61
+ const surfacesActiveColoring = computed<string | undefined>({
62
+ get: () =>
63
+ dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Surface") as string | undefined,
54
64
  set: async (coloringType) => {
65
+ if (typeof coloringType !== "string") {
66
+ return;
67
+ }
55
68
  await dataStyleStore.setModelSurfacesActiveColoring(modelId, targetSurfaceIds, coloringType);
56
69
  hybridViewerStore.remoteRender();
57
70
  },
58
71
  });
59
72
 
60
- const surfaceActiveColoring = computed({
61
- get: () => dataStyleStore.modelSurfaceActiveColoring(modelId, surfaceId),
73
+ const surfaceActiveColoring = computed<string | undefined>({
74
+ get: () => dataStyleStore.modelSurfaceActiveColoring(modelId, surfaceId) as string | undefined,
62
75
  set: async (coloringType) => {
76
+ if (surfaceId === undefined || typeof coloringType !== "string") {
77
+ return;
78
+ }
63
79
  await dataStyleStore.setModelSurfacesActiveColoring(modelId, [surfaceId], coloringType);
64
80
  hybridViewerStore.remoteRender();
65
81
  },
66
82
  });
67
83
 
68
84
  // Group Attributes
69
- const surfacesVertexAttributeName = computed({
85
+ const surfacesVertexAttributeName = computed<string | undefined>({
70
86
  get: () => dataStyleStore.modelSurfacesVertexAttributeName(modelId),
71
87
  set: async (newValue) => {
88
+ if (newValue === undefined) {
89
+ return;
90
+ }
72
91
  await dataStyleStore.setModelSurfacesVertexAttributeName(modelId, targetSurfaceIds, newValue);
73
92
  hybridViewerStore.remoteRender();
74
93
  },
75
94
  });
76
95
 
77
- const surfacesVertexAttributeItem = computed({
96
+ const surfacesVertexAttributeItem = computed<string | undefined>({
78
97
  get: () => dataStyleStore.modelSurfacesVertexAttributeItem(modelId),
79
98
  set: async (newValue) => {
80
99
  await dataStyleStore.setModelSurfacesVertexAttributeItem(modelId, targetSurfaceIds, newValue);
@@ -82,20 +101,24 @@ const surfacesVertexAttributeItem = computed({
82
101
  },
83
102
  });
84
103
 
85
- const surfacesVertexAttributeRange = computed({
104
+ const surfacesVertexAttributeRange = computed<[number, number] | undefined>({
86
105
  get: () => dataStyleStore.modelSurfacesVertexAttributeRange(modelId),
87
106
  set: async (newValue) => {
107
+ const [minimum, maximum] = newValue;
108
+ if (minimum === undefined || maximum === undefined) {
109
+ return;
110
+ }
88
111
  await dataStyleStore.setModelSurfacesVertexAttributeRange(
89
112
  modelId,
90
113
  targetSurfaceIds,
91
- newValue[0],
92
- newValue[1],
114
+ minimum,
115
+ maximum,
93
116
  );
94
117
  hybridViewerStore.remoteRender();
95
118
  },
96
119
  });
97
120
 
98
- const surfacesVertexAttributeColorMap = computed({
121
+ const surfacesVertexAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
99
122
  get: () => dataStyleStore.modelSurfacesVertexAttributeColorMap(modelId),
100
123
  set: async (newValue) => {
101
124
  await dataStyleStore.setModelSurfacesVertexAttributeColorMap(
@@ -107,8 +130,9 @@ const surfacesVertexAttributeColorMap = computed({
107
130
  },
108
131
  });
109
132
 
110
- const surfacesVertexAttributeNoDataColor = computed({
111
- get: () => dataStyleStore.modelSurfacesVertexAttributeNoDataColor(modelId),
133
+ const surfacesVertexAttributeNoDataColor = computed<RGBAColor | undefined>({
134
+ get: () =>
135
+ dataStyleStore.modelSurfacesVertexAttributeNoDataColor(modelId) as RGBAColor | undefined,
112
136
  set: async (newValue) => {
113
137
  await dataStyleStore.setModelSurfacesVertexAttributeNoDataColor(
114
138
  modelId,
@@ -119,15 +143,18 @@ const surfacesVertexAttributeNoDataColor = computed({
119
143
  },
120
144
  });
121
145
 
122
- const surfacesPolygonAttributeName = computed({
146
+ const surfacesPolygonAttributeName = computed<string | undefined>({
123
147
  get: () => dataStyleStore.modelSurfacesPolygonAttributeName(modelId),
124
148
  set: async (newValue) => {
149
+ if (newValue === undefined) {
150
+ return;
151
+ }
125
152
  await dataStyleStore.setModelSurfacesPolygonAttributeName(modelId, targetSurfaceIds, newValue);
126
153
  hybridViewerStore.remoteRender();
127
154
  },
128
155
  });
129
156
 
130
- const surfacesPolygonAttributeItem = computed({
157
+ const surfacesPolygonAttributeItem = computed<string | undefined>({
131
158
  get: () => dataStyleStore.modelSurfacesPolygonAttributeItem(modelId),
132
159
  set: async (newValue) => {
133
160
  await dataStyleStore.setModelSurfacesPolygonAttributeItem(modelId, targetSurfaceIds, newValue);
@@ -135,20 +162,24 @@ const surfacesPolygonAttributeItem = computed({
135
162
  },
136
163
  });
137
164
 
138
- const surfacesPolygonAttributeRange = computed({
165
+ const surfacesPolygonAttributeRange = computed<[number, number] | undefined>({
139
166
  get: () => dataStyleStore.modelSurfacesPolygonAttributeRange(modelId),
140
167
  set: async (newValue) => {
168
+ const [minimum, maximum] = newValue;
169
+ if (minimum === undefined || maximum === undefined) {
170
+ return;
171
+ }
141
172
  await dataStyleStore.setModelSurfacesPolygonAttributeRange(
142
173
  modelId,
143
174
  targetSurfaceIds,
144
- newValue[0],
145
- newValue[1],
175
+ minimum,
176
+ maximum,
146
177
  );
147
178
  hybridViewerStore.remoteRender();
148
179
  },
149
180
  });
150
181
 
151
- const surfacesPolygonAttributeColorMap = computed({
182
+ const surfacesPolygonAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
152
183
  get: () => dataStyleStore.modelSurfacesPolygonAttributeColorMap(modelId),
153
184
  set: async (newValue) => {
154
185
  await dataStyleStore.setModelSurfacesPolygonAttributeColorMap(
@@ -160,8 +191,9 @@ const surfacesPolygonAttributeColorMap = computed({
160
191
  },
161
192
  });
162
193
 
163
- const surfacesPolygonAttributeNoDataColor = computed({
164
- get: () => dataStyleStore.modelSurfacesPolygonAttributeNoDataColor(modelId),
194
+ const surfacesPolygonAttributeNoDataColor = computed<RGBAColor | undefined>({
195
+ get: () =>
196
+ dataStyleStore.modelSurfacesPolygonAttributeNoDataColor(modelId) as RGBAColor | undefined,
165
197
  set: async (newValue) => {
166
198
  await dataStyleStore.setModelSurfacesPolygonAttributeNoDataColor(
167
199
  modelId,
@@ -173,91 +205,129 @@ const surfacesPolygonAttributeNoDataColor = computed({
173
205
  });
174
206
 
175
207
  // Individual Attributes
176
- const vertexAttributeName = computed({
208
+ const vertexAttributeName = computed<string | undefined>({
177
209
  get: () => dataStyleStore.modelSurfacesVertexAttributeName(modelId, surfaceId),
178
210
  set: async (newValue) => {
211
+ if (surfaceId === undefined || newValue === undefined) {
212
+ return;
213
+ }
179
214
  await dataStyleStore.setModelSurfacesVertexAttributeName(modelId, [surfaceId], newValue);
180
215
  hybridViewerStore.remoteRender();
181
216
  },
182
217
  });
183
218
 
184
- const vertexAttributeItem = computed({
219
+ const vertexAttributeItem = computed<string | undefined>({
185
220
  get: () => dataStyleStore.modelSurfacesVertexAttributeItem(modelId, surfaceId),
186
221
  set: async (newValue) => {
222
+ if (surfaceId === undefined) {
223
+ return;
224
+ }
187
225
  await dataStyleStore.setModelSurfacesVertexAttributeItem(modelId, [surfaceId], newValue);
188
226
  hybridViewerStore.remoteRender();
189
227
  },
190
228
  });
191
229
 
192
- const vertexAttributeRange = computed({
230
+ const vertexAttributeRange = computed<[number, number] | undefined>({
193
231
  get: () => dataStyleStore.modelSurfacesVertexAttributeRange(modelId, surfaceId),
194
232
  set: async (newValue) => {
233
+ const [minimum, maximum] = newValue;
234
+ if (surfaceId === undefined || minimum === undefined || maximum === undefined) {
235
+ return;
236
+ }
195
237
  await dataStyleStore.setModelSurfacesVertexAttributeRange(
196
238
  modelId,
197
239
  [surfaceId],
198
- newValue[0],
199
- newValue[1],
240
+ minimum,
241
+ maximum,
200
242
  );
201
243
  hybridViewerStore.remoteRender();
202
244
  },
203
245
  });
204
246
 
205
- const vertexAttributeColorMap = computed({
247
+ const vertexAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
206
248
  get: () => dataStyleStore.modelSurfacesVertexAttributeColorMap(modelId, surfaceId),
207
249
  set: async (newValue) => {
250
+ if (surfaceId === undefined) {
251
+ return;
252
+ }
208
253
  await dataStyleStore.setModelSurfacesVertexAttributeColorMap(modelId, [surfaceId], newValue);
209
254
  hybridViewerStore.remoteRender();
210
255
  },
211
256
  });
212
257
 
213
- const vertexAttributeNoDataColor = computed({
214
- get: () => dataStyleStore.modelSurfacesVertexAttributeNoDataColor(modelId, surfaceId),
258
+ const vertexAttributeNoDataColor = computed<RGBAColor | undefined>({
259
+ get: () =>
260
+ dataStyleStore.modelSurfacesVertexAttributeNoDataColor(modelId, surfaceId) as
261
+ | RGBAColor
262
+ | undefined,
215
263
  set: async (newValue) => {
264
+ if (surfaceId === undefined) {
265
+ return;
266
+ }
216
267
  await dataStyleStore.setModelSurfacesVertexAttributeNoDataColor(modelId, [surfaceId], newValue);
217
268
  hybridViewerStore.remoteRender();
218
269
  },
219
270
  });
220
271
 
221
- const polygonAttributeName = computed({
272
+ const polygonAttributeName = computed<string | undefined>({
222
273
  get: () => dataStyleStore.modelSurfacesPolygonAttributeName(modelId, surfaceId),
223
274
  set: async (newValue) => {
275
+ if (surfaceId === undefined || newValue === undefined) {
276
+ return;
277
+ }
224
278
  await dataStyleStore.setModelSurfacesPolygonAttributeName(modelId, [surfaceId], newValue);
225
279
  hybridViewerStore.remoteRender();
226
280
  },
227
281
  });
228
282
 
229
- const polygonAttributeItem = computed({
283
+ const polygonAttributeItem = computed<string | undefined>({
230
284
  get: () => dataStyleStore.modelSurfacesPolygonAttributeItem(modelId, surfaceId),
231
285
  set: async (newValue) => {
286
+ if (surfaceId === undefined) {
287
+ return;
288
+ }
232
289
  await dataStyleStore.setModelSurfacesPolygonAttributeItem(modelId, [surfaceId], newValue);
233
290
  hybridViewerStore.remoteRender();
234
291
  },
235
292
  });
236
293
 
237
- const polygonAttributeRange = computed({
294
+ const polygonAttributeRange = computed<[number, number] | undefined>({
238
295
  get: () => dataStyleStore.modelSurfacesPolygonAttributeRange(modelId, surfaceId),
239
296
  set: async (newValue) => {
297
+ const [minimum, maximum] = newValue;
298
+ if (surfaceId === undefined || minimum === undefined || maximum === undefined) {
299
+ return;
300
+ }
240
301
  await dataStyleStore.setModelSurfacesPolygonAttributeRange(
241
302
  modelId,
242
303
  [surfaceId],
243
- newValue[0],
244
- newValue[1],
304
+ minimum,
305
+ maximum,
245
306
  );
246
307
  hybridViewerStore.remoteRender();
247
308
  },
248
309
  });
249
310
 
250
- const polygonAttributeColorMap = computed({
311
+ const polygonAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
251
312
  get: () => dataStyleStore.modelSurfacesPolygonAttributeColorMap(modelId, surfaceId),
252
313
  set: async (newValue) => {
314
+ if (surfaceId === undefined) {
315
+ return;
316
+ }
253
317
  await dataStyleStore.setModelSurfacesPolygonAttributeColorMap(modelId, [surfaceId], newValue);
254
318
  hybridViewerStore.remoteRender();
255
319
  },
256
320
  });
257
321
 
258
- const polygonAttributeNoDataColor = computed({
259
- get: () => dataStyleStore.modelSurfacesPolygonAttributeNoDataColor(modelId, surfaceId),
322
+ const polygonAttributeNoDataColor = computed<RGBAColor | undefined>({
323
+ get: () =>
324
+ dataStyleStore.modelSurfacesPolygonAttributeNoDataColor(modelId, surfaceId) as
325
+ | RGBAColor
326
+ | undefined,
260
327
  set: async (newValue) => {
328
+ if (surfaceId === undefined) {
329
+ return;
330
+ }
261
331
  await dataStyleStore.setModelSurfacesPolygonAttributeNoDataColor(
262
332
  modelId,
263
333
  [surfaceId],
@@ -1,10 +1,13 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import Grid2D_Cells from "@ogw_front/assets/viewer_svgs/grid_2d_cells.svg";
3
- import ViewerGenericMeshCellsOptions from "@ogw_front/components/Viewer/Generic/Mesh/CellsOptions";
3
+ import type { ItemProps } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
4
+ import ViewerGenericMeshCellsOptions from "@ogw_front/components/Viewer/Generic/Mesh/CellsOptions.vue";
4
5
 
5
- const { itemProps } = defineProps({
6
- itemProps: { type: Object, required: true },
7
- });
6
+ interface Props {
7
+ itemProps: ItemProps & { index?: number };
8
+ }
9
+
10
+ const { itemProps } = defineProps<Props>();
8
11
  </script>
9
12
 
10
13
  <template>
@@ -1,10 +1,13 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import Grid2D_Edges from "@ogw_front/assets/viewer_svgs/grid_2d_edges.svg";
3
- import ViewerGenericMeshEdgesOptions from "@ogw_front/components/Viewer/Generic/Mesh/EdgesOptions";
3
+ import type { ItemProps } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
4
+ import ViewerGenericMeshEdgesOptions from "@ogw_front/components/Viewer/Generic/Mesh/EdgesOptions.vue";
4
5
 
5
- const { itemProps } = defineProps({
6
- itemProps: { type: Object, required: true },
7
- });
6
+ interface Props {
7
+ itemProps: ItemProps & { index?: number };
8
+ }
9
+
10
+ const { itemProps } = defineProps<Props>();
8
11
  </script>
9
12
 
10
13
  <template>
@@ -1,10 +1,13 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import Grid2D_Points from "@ogw_front/assets/viewer_svgs/grid_2d_points.svg";
3
- import ViewerGenericMeshPointsOptions from "@ogw_front/components/Viewer/Generic/Mesh/PointsOptions";
3
+ import type { ItemProps } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
4
+ import ViewerGenericMeshPointsOptions from "@ogw_front/components/Viewer/Generic/Mesh/PointsOptions.vue";
4
5
 
5
- const { itemProps } = defineProps({
6
- itemProps: { type: Object, required: true },
7
- });
6
+ interface Props {
7
+ itemProps: ItemProps & { index?: number };
8
+ }
9
+
10
+ const { itemProps } = defineProps<Props>();
8
11
  </script>
9
12
 
10
13
  <template>
@@ -1,10 +1,13 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import Grid3DCells from "@ogw_front/assets/viewer_svgs/grid_3d_cells.svg";
3
- import ViewerGenericMeshCellsOptions from "@ogw_front/components/Viewer/Generic/Mesh/CellsOptions";
3
+ import type { ItemProps } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
4
+ import ViewerGenericMeshCellsOptions from "@ogw_front/components/Viewer/Generic/Mesh/CellsOptions.vue";
4
5
 
5
- const { itemProps } = defineProps({
6
- itemProps: { type: Object, required: true },
7
- });
6
+ interface Props {
7
+ itemProps: ItemProps & { index?: number };
8
+ }
9
+
10
+ const { itemProps } = defineProps<Props>();
8
11
  </script>
9
12
 
10
13
  <template>
@@ -1,10 +1,13 @@
1
- <script setup>
1
+ <script setup lang="ts">
2
2
  import Grid3D_Edges from "@ogw_front/assets/viewer_svgs/grid_3d_edges.svg";
3
- import ViewerGenericMeshEdgesOptions from "@ogw_front/components/Viewer/Generic/Mesh/EdgesOptions";
3
+ import type { ItemProps } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
4
+ import ViewerGenericMeshEdgesOptions from "@ogw_front/components/Viewer/Generic/Mesh/EdgesOptions.vue";
4
5
 
5
- const { itemProps } = defineProps({
6
- itemProps: { type: Object, required: true },
7
- });
6
+ interface Props {
7
+ itemProps: ItemProps & { index?: number };
8
+ }
9
+
10
+ const { itemProps } = defineProps<Props>();
8
11
  </script>
9
12
 
10
13
  <template>