mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-05-09 01:16:46 +02:00
Restore scroll position on title change re-sort
This commit is contained in:
parent
2e8cb46c57
commit
f04ef320aa
@ -419,7 +419,7 @@ export default {
|
||||
|
||||
this.postScrollTimeout = setTimeout(this.postScroll, 500)
|
||||
},
|
||||
async resetEntities() {
|
||||
async resetEntities(scrollPositionToRestore) {
|
||||
if (this.isFetchingEntities) {
|
||||
this.pendingReset = true
|
||||
return
|
||||
@ -437,6 +437,12 @@ export default {
|
||||
await this.loadPage(0)
|
||||
var lastBookIndex = Math.min(this.totalEntities, this.shelvesPerPage * this.entitiesPerShelf)
|
||||
this.mountEntities(0, lastBookIndex)
|
||||
|
||||
if (scrollPositionToRestore) {
|
||||
if (window.bookshelf) {
|
||||
window.bookshelf.scrollTop = scrollPositionToRestore
|
||||
}
|
||||
}
|
||||
},
|
||||
async rebuild() {
|
||||
this.initSizeData()
|
||||
@ -444,9 +450,8 @@ export default {
|
||||
var lastBookIndex = Math.min(this.totalEntities, this.booksPerFetch)
|
||||
this.destroyEntityComponents()
|
||||
await this.loadPage(0)
|
||||
var bookshelfEl = document.getElementById('bookshelf')
|
||||
if (bookshelfEl) {
|
||||
bookshelfEl.scrollTop = 0
|
||||
if (window.bookshelf) {
|
||||
window.bookshelf.scrollTop = 0
|
||||
}
|
||||
this.mountEntities(0, lastBookIndex)
|
||||
},
|
||||
@ -552,7 +557,7 @@ export default {
|
||||
const newTitle = libraryItem.media.metadata?.title
|
||||
if (curTitle != newTitle) {
|
||||
console.log('Title changed. Re-sorting...')
|
||||
this.resetEntities()
|
||||
this.resetEntities(this.currScrollTop)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user