v0.4.4 polishing (#515)

* Fixed a bad comparision between JsonElement and null.

* Removed console.logs. Fixed bug in edit collection detail page where summary wouldn't update after editing it.

* Removed a UI package that is no longer used.

Fixed an issue where MarkVolumeAsUnread was using an old set of APIs and now uses the new, faster API.
This commit is contained in:
Joseph Milazzo 2021-08-22 09:42:47 -07:00 committed by GitHub
parent 9568d9b2e5
commit e479f17aa6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 23 additions and 29 deletions

View file

@ -156,7 +156,7 @@ export class ActionService implements OnDestroy {
* @param callback Optional callback to perform actions after API completes
*/
markVolumeAsUnread(seriesId: number, volume: Volume, callback?: VolumeActionCallback) {
forkJoin(volume.chapters?.map(chapter => this.readerService.saveProgress(seriesId, volume.id, chapter.id, 0))).pipe(takeUntil(this.onDestroy)).subscribe(results => {
this.readerService.markVolumeRead(seriesId, volume.id).subscribe(() => {
volume.pagesRead = 0;
volume.chapters?.forEach(c => c.pagesRead = 0);
this.toastr.success('Marked as Unread');

View file

@ -41,7 +41,7 @@ export class MessageHubService {
.catch(err => console.error(err));
this.hubConnection.on('receiveMessage', body => {
console.log('[Hub] Body: ', body);
//console.log('[Hub] Body: ', body);
});
this.hubConnection.on(EVENTS.UpdateAvailable, resp => {

View file

@ -94,12 +94,12 @@ export class CoverImageChooserComponent implements OnInit, OnDestroy {
if (url && url != '') {
const img = new Image();
img.crossOrigin = 'Anonymous';
img.src = this.form.get('coverImageUrl')?.value;
img.onload = (e) => this.handleUrlImageAdd(e);
img.onerror = (e) => {
this.toastr.error('The image could not be fetched due to server refusing request. Please download and upload from file instead.');
this.form.get('coverImageUrl')?.setValue('');
}
};
img.src = this.form.get('coverImageUrl')?.value;
this.form.get('coverImageUrl')?.setValue('');
}
}
@ -135,7 +135,6 @@ export class CoverImageChooserComponent implements OnInit, OnDestroy {
}
handleUrlImageAdd(e: any) {
console.log(e);
if (e.path === null || e.path.length === 0) return;
const url = this.getBase64Image(e.path[0]);

View file

@ -56,25 +56,29 @@ export class CollectionDetailComponent implements OnInit {
return;
}
const tagId = parseInt(routeId, 10);
this.collectionService.allTags().subscribe(tags => {
this.collections = tags;
const matchingTags = this.collections.filter(t => t.id === tagId);
if (matchingTags.length === 0) {
this.toastr.error('You don\'t have access to any libraries this tag belongs to or this tag is invalid');
return;
}
this.collectionTag = matchingTags[0];
this.tagImage = this.imageService.randomize(this.imageService.getCollectionCoverImage(this.collectionTag.id));
this.titleService.setTitle('Kavita - ' + this.collectionTag.title + ' Collection');
this.loadPage();
});
this.updateTag(tagId);
}
ngOnInit(): void {
this.collectionTagActions = this.actionFactoryService.getCollectionTagActions(this.handleCollectionActionCallback.bind(this));
}
updateTag(tagId: number) {
this.collectionService.allTags().subscribe(tags => {
this.collections = tags;
const matchingTags = this.collections.filter(t => t.id === tagId);
if (matchingTags.length === 0) {
this.toastr.error('You don\'t have access to any libraries this tag belongs to or this tag is invalid');
return;
}
this.collectionTag = matchingTags[0];
this.tagImage = this.imageService.randomize(this.imageService.getCollectionCoverImage(this.collectionTag.id));
this.titleService.setTitle('Kavita - ' + this.collectionTag.title + ' Collection');
this.loadPage();
});
}
onPageChange(pagination: Pagination) {
this.router.navigate(['collections', this.collectionTag.id], {replaceUrl: true, queryParamsHandling: 'merge', queryParams: {page: this.seriesPagination.currentPage} });
}
@ -120,6 +124,7 @@ export class CollectionDetailComponent implements OnInit {
const modalRef = this.modalService.open(EditCollectionTagsComponent, { size: 'lg', scrollable: true });
modalRef.componentInstance.tag = this.collectionTag;
modalRef.closed.subscribe((results: {success: boolean, coverImageUpdated: boolean}) => {
this.updateTag(this.collectionTag.id);
this.loadPage();
if (results.coverImageUpdated) {
this.tagImage = this.imageService.randomize(this.imageService.getCollectionCoverImage(collectionTag.id));