vease 1.52.0 → 1.53.0

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.
@@ -174,6 +174,9 @@ async function selectThresholdCellAttribute(window, datasetName, attributeName)
174
174
  async function selectThresholdBlockPolyhedron(window, datasetName, attributeName) {
175
175
  await selectThresholdAttribute(window, datasetName, "Block polyhedron attribute", attributeName);
176
176
  }
177
+ async function selectThresholdSurfacePolygon(window, datasetName, attributeName) {
178
+ await selectThresholdAttribute(window, datasetName, "Surface polygon attribute", attributeName);
179
+ }
177
180
  async function setThresholdMinimum(window, minimum) {
178
181
  const input = window.getByTestId("thresholdFilterPanel").getByTestId("attributeMinInput").locator("input");
179
182
  await input.fill(minimum.toString());
@@ -224,4 +227,4 @@ async function drawZoomBox(window, deltaX, deltaY) {
224
227
  await expect(window.getByTestId("zoomBoxActiveChip")).toBeHidden();
225
228
  }
226
229
  //#endregion
227
- export { activateZoomToBox, clearRuler, closeCameraManager, drawZoomBox, ensureHighlightMenuOpen, removeExplodeFilter, removeThresholdFilter, resetCamera, resetExplodeFilter, resetShrinkFilter, resetThresholdFilter, restoreCameraPosition, rotateCamera, saveCameraPosition, selectCameraOrientation, selectShrinkDatasets, selectThresholdBlockPolyhedron, selectThresholdCellAttribute, setExplodeFactor, setRulerPointInput, setShrinkFactor, setThresholdMinimum, setZScaling, toggleCameraManager, toggleCameraOrientation, toggleCenterOnClick, toggleExplodeFilter, toggleGridScale, toggleRuler, toggleRulerSnap, toggleShrinkFilter, toggleShrinkTargetAllVisible, toggleThresholdFilter };
230
+ export { activateZoomToBox, clearRuler, closeCameraManager, drawZoomBox, ensureHighlightMenuOpen, removeExplodeFilter, removeThresholdFilter, resetCamera, resetExplodeFilter, resetShrinkFilter, resetThresholdFilter, restoreCameraPosition, rotateCamera, saveCameraPosition, selectCameraOrientation, selectShrinkDatasets, selectThresholdBlockPolyhedron, selectThresholdCellAttribute, selectThresholdSurfacePolygon, setExplodeFactor, setRulerPointInput, setShrinkFactor, setThresholdMinimum, setZScaling, toggleCameraManager, toggleCameraOrientation, toggleCenterOnClick, toggleExplodeFilter, toggleGridScale, toggleRuler, toggleRulerSnap, toggleShrinkFilter, toggleShrinkTargetAllVisible, toggleThresholdFilter };
@@ -114,5 +114,18 @@ async function setFeatureNoDataColor(window, menuTestId) {
114
114
  await moveMouseOutOfTheWay(window);
115
115
  await waitForActionSettled(window);
116
116
  }
117
+ async function setFeatureTimeStep(window, menuTestId, timeStep) {
118
+ if (typeof menuTestId === "string") await ensureMenuOpen(window, menuTestId);
119
+ const sliderThumb = getMenuContainer(window, menuTestId).getByTestId("timeStepSlider").first().getByRole("slider");
120
+ await sliderThumb.waitFor({ state: "visible" });
121
+ await sliderThumb.focus();
122
+ await sliderThumb.press("Home");
123
+ for (let step = 0; step < timeStep; step += 1) await sliderThumb.press("ArrowRight");
124
+ await waitForActionSettled(window);
125
+ await sliderThumb.blur();
126
+ await resetMenuScroll(window, 0);
127
+ await moveMouseOutOfTheWay(window);
128
+ await waitForActionSettled(window);
129
+ }
117
130
  //#endregion
118
- export { applyAttribute, resetMenuScroll, setFeatureAttribute, setFeatureColorMap, setFeatureItem, setFeatureNoDataColor, setQuickColorMap };
131
+ export { applyAttribute, resetMenuScroll, setFeatureAttribute, setFeatureColorMap, setFeatureItem, setFeatureNoDataColor, setFeatureTimeStep, setQuickColorMap };
@@ -9,7 +9,7 @@ import { openMeshPointsMenu, setMeshPointsNoDataColor, setMeshPointsVertexAttrib
9
9
  import { copyMeshPointsColor, pasteMeshPointsColorInput, setMeshPointsColor, setMeshPointsColorInput, setMeshPointsColorWithSlider, setMeshPointsColoringStyle, setMeshPointsOpacity } from "./mesh/points/color.js";
10
10
  import { setMeshPointsSize } from "./mesh/points/size.js";
11
11
  import { setMeshPointsVisibility } from "./mesh/points/visibility.js";
12
- import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsVertexAttribute } from "./mesh/polygon/attribute.js";
12
+ import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute } from "./mesh/polygon/attribute.js";
13
13
  import { copyMeshPolygonsColor, pasteMeshPolygonsColorInput, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsOpacity } from "./mesh/polygon/color.js";
