You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
901 B
45 lines
901 B
import ArtistAppState, { ArtistIndexAppState } from './ArtistAppState';
|
|
import SettingsAppState from './SettingsAppState';
|
|
import TagsAppState from './TagsAppState';
|
|
|
|
interface FilterBuilderPropOption {
|
|
id: string;
|
|
name: string;
|
|
}
|
|
|
|
export interface FilterBuilderProp<T> {
|
|
name: string;
|
|
label: string;
|
|
type: string;
|
|
valueType?: string;
|
|
optionsSelector?: (items: T[]) => FilterBuilderPropOption[];
|
|
}
|
|
|
|
export interface PropertyFilter {
|
|
key: string;
|
|
value: boolean | string | number | string[] | number[];
|
|
type: string;
|
|
}
|
|
|
|
export interface Filter {
|
|
key: string;
|
|
label: string;
|
|
filers: PropertyFilter[];
|
|
}
|
|
|
|
export interface CustomFilter {
|
|
id: number;
|
|
type: string;
|
|
label: string;
|
|
filers: PropertyFilter[];
|
|
}
|
|
|
|
interface AppState {
|
|
artist: ArtistAppState;
|
|
artistIndex: ArtistIndexAppState;
|
|
settings: SettingsAppState;
|
|
tags: TagsAppState;
|
|
}
|
|
|
|
export default AppState;
|