UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

53 lines (52 loc) 1.77 kB
import * as React from 'react'; import type { TablePaginationConfig } from 'antd/es/table'; import type { ISaveFieldItem } from '@qn-pandora/pandora-component/es/components/Table'; import { EThemeTypes, ITableTheme, ChartType, IFontStyle } from '../../../constants'; import BasicComponent from '../BasicComponent'; import { IColumnProps, IFilterValue } from './constant'; import 'react-resizable/css/styles.css'; export interface IAntdTableProps<T> { columns: Array<IColumnProps<T>>; dataSource: T[]; className?: string; bordered?: boolean; resizable?: boolean; size?: 'small' | 'middle' | 'large'; tableTitleFont?: IFontStyle; tableTitleBgColor?: string; pagination?: false | TablePaginationConfig; onColumnsFiltersChange?: (filters: IFilterValue[]) => void; tableOption: ITableTheme; theme?: EThemeTypes; chartType?: ChartType; sort?: { field: string; order: 'ascend' | 'descend'; }; onSortChange?: (sort?: { field: string; order: 'ascend' | 'descend'; }) => void; onSettingChange?: (fields: ISaveFieldItem[]) => void; } export default class AntdTable<T> extends BasicComponent<IAntdTableProps<T>, any> { static defaultProps: { columns: never[]; dataSource: never[]; bordered: boolean; tableOption: {}; theme: EThemeTypes; }; get tableHeaderStyle(): { backgroundColor: string | undefined; color?: string | undefined; fontSize?: number | undefined; }; get hasBgColorColumns(): IColumnProps<T>[]; get trDisplayStyle(): { display: string; gridTemplateColumns: string; }; handleTableChange(_: any, filters: IKeyValues): void; render(): React.JSX.Element; }