14
14
  import { setMeshPolygonsTextures } from "./mesh/polygon/textures.js";
15
15
  import { setMeshPolygonsVisibility } from "./mesh/polygon/visibility.js";
@@ -24,4 +24,4 @@ import { setModelPointsSize } from "./model/points/size.js";
24
24
  import { setModelPointsVisibility } from "./model/points/visibility.js";
25
25
  import { setModelSurfacesVisibility } from "./model/surfaces/visibility.js";
26
26
  import "./model/index.js";
27
- export { copyMeshCellsColor, copyMeshEdgesColor, copyMeshPointsColor, copyMeshPolygonsColor, copyMeshPolyhedraColor, copyModelEdgesColor, copyModelPointsColor, copyModelPolygonsColor, copyModelPolyhedraColor, openMeshCellsMenu, openMeshEdgesMenu, openMeshPointsMenu, openMeshPolygonsMenu, openMeshPolyhedraMenu, pasteMeshCellsColorInput, pasteMeshEdgesColorInput, pasteMeshPointsColorInput, pasteMeshPolygonsColorInput, pasteMeshPolyhedraColorInput, pasteModelEdgesColorInput, pasteModelPointsColorInput, pasteModelPolygonsColorInput, pasteModelPolyhedraColorInput, setMeshCellsCellAttribute, setMeshCellsColor, setMeshCellsColorInput, setMeshCellsColorMap, setMeshCellsColorWithSlider, setMeshCellsColoringStyle, setMeshCellsItem, setMeshCellsNoDataColor, setMeshCellsOpacity, setMeshCellsVertexAttribute, setMeshCellsVisibility, setMeshEdgesColor, setMeshEdgesColorInput, setMeshEdgesColorMap, setMeshEdgesColorWithSlider, setMeshEdgesColoringStyle, setMeshEdgesEdgeAttribute, setMeshEdgesItem, setMeshEdgesNoDataColor, setMeshEdgesOpacity, setMeshEdgesVertexAttribute, setMeshEdgesVisibility, setMeshEdgesWidth, setMeshPointsColor, setMeshPointsColorInput, setMeshPointsColorWithSlider, setMeshPointsColoringStyle, setMeshPointsNoDataColor, setMeshPointsOpacity, setMeshPointsSize, setMeshPointsVertexAttribute, setMeshPointsVisibility, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility, setMeshPolyhedraColor, setMeshPolyhedraColorBlack, setMeshPolyhedraColorInput, setMeshPolyhedraColorMap, setMeshPolyhedraColorWithSlider, setMeshPolyhedraColoringStyle, setMeshPolyhedraItem, setMeshPolyhedraNoDataColor, setMeshPolyhedraOpacity, setMeshPolyhedraPolyhedronAttribute, setMeshPolyhedraVertexAttribute, setMeshPolyhedraVisibility, setModelCellsCellAttribute, setModelCellsVertexAttribute, setModelColor, setModelColorWithSlider, setModelColoringStyle, setModelEdgesColorInput, setModelEdgesEdgeAttribute, setModelEdgesVertexAttribute, setModelEdgesVertexAttributeNoDataColor, setModelEdgesVisibility, setModelOpacity, setModelPointsColorInput, setModelPointsSize, setModelPointsVertexAttribute, setModelPointsVertexAttributeNoDataColor, setModelPointsVisibility, setModelPolygonsColorInput, setModelPolygonsPolygonAttribute, setModelPolygonsVertexAttribute, setModelPolygonsVertexAttributeNoDataColor, setModelPolyhedraColorInput, setModelPolyhedraPolyhedronAttribute, setModelPolyhedraVertexAttribute, setModelPolyhedraVertexAttributeNoDataColor, setModelSurfacesVisibility };
27
+ export { copyMeshCellsColor, copyMeshEdgesColor, copyMeshPointsColor, copyMeshPolygonsColor, copyMeshPolyhedraColor, copyModelEdgesColor, copyModelPointsColor, copyModelPolygonsColor, copyModelPolyhedraColor, openMeshCellsMenu, openMeshEdgesMenu, openMeshPointsMenu, openMeshPolygonsMenu, openMeshPolyhedraMenu, pasteMeshCellsColorInput, pasteMeshEdgesColorInput, pasteMeshPointsColorInput, pasteMeshPolygonsColorInput, pasteMeshPolyhedraColorInput, pasteModelEdgesColorInput, pasteModelPointsColorInput, pasteModelPolygonsColorInput, pasteModelPolyhedraColorInput, setMeshCellsCellAttribute, setMeshCellsColor, setMeshCellsColorInput, setMeshCellsColorMap, setMeshCellsColorWithSlider, setMeshCellsColoringStyle, setMeshCellsItem, setMeshCellsNoDataColor, setMeshCellsOpacity, setMeshCellsVertexAttribute, setMeshCellsVisibility, setMeshEdgesColor, setMeshEdgesColorInput, setMeshEdgesColorMap, setMeshEdgesColorWithSlider, setMeshEdgesColoringStyle, setMeshEdgesEdgeAttribute, setMeshEdgesItem, setMeshEdgesNoDataColor, setMeshEdgesOpacity, setMeshEdgesVertexAttribute, setMeshEdgesVisibility, setMeshEdgesWidth, setMeshPointsColor, setMeshPointsColorInput, setMeshPointsColorWithSlider, setMeshPointsColoringStyle, setMeshPointsNoDataColor, setMeshPointsOpacity, setMeshPointsSize, setMeshPointsVertexAttribute, setMeshPointsVisibility, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility, setMeshPolyhedraColor, setMeshPolyhedraColorBlack, setMeshPolyhedraColorInput, setMeshPolyhedraColorMap, setMeshPolyhedraColorWithSlider, setMeshPolyhedraColoringStyle, setMeshPolyhedraItem, setMeshPolyhedraNoDataColor, setMeshPolyhedraOpacity, setMeshPolyhedraPolyhedronAttribute, setMeshPolyhedraVertexAttribute, setMeshPolyhedraVisibility, setModelCellsCellAttribute, setModelCellsVertexAttribute, setModelColor, setModelColorWithSlider, setModelColoringStyle, setModelEdgesColorInput, setModelEdgesEdgeAttribute, setModelEdgesVertexAttribute, setModelEdgesVertexAttributeNoDataColor, setModelEdgesVisibility, setModelOpacity, setModelPointsColorInput, setModelPointsSize, setModelPointsVertexAttribute, setModelPointsVertexAttributeNoDataColor, setModelPointsVisibility, setModelPolygonsColorInput, setModelPolygonsPolygonAttribute, setModelPolygonsVertexAttribute, setModelPolygonsVertexAttributeNoDataColor, setModelPolyhedraColorInput, setModelPolyhedraPolyhedronAttribute, setModelPolyhedraVertexAttribute, setModelPolyhedraVertexAttributeNoDataColor, setModelSurfacesVisibility };
@@ -12,7 +12,7 @@ import { copyMeshPointsColor, pasteMeshPointsColorInput, setMeshPointsColor, set
12
12
  import { setMeshPointsSize } from "./points/size.js";
13
13
  import { setMeshPointsVisibility } from "./points/visibility.js";
14
14
  import "./points/index.js";
15
- import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsVertexAttribute } from "./polygon/attribute.js";
15
+ import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute } from "./polygon/attribute.js";
16
16
  import { copyMeshPolygonsColor, pasteMeshPolygonsColorInput, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsOpacity } from "./polygon/color.js";
