@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
309 lines (308 loc) • 11.6 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef, QueryList } from '@angular/core';
import { HeaderTemplateDirective } from '../rendering/header/header-template.directive';
import { FooterTemplateDirective } from '../rendering/footer/footer-template.directive';
import { ColumnMenuTemplateDirective } from '../column-menu/column-menu-template.directive';
import { IdService } from '../common/id.service';
import { CellRowspanFn } from './cell-rowspan';
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare const isSpanColumn: (column: any) => any;
/**
* @hidden
*/
export declare const isCheckboxColumn: (column: any) => any;
/**
* @hidden
*/
export declare const isRowReorderColumn: (column: any) => any;
/**
* The base class for the column components of the Grid.
*/
export declare class ColumnBase {
parent?: ColumnBase;
/**
* @hidden
*/
isReordered: boolean;
/**
* @hidden
*/
initialMaxResizableWidth: number;
/**
* @hidden
*/
initialMinResizableWidth: number;
/**
* @hidden
*/
matchesMedia: boolean;
/**
* The column index after reordering. The `orderIndex` is a read-only property. Setting this field does not affect column order.
*
* @default 0
*/
orderIndex: number;
/**
* @hidden
*/
set leafIndex(value: number);
/**
* @hidden
*/
get leafIndex(): number;
protected _leafIndex: number;
/**
* @hidden
*/
isColumnGroup: boolean;
/**
* @hidden
*/
isSpanColumn: boolean;
/**
* Indicates whether the column is resizable.
* @default true
*/
resizable: boolean;
/**
* Indicates whether the column is reorderable.
* @default true
*/
reorderable: boolean;
/**
* The width (in pixels) below which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
* The `autoFitColumn` and `autoFitColumns` methods have higher priority.
* @default 10
*/
minResizableWidth: number;
/**
* The width (in pixels) above which the user is not able to resize the column by using the UI ([see example]({% slug resizing_columns_grid %}#toc-limiting-the-resizing)).
* By default, the maximum width is not restricted.
* The `autoFitColumn` and `autoFitColumns` methods have higher priority.
*/
maxResizableWidth: number;
/**
* The title of the column.
*/
title: string;
/**
* The width of the column (in pixels).
*/
set width(value: number);
get width(): number;
/**
* Indicates whether the column will be resized during initialization so that it fits its header and row content.
*/
autoSize: boolean;
/**
* Toggles the locked (frozen) state of the columns ([more information and example]({% slug locked_columns_grid %})).
*
* @default false
*
*/
set locked(value: boolean);
get locked(): boolean;
protected _locked: boolean;
/**
* Determines whether the column will be always visible when scrolling the Grid horizontally.
*
* @default false
*/
sticky: boolean;
/**
* Sets the visibility of the column ([see example](slug:hidden_columns_grid#toc-using-the-built-in-options)).
*
* @default false
*/
hidden: boolean;
/**
* Sets the condition that needs to be satisfied for a column to remain visible ([see example]({% slug styling_responsive_grid %}#toc-columns)).
* If you set the `hidden` property, the behavior of `media` is overridden.
*
* Accepts the device identifiers that are [available in Bootstrap 4](https://v4-alpha.getbootstrap.com/layout/grid/#grid-options)
* ([see example](slug:styling_responsive_grid)):
*/
media: string;
/**
* Specifies if the column can be locked or unlocked from the column menu or by reordering the columns.
* @default true
*/
lockable: boolean;
/**
* Specifies if the column can be stuck or unstuck from the column menu.
* @default true
*/
stickable: boolean;
/**
* Specifies if the column menu will be shown for the column.
* @default true
*/
columnMenu: boolean;
/**
* Specifies if the column will be included in the column-chooser list.
* @default true
*/
includeInChooser: boolean;
/**
* Allows setting the `role` attribute for the table cells (excluding the footer and header ones) of the column.
* @default "gridcell"
*/
tableCellsRole: string;
/**
* Sets the custom styles for the table cells (excluding the footer and header ones) of the column. Under the hood,
* to apply the property, the `style` option uses the
* [NgStyle](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-cells).
*
*/
style: {
[key: string]: string;
};
/**
* Sets the custom styles for the header cell of the column. Under the hood, to apply the property,
* the `headerStyle` option uses the
* [NgStyle](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-header).
*
*/
headerStyle: {
[key: string]: string;
};
/**
* Sets the custom styles for the filter row cell. Under the hood, to apply the property,
* the `filterStyle` option uses the
* [NgStyle](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-filter-row-cells).
*
*/
filterStyle: {
[key: string]: string;
};
/**
* Sets the custom styles for the footer cell of the column. Under the hood, to apply the property,
* the `footerStyle` option uses the
* [NgStyle](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-footer).
*
*/
footerStyle: {
[key: string]: string;
};
/**
* Sets the custom CSS classes to the column cells. Under the hood, to apply the property, the `class` option uses the
* [NgClass](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-cells).
* To customize header and footer column cells, use the [headerClass]({% slug api_grid_columncomponent %}#toc-headerclass)
* and [footerClass]({% slug api_grid_columncomponent %}#toc-footerclass) inputs.
*
*/
cssClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* Sets the custom CSS classes to the column header cell. Under the hood, to apply the property,
* the `headerClass` option uses the
* [NgClass](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-header).
*
*/
headerClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* Sets the custom CSS classes to the filter row cell. Under the hood, to apply the property,
* the `filterClass` option uses the
* [NgClass](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-filter-row-cells).
*
*/
filterClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* Sets the custom CSS classes to the column footer cell. Under the hood, to apply the property,
* the `footerClass` option uses the
* [NgClass](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_grid_columns#toc-customizing-column-footer).
*
*/
footerClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* Defines a function that is used to determine the rowspan of each column cell.
* If set to `true`, a default function is used that spans adjacent cells containing equal values.
* Cells have equal values when their data items' values for the respective field are equal.
*/
set cellRowspan(cellRowspan: CellRowspanFn | boolean);
get cellRowspan(): CellRowspanFn;
/**
* @hidden
*/
headerTemplates: QueryList<HeaderTemplateDirective>;
/**
* @hidden
*/
footerTemplate: FooterTemplateDirective;
/**
* @hidden
*/
columnMenuTemplates: QueryList<ColumnMenuTemplateDirective>;
/**
* @hidden
*/
resizeStartWidth: number;
/**
* @hidden
*/
idService: IdService;
/**
* @hidden
*/
_cellRowspan: CellRowspanFn;
/**
* @hidden
*/
implicitWidth: number;
/**
* @hidden
*/
get level(): number;
/**
* @hidden
*/
get isLocked(): boolean;
protected _width: number;
/**
* @hidden
*/
get colspan(): number;
/**
* @hidden
*/
rowspan(totalColumnLevels: number): number;
/**
* @hidden
*/
get headerTemplateRef(): TemplateRef<any>;
/**
* @hidden
*/
get footerTemplateRef(): TemplateRef<any>;
/**
* @hidden
*/
get columnMenuTemplateRef(): TemplateRef<any>;
/**
* @hidden
*/
get displayTitle(): string;
/**
* @hidden
*/
get isVisible(): boolean;
/**
* @hidden
*/
constructor(parent?: ColumnBase, idService?: IdService);
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnBase, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ColumnBase, "kendo-grid-column-base", never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "maxResizableWidth": { "alias": "maxResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "sticky": { "alias": "sticky"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "required": false; }; "stickable": { "alias": "stickable"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "includeInChooser": { "alias": "includeInChooser"; "required": false; }; "tableCellsRole": { "alias": "tableCellsRole"; "required": false; }; "style": { "alias": "style"; "required": false; }; "headerStyle": { "alias": "headerStyle"; "required": false; }; "filterStyle": { "alias": "filterStyle"; "required": false; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "filterClass": { "alias": "filterClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; "cellRowspan": { "alias": "cellRowspan"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, false, never>;
}