1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-26 22:46:53 -04:00

New: Original Language and Title sort and filter options

Fixes #7019
Fixes #5438
This commit is contained in:
Qstick
2022-03-06 18:47:45 -06:00
parent ccd561eb24
commit ff7f95a0ab
8 changed files with 102 additions and 0 deletions
@@ -119,6 +119,13 @@ export const filterPredicates = {
return predicate(collection ? collection.name : '', filterValue);
},
originalLanguage: function(item, filterValue, type) {
const predicate = filterTypePredicates[type];
const { originalLanguage } = item;
return predicate(originalLanguage ? originalLanguage.name : '', filterValue);
},
inCinemas: function(item, filterValue, type) {
return dateFilterPredicate(item.inCinemas, filterValue, type);
},
@@ -81,6 +81,12 @@ export const defaultState = {
isVisible: true,
isModifiable: false
},
{
name: 'originalTitle',
label: translate('OriginalTitle'),
isSortable: true,
isVisible: false
},
{
name: 'collection',
label: translate('Collection'),
@@ -99,6 +105,12 @@ export const defaultState = {
isSortable: true,
isVisible: true
},
{
name: 'originalLanguage',
label: translate('OriginalLanguage'),
isSortable: true,
isVisible: false
},
{
name: 'added',
label: translate('Added'),
@@ -206,6 +218,12 @@ export const defaultState = {
return collection.name;
},
originalLanguage: function(item) {
const { originalLanguage ={} } = item;
return originalLanguage.name;
},
ratings: function(item) {
const { ratings = {} } = item;
@@ -242,6 +260,30 @@ export const defaultState = {
label: translate('Title'),
type: filterBuilderTypes.STRING
},
{
name: 'originalTitle',
label: translate('OriginalTitle'),
type: filterBuilderTypes.STRING
},
{
name: 'originalLanguage',
label: translate('OriginalLanguage'),
type: filterBuilderTypes.EXACT,
optionsSelector: function(items) {
const collectionList = items.reduce((acc, movie) => {
if (movie.originalLanguage) {
acc.push({
id: movie.originalLanguage.name,
name: movie.originalLanguage.name
});
}
return acc;
}, []);
return collectionList.sort(sortByName);
}
},
{
name: 'status',
label: translate('ReleaseStatus'),