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

251 lines
7.3 KiB
TypeScript

import * as React from 'react';
type ColumnHeaderType = React.ReactNode | ((options: ColumnHeaderOptions) => React.ReactNode);
type ColumnBodyType = React.ReactNode | ((data: any, options: ColumnBodyOptions) => React.ReactNode);
type ColumnFooterType = React.ReactNode | ((options: ColumnFooterOptions) => React.ReactNode);
type ColumnEditorType = React.ReactNode | ((options: ColumnEditorOptions) => React.ReactNode);
type ColumnFilterMatchModeType = 'startsWith' | 'contains' | 'endsWith' | 'equals' | 'notEquals' | 'in' | 'lt' | 'lte' | 'gt' | 'gte' | 'custom';
type ColumnSelectionModeType = 'single' | 'multiple';
type ColumnSortOrderType = 1 | 0 | -1 | undefined | null;
type ColumnDataType = 'text' | 'numeric' | 'date' | string;
type ColumnAlignType = 'left' | 'right' | 'center' | undefined | null;
type ColumnAlignFrozenType = 'left' | 'right';
type ColumnFilterOperatorType = 'and' | 'or';
type ColumnFilterClearType = React.ReactNode | ((options: ColumnFilterClearTemplateOptions) => React.ReactNode);
type ColumnFilterApplyType = React.ReactNode | ((options: ColumnFilterApplyTemplateOptions) => React.ReactNode);
type ColumnFilterHeaderType = React.ReactNode | ((options: ColumnFilterHeaderTemplateOptions) => React.ReactNode);
type ColumnFilterFooterType = React.ReactNode | ((options: ColumnFilterFooterTemplateOptions) => React.ReactNode);
type ColumnFilterElementType = React.ReactNode | ((options: ColumnFilterElementTemplateOptions) => React.ReactNode);
type ColumnFilterModelType = ColumnFilterMetaData | ColumnFilterMetaDataWithConstraint;
interface ColumnHeaderOptions {
props: any;
}
interface ColumnFooterOptions extends ColumnHeaderOptions {}
interface ColumnBodyOptions {
column: Column;
field: string;
rowIndex: number;
props?: any;
frozenRow?: boolean;
expander?: ColumnBodyExpanderOptions;
rowEditor?: ColumnBodyRowEditorOptions;
}
interface ColumnBodyExpanderOptions {
onClick?(e: any): void;
className?: string;
iconClassName?: string;
element?: React.ReactNode;
}
interface ColumnBodyRowEditorOptions {
editing: boolean,
onSaveClick?(e: any): void;
saveClassName?: string;
saveIconClassName?: string;
onCancelClick?(e: any): void;
cancelClassName?: string;
cancelIconClassName?: string;
onInitClick?(e: any): void;
initClassName?: string;
initIconClassName?: string;
}
interface ColumnEditorOptions {
node?: any;
rowData: any;
value: any;
column: Column;
field: string;
rowIndex: number;
frozenRow?: boolean;
props: any;
editorCallback?(val: any): void;
}
interface ColumnFilterModelOptions {
[key: string]: ColumnFilterModelType;
}
interface ColumnFilterClearTemplateOptions {
field: string;
filterModel: ColumnFilterModelOptions;
filterClearCallback(): void;
}
interface ColumnFilterApplyTemplateOptions {
field: string;
filterModel: ColumnFilterModelOptions;
filterApplyCallback(value?: any, index?: number): void;
}
interface ColumnFilterHeaderTemplateOptions extends ColumnFilterApplyTemplateOptions {}
interface ColumnFilterFooterTemplateOptions extends ColumnFilterApplyTemplateOptions {}
interface ColumnFilterElementTemplateOptions {
field: string;
index: number;
filterModel: ColumnFilterModelOptions;
value: any;
filterApplyCallback(value?: any, index?: number): void;
filterCallback(value?: any, index?: number): void;
}
interface ColumnEventParams {
originalEvent: React.SyntheticEvent;
columnProps: ColumnProps;
}
interface ColumnSortParams {
field: string;
order: ColumnSortOrderType;
}
interface ColumnFilterMetaData {
value: any;
matchMode: ColumnFilterMatchModeType;
}
interface ColumnFilterMetaDataWithConstraint {
operator: ColumnFilterOperatorType;
constraints: ColumnFilterMetaData[];
}
interface ColumnFilterApplyClickParams {
field: string;
constraints: ColumnFilterMetaData[];
}
interface ColumnFilterMatchModeChangeParams {
field: string;
matchMode: ColumnFilterMatchModeType;
}
interface ColumnFilterOperatorChangeParams {
field: string;
operator: ColumnFilterOperatorType;
}
interface ColumnFilterConstraintAddParams {
field: string;
constraint: ColumnFilterMetaData;
}
interface ColumnFilterConstraintRemoveParams extends ColumnFilterConstraintAddParams {}
interface ColumnFilterMeta {
[key: string]: ColumnFilterMetaData;
}
interface ColumnFilterParams {
rowData: any;
filters: ColumnFilterMeta;
props: any;
column: {
filterMeta: object | undefined | null;
filterField: string;
props: ColumnProps;
}
}
interface ColumnFilterMatchModeOptions {
[key: string]: string;
}
export interface ColumnProps {
columnKey?: string;
field?: string;
sortField?: string;
filterField?: string;
header?: ColumnHeaderType;
body?: ColumnBodyType;
footer?: ColumnFooterType;
sortable?: boolean;
sortableDisabled?: boolean;
dataType?: ColumnDataType;
filter?: boolean;
filterMatchMode?: ColumnFilterMatchModeType;
filterPlaceholder?: string;
filterType?: string;
filterMaxLength?: number;
filterElement?: ColumnFilterElementType;
filterHeaderStyle?: object;
filterHeaderClassName?: string;
showFilterMenu?: boolean;
showFilterOperator?: boolean;
showClearButton?: boolean;
showApplyButton?: boolean;
showFilterMatchModes?: boolean;
showFilterMenuOptions?: boolean;
showAddButton?: boolean;
filterMatchModeOptions?: ColumnFilterMatchModeOptions;
maxConstraints?: number;
filterMenuClassName?: string;
filterMenuStyle?: object;
align?: ColumnAlignType;
alignHeader?: ColumnAlignType;
alignFrozen?: ColumnAlignFrozenType;
hidden?: boolean;
onFilterClear?(): void;
onFilterApplyClick?(e: ColumnFilterApplyClickParams): void;
onFilterMatchModeChange?(e: ColumnFilterMatchModeChangeParams): void;
onFilterOperatorChange?(e: ColumnFilterOperatorChangeParams): void;
onFilterConstraintAdd?(e: ColumnFilterConstraintAddParams): void;
onFilterConstraintRemove?(e: ColumnFilterConstraintRemoveParams): void;
filterClear?: ColumnFilterClearType;
filterApply?: ColumnFilterApplyType;
filterHeader?: ColumnFilterHeaderType;
filterFooter?: ColumnFilterFooterType;
style?: object;
className?: string;
headerStyle?: object;
headerClassName?: string;
bodyStyle?: object;
bodyClassName?: string;
footerStyle?: object;
footerClassName?: string;
expander?: boolean;
frozen?: boolean;
selectionMode?: ColumnSelectionModeType;
colSpan?: number;
rowSpan?: number;
rowReorder?: boolean;
rowReorderIcon?: string;
cellEditValidatorEvent?: string;
rowEditor?: boolean;
exportable?: boolean;
reorderable?: boolean;
excludeGlobalFilter?: boolean;
onCellEditInit?(e: ColumnEventParams): void;
onCellEditComplete?(e: ColumnEventParams): void;
onCellEditCancel?(e: ColumnEventParams): void;
sortFunction?(e: ColumnSortParams): void;
filterFunction?(value: any, filter: any, filterLocale: string, params: ColumnFilterParams): void;
editor?: ColumnEditorType;
cellEditValidator?(e: ColumnEventParams): boolean;
onBeforeCellEditHide?(e: ColumnEventParams): void;
onBeforeCellEditShow?(e: ColumnEventParams): void;
}
export declare class Column extends React.Component<ColumnProps, any> { }