@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,8 +1,10 @@
1
- <script setup>
2
- import ViewerContextMenuItem from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem";
3
- import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector";
4
- import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch";
5
-
1
+ <script setup lang="ts">
2
+ import ViewerContextMenuItem, {
3
+ type ItemProps,
4
+ } from "@ogw_front/components/Viewer/ContextMenu/ContextMenuItem.vue";
5
+ import type { RGBAColor } from "@ogw_front/utils/default_styles/constants";
6
+ import ViewerOptionsColoringTypeSelector from "@ogw_front/components/Viewer/Options/ColoringTypeSelector.vue";
7
+ import ViewerOptionsVisibilitySwitch from "@ogw_front/components/Viewer/Options/VisibilitySwitch.vue";
6
8
  import { useBatchStyle } from "@ogw_front/composables/batch_style";
7
9
  import { useDataStyleStore } from "@ogw_front/stores/data_style";
8
10
  import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
@@ -11,128 +13,150 @@ const dataStyleStore = useDataStyleStore();
11
13
  const hybridViewerStore = useHybridViewerStore();
12
14
  const { applyBatchStyle } = useBatchStyle();
13
15
 
14
- const { itemProps, btnImage, tooltip } = defineProps({
15
- itemProps: { type: Object, required: true },
16
- btnImage: { type: String, required: true },
17
- tooltip: { type: String, required: false, default: "Polyhedra options" },
18
- });
16
+ interface Props {
17
+ itemProps: ItemProps & { index?: number };
18
+ btnImage: string;
19
+ tooltip?: string;
20
+ }
21
+
22
+ const { itemProps, btnImage, tooltip = "Polyhedra options" } = defineProps<Props>();
19
23
 
20
24
  const id = toRef(() => itemProps.id);
21
25
 
