All files / src/tree TreeContext.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 0/0
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62                                                                                                              1x            
import React from "react";
 
export interface TreeContextValue {
  /**
   * 树节点是否可选择
   *
   * @default false
   */
  selectable: boolean;
 
  /**
   * 树节点是否支持点击高亮
   *
   * @default false
   */
  activable: boolean;
 
  /**
   * 高亮的节点
   */
  activeIds: string[];
 
  /**
   * 展开的节点
   */
  expandedIds: string[];
 
  /**
   * 异步加载
   */
  onLoad?: (id: string) => Promise<void>;
 
  /**
   * 异步加载失败
   */
  onLoadError?: (id: string, error: Error) => void;
 
  /**
   * 点击高亮
   */
  onActive?: (id: string) => void;
 
  /**
   * 展开/收起
   */
  onExpand?: (id: string, expanded: boolean) => void;
 
  /**
   * 树节点的展开/收起图标
   */
  switcherIcon?:
    | ((context: { expanded: boolean }) => React.ReactNode)
    | React.ReactNode;
}
 
export const TreeContext = React.createContext<TreeContextValue>({
  selectable: false,
  activable: false,
  expandedIds: [],
  activeIds: [],
});