mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-26 12:10:06 +08:00
72a7ba618f
* chore: update rc-table * add basic table style * checked all logic * checkbox support disabled * selection style * selection support radio * add selections support * selection extra style * select all locale * sorter logic * add more desc * init Filter hooks * init filter hooks * update style * filter style * filter style * fix filter * sort control * ajax it * add expandedable css * expandable view style * fixed style * border style * empty style * fix pagination style * add fixed demo * un-comment * clean up * fix filter check logic * fix overflow & ellipsis conflict * fix tes * adjust scroll shadow * fix border fixed style * add part of test case * add filter test part * more test case * issue related test * filter test * adjust pagination logic * fix pagination test case * all selection test case * table sorter test case * table basic test * fix test case * update faq * update expandable doc * add v4 doc * add summary docs * more demo * fix selection * update snapshot * update test case * fix ff styling * update rc-table * update snapshot * update snapshot * fix lint * fix style lint * fix style * update snapshot * update desc * fix missing icon
32 lines
906 B
TypeScript
32 lines
906 B
TypeScript
import * as React from 'react';
|
|
import { TransformColumns, ColumnTitleProps, ColumnsType } from '../interface';
|
|
import { renderColumnTitle } from '../util';
|
|
|
|
function fillTitle<RecordType>(
|
|
columns: ColumnsType<RecordType>,
|
|
columnTitleProps: ColumnTitleProps<RecordType>,
|
|
) {
|
|
return columns.map(column => {
|
|
const cloneColumn = { ...column };
|
|
|
|
cloneColumn.title = renderColumnTitle(column.title, columnTitleProps);
|
|
|
|
if ('children' in cloneColumn) {
|
|
cloneColumn.children = fillTitle(cloneColumn.children, columnTitleProps);
|
|
}
|
|
|
|
return cloneColumn;
|
|
});
|
|
}
|
|
|
|
export default function useTitleColumns<RecordType>(
|
|
columnTitleProps: ColumnTitleProps<RecordType>,
|
|
): [TransformColumns<RecordType>] {
|
|
const filledColumns = React.useCallback(
|
|
(columns: ColumnsType<RecordType>) => fillTitle(columns, columnTitleProps),
|
|
[columnTitleProps],
|
|
);
|
|
|
|
return [filledColumns];
|
|
}
|