primevue-mirror/components/lib/column/Column.d.ts

1001 lines
25 KiB
TypeScript
Raw Normal View History

2023-02-28 08:29:30 +00:00
/**
2023-02-28 14:20:59 +00:00
*
* Column component defines various options to specify corresponding features.
* It is a helper component for DataTable and TreeTable.
*
* [Live Demo](https://www.primevue.org/datatable/)
*
2023-02-28 08:29:30 +00:00
* @module column
2023-02-28 14:48:13 +00:00
*
2023-02-28 08:29:30 +00:00
*/
2023-02-28 14:48:13 +00:00
2022-09-06 12:03:37 +00:00
import { VNode } from 'vue';
2023-07-06 11:17:08 +00:00
import { ComponentHooks } from '../basecomponent';
import { ButtonPassThroughOptions } from '../button';
2024-01-14 13:38:51 +00:00
import { CheckboxPassThroughOptionType } from '../checkbox';
2023-05-10 11:41:33 +00:00
import { DataTablePassThroughOptions } from '../datatable';
2023-09-05 08:50:46 +00:00
import { PassThroughOptions } from '../passthrough';
2024-01-14 13:38:51 +00:00
import { RadioButtonPassThroughOptionType } from '../radiobutton';
2024-04-18 14:28:41 +00:00
import { SelectPassThroughOptionType } from '../select';
import { ClassComponent, DesignToken, GlobalComponentConstructor, PassThrough } from '../ts-helpers';
2022-09-06 12:03:37 +00:00
import { VirtualScrollerLoaderOptions } from '../virtualscroller';
export declare type ColumnPassThroughOptionType = ColumnPassThroughAttributes | ((options: ColumnPassThroughMethodOptions) => ColumnPassThroughAttributes | string) | string | null | undefined;
/**
* Custom passthrough(pt) option method.
*/
export interface ColumnPassThroughMethodOptions {
/**
* Defines instance.
*/
2023-07-06 12:01:33 +00:00
instance: any;
/**
* Defines valid properties.
*/
props: ColumnProps;
/**
* Defines valid attributes.
*/
attrs: any;
/**
* Defines parent options.
*/
parent: any;
/**
* Defines current options.
*/
2023-06-02 11:10:18 +00:00
context: ColumnContext;
2023-09-05 08:50:46 +00:00
/**
* Defines passthrough(pt) options in global config.
*/
global: object | undefined;
}
/**
* Custom shared passthrough(pt) option method.
*/
export interface ColumnSharedPassThroughMethodOptions {
/**
* Defines valid properties.
*/
props: ColumnProps;
/**
* Defines parent instance.
*/
parent: DataTablePassThroughOptions;
}
2023-02-28 14:48:13 +00:00
/**
* Filter model metadata.
*/
2022-09-06 12:03:37 +00:00
export interface ColumnFilterModelType {
/**
* Value of filterModel.
*/
value: any;
/**
* Match mode of filterModel.
*/
matchMode: string;
}
2023-02-28 14:48:13 +00:00
/**
* Filter match modes for specific columns.
*/
2022-09-06 12:03:37 +00:00
export interface ColumnFilterMatchModeOptions {
[key: string]: string;
}
2023-02-28 14:48:13 +00:00
/**
* Custom column loading metadata.
*/
2022-09-06 12:03:37 +00:00
export interface ColumnLoadingOptions extends VirtualScrollerLoaderOptions {
/**
* Cell index
*/
cellIndex: number;
/**
* Whether the cell is first.
*/
cellFirst: boolean;
/**
* Whether the cell is last.
*/
cellLast: boolean;
/**
* Whether the cell is even.
*/
cellEven: boolean;
/**
* Whether the item is odd.
*/
cellOdd: boolean;
/**
* Column instance
*/
column: ColumnNode;
2022-09-06 12:03:37 +00:00
/**
* Column field
*/
field: string;
}
/**
* Custom passthrough(pt) options.
* @see {@link ColumnProps.pt}
*/
export interface ColumnPassThroughOptions {
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the root's DOM element.
*/
root?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the header cell's DOM element.
*/
headerCell?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the column resizer's DOM element.
*/
columnResizer?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the column header content's DOM element.
*/
2024-05-02 09:58:00 +00:00
columnHeaderContent?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the header title's DOM element.
*/
2024-05-02 09:58:00 +00:00
columnTitle?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the sort's DOM element.
*/
sort?: ColumnPassThroughOptionType;
/**
2023-12-22 14:17:52 +00:00
* Used to pass attributes to the sort icon's DOM element.
*/
sortIcon?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the sort badge's DOM element.
*/
sortBadge?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the header checkbox's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcHeaderCheckbox?: CheckboxPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the column filter's DOM element.
*/
2024-05-02 09:58:00 +00:00
filter?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter element container's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterElementContainer?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the column filter button's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcColumnFilterButton?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter menu icon's DOM element.
*/
filterMenuIcon?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the column filter clear button's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcColumnFilterClearButton?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter clear icon's DOM element.
*/
filterClearIcon?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter overlay's DOM element.
*/
filterOverlay?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter constraint list's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterConstraintList?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter constraint's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterConstraint?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter constraint separator's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterConstraintSeparator?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter operator's DOM element.
*/
filterOperator?: ColumnPassThroughOptionType;
/**
2024-04-18 14:28:41 +00:00
* Used to pass attributes to the Select component.
* @see {@link SelectPassThroughOptionType}
*/
2024-05-06 15:23:01 +00:00
pcFilterOperatorDropdown?: SelectPassThroughOptionType<ColumnSharedPassThroughMethodOptions>;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter rule list' DOM element.
*/
2024-05-02 09:58:00 +00:00
filterRuleList?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter rule's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterRule?: ColumnPassThroughOptionType;
/**
2024-04-18 14:28:41 +00:00
* Used to pass attributes to the Select component.
* @see {@link SelectPassThroughOptionType}
*/
2024-05-06 15:23:01 +00:00
pcFilterConstraintDropdown?: SelectPassThroughOptionType<ColumnSharedPassThroughMethodOptions>;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter remove button container's DOM element.
*/
filterRemove?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions}
*/
2024-05-06 15:23:01 +00:00
pcFilterRemoveRuleButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the filter add button container's DOM element.
*/
2024-05-02 09:58:00 +00:00
filterAddButtonContainer?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions}
*/
2024-05-06 15:23:01 +00:00
pcFilterAddButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the filter buttonbar's DOM element.
*/
filterButtonbar?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions}
*/
2024-05-06 15:23:01 +00:00
pcFilterClearButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the Button component.
* @see {@link ButtonPassThroughOptions}
*/
2024-05-06 15:23:01 +00:00
pcFilterApplyButton?: ButtonPassThroughOptions<ColumnSharedPassThroughMethodOptions>;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the row toggler button's DOM element.
*/
2024-05-02 09:58:00 +00:00
rowToggleButton?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the row toggler icon's DOM element.
*/
2024-05-02 09:58:00 +00:00
rowToggleIcon?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the body cell's DOM element.
*/
2024-05-02 09:58:00 +00:00
bodyCell?: ColumnPassThroughOptionType;
/**
2024-05-02 09:58:00 +00:00
* Used to pass attributes to the reorderable row handle's DOM element.
*/
2024-05-02 09:58:00 +00:00
reorderableRowHandle?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the radiobutton's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcRowRadiobutton?: RadioButtonPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the checkbox's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcRowCheckbox?: CheckboxPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the row editor init button's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcRowEditorInit?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the row editor save button's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcRowEditorSave?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the row editor cancel button's DOM element.
*/
2024-05-06 15:23:01 +00:00
pcRowEditorCancel?: ColumnPassThroughOptionType;
2023-06-05 13:26:08 +00:00
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the footer cell's DOM element.
2023-06-05 13:26:08 +00:00
*/
footerCell?: ColumnPassThroughOptionType;
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to the body cell content's DOM element.
2023-06-05 13:26:08 +00:00
*/
bodyCellContent?: ColumnPassThroughOptionType;
2023-07-06 11:09:01 +00:00
/**
2023-11-07 06:16:39 +00:00
* Used to manage all lifecycle hooks.
2023-07-06 11:09:01 +00:00
* @see {@link BaseComponent.ComponentHooks}
*/
hooks?: ComponentHooks;
}
/**
* Custom passthrough attributes for each DOM elements
*/
export interface ColumnPassThroughAttributes {
[key: string]: any;
}
/**
* Defines current inline state in Column component.
*/
export interface ColumnState {
d_editing: boolean;
/**
* Current style of the body cell.
*/
styleObject: object;
/**
* Current filter overlay visible as a boolean.
*/
overlayVisible: boolean;
/**
* Current filter match mode.
*/
defaultMatchMode: string;
/**
* Current filter operator.
*/
defaultOperator: string;
/**
* Current focused state as a boolean.
* @defaultValue false
*/
focused: boolean;
/**
* Current style of the rowgroup header.
*/
rowGroupHeaderStyleObject: object;
}
2023-02-28 14:48:13 +00:00
/**
* Defines valid properties in Column component.
*/
2022-09-06 12:03:37 +00:00
export interface ColumnProps {
/**
* Identifier of a column if field property is not defined.
*/
columnKey?: string | undefined;
/**
* Property represented by the column.
*/
2023-02-28 14:20:59 +00:00
field?: string | ((item: any) => string) | undefined;
2022-09-06 12:03:37 +00:00
/**
* Property name to use in sorting, defaults to field.
*/
2023-02-28 14:20:59 +00:00
sortField?: string | ((item: any) => string) | undefined;
2022-09-06 12:03:37 +00:00
/**
* Property name to use in filtering, defaults to field.
*/
2023-02-28 14:20:59 +00:00
filterField?: string | ((item: any) => string) | undefined;
2022-09-06 12:03:37 +00:00
/**
* Type of data. It's value is related to PrimeVue.filterMatchModeOptions config.
*/
dataType?: string | undefined;
/**
* Defines if a column is sortable.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
sortable?: boolean | undefined;
/**
* Header content of the column.
*/
header?: string | undefined;
/**
* Footer content of the column.
*/
footer?: string | undefined;
/**
* Inline style of header, body and footer cells.
*/
style?: any;
/**
* Style class of header, body and footer cells.
*/
class?: any;
/**
* Inline style of the column header.
*/
headerStyle?: any;
/**
* Style class of the column header.
*/
headerClass?: any;
/**
* Inline style of the column body.
*/
bodyStyle?: any;
/**
* Style class of the column body.
*/
bodyClass?: any;
/**
* Inline style of the column footer.
*/
footerStyle?: any;
/**
* Style class of the column footer.
*/
footerClass?: any;
/**
* Whether to display the filter overlay.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showFilterMenu?: boolean | undefined;
/**
* When enabled, match all and match any operator selector is displayed.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showFilterOperator?: boolean | undefined;
/**
* Displays a button to clear the column filtering.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showClearButton?: boolean | undefined;
/**
* Displays a button to apply the column filtering.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showApplyButton?: boolean | undefined;
/**
* Whether to show the match modes selector.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showFilterMatchModes?: boolean | undefined;
/**
* When enabled, a button is displayed to add more rules.
2023-02-28 14:20:59 +00:00
* @defaultValue true
2022-09-06 12:03:37 +00:00
*/
showAddButton?: boolean | undefined;
/**
* An array of label-value pairs to override the global match mode options.
*/
filterMatchModeOptions?: ColumnFilterMatchModeOptions[];
/**
* Maximum number of constraints for a column filter.
2023-02-28 14:20:59 +00:00
* @defaultValue 2
2022-09-06 12:03:37 +00:00
*/
maxConstraints?: number | undefined;
/**
* Whether to exclude from global filtering or not.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
excludeGlobalFilter?: boolean | undefined;
/**
* Inline style of the column filter header in row filter display.
*/
filterHeaderStyle?: any;
/**
* Style class of the column filter header in row filter display.
*/
filterHeaderClass?: any;
/**
* Inline style of the column filter overlay.
*/
filterMenuStyle?: any;
/**
* Style class of the column filter overlay.
*/
filterMenuClass?: any;
/**
2023-02-28 14:20:59 +00:00
* Defines column based selection mode.
2022-09-06 12:03:37 +00:00
*/
2023-02-28 14:20:59 +00:00
selectionMode?: 'single' | 'multiple' | undefined;
2022-09-06 12:03:37 +00:00
/**
* Displays an icon to toggle row expansion.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
expander?: boolean | undefined;
/**
* Number of columns to span for grouping.
*/
colspan?: number | undefined;
/**
* Number of rows to span for grouping.
*/
rowspan?: number | undefined;
/**
* Whether this column displays an icon to reorder the rows.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
rowReorder?: boolean | undefined;
/**
* Icon of the drag handle to reorder rows.
* @deprecated since v3.27.0. Use 'rowreordericon' slot.
2022-09-06 12:03:37 +00:00
*/
rowReorderIcon?: string | undefined;
/**
* Defines if the column itself can be reordered with dragging.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
reorderableColumn?: boolean | undefined;
/**
* When enabled, column displays row editor controls.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
rowEditor?: boolean | undefined;
/**
* Whether the column is fixed in horizontal scrolling.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
frozen?: boolean | undefined;
/**
* Position of a frozen column, valid values are left and right.
2023-02-28 14:20:59 +00:00
* @defaultValue left
2022-09-06 12:03:37 +00:00
*/
2023-02-28 14:20:59 +00:00
alignFrozen?: 'left' | 'right' | undefined;
2022-09-06 12:03:37 +00:00
/**
* Whether the column is included in data export.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
exportable?: boolean | undefined;
/**
* Custom export header of the column to be exported as CSV.
*/
exportHeader?: string | undefined;
/**
* Custom export footer of the column to be exported as CSV.
*/
exportFooter?: string | undefined;
/**
* Defines the filtering algorithm to use when searching the options.
*/
filterMatchMode?: string | undefined;
/**
* Whether the column is rendered.
2023-03-10 14:00:58 +00:00
* @defaultValue false
2022-09-06 12:03:37 +00:00
*/
hidden?: boolean | undefined;
/**
* It generates scoped CSS variables using design tokens for the component.
*/
dt?: DesignToken<any>;
2023-05-17 14:23:12 +00:00
/**
2023-08-01 14:01:12 +00:00
* Used to pass attributes to DOM elements inside the component.
2023-05-17 14:23:12 +00:00
* @type {ColumnPassThroughOptions}
*/
pt?: PassThrough<ColumnPassThroughOptions>;
2023-09-05 08:50:46 +00:00
/**
* Used to configure passthrough(pt) options of the component.
* @type {PassThroughOptions}
*/
ptOptions?: PassThroughOptions;
/**
* When enabled, it removes component related styles in the core.
* @defaultValue false
*/
unstyled?: boolean;
2022-09-06 12:03:37 +00:00
}
2023-06-02 11:10:18 +00:00
/**
* Defines current options in Column component.
*/
export interface ColumnContext {
/**
* Current index of the column.
*/
index: number;
/**
* Current checked state of row as a boolean.
* @defaultValue false
*/
checked: boolean;
/**
* Current focused state of row as a boolean.
* @defaultValue false
*/
focused: boolean;
/**
* Current disabled state of row as a boolean.
* @defaultValue false
*/
disabled: boolean;
2023-07-17 09:23:09 +00:00
/**
* Current sort state of the column as a boolean.
* @defaultValue false
*/
sorted: boolean;
/**
* Current frozen state of the column as a boolean.
* @defaultValue false
*/
frozen: boolean;
/**
* Current resizable state of the column as a boolean.
* @defaultValue false
*/
resizable: boolean;
/**
* Current size state of the table.
*/
size: string;
/**
* Current gridlines state of the table as a boolean.
* @defaultValue false
*/
showGridlines: boolean;
/**
* Current highlighted state of the filter row item as a boolean.
* @defaultValue false
*/
highlighted: boolean;
/**
* Current hidden state of the filter clear button of a column as a boolean.
* @defaultValue false
*/
hidden: boolean;
/**
* Current visible state of the filter menu of a column as a boolean.
* @defaultValue false
*/
overlayVisible: boolean;
/**
* Current active state of the filter menu of a column as a boolean.
* @defaultValue false
*/
active: boolean;
2023-06-02 11:10:18 +00:00
}
2023-02-28 14:48:13 +00:00
/**
* Defines valid slots in Column component.
*/
2022-09-06 12:03:37 +00:00
export interface ColumnSlots {
/**
* Custom body template.
* @param {Object} scope - body slot's params.
*/
2023-02-28 08:29:30 +00:00
body(scope: {
2022-09-06 12:03:37 +00:00
/**
* Row data.
*/
data: any;
/**
* Row node data.
*/
node: any;
/**
* Column node.
*/
column: ColumnNode;
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Row index.
*/
index: number;
/**
* Whether the row is frozen.
*/
frozenRow: boolean;
/**
* Editor init callback function
2023-08-17 07:16:25 +00:00
* @param {Event} event - Browser event
2022-09-06 12:03:37 +00:00
*/
2023-08-17 07:16:25 +00:00
editorInitCallback: (event: Event) => void;
/**
* Row toggler callback unction
* @param {Event} event - Browser event
*/
rowTogglerCallback: (event: Event) => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom header template.
* @param {Object} scope - header slot's params.
*/
2023-02-28 08:29:30 +00:00
header(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column node.
*/
column: ColumnNode;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom footer template.
* @param {Object} scope - footer slot's params.
*/
2023-02-28 08:29:30 +00:00
footer(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column node.
*/
column: ColumnNode;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom editor template.
* @param {Object} scope - editor slot's params.
*/
2023-02-28 08:29:30 +00:00
editor(scope: {
2022-09-06 12:03:37 +00:00
/**
* Row data.
*/
data: any;
/**
* Column node.
*/
column: ColumnNode;
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Row index.
*/
index: number;
/**
* Whether the row is frozen.
*/
frozenRow: boolean;
/**
* Callback function
2023-08-17 07:16:25 +00:00
* @param {Event} event - Browser event
2022-09-06 12:03:37 +00:00
*/
2023-08-17 07:16:25 +00:00
editorSaveCallback: (event: Event) => void;
2022-09-06 12:03:37 +00:00
/**
* Callback function
2023-08-17 07:16:25 +00:00
* @param {Event} event - Browser event
2022-09-06 12:03:37 +00:00
*/
2023-08-17 07:16:25 +00:00
editorCancelCallback: (event: Event) => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom filter template.
* @param {Object} scope - filter slot's params.
*/
2023-02-28 08:29:30 +00:00
filter(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Filter metadata
* @see ColumnFilterModelType
*/
filterModel: ColumnFilterModelType;
/**
* Callback function
*/
2023-08-17 07:16:25 +00:00
filterCallback: () => void;
/**
* Callback function (closes the overlay)
*/
applyFilter: () => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom filter header template.
* @param {Object} scope - filter header slot's params.
*/
2023-02-28 08:29:30 +00:00
filterheader(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Filter metadata
* @see ColumnFilterModelType
*/
filterModel: ColumnFilterModelType;
/**
* Callback function
*/
2023-08-17 07:16:25 +00:00
filterCallback: () => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom filter footer template.
* @param {Object} scope - filter footer slot's params.
*/
2023-02-28 08:29:30 +00:00
filterfooter(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Filter metadata
* @see ColumnFilterModelType
*/
filterModel: ColumnFilterModelType;
/**
* Callback function
*/
2023-08-17 07:16:25 +00:00
filterCallback: () => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom filter clear template.
* @param {Object} scope - filter clear slot's params.
*/
2023-02-28 08:29:30 +00:00
filterclear(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Filter metadata
* @see ColumnFilterModelType
*/
filterModel: ColumnFilterModelType;
/**
* Callback function
*/
2023-08-17 07:16:25 +00:00
filterCallback: () => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom filter apply template.
* @param {Object} scope - filter apply slot's params.
*/
2023-02-28 08:29:30 +00:00
filterapply(scope: {
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Filter metadata
* @see ColumnFilterModelType
*/
filterModel: ColumnFilterModelType;
/**
* Callback function
*/
2023-08-17 07:16:25 +00:00
filterCallback: () => void;
2023-02-28 08:29:30 +00:00
}): VNode[];
2022-09-06 12:03:37 +00:00
/**
* Custom loading template.
* @param {Object} scope - loading slot's params.
*/
2023-02-28 08:29:30 +00:00
loading(scope: {
2022-09-06 12:03:37 +00:00
/**
* Row data.
*/
data: any;
/**
* Column node.
*/
column: ColumnNode;
2022-09-06 12:03:37 +00:00
/**
* Column field.
*/
field: string;
/**
* Row index.
*/
index: number;
/**
* Whether the row is frozen.
*/
frozenRow: boolean;
/**
* Loading options.
* @see ColumnLoadingOptions
*/
loadingOptions: ColumnLoadingOptions;
2023-02-28 08:29:30 +00:00
}): VNode[];
/**
2024-05-03 06:34:54 +00:00
* @deprecated since v4.0. Use 'rowtoggleicon' slot instead.
* Custom row toggler icon template.
* @param {Object} scope - row toggler icon slot's params.
*/
rowtogglericon(scope: {
/**
* Style class of the row toggler icon.
*/
class: string;
/**
* Current row expanded state.
*/
rowExpanded: boolean;
}): VNode[];
2024-05-03 06:34:54 +00:00
/**
* Custom row toggler icon template.
* @param {Object} scope - row toggler icon slot's params.
*/
rowtoggleicon(scope: {
/**
* Style class of the row toggler icon.
*/
class: string;
/**
* Current row expanded state.
*/
rowExpanded: boolean;
}): VNode[];
/**
* Custom row checkbox icon template.
* @param {Object} scope - header row icon slot's params.
*/
rowcheckboxicon(scope: {
/**
* Current check state.
*/
checked: boolean;
}): VNode[];
/**
* Custom row editor init icon template.
*/
roweditoriniticon(): VNode[];
/**
* Custom row editor save icon template.
*/
roweditorsaveicon(): VNode[];
/**
* Custom row editor cancel icon template.
*/
roweditorcancelicon(): VNode[];
/**
* Custom filter icon template.
*/
filtericon(): VNode[];
/**
* Custom filter clear icon template.
*/
filterclearicon(): VNode[];
/**
* Custom filter remove icon template.
*/
filterremoveicon(): VNode[];
/**
* Custom filter add icon template.
*/
filteraddicon(): VNode[];
/**
* Custom sort icon template.
* @param {Object} scope - sort icon slot's params.
*/
sorticon(scope: {
/**
* Style class of the sort icon.
*/
class: string;
/**
* Current sort state.
*/
sorted: boolean;
/**
* Current sort order state.
*/
sortOrder: number;
}): VNode[];
/**
* Custom header checkbox icon template.
* @param {Object} scope - header checkbox icon slot's params.
*/
headercheckboxicon(scope: {
/**
* Current check state.
*/
checked: boolean;
}): VNode[];
/**
* Custom row reorder icon template.
*/
rowreordericon(): VNode[];
2024-05-03 06:34:54 +00:00
/**
* @deprecated since v4.0. Use 'nodetoggleicon' slot instead.
* Custom node toggler icon template.
*/
nodetogglericon(): VNode[];
/**
* Custom node toggler icon template.
*/
nodetoggleicon(): VNode[];
2022-09-06 12:03:37 +00:00
}
2023-02-28 08:29:30 +00:00
export interface ColumnEmits {}
2022-09-06 12:03:37 +00:00
2023-02-28 14:20:59 +00:00
/**
* **PrimeVue - Column**
*
* _Column is a helper component for Column and TreeTable._
2023-02-28 14:20:59 +00:00
*
* [Live Demo](https://www.primevue.org/Column/)
2023-02-28 14:20:59 +00:00
* --- ---
* ![PrimeVue](https://primefaces.org/cdn/primevue/images/logo-100.png)
*
* @group Component
*/
2023-03-01 14:37:47 +00:00
declare class Column extends ClassComponent<ColumnProps, ColumnSlots, ColumnEmits> {}
2022-09-06 12:03:37 +00:00
export type ColumnNode = Column & { props: Column['$props'] };
declare module 'vue' {
export interface GlobalComponents {
2022-09-14 11:26:01 +00:00
Column: GlobalComponentConstructor<Column>;
2022-09-06 12:03:37 +00:00
}
}
export default Column;