UNPKG

chowa

Version:

UI component library based on React

113 lines (112 loc) 4.26 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; import TreeNode, { TreeNodeProps } from './tree-node'; export interface Node extends TreeNodeProps { children?: Node[]; } export declare type Nodes = Node[]; export interface TreeProps { className?: string; style?: React.CSSProperties; selectable?: boolean; checkable?: boolean; multiple?: boolean; disabled?: boolean; blockNode?: boolean; withLine?: boolean; draggable?: boolean; checkStrictly?: boolean; searchable?: boolean; onSearch?: (searchValue: string) => void; searchPlaceholder?: string; defaultExpandAll?: boolean; expandIndexs?: React.ReactText[]; selectedIndexs?: React.ReactText[]; checkedIndexs?: React.ReactText[]; onSelect?: (node: Node, indexs: React.ReactText[]) => void; onDeSelect?: (node: Node, indexs: React.ReactText[]) => void; onCheck?: (node: Node, e: React.ChangeEvent<HTMLInputElement>, checkedIndexs: React.ReactText[]) => void; onExpand?: (node: Node, visible: boolean) => void; loadData?: (node: Node) => Promise<Nodes>; formatter?: (node: Node) => React.ReactNode; onDragEnd?: (nodes: Nodes, dragNode: Node) => void; nodes?: Nodes; onContextMenu?: (node: Node, e: React.MouseEvent) => void; } export interface TreeState { renderNodes: Nodes; searchValue: string; selfSelectedIndexs: React.ReactText[]; selfCheckedIndexs: React.ReactText[]; indeterminateIndexs: React.ReactText[]; selfExpandIndexs: React.ReactText[]; fetchingIndexs: React.ReactText[]; } declare class Tree extends React.PureComponent<TreeProps, TreeState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; selectable: PropTypes.Requireable<boolean>; checkable: PropTypes.Requireable<boolean>; multiple: PropTypes.Requireable<boolean>; disabled: PropTypes.Requireable<boolean>; blockNode: PropTypes.Requireable<boolean>; withLine: PropTypes.Requireable<boolean>; draggable: PropTypes.Requireable<boolean>; checkStrictly: PropTypes.Requireable<boolean>; searchable: PropTypes.Requireable<boolean>; onSearch: PropTypes.Requireable<(...args: any[]) => any>; searchPlaceholder: PropTypes.Requireable<string>; defaultExpandAll: PropTypes.Requireable<boolean>; expandIndexs: PropTypes.Requireable<any[]>; selectedIndexs: PropTypes.Requireable<any[]>; checkedIndexs: PropTypes.Requireable<any[]>; onSelect: PropTypes.Requireable<(...args: any[]) => any>; onDeSelect: PropTypes.Requireable<(...args: any[]) => any>; onCheck: PropTypes.Requireable<(...args: any[]) => any>; onExpand: PropTypes.Requireable<(...args: any[]) => any>; loadData: PropTypes.Requireable<(...args: any[]) => any>; formatter: PropTypes.Requireable<(...args: any[]) => any>; onDragEnd: PropTypes.Requireable<(...args: any[]) => any>; nodes: PropTypes.Requireable<any[]>; onContextMenu: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { selectable: boolean; searchPlaceholder: string; checkable: boolean; multiple: boolean; disabled: boolean; blockNode: boolean; withLine: boolean; draggable: boolean; checkStrictly: boolean; searchable: boolean; defaultExpandAll: boolean; }; static Node: typeof TreeNode; constructor(props: TreeProps & { children: React.ReactNode; }); componentDidUpdate(preProps: TreeProps & { children: React.ReactNode; }): void; private compileRenderParams; private onSelectHandler; private onCheckHandler; private onLoadDataHandler; private onExpandHandler; private onSearchHandler; private onDragSorter; renderTree(): JSX.Element; render(): JSX.Element; } export default Tree;