UNPKG

@alifd/next

Version:

A configurable component library for web built on React.

184 lines (183 loc) 8.54 kB
import React, { Component } from 'react'; import PropTypes from 'prop-types'; import VirtualList from '../../virtual-list'; import type { DataNode, Key, KeyEntities, NodeElement, NodeInstance, TreeProps, TreeState } from '../types'; export declare const treeNodeProps: string[]; /** * Tree */ export declare class Tree extends Component<TreeProps, TreeState> { static propTypes: { prefix: PropTypes.Requireable<string>; rtl: PropTypes.Requireable<boolean>; pure: PropTypes.Requireable<boolean>; className: PropTypes.Requireable<string>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; dataSource: PropTypes.Requireable<any[]>; showLine: PropTypes.Requireable<boolean>; selectable: PropTypes.Requireable<boolean>; selectedKeys: PropTypes.Requireable<(string | null | undefined)[]>; defaultSelectedKeys: PropTypes.Requireable<(string | null | undefined)[]>; onSelect: PropTypes.Requireable<(...args: any[]) => any>; multiple: PropTypes.Requireable<boolean>; checkable: PropTypes.Requireable<boolean>; checkedKeys: PropTypes.Requireable<object>; defaultCheckedKeys: PropTypes.Requireable<(string | null | undefined)[]>; checkStrictly: PropTypes.Requireable<boolean>; checkedStrategy: PropTypes.Requireable<string>; onCheck: PropTypes.Requireable<(...args: any[]) => any>; expandedKeys: PropTypes.Requireable<(string | null | undefined)[]>; defaultExpandedKeys: PropTypes.Requireable<(string | null | undefined)[]>; defaultExpandAll: PropTypes.Requireable<boolean>; autoExpandParent: PropTypes.Requireable<boolean>; onExpand: PropTypes.Requireable<(...args: any[]) => any>; editable: PropTypes.Requireable<boolean>; onEditFinish: PropTypes.Requireable<(...args: any[]) => any>; draggable: PropTypes.Requireable<boolean>; 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>; canDrop: PropTypes.Requireable<(...args: any[]) => any>; loadData: PropTypes.Requireable<(...args: any[]) => any>; filterTreeNode: PropTypes.Requireable<(...args: any[]) => any>; onRightClick: PropTypes.Requireable<(...args: any[]) => any>; isLabelBlock: PropTypes.Requireable<boolean>; isNodeBlock: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>; animation: PropTypes.Requireable<boolean>; focusedKey: PropTypes.Requireable<string>; renderChildNodes: PropTypes.Requireable<(...args: any[]) => any>; focusable: PropTypes.Requireable<boolean>; autoFocus: PropTypes.Requireable<boolean>; onItemFocus: PropTypes.Requireable<(...args: any[]) => any>; onBlur: PropTypes.Requireable<(...args: any[]) => any>; onItemKeyDown: PropTypes.Requireable<(...args: any[]) => any>; labelRender: PropTypes.Requireable<(...args: any[]) => any>; useVirtual: PropTypes.Requireable<boolean>; immutable: PropTypes.Requireable<boolean>; virtualListProps: PropTypes.Requireable<object>; clickToCheck: PropTypes.Requireable<boolean>; }; static defaultProps: { prefix: string; rtl: boolean; pure: boolean; showLine: boolean; selectable: boolean; editable: boolean; multiple: boolean; checkable: boolean; checkStrictly: boolean; checkedStrategy: string; draggable: boolean; autoExpandParent: boolean; defaultExpandAll: boolean; defaultExpandedKeys: never[]; defaultCheckedKeys: never[]; defaultSelectedKeys: never[]; onExpand: () => void; onCheck: () => void; onSelect: () => void; onDragStart: () => void; onDragEnter: () => void; onDragOver: () => void; onDragLeave: () => void; onDragEnd: () => void; onDrop: () => void; canDrop: () => boolean; onEditFinish: () => void; onRightClick: () => void; isLabelBlock: boolean; isNodeBlock: boolean; animation: boolean; focusable: boolean; autoFocus: boolean; onItemFocus: () => void; onItemKeyDown: () => void; useVirtual: boolean; immutable: boolean; virtualListProps: {}; clickToCheck: boolean; }; tabbableKey: string | null; dropPosition: number; dragNode: NodeInstance | null; dragNodesKeys: Key[]; normalListRef: React.MutableRefObject<HTMLUListElement | null>; virtualListRef: React.RefObject<InstanceType<typeof VirtualList>>; constructor(props: TreeProps); static getDerivedStateFromProps(props: TreeProps, state: TreeState): { willReceiveProps: boolean; _k2n: KeyEntities; _p2n: KeyEntities; _keyList: string[]; } | { dataSource: DataNode[]; _k2n: KeyEntities; _p2n: KeyEntities; _keyList?: string[] | undefined; willReceiveProps?: boolean | undefined; expandedKeys?: string[] | undefined; selectedKeys?: string[] | undefined; checkedKeys?: string[] | undefined; indeterminateKeys?: string[] | undefined; focusedKey?: string | null | undefined; dragOverNodeKey?: string | null | undefined; }; scrollFilterNodeIntoView(arg?: boolean): void; setFocusKey(): void; getAvailableKey(pos: string, prev: boolean): string | null; getFirstAvaliablelChildKey(parentPos: string): string | null; isAvailablePos(refPos: string, targetPos: string): boolean; isSibling(currentPos: string, targetPos: string): boolean; getParentKey(pos: string): string; processKey(keys: string[], key: string, add: boolean): string[]; handleItemKeyDown(key: string, item: NodeInstance, e: React.KeyboardEvent): void; handleBlur(e: React.FocusEvent<HTMLUListElement>): void; handleExpand(expand: boolean, key: string, node: NodeInstance): Promise<void> | undefined; handleSelect(select: boolean, key: string, node: NodeInstance, e: React.KeyboardEvent | React.MouseEvent): void; handleCheck(check: boolean, key: string, node: NodeInstance): void; getNodeProps(key: Key): { prefix: string | undefined; root: Tree; eventKey: string; pos: string | undefined; isLeaf: boolean | undefined; level: number | undefined; expanded: boolean; selected: boolean; checked: boolean; indeterminate: boolean; dragOver: boolean; dragOverGapTop: boolean; dragOverGapBottom: boolean; }; getNodes(keys: Key[]): (NodeElement | undefined)[]; handleDragStart(e: React.MouseEvent, node: NodeInstance): void; handleDragEnter(e: React.MouseEvent, node: NodeInstance): void; getDropPosition(e: React.MouseEvent, node: NodeInstance): 0 | 1 | -1; handleDragOver(e: React.MouseEvent, node: NodeInstance): void; handleDragLeave(e: React.MouseEvent, node: NodeInstance): void; handleDragEnd(e: React.MouseEvent, node: NodeInstance): void; handleDrop(e: React.MouseEvent, node: NodeInstance): void; canDrop(node: NodeInstance): boolean; generateDropParams(node: NodeInstance): { dragNode: import("./tree-node").TreeNode; dragNodesKeys: string[]; node: import("./tree-node").TreeNode; dropPosition: number; }; filterTreeNode(node: NodeInstance): any; shouldNodeShow(nodeData: DataNode): boolean; renderTreeNode(props: Record<string, unknown>, childNodes?: React.ReactNode): NodeElement; renderNodeList(dataSource: DataNode[]): (NodeElement | undefined)[]; renderWithCustomChildNodes(dataSource: DataNode[]): NodeElement[]; renderByDataSource(dataSource: DataNode[]): (NodeElement | NodeElement[])[]; renderByChildren(): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[] | null | undefined; setListRef(ref?: React.RefCallback<HTMLUListElement>): React.RefCallback<HTMLUListElement>; render(): React.JSX.Element; } declare const _default: typeof Tree; export default _default;