]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Better display of multiple comment hits 2542/head
authorMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Fri, 27 Jan 2023 18:29:40 +0000 (10:29 -0800)
committerMichael Shamoon <4887959+shamoon@users.noreply.github.com>
Fri, 27 Jan 2023 18:29:40 +0000 (10:29 -0800)
src-ui/src/app/components/document-list/document-card-large/document-card-large.component.html
src-ui/src/app/components/document-list/document-card-large/document-card-large.component.ts

index c114a2d6e121aad80e5c02ef66cd264851b1b3cb..b18524e386908193741d6ae1605fbd0fd2594f5d 100644 (file)
         </div>
         <p class="card-text">
           <span *ngIf="document.__search_hit__ && document.__search_hit__.highlights" [innerHtml]="document.__search_hit__.highlights"></span>
-          <span *ngIf="document.__search_hit__ && document.__search_hit__.comment_highlights" class="d-block">
+          <span *ngFor="let highlight of searchCommentHighlights" class="d-block">
             <svg width="1em" height="1em" fill="currentColor" class="me-2">
               <use xlink:href="assets/bootstrap-icons.svg#chat-left-text"/>
             </svg>
-            <span [innerHtml]="document.__search_hit__.comment_highlights"></span>
+            <span [innerHtml]="highlight"></span>
           </span>
           <span *ngIf="!document.__search_hit__" class="result-content">{{contentTrimmed}}</span>
         </p>
index b431878798fd1cdd8ace6a951243697a43a3c795..5d24042b9cfb9841f742f7fe43ddf023856ce0d2 100644 (file)
@@ -70,6 +70,22 @@ export class DocumentCardLargeComponent {
     }
   }
 
+  get searchCommentHighlights() {
+    let highlights = []
+    if (
+      this.document['__search_hit__'] &&
+      this.document['__search_hit__'].comment_highlights
+    ) {
+      // only show comments with a match
+      highlights = (
+        this.document['__search_hit__'].comment_highlights as string
+      )
+        .split(',')
+        .filter((higlight) => higlight.includes('<span'))
+    }
+    return highlights
+  }
+
   getIsThumbInverted() {
     return this.settingsService.get(SETTINGS_KEYS.DARK_MODE_THUMB_INVERTED)
   }