vease 1.52.0 → 1.53.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.
- package/.build/tests/e2e/utils/camera_interaction.js +4 -1
- package/.build/tests/e2e/utils/data/helpers/attribute.js +14 -1
- package/.build/tests/e2e/utils/data/index.js +2 -2
- package/.build/tests/e2e/utils/data/mesh/index.js +2 -2
- package/.build/tests/e2e/utils/data/mesh/polygon/attribute.js +6 -2
- package/.build/tests/e2e/utils/data/mesh/polygon/index.js +2 -2
- package/.build/tests/e2e/utils/object_trees/model_components_object_tree.js +11 -1
- package/package.json +7 -7
- package/tests/e2e/utils/camera_interaction.ts +9 -0
- package/tests/e2e/utils/data/helpers/attribute.ts +26 -0
- package/tests/e2e/utils/data/mesh/polygon/attribute.ts +7 -0
- package/tests/e2e/utils/object_trees/model_components_object_tree.ts +19 -0
|
@@ -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.
|
|
3
|
+
"version": "1.53.0-rc.1",
|
|
4
4
|
"description": "Desktop and cloud software for data visualization",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Desktop",
|
|
@@ -84,12 +84,12 @@
|
|
|
84
84
|
"@ai-sdk/vue": "4.0.93",
|
|
85
85
|
"@fontsource/michroma": "5.2.6",
|
|
86
86
|
"@fontsource/roboto": "5.2.10",
|
|
87
|
-
"@geode/cloud-api": "
|
|
88
|
-
"@geode/opengeodeweb-back": "
|
|
89
|
-
"@geode/opengeodeweb-front": "
|
|
90
|
-
"@geode/opengeodeweb-viewer": "
|
|
91
|
-
"@geode/vease-back": "
|
|
92
|
-
"@geode/vease-viewer": "
|
|
87
|
+
"@geode/cloud-api": "next",
|
|
88
|
+
"@geode/opengeodeweb-back": "next",
|
|
89
|
+
"@geode/opengeodeweb-front": "next",
|
|
90
|
+
"@geode/opengeodeweb-viewer": "next",
|
|
91
|
+
"@geode/vease-back": "next",
|
|
92
|
+
"@geode/vease-viewer": "next",
|
|
93
93
|
"@nuxtjs/mcp-toolkit": "0.18.1",
|
|
94
94
|
"ai": "7.0.93",
|
|
95
95
|
"bowser": "2.14.1",
|
|
@@ -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,
|