UNPKG

drip-table

Version:

A tiny and powerful enterprise-class solution for building tables.

34 lines (33 loc) 1.89 kB
/** * 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>;