1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-26 22:56:23 -04:00

Convert Filter components to TypeScript

This commit is contained in:
Mark McDowall
2024-12-21 16:28:05 -08:00
parent a1d4bb5399
commit 9a7ddd751e
55 changed files with 1644 additions and 1840 deletions
+9 -6
View File
@@ -1,3 +1,6 @@
import ModelBase from 'App/ModelBase';
import { DateFilterValue } from 'Components/Filter/Builder/DateFilterBuilderRowValue';
import { FilterBuilderTypes } from 'Helpers/Props/filterBuilderTypes';
import { Error } from './AppSectionState';
import BlocklistAppState from './BlocklistAppState';
import CalendarAppState from './CalendarAppState';
@@ -21,33 +24,33 @@ import SystemAppState from './SystemAppState';
import TagsAppState from './TagsAppState';
import WantedAppState from './WantedAppState';
interface FilterBuilderPropOption {
export interface FilterBuilderPropOption {
id: string;
name: string;
}
export interface FilterBuilderProp<T> {
name: string;
label: string;
type: string;
label: string | (() => string);
type: FilterBuilderTypes;
valueType?: string;
optionsSelector?: (items: T[]) => FilterBuilderPropOption[];
}
export interface PropertyFilter {
key: string;
value: boolean | string | number | string[] | number[];
value: string | string[] | number[] | boolean[] | DateFilterValue;
type: string;
}
export interface Filter {
key: string;
label: string;
type: string;
filters: PropertyFilter[];
}
export interface CustomFilter {
id: number;
export interface CustomFilter extends ModelBase {
type: string;
label: string;
filters: PropertyFilter[];