/// import { MessageProps } from '@alifd/next/types/message'; import { NodeProps, TreeProps } from '@alifd/next/types/tree'; import { CommonRequestConfig } from '@teamix/utils'; import { ProTagItem } from '../field'; import { ProActionConfig, ProCardProps, ProFieldProps, ProFieldRenderProps, ProFieldType } from '..'; /** ProSidebar 定义 */ export declare type ProSidebarProps = { /** 数据源 */ dataSource?: ProSidebarDataSource; /** 点击的节点 */ selectedKeys?: TreeProps['selectedKeys']; /** 非受控 默认点击的节点 */ defaultSelectedKeys?: TreeProps['defaultSelectedKeys']; /** 选中的节点 */ checkedKeys?: TreeProps['checkedKeys']; /** 非受控 默认选中的节点 */ defaultCheckedKeys?: TreeProps['defaultCheckedKeys']; /** 节点点击回调 */ onSelect?: TreeProps['onSelect']; /** 节点选中回调 */ onCheck?: TreeProps['onCheck']; /** 树配置 */ treeProps?: TreeProps; /** 卡片配置 */ cardProps?: ProCardProps; /** 显示数量 */ showExtraNumber?: boolean; /** actionRef */ actionRef?: React.MutableRefObject; /** 渲染树节点之前的回调 dataSource 变动时调用 */ beforeRenderNode?: (item: ProSidebarDataSourceItem, level: number, dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem; /** 监听渲染树节点之前的事件 当节点状态改变、dataSource 变动时调用 */ onBeforeRenderNodeEvent?: (item: ProSidebarDataSourceItem, checkedKeys: TreeProps['checkedKeys'], selectedKeys: TreeProps['selectedKeys'], dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem; } & Omit, 'onSelect'> & Omit & ProSidebarRequestProps; /** 数据源定义 */ export declare type ProSidebarDataSource = ProSidebarDataSourceItem[]; export declare type ProSidebarDataSourceItem = { /** 展示值 */ label?: string; /** 绑定值 */ value?: any; /** 标签 */ tag?: ProTagItem; /** 右侧操作、状态区 */ extra?: ProSidebarExtraProps; /** 子项 */ children?: ProSidebarDataSourceItem[]; /** label 类型 对应 ProFieldType */ valueType?: ProFieldType; /** 渲染 label 的 render 对应 ProFieldRenderProps */ render?: ProFieldRenderProps; /** ProField 的其他配置项 */ fieldProps?: ProFieldProps; /** TreeNode 的其他配置项 */ treeNodeProps?: ProFieldProps; } & NodeProps; /** 单项 extra 配置项 */ export declare type ProSidebarExtraProps = React.ReactNode | (ProSidebarExtraPropsItem | React.ReactNode)[]; export declare type ProSidebarExtraPropsItem = { /** 相应功能项 */ type: 'action' | 'iconSwitch' | 'iconAction' | 'custom'; /** action 相应配置 */ action: ProActionConfig; /** 相应配置 */ props: any; /** 是否 hover 显示 */ hover?: boolean; /** 自定义渲染 仅在 custom 有效 */ trigger?: any; }; /** sidebar 容器定义 */ export declare type ProSidebarContainerProps = { children?: React.ReactNode; /** 搜索输入提示 */ searchPlaceholder?: string; /** 搜索输入其他参数 ProField 参数 */ searchProps?: ProFieldProps; /** 是否展示搜索框 */ showSearch?: boolean; /** 自定义搜索 */ customSearch?: React.ReactNode; /** 搜索框变化的回调函数 */ searchOnChange?: (value: any) => void; /** 通知提示消息区域 */ message?: React.ReactNode; /** 自定义消息通知区域 */ customMessage?: React.ReactNode; /** 消息通知区域的其他参数 */ messageProps?: MessageProps; /** 滚动区域 仅在使用 ProPageContainer 时有效 */ scrollArea?: 'all' | 'tree'; /** 是否显示展开全部 */ showExpandAll?: boolean; /** 展开全部 状态 */ expandAllState?: boolean; /** 是否显示展开层级 */ showExpandLevel?: boolean; /** 展开全部变化回调 */ onExpandAllChange?: (state: boolean) => void; /** 展开层级变化回调 */ onExpandLevelChange?: (state: number) => void; /** 展开层级 层级 */ expandLevel?: number; /** 展开层级 当前所展示层级 */ expandLevelState?: number; /** 列表 or tree */ isTree?: boolean; } & ProCardProps; /** ProSidebarTree 内容定义 */ export declare type ProSidebarTreeProps = { dataSource?: ProSidebarDataSource; /** 搜索过滤关键词 */ searchKey?: string; /** 显示数量 */ showExtraNumber?: ProSidebarProps['showExtraNumber']; /** actionRef */ actionRef: React.MutableRefObject; /** 渲染树节点之前的回调 */ onBeforeRenderNodeEvent?: ProSidebarProps['onBeforeRenderNodeEvent']; /** 渲染树节点之前的回调 dataSource 变动时调用 */ beforeRenderNode?: ProSidebarProps['beforeRenderNode']; /** 展开全部 */ expandAll?: boolean; /** 展开节点层级 */ expandLevel?: number; /** dataSource 变化的回调 */ onDataSourceChange?: (dataSource: ProSidebarDataSource) => void; } & TreeProps; /** ProSidebarTreeNode 内容定义 */ export declare type ProSidebarTreeNodeProps = { dataSource?: ProSidebarDataSource; }; /** ProSidebar ActionRef 定义 */ export declare type ProSidebarActionType = { /** 设置树节点 */ setTreeNode?: (treeNode: ProSidebarDataSourceItem) => void; /** 刷新 */ refresh?: () => void; }; /** ProSidebar 请求相关定义 */ export declare type ProSidebarRequestProps = { /** 请求地址 */ url?: string; } & Omit;