UNPKG

@progress/kendo-vue-grid

Version:
1,655 lines (1,610 loc) 102 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ColumnBaseProps } from '@progress/kendo-vue-data-tools'; import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { CompositeFilterDescriptor } from '@progress/kendo-data-query'; import { ComputedRef } from 'vue'; import { DataResult } from '@progress/kendo-data-query'; import { DefineComponent } from 'vue'; import { DetailExpandDescriptor } from '@progress/kendo-vue-data-tools'; import { ExtractPropTypes } from 'vue'; import { GridCellProps as GridCellProps_2 } from '.'; import { GridColumnMenuColumnProps } from '../interfaces/GridColumnMenuColumnProps'; import { GridColumnState as GridColumnState_2 } from '.'; import { GridDataStateChangeEvent as GridDataStateChangeEvent_2 } from '.'; import { GridDetailExpandChangeEvent as GridDetailExpandChangeEvent_2 } from '.'; import { GridExpandChangeEvent as GridExpandChangeEvent_2 } from '.'; import { GridFilterCellProps as GridFilterCellProps_2 } from '..'; import { GridFilterChangeEvent as GridFilterChangeEvent_2 } from '.'; import { GridFilterOperator as GridFilterOperator_2 } from '../interfaces/GridFilterOperator'; import { GridFilterOperators as GridFilterOperators_2 } from './interfaces/GridFilterOperators'; import { GridFilterOperators as GridFilterOperators_3 } from '../interfaces/GridFilterOperators'; import { GridGroupableSettings as GridGroupableSettings_2 } from '.'; import { GridGroupChangeEvent as GridGroupChangeEvent_2 } from '.'; import { GridGroupExpandChangeEvent as GridGroupExpandChangeEvent_2 } from '.'; import { GridItemChangeEvent as GridItemChangeEvent_2 } from '.'; import { GridPageChangeEvent as GridPageChangeEvent_2 } from '.'; import { GridPagerSettings } from '@progress/kendo-vue-data-tools'; import { GridRowSpannableSettings as GridRowSpannableSettings_2 } from './interfaces/GridRowSpannableSettings'; import { GridSearchChangeEvent as GridSearchChangeEvent_2 } from '.'; import { GridSortChangeEvent as GridSortChangeEvent_2 } from '.'; import { GridSortSettings as GridSortSettings_2 } from '.'; import { GridSortSettings as GridSortSettings_3 } from '..'; import { GridSortSettings as GridSortSettings_4 } from '../interfaces/GridSortSettings'; import { GroupDescriptor } from '@progress/kendo-data-query'; import { GroupExpandDescriptor } from '@progress/kendo-vue-data-tools'; import { GroupState } from '@progress/kendo-vue-data-tools'; import { IntlService } from '@progress/kendo-vue-intl'; import { JSX } from 'vue/jsx-runtime'; import { PopupAnimation } from '@progress/kendo-vue-popup'; import { PropType } from 'vue'; import { PublicProps } from 'vue'; import { Ref } from 'vue'; import { SearchField } from '@progress/kendo-vue-data-tools'; import { SortDescriptor } from '@progress/kendo-data-query'; import { State } from '@progress/kendo-data-query'; import { SVGIcon } from '@progress/kendo-vue-common'; import { SVGIcon as SVGIcon_2 } from '@progress/kendo-svg-icons'; import { SvgIconAll } from '@progress/kendo-vue-common'; import { TableExpandableSettings } from '@progress/kendo-vue-data-tools'; import { TableGroupExpandableSettings } from '@progress/kendo-vue-data-tools'; import { TextBoxChangeEvent } from '@progress/kendo-vue-inputs'; import { TextBoxProps } from '@progress/kendo-vue-inputs'; /** * @hidden */ export declare function applyExpandedState(sdata: DataResult, collapsed: any[], uniqueField: string): DataResult; /** * @hidden */ export declare function autoGenerateColumns(data: any[] | DataResult | null | undefined, group: GroupDescriptor[] | undefined, expandable: GridDetailExpandableSettings, idInfo: { prevId: number; idPrefix: string; }): ExtendedColumnProps[]; /** @hidden */ export declare const calcRowHeight: (tableBody: HTMLTableSectionElement | null) => number; /** * @hidden */ export declare function checkPropCompatibility(props: GridProps): void; /** * @hidden */ export declare interface DataItemWrapper { dataItem: any; rowType: GridRowType; level: number; expanded: boolean; dataIndex: number; group?: GroupState; } /** * @hidden */ declare interface ExtendedColumnProps extends GridColumnProps { declarationIndex: number; parentIndex: number; rowSpan: number; depth: number; colSpan: number; kFirst?: boolean; index: number; headerColSpan: number; children: ExtendedColumnProps[]; left: number; right: number; rightBorder: boolean; ariaColumnIndex: number; isAccessible: boolean; /** @hidden _internal usage only */ _type?: 'edit' | 'expand'; rowSpannable?: Required<GridRowSpannableSettings>; defaultCell?: any; defaultHeaderCell?: any; } /** * Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators. */ export declare const filterGroupByField: (field: string, filter: CompositeFilterDescriptor | undefined) => CompositeFilterDescriptor | null; /** * @hidden */ export declare const firefox: boolean; /** * @hidden */ export declare const firefoxMaxHeight = 17895697; /** * @hidden */ export declare function flatData(output: Array<DataItemWrapper>, input: Array<any>, footer: 'always' | 'visible' | 'none', dataIndex: { index: number; }, groupDefined: boolean, expand?: DetailExpandDescriptor, groupExpand?: GroupExpandDescriptor[], defaultGroupExpand?: boolean, dataItemKey?: string, field?: string, level?: number, parentGroup?: GroupState | undefined): number; /** * @hidden */ export declare const Footer: DefineComponent<ExtractPropTypes< { staticHeaders: BooleanConstructor; row: ObjectConstructor; columnResize: ObjectConstructor; cols: ArrayConstructor; size: StringConstructor; }>, { colGroupHeaderRef: Ref<any, any>; footerWrapRef: Ref<any, any>; }, { scrollbarWidth: number; rtl: boolean; tableWidth: any; }, { tableClass(): { [x: string]: any; 'k-table': boolean; 'k-grid-footer-table': boolean; }; tableStyle(): { width: any; }; }, { setScrollLeft(scrollLeft: number): void; setWidth(width: number): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { staticHeaders: BooleanConstructor; row: ObjectConstructor; columnResize: ObjectConstructor; cols: ArrayConstructor; size: StringConstructor; }>> & Readonly<{}>, { staticHeaders: boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const footerColumns: (columns: ExtendedColumnProps[]) => ExtendedColumnProps[]; /** * @hidden */ export declare const FooterRow: DefineComponent<ExtractPropTypes< { isRtl: PropType<boolean>; columns: PropType<ExtendedColumnProps[]>; rowIndex: PropType<number>; }>, {}, {}, {}, { columnStyles(column: ExtendedColumnProps): { left: string; right: string; }; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { isRtl: PropType<boolean>; columns: PropType<ExtendedColumnProps[]>; rowIndex: PropType<number>; }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const getColSpan: (column: GridColumnProps, dataItem: any) => number; /** * @hidden */ export declare const getColumnWidth: (column: ExtendedColumnProps) => string | undefined; /** * @hidden */ export declare const getDataAsArray: (data: any[] | DataResult | null | undefined) => any[]; /** * @hidden */ export declare const getFlatColumnsState: (state: GridColumnState[]) => GridColumnState[]; /** * @hidden */ export declare function getIndex(event: any, parent: HTMLElement | null): number; /** * @hidden */ export declare function getNestedValue(fieldName: string, dataItem: any): any; /** * @hidden */ export declare const getRowSpanOptions: (rowSpannable?: boolean | GridRowSpannableSettings) => Required<GridRowSpannableSettings>; /** * Represents the [KendoVue Grid component]({% slug overview_grid %}). * * @remarks * Supported children components are: {@link GridColumn}, {@link GridToolbar}, {@link GridNoRecords}, {@link StatusBar}. * * * export default App; * ``` */ export declare const Grid: DefineComponent<ExtractPropTypes< { id: PropType<string>; autoProcessData: PropType<boolean | { filter?: boolean; search?: boolean; sort?: boolean; group?: boolean; page?: boolean; }>; topCacheCount: { type: PropType<number>; /** * Represent the `ref` of the Grid component. */ default: number; }; collapsedGroups: { type: PropType<any[][]>; default: () => any[]; }; uniqueField: PropType<string>; totalGroupedHeight: PropType<number>; allGroupedItems: PropType<DataResult>; alternatePerGroup: PropType<boolean>; columns: PropType<GridColumnProps[]>; columnsState: { type: PropType<GridColumnState_2[]>; default: () => any; }; defaultColumnsState: { type: PropType<GridColumnState_2[]>; /** * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based. * * @param options - Object, containing the rowIndex to which is going to be scrolled. */ default: () => any; }; columnVirtualization: PropType<boolean>; dataItems: PropType<any[] | DataResult>; sortable: PropType<GridSortSettings_2>; defaultSort: PropType<SortDescriptor[]>; sort: PropType<SortDescriptor[]>; filterable: PropType<boolean>; filterOperators: PropType<GridFilterOperators_2>; filterCellRender: PropType<any>; headerCellRender: PropType<any>; showLoader: { type: PropType<boolean>; default: any; }; loader: PropType<string | Object | Function>; defaultFilter: PropType<CompositeFilterDescriptor>; filter: PropType<CompositeFilterDescriptor>; defaultSearch: PropType<CompositeFilterDescriptor>; search: PropType<CompositeFilterDescriptor>; searchFields: PropType<(string | SearchField)[]>; highlight: PropType< { [id: string]: boolean | { [id: string]: boolean; }; }>; pageable: PropType<any>; pageSize: PropType<number>; total: PropType<number>; fixedScroll: PropType<boolean>; skip: PropType<number>; defaultSkip: PropType<number>; take: PropType<number>; defaultTake: PropType<number>; expandField: PropType<string>; expandColumn: PropType<GridColumnProps>; selectedField: PropType<string>; cellRender: PropType<string | boolean | ((h: any, defaultRendering: any, props: GridCellProps_2, listeners: any) => any)>; rowRender: PropType<string | boolean | ((h: any, defaultRendering: any, defaultSlots: any, props: any, listeners: any) => any)>; rowSpannable: PropType<boolean | GridRowSpannableSettings_2>; resizable: PropType<boolean>; reorderable: PropType<boolean>; group: PropType<GroupDescriptor[]>; defaultGroup: PropType<GroupDescriptor[]>; groupable: PropType<boolean | GridGroupableSettings_2>; groupExpand: PropType<GroupExpandDescriptor[]>; defaultGroupExpand: PropType<GroupExpandDescriptor[]>; detailExpand: PropType<DetailExpandDescriptor>; defaultDetailExpand: PropType<DetailExpandDescriptor>; editField: PropType<string>; rowClass: PropType<Function>; scrollable: { type: PropType<string>; default: string; }; size: { type: PropType<string>; default: string; validator: (value: string) => any; }; pager: PropType<string | boolean | Object | Function>; rowHeight: PropType<number>; detailRowHeight: PropType<number>; detail: PropType<any>; columnMenu: PropType<any>; columnMenuAnimate: { type: PropType<boolean | PopupAnimation>; default: () => boolean; }; columnMenuIcon: DefineComponent<ExtractPropTypes< { name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>, {}, {}, { wrapperClass(this: SvgIconAll): { [x: string]: any; [x: number]: any; 'k-icon': boolean; 'k-svg-icon': boolean; 'k-flip-h': boolean; 'k-flip-v': boolean; }; }, { handleClick(e: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, { click: any; }, string, PublicProps, Readonly<ExtractPropTypes< { name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>> & Readonly<{ onClick?: (...args: any[] | unknown[]) => any; }>, { viewBox: string; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; dataItemKey: StringConstructor; navigatable: { type: PropType<boolean>; default: boolean; }; onItemchange: PropType<(event: GridItemChangeEvent_2) => void>; onExpandchange: PropType<(event: GridExpandChangeEvent_2) => void>; onDatastatechange: PropType<(event: GridDataStateChangeEvent_2) => void>; onPagechange: PropType<(event: GridPageChangeEvent_2) => void>; onSortchange: PropType<(event: GridSortChangeEvent_2) => void>; onFilterchange: PropType<(event: GridFilterChangeEvent_2) => void>; onGroupchange: PropType<(event: GridGroupChangeEvent_2) => void>; onSearchchange: PropType<(event: GridSearchChangeEvent_2) => void>; onGroupexpandchange: PropType<(event: GridGroupExpandChangeEvent_2) => void>; onDetailexpandchange: PropType<(event: GridDetailExpandChangeEvent_2) => void>; }>, void, {}, { columnsWithTemplates(): any[]; }, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { id: PropType<string>; autoProcessData: PropType<boolean | { filter?: boolean; search?: boolean; sort?: boolean; group?: boolean; page?: boolean; }>; topCacheCount: { type: PropType<number>; /** * Represent the `ref` of the Grid component. */ default: number; }; collapsedGroups: { type: PropType<any[][]>; default: () => any[]; }; uniqueField: PropType<string>; totalGroupedHeight: PropType<number>; allGroupedItems: PropType<DataResult>; alternatePerGroup: PropType<boolean>; columns: PropType<GridColumnProps[]>; columnsState: { type: PropType<GridColumnState_2[]>; default: () => any; }; defaultColumnsState: { type: PropType<GridColumnState_2[]>; /** * Method to allow the scroll to be set to a specific row index when the Grid is scrollable. It is zero based. * * @param options - Object, containing the rowIndex to which is going to be scrolled. */ default: () => any; }; columnVirtualization: PropType<boolean>; dataItems: PropType<any[] | DataResult>; sortable: PropType<GridSortSettings_2>; defaultSort: PropType<SortDescriptor[]>; sort: PropType<SortDescriptor[]>; filterable: PropType<boolean>; filterOperators: PropType<GridFilterOperators_2>; filterCellRender: PropType<any>; headerCellRender: PropType<any>; showLoader: { type: PropType<boolean>; default: any; }; loader: PropType<string | Object | Function>; defaultFilter: PropType<CompositeFilterDescriptor>; filter: PropType<CompositeFilterDescriptor>; defaultSearch: PropType<CompositeFilterDescriptor>; search: PropType<CompositeFilterDescriptor>; searchFields: PropType<(string | SearchField)[]>; highlight: PropType< { [id: string]: boolean | { [id: string]: boolean; }; }>; pageable: PropType<any>; pageSize: PropType<number>; total: PropType<number>; fixedScroll: PropType<boolean>; skip: PropType<number>; defaultSkip: PropType<number>; take: PropType<number>; defaultTake: PropType<number>; expandField: PropType<string>; expandColumn: PropType<GridColumnProps>; selectedField: PropType<string>; cellRender: PropType<string | boolean | ((h: any, defaultRendering: any, props: GridCellProps_2, listeners: any) => any)>; rowRender: PropType<string | boolean | ((h: any, defaultRendering: any, defaultSlots: any, props: any, listeners: any) => any)>; rowSpannable: PropType<boolean | GridRowSpannableSettings_2>; resizable: PropType<boolean>; reorderable: PropType<boolean>; group: PropType<GroupDescriptor[]>; defaultGroup: PropType<GroupDescriptor[]>; groupable: PropType<boolean | GridGroupableSettings_2>; groupExpand: PropType<GroupExpandDescriptor[]>; defaultGroupExpand: PropType<GroupExpandDescriptor[]>; detailExpand: PropType<DetailExpandDescriptor>; defaultDetailExpand: PropType<DetailExpandDescriptor>; editField: PropType<string>; rowClass: PropType<Function>; scrollable: { type: PropType<string>; default: string; }; size: { type: PropType<string>; default: string; validator: (value: string) => any; }; pager: PropType<string | boolean | Object | Function>; rowHeight: PropType<number>; detailRowHeight: PropType<number>; detail: PropType<any>; columnMenu: PropType<any>; columnMenuAnimate: { type: PropType<boolean | PopupAnimation>; default: () => boolean; }; columnMenuIcon: DefineComponent<ExtractPropTypes< { name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>, {}, {}, { wrapperClass(this: SvgIconAll): { [x: string]: any; [x: number]: any; 'k-icon': boolean; 'k-svg-icon': boolean; 'k-flip-h': boolean; 'k-flip-v': boolean; }; }, { handleClick(e: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, { click: any; }, string, PublicProps, Readonly<ExtractPropTypes< { name: StringConstructor; icon: ObjectConstructor; themeColor: { type: StringConstructor; }; size: { type: StringConstructor; }; flip: { type: StringConstructor; }; id: StringConstructor; ariaLabel: StringConstructor; title: StringConstructor; viewBox: { type: StringConstructor; default: string; }; tabIndex: NumberConstructor; svgClassName: StringConstructor; svgStyle: ObjectConstructor; }>> & Readonly<{ onClick?: (...args: any[] | unknown[]) => any; }>, { viewBox: string; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; dataItemKey: StringConstructor; navigatable: { type: PropType<boolean>; default: boolean; }; onItemchange: PropType<(event: GridItemChangeEvent_2) => void>; onExpandchange: PropType<(event: GridExpandChangeEvent_2) => void>; onDatastatechange: PropType<(event: GridDataStateChangeEvent_2) => void>; onPagechange: PropType<(event: GridPageChangeEvent_2) => void>; onSortchange: PropType<(event: GridSortChangeEvent_2) => void>; onFilterchange: PropType<(event: GridFilterChangeEvent_2) => void>; onGroupchange: PropType<(event: GridGroupChangeEvent_2) => void>; onSearchchange: PropType<(event: GridSearchChangeEvent_2) => void>; onGroupexpandchange: PropType<(event: GridGroupExpandChangeEvent_2) => void>; onDetailexpandchange: PropType<(event: GridDetailExpandChangeEvent_2) => void>; }>> & Readonly<{}>, { size: string; scrollable: string; navigatable: boolean; columnMenuAnimate: boolean; topCacheCount: number; collapsedGroups: any[][]; columnsState: GridColumnState_2[]; defaultColumnsState: GridColumnState_2[]; showLoader: boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * Represents the object of the `cancel` event. */ export declare interface GridCancelEvent { /** * The item from the `data` property of the Grid that corresponds to the item that is canceled by the user. */ dataItem: any; } /** * @hidden */ export declare const GridCell: DefineComponent<ExtractPropTypes< { id: PropType<string>; field: PropType<string>; dataItem: PropType<any>; format: PropType<string>; readFormat: PropType<string>; className: PropType<string>; colSpan: PropType<number>; columnIndex: PropType<number>; columnsCount: PropType<number>; dataIndex: PropType<number>; rowType: PropType<string>; level: PropType<number>; expanded: PropType<boolean>; type: PropType<string>; editor: PropType<string>; rowSpan: PropType<{ count: number; value: any; }>; isSelected: PropType<boolean>; isHighlighted: PropType<boolean>; ariaColumnIndex: PropType<number>; render: PropType<any>; isRtl: PropType<boolean>; onEdit: PropType<(event: { dataItem: any; }) => void>; onSave: PropType<(event: { dataItem: any; }) => void>; onRemove: PropType<(event: { dataItem: any; }) => void>; onCancel: PropType<(event: { dataItem: any; }) => void>; onChange: PropType<(event: { dataItem: any; event: any; field?: string; value?: any; }) => void>; onSelectionchange: PropType<(event: any, dataItem: any) => void>; }>, { kendoIntlService: {}; }, {}, { tdClass(): { [x: number]: any; 'k-table-td': boolean; 'k-highlighted': any; }; }, { triggerClick(): void; triggerKeydown(e: any): void; triggerEdit(dataItem: any): void; triggerAdd(dataItem: any): void; triggerCancel(dataItem: any): void; triggerSave(dataItem: any): void; triggerRemove(dataItem: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, { cellclick: any; cellkeydown: any; }, string, PublicProps, Readonly<ExtractPropTypes< { id: PropType<string>; field: PropType<string>; dataItem: PropType<any>; format: PropType<string>; readFormat: PropType<string>; className: PropType<string>; colSpan: PropType<number>; columnIndex: PropType<number>; columnsCount: PropType<number>; dataIndex: PropType<number>; rowType: PropType<string>; level: PropType<number>; expanded: PropType<boolean>; type: PropType<string>; editor: PropType<string>; rowSpan: PropType<{ count: number; value: any; }>; isSelected: PropType<boolean>; isHighlighted: PropType<boolean>; ariaColumnIndex: PropType<number>; render: PropType<any>; isRtl: PropType<boolean>; onEdit: PropType<(event: { dataItem: any; }) => void>; onSave: PropType<(event: { dataItem: any; }) => void>; onRemove: PropType<(event: { dataItem: any; }) => void>; onCancel: PropType<(event: { dataItem: any; }) => void>; onChange: PropType<(event: { dataItem: any; event: any; field?: string; value?: any; }) => void>; onSelectionchange: PropType<(event: any, dataItem: any) => void>; }>> & Readonly<{ onCellkeydown?: (...args: any[] | unknown[]) => any; onCellclick?: (...args: any[] | unknown[]) => any; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare interface GridCellProps { /** * @hidden */ id: string; /** * The field to which the cell is bound ([see example]({% slug sorting_grid %})). */ key?: number; /** * The field to which the cell is bound ([see example]({% slug sorting_grid %})). */ field: string; /** * The data object that represents the current row. */ dataItem: any; /** * */ dataIndex?: number; /** * The format that is applied to the value before the value is displayed. Takes the `{0:format}` * form where `format` is any of the following: * * A standard number format * * A custom number format * * A standard date format * * A custom date format * * For more information on the supported date and number formats, * refer to the [kendo-intl](https://github.com/telerik/kendo-intl/blob/develop/docs/index.md) documentation. */ format?: string; /** * The data Item read format. */ readFormat?: string; /** * The custom CSS classes of the cells. */ className?: string; /** * The index to be applied to the `aria-colindex` attribute. */ ariaColumnIndex: number; /** * The index of all rendered columns. */ columnIndex?: number; /** * The number of rendered columns in the Grid. */ columnsCount?: number; /** * The type of the row. */ rowType?: string; /** * @hidden */ level?: number; /** * The expanded value of the cell when hierarchy or grouping are used. */ expanded?: boolean; /** * The event that is fired when the cell is selected. */ selectionchange?: (event: any, dataItem: any) => void; /** * @hidden */ style?: any; /** * The column span of the cell. */ colSpan?: number; /** * Indicates if the cell is selected. */ isSelected: boolean; /** * Indicates if the cell is highlighted. */ isHighlighted: boolean; /** * Indicates if the cell is in rtl direction. */ isRtl: boolean; /** * The event that is fired when the cell value is changed. */ onChange?: (event: { dataItem: any; event: any; field?: string; value?: any; }) => void; /** * The event that is fired when the keydown event of the cell is triggered. */ onCellkeydown?: (event: { event: any; dataItem: any; field: string; }) => void; /** * The event that is fired when the cell is clicked. */ onCellclick?: (event: { dataItem: any; field: string; }) => void; /** * The event that is fired when the cell is about to be added. */ onAdd?: (event: { dataItem: any; }) => void; /** * The event that is fired when the cell is about to be edited. */ onEdit?: (event: { dataItem: any; }) => void; /** * The event that is fired when the cell is about to be saved. */ save?: (event: { dataItem: any; }) => void; /** * The event that is fired when the cell is about to be removed. */ remove?: (event: { dataItem: any; }) => void; /** * The event that is fired when the cell is about to be canceled. */ onCancel?: (event: { dataItem: any; }) => void; /** * The type of the data which will be used when formatting the cell data. * Could be one of the following values 'text' | 'numeric' | 'boolean' | 'date'. */ type?: string; /** * The type of the editor which will be used when the cell is in edit mode. * Could be one of the following values 'text' | 'numeric' | 'boolean' | 'date'. */ editor?: string; /** * The method for rendering the cell. */ render?: any; /** @hidden */ group?: GroupState; /** @hidden */ rowSpan?: { count: number | null; value: any; }; } /** * Represents the properties of the callback used when spanning a column. */ export declare type GridColSpanProps = { /** * Represents the properties of the spanned column. */ column: GridColumnProps; /** * Represents the current row data item. */ dataItem: any; }; /** * @hidden */ export declare const GridColumnMenuCheckboxFilter: { name: string; props: { column: PropType<GridColumnMenuColumnProps>; filter: PropType<CompositeFilterDescriptor>; filterable: PropType<boolean>; filterOperators: PropType<GridFilterOperators_3>; checkAllItem: PropType<string | boolean | object | Function>; item: PropType<string | boolean | object | Function>; expanded: { type: PropType<boolean>; default: any; }; dataItems: PropType<(string | object)[]>; searchBox: { type: PropType<any>; default: boolean; }; uniqueData: { type: PropType<boolean>; default: boolean; }; }; data(): { currentExpanded: boolean; currentValue: string; currentData: any; dataFromProps: any; currentFilter: any; }; created(): void; updated(): void; inject: { kendoLocalizationService: { default: any; }; }; setup(): { kendoLocalizationService: {}; }; render(): JSX.Element; methods: { defaultFilter(): any; parseData(originalData: any, isUnique: any): any; getFilterIndex(): any; onFilterExpand(): void; handleSearchChange(e: any): void; clear(e: any): void; submit(e: any): void; handleCheckBoxChange(e: any, value: any): void; isAllSelected(): boolean; }; }; /** * The props of the GridColumnMenuFilter component. */ export declare interface GridColumnMenuCheckboxFilterProps extends GridColumnMenuFilterBaseProps { /** * Controls the expand state of the filter component. */ expanded?: boolean; /** * Sets the items collection that will be rendered by the GridColumnMenuCheckboxFilter component. */ dataItems: Array<string | object>; /** * Triggered on each subsequent expand state of the filter component. */ expandchange?: (nextExpandState: boolean) => void; /** * Defines the component that will be rendered as a search box. */ searchBox?: any; /** * Determines if the data in the component will be unique. By default the property is set to true. */ uniqueData?: boolean; } /** * The column props passed by the ColumnMenu. */ declare interface GridColumnMenuColumnProps_2 { /** * The field to which the column is bound. */ field?: string; /** * Defines the filter type that is displayed inside the filter row. Defaults to `text`. */ filter?: 'text' | 'numeric' | 'boolean' | 'date'; } /** * Represents the GridColumnMenuFilter component. * * @hidden */ export declare const GridColumnMenuFilter: DefineComponent<ExtractPropTypes< { column: PropType<GridColumnMenuColumnProps>; filter: PropType<CompositeFilterDescriptor>; expanded: { type: PropType<boolean>; default: any; }; filterable: PropType<boolean>; filterOperators: { type: PropType<GridFilterOperators_3>; default: () => GridFilterOperators_3; }; hideSecondFilter: { type: PropType<boolean>; default: () => any; }; filterUI: PropType<any>; onFilterfocus: PropType<(e: any) => void>; onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>; onExpandchange: PropType<(nextExpandState: boolean) => void>; onClosemenu: PropType<Function>; }>, { kendoLocalizationService: {}; }, { currentExpanded: boolean; filterGroup: any; }, {}, { removeGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor; insertGroup(group: CompositeFilterDescriptor, rootFilter: CompositeFilterDescriptor): CompositeFilterDescriptor; isControlled(): boolean; onFilterExpand(): void; filterChangeHandler(e: any, filterIndex?: number): void; firstFilterChange(e: any): void; secondFilterChange(e: any): void; filterChange(filterIndex: number, e: { value: number; operator: string; }): void; logicChange(e: any): void; clear(e: any): void; currentFilterGroup(): CompositeFilterDescriptor; submit(e: any): void; handleFocus(e: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { column: PropType<GridColumnMenuColumnProps>; filter: PropType<CompositeFilterDescriptor>; expanded: { type: PropType<boolean>; default: any; }; filterable: PropType<boolean>; filterOperators: { type: PropType<GridFilterOperators_3>; default: () => GridFilterOperators_3; }; hideSecondFilter: { type: PropType<boolean>; default: () => any; }; filterUI: PropType<any>; onFilterfocus: PropType<(e: any) => void>; onFilterchange: PropType<(filter: CompositeFilterDescriptor, syntheticEvent: any) => any>; onExpandchange: PropType<(nextExpandState: boolean) => void>; onClosemenu: PropType<Function>; }>> & Readonly<{}>, { expanded: boolean; filterOperators: GridFilterOperators_3; hideSecondFilter: boolean; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * The props passed to the ColumnMenu filter component. */ declare interface GridColumnMenuFilterBaseProps { /** * Controls the ColumnMenu animation. By default, the opening and closing animations are enabled. */ animate?: boolean | PopupAnimation; /** * The current column options. */ column: GridColumnMenuColumnProps_2; /** * The method that will be called to close the column menu. */ onClosemenu?: Function; /** * The current filter state of the Grid. */ filter?: CompositeFilterDescriptor; /** * The filterable option of the column. */ filterable?: boolean | undefined; /** * The filter operators for the Grid filters. */ filterOperators: GridFilterOperators; /** * The template that can customize the check all checkbox item. */ checkAllItem?: string | object | Function | boolean; /** * The template that can customize the checkbox item. */ item?: string | object | Function | boolean; /** * The trigger focus event. */ onFocus?: (e: any) => void; /** * The method that will be called to notify the parent Grid about a filter change. */ onFilterchange?: (filter: CompositeFilterDescriptor | null, syntheticEvent: any) => any; } /** * @hidden */ export declare const GridColumnMenuFilterCell: DefineComponent<ExtractPropTypes< { field: PropType<string>; filterType: PropType<string>; value: PropType<any>; operator: PropType<string>; operators: PropType<{ text: string; operator: any; }[]>; booleanValues: PropType<GridFilterOperator[]>; }>, {}, {}, {}, { handleFocus(e: any): void; triggerChange(filter: any): void; inputChange(value: any, e: any): void; boolDropdownChange(value: any, e: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, { change: any; filtercellfocus: any; }, string, PublicProps, Readonly<ExtractPropTypes< { field: PropType<string>; filterType: PropType<string>; value: PropType<any>; operator: PropType<string>; operators: PropType<{ text: string; operator: any; }[]>; booleanValues: PropType<GridFilterOperator[]>; }>> & Readonly<{ onChange?: (...args: any[] | unknown[]) => any; onFiltercellfocus?: (...args: any[] | unknown[]) => any; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const GridColumnMenuFilterUI: DefineComponent<ExtractPropTypes< { firstFilterProps: PropType<GridFilterCellProps_2>; secondFilterProps: PropType<GridFilterCellProps_2>; logicValue: PropType<{ text: string; operator: any; }>; logicData: PropType<{ text: string; operator: any; }[]>; hideSecondFilter: PropType<boolean>; operators: PropType<{ text: string; operator: any; }[]>; render: PropType<any>; }>, {}, {}, {}, { handleFocus(e: any): void; changeHandler(e: any, filterIndex: number): void; logicChange(e: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, { change: any; filteruifocus: any; logicChange: any; }, string, PublicProps, Readonly<ExtractPropTypes< { firstFilterProps: PropType<GridFilterCellProps_2>; secondFilterProps: PropType<GridFilterCellProps_2>; logicValue: PropType<{ text: string; operator: any; }>; logicData: PropType<{ text: string; operator: any; }[]>; hideSecondFilter: PropType<boolean>; operators: PropType<{ text: string; operator: any; }[]>; render: PropType<any>; }>> & Readonly<{ onChange?: (...args: any[] | unknown[]) => any; onLogicChange?: (...args: any[] | unknown[]) => any; onFilteruifocus?: (...args: any[] | unknown[]) => any; }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const GridColumnMenuItem: DefineComponent<ExtractPropTypes< { title: PropType<string>; iconClass: PropType<string>; icon: PropType<string>; svgIcon: PropType<SVGIcon_2>; selected: PropType<boolean>; onMenuitemclick: PropType<Function>; }>, {}, {}, {}, { onClick(e: any): void; onKeyDown(event: any): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { title: PropType<string>; iconClass: PropType<string>; icon: PropType<string>; svgIcon: PropType<SVGIcon_2>; selected: PropType<boolean>; onMenuitemclick: PropType<Function>; }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const GridColumnMenuItemContent: DefineComponent<ExtractPropTypes< { show: PropType<boolean>; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { show: PropType<boolean>; }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * @hidden */ export declare const GridColumnMenuItemGroup: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * The props which the ColumnMenu passes to its children. */ export declare interface GridColumnMenuProps extends GridColumnMenuFilterBaseProps, GridColumnMenuSortBaseProps { /** * The key of the column menu. */ key?: any; /** * The method for rendering the column menu. */ render?: any; /** * The opened column menu. */ opened?: boolean; /** * The icon that overrides the default(three vertical dots) icon displayed in the column menu of each column. */ columnMenuIcon?: SVGIcon; /** * The event that is fired when the column menu is focused. */ onContentfocus?: (event: any) => void; /** * The event that is fired when the column menu is expanded or collapsed. */ onExpandchange?: (event: any) => void; /** * The event that is fired when the column menu is closed. */ onClose?: (event: any) => void; /** * The event that is fired when the column menu is about to be sorted. */ onSortchange?: (event: any, sort: SortDescriptor[]) => void; } /** * @hidden */ export declare const GridColumnMenuSort: DefineComponent<ExtractPropTypes< { sortable: PropType<GridSortSettings_4>; sort: { type: PropType<SortDescriptor[]>; }; column: PropType<GridColumnMenuColumnProps>; onSortchange: PropType<(descriptors: SortDescriptor[], e: any) => void>; onClosemenu: PropType<Function>; }>, { kendoLocalizationService: {}; }, {}, {}, { onAscClick(e: any): void; onDescClick(e: any): void; onSort(e: any, selectedDir: 'asc' | 'desc'): void; }, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes< { sortable: PropType<GridSortSettings_4>; sort: { type: PropType<SortDescriptor[]>; }; column: PropType<GridColumnMenuColumnProps>; onSortchange: PropType<(descriptors: SortDescriptor[], e: any) => void>; onClosemenu: PropType<Function>; }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; /** * The props passed to the ColumnMenu sort component. */ declare interface GridColumnMenuSortBaseProps { /** * The current column options. */ column: GridColumnMenuColumnProps_2; /** * The method that will be called to close the column menu. */ onClosemenu?: Function; /** * The sortable option of the column. */ sortable?: GridSortSettings; /** * The current sort state of the Grid. */ sort?: SortDescriptor[]; /** * The method that will be called to notify the parent Grid about a sort change. */ onSortchange?: (descriptors: SortDescriptor[], e: any) => void; } /** * The props that can be assigned to the Grid column. */ export declare interface GridColumnProps extends Omit<ColumnBaseProps, 'cell'> { /** * The field to which the column is bound. */ field?: string; /** * The title of the column. */ title?: string; /** * Defines whether the column is editable * ([more information and examples]({% slug editing_inline_grid %})). */ editable?: boolean; /** * Allows the column headers to be clicked and the `sortChange` event emitted. * You have to handle the `sortChange` event yourself and sort the data. * * @default true */ sortable?: GridColumnSortSettings; /** * Defines the custom rendering of the cell. Accepts a Vue component, a `render` function, or a slot name. * If not set, a `GridCell` will be rendered by default. */ cell?: ((h: any, defaultRendering: any | null, props: GridCellProps, listeners: any) => any) | string | any; /** * @hidden */ internalCell?: any; /** * @hidden */ internalHeaderCell?: any; /** * Defines the custom rendering of the filter cell. Accepts a Vue component, a `render` function, or a slot name. * If not set, a `GridFilterCell` will be rendered by default. */ filterCell?: ((h: any, defaultRendering: any | null, props: GridFilterCellProps, listeners: any) => any) | string | any; /** * Defines if a filter UI will be rendered for this column. * * @default true */ filterable?: boolean; /** * Defines the title which will be set to the input element in the filter cell. * */ filterTitle?: string; /** * Defines the filter type that will be rendered inside the filter row. * * @default 'text' */ filter?: GridDataType; /** * Defines the editor type. Used when the column enters the edit mode ([more information and examples]({% slug editing_inline_grid %})). * * @default 'text' */ editor?: GridDataType; /** * Overrides the default(three vertical dots) column menu icon or the icon set through the ([`columnMenuIcon`]({% slug api_grid_gridprops %}#toc-columnmenuicon)) property. */ menuIcon?: SVGIcon; /** * The width of the column (in pixels). */ width?: string | number; /** * The width of the column (in pixels) below which the user is not able to resize the column through the UI. * Defaults to `10`. It is responsible only for the minimal width that is observed after the manual drag and it is * not responsible for the width of the columns when the browser is resized */ minResizableWidth?: number; /** * Defines the custom rendering of the header cell. Accepts a Vue component, a `render` function, or a slot name. * If not set, a `GridHeaderCell` will be rendered by default. */ headerCell?: ((h: any, defaultRendering: any | null, props: GridHeaderCellProps, listeners: any) => any) | string | any; /** * Defines the custom rendering of the footer cell. * The footer cell have to render an `HTMLTableCellElement` (TD element) and * apply its `style` and `colspan` values from the footer component `props`. * Accepts a Vue component, a `render` function, or a slot name. */ footerCell?: ((h: any, defaultRendering: any | null, props: GridFooterCellProps, listeners: any) => any) | string | any; /** * Sets the custom CSS classes to the column footer cell if there is footer. */ footerClassName?: string; /** * Defines if the header selection checkbox is checked. */ headerSelectionValue?: boolean; /** * The format that is applied to the value before it is displayed. Takes the `{0:format}` * form where `format` is any of the following: * * A standard number format * * A custom number format * * A standard date format * * A custom date format * * For more information on the supported date and number formats, * refer to the [kendo-intl](https://github.com/telerik/kendo-intl/blob/develop/docs/index.md) documentation. */ format?: string; /** * Sets the colSpan of the column which will make the row content span over multiple cells. * As arguments, it takes either a number or a function that returns a number. * * @default 1 */ colSpan?: number | ((colSpanProps: GridColSpanProps) => number); /** * Controls the visibility of the Grid's column. * * @default false */ hidden?: boolean; /** * Sets the screen size condition that needs to be satisfied for a column to remain visible. If you set the hidden property, the behavior of media is overridden. * */ media?: string; /** * Sets the custom CSS classes to the column header cell. */ headerClassName?: string; /** * Sets the custom CSS classes to the column cells. */ className?: string; /** * Indicates whether the column is reorderable. */ reorderable?: boolean; /** * Indicates whether the column is resizable. */ resizable?: boolean; /** * Determinates the position of the column. Columns with smaller `orderIndex` will appear * before columns with bigger `orderIndex`. Defaults to `0`. */ orderIndex?: number; /** * Determines if the column can be dragged to the group panel. Defaults to `true`. */ groupable?: boolean; /** * A collection of child columns. */ children?: (GridColumnProps)[] | (any)[]; /** * Defines if the column menu will be shown for the column. * Accepts Boolean, a Vue component, a `render` function, or a slot name */ columnMenu?: boolean | any; /** * Defines if the column menu is opened. */ columnMenuOpened?: boolean; /** * */ locked?: boolean; /** * The type of the data which will be used when formatting the cell data. * Could be one of the following values 'string' | 'number' | 'boolean' | 'date'. * Defaults to `string`. */ type?: 'string' | 'number' | 'boolean' | 'date'; /** * Sets the type of the column and renders a dedicated column for interaction. * * @default "data" */ columnType?: GridColumnType; /** * Defines if the cells of the column should be spanned when their values are the same. * */ rowSpannable?: boolean | GridRowSpannableSettings; } /** * Represents the object of the `onColumnReorder` event. */ export declare interface GridColumnReorderEvent { /** * An event target. */ target: GridHandle; /** * A native DOM event. */ event: any; /** * A previous column index. */ prev: number; /** * A next column index. */ next: number; /** * The current column collection. */ columns: GridColumnProps[]; } /** * Represents the object of the `onColumnResize` event. */ export declare interface GridColumnResizeEvent { /** * An event target. */ target: any; /** * A native DOM event. */ event: any; /** * The current column collection. */ columns: GridColumnProps[]; /** * The index of the column. */ index: number; /** * The new width of the column. */ newWidth: number; /** * The actual width of the column prior to resizing. */ oldWidth: number; /** * Indicates that resizing is complete and * the user has dropped the resize handler. */ end: boolean; } /** * The settings for sorting the Grid columns. */ declare type GridColumnSortSettings = boolean | { /** * Enables the removal of the column sorting functionality. */ allowUnsort?: boolean; }; /** * Represents the object of the `onColumnsStateChange` Grid event. */ export declare interface GridColumnsStateChangeEvent { /** * An event target. */ target: GridHandle; /** * The columns state collection. */ columnsState: GridColumnState[]; } /** * The state of the GridColumn */ export declare interface GridColumnState { /** * The id of the column. */ id: string; /** * The field of the column. */ field?: string; /** * The title of the column. */ title?: string; /** * The value indicating whether a column is visible or not. */ hidden?: boolean;