@firecms/core
Version:
Awesome Firebase/Firestore-based headless open-source CMS
30 lines (29 loc) • 1.34 kB
TypeScript
import React, { RefObject } from "react";
import { VirtualTableColumn, VirtualTableSort, VirtualTableWhereFilterOp } from "./VirtualTableProps";
export type FilterFormFieldProps<CustomProps> = {
id: React.Key;
filterValue: [VirtualTableWhereFilterOp, any] | undefined;
setFilterValue: (filterValue?: [VirtualTableWhereFilterOp, any]) => void;
column: VirtualTableColumn<CustomProps>;
hidden: boolean;
setHidden: (hidden: boolean) => void;
};
type VirtualTableHeaderProps<M extends Record<string, any>> = {
resizeHandleRef: RefObject<HTMLDivElement | null>;
columnIndex: number;
isResizingIndex: number;
column: VirtualTableColumn<any>;
onColumnSort: (key: Extract<keyof M, string>) => void;
filter?: [VirtualTableWhereFilterOp, any];
sort: VirtualTableSort;
onFilterUpdate: (column: VirtualTableColumn, filterForProperty?: [VirtualTableWhereFilterOp, any]) => void;
onClickResizeColumn?: (columnIndex: number, column: VirtualTableColumn) => void;
createFilterField?: (props: FilterFormFieldProps<any>) => React.ReactNode;
AdditionalHeaderWidget?: (props: {
onHover: boolean;
}) => React.ReactNode;
isDragging?: boolean;
isDraggable?: boolean;
};
export declare const VirtualTableHeader: React.FunctionComponent<VirtualTableHeaderProps<any>>;
export {};