@progress/kendo-vue-grid
Version:
149 lines (148 loc) • 6.4 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { GridSortSettings } from '../interfaces/GridSortSettings';
import { SortDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { ColumnDraggableProps } from '../drag/ColumnDraggable';
import { ExtendedColumnProps } from '../interfaces/ExtendedColumnProps';
import { GridColumnProps } from '../interfaces/GridColumnProps';
import { GridHeaderCellProps } from '../interfaces/GridHeaderCellProps';
import { SVGIcon } from '@progress/kendo-vue-common';
import { GridCellsSettings } from '../interfaces/GridCellsSettings';
import { GridFilterOperators } from '../interfaces/GridFilterOperators';
import { PopupAnimation } from '@progress/kendo-vue-popup';
import { PropType } from 'vue';
import { GridCellRenderModel } from '../interfaces/GridCellRenderModel';
/**
* @hidden
*/
export interface HeaderRowProps extends ColumnDraggableProps {
grid: any;
sortable?: GridSortSettings;
groupable?: any;
reorderable?: boolean;
headerSelectionValue?: boolean | any[];
onSortChange?: (descriptors: SortDescriptor[], e: any) => void;
sort?: any;
filter?: CompositeFilterDescriptor;
filterOperators: GridFilterOperators;
filterable?: boolean | undefined;
filterChange?: any;
filterRow?: any;
columns: ExtendedColumnProps[];
columnResize?: any;
columnsMap: number[][];
onSelectionchange?: any;
cellRender?: ((h: any, defaultRendering: any | null, props: GridHeaderCellProps) => any) | string | null;
cells?: GridCellsSettings;
columnMenu?: any;
columnMenuAnimate?: boolean | PopupAnimation;
columnMenuIcon?: SVGIcon;
onFilterChange?: Function;
isRtl?: boolean;
isColCountDefined?: boolean;
columnsInitial?: ExtendedColumnProps[];
cellsToRender?: GridCellRenderModel[];
columnVirtualization?: boolean;
}
/**
* @hidden
*/
declare const HeaderRow: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
grid: PropType<any>;
cellRender: PropType<string | ((h: any, defaultRendering: any | null, props: GridHeaderCellProps) => any)>;
cells: PropType<GridCellsSettings>;
groupable: PropType<any>;
reorderable: PropType<boolean>;
sortable: PropType<GridSortSettings>;
sort: {
type: PropType<any>;
};
filter: PropType<CompositeFilterDescriptor>;
filterable: PropType<boolean>;
filterOperators: PropType<GridFilterOperators>;
filterChange: PropType<any>;
filterRow: PropType<any>;
columns: PropType<ExtendedColumnProps[]>;
cellsToRender: PropType<GridCellRenderModel[]>;
columnVirtualization: PropType<boolean>;
columnsMap: PropType<number[][]>;
columnResize: PropType<any>;
columnMenu: PropType<any>;
columnMenuAnimate: {
type: PropType<boolean | PopupAnimation>;
default: () => true;
};
columnMenuIcon: PropType<SVGIcon>;
isRtl: PropType<boolean>;
isColCountDefined: PropType<boolean>;
headerSelectionValue: PropType<boolean | any[]>;
columnsInitial: PropType<ExtendedColumnProps[]>;
onSortChange: PropType<(descriptors: SortDescriptor[], e: any) => void>;
onFilterChange: PropType<Function>;
onSelectionchange: PropType<any>;
onPressHandler: PropType<(draggableEvent: any, element: HTMLElement) => void>;
onDragHandler: PropType<(draggableEvent: any, element: HTMLElement) => void>;
onReleaseHandler: PropType<(draggableEvent: any) => void>;
}>, {}, {
columnMenuOpened: {};
}, {
element(): any;
theadClasses(): any;
}, {
pressHandler(event: any, element: HTMLElement): void;
dragHandler(event: any, element: HTMLElement): void;
releaseHandler(event: any): void;
selectionChangeHandler(options: any): void;
cellClick(e: any, column: GridColumnProps): void;
sortChangeHandler(newDescriptor: SortDescriptor[], e: any): void;
filterChangeHandler(newDescriptor: CompositeFilterDescriptor | null, e: any): void;
cellClass(field: string | undefined, headerClassName: string | undefined, locked?: boolean): string;
cellKeyDown(event: any, column: GridColumnProps): void;
getTemplate(template: any): any;
columnMenuClose(): void;
triggerContextMenu(e: MouseEvent, column: GridColumnProps): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
grid: PropType<any>;
cellRender: PropType<string | ((h: any, defaultRendering: any | null, props: GridHeaderCellProps) => any)>;
cells: PropType<GridCellsSettings>;
groupable: PropType<any>;
reorderable: PropType<boolean>;
sortable: PropType<GridSortSettings>;
sort: {
type: PropType<any>;
};
filter: PropType<CompositeFilterDescriptor>;
filterable: PropType<boolean>;
filterOperators: PropType<GridFilterOperators>;
filterChange: PropType<any>;
filterRow: PropType<any>;
columns: PropType<ExtendedColumnProps[]>;
cellsToRender: PropType<GridCellRenderModel[]>;
columnVirtualization: PropType<boolean>;
columnsMap: PropType<number[][]>;
columnResize: PropType<any>;
columnMenu: PropType<any>;
columnMenuAnimate: {
type: PropType<boolean | PopupAnimation>;
default: () => true;
};
columnMenuIcon: PropType<SVGIcon>;
isRtl: PropType<boolean>;
isColCountDefined: PropType<boolean>;
headerSelectionValue: PropType<boolean | any[]>;
columnsInitial: PropType<ExtendedColumnProps[]>;
onSortChange: PropType<(descriptors: SortDescriptor[], e: any) => void>;
onFilterChange: PropType<Function>;
onSelectionchange: PropType<any>;
onPressHandler: PropType<(draggableEvent: any, element: HTMLElement) => void>;
onDragHandler: PropType<(draggableEvent: any, element: HTMLElement) => void>;
onReleaseHandler: PropType<(draggableEvent: any) => void>;
}>> & Readonly<{}>, {
columnMenuAnimate: true;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export { HeaderRow };