katoikia-app/web-ui/web-react/node_modules/primereact/datatable/datatable.d.ts

371 lines
12 KiB
TypeScript

import * as React from 'react';
import { Column } from '../column';
import { PaginatorTemplate } from '../paginator';
import { VirtualScrollerProps } from '../virtualscroller/virtualscroller';
type DataTableHeaderTemplateType = React.ReactNode | ((options: DataTableHeaderTemplateOptions) => React.ReactNode);
type DataTableFooterTemplateType = React.ReactNode | ((options: DataTableFooterTemplateOptions) => React.ReactNode);
type DataTableRowGroupHeaderTemplateType = React.ReactNode | ((data: any, options: DataTableRowGroupHeaderTemplateOptions) => React.ReactNode);
type DataTableRowGroupFooterTemplateType = React.ReactNode | ((data: any, options: DataTableRowGroupFooterTemplateOptions) => React.ReactNode);
type DataTablePaginatorPositionType = 'top' | 'bottom' | 'both';
type DataTableSortModeType = 'single' | 'multiple';
type DataTableSortOrderType = 1 | 0 | -1 | undefined | null;
type DataTableEmptyMessageType = React.ReactNode | ((frozen: boolean) => React.ReactNode);
type DataTableSelectionModeType = 'single' | 'multiple' | 'checkbox' | 'radiobutton';
type DataTableColumnResizeModeType = 'fit' | 'expand';
type DataTableFilterMatchModeType = 'startsWith' | 'contains' | 'notContains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'between' | 'dateIs' | 'dateIsNot' | 'dateBefore' | 'dateAfter' | 'custom';
type DataTableGlobalFilterType = string | undefined | null;
type DataTableMultiSortMetaType = DataTableSortMeta[] | undefined | null;
type DataTableCompareSelectionByType = 'deepEquals' | 'equals';
type DataTableStateStorageType = 'session' | 'local' | 'custom';
type DataTableAppendToType = 'self' | HTMLElement | undefined | null;
type DataTableSelectType = 'row' | 'cell' | 'checkbox' | 'radio' | 'all';
type DataTableResponsiveLayoutType = 'scroll' | 'stack';
type DataTableFilterDisplayType = 'menu' | 'row';
type DataTableSizeType = 'small' | 'normal' | 'large';
type DataTableScrollDirectionType = 'vertical' | 'horizontal' | 'both';
interface DataTableHeaderTemplateOptions {
props: DataTableProps;
}
interface DataTableFooterTemplateOptions extends DataTableHeaderTemplateOptions {}
interface DataTableRowGroupHeaderTemplateOptions {
index: number;
props: DataTableProps;
}
interface DataTableRowGroupFooterTemplateOptions extends DataTableRowGroupHeaderTemplateOptions {
colSpan: number;
}
interface DataTableSortMeta {
field: string;
order: DataTableSortOrderType;
}
interface DataTableFilterMetaData {
value: any;
matchMode: DataTableFilterMatchModeType;
}
interface DataTableOperatorFilterMetaData {
operator: string;
constraints: DataTableFilterMetaData[];
}
interface DataTableFilterMeta {
[key: string]: DataTableFilterMetaData | DataTableOperatorFilterMetaData;
}
interface DataTableExpandedRows {
[key: string]: boolean;
}
interface DataTableEditingRows {
[key: string]: boolean;
}
interface DataTableRowToggleParams {
data: any[];
}
interface DataTableColumnResizeEndParams {
element: HTMLElement;
column: Column;
delta: number;
}
interface DataTableColumnResizerClickParams {
originalEvent: React.MouseEvent<HTMLElement>;
element: HTMLElement;
column: Column;
}
interface DataTablePageParams {
first: number;
rows: number;
page?: number;
pageCount?: number;
}
interface DataTableSortParams {
sortField: string;
sortOrder: DataTableSortOrderType;
multiSortMeta: DataTableMultiSortMetaType;
}
interface DataTableFilterParams {
filters: DataTableFilterMeta;
}
interface DataTablePFSEvent extends DataTablePageParams, DataTableSortParams, DataTableFilterParams {
[key: string]: any;
}
interface DataTableDataSelectableParams {
data: any;
index: number;
}
interface DataTableSelectionChangeParams {
originalEvent: React.SyntheticEvent;
value: any;
type?: string;
[key: string]: any;
}
interface DataTableSelectAllChangeParams {
originalEvent: React.SyntheticEvent;
checked: boolean;
}
interface DataTableRowEventParams {
originalEvent: React.SyntheticEvent;
data: any;
}
interface DataTableRowClickEventParams extends Omit<DataTableRowEventParams, 'originalEvent'> {
originalEvent: React.MouseEvent<HTMLElement>;
index: number;
}
interface DataTableCellClickEventParams {
originalEvent: React.MouseEvent<HTMLElement>;
value: any;
field: string;
rowData: any;
rowIndex: number;
cellIndex: number;
selected: boolean;
}
interface DataTableRowEditParams extends DataTableRowEventParams {
index: number;
}
interface DataTableRowEditSaveParams extends DataTableRowEditParams {
valid: boolean;
}
interface DataTableRowEditCompleteParams extends DataTableRowEventParams {
newData: any;
field: string;
index: number;
}
interface DataTableSelectParams {
originalEvent: React.SyntheticEvent;
data: any;
type: DataTableSelectType;
}
interface DataTableUnselectParams extends DataTableSelectParams { }
interface DataTableExportFunctionParams {
data: any;
field: string;
rowData: any;
column: Column
}
interface DataTableColReorderParams {
originalEvent: React.DragEvent<HTMLElement>;
dragIndex: number;
dropIndex: number;
columns: React.ReactElement;
}
interface DataTableRowReorderParams {
originalEvent: React.DragEvent<HTMLElement>;
value: any;
dragIndex: number;
dropIndex: number;
}
interface DataTableRowExpansionTemplate {
index: number;
}
interface DataTableRowClassNameOptions {
props: DataTableProps;
}
interface DataTableCellClassNameOptions {
props: DataTableProps;
rowData: any;
column: Column;
}
interface DataTableShowSelectionElementOptions {
rowIndex: number;
props: DataTableProps;
}
interface DataTableShowRowReorderElementOptions {
rowIndex: number;
props: DataTableProps;
}
interface DataTableRowEditValidatorOptions {
props: DataTableProps;
}
export interface DataTableProps {
id?: string;
value?: any[];
header?: DataTableHeaderTemplateType;
footer?: DataTableFooterTemplateType;
style?: object;
className?: string;
tableStyle?: object;
tableClassName?: string;
paginator?: boolean;
paginatorPosition?: DataTablePaginatorPositionType;
alwaysShowPaginator?: boolean;
paginatorClassName?: string;
paginatorTemplate?: PaginatorTemplate;
paginatorLeft?: React.ReactNode;
paginatorRight?: React.ReactNode;
paginatorDropdownAppendTo?: DataTableAppendToType;
pageLinkSize?: number;
rowsPerPageOptions?: number[];
currentPageReportTemplate?: string;
first?: number;
rows?: number;
totalRecords?: number;
lazy?: boolean;
sortField?: string;
sortOrder?: DataTableSortOrderType;
multiSortMeta?: DataTableMultiSortMetaType;
sortMode?: DataTableSortModeType;
defaultSortOrder?: DataTableSortOrderType;
removableSort?: boolean;
emptyMessage?: DataTableEmptyMessageType;
selectionMode?: DataTableSelectionModeType;
dragSelection?: boolean;
cellSelection?: boolean;
selection?: any | any[];
contextMenuSelection?: object;
compareSelectionBy?: DataTableCompareSelectionByType;
dataKey?: string;
metaKeySelection?: boolean;
selectOnEdit?: boolean;
selectionPageOnly?: boolean;
selectionAutoFocus?: boolean;
showSelectAll?: boolean;
selectAll?: boolean;
headerColumnGroup?: React.ReactNode;
footerColumnGroup?: React.ReactNode;
expandedRows?: any[] | DataTableExpandedRows;
resizableColumns?: boolean;
columnResizeMode?: DataTableColumnResizeModeType;
reorderableColumns?: boolean;
filters?: DataTableFilterMeta;
globalFilter?: DataTableGlobalFilterType;
filterDelay?: number;
filterLocale?: string;
scrollable?: boolean;
scrollHeight?: string;
scrollDirection?: DataTableScrollDirectionType;
virtualScrollerOptions?: VirtualScrollerProps;
frozenWidth?: string;
frozenValue?: any[];
csvSeparator?: string;
exportFilename?: string;
rowGroupMode?: string;
autoLayout?: boolean;
loading?: boolean;
loadingIcon?: string;
tabIndex?: number;
stateKey?: string;
stateStorage?: DataTableStateStorageType;
groupRowsBy?: string;
editMode?: string;
editingRows?: any[] | DataTableEditingRows;
expandableRowGroups?: boolean;
rowHover?: boolean;
showGridlines?: boolean;
stripedRows?: boolean;
size?: DataTableSizeType;
responsiveLayout?: DataTableResponsiveLayoutType;
breakpoint?: string;
filterDisplay?: DataTableFilterDisplayType;
expandedRowIcon?: string;
collapsedRowIcon?: string;
globalFilterFields?: string[];
rowGroupHeaderTemplate?: DataTableRowGroupHeaderTemplateType;
rowGroupFooterTemplate?: DataTableRowGroupFooterTemplateType;
onSelectAllChange?(e: DataTableSelectAllChangeParams): void;
onRowEditComplete?(e: DataTableRowEditCompleteParams): void;
showSelectionElement?(data: any, options: DataTableShowSelectionElementOptions): boolean | undefined | null;
showRowReorderElement?(data: any, options: DataTableShowRowReorderElementOptions): boolean | undefined | null;
isDataSelectable?(e: DataTableDataSelectableParams): boolean | undefined | null;
onSelectionChange?(e: DataTableSelectionChangeParams): void;
onContextMenuSelectionChange?(e: DataTableSelectionChangeParams): void;
rowExpansionTemplate?(data: any, options: DataTableRowExpansionTemplate): React.ReactNode;
onRowToggle?(e: DataTableRowToggleParams): void;
rowClassName?(data: any, options: DataTableRowClassNameOptions): object | string;
cellClassName?(value: any, options: DataTableCellClassNameOptions): object | string;
onColumnResizeEnd?(e: DataTableColumnResizeEndParams): void;
onColumnResizerClick?(e: DataTableColumnResizerClickParams): void;
onColumnResizerDoubleClick?(e: DataTableColumnResizerClickParams): void;
onSort?(e: DataTablePFSEvent): void;
onPage?(e: DataTablePFSEvent): void;
onFilter?(e: DataTablePFSEvent): void;
onAllRowsSelect?(e: DataTableSelectParams): void;
onAllRowsUnselect?(e: DataTableUnselectParams): void;
onRowClick?(e: DataTableRowClickEventParams): void;
onRowDoubleClick?(e: DataTableRowClickEventParams): void;
onRowSelect?(e: DataTableSelectParams): void;
onRowUnselect?(e: DataTableUnselectParams): void;
onRowExpand?(e: DataTableRowEventParams): void;
onRowCollapse?(e: DataTableRowEventParams): void;
onCellClick?(e: DataTableCellClickEventParams): void;
onCellSelect?(e: DataTableSelectParams): void;
onCellUnselect?(e: DataTableUnselectParams): void;
onContextMenu?(e: DataTableRowEventParams): void;
onColReorder?(e: DataTableColReorderParams): void;
onRowReorder?(e: DataTableRowReorderParams): void;
onValueChange?(value: any[]): void;
rowEditValidator?(data: any, options: DataTableRowEditValidatorOptions): boolean;
onRowEditInit?(e: DataTableRowEditParams): void;
onRowEditSave?(e: DataTableRowEditSaveParams): void;
onRowEditCancel?(e: DataTableRowEditParams): void;
onRowEditChange?(e: DataTableRowEditParams): void;
exportFunction?(e: DataTableExportFunctionParams): any;
customSaveState?(state: object): void;
customRestoreState?(): object;
onStateSave?(state: object): void;
onStateRestore?(state: object): void;
}
export declare class DataTable extends React.Component<DataTableProps, any> {
public reset(): void;
public exportCSV(options?: { selectionOnly: boolean }): void;
public filter<T>(value: T, field: string, mode: DataTableFilterMatchModeType, index?: number): void;
public resetColumnOrder(): void;
public closeEditingCell(): void;
}