@progress/kendo-angular-treelist
Version:
Kendo UI TreeList for Angular - Display hierarchical data in an Angular tree grid view that supports sorting, filtering, paging, and much more.
229 lines (228 loc) • 8.26 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 { OnChanges, QueryList, TemplateRef } from '@angular/core';
import { ColumnMenuTemplateDirective } from '../column-menu/column-menu-template.directive';
import { OptionChangesService } from '../common/option-changes.service';
import { FooterTemplateDirective } from '../rendering/footer-template.directive';
import { HeaderTemplateDirective } from '../rendering/header/header-template.directive';
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;
/**
* Serves as the base class for column components in the TreeList.
*/
export declare class ColumnBase implements OnChanges {
parent?: ColumnBase;
protected optionChanges?: OptionChangesService;
/**
* @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;
/**
* @hidden
*/
get id(): string;
/**
* Indicates whether the column is resizable.
* @default true
*/
resizable: boolean;
/**
* Indicates whether the column is reorderable.
* @default true
*/
reorderable: boolean;
/**
* Sets the minimum width (in pixels) for resizing the column using the UI.
* @default 10
*/
minResizableWidth: number;
/**
* Sets the title of the column.
*/
title: string;
/**
* Sets the width of the column (in pixels).
*/
set width(value: number);
get width(): number;
/**
* Indicates whether the column is automatically resized during initialization to fit its header and row content.
*/
autoSize: boolean;
/**
* Toggles the locked (frozen) state of the columns ([more information and example](slug:locked_columns_treelist)).
* @default false
*/
set locked(value: boolean);
get locked(): boolean;
protected _locked: boolean;
/**
* Sets the visibility of the column ([see example](slug:hidden_columns_treelist#toc-using-the-built-in-options)).
* @default false
*/
hidden: boolean;
/**
* Sets the condition that must be satisfied for a column to remain visible ([see example](slug:responsive_treelist#toc-columns)).
* If you set the `hidden` property, the behavior of `media` is overridden.
*/
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 menu is shown for the column.
* @default true
*/
columnMenu: boolean;
/**
* Specifies if the column is included in the column-chooser list.
* @default true
*/
includeInChooser: boolean;
/**
* Sets the `role` attribute for the table cells (excluding the footer and header) of the column.
* @default "gridcell"
*/
tableCellsRole: string;
/**
* Sets custom styles for the table cells (excluding the footer and header) of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example](slug:styling_treelist_columns).
*/
style: {
[key: string]: string;
};
/**
* Sets custom styles for the header cell of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example.](slug:styling_treelist_columns)
*/
headerStyle: {
[key: string]: string;
};
/**
* Sets custom styles for the footer cell of the column. Uses the [`NgStyle`](link:site.data.urls.angular['ngstyleapi']) directive. [See example.](slug:styling_treelist_columns)
*/
footerStyle: {
[key: string]: string;
};
/**
* Sets custom CSS classes to the column cells. Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. To customize header and footer column cells, use the [`headerClass`]({% slug api_treelist_columncomponent %}#toc-headerclass) and [`footerClass`]({% slug api_treelist_columncomponent %}#toc-footerclass) inputs.
*/
cssClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* Sets custom CSS classes to the column header cell. Uses the [`NgClass`](link:site.data.urls.angular['ngclassapi']) directive. [See example](slug:styling_treelist_columns).
*/
headerClass: 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_treelist_columns).
*/
footerClass: string | string[] | Set<string> | {
[key: string]: any;
};
/**
* @hidden
*/
headerTemplates: QueryList<HeaderTemplateDirective>;
/**
* @hidden
*/
footerTemplate: FooterTemplateDirective;
/**
* @hidden
*/
columnMenuTemplates: QueryList<ColumnMenuTemplateDirective>;
/**
* @hidden
*/
resizeStartWidth: 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
*/
get isEditable(): boolean;
private _id;
/**
* @hidden
*/
constructor(parent?: ColumnBase, optionChanges?: OptionChangesService);
ngOnChanges(_changes: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnBase, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<ColumnBase, never, never, { "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "minResizableWidth": { "alias": "minResizableWidth"; "required": false; }; "title": { "alias": "title"; "required": false; }; "width": { "alias": "width"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "locked": { "alias": "locked"; "required": false; }; "hidden": { "alias": "hidden"; "required": false; }; "media": { "alias": "media"; "required": false; }; "lockable": { "alias": "lockable"; "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; }; "footerStyle": { "alias": "footerStyle"; "required": false; }; "cssClass": { "alias": "class"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "footerClass": { "alias": "footerClass"; "required": false; }; }, {}, ["footerTemplate", "headerTemplates", "columnMenuTemplates"], never, false, never>;
}