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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/.oxlintrc.json +3 -22
  3. package/app/assets/geode_objects.js +26 -26
  4. package/app/components/Carousel.vue +62 -66
  5. package/app/components/CrsSelector.vue +48 -52
  6. package/app/components/DeleteDialog.vue +21 -37
  7. package/app/components/DragAndDrop.vue +35 -41
  8. package/app/components/ExtensionSelector.vue +50 -63
  9. package/app/components/FeedBack/ErrorBanner.vue +7 -10
  10. package/app/components/FeedBack/Snackers.vue +12 -14
  11. package/app/components/FetchingData.vue +1 -6
  12. package/app/components/FileSelector.vue +41 -47
  13. package/app/components/FileUploader.vue +62 -79
  14. package/app/components/GlassCard.vue +19 -19
  15. package/app/components/HybridRenderingView.vue +37 -38
  16. package/app/components/InfraConnected.vue +3 -3
  17. package/app/components/Inspector/InspectionButton.vue +27 -31
  18. package/app/components/Inspector/ResultPanel.vue +13 -24
  19. package/app/components/Launcher.vue +13 -13
  20. package/app/components/Loading.vue +63 -69
  21. package/app/components/MissingFilesSelector.vue +53 -73
  22. package/app/components/ObjectSelector.vue +81 -99
  23. package/app/components/PackagesVersions.vue +27 -30
  24. package/app/components/Recaptcha.vue +60 -71
  25. package/app/components/RemoteRenderingView.vue +102 -108
  26. package/app/components/Screenshot.vue +36 -42
  27. package/app/components/SearchBar.vue +5 -5
  28. package/app/components/Step.vue +37 -44
  29. package/app/components/Stepper.vue +29 -35
  30. package/app/components/VeaseViewToolbar.vue +69 -78
  31. package/app/components/ViewToolbar.vue +41 -45
  32. package/app/components/Viewer/BreadCrumb.vue +18 -30
  33. package/app/components/Viewer/ContextMenu.vue +176 -179
  34. package/app/components/Viewer/ContextMenuItem.vue +105 -117
  35. package/app/components/Viewer/EdgedCurve/PointsOptions.vue +6 -9
  36. package/app/components/Viewer/EdgedCurve/SpecificEdgesOptions.vue +82 -93
  37. package/app/components/Viewer/Generic/Mesh/CellsOptions.vue +84 -99
  38. package/app/components/Viewer/Generic/Mesh/EdgesOptions.vue +83 -98
  39. package/app/components/Viewer/Generic/Mesh/PointsOptions.vue +62 -73
  40. package/app/components/Viewer/Generic/Mesh/PolygonsOptions.vue +84 -108
  41. package/app/components/Viewer/Generic/Mesh/PolyhedraOptions.vue +82 -105
  42. package/app/components/Viewer/Generic/Model/EdgesOptions.vue +19 -23
  43. package/app/components/Viewer/Generic/Model/PointsOptions.vue +26 -30
  44. package/app/components/Viewer/Grid/2D/CellsOptions.vue +5 -5
  45. package/app/components/Viewer/Grid/2D/EdgesOptions.vue +6 -9
  46. package/app/components/Viewer/Grid/2D/PointsOptions.vue +6 -9
  47. package/app/components/Viewer/Grid/3D/CellsOptions.vue +5 -5
  48. package/app/components/Viewer/Grid/3D/EdgesOptions.vue +6 -9
  49. package/app/components/Viewer/Grid/3D/FacetsOptions.vue +5 -5
  50. package/app/components/Viewer/Grid/3D/PointsOptions.vue +6 -9
  51. package/app/components/Viewer/HybridSolid/EdgesOptions.vue +6 -9
  52. package/app/components/Viewer/HybridSolid/PointsOptions.vue +6 -9
  53. package/app/components/Viewer/HybridSolid/PolygonsOptions.vue +6 -9
  54. package/app/components/Viewer/HybridSolid/PolyhedraOptions.vue +6 -9
  55. package/app/components/Viewer/Options/AttributeColorBar.vue +8 -8
  56. package/app/components/Viewer/Options/AttributeSelector.vue +73 -78
  57. package/app/components/Viewer/Options/ColorMapList.vue +115 -140
  58. package/app/components/Viewer/Options/ColorMapPicker.vue +128 -142
  59. package/app/components/Viewer/Options/ColorPicker.vue +9 -9
  60. package/app/components/Viewer/Options/ColoringTypeSelector.vue +77 -91
  61. package/app/components/Viewer/Options/TextureItem.vue +54 -58
  62. package/app/components/Viewer/Options/TexturesSelector.vue +22 -26
  63. package/app/components/Viewer/Options/VisibilitySwitch.vue +1 -1
  64. package/app/components/Viewer/PointSet/SpecificPointsOptions.vue +61 -68
  65. package/app/components/Viewer/PolygonalSurface/EdgesOptions.vue +6 -9
  66. package/app/components/Viewer/PolygonalSurface/PointsOptions.vue +6 -9
  67. package/app/components/Viewer/PolygonalSurface/SpecificPolygonsOptions.vue +83 -103
  68. package/app/components/Viewer/Solid/EdgesOptions.vue +6 -9
  69. package/app/components/Viewer/Solid/PointsOptions.vue +6 -9
  70. package/app/components/Viewer/Solid/PolygonsOptions.vue +6 -9
  71. package/app/components/Viewer/Solid/SpecificPolyhedraOptions.vue +82 -105
  72. package/app/components/Viewer/TetrahedralSolid/TetrahedraOptions.vue +5 -5
  73. package/app/components/Viewer/TetrahedralSolid/TrianglesOptions.vue +5 -5
  74. package/app/components/Viewer/Tree/ObjectTree.vue +80 -89
  75. package/app/components/Viewer/TreeComponent.vue +43 -49
  76. package/app/components/Viewer/TreeObject.vue +48 -50
  77. package/app/components/Viewer/TriangulatedSurface/EdgesOptions.vue +6 -9
  78. package/app/components/Viewer/TriangulatedSurface/PointsOptions.vue +5 -5
  79. package/app/components/Viewer/TriangulatedSurface/TrianglesOptions.vue +5 -5
  80. package/app/components/Wrapper.vue +8 -8
  81. package/app/components/ZScaling.vue +18 -27
  82. package/app/composables/project_manager.js +57 -67
  83. package/app/composables/run_function_when_microservices_connected.js +8 -8
  84. package/app/plugins/auto_store_register.js +11 -13
  85. package/app/stores/app.js +118 -138
  86. package/app/stores/data.js +52 -68
  87. package/app/stores/data_style.js +36 -36
  88. package/app/stores/feedback.js +17 -20
  89. package/app/stores/geode.js +54 -55
  90. package/app/stores/hybrid_viewer.js +164 -177
  91. package/app/stores/infra.js +45 -55
  92. package/app/stores/lambda.js +26 -26
  93. package/app/stores/menu.js +78 -85
  94. package/app/stores/treeview.js +57 -65
  95. package/app/stores/viewer.js +92 -104
  96. package/app/utils/colormap.js +3 -3
  97. package/app/utils/config.js +16 -22
  98. package/app/utils/default_styles.js +50 -62
  99. package/app/utils/extension.js +44 -44
  100. package/app/utils/file_import_workflow.js +50 -64
  101. package/app/utils/local/app_mode.js +2 -2
  102. package/app/utils/local/cleanup.js +66 -72
  103. package/app/utils/local/microservices.js +61 -71
  104. package/app/utils/local/path.js +16 -19
  105. package/app/utils/local/scripts.js +22 -22
  106. package/app/utils/recaptcha.js +6 -6
  107. package/app/utils/server.js +21 -24
  108. package/app/utils/status.js +2 -2
  109. package/app/utils/treeview.js +4 -4
  110. package/app/utils/validate_schema.js +7 -7
  111. package/commitlint.config.js +2 -2
  112. package/eslint.config.js +4 -4
  113. package/internal/database/database.js +38 -46
  114. package/internal/database/extended_database.js +9 -10
  115. package/internal/database/tables/data.js +2 -3
  116. package/internal/database/tables/model_components.js +1 -1
  117. package/internal/database/tables/model_components_relation.js +1 -1
  118. package/internal/stores/data_style/mesh/cells/cell.js +47 -63
  119. package/internal/stores/data_style/mesh/cells/color.js +11 -16
  120. package/internal/stores/data_style/mesh/cells/common.js +6 -6
  121. package/internal/stores/data_style/mesh/cells/index.js +37 -47
  122. package/internal/stores/data_style/mesh/cells/textures.js +11 -12
  123. package/internal/stores/data_style/mesh/cells/vertex.js +47 -58
  124. package/internal/stores/data_style/mesh/cells/visibility.js +11 -16
  125. package/internal/stores/data_style/mesh/edges/color.js +11 -16
  126. package/internal/stores/data_style/mesh/edges/common.js +6 -6
  127. package/internal/stores/data_style/mesh/edges/edge.js +47 -63
  128. package/internal/stores/data_style/mesh/edges/index.js +38 -52
  129. package/internal/stores/data_style/mesh/edges/vertex.js +47 -58
  130. package/internal/stores/data_style/mesh/edges/visibility.js +11 -16
  131. package/internal/stores/data_style/mesh/edges/width.js +11 -16
  132. package/internal/stores/data_style/mesh/index.js +34 -34
  133. package/internal/stores/data_style/mesh/points/color.js +11 -16
  134. package/internal/stores/data_style/mesh/points/common.js +6 -6
  135. package/internal/stores/data_style/mesh/points/index.js +35 -49
  136. package/internal/stores/data_style/mesh/points/size.js +11 -16
  137. package/internal/stores/data_style/mesh/points/vertex.js +47 -58
  138. package/internal/stores/data_style/mesh/points/visibility.js +11 -16
  139. package/internal/stores/data_style/mesh/polygons/color.js +11 -16
  140. package/internal/stores/data_style/mesh/polygons/common.js +6 -6
  141. package/internal/stores/data_style/mesh/polygons/index.js +36 -45
  142. package/internal/stores/data_style/mesh/polygons/polygon.js +45 -56
  143. package/internal/stores/data_style/mesh/polygons/textures.js +11 -16
  144. package/internal/stores/data_style/mesh/polygons/vertex.js +47 -58
  145. package/internal/stores/data_style/mesh/polygons/visibility.js +11 -16
  146. package/internal/stores/data_style/mesh/polyhedra/color.js +11 -16
  147. package/internal/stores/data_style/mesh/polyhedra/common.js +6 -6
  148. package/internal/stores/data_style/mesh/polyhedra/index.js +29 -42
  149. package/internal/stores/data_style/mesh/polyhedra/polyhedron.js +43 -47
  150. package/internal/stores/data_style/mesh/polyhedra/vertex.js +47 -58
  151. package/internal/stores/data_style/mesh/polyhedra/visibility.js +11 -17
  152. package/internal/stores/data_style/model/blocks/color.js +21 -24
  153. package/internal/stores/data_style/model/blocks/common.js +6 -6
  154. package/internal/stores/data_style/model/blocks/index.js +13 -17
  155. package/internal/stores/data_style/model/blocks/visibility.js +21 -24
  156. package/internal/stores/data_style/model/corners/color.js +21 -24
  157. package/internal/stores/data_style/model/corners/common.js +6 -6
  158. package/internal/stores/data_style/model/corners/index.js +14 -18
  159. package/internal/stores/data_style/model/corners/visibility.js +21 -25
  160. package/internal/stores/data_style/model/edges/common.js +4 -4
  161. package/internal/stores/data_style/model/edges/index.js +7 -7
  162. package/internal/stores/data_style/model/edges/visibility.js +11 -15
  163. package/internal/stores/data_style/model/index.js +84 -100
  164. package/internal/stores/data_style/model/lines/color.js +21 -24
  165. package/internal/stores/data_style/model/lines/common.js +6 -6
  166. package/internal/stores/data_style/model/lines/index.js +13 -17
  167. package/internal/stores/data_style/model/lines/visibility.js +21 -24
  168. package/internal/stores/data_style/model/points/common.js +4 -4
  169. package/internal/stores/data_style/model/points/index.js +9 -9
  170. package/internal/stores/data_style/model/points/size.js +11 -11
  171. package/internal/stores/data_style/model/points/visibility.js +11 -15
  172. package/internal/stores/data_style/model/surfaces/color.js +21 -24
  173. package/internal/stores/data_style/model/surfaces/common.js +6 -6
  174. package/internal/stores/data_style/model/surfaces/index.js +14 -22
  175. package/internal/stores/data_style/model/surfaces/visibility.js +18 -22
  176. package/internal/stores/data_style/state.js +11 -11
  177. package/internal/utils/api_fetch.js +24 -34
  178. package/internal/utils/upload_file.js +19 -24
  179. package/internal/utils/viewer_call.js +23 -36
  180. package/nuxt.config.js +7 -11
  181. package/package.json +3 -3
  182. package/scripts/generate_geode_objects.js +14 -16
  183. package/server/api/app/kill.post.js +4 -4
  184. package/server/api/app/project_folder_path.post.js +11 -11
  185. package/server/api/app/run_back.post.js +12 -12
  186. package/server/api/app/run_viewer.post.js +12 -12
  187. package/server/api/extensions/run.post.js +34 -41
  188. package/server/api/extensions/upload.put.js +48 -62
  189. package/tests/integration/setup.js +43 -53
  190. package/tests/integration/stores/data_style/mesh/cells.nuxt.test.js +90 -116
  191. package/tests/integration/stores/data_style/mesh/edges.nuxt.test.js +81 -107
  192. package/tests/integration/stores/data_style/mesh/index.nuxt.test.js +38 -41
  193. package/tests/integration/stores/data_style/mesh/points.nuxt.test.js +85 -101
  194. package/tests/integration/stores/data_style/mesh/polygons.nuxt.test.js +89 -113
  195. package/tests/integration/stores/data_style/mesh/polyhedra.nuxt.test.js +81 -105
  196. package/tests/integration/stores/data_style/model/blocks.nuxt.test.js +56 -73
  197. package/tests/integration/stores/data_style/model/corners.nuxt.test.js +59 -76
  198. package/tests/integration/stores/data_style/model/edges.nuxt.test.js +39 -42
  199. package/tests/integration/stores/data_style/model/index.nuxt.test.js +31 -34
  200. package/tests/integration/stores/data_style/model/lines.nuxt.test.js +60 -73
  201. package/tests/integration/stores/data_style/model/points.nuxt.test.js +52 -55
  202. package/tests/integration/stores/data_style/model/surfaces.nuxt.test.js +59 -80
  203. package/tests/integration/stores/viewer.nuxt.test.js +35 -38
  204. package/tests/setup_indexeddb.js +2 -2
  205. package/tests/unit/components/CrsSelector.nuxt.test.js +28 -28
  206. package/tests/unit/components/ExtensionSelector.nuxt.test.js +33 -35
  207. package/tests/unit/components/FeedBack/ErrorsBanner.nuxt.test.js +23 -23
  208. package/tests/unit/components/FeedBack/Snackers.nuxt.test.js +18 -18
  209. package/tests/unit/components/FileSelector.nuxt.test.js +57 -59
  210. package/tests/unit/components/FileUploader.nuxt.test.js +35 -39
  211. package/tests/unit/components/Inspector/InspectionButton.nuxt.test.js +28 -28
  212. package/tests/unit/components/Inspector/ResultPanel.nuxt.test.js +22 -27
  213. package/tests/unit/components/Launcher.nuxt.test.js +20 -22
  214. package/tests/unit/components/MissingFilesSelector.nuxt.test.js +37 -37
  215. package/tests/unit/components/ObjectSelector.nuxt.test.js +62 -62
  216. package/tests/unit/components/PackagesVersions.nuxt.test.js +16 -16
  217. package/tests/unit/components/Step.nuxt.test.js +18 -19
  218. package/tests/unit/components/Stepper.nuxt.test.js +18 -18
  219. package/tests/unit/composables/api_fetch.nuxt.test.js +34 -36
  220. package/tests/unit/composables/project_manager.nuxt.test.js +93 -112
  221. package/tests/unit/composables/run_function_when_microservices_connected.nuxt.test.js +36 -36
  222. package/tests/unit/composables/upload_file.nuxt.test.js +27 -29
  223. package/tests/unit/plugins/project_load.nuxt.test.js +31 -33
  224. package/tests/unit/stores/app.nuxt.test.js +90 -92
  225. package/tests/unit/stores/feedback.nuxt.test.js +47 -57
  226. package/tests/unit/stores/geode.nuxt.test.js +111 -115
  227. package/tests/unit/stores/infra.nuxt.test.js +148 -148
  228. package/tests/unit/stores/lambda.nuxt.test.js +72 -74
  229. package/tests/unit/stores/treeview.nuxt.test.js +19 -21
  230. package/tests/unit/stores/viewer.nuxt.test.js +109 -122
  231. package/tests/unit/utils/recaptcha.nuxt.test.js +25 -29
  232. package/tests/unit/utils/validate_schema.nuxt.test.js +17 -17
  233. package/tests/utils.js +11 -11
  234. package/tests/vitest.config.js +9 -9
  235. package/vuetify_config.js +2 -2
