]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Implement double-click documents 2966/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Wed, 29 Mar 2023 05:10:12 +0000 (22:10 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Wed, 29 Mar 2023 06:26:13 +0000 (23:26 -0700)
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
src-ui/src/app/components/document-list/document-card-small/document-card-small.component.html
src-ui/src/app/components/document-list/document-card-small/document-card-small.component.ts
src-ui/src/app/components/document-list/document-list.component.html
src-ui/src/app/components/document-list/document-list.component.ts

index 6f4e36b733c92666392e81f4e2eae269ed819aee..1f150eee0daa2b9554f87768ccc068107dced63b 100644 (file)
@@ -1,6 +1,6 @@
 <div class="card mb-3 shadow-sm" [class.card-selected]="selected" [class.document-card]="selectable" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
   <div class="row g-0">
-    <div class="col-md-2 doc-img-background rounded-start" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
+    <div class="col-md-2 doc-img-background rounded-start" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)" (dblclick)="dblClickDocument.emit()">
       <img [src]="getThumbUrl()" class="card-img doc-img border-end rounded-start" [class.inverted]="getIsThumbInverted()">
 
       <div class="border-end border-bottom bg-light document-card-check">
index b73606d78961dddde0b6252e1b85b5d86a72d8d7..58a3dd4e4dc7776224d6cbf9038e2f6116fe3014 100644 (file)
@@ -41,6 +41,9 @@ export class DocumentCardLargeComponent extends ComponentWithPermissions {
   @Input()
   document: PaperlessDocument
 
+  @Output()
+  dblClickDocument = new EventEmitter()
+
   @Output()
   clickTag = new EventEmitter<number>()
 
index d9836cc9cd547a4ddbe7576f662b2144493019ef..7365fec366dac4b7c2265a8efe9ae58e44b65976 100644 (file)
@@ -1,6 +1,6 @@
 <div class="col p-2 h-100">
   <div class="card h-100 shadow-sm document-card" [class.card-selected]="selected" [class.popover-hidden]="popoverHidden" (mouseleave)="mouseLeaveCard()">
-    <div class="border-bottom doc-img-container" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)">
+    <div class="border-bottom doc-img-container" [class.doc-img-background-selected]="selected" (click)="this.toggleSelected.emit($event)" (dblclick)="dblClickDocument.emit(this)">
       <img class="card-img doc-img rounded-top" [class.inverted]="getIsThumbInverted()" [src]="getThumbUrl()">
 
       <div class="border-end border-bottom bg-light py-1 px-2 document-card-check">
index 28b3541542960a1c80af6e7bb2d744b15c27ad02..fcec51ebf22be32629c447324e7be3d52a5ef27a 100644 (file)
@@ -38,6 +38,9 @@ export class DocumentCardSmallComponent extends ComponentWithPermissions {
   @Input()
   document: PaperlessDocument
 
+  @Output()
+  dblClickDocument = new EventEmitter()
+
   @Output()
   clickTag = new EventEmitter<number>()
 
index 70ff168f6b67f14ec5072ec134ca4d664d3e4c97..f5d5b9d05a93370b9f06d5ef17e73a0005d46925 100644 (file)
 
 <ng-template #documentListNoError>
   <div *ngIf="displayMode === 'largeCards'">
-    <app-document-card-large [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" *ngFor="let d of list.documents; trackBy: trackByDocumentId" [document]="d" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickDocumentType)="clickDocumentType($event)" (clickStoragePath)="clickStoragePath($event)" (clickMoreLike)="clickMoreLike(d.id)">
+    <app-document-card-large [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" (dblClickDocument)="openDocumentDetail(d)" *ngFor="let d of list.documents; trackBy: trackByDocumentId" [document]="d" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickDocumentType)="clickDocumentType($event)" (clickStoragePath)="clickStoragePath($event)" (clickMoreLike)="clickMoreLike(d.id)">
     </app-document-card-large>
   </div>
 
         i18n>Added</th>
     </thead>
     <tbody>
-      <tr *ngFor="let d of list.documents; trackBy: trackByDocumentId" (click)="toggleSelected(d, $event); $event.stopPropagation();" [ngClass]="list.isSelected(d) ? 'table-row-selected' : ''">
+      <tr *ngFor="let d of list.documents; trackBy: trackByDocumentId" (click)="toggleSelected(d, $event); $event.stopPropagation();" (dblclick)="openDocumentDetail(d)" [ngClass]="list.isSelected(d) ? 'table-row-selected' : ''">
         <td>
           <div class="form-check">
             <input type="checkbox" class="form-check-input" id="docCheck{{d.id}}" [checked]="list.isSelected(d)" (click)="toggleSelected(d, $event); $event.stopPropagation();">
   </table>
 
   <div class="row row-cols-paperless-cards" *ngIf="displayMode === 'smallCards'">
-    <app-document-card-small class="p-0" [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" [document]="d" *ngFor="let d of list.documents; trackBy: trackByDocumentId" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickStoragePath)="clickStoragePath($event)" (clickDocumentType)="clickDocumentType($event)"></app-document-card-small>
+    <app-document-card-small class="p-0" [selected]="list.isSelected(d)" (toggleSelected)="toggleSelected(d, $event)" (dblClickDocument)="openDocumentDetail(d)" [document]="d" *ngFor="let d of list.documents; trackBy: trackByDocumentId" (clickTag)="clickTag($event)" (clickCorrespondent)="clickCorrespondent($event)" (clickStoragePath)="clickStoragePath($event)" (clickDocumentType)="clickDocumentType($event)"></app-document-card-small>
   </div>
   <div *ngIf="list.documents?.length > 15" class="mt-3">
     <ng-container *ngTemplateOutlet="pagination"></ng-container>
index 7847097bc2a9c10b32ebb7fc60278fb06d0b8ff0..233ac9a87a832913bddc7853ff58539bde6e6fa7 100644 (file)
@@ -258,6 +258,10 @@ export class DocumentListComponent
     })
   }
 
+  openDocumentDetail(document: PaperlessDocument) {
+    this.router.navigate(['documents', document.id])
+  }
+
   toggleSelected(document: PaperlessDocument, event: MouseEvent): void {
     if (!event.shiftKey) this.list.toggleSelected(document)
     else this.list.selectRangeTo(document)