From 39daddef34b2ca2d17626e97f69ee191d66f8079 Mon Sep 17 00:00:00 2001
From: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Date: Fri, 18 Mar 2022 23:30:26 -0700
Subject: [PATCH] Allow shorter search strings with Enter key

---
 .../filter-editor.component.html              |  2 +-
 .../filter-editor/filter-editor.component.ts  | 21 ++++++++++++++-----
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.html b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.html
index 892947ae4..61214d085 100644
--- a/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.html
+++ b/src-ui/src/app/components/document-list/filter-editor/filter-editor.component.html
@@ -8,7 +8,7 @@
               <button *ngFor="let t of textFilterTargets" ngbDropdownItem [class.active]="textFilterTarget == t.id" (click)="changeTextFilterTarget(t.id)">{{t.name}}</button>
             </div>
           </div>
-          <input #textFilterInput class="form-control form-control-sm" type="text" [(ngModel)]="textFilter" [readonly]="textFilterTarget == 'fulltext-morelike'">
+          <input #textFilterInput class="form-control form-control-sm" type="text" [(ngModel)]="textFilter" (keyup.enter)="textFilterEnter()" [readonly]="textFilterTarget == 'fulltext-morelike'">
          </div>
      </div>
   </div>
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 4d0ff7c17..b222597fb 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
@@ -427,11 +427,7 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
         distinctUntilChanged(),
         filter((query) => !query.length || query.length > 2)
       )
-      .subscribe((text) => {
-        this._textFilter = text
-        this.documentService.searchQuery = text
-        this.updateRules()
-      })
+      .subscribe((text) => this.updateTextFilter(text))
 
     if (this._textFilter) this.documentService.searchQuery = this._textFilter
   }
@@ -476,6 +472,21 @@ export class FilterEditorComponent implements OnInit, OnDestroy {
     this.documentTypeSelectionModel.apply()
   }
 
+  updateTextFilter(text) {
+    this._textFilter = text
+    this.documentService.searchQuery = text
+    this.updateRules()
+  }
+
+  textFilterEnter() {
+    const filterString = (
+      this.textFilterInput.nativeElement as HTMLInputElement
+    ).value
+    if (filterString.length) {
+      this.updateTextFilter(filterString)
+    }
+  }
+
   changeTextFilterTarget(target) {
     if (
       this.textFilterTarget == TEXT_FILTER_TARGET_FULLTEXT_MORELIKE &&