@@ -1,50 +1,46 @@
1
1
  <script setup>
2
- import GlassCard from "@ogw_front/components/GlassCard"
3
- import fileDownload from "js-file-download"
4
- import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json"
2
+ import GlassCard from "@ogw_front/components/GlassCard";
3
+ import fileDownload from "js-file-download";
4
+ import viewer_schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
5
5
 
6
- import { useViewerStore } from "@ogw_front/stores/viewer"
6
+ import { useViewerStore } from "@ogw_front/stores/viewer";
7
7
 
8
- const emit = defineEmits(["close"])
8
+ const emit = defineEmits(["close"]);
9
9
 
10
- const { show_dialog, width } = defineProps({
11
- show_dialog: { type: Boolean, required: true },
12
- width: { type: Number, required: false, default: 400 },
13
- })
10
+ const { show_dialog, width } = defineProps({
11
+ show_dialog: { type: Boolean, required: true },
12
+ width: { type: Number, required: false, default: 400 },
13
+ });
14
14
 
15
- const output_extensions =
16
- viewer_schemas.opengeodeweb_viewer.viewer.take_screenshot.properties
17
- .output_extension.enum
18
- const filename = ref("")
19
- const output_extension = ref("png")
20
- const include_background = ref(true)
15
+ const output_extensions =
16
+ viewer_schemas.opengeodeweb_viewer.viewer.take_screenshot.properties.output_extension.enum;
17
+ const filename = ref("");
18
+ const output_extension = ref("png");
19
+ const include_background = ref(true);
21
20
 
