mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Fix:Series page progress filter #1577
This commit is contained in:
		
							parent
							
								
									791c058ef8
								
							
						
					
					
						commit
						d95975cade
					
				| @ -64,12 +64,22 @@ | ||||
| 
 | ||||
|         <div class="flex-grow hidden sm:inline-block" /> | ||||
| 
 | ||||
|         <!-- collapse series checkbox --> | ||||
|         <ui-checkbox v-if="isLibraryPage && isBookLibrary && !isBatchSelecting" v-model="settings.collapseSeries" :label="$strings.LabelCollapseSeries" checkbox-bg="bg" check-color="white" small class="mr-2" @input="updateCollapseSeries" /> | ||||
| 
 | ||||
|         <!-- library filter select --> | ||||
|         <controls-library-filter-select v-if="isLibraryPage && !isBatchSelecting" v-model="settings.filterBy" class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateFilter" /> | ||||
| 
 | ||||
|         <!-- library sort select --> | ||||
|         <controls-library-sort-select v-if="isLibraryPage && !isBatchSelecting" v-model="settings.orderBy" :descending.sync="settings.orderDesc" class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateOrder" /> | ||||
| 
 | ||||
|         <!-- series filter select --> | ||||
|         <controls-library-filter-select v-if="isSeriesPage && !isBatchSelecting" v-model="settings.seriesFilterBy" is-series class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateSeriesFilter" /> | ||||
| 
 | ||||
|         <!-- series sort select --> | ||||
|         <controls-sort-select v-if="isSeriesPage && !isBatchSelecting" v-model="settings.seriesSortBy" :descending.sync="settings.seriesSortDesc" :items="seriesSortItems" class="w-36 sm:w-44 md:w-48 h-7.5 ml-1 sm:ml-4" @change="updateSeriesSort" /> | ||||
| 
 | ||||
|         <!-- issues page remove all button --> | ||||
|         <ui-btn v-if="isIssuesFilter && userCanDelete && !isBatchSelecting" :loading="processingIssues" color="error" small class="ml-4" @click="removeAllIssues">{{ $strings.ButtonRemoveAll }} {{ numShowing }} {{ entityName }}</ui-btn> | ||||
|       </template> | ||||
|       <!-- search page --> | ||||
|  | ||||
| @ -95,17 +95,20 @@ module.exports = { | ||||
|   checkSeriesProgressFilter(series, filterBy, user) { | ||||
|     const filter = this.decode(filterBy.split('.')[1]) | ||||
| 
 | ||||
|     var numBooksStartedOrFinished = 0 | ||||
|     let someBookHasProgress = false | ||||
|     let someBookIsUnfinished = false | ||||
|     for (const libraryItem of series.books) { | ||||
|       const itemProgress = user.getMediaProgress(libraryItem.id) | ||||
|       if (filter === 'Finished' && (!itemProgress || !itemProgress.isFinished)) return false | ||||
|       if (filter === 'Not Started' && itemProgress) return false | ||||
|       if (itemProgress) numBooksStartedOrFinished++ | ||||
|       if (!itemProgress || !itemProgress.isFinished) someBookIsUnfinished = true | ||||
|       if (itemProgress && itemProgress.progress > 0) someBookHasProgress = true | ||||
| 
 | ||||
|       if (filter === 'finished' && (!itemProgress || !itemProgress.isFinished)) return false | ||||
|       if (filter === 'not-started' && itemProgress) return false | ||||
|     } | ||||
| 
 | ||||
|     if (numBooksStartedOrFinished === series.books.length) { // Completely finished series
 | ||||
|       if (filter === 'Not Finished') return false | ||||
|     } else if (numBooksStartedOrFinished === 0 && filter === 'In Progress') { // Series not started
 | ||||
|     if (!someBookIsUnfinished && filter === 'not-finished') { // Completely finished series
 | ||||
|       return false | ||||
|     } else if (!someBookHasProgress && filter === 'in-progress') { // Series not started
 | ||||
|       return false | ||||
|     } | ||||
|     return true | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user