Skip to content

Commit bdbaba8

Browse files
authored
Merge branch '16.1.x' into mkirova/fix-14138-16.1.x
2 parents ac6903f + 021e6f0 commit bdbaba8

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.spec.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,6 +1525,34 @@ describe('IgxSimpleCombo', () => {
15251525
expect(combo.filteredData.length).toBeLessThan(combo.data.length)
15261526
expect(combo.filteredData[0].field).toBe(target.value)
15271527
});
1528+
1529+
it('should prevent Enter key default behavior when filtering data', fakeAsync(() => {
1530+
const keyEvent = new KeyboardEvent('keydown', { key: 'Enter' });
1531+
const spy = spyOn(keyEvent, 'preventDefault');
1532+
1533+
expect(combo.collapsed).toBe(true);
1534+
expect(combo.selection.length).toEqual(0);
1535+
1536+
input.triggerEventHandler('focus', {});
1537+
UIInteractions.simulateTyping('c', input);
1538+
fixture.detectChanges();
1539+
1540+
expect(combo.collapsed).toBe(false);
1541+
1542+
combo.handleKeyDown(keyEvent);
1543+
tick();
1544+
fixture.detectChanges();
1545+
1546+
expect(combo.selection.length).toEqual(1);
1547+
expect(combo.collapsed).toBe(true);
1548+
expect(spy).toHaveBeenCalled();
1549+
1550+
combo.handleKeyDown(keyEvent);
1551+
tick();
1552+
fixture.detectChanges();
1553+
1554+
expect(spy).toHaveBeenCalledTimes(1);
1555+
}));
15281556
});
15291557

15301558
describe('Display density', () => {

projects/igniteui-angular/src/lib/simple-combo/simple-combo.component.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,10 +295,12 @@ export class IgxSimpleComboComponent extends IgxComboBaseDirective implements Co
295295
if (filtered === null || filtered === undefined) {
296296
return;
297297
}
298-
this.select(this.dropdown.focusedItem.itemID);
299-
event.preventDefault();
300-
event.stopPropagation();
301-
this.close();
298+
if (!this.dropdown.collapsed) {
299+
this.select(this.dropdown.focusedItem.itemID);
300+
event.preventDefault();
301+
event.stopPropagation();
302+
this.close();
303+
}
302304
// manually trigger text selection as it will not be triggered during editing
303305
this.textSelection.trigger();
304306
return;

0 commit comments

Comments
 (0)