22
- const visibility = computed({
26
+ const visibility = computed<boolean>({
23
27
  get: () => dataStyleStore.meshPolyhedraVisibility(id.value),
24
28
  set: async (newValue) => {
25
- await applyBatchStyle(id.value, (targetId) =>
29
+ await applyBatchStyle(id.value, (targetId: string) =>
26
30
  dataStyleStore.setMeshPolyhedraVisibility(targetId, newValue),
27
31
  );
28
32
  hybridViewerStore.remoteRender();
29
33
  },
30
34
  });
31
- const coloring_style_key = computed({
35
+ const coloring_style_key = computed<string>({
32
36
  get: () => dataStyleStore.meshPolyhedraActiveColoring(id.value),
33
37
  set: async (newValue) => {
34
- await applyBatchStyle(id.value, (targetId) =>
38
+ await applyBatchStyle(id.value, (targetId: string) =>
35
39
  dataStyleStore.setMeshPolyhedraActiveColoring(targetId, newValue),
36
40
  );
37
41
  hybridViewerStore.remoteRender();
38
42
  },
39
43
  });
40
- const color = computed({
41
- get: () => dataStyleStore.meshPolyhedraColor(id.value),
44
+ const color = computed<RGBAColor | undefined>({
45
+ get: () => dataStyleStore.meshPolyhedraColor(id.value) as RGBAColor | undefined,
42
46
  set: async (newValue) => {
43
- await applyBatchStyle(id.value, (targetId) =>
47
+ await applyBatchStyle(id.value, (targetId: string) =>
44
48
  dataStyleStore.setMeshPolyhedraColor(targetId, newValue),
45
49
  );
46
50
  hybridViewerStore.remoteRender();
47
51
  },
48
52
  });
49
- const vertex_attribute_name = computed({
53
+ const vertex_attribute_name = computed<string | undefined>({
50
54
  get: () => dataStyleStore.meshPolyhedraVertexAttributeName(id.value),
51
55
  set: async (newValue) => {
52
- await applyBatchStyle(id.value, (targetId) =>
53
- dataStyleStore.setMeshPolyhedraVertexAttributeName(targetId, newValue),
56
+ if (newValue === undefined) {
57
+ return;
58
+ }
59
+ await applyBatchStyle(id.value, (targetId: string) =>
60
+ Promise.resolve(dataStyleStore.setMeshPolyhedraVertexAttributeName(targetId, newValue)),
54
61
  );
55
62
  hybridViewerStore.remoteRender();
56
63
  },
57
64
  });
58
- const vertex_attribute_item = computed({
65
+ const vertex_attribute_item = computed<string | undefined>({
59
66
  get: () => dataStyleStore.meshPolyhedraVertexAttributeItem(id.value),
60
67
  set: async (newValue) => {
61
- await applyBatchStyle(id.value, (targetId) =>
62
- dataStyleStore.setMeshPolyhedraVertexAttributeItem(targetId, newValue),
68
+ await applyBatchStyle(id.value, (targetId: string) =>
69
+ Promise.resolve(dataStyleStore.setMeshPolyhedraVertexAttributeItem(targetId, newValue)),
63
70
  );
64
71
  hybridViewerStore.remoteRender();
65
72
  },
66
73
  });
67
- const vertex_attribute_range = computed({
74
+ const vertex_attribute_range = computed<[number, number] | undefined>({
68
75
  get: () => dataStyleStore.meshPolyhedraVertexAttributeRange(id.value),
69
76
  set: async (newValue) => {
70
- await applyBatchStyle(id.value, (targetId) =>
71
- dataStyleStore.setMeshPolyhedraVertexAttributeRange(targetId, newValue[0], newValue[1]),
77
+ const [minimum, maximum] = newValue;
78
+ if (minimum === undefined || maximum === undefined) {
79
+ return;
80
+ }
81
+ await applyBatchStyle(id.value, (targetId: string) =>
82
+ Promise.resolve(
83
+ dataStyleStore.setMeshPolyhedraVertexAttributeRange(targetId, minimum, maximum),
84
+ ),
72
85
  );
73
86
  hybridViewerStore.remoteRender();
74
87
  },
75
88
  });
76
- const vertex_attribute_color_map = computed({
89
+ const vertex_attribute_color_map = computed<Map<string, RGBAColor>>({
77
90
  get: () => dataStyleStore.meshPolyhedraVertexAttributeColorMap(id.value),
78
91
  set: async (newValue) => {
79
- await applyBatchStyle(id.value, (targetId) =>
80
- dataStyleStore.setMeshPolyhedraVertexAttributeColorMap(targetId, newValue),
92
+ await applyBatchStyle(id.value, (targetId: string) =>
93
+ Promise.resolve(dataStyleStore.setMeshPolyhedraVertexAttributeColorMap(targetId, newValue)),
81
94
  );
82
95
  hybridViewerStore.remoteRender();
83
96
  },
84
97
  });
85
- const vertex_attribute_no_data_color = computed({
86
- get: () => dataStyleStore.meshPolyhedraVertexAttributeNoDataColor(id.value),
98
+ const vertex_attribute_no_data_color = computed<RGBAColor | undefined>({
99
+ get: () =>
100
+ dataStyleStore.meshPolyhedraVertexAttributeNoDataColor(id.value) as RGBAColor | undefined,
87
101
  set: async (newValue) => {
88
- await applyBatchStyle(id.value, (targetId) =>
102
+ await applyBatchStyle(id.value, (targetId: string) =>
89
103
  dataStyleStore.setMeshPolyhedraVertexAttributeNoDataColor(targetId, newValue),
90
104
  );
91
105
  hybridViewerStore.remoteRender();
92
106
  },
93
107
  });
94
- const polyhedron_attribute_name = computed({
108
+ const polyhedron_attribute_name = computed<string | undefined>({
95
109
  get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeName(id.value),
96
110
  set: async (newValue) => {
97
- await applyBatchStyle(id.value, (targetId) =>
98
- dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(targetId, newValue),
111
+ if (newValue === undefined) {
112
+ return;
113
+ }
114
+ await applyBatchStyle(id.value, (targetId: string) =>
115
+ Promise.resolve(dataStyleStore.setMeshPolyhedraPolyhedronAttributeName(targetId, newValue)),
99
116
  );
100
117
  hybridViewerStore.remoteRender();
101
118
  },
102
119
  });
103
- const polyhedron_attribute_item = computed({
120
+ const polyhedron_attribute_item = computed<string | undefined>({
104
121
  get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeItem(id.value),
105
122
  set: async (newValue) => {
106
- await applyBatchStyle(id.value, (targetId) =>
107
- dataStyleStore.setMeshPolyhedraPolyhedronAttributeItem(targetId, newValue),
123
+ await applyBatchStyle(id.value, (targetId: string) =>
124
+ Promise.resolve(dataStyleStore.setMeshPolyhedraPolyhedronAttributeItem(targetId, newValue)),
108
125
  );
109
126
  hybridViewerStore.remoteRender();
110
127
  },
111
128
  });
112
- const polyhedron_attribute_range = computed({
129
+ const polyhedron_attribute_range = computed<[number, number] | undefined>({
113
130
  get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeRange(id.value),
114
131
  set: async (newValue) => {
115
- await dataStyleStore.setMeshPolyhedraPolyhedronAttributeRange(
116
- id.value,
117
- newValue[0],
118
- newValue[1],
132
+ const [minimum, maximum] = newValue;
133
+ if (minimum === undefined || maximum === undefined) {
134
+ return;
135
+ }
136
+ await applyBatchStyle(id.value, (targetId: string) =>
137
+ Promise.resolve(
138
+ dataStyleStore.setMeshPolyhedraPolyhedronAttributeRange(targetId, minimum, maximum),
139
+ ),
119
140
  );
120
141
  hybridViewerStore.remoteRender();
121
142
  },
122
143
  });
123
- const polyhedron_attribute_color_map = computed({
144
+ const polyhedron_attribute_color_map = computed<Map<string, RGBAColor>>({
124
145
  get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeColorMap(id.value),
125
146
  set: async (newValue) => {
126
- await applyBatchStyle(id.value, (targetId) =>
127
- dataStyleStore.setMeshPolyhedraPolyhedronAttributeColorMap(targetId, newValue),
147
+ await applyBatchStyle(id.value, (targetId: string) =>
148
+ Promise.resolve(
149
+ dataStyleStore.setMeshPolyhedraPolyhedronAttributeColorMap(targetId, newValue),
150
+ ),
128
151
  );
129
152
  hybridViewerStore.remoteRender();
130
153
  },
131
154
  });
132
- const polyhedron_attribute_no_data_color = computed({
133
- get: () => dataStyleStore.meshPolyhedraPolyhedronAttributeNoDataColor(id.value),
155
+ const polyhedron_attribute_no_data_color = computed<RGBAColor | undefined>({
156
+ get: () =>
157
+ dataStyleStore.meshPolyhedraPolyhedronAttributeNoDataColor(id.value) as RGBAColor | undefined,
134
158
  set: async (newValue) => {
135
- await applyBatchStyle(id.value, (targetId) =>
159
+ await applyBatchStyle(id.value, (targetId: string) =>
136
160
  dataStyleStore.setMeshPolyhedraPolyhedronAttributeNoDataColor(targetId, newValue),
137
161
  );
138
162
  hybridViewerStore.remoteRender();
@@ -143,6 +167,7 @@ const polyhedron_attribute_no_data_color = computed({
143
167
  <template>
144
168
  <ViewerContextMenuItem
145
169
  data-testid="meshPolyhedraMenu"
170
+ :index="itemProps.index!"
146
171
  :itemProps="itemProps"
147
172
  :tooltip="tooltip"
148
173
  :btnImage="btnImage"
@@ -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, blockId, targetBlockIds } = defineProps({
10
- modelId: { type: String, required: true },
11
- blockId: { type: String, default: undefined },
12
- targetBlockIds: { type: Array, required: true },
13
- });
10
+ interface Props {
11
+ modelId: string;
12
+ blockId?: string;
13
+ targetBlockIds: string[];
14
+ }
15
+
16
+ const { modelId, blockId = undefined, targetBlockIds } = defineProps<Props>();
14
17
 
15
18
  const dataStyleStore = useDataStyleStore();
16
19
  const hybridViewerStore = useHybridViewerStore();
17
20
 
18
21
  // Visibility
19
- const blocksVisibility = computed({
22
+ const blocksVisibility = computed<boolean>({
20
23
  get: () => dataStyleStore.modelComponentTypeVisibility(modelId, "Block"),
21
24
  set: async (newValue) => {
22
25
  await dataStyleStore.setModelBlocksVisibility(modelId, targetBlockIds, newValue);
@@ -24,57 +27,73 @@ const blocksVisibility = computed({
24
27
  },
25
28
  });
26
29
 
27
- const blockVisibility = computed({
28
- get: () => dataStyleStore.modelBlockVisibility(modelId, blockId),
30
+ const blockVisibility = computed<boolean | undefined>({
31
+ get: () => dataStyleStore.modelBlockVisibility(modelId, blockId) as boolean | undefined,
29
32
  set: async (newValue) => {
33
+ if (blockId === undefined) {
34
+ return;
35
+ }
30
36
  await dataStyleStore.setModelBlocksVisibility(modelId, [blockId], newValue);
31
37
  hybridViewerStore.remoteRender();
32
38
  },
33
39
  });
34
40
 
35
41
  // Color
36
- const blocksColor = computed({
37
- get: () => dataStyleStore.modelComponentTypeColor(modelId, "Block"),
42
+ const blocksColor = computed<RGBAColor | undefined>({
43
+ get: () => dataStyleStore.modelComponentTypeColor(modelId, "Block") as RGBAColor | undefined,
38
44
  set: async (color) => {
39
45
  await dataStyleStore.setModelBlocksColor(modelId, targetBlockIds, color);
40
46
  hybridViewerStore.remoteRender();
41
47
  },
42
48
  });
43
49
 
44
- const blockColor = computed({
45
- get: () => dataStyleStore.modelBlockColor(modelId, blockId),
50
+ const blockColor = computed<RGBAColor | undefined>({
51
+ get: () => dataStyleStore.modelBlockColor(modelId, blockId) as RGBAColor | undefined,
46
52
  set: async (color) => {
53
+ if (blockId === undefined) {
54
+ return;
55
+ }
47
56
  await dataStyleStore.setModelBlocksColor(modelId, [blockId], color);
48
57
  hybridViewerStore.remoteRender();
49
58
  },
50
59
  });
51
60
 
52
- const blocksActiveColoring = computed({
53
- get: () => dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Block"),
61
+ const blocksActiveColoring = computed<string | undefined>({
62
+ get: () =>
63
+ dataStyleStore.getModelComponentTypeActiveColoring(modelId, "Block") as string | undefined,
54
64
  set: async (coloringType) => {
65
+ if (typeof coloringType !== "string") {
66
+ return;
67
+ }
55
68
  await dataStyleStore.setModelBlocksActiveColoring(modelId, targetBlockIds, coloringType);
56
69
  hybridViewerStore.remoteRender();
57
70
  },
58
71
  });
59
72
 
60
- const blockActiveColoring = computed({
61
- get: () => dataStyleStore.modelBlockActiveColoring(modelId, blockId),
73
+ const blockActiveColoring = computed<string | undefined>({
74
+ get: () => dataStyleStore.modelBlockActiveColoring(modelId, blockId) as string | undefined,
62
75
  set: async (coloringType) => {
76
+ if (blockId === undefined || typeof coloringType !== "string") {
77
+ return;
78
+ }
63
79
  await dataStyleStore.setModelBlocksActiveColoring(modelId, [blockId], coloringType);
64
80
  hybridViewerStore.remoteRender();
65
81
  },
66
82
  });
67
83
 
68
84
  // Group Attributes
69
- const blocksVertexAttributeName = computed({
85
+ const blocksVertexAttributeName = computed<string | undefined>({
70
86
  get: () => dataStyleStore.modelBlocksVertexAttributeName(modelId),
71
87
  set: async (newValue) => {
88
+ if (newValue === undefined) {
89
+ return;
90
+ }
72
91
  await dataStyleStore.setModelBlocksVertexAttributeName(modelId, targetBlockIds, newValue);
73
92
  hybridViewerStore.remoteRender();
74
93
  },
75
94
  });
76
95
 
77
- const blocksVertexAttributeItem = computed({
96
+ const blocksVertexAttributeItem = computed<string | undefined>({
78
97
  get: () => dataStyleStore.modelBlocksVertexAttributeItem(modelId),
79
98
  set: async (newValue) => {
80
99
  await dataStyleStore.setModelBlocksVertexAttributeItem(modelId, targetBlockIds, newValue);
@@ -82,20 +101,24 @@ const blocksVertexAttributeItem = computed({
82
101
  },
83
102
  });
84
103
 
85
- const blocksVertexAttributeRange = computed({
104
+ const blocksVertexAttributeRange = computed<[number, number] | undefined>({
86
105
  get: () => dataStyleStore.modelBlocksVertexAttributeRange(modelId),
87
106
  set: async (newValue) => {
107
+ const [minimum, maximum] = newValue;
108
+ if (minimum === undefined || maximum === undefined) {
109
+ return;
110
+ }
88
111
  await dataStyleStore.setModelBlocksVertexAttributeRange(
89
112
  modelId,
90
113
  targetBlockIds,
91
- newValue[0],
92
- newValue[1],
114
+ minimum,
115
+ maximum,
93
116
  );
94
117
  hybridViewerStore.remoteRender();
95
118
  },
96
119
  });
97
120
 
98
- const blocksVertexAttributeColorMap = computed({
121
+ const blocksVertexAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
99
122
  get: () => dataStyleStore.modelBlocksVertexAttributeColorMap(modelId),
100
123
  set: async (newValue) => {
101
124
  await dataStyleStore.setModelBlocksVertexAttributeColorMap(modelId, targetBlockIds, newValue);
@@ -103,8 +126,8 @@ const blocksVertexAttributeColorMap = computed({
103
126
  },
104
127
  });
105
128
 
106
- const blocksVertexAttributeNoDataColor = computed({
107
- get: () => dataStyleStore.modelBlocksVertexAttributeNoDataColor(modelId),
129
+ const blocksVertexAttributeNoDataColor = computed<RGBAColor | undefined>({
130
+ get: () => dataStyleStore.modelBlocksVertexAttributeNoDataColor(modelId) as RGBAColor | undefined,
108
131
  set: async (newValue) => {
109
132
  await dataStyleStore.setModelBlocksVertexAttributeNoDataColor(
110
133
  modelId,
@@ -115,15 +138,18 @@ const blocksVertexAttributeNoDataColor = computed({
115
138
  },
116
139
  });
117
140
 
118
- const blocksPolyhedronAttributeName = computed({
141
+ const blocksPolyhedronAttributeName = computed<string | undefined>({
119
142
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeName(modelId),
120
143
  set: async (newValue) => {
144
+ if (newValue === undefined) {
145
+ return;
146
+ }
121
147
  await dataStyleStore.setModelBlocksPolyhedronAttributeName(modelId, targetBlockIds, newValue);
122
148
  hybridViewerStore.remoteRender();
123
149
  },
124
150
  });
125
151
 
126
- const blocksPolyhedronAttributeItem = computed({
152
+ const blocksPolyhedronAttributeItem = computed<string | undefined>({
127
153
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeItem(modelId),
128
154
  set: async (newValue) => {
129
155
  await dataStyleStore.setModelBlocksPolyhedronAttributeItem(modelId, targetBlockIds, newValue);
@@ -131,20 +157,24 @@ const blocksPolyhedronAttributeItem = computed({
131
157
  },
132
158
  });
133
159
 
134
- const blocksPolyhedronAttributeRange = computed({
160
+ const blocksPolyhedronAttributeRange = computed<[number, number] | undefined>({
135
161
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeRange(modelId),
136
162
  set: async (newValue) => {
163
+ const [minimum, maximum] = newValue;
164
+ if (minimum === undefined || maximum === undefined) {
165
+ return;
166
+ }
137
167
  await dataStyleStore.setModelBlocksPolyhedronAttributeRange(
138
168
  modelId,
139
169
  targetBlockIds,
140
- newValue[0],
141
- newValue[1],
170
+ minimum,
171
+ maximum,
142
172
  );
143
173
  hybridViewerStore.remoteRender();
144
174
  },
145
175
  });
146
176
 
147
- const blocksPolyhedronAttributeColorMap = computed({
177
+ const blocksPolyhedronAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
148
178
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeColorMap(modelId),
149
179
  set: async (newValue) => {
150
180
  await dataStyleStore.setModelBlocksPolyhedronAttributeColorMap(
@@ -156,8 +186,9 @@ const blocksPolyhedronAttributeColorMap = computed({
156
186
  },
157
187
  });
158
188
 
159
- const blocksPolyhedronAttributeNoDataColor = computed({
160
- get: () => dataStyleStore.modelBlocksPolyhedronAttributeNoDataColor(modelId),
189
+ const blocksPolyhedronAttributeNoDataColor = computed<RGBAColor | undefined>({
190
+ get: () =>
191
+ dataStyleStore.modelBlocksPolyhedronAttributeNoDataColor(modelId) as RGBAColor | undefined,
161
192
  set: async (newValue) => {
162
193
  await dataStyleStore.setModelBlocksPolyhedronAttributeNoDataColor(
163
194
  modelId,
@@ -169,91 +200,122 @@ const blocksPolyhedronAttributeNoDataColor = computed({
169
200
  });
170
201
 
171
202
  // Individual Attributes
172
- const vertexAttributeName = computed({
203
+ const vertexAttributeName = computed<string | undefined>({
173
204
  get: () => dataStyleStore.modelBlocksVertexAttributeName(modelId, blockId),
174
205
  set: async (newValue) => {
206
+ if (blockId === undefined || newValue === undefined) {
207
+ return;
208
+ }
175
209
  await dataStyleStore.setModelBlocksVertexAttributeName(modelId, [blockId], newValue);
176
210
  hybridViewerStore.remoteRender();
177
211
  },
178
212
  });
179
213
 
180
- const vertexAttributeItem = computed({
214
+ const vertexAttributeItem = computed<string | undefined>({
181
215
  get: () => dataStyleStore.modelBlocksVertexAttributeItem(modelId, blockId),
182
216
  set: async (newValue) => {
217
+ if (blockId === undefined) {
218
+ return;
219
+ }
183
220
  await dataStyleStore.setModelBlocksVertexAttributeItem(modelId, [blockId], newValue);
184
221
  hybridViewerStore.remoteRender();
185
222
  },
186
223
  });
187
224
 
188
- const vertexAttributeRange = computed({
225
+ const vertexAttributeRange = computed<[number, number] | undefined>({
189
226
  get: () => dataStyleStore.modelBlocksVertexAttributeRange(modelId, blockId),
190
227
  set: async (newValue) => {
191
- await dataStyleStore.setModelBlocksVertexAttributeRange(
192
- modelId,
193
- [blockId],
194
- newValue[0],
195
- newValue[1],
196
- );
228
+ const [minimum, maximum] = newValue;
229
+ if (blockId === undefined || minimum === undefined || maximum === undefined) {
230
+ return;
231
+ }
232
+ await dataStyleStore.setModelBlocksVertexAttributeRange(modelId, [blockId], minimum, maximum);
197
233
  hybridViewerStore.remoteRender();
198
234
  },
199
235
  });
200
236
 
201
- const vertexAttributeColorMap = computed({
237
+ const vertexAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
202
238
  get: () => dataStyleStore.modelBlocksVertexAttributeColorMap(modelId, blockId),
203
239
  set: async (newValue) => {
240
+ if (blockId === undefined) {
241
+ return;
242
+ }
204
243
  await dataStyleStore.setModelBlocksVertexAttributeColorMap(modelId, [blockId], newValue);
205
244
  hybridViewerStore.remoteRender();
206
245
  },
207
246
  });
208
247
 
209
- const vertexAttributeNoDataColor = computed({
210
- get: () => dataStyleStore.modelBlocksVertexAttributeNoDataColor(modelId, blockId),
248
+ const vertexAttributeNoDataColor = computed<RGBAColor | undefined>({
249
+ get: () =>
250
+ dataStyleStore.modelBlocksVertexAttributeNoDataColor(modelId, blockId) as RGBAColor | undefined,
211
251
  set: async (newValue) => {
252
+ if (blockId === undefined) {
253
+ return;
254
+ }
212
255
  await dataStyleStore.setModelBlocksVertexAttributeNoDataColor(modelId, [blockId], newValue);
213
256
  hybridViewerStore.remoteRender();
214
257
  },
215
258
  });
216
259
 
217
- const polyhedronAttributeName = computed({
260
+ const polyhedronAttributeName = computed<string | undefined>({
218
261
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeName(modelId, blockId),
219
262
  set: async (newValue) => {
263
+ if (blockId === undefined || newValue === undefined) {
264
+ return;
265
+ }
220
266
  await dataStyleStore.setModelBlocksPolyhedronAttributeName(modelId, [blockId], newValue);
221
267
  hybridViewerStore.remoteRender();
222
268
  },
223
269
  });
224
270
 
225
- const polyhedronAttributeItem = computed({
271
+ const polyhedronAttributeItem = computed<string | undefined>({
226
272
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeItem(modelId, blockId),
227
273
  set: async (newValue) => {
274
+ if (blockId === undefined) {
275
+ return;
276
+ }
228
277
  await dataStyleStore.setModelBlocksPolyhedronAttributeItem(modelId, [blockId], newValue);
229
278
  hybridViewerStore.remoteRender();
230
279
  },
231
280
  });
232
281
 
233
- const polyhedronAttributeRange = computed({
282
+ const polyhedronAttributeRange = computed<[number, number] | undefined>({
234
283
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeRange(modelId, blockId),
235
284
  set: async (newValue) => {
285
+ const [minimum, maximum] = newValue;
286
+ if (blockId === undefined || minimum === undefined || maximum === undefined) {
287
+ return;
288
+ }
236
289
  await dataStyleStore.setModelBlocksPolyhedronAttributeRange(
237
290
  modelId,
238
291
  [blockId],
239
- newValue[0],
240
- newValue[1],
292
+ minimum,
293
+ maximum,
241
294
  );
242
295
  hybridViewerStore.remoteRender();
243
296
  },
244
297
  });
245
298
 
246
- const polyhedronAttributeColorMap = computed({
299
+ const polyhedronAttributeColorMap = computed<Map<string, RGBAColor> | undefined>({
247
300
  get: () => dataStyleStore.modelBlocksPolyhedronAttributeColorMap(modelId, blockId),
248
301
  set: async (newValue) => {
302
+ if (blockId === undefined) {
303
+ return;
304
+ }
249
305
  await dataStyleStore.setModelBlocksPolyhedronAttributeColorMap(modelId, [blockId], newValue);
250
306
  hybridViewerStore.remoteRender();
251
307
  },
252
308
  });
253
309
 
254
- const polyhedronAttributeNoDataColor = computed({
255
- get: () => dataStyleStore.modelBlocksPolyhedronAttributeNoDataColor(modelId, blockId),
310
+ const polyhedronAttributeNoDataColor = computed<RGBAColor | undefined>({
311
+ get: () =>
312
+ dataStyleStore.modelBlocksPolyhedronAttributeNoDataColor(modelId, blockId) as
313
+ | RGBAColor
314
+ | undefined,
256
315
  set: async (newValue) => {
316
+ if (blockId === undefined) {
317
+ return;
318
+ }
257
319
  await dataStyleStore.setModelBlocksPolyhedronAttributeNoDataColor(modelId, [blockId], newValue);
258
320
  hybridViewerStore.remoteRender();
259
321
  },