tasks usability improvements

This commit is contained in:
Michael Shamoon
2022-05-26 22:58:01 -07:00
parent dc86993c84
commit 66b2013d23
4 changed files with 43 additions and 9 deletions

View File

@@ -1,7 +1,9 @@
import { Component, OnInit, OnDestroy } from '@angular/core'
import { takeUntil, Subject } from 'rxjs'
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
import { takeUntil, Subject, first } from 'rxjs'
import { PaperlessTask } from 'src/app/data/paperless-task'
import { TasksService } from 'src/app/services/tasks.service'
import { ConfirmDialogComponent } from '../../common/confirm-dialog/confirm-dialog.component'
@Component({
selector: 'app-tasks',
@@ -19,7 +21,10 @@ export class TasksComponent implements OnInit, OnDestroy {
: $localize`Dismiss all`
}
constructor(public tasksService: TasksService) {}
constructor(
public tasksService: TasksService,
private modalService: NgbModal
) {}
ngOnInit() {
this.tasksService.reload()
@@ -36,8 +41,24 @@ export class TasksComponent implements OnInit, OnDestroy {
dismissTasks(task: PaperlessTask = undefined) {
let tasks = task ? new Set([task.id]) : this.selectedTasks
if (!task && this.selectedTasks.size == 0)
tasks = new Set(this.currentTasks.map((t) => t.id))
this.tasksService.dismissTasks(tasks)
tasks = new Set(this.tasksService.allFileTasks.map((t) => t.id))
if (tasks.size > 1) {
let modal = this.modalService.open(ConfirmDialogComponent, {
backdrop: 'static',
})
modal.componentInstance.title = $localize`Confirm Dismiss All`
modal.componentInstance.messageBold =
$localize`Dismiss all` + ` ${tasks.size} ` + $localize`tasks?`
modal.componentInstance.btnClass = 'btn-warning'
modal.componentInstance.btnCaption = $localize`Dismiss`
modal.componentInstance.confirmClicked.pipe(first()).subscribe(() => {
modal.componentInstance.buttonsEnabled = false
modal.close()
this.tasksService.dismissTasks(tasks)
})
} else {
this.tasksService.dismissTasks(tasks)
}
}
toggleSelected(task: PaperlessTask) {