Skip to content

Commit 5b269ed

Browse files
authored
fix(ui5-responsive-popover): fix open/close state, when initially open (#12236)
fixes: #12225
1 parent e5fff1c commit 5b269ed

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

packages/main/cypress/specs/ResponsivePopover.mobile.cy.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import Input from "../../src/Input.js";
44
import Label from "../../src/Label.js";
55

66
describe("ResponsivePopover mobile general interaction", () => {
7-
before(() => {
7+
beforeEach(() => {
88
cy.ui5SimulateDevice();
99
});
1010

@@ -21,6 +21,18 @@ describe("ResponsivePopover mobile general interaction", () => {
2121
.find("[ui5-dialog]")
2222
.should("be.visible");
2323
});
24+
25+
it("tests showing of the dialog on phone", () => {
26+
cy.mount(<ResponsivePopover open={true} />);
27+
28+
cy.get("[ui5-responsive-popover]")
29+
.shadow()
30+
.find("[ui5-dialog]")
31+
.should("be.visible");
32+
33+
cy.get("[ui5-responsive-popover]")
34+
.should("not.be.visible");
35+
});
2436
});
2537

2638
describe("Accessibility", () => {

packages/main/src/Popup.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -290,13 +290,17 @@ abstract class Popup extends UI5Element {
290290

291291
this.tabIndex = -1;
292292

293+
this.handleOpenOnEnterDOM();
294+
295+
this.setAttribute("data-sap-ui-fastnavgroup-container", "true");
296+
registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));
297+
}
298+
299+
handleOpenOnEnterDOM() {
293300
if (this.open) {
294301
this.showPopover();
295302
this.openPopup();
296303
}
297-
298-
this.setAttribute("data-sap-ui-fastnavgroup-container", "true");
299-
registerUI5Element(this, this._updateAssociatedLabelsTexts.bind(this));
300304
}
301305

302306
onExitDOM() {

packages/main/src/ResponsivePopover.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@ class ResponsivePopover extends Popover {
8989
}
9090
}
9191

92+
handleOpenOnEnterDOM() {
93+
if (this.open && !isPhone()) {
94+
this.showPopover();
95+
this.openPopup();
96+
}
97+
}
98+
9299
_dialogCloseButtonClick() {
93100
this.closePopup();
94101
}

0 commit comments

Comments
 (0)