mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-04 12:29:34 +01:00
Add:Ebook and supplementary ebook library filters
This commit is contained in:
parent
a9f5c64204
commit
aae92649b1
@ -188,9 +188,9 @@ export default {
|
||||
sublist: true
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelEbook,
|
||||
value: 'ebook',
|
||||
sublist: false
|
||||
text: this.$strings.LabelEbooks,
|
||||
value: 'ebooks',
|
||||
sublist: true
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelAbridged,
|
||||
@ -341,6 +341,18 @@ export default {
|
||||
}
|
||||
]
|
||||
},
|
||||
ebooks() {
|
||||
return [
|
||||
{
|
||||
id: 'ebook',
|
||||
name: this.$strings.LabelHasEbook
|
||||
},
|
||||
{
|
||||
id: 'supplementary',
|
||||
name: this.$strings.LabelHasSupplementaryEbook
|
||||
}
|
||||
]
|
||||
},
|
||||
missing() {
|
||||
return [
|
||||
{
|
||||
|
@ -80,7 +80,7 @@ export const actions = {
|
||||
if (state.settings.orderBy == 'media.metadata.publishedYear') {
|
||||
settingsUpdate.orderBy = 'media.metadata.title'
|
||||
}
|
||||
const invalidFilters = ['series', 'authors', 'narrators', 'languages', 'progress', 'issues']
|
||||
const invalidFilters = ['series', 'authors', 'narrators', 'languages', 'progress', 'issues', 'ebooks', 'abridged']
|
||||
const filterByFirstPart = (state.settings.filterBy || '').split('.').shift()
|
||||
if (invalidFilters.includes(filterByFirstPart)) {
|
||||
settingsUpdate.filterBy = 'all'
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Laufzeit",
|
||||
"LabelDurationFound": "Gefundene Laufzeit:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Bearbeiten",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Kategorie",
|
||||
"LabelGenres": "Kategorien",
|
||||
"LabelHardDeleteFile": "Datei dauerhaft löschen",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Stunde",
|
||||
"LabelIcon": "Symbol",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Duration",
|
||||
"LabelDurationFound": "Duration found:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Edit",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHardDeleteFile": "Hard delete file",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Hour",
|
||||
"LabelIcon": "Icon",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Duración",
|
||||
"LabelDurationFound": "Duración Comprobada:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Editar",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genero",
|
||||
"LabelGenres": "Géneros",
|
||||
"LabelHardDeleteFile": "Eliminar Definitivamente",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Hora",
|
||||
"LabelIcon": "Icono",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Durée",
|
||||
"LabelDurationFound": "Durée trouvée :",
|
||||
"LabelEbook": "E-book",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Modifier",
|
||||
"LabelEmail": "E-mail",
|
||||
"LabelEmailSettingsFromAddress": "Expéditeur",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHardDeleteFile": "Suppression du fichier",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Hôte",
|
||||
"LabelHour": "Heure",
|
||||
"LabelIcon": "Icone",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Duration",
|
||||
"LabelDurationFound": "Duration found:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Edit",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHardDeleteFile": "Hard delete file",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Hour",
|
||||
"LabelIcon": "Icon",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Duration",
|
||||
"LabelDurationFound": "Duration found:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Edit",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHardDeleteFile": "Hard delete file",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Hour",
|
||||
"LabelIcon": "Icon",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Trajanje",
|
||||
"LabelDurationFound": "Pronađeno trajanje:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Uredi",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Žanrovi",
|
||||
"LabelHardDeleteFile": "Obriši datoteku zauvijek",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Sat",
|
||||
"LabelIcon": "Ikona",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Durata",
|
||||
"LabelDurationFound": "Durata Trovata:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Modifica",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genere",
|
||||
"LabelGenres": "Generi",
|
||||
"LabelHardDeleteFile": "Elimina Definitivamente",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Ora",
|
||||
"LabelIcon": "Icona",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Duur",
|
||||
"LabelDurationFound": "Gevonden duur:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Wijzig",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Genre",
|
||||
"LabelGenres": "Genres",
|
||||
"LabelHardDeleteFile": "Hard-delete bestand",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Uur",
|
||||
"LabelIcon": "Icoon",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Czas trwania",
|
||||
"LabelDurationFound": "Znaleziona długość:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Edytuj",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Gatunek",
|
||||
"LabelGenres": "Gatunki",
|
||||
"LabelHardDeleteFile": "Usuń trwale plik",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Godzina",
|
||||
"LabelIcon": "Ikona",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "Длина",
|
||||
"LabelDurationFound": "Найденная длина:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "Редактировать",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "Жанр",
|
||||
"LabelGenres": "Жанры",
|
||||
"LabelHardDeleteFile": "Жесткое удаление файла",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "Часы",
|
||||
"LabelIcon": "Иконка",
|
||||
|
@ -224,6 +224,7 @@
|
||||
"LabelDuration": "持续时间",
|
||||
"LabelDurationFound": "找到持续时间:",
|
||||
"LabelEbook": "Ebook",
|
||||
"LabelEbooks": "Ebooks",
|
||||
"LabelEdit": "编辑",
|
||||
"LabelEmail": "Email",
|
||||
"LabelEmailSettingsFromAddress": "From Address",
|
||||
@ -251,6 +252,8 @@
|
||||
"LabelGenre": "流派",
|
||||
"LabelGenres": "流派",
|
||||
"LabelHardDeleteFile": "完全删除文件",
|
||||
"LabelHasEbook": "Has ebook",
|
||||
"LabelHasSupplementaryEbook": "Has supplementary ebook",
|
||||
"LabelHost": "Host",
|
||||
"LabelHour": "小时",
|
||||
"LabelIcon": "图标",
|
||||
|
@ -13,7 +13,7 @@ module.exports = {
|
||||
getFilteredLibraryItems(libraryItems, filterBy, user, feedsArray) {
|
||||
let filtered = libraryItems
|
||||
|
||||
const searchGroups = ['genres', 'tags', 'series', 'authors', 'progress', 'narrators', 'missing', 'languages', 'tracks']
|
||||
const searchGroups = ['genres', 'tags', 'series', 'authors', 'progress', 'narrators', 'missing', 'languages', 'tracks', 'ebooks']
|
||||
const group = searchGroups.find(_group => filterBy.startsWith(_group + '.'))
|
||||
if (group) {
|
||||
const filterVal = filterBy.replace(`${group}.`, '')
|
||||
@ -62,6 +62,9 @@ module.exports = {
|
||||
} else if (group === 'tracks') {
|
||||
if (filter === 'single') filtered = filtered.filter(li => li.isBook && li.media.numTracks === 1)
|
||||
else if (filter === 'multi') filtered = filtered.filter(li => li.isBook && li.media.numTracks > 1)
|
||||
} else if (group === 'ebooks') {
|
||||
if (filter === 'ebook') filtered = filtered.filter(li => li.media.ebookFile)
|
||||
else if (filter === 'supplementary') filtered = filtered.filter(li => li.libraryFiles.some(lf => lf.isEBookFile && lf.ino !== li.media.ebookFile?.ino))
|
||||
}
|
||||
} else if (filterBy === 'issues') {
|
||||
filtered = filtered.filter(li => li.hasIssues)
|
||||
|
Loading…
Reference in New Issue
Block a user