Added retry button for failed download

This commit is contained in:
Rpsl
2021-07-29 11:12:40 +03:00
parent e56ea5c1b7
commit fffba9065a
6 changed files with 55 additions and 14 deletions

View File

@@ -1,5 +1,6 @@
import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
import { faTrashAlt, faCheckCircle, faTimesCircle } from '@fortawesome/free-regular-svg-icons';
import { faRedoAlt } from '@fortawesome/free-solid-svg-icons';
import { DownloadsService, Status } from './downloads.service';
import { MasterCheckboxComponent } from './master-checkbox.component';
@@ -21,7 +22,7 @@ export class AppComponent implements AfterViewInit {
];
quality: string = "best";
addInProgress = false;
@ViewChild('queueMasterCheckbox') queueMasterCheckbox: MasterCheckboxComponent;
@ViewChild('queueDelSelected') queueDelSelected: ElementRef;
@ViewChild('doneMasterCheckbox') doneMasterCheckbox: MasterCheckboxComponent;
@@ -32,6 +33,7 @@ export class AppComponent implements AfterViewInit {
faTrashAlt = faTrashAlt;
faCheckCircle = faCheckCircle;
faTimesCircle = faTimesCircle;
faRedoAlt = faRedoAlt;
constructor(public downloads: DownloadsService) {
}
@@ -68,9 +70,12 @@ export class AppComponent implements AfterViewInit {
this.doneDelSelected.nativeElement.disabled = checked == 0;
}
addDownload() {
addDownload(url?: string, quality?: string) {
url = url ?? this.addUrl
quality = quality ?? this.quality
this.addInProgress = true;
this.downloads.add(this.addUrl, this.quality).subscribe((status: Status) => {
this.downloads.add(url, quality).subscribe((status: Status) => {
if (status.status === 'error') {
alert(`Error adding URL: ${status.msg}`);
} else {
@@ -80,6 +85,10 @@ export class AppComponent implements AfterViewInit {
});
}
retryDownload(key: string, quality:string){
this.addDownload(key, quality);
}
delDownload(where: string, id: string) {
this.downloads.delById(where, [id]).subscribe();
}