17
17
  import { setMeshPolygonsTextures } from "./polygon/textures.js";
18
18
  import { setMeshPolygonsVisibility } from "./polygon/visibility.js";
@@ -21,4 +21,4 @@ import { openMeshPolyhedraMenu, setMeshPolyhedraColorMap, setMeshPolyhedraItem,
21
21
  import { copyMeshPolyhedraColor, pasteMeshPolyhedraColorInput, setMeshPolyhedraColor, setMeshPolyhedraColorBlack, setMeshPolyhedraColorInput, setMeshPolyhedraColorWithSlider, setMeshPolyhedraColoringStyle, setMeshPolyhedraOpacity } from "./polyhedra/color.js";
22
22
  import { setMeshPolyhedraVisibility } from "./polyhedra/visibility.js";
23
23
  import "./polyhedra/index.js";
24
- export { copyMeshCellsColor, copyMeshEdgesColor, copyMeshPointsColor, copyMeshPolygonsColor, copyMeshPolyhedraColor, openMeshCellsMenu, openMeshEdgesMenu, openMeshPointsMenu, openMeshPolygonsMenu, openMeshPolyhedraMenu, pasteMeshCellsColorInput, pasteMeshEdgesColorInput, pasteMeshPointsColorInput, pasteMeshPolygonsColorInput, pasteMeshPolyhedraColorInput, setMeshCellsCellAttribute, setMeshCellsColor, setMeshCellsColorInput, setMeshCellsColorMap, setMeshCellsColorWithSlider, setMeshCellsColoringStyle, setMeshCellsItem, setMeshCellsNoDataColor, setMeshCellsOpacity, setMeshCellsVertexAttribute, setMeshCellsVisibility, setMeshEdgesColor, setMeshEdgesColorInput, setMeshEdgesColorMap, setMeshEdgesColorWithSlider, setMeshEdgesColoringStyle, setMeshEdgesEdgeAttribute, setMeshEdgesItem, setMeshEdgesNoDataColor, setMeshEdgesOpacity, setMeshEdgesVertexAttribute, setMeshEdgesVisibility, setMeshEdgesWidth, setMeshPointsColor, setMeshPointsColorInput, setMeshPointsColorWithSlider, setMeshPointsColoringStyle, setMeshPointsNoDataColor, setMeshPointsOpacity, setMeshPointsSize, setMeshPointsVertexAttribute, setMeshPointsVisibility, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility, setMeshPolyhedraColor, setMeshPolyhedraColorBlack, setMeshPolyhedraColorInput, setMeshPolyhedraColorMap, setMeshPolyhedraColorWithSlider, setMeshPolyhedraColoringStyle, setMeshPolyhedraItem, setMeshPolyhedraNoDataColor, setMeshPolyhedraOpacity, setMeshPolyhedraPolyhedronAttribute, setMeshPolyhedraVertexAttribute, setMeshPolyhedraVisibility };
24
+ export { copyMeshCellsColor, copyMeshEdgesColor, copyMeshPointsColor, copyMeshPolygonsColor, copyMeshPolyhedraColor, openMeshCellsMenu, openMeshEdgesMenu, openMeshPointsMenu, openMeshPolygonsMenu, openMeshPolyhedraMenu, pasteMeshCellsColorInput, pasteMeshEdgesColorInput, pasteMeshPointsColorInput, pasteMeshPolygonsColorInput, pasteMeshPolyhedraColorInput, setMeshCellsCellAttribute, setMeshCellsColor, setMeshCellsColorInput, setMeshCellsColorMap, setMeshCellsColorWithSlider, setMeshCellsColoringStyle, setMeshCellsItem, setMeshCellsNoDataColor, setMeshCellsOpacity, setMeshCellsVertexAttribute, setMeshCellsVisibility, setMeshEdgesColor, setMeshEdgesColorInput, setMeshEdgesColorMap, setMeshEdgesColorWithSlider, setMeshEdgesColoringStyle, setMeshEdgesEdgeAttribute, setMeshEdgesItem, setMeshEdgesNoDataColor, setMeshEdgesOpacity, setMeshEdgesVertexAttribute, setMeshEdgesVisibility, setMeshEdgesWidth, setMeshPointsColor, setMeshPointsColorInput, setMeshPointsColorWithSlider, setMeshPointsColoringStyle, setMeshPointsNoDataColor, setMeshPointsOpacity, setMeshPointsSize, setMeshPointsVertexAttribute, setMeshPointsVisibility, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility, setMeshPolyhedraColor, setMeshPolyhedraColorBlack, setMeshPolyhedraColorInput, setMeshPolyhedraColorMap, setMeshPolyhedraColorWithSlider, setMeshPolyhedraColoringStyle, setMeshPolyhedraItem, setMeshPolyhedraNoDataColor, setMeshPolyhedraOpacity, setMeshPolyhedraPolyhedronAttribute, setMeshPolyhedraVertexAttribute, setMeshPolyhedraVisibility };
@@ -3,7 +3,7 @@ import { waitForActionSettled } from "../../../wait_for_action_settled.js";
3
3
  import { moveMouseOutOfTheWay } from "../../../app_interaction.js";
4
4
  import { ensureMenuOpen, openStyleMenu } from "../../../viewer_interaction.js";
5
5
  import { SLIDER_PINK, clickColorPickerCanvas, clickColorPickerSlider } from "../../helpers/color_picker.js";
6
- import { setFeatureAttribute, setFeatureColorMap, setFeatureItem } from "../../helpers/attribute.js";
6
+ import { setFeatureAttribute, setFeatureColorMap, setFeatureItem, setFeatureTimeStep } from "../../helpers/attribute.js";
7
7
  //#region tests/e2e/utils/data/mesh/polygon/attribute.ts
8
8
  async function setMeshPolygonsVertexAttribute(window, attributeName, options = {}) {
9
9
  await setFeatureAttribute(window, meshViewerObjectType, polygonsFeatureName, vertexAttributeType, attributeName, options);
@@ -15,6 +15,10 @@ async function setMeshPolygonsItem(window, item) {
15
15
  const menuTestId = `${meshViewerObjectType}${polygonsFeatureName}Menu`;
16
16
  await setFeatureItem(window, menuTestId, item);
17
17
  }
18
+ async function setMeshPolygonsTimeStep(window, timeStep) {
19
+ const menuTestId = `${meshViewerObjectType}${polygonsFeatureName}Menu`;
20
+ await setFeatureTimeStep(window, menuTestId, timeStep);
21
+ }
18
22
  async function setMeshPolygonsColorMap(window, colorMap) {
19
23
  const menuTestId = `${meshViewerObjectType}${polygonsFeatureName}Menu`;
20
24
  await setFeatureColorMap(window, menuTestId, colorMap);
@@ -38,4 +42,4 @@ async function setMeshPolygonsNoDataColor(window) {
38
42
  await waitForActionSettled(window);
39
43
  }
40
44
  //#endregion
41
- export { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsVertexAttribute };
45
+ export { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute };
@@ -1,5 +1,5 @@
1
- import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsVertexAttribute } from "./attribute.js";
1
+ import { openMeshPolygonsMenu, setMeshPolygonsColorMap, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsPolygonAttribute, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute } from "./attribute.js";
2
2
  import { copyMeshPolygonsColor, pasteMeshPolygonsColorInput, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsOpacity } from "./color.js";
3
3
  import { setMeshPolygonsTextures } from "./textures.js";
4
4
  import { setMeshPolygonsVisibility } from "./visibility.js";
5
- export { copyMeshPolygonsColor, openMeshPolygonsMenu, pasteMeshPolygonsColorInput, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility };
5
+ export { copyMeshPolygonsColor, openMeshPolygonsMenu, pasteMeshPolygonsColorInput, setMeshPolygonsColor, setMeshPolygonsColorInput, setMeshPolygonsColorMap, setMeshPolygonsColorWithSlider, setMeshPolygonsColoringStyle, setMeshPolygonsItem, setMeshPolygonsNoDataColor, setMeshPolygonsOpacity, setMeshPolygonsPolygonAttribute, setMeshPolygonsTextures, setMeshPolygonsTimeStep, setMeshPolygonsVertexAttribute, setMeshPolygonsVisibility };
@@ -71,6 +71,16 @@ async function openModelComponentContextMenu(window, rowName, rowIndex = 0, tree
71
71
  await ensureMenuOpen(window, "modelStyleMenu");
72
72
  await resetMenuScroll(window, 0);
73
73
  }
74
+ async function openModelComponentTypeContextMenu(window, componentType) {
75
+ await closeAllMenus(window);
76
+ await (await getTreeRowByTextAndParent(window, componentType, "00000000-", getModelComponentsObjectTree(window))).locator(".tree-item-label").first().click({
77
+ button: "right",
78
+ force: true
79
+ });
80
+ await waitForActionSettled(window);
81
+ await ensureMenuOpen(window, "modelStyleMenu");
82
+ await resetMenuScroll(window, 0);
83
+ }
74
84
  async function setModelTreeRowColorRandom(window, rowName, rowIndex = 0) {
75
85
  await openModelComponentContextMenu(window, rowName, rowIndex);
76
86
  await setModelColor(window);
@@ -94,4 +104,4 @@ async function hideAllComponentLeafRows(window, categoryName) {
94
104
  await waitForActionSettled(window);
95
105
  }
96
106
  //#endregion
97
- export { collapseMeshComponentType, collapseModelComponentTypes, collapseModelComponentsObjectTree, collapseModelComponentsObjectTreeGroup, expandMeshComponentType, expandModelComponentsObjectTree, getModelComponentTypeOptions, getModelComponentsObjectTree, hideAllComponentLeafRows, hoverCorners, hoverLines, hoverModelBlock, hoverSurfaces, openModelComponentContextMenu, openModelComponentsTree, setModelTreeRowColorRandom, toggleModelTreeRow };
107
+ export { collapseMeshComponentType, collapseModelComponentTypes, collapseModelComponentsObjectTree, collapseModelComponentsObjectTreeGroup, expandMeshComponentType, expandModelComponentsObjectTree, getModelComponentTypeOptions, getModelComponentsObjectTree, hideAllComponentLeafRows, hoverCorners, hoverLines, hoverModelBlock, hoverSurfaces, openModelComponentContextMenu, openModelComponentTypeContextMenu, openModelComponentsTree, setModelTreeRowColorRandom, toggleModelTreeRow };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vease",
3
- "version": "1.52.0",
3
+ "version": "1.53.0",
4
4
  "description": "Desktop and cloud software for data visualization",
5
5
  "keywords": [
6
6
  "Desktop",
@@ -243,6 +243,14 @@ async function selectThresholdBlockPolyhedron(
243
243
  await selectThresholdAttribute(window, datasetName, "Block polyhedron attribute", attributeName);
244
244
  }
245
245
 
246
+ async function selectThresholdSurfacePolygon(
247
+ window: Page,
248
+ datasetName: string,
249
+ attributeName: string,
250
+ ): Promise<void> {
251
+ await selectThresholdAttribute(window, datasetName, "Surface polygon attribute", attributeName);
252
+ }
253
+
246
254
  async function setThresholdMinimum(window: Page, minimum: number): Promise<void> {
247
255
  const input = window
248
256
  .getByTestId("thresholdFilterPanel")
@@ -336,6 +344,7 @@ export {
336
344
  toggleThresholdFilter,
337
345
  selectThresholdCellAttribute,
338
346
  selectThresholdBlockPolyhedron,
347
+ selectThresholdSurfacePolygon,
339
348
  setThresholdMinimum,
340
349
  resetThresholdFilter,
341
350
  removeThresholdFilter,
@@ -213,6 +213,31 @@ async function setFeatureNoDataColor(window: Page, menuTestId: string | Locator)
213
213
  await waitForActionSettled(window);
214
214
  }
215
215
 
216
+ async function setFeatureTimeStep(
217
+ window: Page,
218
+ menuTestId: string | Locator,
219
+ timeStep: number,
220
+ ): Promise<void> {
221
+ if (typeof menuTestId === "string") {
222
+ await ensureMenuOpen(window, menuTestId);
223
+ }
224
+ const container = getMenuContainer(window, menuTestId);
225
+ const sliderThumb = container.getByTestId("timeStepSlider").first().getByRole("slider");
226
+ await sliderThumb.waitFor({ state: "visible" });
227
+ await sliderThumb.focus();
228
+ await sliderThumb.press("Home");
229
+ for (let step = 0; step < timeStep; step += 1) {
230
+ // oxlint-disable-next-line no-await-in-loop -- each key press moves the slider by one step
231
+ await sliderThumb.press("ArrowRight");
232
+ }
233
+ await waitForActionSettled(window);
234
+ // Keyboard focus keeps the thumb label visible: release it before the screenshot
235
+ await sliderThumb.blur();
236
+ await resetMenuScroll(window, 0);
237
+ await moveMouseOutOfTheWay(window);
238
+ await waitForActionSettled(window);
239
+ }
240
+
216
241
  export {
217
242
  applyAttribute,
218
243
  resetMenuScroll,
@@ -220,5 +245,6 @@ export {
220
245
  setFeatureColorMap,
221
246
  setFeatureItem,
222
247
  setFeatureNoDataColor,
248
+ setFeatureTimeStep,
223
249
  setQuickColorMap,
224
250
  };
@@ -18,6 +18,7 @@ import {
18
18
  setFeatureAttribute,
19
19
  setFeatureColorMap,
20
20
  setFeatureItem,
21
+ setFeatureTimeStep,
21
22
  } from "@vease_tests/utils/data/helpers/attribute";
22
23
  import type { Page } from "@playwright/test";
23
24
  import { waitForActionSettled } from "@vease_tests/utils/wait_for_action_settled";
@@ -64,6 +65,11 @@ async function setMeshPolygonsItem(window: Page, item: number): Promise<void> {
64
65
  await setFeatureItem(window, menuTestId, item);
65
66
  }
66
67
 
68
+ async function setMeshPolygonsTimeStep(window: Page, timeStep: number): Promise<void> {
69
+ const menuTestId = `${meshViewerObjectType}${polygonsFeatureName}Menu`;
70
+ await setFeatureTimeStep(window, menuTestId, timeStep);
71
+ }
72
+
67
73
  async function setMeshPolygonsColorMap(window: Page, colorMap: string): Promise<void> {
68
74
  const menuTestId = `${meshViewerObjectType}${polygonsFeatureName}Menu`;
69
75
  await setFeatureColorMap(window, menuTestId, colorMap);
@@ -99,5 +105,6 @@ export {
99
105
  setMeshPolygonsItem,
100
106
  setMeshPolygonsNoDataColor,
101
107
  setMeshPolygonsPolygonAttribute,
108
+ setMeshPolygonsTimeStep,
102
109
  setMeshPolygonsVertexAttribute,
103
110
  };
@@ -127,6 +127,24 @@ async function openModelComponentContextMenu(
127
127
  await resetMenuScroll(window, 0);
128
128
  }
129
129
 
130
+ // Opens the style menu of the first component of a type (e.g. "Surfaces")
131
+ async function openModelComponentTypeContextMenu(
132
+ window: Page,
133
+ componentType: string,
134
+ ): Promise<void> {
135
+ await closeAllMenus(window);
136
+ const row = await getTreeRowByTextAndParent(
137
+ window,
138
+ componentType,
139
+ "00000000-",
140
+ getModelComponentsObjectTree(window),
141
+ );
142
+ await row.locator(".tree-item-label").first().click({ button: "right", force: true });
143
+ await waitForActionSettled(window);
144
+ await ensureMenuOpen(window, "modelStyleMenu");
145
+ await resetMenuScroll(window, 0);
146
+ }
147
+
130
148
  async function setModelTreeRowColorRandom(
131
149
  window: Page,
132
150
  rowName: string,
@@ -179,6 +197,7 @@ export {
179
197
  hoverModelBlock,
180
198
  hoverSurfaces,
181
199
  openModelComponentContextMenu,
200
+ openModelComponentTypeContextMenu,
182
201
  openModelComponentsTree,
183
202
  setModelTreeRowColorRandom,
184
203
  toggleModelTreeRow,