drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
34 lines (33 loc) • 1.89 kB
TypeScript
/**
* This file is part of the drip-table project.
* @link : https://drip-table.jd.com/
* @author : Emil Zhai (root@derzh.com)
* @modifier : Emil Zhai (root@derzh.com)
* @copyright: Copyright (c) 2021 JD Network Technology Co., Ltd.
*/
import React from 'react';
import type { SetStateAction } from "../../utils/hooks";
import type { DripTableExtraOptions, DripTableProps, DripTableRecordTypeBase, DripTableRecordTypeWithSubtable, DripTableTableInformation, ExtractDripTableExtraOption } from "../../types";
export interface IDripTableComponentContext<RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, 'SubtableDataSourceKey'>> = DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, never>, ExtraOptions extends Partial<DripTableExtraOptions> = never> {
/**
* 表格属性
*/
props: DripTableProps<RecordType, ExtraOptions>;
/**
* 表格基本信息
*/
info: DripTableTableInformation<RecordType, ExtraOptions>;
/**
* 表格状态
*/
state: {
closePopover: string | null;
};
/**
* 设置表格状态
*/
setState: (state: SetStateAction<IDripTableComponentContext['state']>) => void;
}
export declare const createTableComponentState: () => IDripTableComponentContext['state'];
export declare const DripTableComponentContext: React.Context<IDripTableComponentContext<DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, never>, never>>;
export declare const useTableComponentContext: <RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, "SubtableDataSourceKey">> = DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, never>, ExtraOptions extends Partial<DripTableExtraOptions> = never>() => IDripTableComponentContext<RecordType, ExtraOptions>;