@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.
50 lines (49 loc) • 3.09 kB
JavaScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Directive, TemplateRef, Optional } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Represents the column cell template of the TreeList ([more information and example]({% slug templates_columns_treelist %}#toc-cell-template)).
* Use this directive to customize the content of the cells. To define the cell template, nest an `<ng-template>` tag with the `kendoTreeListCellTemplate` directive inside a `<kendo-treelist-column>` tag.
*
* The template context is set to the current data item and provides the following fields:
* - `columnIndex`—The current column index. Use as an alias for a template variable with `let-columnIndex="columnIndex"`.
* - `column`—The current column instance. Use as an alias for a template variable with `let-column="column"`.
* - `dataItem`—The current data item. Represents the default context for any template variable using `let-x` syntax, for example, `let-dataItem`.
* - `cellContext`—An object for passing context information to built-in directives.
* - `hasChildren`—Specifies if the item has children.
* - `isExpanded`—Specifies if the item is expanded.
* - `level`—The hierarchy level of the item.
* - `loading`—Specifies if the item children are currently loading.
* - `rowIndex`—The current row index. Use it as an alias for a template variable with `let-rowIndex="rowIndex"`.
*
* @example
* ```html
* <kendo-treelist ...>
* <kendo-treelist-column field="ProductName">
* <ng-template kendoTreeListCellTemplate let-dataItem let-rowIndex="rowIndex" let-column="column">
* Data Row: {{rowIndex}}
* </ng-template>
* </kendo-treelist-column>
* </kendo-treelist>
* ```
*/
export class CellTemplateDirective {
templateRef;
constructor(templateRef) {
this.templateRef = templateRef;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CellTemplateDirective, isStandalone: true, selector: "[kendoTreeListCellTemplate]", ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CellTemplateDirective, decorators: [{
type: Directive,
args: [{
selector: '[kendoTreeListCellTemplate]',
standalone: true
}]
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
type: Optional
}] }]; } });