Fix: update read status correctly when multiple items are selected in table view (#1382)

This commit is contained in:
Aditya Chandel
2025-10-17 22:10:32 -06:00
committed by GitHub
parent e266335e23
commit f39094211f
2 changed files with 15 additions and 12 deletions

View File

@@ -257,16 +257,16 @@
<div
class="virtual-scroller-item relative"
[ngStyle]="{width: currentCardSize.width + 'px', height: currentCardSize.height + 'px'}">
<app-book-card
[index]="books.indexOf(book)"
[book]="book"
[isCheckboxEnabled]="true"
[readButtonHidden]="!!book.seriesCount"
[onBookSelect]="handleBookSelect.bind(this)"
[isSeriesCollapsed]="seriesCollapseFilter.isSeriesCollapsed"
(checkboxClick)="onCheckboxClicked($event)"
[isSelected]="selectedBooks.has(book.id)">
</app-book-card>
<app-book-card
[index]="books.indexOf(book)"
[book]="book"
[isCheckboxEnabled]="true"
[readButtonHidden]="!!book.seriesCount"
[onBookSelect]="handleBookSelect.bind(this)"
[isSeriesCollapsed]="seriesCollapseFilter.isSeriesCollapsed"
(checkboxClick)="onCheckboxClicked($event)"
[isSelected]="selectedBooks.has(book.id)">
</app-book-card>
</div>
}
</div>
@@ -384,7 +384,6 @@
}
</div>
@if (this.showFilter) {
<div
class="mobile-filter-mask"
@@ -402,5 +401,4 @@
</app-book-filter>
}
</div>

View File

@@ -404,6 +404,7 @@ export class BookBrowserComponent implements OnInit {
}
}
}
this.tieredMenuItems = this.bookMenuService.getTieredMenuItems(this.selectedBooks);
}
handleBookSelect(bookId: number, selected: boolean): void {
@@ -413,11 +414,13 @@ export class BookBrowserComponent implements OnInit {
this.selectedBooks.delete(bookId);
}
this.isDrawerVisible = this.selectedBooks.size > 0;
this.tieredMenuItems = this.bookMenuService.getTieredMenuItems(this.selectedBooks);
}
onSelectedBooksChange(selectedBookIds: Set<number>): void {
this.selectedBooks = new Set(selectedBookIds);
this.isDrawerVisible = this.selectedBooks.size > 0;
this.tieredMenuItems = this.bookMenuService.getTieredMenuItems(this.selectedBooks);
}
selectAllBooks(): void {
@@ -428,6 +431,7 @@ export class BookBrowserComponent implements OnInit {
if (this.bookTableComponent) {
this.bookTableComponent.selectAllBooks();
}
this.tieredMenuItems = this.bookMenuService.getTieredMenuItems(this.selectedBooks);
}
deselectAllBooks(): void {
@@ -436,6 +440,7 @@ export class BookBrowserComponent implements OnInit {
if (this.bookTableComponent) {
this.bookTableComponent.clearSelectedBooks();
}
this.tieredMenuItems = this.bookMenuService.getTieredMenuItems(this.selectedBooks);
}
confirmDeleteBooks(): void {