diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts index e091dbf15..d9e92092e 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.spec.ts @@ -1814,6 +1814,11 @@ describe('FilterEditorComponent', () => { new KeyboardEvent('keyup', { key: 'Escape' }) ) expect(component.textFilter).toEqual('') + const blurSpy = jest.spyOn(component.textFilterInput.nativeElement, 'blur') + component.textFilterInput.nativeElement.dispatchEvent( + new KeyboardEvent('keyup', { key: 'Escape' }) + ) + expect(blurSpy).toHaveBeenCalled() }) it('should adjust text filter targets if more like search', () => { diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts index a6aafe049..7926ce48d 100644 --- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts +++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.ts @@ -975,8 +975,12 @@ export class FilterEditorComponent if (filterString.length) { this.updateTextFilter(filterString) } - } else if (event.key == 'Escape') { - this.resetTextField() + } else if (event.key === 'Escape') { + if (this._textFilter?.length) { + this.resetTextField() + } else { + this.textFilterInput.nativeElement.blur() + } } }