BaseTableComponentProps

Props for BaseTableComponent

Definition

export interface BaseTableComponentProps {
    /** Processed columns with calculated widths */
    columns: { [id: string]: ExtendedColumn };
    /** Array of row data to display */
    data: RowData[];
    /** Show loading state with skeleton rows */
    loading: boolean;
    /** Message or component to display when no items are found */
    noItemsMessage?: string | React.ReactNode;
    /** Total width of the table */
    totalWidth: string | number;
    /** Callback when a column is resized */
    handleResize: (id: string, width: number) => void;
    /** Custom header renderer */
    renderHeader?: (columns: { [id: string]: ExtendedColumn }, handleResize: (id: string, width: number) => void) => React.ReactNode;
    /** Custom row renderer */
    renderRow?: (tableRowProps: TableRowProps) => React.ReactNode;
    /** Custom renderer for child/nested rows */
    renderChildRows?: (childRows: RowData[], rowProps: TableRowBasicProps) => React.ReactNode
    /** Callback when a row is clicked */
    onClickRow?: (e: React.MouseEvent<HTMLDivElement>, item: RowData) => void;
    /** Function to determine if a row is selected */
    isRowSelected?: (item: RowData) => boolean
    /** Callback when a row is selected */
    onSelectRow?: (item: RowData) => void,
    /** Current sort configuration */
    sort?: Sort,
    /** Enable sorting multiple columns simultaneously */
    multiColumnSort?: boolean,
    /** Callback when sort changes */
    onChangeSort?: (sort: Sort) => void
    /** Enable editable mode with inline editing */
    editable?: EditableConfig;
}

Usage

Last updated