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 0755d9900..7d5d628a4 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 @@ -232,11 +232,19 @@ describe('GlobalSearchComponent', () => { component.searchInputKeyDown(new KeyboardEvent('keydown', { key: 'Enter' })) expect(primaryActionSpy).toHaveBeenCalled() + component.query = 'test' const resetSpy = jest.spyOn(GlobalSearchComponent.prototype as any, 'reset') component.searchInputKeyDown( new KeyboardEvent('keydown', { key: 'Escape' }) ) expect(resetSpy).toHaveBeenCalled() + + component.query = '' + const blurSpy = jest.spyOn(component.searchInput.nativeElement, 'blur') + component.searchInputKeyDown( + new KeyboardEvent('keydown', { key: 'Escape' }) + ) + expect(blurSpy).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 213243056..f05192b5b 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,7 +265,11 @@ export class GlobalSearchComponent implements OnInit { ) { this.primaryButtons.first.nativeElement.click() } else if (event.key === 'Escape' && !this.resultsDropdown.isOpen()) { - this.reset(true) + if (this.query?.length) { + this.reset(true) + } else { + this.searchInput.nativeElement.blur() + } } }