mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-04 20:40:00 +01:00
Fix:Realtime update filters
This commit is contained in:
parent
bbcc8fbb91
commit
28d071f574
@ -153,6 +153,7 @@ export default {
|
||||
},
|
||||
audiobookAdded(audiobook) {
|
||||
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
||||
this.$store.commit('libraries/updateFilterDataWithAudiobook', audiobook)
|
||||
},
|
||||
audiobookUpdated(audiobook) {
|
||||
if (this.$store.state.selectedAudiobook && this.$store.state.selectedAudiobook.id === audiobook.id) {
|
||||
@ -161,6 +162,7 @@ export default {
|
||||
}
|
||||
// Just triggers the listeners
|
||||
this.$store.commit('audiobooks/audiobookUpdated', audiobook)
|
||||
this.$store.commit('libraries/updateFilterDataWithAudiobook', audiobook)
|
||||
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
||||
},
|
||||
audiobookRemoved(audiobook) {
|
||||
@ -172,9 +174,9 @@ export default {
|
||||
// this.$store.commit('audiobooks/remove', audiobook)
|
||||
},
|
||||
audiobooksAdded(audiobooks) {
|
||||
// audiobooks.forEach((ab) => {
|
||||
// this.$store.commit('audiobooks/addUpdate', ab)
|
||||
// })
|
||||
audiobooks.forEach((ab) => {
|
||||
this.audiobookAdded(ab)
|
||||
})
|
||||
},
|
||||
audiobooksUpdated(audiobooks) {
|
||||
audiobooks.forEach((ab) => {
|
||||
|
@ -172,5 +172,46 @@ export const mutations = {
|
||||
},
|
||||
setLibraryFilterData(state, filterData) {
|
||||
state.filterData = filterData
|
||||
},
|
||||
updateFilterDataWithAudiobook(state, audiobook) {
|
||||
if (!audiobook || !audiobook.book || !state.filterData) return
|
||||
if (state.currentLibraryId !== audiobook.libraryId) return
|
||||
/*
|
||||
var filterdata = {
|
||||
authors: [],
|
||||
genres: [],
|
||||
tags: [],
|
||||
series: [],
|
||||
narrators: []
|
||||
}
|
||||
*/
|
||||
|
||||
if (audiobook.book.authorFL) {
|
||||
audiobook.book.authorFL.split(', ').forEach((author) => {
|
||||
if (author && !state.filterData.authors.includes(author)) {
|
||||
state.filterData.authors.push(author)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (audiobook.book.narratorFL) {
|
||||
audiobook.book.narratorFL.split(', ').forEach((narrator) => {
|
||||
if (narrator && !state.filterData.narrators.includes(narrator)) {
|
||||
state.filterData.narrators.push(narrator)
|
||||
}
|
||||
})
|
||||
}
|
||||
if (audiobook.book.series && !state.filterData.series.includes(audiobook.book.series)) {
|
||||
state.filterData.series.push(audiobook.book.series)
|
||||
}
|
||||
if (audiobook.tags && audiobook.tags.length) {
|
||||
audiobook.tags.forEach((tag) => {
|
||||
if (tag && !state.filterData.tags.includes(tag)) state.filterData.tags.push(tag)
|
||||
})
|
||||
}
|
||||
if (audiobook.book.genres && audiobook.book.genres.length) {
|
||||
audiobook.book.genres.forEach((genre) => {
|
||||
if (tag && !state.filterData.genres.includes(genre)) state.filterData.genres.push(genre)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user