antd-table-editable-af
Version:
A editable table based on antd table
59 lines (58 loc) • 4.23 kB
TypeScript
/// <reference types="react" />
import { EditableColumn, EditableOnCellProps, SaveInfoType } from '../interface';
export default function useEditableColumns<RecordType, EditorType>({ columns, dataSource, onSave, }: {
columns?: EditableColumn<RecordType, EditorType>[];
dataSource?: RecordType[];
onSave?: (info: SaveInfoType<RecordType, EditorType>) => void;
}): {
onCell: (record: RecordType, idx: number | undefined) => EditableOnCellProps<RecordType>;
editable?: boolean | ((value: any, record: RecordType, index: number) => boolean) | undefined;
editorType?: Partial<EditorType> | undefined;
formItemProps?: import("antd").FormItemProps<any> | ((value: any, record: RecordType, index: number) => import("antd").FormItemProps<any>) | undefined;
fieldProps?: Record<string, any> | ((value: any, record: RecordType, index: number) => Record<string, any>) | undefined;
valueFormatter?: ((value: any, record: RecordType, index: number) => any) | undefined;
title?: import("antd/lib/table/interface").ColumnTitle<RecordType>;
sorter?: boolean | import("antd/lib/table/interface").CompareFn<RecordType> | {
compare?: import("antd/lib/table/interface").CompareFn<RecordType> | undefined;
multiple?: number | undefined;
} | undefined;
sortOrder?: import("antd/lib/table/interface").SortOrder | undefined;
defaultSortOrder?: import("antd/lib/table/interface").SortOrder | undefined;
sortDirections?: import("antd/lib/table/interface").SortOrder[] | undefined;
sortIcon?: ((props: {
sortOrder: import("antd/lib/table/interface").SortOrder;
}) => import("react").ReactNode) | undefined;
showSorterTooltip?: boolean | import("antd/lib/table/interface").SorterTooltipProps | undefined;
filtered?: boolean | undefined;
filters?: import("antd/lib/table/interface").ColumnFilterItem[] | undefined;
filterDropdown?: import("react").ReactNode | ((props: import("antd/lib/table/interface").FilterDropdownProps) => import("react").ReactNode);
filterOnClose?: boolean | undefined;
filterMultiple?: boolean | undefined;
filteredValue?: import("antd/lib/table/interface").FilterValue | null | undefined;
defaultFilteredValue?: import("antd/lib/table/interface").FilterValue | null | undefined;
filterIcon?: import("react").ReactNode | ((filtered: boolean) => import("react").ReactNode);
filterMode?: "menu" | "tree" | undefined;
filterSearch?: import("antd/lib/table/interface").FilterSearchType<import("antd/lib/table/interface").ColumnFilterItem> | undefined;
onFilter?: ((value: boolean | import("react").Key, record: RecordType) => boolean) | undefined;
filterDropdownOpen?: boolean | undefined;
onFilterDropdownOpenChange?: ((visible: boolean) => void) | undefined;
filterResetToDefaultFilteredValue?: boolean | undefined;
responsive?: import("antd/lib").Breakpoint[] | undefined;
filterDropdownVisible?: boolean | undefined;
onFilterDropdownVisibleChange?: ((visible: boolean) => void) | undefined;
width?: string | number | undefined;
className?: string | undefined;
hidden?: boolean | undefined;
render?: ((value: any, record: RecordType, index: number) => import("react").ReactNode | import("rc-table/lib/interface").RenderedCell<RecordType>) | undefined;
fixed?: import("rc-table/lib/interface").FixedType | undefined;
ellipsis?: import("rc-table/lib/interface").CellEllipsisType | undefined;
key?: import("react").Key | undefined;
colSpan?: number | undefined;
rowSpan?: number | undefined;
align?: import("rc-table/lib/interface").AlignType | undefined;
dataIndex?: import("rc-table/lib/interface").DataIndex<RecordType> | undefined;
shouldCellUpdate?: ((record: RecordType, prevRecord: RecordType) => boolean) | undefined;
onCellClick?: ((record: RecordType, e: import("react").MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
onHeaderCell?: import("rc-table/lib/interface").GetComponentProps<import("rc-table").ColumnType<RecordType> | import("rc-table/lib/interface").ColumnGroupType<RecordType>> | undefined;
rowScope?: import("rc-table/lib/interface").RowScopeType | undefined;
}[] | undefined;