@geode/opengeodeweb-front 10.25.0-rc.8 → 10.26.0-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.
@@ -5,7 +5,7 @@ const { icon, tooltip, color, size, variant, density, tooltipLocation, iconSize
5
5
  tooltip: { type: String, required: true },
6
6
  color: { type: String, default: undefined },
7
7
  size: { type: [String, Number], default: undefined },
8
- variant: { type: String },
8
+ variant: { type: String, default: undefined },
9
9
  density: { type: String, default: "comfortable" },
10
10
  tooltipLocation: { type: String, default: "left" },
11
11
  iconSize: { type: [String, Number], default: DEFAULT_ICON_SIZE },
@@ -54,6 +54,7 @@ async function saveRename() {
54
54
  color="success"
55
55
  size="x-small"
56
56
  class="mr-1"
57
+ :data-testid="'restoreCameraPosition' + position.name + 'Button'"
57
58
  @click="restorePosition(position.id)"
58
59
  >
59
60
  <v-icon size="14">mdi-play</v-icon>
@@ -27,6 +27,7 @@ async function saveCurrentPosition() {
27
27
  v-model="newPositionName"
28
28
  label="Position Name"
29
29
  placeholder="e.g. Front View"
30
+ data-testid="cameraPositionNameInput"
30
31
  density="compact"
31
32
  variant="outlined"
32
33
  hide-details
@@ -39,6 +40,7 @@ async function saveCurrentPosition() {
39
40
  variant="elevated"
40
41
  block
41
42
  size="small"
43
+ data-testid="saveCameraPositionButton"
42
44
  :disabled="!newPositionName"
43
45
  @click="saveCurrentPosition"
44
46
  height="32"
@@ -38,6 +38,7 @@ const { showDialog, width } = defineProps({
38
38
  size="small"
39
39
  color="white"
40
40
  class="text-caption text-none"
41
+ data-testid="closeCameraManagerButton"
41
42
  @click="emit('close')"
42
43
  >Close</v-btn
43
44
  >
@@ -212,6 +212,7 @@ watch(hoveredFace, (newFace, oldFace) => {
212
212
  size="32"
213
213
  class="satellite-node position-absolute"
214
214
  :style="orientation.position"
215
+ :data-testid="'cameraOrientation' + orientation.vtkKey + 'Button'"
215
216
  @mouseenter="hoveredFace = orientation.face"
216
217
  @mouseleave="hoveredFace = undefined"
217
218
  @click.stop="emit('select', orientation.value)"
@@ -241,6 +242,7 @@ watch(hoveredFace, (newFace, oldFace) => {
241
242
  size="32"
242
243
  variant="text"
243
244
  class="ma-1"
245
+ :data-testid="'cameraOrientation' + orientation.vtkKey + 'Button'"
244
246
  @mouseenter="hoveredFace = orientation.face"
245
247
  @mouseleave="hoveredFace = undefined"
246
248
  @click.stop="emit('select', orientation.value)"
@@ -15,6 +15,7 @@ const { buttonLabel, buttonColor, color } = defineProps({
15
15
  color: {
16
16
  type: String,
17
17
  required: false,
18
+ default: undefined,
18
19
  },
19
20
  });
20
21
 
@@ -96,6 +96,7 @@ watch(screenshot_type, (value) => {
96
96
  value="file"
97
97
  prepend-icon="mdi-file-download-outline"
98
98
  size="small"
99
+ data-testid="screenshotFileButton"
99
100
  class="text-caption text-none"
100
101
  >
101
102
  File
@@ -104,6 +105,7 @@ watch(screenshot_type, (value) => {
104
105
  value="clipboard"
105
106
  prepend-icon="mdi-content-copy"
106
107
  size="small"
108
+ data-testid="screenshotClipboardButton"
107
109
  class="text-caption text-none"
108
110
  >
109
111
  Clipboard
@@ -119,6 +121,7 @@ watch(screenshot_type, (value) => {
119
121
  label="File name"
120
122
  variant="outlined"
121
123
  density="compact"
124
+ data-testid="screenshotFileNameInput"
122
125
  hide-details
123
126
  class="text-caption"
124
127
  ></v-text-field>
@@ -130,6 +133,7 @@ watch(screenshot_type, (value) => {
130
133
  label="Extension"
131
134
  variant="outlined"
132
135
  density="compact"
136
+ data-testid="screenshotExtensionSelect"
133
137
  hide-details
134
138
  required
135
139
  class="text-caption"
@@ -143,6 +147,7 @@ watch(screenshot_type, (value) => {
143
147
  v-model="include_background"
144
148
  :disabled="screenshot_type === 'file' && output_extension !== 'png'"
145
149
  label="Include background"
150
+ data-testid="screenshotIncludeBackgroundSwitch"
146
151
  density="compact"
147
152
  hide-details
148
153
  inset
@@ -158,6 +163,7 @@ watch(screenshot_type, (value) => {
158
163
  variant="text"
159
164
  size="small"
160
165
  color="white"
166
+ data-testid="screenshotCancelButton"
161
167
  class="text-caption text-none"
162
168
  @click="show = false"
163
169
  >
@@ -167,6 +173,7 @@ watch(screenshot_type, (value) => {
167
173
  variant="outlined"
168
174
  size="small"
169
175
  class="text-caption text-none"
176
+ data-testid="screenshotActionButton"
170
177
  :disabled="(screenshot_type === 'file' && !filename) || !output_extension"
171
178
  color="white"
172
179
  @click="takeScreenshot()"
@@ -63,6 +63,7 @@ const camera_options = computed(() => [
63
63
  {
64
64
  title: "Cells",
65
65
  icon: "mdi-select-all",
66
+ testId: "highlightOnHoverCellsButton",
66
67
  action: () => {
67
68
  if (
68
69
  hybridViewerStore.is_hover_highlight &&
@@ -79,6 +80,7 @@ const camera_options = computed(() => [
79
80
  {
80
81
  title: "Points",
81
82
  icon: "mdi-select-drag",
83
+ testId: "highlightOnHoverPointsButton",
82
84
  action: () => {
83
85
  if (
84
86
  hybridViewerStore.is_hover_highlight &&
@@ -180,6 +182,7 @@ const camera_options = computed(() => [
180
182
  <ActionButton
181
183
  :icon="item.icon"
182
184
  :tooltip="item.title"
185
+ :data-testid="item.testId"
183
186
  :color="
184
187
  hybridViewerStore.is_hover_highlight &&
185
188
  hybridViewerStore.hover_highlight_field_type ===
@@ -11,7 +11,7 @@ import { useTreeviewStore } from "@ogw_front/stores/treeview";
11
11
 
12
12
  const { id, viewId } = defineProps({
13
13
  id: { type: String, required: true },
14
- viewId: { type: String, required: false },
14
+ viewId: { type: String, required: false, default: undefined },
15
15
  });
16
16
  const actualViewId = viewId || id;
17
17
  const { onHoverEnter, onHoverLeave } = useHoverhighlight();
@@ -11,7 +11,7 @@ import { useTreeviewStore } from "@ogw_front/stores/treeview";
11
11
 
12
12
  const { id, viewId } = defineProps({
13
13
  id: { type: String, required: true },
14
- viewId: { type: String, required: false },
14
+ viewId: { type: String, required: false, default: undefined },
15
15
  });
16
16
  const actualViewId = viewId || id;
17
17
  const { onHoverEnter, onHoverLeave } = useHoverhighlight();
@@ -5,7 +5,7 @@ import { useDataStyleStore } from "@ogw_front/stores/data_style";
5
5
  import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer";
6
6
 
7
7
  const { dataId, x, y } = defineProps({
8
- dataId: { required: false, type: String },
8
+ dataId: { required: false, type: String, default: undefined },
9
9
  x: { required: true, type: Number },
10
10
  y: { required: true, type: Number },
11
11
  });
@@ -5,17 +5,32 @@ import { useBackStore } from "@ogw_front/stores/back";
5
5
 
6
6
  const emit = defineEmits(["update_value"]);
7
7
 
8
- const { id } = defineProps({
8
+ const {
9
+ id,
10
+ textureId: propTextureId,
11
+ textureName: propTextureName,
12
+ } = defineProps({
9
13
  id: { type: String, required: true },
10
14
  textureId: { type: String, required: true },
11
15
  textureName: { type: String, required: true },
12
16
  });
13
17
 
14
- const textureName = ref("");
15
- textureName.value = textureName;
18
+ const textureName = ref(propTextureName);
19
+ const textureId = ref(propTextureId);
16
20
 
17
- const textureId = ref("");
18
- textureId.value = textureId;
21
+ watch(
22
+ () => propTextureName,
23
+ (newVal) => {
24
+ textureName.value = newVal;
25
+ },
26
+ );
27
+
28
+ watch(
29
+ () => propTextureId,
30
+ (newVal) => {
31
+ textureId.value = newVal;
32
+ },
33
+ );
19
34
 
20
35
  const textureCoordinates = ref([]);
21
36
  const backStore = useBackStore();
@@ -80,14 +95,7 @@ watch(textureId, (value) => {
80
95
  hide-details
81
96
  />
82
97
  </v-col>
83
- <v-badge
84
- :model-value="texture_file_name != ''"
85
- color="white"
86
- floating
87
- dot
88
- offset-x="10"
89
- offset-y="10"
90
- >
98
+ <v-badge :model-value="textureId != ''" color="white" floating dot offset-x="10" offset-y="10">
91
99
  <v-col cols="1" class="ma-1" justify="center" align="center">
92
100
  <FileUploader
93
101
  @files_uploaded="files_uploaded_event($event, index)"
@@ -99,7 +107,7 @@ watch(textureId, (value) => {
99
107
  />
100
108
  </v-col>
101
109
  </v-badge>
102
- <v-col v-if="textureName == '' || texture_file_name == ''" cols="1">
110
+ <v-col v-if="textureName == '' || textureId == ''" cols="1">
103
111
  <v-icon size="20" icon="mdi-close-circle" v-tooltip:bottom="'Invalid texture'" />
104
112
  </v-col>
105
113
  </template>
@@ -95,6 +95,7 @@ defineExpose({ get_viewer_id });
95
95
  variant="flat"
96
96
  prepend-icon="mdi-crosshairs-gps"
97
97
  class="pick-pulse"
98
+ data-testid="pickingActiveChip"
98
99
  style="pointer-events: auto"
99
100
  @click="viewerStore.toggle_picking_mode(false)"
100
101
  >
@@ -116,6 +117,7 @@ defineExpose({ get_viewer_id });
116
117
  size="large"
117
118
  variant="flat"
118
119
  class="pick-pulse"
120
+ data-testid="hoverHighlightChip"
119
121
  style="pointer-events: auto"
120
122
  @click="stopHoverHighlight"
121
123
  >
@@ -58,10 +58,6 @@ function drawCanvasForPreset(presetName, canvas) {
58
58
  ctx.putImageData(imageData, 0, 0);
59
59
  }
60
60
 
61
- export {
62
- drawCanvasForPreset,
63
- getRGBPointsFromPreset,
64
- getPresetByName,
65
- getPresetsWithCurrentAtTop,
66
- colormaps,
67
- };
61
+ export { drawCanvasForPreset, getRGBPointsFromPreset, getPresetByName, getPresetsWithCurrentAtTop };
62
+
63
+ export { default as colormaps } from "@ogw_front/assets/colormaps.json";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geode/opengeodeweb-front",
3
- "version": "10.25.0-rc.8",
3
+ "version": "10.26.0-rc.1",
4
4
  "description": "OpenSource Vue/Nuxt/Pinia/Vuetify framework for web applications",
5
5
  "homepage": "https://github.com/Geode-solutions/OpenGeodeWeb-Front",
6
6
  "bugs": {