mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-02-10 04:09:39 +00:00
Update:Add libraries playlists API endpoint, add lazy playlists card
This commit is contained in:
parent
0979b3e03d
commit
7e171576e0
13 changed files with 207 additions and 39 deletions
|
|
@ -12,7 +12,8 @@ export const state = () => ({
|
|||
seriesSortBy: 'name',
|
||||
seriesSortDesc: false,
|
||||
seriesFilterBy: 'all',
|
||||
collections: []
|
||||
collections: [],
|
||||
userPlaylists: []
|
||||
})
|
||||
|
||||
export const getters = {
|
||||
|
|
@ -102,6 +103,8 @@ export const actions = {
|
|||
return false
|
||||
}
|
||||
|
||||
const libraryChanging = state.currentLibraryId !== libraryId
|
||||
|
||||
return this.$axios
|
||||
.$get(`/api/libraries/${libraryId}?include=filterdata`)
|
||||
.then((data) => {
|
||||
|
|
@ -115,7 +118,10 @@ export const actions = {
|
|||
commit('setLibraryIssues', issues)
|
||||
commit('setLibraryFilterData', filterData)
|
||||
commit('setCurrentLibrary', libraryId)
|
||||
commit('setCollections', [])
|
||||
if (libraryChanging) {
|
||||
commit('setCollections', [])
|
||||
commit('setUserPlaylists', [])
|
||||
}
|
||||
return data
|
||||
})
|
||||
.catch((error) => {
|
||||
|
|
@ -320,5 +326,19 @@ export const mutations = {
|
|||
},
|
||||
removeCollection(state, collection) {
|
||||
state.collections = state.collections.filter(c => c.id !== collection.id)
|
||||
},
|
||||
setUserPlaylists(state, playlists) {
|
||||
state.userPlaylists = playlists
|
||||
},
|
||||
addUpdateUserPlaylist(state, playlist) {
|
||||
const index = state.userPlaylists.findIndex(p => p.id === playlist.id)
|
||||
if (index >= 0) {
|
||||
state.userPlaylists.splice(index, 1, playlist)
|
||||
} else {
|
||||
state.userPlaylists.push(playlist)
|
||||
}
|
||||
},
|
||||
removeUserPlaylist(state, playlist) {
|
||||
state.userPlaylists = state.userPlaylists.filter(p => p.id !== playlist.id)
|
||||
}
|
||||
}
|
||||
|
|
@ -9,8 +9,7 @@ export const state = () => ({
|
|||
collapseSeries: false,
|
||||
collapseBookSeries: false
|
||||
},
|
||||
settingsListeners: [],
|
||||
playlists: []
|
||||
settingsListeners: []
|
||||
})
|
||||
|
||||
export const getters = {
|
||||
|
|
@ -164,19 +163,5 @@ export const mutations = {
|
|||
},
|
||||
removeSettingsListener(state, listenerId) {
|
||||
state.settingsListeners = state.settingsListeners.filter(l => l.id !== listenerId)
|
||||
},
|
||||
setPlaylists(state, playlists) {
|
||||
state.playlists = playlists
|
||||
},
|
||||
addUpdatePlaylist(state, playlist) {
|
||||
const indexOf = state.playlists.findIndex(p => p.id == playlist.id)
|
||||
if (indexOf >= 0) {
|
||||
state.playlists.splice(indexOf, 1, playlist)
|
||||
} else {
|
||||
state.playlists.push(playlist)
|
||||
}
|
||||
},
|
||||
removePlaylist(state, playlist) {
|
||||
state.playlists = state.playlists.filter(p => p.id !== playlist.id)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue