UNPKG

react-components-design-system

Version:

React UI component for design system FIS ES PB5

55 lines (54 loc) 2.25 kB
import { TreeNode } from "@Components/Tree/TreeNode"; import type { TreeProps as AntdTreeProps } from "antd/lib/tree"; import { ReactNode, RefObject } from "react"; import { Model, ModelFilter } from "react-3layer-common"; import type { Observable } from "rxjs"; import "./Tree.scss"; import { TreeNode as CustomTreeNode } from "./TreeNode"; export interface TreeProps<T extends Model, TModelFilter extends ModelFilter> { /**Item selected*/ items?: Model[]; /**List TreeNode data*/ treeData?: CustomTreeNode<T>[]; /**Value filter for api getTreeData*/ valueFilter?: TModelFilter; /**List key of node is expanding*/ expandedKeys?: number[]; /**List key of node checked*/ checkedKeys?: number[]; /**Switch to multiple check option*/ checkable?: boolean; /**Key of selected node */ selectedKey?: number; /**Not allow to select the father item that contain a lot of items inside*/ onlySelectLeaf?: boolean; /**API to get data*/ getTreeData?: (TModelFilter?: TModelFilter) => Observable<T[]>; /**Function to change selected items*/ onChange?: (treeNode: CustomTreeNode<T>[], disableChange?: boolean) => void; /**Provide a function to render a specific property as name*/ render?: (treeNode: T) => string; /**Option to show add new button*/ selectWithAdd?: () => void; selectWithAddTitle?: string; /**Prefer node item of tree*/ preferOptions?: T[]; /**Pass ref of list data select */ selectListRef?: RefObject<any>; /** Prop of AntdTreeProps*/ titleRender?: (T: T) => ReactNode; /** Option to collapse and expand tree data */ isExpand?: boolean; /** Option to let user cant select the selected item in tree list */ isDisableSelected?: boolean; /** Option to let developer can modify tree data */ buildTree?: (flatData: Model[]) => [TreeNode<Model>[], number[]]; /** Key property when you want to customize build tree object */ keyField?: string; /**tree original */ treeOriginalBehavior?: boolean; /**needBuildTree */ noNeedToBuildTree?: boolean; } declare function Tree(props: TreeProps<Model, ModelFilter> & AntdTreeProps): import("react/jsx-runtime").JSX.Element; export default Tree;