mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-03 11:29:28 -05:00
36 lines
926 B
TypeScript
36 lines
926 B
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Observable, Subject } from 'rxjs';
|
|
import { PaperlessDocument } from '../data/paperless-document';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class OpenDocumentsService {
|
|
|
|
constructor() { }
|
|
|
|
private openDocuments: PaperlessDocument[] = []
|
|
|
|
private openDocumentsSubject: Subject<PaperlessDocument[]> = new Subject()
|
|
|
|
getOpenDocuments(): Observable<PaperlessDocument[]> {
|
|
return this.openDocumentsSubject
|
|
}
|
|
|
|
openDocument(doc: PaperlessDocument) {
|
|
if (this.openDocuments.find(d => d.id == doc.id) == null) {
|
|
this.openDocuments.push(doc)
|
|
this.openDocumentsSubject.next(this.openDocuments)
|
|
}
|
|
}
|
|
|
|
closeDocument(doc: PaperlessDocument) {
|
|
let index = this.openDocuments.findIndex(d => d.id == doc.id)
|
|
if (index > -1) {
|
|
this.openDocuments.splice(index, 1)
|
|
this.openDocumentsSubject.next(this.openDocuments)
|
|
}
|
|
}
|
|
|
|
}
|