choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
98 lines (97 loc) • 3.61 kB
TypeScript
/// <reference types="lodash" />
import { CSSProperties, ReactElement, ReactNode } from 'react';
import { IReactionDisposer } from 'mobx';
import Field from '../../data-set/Field';
import { TextField, TextFieldProps } from '../../text-field/TextField';
import DataSet from '../../data-set/DataSet';
import Record from '../../data-set/Record';
import { FormFieldProps, RenderProps } from '../../field/FormField';
import { SelectProps } from '../../select/Select';
import { OptionProps } from '../../option/Option';
export interface FilterSelectProps extends TextFieldProps {
paramName?: string;
optionDataSet: DataSet;
queryDataSet?: DataSet;
dropdownMenuStyle?: CSSProperties;
editable?: boolean;
hiddenIfNone?: boolean;
filter?: (string: any) => boolean;
editorProps?: (props: {
name: string;
record?: Record;
editor: ReactElement<FormFieldProps>;
}) => object;
onQuery?: () => void;
onReset?: () => void;
}
export default class FilterSelect extends TextField<FilterSelectProps> {
static displayName: string;
static defaultProps: {
multiple: boolean;
clearButton: boolean;
editable: boolean;
dropdownMenuStyle: {
minWidth: string | undefined;
};
suffixCls: string;
border: boolean;
valueChangeAction: import("../../text-field/enum").ValueChangeAction;
waitType: import("../../core/enum").WaitType;
readOnly: boolean;
disabled: boolean;
noValidate: boolean;
trim: import("../../data-set/enum").FieldTrim;
};
getPrefix(): ReactNode;
selectField?: Field;
filterText?: string;
queryDataSet?: DataSet;
reaction: IReactionDisposer;
isDoClear: boolean;
get value(): any;
set value(value: any);
private setFilterText;
constructor(props: any, context: any);
getObservableProps(props: any, context: any): any;
on(ds?: DataSet): void;
off(): void;
componentWillUnmount(): void;
doQuery: import("lodash").DebouncedFunc<() => void>;
setText(text: any): void;
getPlaceholders(): string[];
getOmitPropsKeys(): string[];
getRootDomNode(): any;
defaultRenderer({ value, repeat }: RenderProps): any;
getQueryRecord(): Record | undefined;
getQueryField(fieldName: any): Field | undefined;
addQueryParams(value: any): void;
afterRemoveValue(value: any, repeat: number): void;
getQueryFieldMultiple(value: any): boolean;
handleDataSetReset(): void;
handleDataSetUpdate({ name, value, record }: {
name: any;
value: any;
record: any;
}): void;
handleBlur(e: any): void;
isEditorReadOnly(): boolean;
handleFieldChange(value: any): void;
handleInput(e: any): void;
handleFieldEnterDown(): void;
handleKeyDown(e: any): void;
handleEnterDown(): void;
setSelectField(value: any): void;
getQueryValues(fieldName: any): never[];
syncValueOnBlur(): void;
setQueryValue(fieldName: string, value: any): void;
getFieldLabel(field: Field, record?: Record): ReactNode;
multipleFieldExistsValue(field: Field, current?: Record): boolean;
getInputFilterOptions(filterText: string): ReactElement<OptionProps>[];
getFieldSelectOptions(): ReactElement<OptionProps>[];
getFieldEditor(props: any, selectField: Field): ReactElement<FormFieldProps>;
getFieldSelect(props: any): ReactElement<SelectProps>;
clear(): void;
renderWrapper(): ReactNode;
renderMultipleEditor(props: FilterSelectProps): JSX.Element;
handleMouseDown(e: any): void;
}