choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
192 lines (191 loc) • 9.95 kB
TypeScript
import React, { Key, ReactNode } from 'react';
import PropTypes from 'prop-types';
import TreeNode from './TreeNode';
import { Select, SelectProps } from '../select/Select';
import DataSet from '../data-set/DataSet';
import Record from '../data-set/Record';
import { CheckedStrategy } from '../data-set/enum';
export interface TreeSelectProps extends SelectProps {
treeCheckable?: boolean;
treeDefaultExpandAll?: boolean;
treeDefaultExpandedKeys?: Key[];
async?: boolean;
loadData?: (node: any) => Promise<any>;
showCheckedStrategy?: CheckedStrategy;
}
export default class TreeSelect extends Select<TreeSelectProps> {
static displayName: string;
static propTypes: {
id: PropTypes.Requireable<string>;
size: PropTypes.Requireable<import("../core/enum").Size>;
suffixCls: PropTypes.Requireable<string>;
prefixCls: PropTypes.Requireable<string>;
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
hidden: PropTypes.Requireable<boolean>;
autoFocus: PropTypes.Requireable<boolean>;
accessKey: PropTypes.Requireable<string | boolean>;
dir: PropTypes.Requireable<string>;
contentEditable: PropTypes.Requireable<string | boolean>;
draggable: PropTypes.Requireable<string | boolean>;
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
lang: PropTypes.Requireable<string>;
spellCheck: PropTypes.Requireable<boolean>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
dataSet: PropTypes.Requireable<object>;
_inTable: PropTypes.Requireable<boolean>;
type: PropTypes.Requireable<string>;
name: PropTypes.Requireable<string>;
value: PropTypes.Requireable<any>;
defaultValue: PropTypes.Requireable<any>;
required: PropTypes.Requireable<boolean>;
readOnly: PropTypes.Requireable<boolean>;
form: PropTypes.Requireable<string>;
dataIndex: PropTypes.Requireable<number>;
multiple: PropTypes.Requireable<boolean>;
range: PropTypes.Requireable<boolean | (string | null | undefined)[]>;
rowSpan: PropTypes.Requireable<number>;
newLine: PropTypes.Requireable<boolean>;
colSpan: PropTypes.Requireable<number>;
validator: PropTypes.Requireable<(...args: any[]) => any>;
onInvalid: PropTypes.Requireable<(...args: any[]) => any>;
help: PropTypes.Requireable<string>;
showHelp: PropTypes.Requireable<import("../field/enum").ShowHelp>;
renderer: PropTypes.Requireable<(...args: any[]) => any>;
validationRenderer: PropTypes.Requireable<(...args: any[]) => any>;
maxTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
maxTagCount: PropTypes.Requireable<number>;
maxTagTextLength: PropTypes.Requireable<number>;
pristine: PropTypes.Requireable<boolean>;
trim: PropTypes.Requireable<import("../data-set/enum").FieldTrim>;
onBeforeChange: PropTypes.Requireable<(...args: any[]) => any>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
onInput: PropTypes.Requireable<(...args: any[]) => any>;
onEnterDown: PropTypes.Requireable<(...args: any[]) => any>;
fieldClassName: PropTypes.Requireable<string>;
highlight: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
highlightRenderer: PropTypes.Requireable<(...args: any[]) => any>;
useColon: PropTypes.Requireable<boolean>;
showValidation: PropTypes.Requireable<string>;
placeholder: PropTypes.Requireable<string | (string | null | undefined)[]>;
minLength: PropTypes.Requireable<number>;
maxLength: PropTypes.Requireable<number>;
pattern: PropTypes.Requireable<string | object>;
autoComplete: PropTypes.Requireable<string>;
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
clearButton: PropTypes.Requireable<boolean>;
addonBefore: PropTypes.Requireable<PropTypes.ReactNodeLike>;
addonBeforeStyle: PropTypes.Requireable<object>;
addonAfter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
addonAfterStyle: PropTypes.Requireable<object>;
restrict: PropTypes.Requireable<string | object>;
isFlat: PropTypes.Requireable<boolean>;
valueChangeAction: PropTypes.Requireable<import("../text-field/enum").ValueChangeAction>;
wait: PropTypes.Requireable<number>;
waitType: PropTypes.Requireable<import("../core/enum").WaitType>;
groupClassName: PropTypes.Requireable<string>;
showLengthInfo: PropTypes.Requireable<boolean>;
border: PropTypes.Requireable<boolean>;
popupContent: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
popupCls: PropTypes.Requireable<string>;
popupStyle: PropTypes.Requireable<object>;
popupPlacement: PropTypes.Requireable<string>;
trigger: React.Requireable<any>;
triggerShowDelay: PropTypes.Requireable<number>;
triggerHiddenDelay: PropTypes.Requireable<number>;
onPopupHiddenChange: PropTypes.Requireable<(...args: any[]) => any>;
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
getPopupAlignTarget: PropTypes.Requireable<(...args: any[]) => any>;
tabIntoPopupContent: PropTypes.Requireable<boolean>;
viewMode: PropTypes.Requireable<string>;
combo: PropTypes.Requireable<boolean>;
commonItem: PropTypes.Requireable<any[]>;
maxCommonTagPlaceholder: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
maxCommonTagCount: PropTypes.Requireable<number>;
maxCommonTagTextLength: PropTypes.Requireable<number>;
searchable: PropTypes.Requireable<boolean>;
searchMatcher: PropTypes.Requireable<string | ((...args: any[]) => any)>;
paramMatcher: PropTypes.Requireable<string | ((...args: any[]) => any)>;
primitiveValue: PropTypes.Requireable<boolean>;
optionRenderer: PropTypes.Requireable<(...args: any[]) => any>;
notFoundContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
pagingOptionContent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
onOption: PropTypes.Requireable<(...args: any[]) => any>;
noCache: PropTypes.Requireable<boolean>;
dropdownMatchSelectWidth: PropTypes.Requireable<boolean>;
selectAllButton: PropTypes.Requireable<boolean | ((...args: any[]) => any)>;
reverse: PropTypes.Requireable<boolean>;
optionTooltip: PropTypes.Requireable<string>;
defaultActiveFirstOption: PropTypes.Requireable<boolean>; /**
* fixed when ie the scroll width would cover the item width
*/
treeCheckable: PropTypes.Requireable<boolean>;
showCheckedStrategy: PropTypes.Requireable<string>;
treeDefaultExpandAll: PropTypes.Requireable<boolean>;
treeDefaultExpandedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
};
static defaultProps: {
suffixCls: string;
dropdownMatchSelectWidth: boolean;
showCheckedStrategy: string;
reverse: boolean;
combo: boolean;
checkValueOnOptionsChange: boolean;
onOption: ({ record }: {
record: any;
}) => {
disabled: any;
};
selectAllButton: boolean;
clearButton: boolean;
popupPlacement: string;
triggerShowDelay: number;
triggerHiddenDelay: number;
viewMode: string;
multiple: boolean;
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;
};
static TreeNode: typeof TreeNode;
expandedKeys: string[] | undefined;
get parentField(): string;
get idField(): string;
get options(): DataSet;
get treeData(): Record[];
get selectedKeys(): Key[];
handleSearch(text?: string | string[] | undefined): void;
handleExpand(keys: any): void;
get multiple(): boolean;
handleTreeSelect(_e: any, { node }: {
node: any;
}): void;
handleTreeCheck(_e: any, { node }: {
node: any;
}): void;
handleTreeNode(e: any): import("../option/Option").OptionProps;
handleLoadData(event: any): Promise<any>;
renderSelectAll(): void;
getMenu(menuProps?: object): ReactNode;
}