mirror of
https://github.com/lidarr/lidarr.git
synced 2025-07-12 16:13:58 -07:00
New: Queue custom filters
(cherry picked from commit e357d17b187378b92377f8acb077b12c1e7ea527) Closes #4212 Closes #4234
This commit is contained in:
parent
27e3aa76bd
commit
a356b01efd
15 changed files with 235 additions and 16 deletions
|
@ -0,0 +1,19 @@
|
|||
import React from 'react';
|
||||
import { useSelector } from 'react-redux';
|
||||
import Artist from 'Artist/Artist';
|
||||
import createAllArtistSelector from 'Store/Selectors/createAllArtistSelector';
|
||||
import sortByName from 'Utilities/Array/sortByName';
|
||||
import FilterBuilderRowValue from './FilterBuilderRowValue';
|
||||
import FilterBuilderRowValueProps from './FilterBuilderRowValueProps';
|
||||
|
||||
function ArtistFilterBuilderRowValue(props: FilterBuilderRowValueProps) {
|
||||
const allArtists: Artist[] = useSelector(createAllArtistSelector());
|
||||
|
||||
const tagList = allArtists
|
||||
.map((artist) => ({ id: artist.id, name: artist.artistName }))
|
||||
.sort(sortByName);
|
||||
|
||||
return <FilterBuilderRowValue {...props} tagList={tagList} />;
|
||||
}
|
||||
|
||||
export default ArtistFilterBuilderRowValue;
|
|
@ -3,6 +3,7 @@ import React, { Component } from 'react';
|
|||
import SelectInput from 'Components/Form/SelectInput';
|
||||
import IconButton from 'Components/Link/IconButton';
|
||||
import { filterBuilderTypes, filterBuilderValueTypes, icons } from 'Helpers/Props';
|
||||
import ArtistFilterBuilderRowValue from './ArtistFilterBuilderRowValue';
|
||||
import ArtistStatusFilterBuilderRowValue from './ArtistStatusFilterBuilderRowValue';
|
||||
import BoolFilterBuilderRowValue from './BoolFilterBuilderRowValue';
|
||||
import DateFilterBuilderRowValue from './DateFilterBuilderRowValue';
|
||||
|
@ -72,6 +73,9 @@ function getRowValueConnector(selectedFilterBuilderProp) {
|
|||
case filterBuilderValueTypes.QUALITY_PROFILE:
|
||||
return QualityProfileFilterBuilderRowValueConnector;
|
||||
|
||||
case filterBuilderValueTypes.ARTIST:
|
||||
return ArtistFilterBuilderRowValue;
|
||||
|
||||
case filterBuilderValueTypes.ARTIST_STATUS:
|
||||
return ArtistStatusFilterBuilderRowValue;
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
import { FilterBuilderProp } from 'App/State/AppState';
|
||||
|
||||
interface FilterBuilderRowOnChangeProps {
|
||||
name: string;
|
||||
value: unknown[];
|
||||
}
|
||||
|
||||
interface FilterBuilderRowValueProps {
|
||||
filterType?: string;
|
||||
filterValue: string | number | object | string[] | number[] | object[];
|
||||
selectedFilterBuilderProp: FilterBuilderProp<unknown>;
|
||||
sectionItem: unknown[];
|
||||
onChange: (payload: FilterBuilderRowOnChangeProps) => void;
|
||||
}
|
||||
|
||||
export default FilterBuilderRowValueProps;
|
Loading…
Add table
Add a link
Reference in a new issue