seti-ramesesv1
Version:
Reusable components and context for Next.js apps
45 lines (44 loc) • 1.23 kB
TypeScript
import React from "react";
export type Column = {
name: string;
title: string;
type?: string;
sortable?: boolean;
width?: number;
alignment?: string;
valignment?: string;
style?: Record<string, any>;
};
type HiddenCol = {
name: string;
};
export type MoreAction = {
name: string;
icon?: React.ReactNode;
onClick: (item: Record<string, any>) => void;
};
export type DataListProps = {
cols: Column[];
hiddencols?: HiddenCol[];
sortcol?: string;
orderby?: string;
limit?: number;
allowSearch?: boolean;
searchMode?: "auto" | "manual";
hideToolbar?: boolean;
handler: (params: Record<string, any>) => Promise<Record<string, any>[]>;
openItem?: (item: Record<string, any>) => void;
onEdit?: (item: Record<string, any>) => void;
onView?: (item: Record<string, any>) => void;
onDelete?: (item: Record<string, any>) => void;
onMore?: MoreAction[];
emptyState?: {
title?: string;
message?: string;
};
renderExpandedRow?: (item: Record<string, any>) => React.ReactNode;
actionColumnWidth?: number;
searchFields?: string[];
};
declare const DataList: React.FC<DataListProps>;
export default DataList;