choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
49 lines (48 loc) • 1.97 kB
TypeScript
import React, { ReactNode } from 'react';
import { TreeNodeProps } from '../../../lib/tree';
import Record from '../data-set/Record';
import DataSet from '../data-set/DataSet';
export declare type IconType = React.ReactNode | ((props: TreeNodeProps) => React.ReactNode);
export interface DataNode {
children?: DataNode[];
key: string | number;
eventKey: string | number;
title?: React.ReactNode;
selectable?: boolean;
isLeaf?: boolean;
switcherIcon?: IconType;
checkable?: boolean;
disabled?: boolean;
icon?: IconType;
disableCheckbox?: boolean;
/** Set style of TreeNode. This is not recommend if you don't have any force requirement */
className?: string;
style?: React.CSSProperties;
}
export interface TreeNodeRendererProps {
children?: TreeNodeRendererProps[];
title?: React.ReactNode;
isLeaf?: boolean;
switcherIcon?: IconType;
checkable?: boolean;
disabled?: boolean;
icon?: IconType;
disableCheckbox?: boolean;
/** Set style of TreeNode. This is not recommend if you don't have any force requirement */
className?: string;
style?: React.CSSProperties;
}
export declare type NodeRenderer = (props: {
record?: Record | null;
dataSet?: DataSet | null;
text?: string;
}) => ReactNode;
export declare type TreeNodeRenderer = ((props: {
record?: Record | null;
dataSet?: DataSet | null;
}) => TreeNodeRendererProps) | (((props: {
record?: Record | null;
dataSet?: DataSet | null;
}) => {})) | (() => ({}));
export declare function getKey(record: any, idField: any): string;
export declare function getTreeNodes(dataSet: DataSet, records: Record[] | undefined, renderer: NodeRenderer, onTreeNode: TreeNodeRenderer, async?: boolean, titleField?: string, optionsFilter?: (record: Record, index: number, array: Record[]) => boolean, searchMatcher?: (record: Record, text: string | string[]) => boolean, filterText?: string): DataNode[] | null;