22
- async function takeScreenshot() {
23
- const viewerStore = useViewerStore()
24
- await viewerStore.request(
25
- viewer_schemas.opengeodeweb_viewer.viewer.take_screenshot,
26
- {
27
- filename: filename.value,
28
- output_extension: output_extension.value,
29
- include_background: include_background.value,
21
+ async function takeScreenshot() {
22
+ const viewerStore = useViewerStore();
23
+ await viewerStore.request(
24
+ viewer_schemas.opengeodeweb_viewer.viewer.take_screenshot,
25
+ {
26
+ filename: filename.value,
27
+ output_extension: output_extension.value,
28
+ include_background: include_background.value,
29
+ },
30
+ {
31
+ response_function: (response) => {
32
+ fileDownload(response.blob, `${filename.value}.${output_extension.value}`);
30
33
  },
31
- {
32
- response_function: (response) => {
33
- fileDownload(
34
- response.blob,
35
- `${filename.value}.${output_extension.value}`,
36
- )
37
- },
38
- },
39
- )
40
- emit("close")
41
- }
34
+ },
35
+ );
36
+ emit("close");
37
+ }
42
38
 
43
- watch(output_extension, (value) => {
44
- if (value !== "png") {
45
- include_background.value = true
46
- }
47
- })
39
+ watch(output_extension, (value) => {
40
+ if (value !== "png") {
41
+ include_background.value = true;
42
+ }
43
+ });
48
44
  </script>
49
45
  <template>
50
46
  <GlassCard
@@ -89,9 +85,7 @@
89
85
 
90
86
  <template #actions>
91
87
  <v-card-actions class="justify-center pb-4">
92
- <v-btn variant="text" color="primary" @click="emit('close')"
93
- >Close</v-btn
94
- >
88
+ <v-btn variant="text" color="primary" @click="emit('close')">Close</v-btn>
95
89
  <v-btn
96
90
  variant="outlined"
97
91
  :disabled="!filename || !output_extension"
@@ -1,10 +1,10 @@
1
1
  <script setup>
2
- const { modelValue, label } = defineProps({
3
- modelValue: { type: String, default: "" },
4
- label: { type: String, default: "Search..." },
5
- })
2
+ const { modelValue, label } = defineProps({
3
+ modelValue: { type: String, default: "" },
4
+ label: { type: String, default: "Search..." },
5
+ });
6
6
 
7
- const emit = defineEmits(["update:modelValue"])
7
+ const emit = defineEmits(["update:modelValue"]);
8
8
  </script>
9
9
 
10
10
  <template>
@@ -1,49 +1,49 @@
1
1
  <script setup>
2
- function truncate(text, maxLength) {
3
- if (text.length > maxLength) {
4
- return `${text.slice(0, maxLength)}...`
5
- }
6
- return text
2
+ function truncate(text, maxLength) {
3
+ if (text.length > maxLength) {
4
+ return `${text.slice(0, maxLength)}...`;
7
5
  }
6
+ return text;
7
+ }
8
8
 
9
- const { step_index } = defineProps({
10
- step_index: { type: Number, required: true },
11
- })
9
+ const { step_index } = defineProps({
10
+ step_index: { type: Number, required: true },
11
+ });
12
12
 
13
- const emit = defineEmits(["reset_values"])
13
+ const emit = defineEmits(["reset_values"]);
14
14
 
15
- const stepper_tree = inject("stepper_tree")
16
- const { current_step_index, steps } = toRefs(stepper_tree)
15
+ const stepper_tree = inject("stepper_tree");
16
+ const { current_step_index, steps } = toRefs(stepper_tree);
17
17
 
18
- watch(current_step_index, (newVal, oldVal) => {
19
- if (newVal < oldVal) {
20
- stepper_tree.navigating_back = true
21
- }
22
- })
23
-
24
- function update_values_event(keys_values_object) {
25
- for (const [key, value] of Object.entries(keys_values_object)) {
26
- stepper_tree[key] = value
27
- }
18
+ watch(current_step_index, (newVal, oldVal) => {
19
+ if (newVal < oldVal) {
20
+ stepper_tree.navigating_back = true;
28
21
  }
22
+ });
29
23
 
30
- function increment_step() {
31
- stepper_tree.current_step_index += 1
24
+ function update_values_event(keys_values_object) {
25
+ for (const [key, value] of Object.entries(keys_values_object)) {
26
+ stepper_tree[key] = value;
32
27
  }
28
+ }
33
29
 
34
- function decrement_step() {
35
- stepper_tree.current_step_index -= 1
36
- }
30
+ function increment_step() {
31
+ stepper_tree.current_step_index += 1;
32
+ }
33
+
34
+ function decrement_step() {
35
+ stepper_tree.current_step_index -= 1;
36
+ }
37
37
 
38
- const sortedChips = computed(() => {
39
- const chips = steps.value[step_index]?.chips || []
40
- return chips.toSorted((chipA, chipB) =>
41
- chipA.localeCompare(chipB, undefined, {
42
- numeric: true,
43
- sensitivity: "base",
44
- }),
45
- )
46
- })
38
+ const sortedChips = computed(() => {
39
+ const chips = steps.value[step_index]?.chips || [];
40
+ return chips.toSorted((chipA, chipB) =>
41
+ chipA.localeCompare(chipB, undefined, {
42
+ numeric: true,
43
+ sensitivity: "base",
44
+ }),
45
+ );
46
+ });
47
47
  </script>
48
48
 
49
49
  <template>
@@ -54,18 +54,11 @@
54
54
  hide-actions
55
55
  >
56
56
  <template #title>
57
- <v-sheet
58
- color="transparent"
59
- class="d-flex flex-column justify-center ps-2"
60
- >
57
+ <v-sheet color="transparent" class="d-flex flex-column justify-center ps-2">
61
58
  <p
62
59
  tag="h3"
63
60
  class="text-subtitle-1 font-weight-bold mb-0 transition-swing"
64
- :class="
65
- current_step_index === step_index
66
- ? 'text-primary'
67
- : 'text-grey-darken-1'
68
- "
61
+ :class="current_step_index === step_index ? 'text-primary' : 'text-grey-darken-1'"
69
62
  >
70
63
  {{ steps[step_index].step_title }}
71
64
  </p>
@@ -1,25 +1,19 @@
1
1
  <script setup>
2
- import Step from "@ogw_front/components/Step"
2
+ import Step from "@ogw_front/components/Step";
3
3
 
4
- const emit = defineEmits(["reset_values", "close"])
5
- const stepper_tree = inject("stepper_tree")
6
- const { steps, current_step_index } = toRefs(stepper_tree)
4
+ const emit = defineEmits(["reset_values", "close"]);
5
+ const stepper_tree = inject("stepper_tree");
6
+ const { steps, current_step_index } = toRefs(stepper_tree);
7
7
  </script>
8
8
 
9
9
  <template>
10
10
  <v-card-item class="flex-shrink-0 pa-0">
11
11
  <div class="px-8 pt-8 pb-4">
12
12
  <div class="d-flex align-center mb-2">
13
- <v-icon
14
- icon="mdi-file-upload-outline"
15
- class="mr-3 title-text"
16
- size="32"
17
- />
13
+ <v-icon icon="mdi-file-upload-outline" class="mr-3 title-text" size="32" />
18
14
  <h2 class="title-text">Import Data</h2>
19
15
  </div>
20
- <p class="text-white text-body-1">
21
- Select and configure your files for a seamless import.
22
- </p>
16
+ <p class="text-white text-body-1">Select and configure your files for a seamless import.</p>
23
17
  </div>
24
18
  </v-card-item>
25
19
 
@@ -40,31 +34,31 @@
40
34
  </template>
41
35
 
42
36
  <style scoped>
43
- .custom-stepper :deep(.v-stepper-vertical-item) {
44
- background: transparent !important;
45
- }
37
+ .custom-stepper :deep(.v-stepper-vertical-item) {
38
+ background: transparent !important;
39
+ }
46
40
 
47
- .custom-stepper :deep(.v-stepper-vertical-item__content) {
48
- background: rgba(255, 255, 255, 0.03) !important;
49
- border-radius: 12px;
50
- margin: 8px 16px 16px 40px !important;
51
- padding: 16px !important;
52
- border: 1px solid rgba(255, 255, 255, 0.05);
53
- }
41
+ .custom-stepper :deep(.v-stepper-vertical-item__content) {
42
+ background: rgba(255, 255, 255, 0.03) !important;
43
+ border-radius: 12px;
44
+ margin: 8px 16px 16px 40px !important;
45
+ padding: 16px !important;
46
+ border: 1px solid rgba(255, 255, 255, 0.05);
47
+ }
54
48
 
55
- .custom-stepper :deep(.v-avatar) {
56
- border: 1px solid rgba(255, 255, 255, 0.2);
57
- background: rgba(255, 255, 255, 0.1) !important;
58
- color: white !important;
59
- }
49
+ .custom-stepper :deep(.v-avatar) {
50
+ border: 1px solid rgba(255, 255, 255, 0.2);
51
+ background: rgba(255, 255, 255, 0.1) !important;
52
+ color: white !important;
53
+ }
60
54
 
61
- .custom-stepper :deep(.v-stepper-vertical-item--active .v-avatar) {
62
- background: #3c9983 !important;
63
- border-color: #3c9983;
64
- color: #0a0f0e !important;
65
- }
55
+ .custom-stepper :deep(.v-stepper-vertical-item--active .v-avatar) {
56
+ background: #3c9983 !important;
57
+ border-color: #3c9983;
58
+ color: #0a0f0e !important;
59
+ }
66
60
 
67
- .custom-stepper :deep(.v-stepper-vertical-item__connector) {
68
- border-color: rgba(255, 255, 255, 0.1) !important;
69
- }
61
+ .custom-stepper :deep(.v-stepper-vertical-item__connector) {
62
+ border-color: rgba(255, 255, 255, 0.1) !important;
63
+ }
70
64
  </style>
@@ -1,84 +1,80 @@
1
1
  <script setup>
2
- import schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json"
2
+ import schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
3
3
 
4
- import Screenshot from "@ogw_front/components/Screenshot"
5
- import ZScaling from "@ogw_front/components/ZScaling"
4
+ import Screenshot from "@ogw_front/components/Screenshot";
5
+ import ZScaling from "@ogw_front/components/ZScaling";
6
6
 
7
- import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer"
8
- import { useViewerStore } from "@ogw_front/stores/viewer"
7
+ import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
8
+ import { useViewerStore } from "@ogw_front/stores/viewer";
9
9
 
10
- const hybridViewerStore = useHybridViewerStore()
11
- const viewerStore = useViewerStore()
12
- const take_screenshot = ref(false)
13
- const showZScaling = ref(false)
14
- const grid_scale = ref(false)
15
- const zScale = ref(hybridViewerStore.zScale)
10
+ const hybridViewerStore = useHybridViewerStore();
11
+ const viewerStore = useViewerStore();
12
+ const take_screenshot = ref(false);
13
+ const showZScaling = ref(false);
14
+ const grid_scale = ref(false);
15
+ const zScale = ref(hybridViewerStore.zScale);
16
16
 
17
- watch(
18
- () => hybridViewerStore.zScale,
19
- (newVal) => {
20
- zScale.value = newVal
21
- },
22
- )
17
+ watch(
18
+ () => hybridViewerStore.zScale,
19
+ (newVal) => {
20
+ zScale.value = newVal;
21
+ },
22
+ );
23
23
 
24
- async function handleZScalingClose() {
25
- await hybridViewerStore.setZScaling(zScale.value)
26
- showZScaling.value = false
27
- }
24
+ async function handleZScalingClose() {
25
+ await hybridViewerStore.setZScaling(zScale.value);
26
+ showZScaling.value = false;
27
+ }
28
28
 
29
- const camera_options = [
30
- {
31
- tooltip: "Reset camera",
32
- icon: "mdi-cube-scan",
33
- action: () => {
34
- const { genericRenderWindow } = storeToRefs(hybridViewerStore)
35
- const renderWindow = genericRenderWindow.value.value.getRenderWindow()
36
- const [renderer] = renderWindow.getRenderers()
37
- renderer.resetCamera()
38
- renderWindow.render()
39
- hybridViewerStore.syncRemoteCamera()
40
- },
29
+ const camera_options = [
30
+ {
31
+ tooltip: "Reset camera",
32
+ icon: "mdi-cube-scan",
33
+ action: () => {
34
+ const { genericRenderWindow } = storeToRefs(hybridViewerStore);
35
+ const renderWindow = genericRenderWindow.value.value.getRenderWindow();
36
+ const [renderer] = renderWindow.getRenderers();
37
+ renderer.resetCamera();
38
+ renderWindow.render();
39
+ hybridViewerStore.syncRemoteCamera();
41
40
  },
42
- {
43
- tooltip: "Take a screenshot",
44
- icon: "mdi-camera",
45
- action: () => {
46
- take_screenshot.value = !take_screenshot.value
47
- },
41
+ },
42
+ {
43
+ tooltip: "Take a screenshot",
44
+ icon: "mdi-camera",
45
+ action: () => {
46
+ take_screenshot.value = !take_screenshot.value;
48
47
  },
49
- {
50
- tooltip: "Toggle grid scale",
51
- icon: "mdi-ruler-square",
52
- action: () => {
53
- viewerStore.request(
54
- schemas.opengeodeweb_viewer.viewer.grid_scale,
55
- { visibility: !grid_scale.value },
56
- {
57
- response_function: () => {
58
- grid_scale.value = !grid_scale.value
59
- hybridViewerStore.remoteRender()
60
- },
48
+ },
49
+ {
50
+ tooltip: "Toggle grid scale",
51
+ icon: "mdi-ruler-square",
52
+ action: () => {
53
+ viewerStore.request(
54
+ schemas.opengeodeweb_viewer.viewer.grid_scale,
55
+ { visibility: !grid_scale.value },
56
+ {
57
+ response_function: () => {
58
+ grid_scale.value = !grid_scale.value;
59
+ hybridViewerStore.remoteRender();
61
60
  },
62
- )
63
- },
61
+ },
62
+ );
64
63
  },
65
- {
66
- tooltip: "Z Scaling Control",
67
- icon: "mdi-sort",
68
- action: () => {
69
- showZScaling.value = !showZScaling.value
70
- },
64
+ },
65
+ {
66
+ tooltip: "Z Scaling Control",
67
+ icon: "mdi-sort",
68
+ action: () => {
69
+ showZScaling.value = !showZScaling.value;
71
70
  },
72
- ]
71
+ },
72
+ ];
73
73
  </script>
74
74
 
75
75
  <template>
76
76
  <v-container :class="[$style.floatToolbar, 'pa-0']" width="auto">
77
- <v-row
78
- v-for="camera_option in camera_options"
79
- :key="camera_option.icon"
80
- dense
81
- >
77
+ <v-row v-for="camera_option in camera_options" :key="camera_option.icon" dense>
82
78
  <v-col>
83
79
  <v-btn
84
80
  density="comfortable"
@@ -92,20 +88,15 @@
92
88
  </v-row>
93
89
  </v-container>
94
90
  <Screenshot :show_dialog="take_screenshot" @close="take_screenshot = false" />
95
- <ZScaling
96
- v-if="showZScaling"
97
- v-model="zScale"
98
- :width="400"
99
- @close="handleZScalingClose"
100
- />
91
+ <ZScaling v-if="showZScaling" v-model="zScale" :width="400" @close="handleZScalingClose" />
101
92
  </template>
102
93
 
103
94
  <style module>
104
- .floatToolbar {
105
- position: absolute;
106
- z-index: 2;
107
- right: 20px;
108
- top: 20px;
109
- background-color: rgba(0, 0, 0, 0);
110
- }
95
+ .floatToolbar {
96
+ position: absolute;
97
+ z-index: 2;
98
+ right: 20px;
99
+ top: 20px;
100
+ background-color: rgba(0, 0, 0, 0);
101
+ }
111
102
  </style>
@@ -1,53 +1,49 @@
1
1
  <script setup>
2
- import schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json"
2
+ import schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json";
3
3
 
4
- import Screenshot from "@ogw_front/components/Screenshot"
5
- import { useViewerStore } from "@ogw_front/stores/viewer"
4
+ import Screenshot from "@ogw_front/components/Screenshot";
5
+ import { useViewerStore } from "@ogw_front/stores/viewer";
6
6
 
7
- const viewerStore = useViewerStore()
8
- const take_screenshot = ref(false)
9
- const grid_scale = ref(false)
7
+ const viewerStore = useViewerStore();
8
+ const take_screenshot = ref(false);
9
+ const grid_scale = ref(false);
10
10
 
11
- const camera_options = [
12
- {
13
- tooltip: "Reset camera",
14
- icon: "mdi-cube-scan",
15
- action: () => {
16
- viewerStore.request(schemas.opengeodeweb_viewer.viewer.reset_camera)
17
- },
11
+ const camera_options = [
12
+ {
13
+ tooltip: "Reset camera",
14
+ icon: "mdi-cube-scan",
15
+ action: () => {
16
+ viewerStore.request(schemas.opengeodeweb_viewer.viewer.reset_camera);
18
17
  },
19
- {
20
- tooltip: "Take a screenshot",
21
- icon: "mdi-camera",
22
- action: () => {
23
- take_screenshot.value = !take_screenshot.value
24
- },
18
+ },
19
+ {
20
+ tooltip: "Take a screenshot",
21
+ icon: "mdi-camera",
22
+ action: () => {
23
+ take_screenshot.value = !take_screenshot.value;
25
24
  },
26
- {
27
- tooltip: "Toggle grid scale",
28
- icon: "mdi-ruler-square",
29
- action: () => {
30
- viewerStore.request(
31
- schemas.opengeodeweb_viewer.viewer.grid_scale,
32
- { visibility: !grid_scale.value },
33
- {
34
- response_function: () => {
35
- grid_scale.value = !grid_scale.value
36
- },
25
+ },
26
+ {
27
+ tooltip: "Toggle grid scale",
28
+ icon: "mdi-ruler-square",
29
+ action: () => {
30
+ viewerStore.request(
31
+ schemas.opengeodeweb_viewer.viewer.grid_scale,
32
+ { visibility: !grid_scale.value },
33
+ {
34
+ response_function: () => {
35
+ grid_scale.value = !grid_scale.value;
37
36
  },
38
- )
39
- },
37
+ },
38
+ );
40
39
  },
41
- ]
40
+ },
41
+ ];
42
42
  </script>
43
43
 
44
44
  <template>
45
45
  <v-container :class="[$style.floatToolbar, 'pa-0']" width="auto">
46
- <v-row
47
- v-for="camera_option in camera_options"
48
- :key="camera_option.icon"
49
- dense
50
- >
46
+ <v-row v-for="camera_option in camera_options" :key="camera_option.icon" dense>
51
47
  <v-col>
52
48
  <v-btn
53
49
  density="comfortable"
@@ -64,11 +60,11 @@
64
60
  </template>
65
61
 
66
62
  <style module>
67
- .floatToolbar {
68
- position: absolute;
69
- z-index: 2;
70
- right: 20px;
71
- top: 20px;
72
- background-color: rgba(0, 0, 0, 0);
73
- }
63
+ .floatToolbar {
64
+ position: absolute;
65
+ z-index: 2;
66
+ right: 20px;
67
+ top: 20px;
68
+ background-color: rgba(0, 0, 0, 0);
69
+ }
74
70
  </style>
@@ -1,19 +1,19 @@
1
1
  <script setup>
2
- import { useDataStore } from "@ogw_front/stores/data"
3
- import { useTreeviewStore } from "@ogw_front/stores/treeview"
2
+ import { useDataStore } from "@ogw_front/stores/data";
3
+ import { useTreeviewStore } from "@ogw_front/stores/treeview";
4
4
 
5
- const dataStore = useDataStore()
6
- const treeviewStore = useTreeviewStore()
5
+ const dataStore = useDataStore();
6
+ const treeviewStore = useTreeviewStore();
7
7
 
8
- const selectedTree = computed(() => treeviewStore.selectedTree)
8
+ const selectedTree = computed(() => treeviewStore.selectedTree);
9
9
 
10
- function goBackToFileTree() {
11
- treeviewStore.displayFileTree()
12
- }
10
+ function goBackToFileTree() {
11
+ treeviewStore.displayFileTree();
12
+ }
13
13
 
14
- const model_id = computed(() => treeviewStore.model_id)
14
+ const model_id = computed(() => treeviewStore.model_id);
15
15
 
16
- const metaDatas = dataStore.refItem(model_id.value)
16
+ const metaDatas = dataStore.refItem(model_id.value);
17
17
  </script>
18
18
 
19
19
  <template>
@@ -21,22 +21,12 @@
21
21
  <div class="d-flex align-center gap-2 ml-2 mt-2 mb-1">
22
22
  <v-menu v-if="treeviewStore.isAdditionnalTreeDisplayed" offset-y>
23
23
  <template v-slot:activator="{ props }">
24
- <v-btn
25
- icon
26
- variant="text"
27
- size="medium"
28
- v-bind="props"
29
- @click="goBackToFileTree"
30
- >
24
+ <v-btn icon variant="text" size="medium" v-bind="props" @click="goBackToFileTree">
31
25
  <v-icon size="large">mdi-file-tree</v-icon>
32
26
  </v-btn>
33
27
  <span class="text-h5 font-weight-bold">/</span>
34
28
  <v-icon size="x-large">
35
- {{
36
- selectedTree && selectedTree.icon
37
- ? selectedTree.icon
38
- : "mdi-shape-outline"
39
- }}
29
+ {{ selectedTree && selectedTree.icon ? selectedTree.icon : "mdi-shape-outline" }}
40
30
  </v-icon>
41
31
  <span class="text-subtitle-1 font-weight-regular align-center mt-1">
42
32
  Model Explorer ({{ metaDatas.name }})
@@ -46,18 +36,16 @@
46
36
 
47
37
  <div v-else class="d-flex align-center gap-2">
48
38
  <v-icon size="large">mdi-file-tree</v-icon>
49
- <span class="text-subtitle-1 font-weight-regular align-center mt-1">
50
- Objects
51
- </span>
39
+ <span class="text-subtitle-1 font-weight-regular align-center mt-1"> Objects </span>
52
40
  </div>
53
41
  </div>
54
42
  </v-breadcrumbs>
55
43
  </template>
56
44
 
57
45
  <style scoped>
58
- .breadcrumb-container {
59
- max-width: 100%;
60
- overflow: hidden;
61
- white-space: nowrap;
62
- }
46
+ .breadcrumb-container {
47
+ max-width: 100%;
48
+ overflow: hidden;
49
+ white-space: nowrap;
50
+ }
63
51
  </style>