@progress/kendo-angular-treeview
Version:
Kendo UI TreeView for Angular
78 lines (77 loc) • 3.1 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 { Optional, Directive, TemplateRef } from "@angular/core";
import * as i0 from "@angular/core";
/**
* Represents the template for the TreeView nodes ([more information and example]({% slug nodetemplate_treeview %})).
* The template helps to customize the content of the nodes. To define the node template, nest an `<ng-template>`
* tag with the `kendoTreeViewNodeTemplate` directive inside a `<kendo-treeview>` tag.
*
*
* The node data item and its hierarchical index are available as context variables:
*
* - `let-dataItem` (`any`) - available as implicit context variable
* - `let-index="index"` (`string`)
*
*
* @example
* ```ts
*
* import { Component } from '@angular/core';
* @Component({
* selector: 'my-app',
* template: `
* <kendo-treeview
* [nodes]="data"
* kendoTreeViewExpandable
*
* kendoTreeViewHierarchyBinding
* childrenField="items">
* <ng-template kendoTreeViewNodeTemplate let-dataItem let-index="index">
* <span [style.fontWeight]="dataItem.items ? 'bolder': 'normal' ">{{ index }}: {{ dataItem.text }}</span>
* </ng-template>
* </kendo-treeview>
* `
* })
* export class AppComponent {
* public data: any[] = [
* {
* text: "Inbox",
* items: [{ text: "Read Mail" }]
* },
* {
* text: "Drafts"
* },
* {
* text: "Search Folders",
* items: [
* { text: "Categorized Mail" },
* { text: "Large Mail" },
* { text: "Unread Mail"}
* ]
* },
* { text: "Settings" }
* ];
* }
*
* ```
*/
export class NodeTemplateDirective {
templateRef;
constructor(templateRef) {
this.templateRef = templateRef;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NodeTemplateDirective, isStandalone: true, selector: "[kendoTreeViewNodeTemplate]", ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NodeTemplateDirective, decorators: [{
type: Directive,
args: [{
selector: '[kendoTreeViewNodeTemplate]',
standalone: true
}]
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
type: Optional
}] }]; } });