advplyr.audiobookshelf-app/components/tables/podcast/EpisodesTable.vue

44 lines
1.1 KiB
Vue
Raw Normal View History

<template>
<div class="w-full">
<p class="text-lg mb-1 font-semibold">Episodes ({{ episodes.length }})</p>
<template v-for="episode in episodes">
2022-04-15 20:48:39 -05:00
<tables-podcast-episode-row :episode="episode" :local-episode="localEpisodeMap[episode.id]" :library-item-id="libraryItemId" :local-library-item-id="localLibraryItemId" :is-local="isLocal" :key="episode.id" />
</template>
</div>
</template>
<script>
export default {
props: {
libraryItemId: String,
episodes: {
type: Array,
default: () => []
2022-04-15 20:48:39 -05:00
},
localLibraryItemId: String,
localEpisodes: {
type: Array,
default: () => []
},
isLocal: Boolean // If is local then episodes and libraryItemId are local, otherwise local is passed in localLibraryItemId and localEpisodes
},
data() {
return {}
},
2022-04-15 20:48:39 -05:00
computed: {
// Map of local episodes where server episode id is key
localEpisodeMap() {
var epmap = {}
this.localEpisodes.forEach((localEp) => {
if (localEp.serverEpisodeId) {
epmap[localEp.serverEpisodeId] = localEp
}
})
return epmap
}
},
methods: {},
mounted() {}
}
</script>