import React from "react"; import { IItemData } from "../common.typing"; export interface ISessionPickerProps { /** 组件的标题 */ title?: string; /** 是否为多选 */ multiple?: boolean; /** 数量超出时的提示 */ limitTips?: string; /** 可选的最大数量 */ maxNum?: number; /** * 不可用 id * 包括 group、user、org */ disabledids?: string[]; /** * 已选择的 * 包括 group、user、org */ pickedList?: IItemData[]; /** * 必须选择的 * 包括 group、user、org */ requiredList?: IItemData[]; /** 常用联系人(扁平列表) */ commonlyList?: IItemData[]; /** 常用联系人(A-Z 分组数据) */ commonlyGrouped?: { [letter: string]: IItemData[]; }; /** 最近联系人 */ recentConcactsList?: IItemData[]; /** 获取当前用户的组织架构信息,用于 home 页 */ getPersonOrg: () => void; /** 根据部门 id 获取组织架构信息 */ getOrgList: (obj?: IItemData) => void; /** 组织架构展开信息 */ orgList: IItemData[]; /** 组织架构下的成员 */ orgUser: IItemData[]; /** 组织架构面包屑 */ orgBread?: IItemData[]; personOrg?: IItemData; /** 获取我的群组列表 */ getMyGroupList?: () => void; /** 我的群组列表 */ myGroupList?: IItemData[]; /** 根据群 id 获取群成员 */ getGroupMemberList?: (id: number | string) => void; /** 群成员列表(扁平列表) */ groupMemberList?: IItemData[]; /** 群成员列表(A-Z 分组数据) */ groupMemberGrouped?: { [letter: string]: IItemData[]; }; /** * 左侧搜索事件 * key: 关键词 * rows:加载条数 */ loadSearchData: (key: string, rows?: number) => Promise; /** * 加载更多搜索结果 * type:类型 - user、group * key:关键词 * row:加载条数,默认 20,赞不支持自定义 */ loadSearchDataMore?: (type: string, key: string, rows: number) => Promise; /** 关闭组件方法 */ onClose: () => void; /** 点击确定 */ onConfirm: (ids: string[], length: number) => void; /** 获取最近会话列表 */ getRecentSessionList?: () => void; /** 最近会话列表 */ recentSessionList?: IItemData[]; /** 最近转发列表 */ recentForwardList?: IItemData[]; /** 是否展示确认按钮的数量 */ showSelectedNum?: boolean; /** 确认按钮是否为 loading 态 */ isConfirmLoading?: boolean; /** 左侧搜索的 placeholder */ searchPlaceholder?: string; showPartner?: boolean; /** 是否展示【外部联系人】入口,默认为 false */ showExternalContact?: boolean; /** 获取我的伙伴列表 */ getPartnerList?: () => Promise; /** 根据群 id 获取我的伙伴成员 */ getPartnerMemberList?: (id: number | string, show_external: number) => Promise; /** 获取我的伙伴成员分组数据 */ getPartnerMemberGrouped?: (id: number | string, show_external: number) => Promise; getContactList?: (last_id: number, pageSize: number) => Promise; /** * 搜索面板消失触发函数 */ selectPanelBlur?: () => void; calcDeptMembers?: boolean; openRecentSession?: boolean; /** 可选总数为 0 时确认按钮可点击,默认为 false */ canSelectZero?: boolean; /** 是否展示批量导入 */ showBatchImport?: boolean; /** 批量导入接口 */ batchImportApi?: (workCodes: string[]) => Promise; /** 搜索预留内容区域 */ mainChildren?: React.ReactNode; /** 是否只展示选中的数量,不显示最大数量 */ justShowSelectedNoMax?: boolean; /** 是否禁用标题拖拽 */ isDisableTitleDrag?: boolean; /** 是否展示最近转发 */ showRecentForward?: boolean; /** 埋点方法 */ track: (eventName: string, eventData?: any) => void; } /** * 选会话组件: * 支持选择最近会话、我的群组、组织架构下成员、常用联系人, * 支持【我的群组】、【组织架构】入口配置。 */ export declare const SessionPicker: React.FC; export default SessionPicker;