1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-11 20:12:41 +02:00

Fixed: Clarify Status Filter, Add ConsideredAvailable, MinAvailability Filters (#4924)

This commit is contained in:
geogolem 2020-11-12 23:13:39 -05:00 committed by GitHub
parent b888b044d6
commit d9ff8e0d4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 81 additions and 29 deletions

View File

@ -8,10 +8,11 @@ import DateFilterBuilderRowValue from './DateFilterBuilderRowValue';
import FilterBuilderRowValueConnector from './FilterBuilderRowValueConnector'; import FilterBuilderRowValueConnector from './FilterBuilderRowValueConnector';
import ImportListFilterBuilderRowValueConnector from './ImportListFilterBuilderRowValueConnector'; import ImportListFilterBuilderRowValueConnector from './ImportListFilterBuilderRowValueConnector';
import IndexerFilterBuilderRowValueConnector from './IndexerFilterBuilderRowValueConnector'; import IndexerFilterBuilderRowValueConnector from './IndexerFilterBuilderRowValueConnector';
import MovieStatusFilterBuilderRowValue from './MovieStatusFilterBuilderRowValue'; import MinimumAvailabilityFilterBuilderRowValue from './MinimumAvailabilityFilterBuilderRowValue';
import ProtocolFilterBuilderRowValue from './ProtocolFilterBuilderRowValue'; import ProtocolFilterBuilderRowValue from './ProtocolFilterBuilderRowValue';
import QualityFilterBuilderRowValueConnector from './QualityFilterBuilderRowValueConnector'; import QualityFilterBuilderRowValueConnector from './QualityFilterBuilderRowValueConnector';
import QualityProfileFilterBuilderRowValueConnector from './QualityProfileFilterBuilderRowValueConnector'; import QualityProfileFilterBuilderRowValueConnector from './QualityProfileFilterBuilderRowValueConnector';
import ReleaseStatusFilterBuilderRowValue from './ReleaseStatusFilterBuilderRowValue';
import TagFilterBuilderRowValueConnector from './TagFilterBuilderRowValueConnector'; import TagFilterBuilderRowValueConnector from './TagFilterBuilderRowValueConnector';
import styles from './FilterBuilderRow.css'; import styles from './FilterBuilderRow.css';
@ -69,8 +70,11 @@ function getRowValueConnector(selectedFilterBuilderProp) {
case filterBuilderValueTypes.QUALITY_PROFILE: case filterBuilderValueTypes.QUALITY_PROFILE:
return QualityProfileFilterBuilderRowValueConnector; return QualityProfileFilterBuilderRowValueConnector;
case filterBuilderValueTypes.MOVIE_STATUS: case filterBuilderValueTypes.RELEASE_STATUS:
return MovieStatusFilterBuilderRowValue; return ReleaseStatusFilterBuilderRowValue;
case filterBuilderValueTypes.MINIMUM_AVAILABILITY:
return MinimumAvailabilityFilterBuilderRowValue;
case filterBuilderValueTypes.TAG: case filterBuilderValueTypes.TAG:
return TagFilterBuilderRowValueConnector; return TagFilterBuilderRowValueConnector;

View File

@ -0,0 +1,20 @@
import React from 'react';
import translate from 'Utilities/String/translate';
import FilterBuilderRowValue from './FilterBuilderRowValue';
const protocols = [
{ id: 'announced', name: translate('Announced') },
{ id: 'inCinemas', name: translate('InCinemas') },
{ id: 'released', name: translate('Released') }
];
function MinimumAvailabilityFilterBuilderRowValue(props) {
return (
<FilterBuilderRowValue
tagList={protocols}
{...props}
/>
);
}
export default MinimumAvailabilityFilterBuilderRowValue;

View File

@ -1,21 +0,0 @@
import React from 'react';
import FilterBuilderRowValue from './FilterBuilderRowValue';
const protocols = [
{ id: 'tba', name: 'TBA' },
{ id: 'announced', name: 'Announced' },
{ id: 'inCinemas', name: 'In Cinemas' },
{ id: 'released', name: 'Released' },
{ id: 'deleted', name: 'Deleted' }
];
function MovieStatusFilterBuilderRowValue(props) {
return (
<FilterBuilderRowValue
tagList={protocols}
{...props}
/>
);
}
export default MovieStatusFilterBuilderRowValue;

View File

@ -0,0 +1,22 @@
import React from 'react';
import translate from 'Utilities/String/translate';
import FilterBuilderRowValue from './FilterBuilderRowValue';
const protocols = [
{ id: 'tba', name: 'TBA' },
{ id: 'announced', name: translate('Announced') },
{ id: 'inCinemas', name: translate('InCinemas') },
{ id: 'released', name: translate('Released') },
{ id: 'deleted', name: translate('Deleted') }
];
function ReleaseStatusFilterBuilderRowValue(props) {
return (
<FilterBuilderRowValue
tagList={protocols}
{...props}
/>
);
}
export default ReleaseStatusFilterBuilderRowValue;

View File

@ -6,6 +6,7 @@ export const INDEXER = 'indexer';
export const PROTOCOL = 'protocol'; export const PROTOCOL = 'protocol';
export const QUALITY = 'quality'; export const QUALITY = 'quality';
export const QUALITY_PROFILE = 'qualityProfile'; export const QUALITY_PROFILE = 'qualityProfile';
export const MOVIE_STATUS = 'movieStatus'; export const RELEASE_STATUS = 'releaseStatus';
export const MINIMUM_AVAILABILITY = 'minimumAvailability';
export const TAG = 'tag'; export const TAG = 'tag';
export const IMPORTLIST = 'importList'; export const IMPORTLIST = 'importList';

View File

@ -235,9 +235,9 @@ export const defaultState = {
filterBuilderProps: [ filterBuilderProps: [
{ {
name: 'status', name: 'status',
label: 'Status', label: translate('ReleaseStatus'),
type: filterBuilderTypes.EXACT, type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.MOVIE_STATUS valueType: filterBuilderValueTypes.RELEASE_STATUS
}, },
{ {
name: 'studio', name: 'studio',
@ -317,6 +317,18 @@ export const defaultState = {
return tagList.sort(sortByName); return tagList.sort(sortByName);
} }
}, },
{
name: 'isAvailable',
label: translate('ConsideredAvailable'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'minimumAvailability',
label: translate('MinimumAvailability'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.MINIMUM_AVAILABILITY
},
{ {
name: 'ratings', name: 'ratings',
label: 'Rating', label: 'Rating',

View File

@ -223,6 +223,18 @@ export const defaultState = {
type: filterBuilderTypes.EXACT, type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL valueType: filterBuilderValueTypes.BOOL
}, },
{
name: 'isAvailable',
label: translate('ConsideredAvailable'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.BOOL
},
{
name: 'minimumAvailability',
label: translate('MinimumAvailability'),
type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.MINIMUM_AVAILABILITY
},
{ {
name: 'title', name: 'title',
label: translate('Title'), label: translate('Title'),
@ -230,9 +242,9 @@ export const defaultState = {
}, },
{ {
name: 'status', name: 'status',
label: translate('Status'), label: translate('ReleaseStatus'),
type: filterBuilderTypes.EXACT, type: filterBuilderTypes.EXACT,
valueType: filterBuilderValueTypes.MOVIE_STATUS valueType: filterBuilderValueTypes.RELEASE_STATUS
}, },
{ {
name: 'studio', name: 'studio',

View File

@ -32,6 +32,7 @@
"AnalyseVideoFiles": "Analyse video files", "AnalyseVideoFiles": "Analyse video files",
"Analytics": "Analytics", "Analytics": "Analytics",
"AnalyticsEnabledHelpText": "Send anonymous usage and error information to Radarr's servers. This includes information on your browser, which Radarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes.", "AnalyticsEnabledHelpText": "Send anonymous usage and error information to Radarr's servers. This includes information on your browser, which Radarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes.",
"Announced": "Announced",
"ApiKey": "API Key", "ApiKey": "API Key",
"AppDataDirectory": "AppData directory", "AppDataDirectory": "AppData directory",
"AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update", "AppDataLocationHealthCheckMessage": "Updating will not be possible to prevent deleting AppData on Update",
@ -350,6 +351,7 @@
"InteractiveImport": "Interactive Import", "InteractiveImport": "Interactive Import",
"InteractiveSearch": "Interactive Search", "InteractiveSearch": "Interactive Search",
"Interval": "Interval", "Interval": "Interval",
"ConsideredAvailable": "Considered Available",
"KeyboardShortcuts": "Keyboard Shortcuts", "KeyboardShortcuts": "Keyboard Shortcuts",
"Language": "Language", "Language": "Language",
"LanguageHelpText": "Language for Releases", "LanguageHelpText": "Language for Releases",