choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
128 lines (127 loc) • 5.85 kB
TypeScript
import React, { Component, Key } from 'react';
import PropTypes from 'prop-types';
import { C7nTreeNodeProps, EventDataNode, DataNode, TreeProps as C7NTreeProps } from '../../../lib/tree';
import { CheckInfo } from '../../../lib/rc-components/tree/Tree';
import DataSet from '../data-set/DataSet';
import { NodeRenderer, TreeNodeRenderer } from './util';
export interface C7nNodeEvent extends EventDataNode {
eventKey: string;
}
export interface TreeNodeCheckedEvent {
event: 'check';
node: C7nNodeEvent;
checked: boolean;
nativeEvent: MouseEvent;
checkedNodes: DataNode[];
checkedNodesPositions?: {
node: DataNode;
pos: string;
}[];
halfCheckedKeys?: string[];
}
export interface C7nTreeNodeSelectedEvent {
event: 'select';
selected: boolean;
node: C7nNodeEvent;
selectedNodes: DataNode[];
nativeEvent: MouseEvent;
}
export interface C7nTreeNodeExpandedEvent {
expanded: boolean;
nativeEvent: MouseEvent;
node: C7nNodeEvent;
}
export interface TreeProps extends C7NTreeProps {
dataSet?: DataSet;
renderer?: NodeRenderer;
titleField?: string;
onTreeNode?: TreeNodeRenderer;
/**
* @deprecated
*/
treeNodeRenderer?: TreeNodeRenderer;
async?: boolean;
}
export declare function defaultRenderer({ text }: {
text: any;
}): any;
export default class Tree extends Component<TreeProps> {
static displayName: string;
static propTypes: {
prefixCls: PropTypes.Requireable<string>;
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
tabIndex: PropTypes.Requireable<string | number>;
children: PropTypes.Requireable<any>;
treeData: PropTypes.Requireable<any[]>;
showLine: PropTypes.Requireable<boolean | object>;
showIcon: PropTypes.Requireable<boolean>;
icon: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
selectable: PropTypes.Requireable<boolean>;
disabled: PropTypes.Requireable<boolean>;
multiple: PropTypes.Requireable<boolean>;
checkable: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
checkStrictly: PropTypes.Requireable<boolean>;
draggable: PropTypes.Requireable<boolean>;
defaultExpandParent: PropTypes.Requireable<boolean>;
autoExpandParent: PropTypes.Requireable<boolean>;
defaultExpandAll: PropTypes.Requireable<boolean>;
defaultExpandedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
expandedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
defaultCheckedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
checkedKeys: PropTypes.Requireable<object>;
defaultSelectedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
selectedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onExpand: PropTypes.Requireable<(...args: any[]) => any>;
onCheck: PropTypes.Requireable<(...args: any[]) => any>;
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
onLoad: PropTypes.Requireable<(...args: any[]) => any>;
loadData: PropTypes.Requireable<(...args: any[]) => any>;
loadedKeys: PropTypes.Requireable<(string | number | null | undefined)[]>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onRightClick: PropTypes.Requireable<(...args: any[]) => any>;
onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
onDragEnter: PropTypes.Requireable<(...args: any[]) => any>;
onDragOver: PropTypes.Requireable<(...args: any[]) => any>;
onDragLeave: PropTypes.Requireable<(...args: any[]) => any>;
onDragEnd: PropTypes.Requireable<(...args: any[]) => any>;
onDrop: PropTypes.Requireable<(...args: any[]) => any>;
filterTreeNode: PropTypes.Requireable<(...args: any[]) => any>;
motion: PropTypes.Requireable<object>;
switcherIcon: PropTypes.Requireable<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
};
static TreeNode: React.FC<import("../../components/tree").TreeNodeProps>;
stateCheckedKeys: string[];
stateExpandedKeys: string[];
stateLoadedKeys: string[];
componentWillMount(): void;
componentWillReceiveProps(nextProps: any): void;
componentWillUnmount(): void;
processDataSetListener(flag: boolean): void;
handleDataSetLoad(): void;
initDefaultExpandedRows(): void;
initDefaultCheckRows(): void;
initDefaultLoadedRows(): void;
initDefaultSelectRows(): void;
/**
* 处理tree的props expand check的默认事件
* @param dataSet
* @param defaultAll
* @param defaultKeys
*/
dealDefaultCheckExpand(dataSet: DataSet | undefined, defaultKeys: Key[] | undefined, defaultAll?: boolean): string[];
get expandedKeys(): string[];
get checkedKeys(): string[];
get selectedKeys(): string[];
constructor(props: any, context: any);
setExpand(eventObj: C7nTreeNodeExpandedEvent): boolean;
setCheck(eventObj: C7nTreeNodeProps): boolean;
handleExpand(expandedKeys: string[], eventObj: C7nTreeNodeExpandedEvent): void;
handleCheck(checkedKeys: string[], eventObj: CheckInfo, oldCheckedKeys: string[]): void;
handleSelect(selectedKeys: string[], eventObj: C7nTreeNodeSelectedEvent): void;
handleLoadData(event: any): Promise<any>;
render(): JSX.Element;
}