UNPKG

@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
/**----------------------------------------------------------------------------------------- * 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>; }