chowa
Version:
UI component library based on React
60 lines (59 loc) • 1.9 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import { Data, UpdateParams, ColumnsWidthMap, FilterInfo, SorterInfo } from './table';
import { TableColumnProps, DataIndex } from './table-column';
export declare type HeaderColumn = TableColumnProps & {
parentIndexs?: number[];
};
export interface HeaderRow {
tier: number;
tiers: number[];
cells: number[];
columns: HeaderColumn[];
}
export interface TableHeaderProps {
data: Data;
globalAlign: 'left' | 'right' | 'center';
columns: TableColumnProps[];
columnsWidthMap: ColumnsWidthMap;
resizeable: boolean;
dataIndexs: DataIndex[];
headerRowAttr: (rowIndex: number) => React.Attributes;
filterInfo: FilterInfo;
sorterInfo: SorterInfo;
updateTable: (params: UpdateParams) => void;
expanded: boolean;
selectable: boolean;
selectedIndexs: React.ReactText[];
onSelectAll: () => void;
onDeSelectAll: () => void;
fixed?: 'left' | 'right';
headerHeight?: number;
draggable?: boolean;
columnDragSorter?: (dragIndex: number, dropIndex: number, parentIndexs: number[]) => void;
}
export interface TableHeaderState {
headerRows: HeaderRow[];
}
declare class TableHeader extends React.PureComponent<TableHeaderProps, TableHeaderState> {
private dragStartX;
private dragDataIndex;
private dragDataIndexWidth;
constructor(props: TableHeaderProps);
private onSelectionChange;
componentDidUpdate(preProps: TableHeaderProps): void;
private onResizeMove;
private onResizeEnd;
private onCellResize;
private compileHeaderRows;
private renderRow;
render(): React.ReactNode;
}
export default TableHeader;