mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-09 23:11:45 +01:00
Fix:Realtime update filters
This commit is contained in:
parent
bbcc8fbb91
commit
28d071f574
@ -153,6 +153,7 @@ export default {
|
|||||||
},
|
},
|
||||||
audiobookAdded(audiobook) {
|
audiobookAdded(audiobook) {
|
||||||
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
||||||
|
this.$store.commit('libraries/updateFilterDataWithAudiobook', audiobook)
|
||||||
},
|
},
|
||||||
audiobookUpdated(audiobook) {
|
audiobookUpdated(audiobook) {
|
||||||
if (this.$store.state.selectedAudiobook && this.$store.state.selectedAudiobook.id === audiobook.id) {
|
if (this.$store.state.selectedAudiobook && this.$store.state.selectedAudiobook.id === audiobook.id) {
|
||||||
@ -161,6 +162,7 @@ export default {
|
|||||||
}
|
}
|
||||||
// Just triggers the listeners
|
// Just triggers the listeners
|
||||||
this.$store.commit('audiobooks/audiobookUpdated', audiobook)
|
this.$store.commit('audiobooks/audiobookUpdated', audiobook)
|
||||||
|
this.$store.commit('libraries/updateFilterDataWithAudiobook', audiobook)
|
||||||
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
// this.$store.commit('audiobooks/addUpdate', audiobook)
|
||||||
},
|
},
|
||||||
audiobookRemoved(audiobook) {
|
audiobookRemoved(audiobook) {
|
||||||
@ -172,9 +174,9 @@ export default {
|
|||||||
// this.$store.commit('audiobooks/remove', audiobook)
|
// this.$store.commit('audiobooks/remove', audiobook)
|
||||||
},
|
},
|
||||||
audiobooksAdded(audiobooks) {
|
audiobooksAdded(audiobooks) {
|
||||||
// audiobooks.forEach((ab) => {
|
audiobooks.forEach((ab) => {
|
||||||
// this.$store.commit('audiobooks/addUpdate', ab)
|
this.audiobookAdded(ab)
|
||||||
// })
|
})
|
||||||
},
|
},
|
||||||
audiobooksUpdated(audiobooks) {
|
audiobooksUpdated(audiobooks) {
|
||||||
audiobooks.forEach((ab) => {
|
audiobooks.forEach((ab) => {
|
||||||
|
@ -172,5 +172,46 @@ export const mutations = {
|
|||||||
},
|
},
|
||||||
setLibraryFilterData(state, filterData) {
|
setLibraryFilterData(state, filterData) {
|
||||||
state.filterData = 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