mui-datatables-updated
Version:
MUI Datatable library inspired by the gregnb/mui-datatables project, featuring an up-to-date implementation with Typescript Support.
41 lines (40 loc) • 1.58 kB
TypeScript
import React from 'react';
import { CustomSelectedToolbarProps } from './Toolbar';
import { Order } from './utils';
import { LabelDisplayedRowsArgs } from '@mui/material/TablePagination';
export interface Column {
name: string;
label?: string;
options?: {
customBodyRender?: (value: any) => React.ReactNode;
filter?: boolean;
sort?: boolean;
};
}
export interface Options {
translations?: {
filterTooltip?: string;
searchTooltip?: string;
downloadTooltip?: string;
printTooltip?: string;
filtersTitle?: string;
resetButtonText?: string;
rowsPerPageText?: string;
searchPlaceholder?: string;
selectedTextRenderer?: (selected: number) => string;
labelDisplayedRows?: ({ from, to, count }: LabelDisplayedRowsArgs) => string;
};
}
export interface EnhancedTableProps<T extends object> extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {
title: string;
data: T[];
deactivateSelect?: boolean;
defaultOrderBy?: string;
defaultOrder?: Order;
excludedColumns?: (keyof T)[];
columns?: Column[];
options?: Options;
CustomToolbar?: React.FC;
CustomSelectedToolbar?: React.FC<CustomSelectedToolbarProps<T>>;
}
export declare const MUITable: <T extends object>({ title, data, deactivateSelect, defaultOrderBy, defaultOrder, excludedColumns, columns: passedColumns, CustomToolbar, CustomSelectedToolbar, options, ...rest }: EnhancedTableProps<T>) => import("react/jsx-runtime").JSX.Element;