1 | import React, { Component, MouseEventHandler } from 'react';
|
2 | import { ColumnProps, TableStateFilters } from './interface';
|
3 | import { LabeledValue, OptionProps } from '../select';
|
4 | export declare const VALUE_OR = "OR";
|
5 | export interface FilterSelectProps<T> {
|
6 | prefixCls?: string;
|
7 | placeholder?: string;
|
8 | dataSource?: T[];
|
9 | filters?: string[];
|
10 | columnFilters?: TableStateFilters;
|
11 | columns?: ColumnProps<T>[];
|
12 | onFilter?: (column: ColumnProps<T>, nextFilters: string[]) => void;
|
13 | onChange?: (filters?: any[]) => void;
|
14 | onClear?: () => void;
|
15 | multiple?: boolean;
|
16 | getPopupContainer?: (triggerNode?: Element) => HTMLElement;
|
17 | }
|
18 | export interface FilterSelectState<T> {
|
19 | columns: ColumnProps<T>[];
|
20 | filters: string[];
|
21 | columnFilters: TableStateFilters;
|
22 | selectColumn?: ColumnProps<T>;
|
23 | inputValue: string;
|
24 | checked: any[];
|
25 | }
|
26 | export default class FilterSelect<T> extends Component<FilterSelectProps<T>, FilterSelectState<T>> {
|
27 | constructor(props: any);
|
28 | state: FilterSelectState<T>;
|
29 | rcSelect: any;
|
30 | columnRefs: any;
|
31 | componentWillReceiveProps(nextProps: FilterSelectProps<T>): void;
|
32 | getPrefixCls(): string;
|
33 | handleDropdownMouseDown: MouseEventHandler<any>;
|
34 | render(): JSX.Element;
|
35 | renderColumnsTitle(): JSX.Element[];
|
36 | isMultiple(): boolean | undefined;
|
37 | saveRef: (node: any) => void;
|
38 | saveColumnRef: (key: string | number, node: any) => void;
|
39 | handleInputKeyDown: (e: any) => void;
|
40 | handleInput: (value: string) => void;
|
41 | handleChoiceItemClick: ({ key }: LabeledValue) => void;
|
42 | handleSelect: ({ key }: LabeledValue) => boolean;
|
43 | handleMultiCheckConfirm: () => void;
|
44 | handleClear: () => void;
|
45 | handleChange: (changedValue: LabeledValue[]) => void;
|
46 | fireChange(filters: any[]): void;
|
47 | fireColumnFilterChange(columnKey: string | number, value: any[]): void;
|
48 | changeValue(changedValue: LabeledValue[], oldValue: any[]): string[];
|
49 | getColumnFiltersValues(): any[];
|
50 | getValue(): ("" | {
|
51 | key: string;
|
52 | label: ({} | null | undefined)[];
|
53 | })[];
|
54 | getInputFilterOptions(inputValue: string): React.ReactElement<OptionProps, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)>[];
|
55 | getOptions(): any[] | null | undefined;
|
56 | getColumnsWidthFilters(props?: Readonly<FilterSelectProps<T>> & Readonly<{
|
57 | children?: React.ReactNode;
|
58 | }>): ColumnProps<T>[];
|
59 | findColumn(myKey: string | number): ColumnProps<T> | undefined;
|
60 | toValueString: (item: any) => "" | {
|
61 | key: string;
|
62 | label: ({} | null | undefined)[];
|
63 | };
|
64 | getRootDomNode: () => HTMLElement;
|
65 | getColumnTitle(column: ColumnProps<T>): string;
|
66 | }
|