fix(window level): The window level value is not displayed by default on all the viewports when selecting common/custom layout and TMTV. (#5865)

* fix(window level): Set up listener for viewport availability such that the initial window level can be read and displayed.

* PR feedback.

* PR feedback.

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
Joe BoccanfusoandBill Wallace authored and GitHub committed 2026-03-13 10:12:07 -04:00
1 parent 54d9ea39bf
commit fe1ecfe0cc
9 files changed
+188 -153

No files matched your search

+25 -8
View File
@@ -17,6 +17,23 @@ type NormalizedDragParams = {
config?: { button?: 'left' | 'right' | 'middle'; delay?: number; steps?: number };
};
export interface IOverlayText {
get windowLevel(): Locator;
get instanceNumber(): Locator;
}
function overlayTextFactory(viewport: Locator, id: string): IOverlayText {
const locator = viewport.getByTestId(id);
return {
get windowLevel() {
return locator.getByTitle('Window Level');
},
get instanceNumber() {
return locator.getByTitle('Instance Number');
},
};
}
export interface IViewportPageObject {
nthAnnotation(nth: number): {
locator: Locator;
@@ -46,10 +63,10 @@ export interface IViewportPageObject {
bottomMid: Locator;
};
overlayText: {
topLeft: Locator;
topRight: Locator;
bottomLeft: Locator;
bottomRight: Locator;
topLeft: IOverlayText;
topRight: IOverlayText;
bottomLeft: IOverlayText;
bottomRight: IOverlayText;
};
overlayMenu: {
dataOverlay: DataOverlayPageObject;
@@ -122,10 +139,10 @@ export class ViewportPageObject {
private getOverlayText(viewport: Locator) {
return {
topLeft: viewport.getByTestId('viewport-overlay-top-left'),
topRight: viewport.getByTestId('viewport-overlay-top-right'),
bottomLeft: viewport.getByTestId('viewport-overlay-bottom-left'),
bottomRight: viewport.getByTestId('viewport-overlay-bottom-right'),
topLeft: overlayTextFactory(viewport, 'viewport-overlay-top-left'),
topRight: overlayTextFactory(viewport, 'viewport-overlay-top-right'),
bottomLeft: overlayTextFactory(viewport, 'viewport-overlay-bottom-left'),
bottomRight: overlayTextFactory(viewport, 'viewport-overlay-bottom-right'),
};
}