dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
31 lines • 1.46 kB
TypeScript
import { type MyTableProps } from './MyTable';
import { type FilterInterface } from '../filters';
import { type ActionInterface } from '../actions';
export interface PaginationInterface<TData> {
docs?: TData[];
offset?: number;
limit: number;
totalPages: number;
total?: number;
page: number;
pagingCounter?: number;
hasPrevPage?: boolean;
hasNextPage?: boolean;
prevPage?: number;
nextPage?: number;
}
export interface DataTableProps<TData, TPaginationData extends PaginationInterface<TData>> extends Omit<MyTableProps<TData>, 'rows'> {
dataSource?: TPaginationData;
onParamChange?: (param: Record<string, unknown>) => void;
hasPagination?: true;
hasSearch?: true;
loading?: boolean;
filters?: FilterInterface[];
actions?: ActionInterface[];
handleFilterChange?: (filters: Record<string, unknown>) => void;
tableKey: string;
dataKey?: keyof TPaginationData;
hasColumnsVisibilityDropdown?: true;
}
export declare const DataTable: <TData, TPaginationData extends PaginationInterface<TData> = PaginationInterface<TData>>({ dataSource, columns, onRowClick, rowKey, hasNumbers, hasSearch, hasCheckbox, hasPagination, isStickyHeader, onParamChange, dataKey, loading, tableKey, filters, actions, handleFilterChange, params, hasColumnsVisibilityDropdown, }: DataTableProps<TData, TPaginationData>) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=DataTable.d.ts.map