mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-02-23 18:49:42 +00:00
Add published decade filter option (#3489)
* Add strings for PublishedDecade and PublishedDecades * Add publishedDecades filter options to LibraryFilterSelect * Add publishedDecades to libraries store * Add publishedDecades to getFilterData * Add database method to add published decades to filter data * Add published decade in BookScanner * Add 'publishedDecades' to invalidFilters in user.js * Add publishedDecades filter group to MediaGroupQuery * Update client/strings/en-us.json * Auto formatting --------- Co-authored-by: advplyr <dev@advplyr.com> Co-authored-by: advplyr <advplyr@protonmail.com>
This commit is contained in:
parent
e42db121ea
commit
f38b6636e3
8 changed files with 47 additions and 4 deletions
|
|
@ -189,6 +189,12 @@ export default {
|
|||
value: 'publishers',
|
||||
sublist: true
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelPublishedDecade,
|
||||
textPlural: this.$strings.LabelPublishedDecades,
|
||||
value: 'publishedDecades',
|
||||
sublist: true
|
||||
},
|
||||
{
|
||||
text: this.$strings.LabelLanguage,
|
||||
textPlural: this.$strings.LabelLanguages,
|
||||
|
|
@ -338,6 +344,9 @@ export default {
|
|||
publishers() {
|
||||
return this.filterData.publishers || []
|
||||
},
|
||||
publishedDecades() {
|
||||
return this.filterData.publishedDecades || []
|
||||
},
|
||||
progress() {
|
||||
return [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -240,7 +240,8 @@ export const mutations = {
|
|||
series: [],
|
||||
narrators: [],
|
||||
languages: [],
|
||||
publishers: []
|
||||
publishers: [],
|
||||
publishedDecades: []
|
||||
}
|
||||
*/
|
||||
const mediaMetadata = libraryItem.media.metadata
|
||||
|
|
@ -307,6 +308,16 @@ export const mutations = {
|
|||
state.filterData.publishers.sort((a, b) => a.localeCompare(b))
|
||||
}
|
||||
|
||||
// Add publishedDecades
|
||||
if (mediaMetadata.publishedYear) {
|
||||
const publishedYear = parseInt(mediaMetadata.publishedYear, 10)
|
||||
const decade = Math.floor(publishedYear / 10) * 10
|
||||
if (!state.filterData.publishedDecades.includes(decade)) {
|
||||
state.filterData.publishedDecades.push(decade)
|
||||
state.filterData.publishedDecades.sort((a, b) => a - b)
|
||||
}
|
||||
}
|
||||
|
||||
// Add language
|
||||
if (mediaMetadata.language && !state.filterData.languages.includes(mediaMetadata.language)) {
|
||||
state.filterData.languages.push(mediaMetadata.language)
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ export const actions = {
|
|||
if (state.settings.orderBy == 'media.metadata.publishedYear') {
|
||||
settingsUpdate.orderBy = 'media.metadata.title'
|
||||
}
|
||||
const invalidFilters = ['series', 'authors', 'narrators', 'publishers', 'languages', 'progress', 'issues', 'ebooks', 'abridged']
|
||||
const invalidFilters = ['series', 'authors', 'narrators', 'publishers', 'publishedDecades', 'languages', 'progress', 'issues', 'ebooks', 'abridged']
|
||||
const filterByFirstPart = (state.settings.filterBy || '').split('.').shift()
|
||||
if (invalidFilters.includes(filterByFirstPart)) {
|
||||
settingsUpdate.filterBy = 'all'
|
||||
|
|
|
|||
|
|
@ -465,6 +465,8 @@
|
|||
"LabelPubDate": "Pub Date",
|
||||
"LabelPublishYear": "Publish Year",
|
||||
"LabelPublishedDate": "Published {0}",
|
||||
"LabelPublishedDecade": "Published Decade",
|
||||
"LabelPublishedDecades": "Published Decades",
|
||||
"LabelPublisher": "Publisher",
|
||||
"LabelPublishers": "Publishers",
|
||||
"LabelRSSFeedCustomOwnerEmail": "Custom owner Email",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue