@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
52 lines (51 loc) • 1.88 kB
TypeScript
/// <reference types="lodash" />
import * as React from 'react';
import { ITableTheme, IFontStyle } from '../../../../constants';
import { IColumnProps, IFilterValue } from '../constant';
export interface ITTableHeaderProps<T> {
columns: Array<IColumnProps<T>>;
dataSource: T[];
data: T[];
setData: (data: T[]) => void;
fixedIndexes: {
left: number[];
right: number[];
};
filters: IFilterValue[];
handleChangeFilters: (filters: IFilterValue[]) => void;
bordered?: boolean;
tableOption: ITableTheme;
tableTitleFont?: IFontStyle;
tableTitleBgColor?: string;
defaultActiveOrder?: 'ascend' | 'descend';
defaultActiveDataIndex?: string;
onColumnsFiltersChange?: (filters: IFilterValue[]) => void;
getTableData: (dataSource: T[]) => any;
handleCellResize: ({ size }: any, dataIndex?: string) => void;
onSortChange?: (sort?: {
field: string;
order: 'ascend' | 'descend';
}) => void;
}
export default class TableHeader<T> extends React.Component<ITTableHeaderProps<T>, {}> {
activeOrder: 'ascend' | 'descend' | null;
activeDataIndex: string;
debounceColumnsFiltersChange: import("lodash").DebouncedFunc<(filters: IFilterValue[]) => void>;
get borderStyle(): {
borderBottom: string;
} | {
borderBottom?: undefined;
};
get tableHeaderStyle(): {
backgroundColor: string | undefined;
color?: string | undefined;
fontSize?: number | undefined;
};
setActiveDataIndex(dataIndex: string): void;
setActiveOrder(order: 'ascend' | 'descend'): void;
handleRestFilterValue(key: string): void;
handleUpdateFilterValue(filterValue: IFilterValue): void;
componentDidMount(): void;
UNSAFE_componentWillReceiveProps(nextProps: Readonly<ITTableHeaderProps<T>>): void;
render(): React.JSX.Element;
}