1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-25 22:46:31 -04:00

New: Series custom filter for Monitored Episodes

Closes #7552
This commit is contained in:
Mark McDowall
2025-12-24 16:52:29 -08:00
parent ee875ae654
commit 5f8297da6c
13 changed files with 96 additions and 51 deletions
@@ -16,11 +16,11 @@ import DefaultFilterBuilderRowValue from './DefaultFilterBuilderRowValue';
import HistoryEventTypeFilterBuilderRowValue from './HistoryEventTypeFilterBuilderRowValue';
import IndexerFilterBuilderRowValue from './IndexerFilterBuilderRowValue';
import LanguageFilterBuilderRowValue from './LanguageFilterBuilderRowValue';
import MonitoredStatusFilterBuilderRowValue from './MonitoredStatusFilterBuilderRowValue';
import ProtocolFilterBuilderRowValue from './ProtocolFilterBuilderRowValue';
import QualityFilterBuilderRowValue from './QualityFilterBuilderRowValue';
import QualityProfileFilterBuilderRowValue from './QualityProfileFilterBuilderRowValue';
import QueueStatusFilterBuilderRowValue from './QueueStatusFilterBuilderRowValue';
import SeasonsMonitoredStatusFilterBuilderRowValue from './SeasonsMonitoredStatusFilterBuilderRowValue';
import SeriesFilterBuilderRowValue from './SeriesFilterBuilderRowValue';
import SeriesStatusFilterBuilderRowValue from './SeriesStatusFilterBuilderRowValue';
import SeriesTypeFilterBuilderRowValue from './SeriesTypeFilterBuilderRowValue';
@@ -109,8 +109,8 @@ function getRowValueConnector<T>(
case filterBuilderValueTypes.QUEUE_STATUS:
return QueueStatusFilterBuilderRowValue;
case filterBuilderValueTypes.SEASONS_MONITORED_STATUS:
return SeasonsMonitoredStatusFilterBuilderRowValue;
case filterBuilderValueTypes.MONITORED_STATUS:
return MonitoredStatusFilterBuilderRowValue;
case filterBuilderValueTypes.SERIES:
return SeriesFilterBuilderRowValue;
@@ -0,0 +1,39 @@
import React from 'react';
import translate from 'Utilities/String/translate';
import FilterBuilderRowValue, {
FilterBuilderRowValueProps,
} from './FilterBuilderRowValue';
const monitoredStatusList = [
{
id: 'all',
get name() {
return translate('MonitoredAll');
},
},
{
id: 'partial',
get name() {
return translate('MonitoredPartial');
},
},
{
id: 'none',
get name() {
return translate('MonitoredNone');
},
},
];
type MonitoredStatusFilterBuilderRowValueProps<T> = Omit<
FilterBuilderRowValueProps<T, string, string>,
'tagList'
>;
function MonitoredStatusFilterBuilderRowValue<T>(
props: MonitoredStatusFilterBuilderRowValueProps<T>
) {
return <FilterBuilderRowValue tagList={monitoredStatusList} {...props} />;
}
export default MonitoredStatusFilterBuilderRowValue;
@@ -1,41 +0,0 @@
import React from 'react';
import translate from 'Utilities/String/translate';
import FilterBuilderRowValue, {
FilterBuilderRowValueProps,
} from './FilterBuilderRowValue';
const seasonsMonitoredStatusList = [
{
id: 'all',
get name() {
return translate('SeasonsMonitoredAll');
},
},
{
id: 'partial',
get name() {
return translate('SeasonsMonitoredPartial');
},
},
{
id: 'none',
get name() {
return translate('SeasonsMonitoredNone');
},
},
];
type SeasonsMonitoredStatusFilterBuilderRowValueProps<T> = Omit<
FilterBuilderRowValueProps<T, string, string>,
'tagList'
>;
function SeasonsMonitoredStatusFilterBuilderRowValue<T>(
props: SeasonsMonitoredStatusFilterBuilderRowValueProps<T>
) {
return (
<FilterBuilderRowValue tagList={seasonsMonitoredStatusList} {...props} />
);
}
export default SeasonsMonitoredStatusFilterBuilderRowValue;