diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts index 58b7ca894..1045e0cb8 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.spec.ts @@ -239,6 +239,12 @@ describe('GlobalSearchComponent', () => { new KeyboardEvent('keydown', { key: 'Escape' }) ) expect(blurSpy).toHaveBeenCalled() + + component.searchResults = { total: 1 } as any + component.resultsDropdown.close() + const openSpy = jest.spyOn(component.resultsDropdown, 'open') + component.searchInputKeyDown(new KeyboardEvent('keydown', { key: 'Enter' })) + expect(openSpy).toHaveBeenCalled() }) it('should search on query debounce', fakeAsync(() => { diff --git a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts index 206cd6585..d18b76f88 100644 --- a/src-ui/src/app/components/app-frame/global-search/global-search.component.ts +++ b/src-ui/src/app/components/app-frame/global-search/global-search.component.ts @@ -265,6 +265,12 @@ export class GlobalSearchComponent implements OnInit { ) { this.primaryButtons.first.nativeElement.click() this.searchInput.nativeElement.blur() + } else if ( + event.key === 'Enter' && + this.searchResults?.total && + !this.resultsDropdown.isOpen() + ) { + this.resultsDropdown.open() } else if (event.key === 'Escape' && !this.resultsDropdown.isOpen()) { if (this.query?.length) { this.reset(true)