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