UNPKG

@progress/kendo-angular-treeview

Version:
78 lines (77 loc) 3.1 kB
/**----------------------------------------------------------------------------------------- * 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 }] }]; } });