mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-28 21:19:37 +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
39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import * as React from 'react';
|
|
import classNames from 'classnames';
|
|
import { TableLocale } from './interface';
|
|
|
|
interface DefaultExpandIconProps<RecordType> {
|
|
prefixCls: string;
|
|
onExpand: (record: RecordType, e: React.MouseEvent<HTMLElement>) => void;
|
|
record: RecordType;
|
|
expanded: boolean;
|
|
expandable: boolean;
|
|
}
|
|
|
|
function renderExpandIcon(locale: TableLocale) {
|
|
return function expandIcon<RecordType>({
|
|
prefixCls,
|
|
onExpand,
|
|
record,
|
|
expanded,
|
|
expandable,
|
|
}: DefaultExpandIconProps<RecordType>) {
|
|
const iconPrefix = `${prefixCls}-row-expand-icon`;
|
|
|
|
return (
|
|
<button
|
|
type="button"
|
|
onClick={e => onExpand(record, e!)}
|
|
className={classNames(iconPrefix, {
|
|
[`${iconPrefix}-spaced`]: !expandable,
|
|
[`${iconPrefix}-expanded`]: expandable && expanded,
|
|
[`${iconPrefix}-collapsed`]: expandable && !expanded,
|
|
})}
|
|
aria-label={expanded ? locale.collapse : locale.expand}
|
|
/>
|
|
);
|
|
};
|
|
}
|
|
|
|
export default renderExpandIcon;
|