Skip to content

Commit f0e2bac

Browse files
authored
fix(ui5-combobox): close popover on "Enter" key press
Now, popover is closed when "Enter" key is pressed. Fixes: #1940
1 parent 23fb8b7 commit f0e2bac

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

packages/main/src/ComboBox.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,8 @@ class ComboBox extends UI5Element {
489489
this.fireEvent("change");
490490
this.inner.setSelectionRange(this.value.length, this.value.length);
491491
}
492+
493+
this._closeRespPopover();
492494
}
493495

494496
_selectItem(event) {
@@ -504,7 +506,6 @@ class ComboBox extends UI5Element {
504506
});
505507

506508
this._inputChange();
507-
this._closeRespPopover();
508509
}
509510

510511
get _headerTitleText() {

packages/main/test/specs/ComboBox.spec.js

+31
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,37 @@ describe("General interaction", () => {
112112
assert.notOk(popover.getProperty("opened"), "Popover should close");
113113
});
114114

115+
it ("Should close popover on item click / change event", () => {
116+
browser.url("http://localhost:8080/test-resources/pages/ComboBox.html");
117+
118+
const combo = $("#combo2");
119+
const arrow = combo.shadow$("[input-icon]");
120+
const input = combo.shadow$("#ui5-combobox-input");
121+
const staticAreaItemClassName = browser.getStaticAreaItemClassName("#combo2");
122+
const popover = browser.$(`.${staticAreaItemClassName}`).shadow$("ui5-responsive-popover");
123+
let listItems = popover.$("ui5-list").$$("ui5-li");
124+
125+
// act
126+
input.click();
127+
input.keys("b");
128+
129+
// assert
130+
assert.ok(popover.getProperty("opened"), "Popover should be opened");
131+
132+
// act
133+
input.keys("Enter");
134+
135+
// assert
136+
assert.notOk(popover.getProperty("opened"), "Popover should be closed");
137+
138+
// act
139+
arrow.click();
140+
listItems[0].click();
141+
142+
// assert
143+
assert.notOk(popover.getProperty("opened"), "Popover should be closed");
144+
});
145+
115146
it ("Tests change event", () => {
116147
const dummyTarget = $("#combo");
117148
const placeholder = $("#change-placeholder");

0 commit comments

Comments
 (0)