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.
46 lines
922 B
46 lines
922 B
import AuthorsAppState from './AuthorsAppState';
|
|
import CommandAppState from './CommandAppState';
|
|
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 {
|
|
authors: AuthorsAppState;
|
|
commands: CommandAppState;
|
|
settings: SettingsAppState;
|
|
tags: TagsAppState;
|
|
}
|
|
|
|
export default AppState;
|