From fffba9065acf10f1a2d6a1e2f3bc3aa531b6a8ca Mon Sep 17 00:00:00 2001 From: Rpsl Date: Thu, 29 Jul 2021 11:12:40 +0300 Subject: Added retry button for failed download --- ui/src/app/app.component.html | 14 ++++++++++---- ui/src/app/app.component.ts | 15 ++++++++++++--- ui/src/app/downloads.service.ts | 1 + 3 files changed, 23 insertions(+), 7 deletions(-) (limited to 'ui/src') diff --git a/ui/src/app/app.component.html b/ui/src/app/app.component.html index e1f29d6..2ec41dd 100644 --- a/ui/src/app/app.component.html +++ b/ui/src/app/app.component.html @@ -39,7 +39,7 @@ - + @@ -69,13 +69,14 @@ - + + @@ -90,9 +91,14 @@ {{ download.value.title }} - + + + + + + - + diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts index cc8ceb2..f25bb5e 100644 --- a/ui/src/app/app.component.ts +++ b/ui/src/app/app.component.ts @@ -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(); } diff --git a/ui/src/app/downloads.service.ts b/ui/src/app/downloads.service.ts index 4da30fe..5fd3b5a 100644 --- a/ui/src/app/downloads.service.ts +++ b/ui/src/app/downloads.service.ts @@ -15,6 +15,7 @@ interface Download { url: string, status: string; msg: string; + quality: string; percent: number; speed: number; eta: number; -- cgit From 26ae9427868a11acba31dedeab282c5f67d4c0dc Mon Sep 17 00:00:00 2001 From: Rpsl Date: Thu, 29 Jul 2021 21:09:00 +0300 Subject: Remove download from "done" when retry it --- ui/src/app/app.component.ts | 1 + 1 file changed, 1 insertion(+) (limited to 'ui/src') diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts index f25bb5e..8b668c6 100644 --- a/ui/src/app/app.component.ts +++ b/ui/src/app/app.component.ts @@ -87,6 +87,7 @@ export class AppComponent implements AfterViewInit { retryDownload(key: string, quality:string){ this.addDownload(key, quality); + this.downloads.delById('done', [key]).subscribe(); } delDownload(where: string, id: string) { -- cgit