/**
 * @author linhd
 * @date 2021/8/6 11:06
 * @description 表格内容参数
 */
import React, { ReactNode } from "react";
import { TableHeadBodyPublicProps, Anyjson, ExpandableStatus } from './interface';
import { EmptyProps } from "../Empty";
/** 表格头部参数 */
export interface TableBodyProps extends TableHeadBodyPublicProps {
    /** 请求地址 */
    url?: string;
    /** 空状态属性 */
    emptyProps?: EmptyProps;
    /** 当前表格页数据 */
    rowData?: any[];
    /** 行class mapping */
    rowClassMapping?: {
        [name: string]: string;
    };
    /** 渲染表格一行数据 (跟表格头部head里面的render参数互斥) */
    tableCell?: (row: any, params: any) => ReactNode;
    /** 禁用key的map */
    disabledJson?: Anyjson;
    /** 选择框禁用时的状态 true 选中, false不选中, null 不显示 */
    disabledArrStatus?: {
        [name: string]: true | false | null;
    };
    /** 数据总数对象--用来分页记录数据的 */
    totalDataJson?: Anyjson;
    /** 多选 选中的数据 */
    checkJson?: Anyjson;
    /** 单选 选中的数据 */
    radioValue?: any;
    /** 复选框 - 选择 */
    selectCheck?: (event: React.ChangeEvent<HTMLInputElement>, bol: boolean, key: any) => void;
    /** 单选 - 选择 */
    selectRadio?: (event: React.ChangeEvent<HTMLInputElement>, val: any) => void;
    /** 用来格式化内容 */
    formatter?: (row: any, item: any, val: any, index: number, rowIndex: number) => ReactNode;
    /** 加载 */
    loadState?: boolean;
    /** 加载更多 */
    loadMore?: boolean;
    /** 加载更多自定义 */
    loadMoreRender?: ReactNode;
    /** 点击加载更多 */
    onClickMore?: () => void;
    /** 总条数 */
    total?: number;
    /** 当前页 */
    page?: number | null;
    /** 当前选中每页行数 */
    currentRowsPerPage?: number | null;
    /** 改变页数 */
    changePage?: (num?: number) => void;
    /** 加载更多,请求是否在表格里 */
    loadMoreUrl?: boolean;
    /** 默认展开项 */
    expandValue?: string[];
    /** 展开多个 */
    expandMultiple?: boolean;
    /** 禁用展开项 */
    disabledExpand?: string[];
    /** 展开事件 */
    onExpand?: (row: any, status: ExpandableStatus) => void;
    /** 是否展开所有行 */
    defaultExpandAllRows?: boolean;
    /** 刷新表格 */
    onRefresh?: () => void;
    /** 点击行 */
    onClickRow?: (row: any, e: any) => void;
    /** 用来计算表格行数 */
    lineHeight?: number;
}
