mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
61 lines
1.3 KiB
TypeScript
61 lines
1.3 KiB
TypeScript
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
|
import { map } from 'rxjs/operators';
|
|
import { PaperlessDocument } from 'src/app/data/paperless-document';
|
|
import { DocumentService } from 'src/app/services/rest/document.service';
|
|
|
|
@Component({
|
|
selector: 'app-document-card-small',
|
|
templateUrl: './document-card-small.component.html',
|
|
styleUrls: ['./document-card-small.component.scss']
|
|
})
|
|
export class DocumentCardSmallComponent implements OnInit {
|
|
|
|
constructor(private documentService: DocumentService) { }
|
|
|
|
@Input()
|
|
selected = false
|
|
|
|
@Output()
|
|
toggleSelected = new EventEmitter()
|
|
|
|
@Input()
|
|
document: PaperlessDocument
|
|
|
|
@Output()
|
|
clickTag = new EventEmitter<number>()
|
|
|
|
@Output()
|
|
clickCorrespondent = new EventEmitter<number>()
|
|
|
|
moreTags: number = null
|
|
|
|
ngOnInit(): void {
|
|
}
|
|
|
|
getThumbUrl() {
|
|
return this.documentService.getThumbUrl(this.document.id)
|
|
}
|
|
|
|
getDownloadUrl() {
|
|
return this.documentService.getDownloadUrl(this.document.id)
|
|
}
|
|
|
|
getPreviewUrl() {
|
|
return this.documentService.getPreviewUrl(this.document.id)
|
|
}
|
|
|
|
getTagsLimited$() {
|
|
return this.document.tags$.pipe(
|
|
map(tags => {
|
|
if (tags.length > 7) {
|
|
this.moreTags = tags.length - 6
|
|
return tags.slice(0, 6)
|
|
} else {
|
|
return tags
|
|
}
|
|
})
|
|
)
|
|
}
|
|
|
|
}
|