Download Refactor (#483)

# Added
- New: Cards when processing a download shows a spinner for the progress of the download

# Changed
- Changed: Downloads now always take the backend filename and are streamed in a more optimal manner, reducing the javascript processing that was needed previously.
==================================

* Started refactor of downloader to be more UX friendly and much faster.

* Completed refactor of Volume download to use a new mechanism. Downloads are streamed over and filename used exclusively from header. Backend has additional DB calls to get the Series Name information to make filenames nice.

* download service has been updated so all download functions use new event based observable. Duplicates code for downloading, but much cleaner and faster.

* Small code cleanup
This commit is contained in:
Joseph Milazzo 2021-08-11 16:01:44 -05:00 committed by GitHub
parent 855f452d14
commit 89b68bc301
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
20 changed files with 439 additions and 92 deletions

View file

@ -18,7 +18,9 @@ import { ShowIfScrollbarDirective } from './show-if-scrollbar.directive';
import { A11yClickDirective } from './a11y-click.directive';
import { SeriesFormatComponent } from './series-format/series-format.component';
import { UpdateNotificationModalComponent } from './update-notification/update-notification-modal.component';
import { SAVER, getSaver } from './_providers/saver.provider';
import { CircularLoaderComponent } from './circular-loader/circular-loader.component';
import { NgCircleProgressModule } from 'ng-circle-progress';
@NgModule({
declarations: [
@ -35,7 +37,8 @@ import { UpdateNotificationModalComponent } from './update-notification/update-n
ShowIfScrollbarDirective,
A11yClickDirective,
SeriesFormatComponent,
UpdateNotificationModalComponent
UpdateNotificationModalComponent,
CircularLoaderComponent
],
imports: [
CommonModule,
@ -46,7 +49,8 @@ import { UpdateNotificationModalComponent } from './update-notification/update-n
NgbTooltipModule,
NgbCollapseModule,
LazyLoadImageModule,
NgbPaginationModule // CardDetailLayoutComponent
NgbPaginationModule, // CardDetailLayoutComponent
NgCircleProgressModule.forRoot()
],
exports: [
RegisterMemberComponent,
@ -59,7 +63,8 @@ import { UpdateNotificationModalComponent } from './update-notification/update-n
CardDetailLayoutComponent,
ShowIfScrollbarDirective,
A11yClickDirective,
SeriesFormatComponent
]
SeriesFormatComponent,
],
providers: [{provide: SAVER, useFactory: getSaver}]
})
export class SharedModule { }