Warn on closing edited doc due to max open docs

This commit is contained in:
Michael Shamoon
2022-05-15 22:55:25 -07:00
parent 0ddb073e9b
commit dc75035bdc
9 changed files with 79 additions and 20 deletions

View File

@@ -11,7 +11,7 @@
</tr>
</thead>
<tbody>
<tr *ngFor="let doc of documents" [routerLink]="['/', 'documents', doc.id]">
<tr *ngFor="let doc of documents" (click)="clickDoc(doc)">
<td>{{doc.created | customDate}}</td>
<td>{{doc.title | documentTitle}}<app-tag [tag]="t" *ngFor="let t of doc.tags$ | async" class="ms-1" (click)="clickTag(t); $event.stopPropagation();"></app-tag></td>
</tr>

View File

@@ -1,6 +1,6 @@
import { Component, Input, OnDestroy, OnInit } from '@angular/core'
import { Router } from '@angular/router'
import { Subscription } from 'rxjs'
import { first, Subscription } from 'rxjs'
import { PaperlessDocument } from 'src/app/data/paperless-document'
import { PaperlessSavedView } from 'src/app/data/paperless-saved-view'
import { ConsumerStatusService } from 'src/app/services/consumer-status.service'
@@ -8,6 +8,7 @@ import { DocumentService } from 'src/app/services/rest/document.service'
import { PaperlessTag } from 'src/app/data/paperless-tag'
import { FILTER_HAS_TAGS_ALL } from 'src/app/data/filter-rule-type'
import { QueryParamsService } from 'src/app/services/query-params.service'
import { OpenDocumentsService } from 'src/app/services/open-documents.service'
@Component({
selector: 'app-saved-view-widget',
@@ -21,7 +22,8 @@ export class SavedViewWidgetComponent implements OnInit, OnDestroy {
private documentService: DocumentService,
private router: Router,
private queryParamsService: QueryParamsService,
private consumerStatusService: ConsumerStatusService
private consumerStatusService: ConsumerStatusService,
private openDocumentsService: OpenDocumentsService
) {}
@Input()
@@ -70,6 +72,15 @@ export class SavedViewWidgetComponent implements OnInit, OnDestroy {
}
}
clickDoc(doc: PaperlessDocument) {
this.openDocumentsService
.openDocument(doc)
.pipe(first())
.subscribe((open) => {
if (open) this.router.navigate(['documents', doc.id])
})
}
clickTag(tag: PaperlessTag) {
this.queryParamsService.navigateWithFilterRules([
{ rule_type: FILTER_HAS_TAGS_ALL, value: tag.id.toString() },