@progress/kendo-angular-treelist 3.1.5 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/cdn/js/kendo-angular-treelist.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/column-menu/column-chooser.component.js +1 -1
  4. package/dist/es/column-menu/column-list.component.js +1 -1
  5. package/dist/es/column-menu/column-menu-item.component.js +1 -1
  6. package/dist/es/data/data.collection.js +1 -0
  7. package/dist/es/dragdrop/draggable-column.directive.js +3 -3
  8. package/dist/es/filtering/cell/filter-cell-operators.component.js +1 -1
  9. package/dist/es/filtering/cell/string-filter-cell.component.js +1 -1
  10. package/dist/es/filtering/menu/boolean-filter-menu.component.js +1 -1
  11. package/dist/es/filtering/menu/filter-menu-container.component.js +1 -1
  12. package/dist/es/filtering/menu/string-filter-menu-input.component.js +1 -1
  13. package/dist/es/navigation/focusable.directive.js +1 -1
  14. package/dist/es/navigation/logical-cell.directive.js +2 -2
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/es/pager/pager-next-buttons.component.js +1 -1
  17. package/dist/es/pager/pager-numeric-buttons.component.js +1 -1
  18. package/dist/es/pager/pager-prev-buttons.component.js +1 -1
  19. package/dist/es/rendering/cell.component.js +1 -1
  20. package/dist/es/rendering/footer-template.directive.js +2 -0
  21. package/dist/es/rendering/header/header.component.js +1 -1
  22. package/dist/es/rendering/table-body.component.js +1 -1
  23. package/dist/es/treelist.component.js +4 -4
  24. package/dist/es2015/binding-directives/data-bound-tree-component.d.ts +1 -1
  25. package/dist/es2015/column-menu/column-chooser.component.js +2 -2
  26. package/dist/es2015/column-menu/column-list.component.js +19 -3
  27. package/dist/es2015/column-menu/column-menu-item.component.js +1 -1
  28. package/dist/es2015/data/data.collection.js +1 -0
  29. package/dist/es2015/dragdrop/draggable-column.directive.js +3 -3
  30. package/dist/es2015/filtering/cell/filter-cell-operators.component.js +3 -3
  31. package/dist/es2015/filtering/cell/string-filter-cell.component.js +1 -1
  32. package/dist/es2015/filtering/menu/boolean-filter-menu.component.js +1 -1
  33. package/dist/es2015/filtering/menu/filter-menu-container.component.js +11 -2
  34. package/dist/es2015/filtering/menu/string-filter-menu-input.component.js +5 -1
  35. package/dist/es2015/index.metadata.json +1 -1
  36. package/dist/es2015/navigation/focusable.directive.d.ts +1 -1
  37. package/dist/es2015/navigation/focusable.directive.js +1 -1
  38. package/dist/es2015/navigation/logical-cell.directive.js +2 -2
  39. package/dist/es2015/package-metadata.js +1 -1
  40. package/dist/es2015/pager/pager-next-buttons.component.js +2 -2
  41. package/dist/es2015/pager/pager-numeric-buttons.component.js +2 -2
  42. package/dist/es2015/pager/pager-prev-buttons.component.js +2 -2
  43. package/dist/es2015/rendering/cell.component.js +7 -3
  44. package/dist/es2015/rendering/footer-template.directive.d.ts +2 -0
  45. package/dist/es2015/rendering/footer-template.directive.js +2 -0
  46. package/dist/es2015/rendering/header/header.component.js +5 -2
  47. package/dist/es2015/rendering/table-body.component.js +7 -6
  48. package/dist/es2015/treelist.component.d.ts +4 -4
  49. package/dist/es2015/treelist.component.js +4 -4
  50. package/dist/fesm2015/index.js +82 -42
  51. package/dist/fesm5/index.js +28 -25
  52. package/dist/npm/column-menu/column-chooser.component.js +1 -1
  53. package/dist/npm/column-menu/column-list.component.js +1 -1
  54. package/dist/npm/column-menu/column-menu-item.component.js +1 -1
  55. package/dist/npm/data/data.collection.js +1 -0
  56. package/dist/npm/dragdrop/draggable-column.directive.js +3 -3
  57. package/dist/npm/filtering/cell/filter-cell-operators.component.js +1 -1
  58. package/dist/npm/filtering/cell/string-filter-cell.component.js +1 -1
  59. package/dist/npm/filtering/menu/boolean-filter-menu.component.js +1 -1
  60. package/dist/npm/filtering/menu/filter-menu-container.component.js +1 -1
  61. package/dist/npm/filtering/menu/string-filter-menu-input.component.js +1 -1
  62. package/dist/npm/navigation/focusable.directive.js +1 -1
  63. package/dist/npm/navigation/logical-cell.directive.js +2 -2
  64. package/dist/npm/package-metadata.js +1 -1
  65. package/dist/npm/pager/pager-next-buttons.component.js +1 -1
  66. package/dist/npm/pager/pager-numeric-buttons.component.js +1 -1
  67. package/dist/npm/pager/pager-prev-buttons.component.js +1 -1
  68. package/dist/npm/rendering/cell.component.js +1 -1
  69. package/dist/npm/rendering/footer-template.directive.js +2 -0
  70. package/dist/npm/rendering/header/header.component.js +1 -1
  71. package/dist/npm/rendering/table-body.component.js +1 -1
  72. package/dist/npm/treelist.component.js +4 -4
  73. package/dist/systemjs/kendo-angular-treelist.js +1 -1
  74. package/package.json +12 -12
@@ -115,7 +115,7 @@ var ColumnChooserComponent = /** @class */ (function () {
115
115
  ColumnChooserComponent = tslib_1.__decorate([
116
116
  Component({
117
117
  selector: 'kendo-treelist-column-chooser',
118
- template: "\n <button #anchor\n type=\"button\"\n (click)=\"toggle(anchor, template)\"\n class=\"k-button k-bare k-button-icon\"\n [attr.title]=\"localization.get('columns')\">\n <span class=\"k-icon k-i-columns\"></span>\n </button>\n <ng-template #template>\n <span class='k-column-chooser-title'>{{ localization.get('columns') }}</span>\n <kendo-treelist-columnlist\n [columns]=\"columns\"\n [applyText]=\"localization.get('columnsApply')\"\n [resetText]=\"localization.get('columnsReset')\"\n [autoSync]=\"autoSync\"\n [allowHideAll]=\"allowHideAll\"\n (apply)=\"onApply($event)\"\n (columnChange)=\"onChange($event)\">\n </kendo-treelist-columnlist>\n </ng-template>\n "
118
+ template: "\n <button #anchor\n type=\"button\"\n (click)=\"toggle(anchor, template)\"\n class=\"k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button\"\n [attr.title]=\"localization.get('columns')\">\n <span class=\"k-button-icon k-icon k-i-columns\"></span>\n </button>\n <ng-template #template>\n <span class='k-column-chooser-title'>{{ localization.get('columns') }}</span>\n <kendo-treelist-columnlist\n [columns]=\"columns\"\n [applyText]=\"localization.get('columnsApply')\"\n [resetText]=\"localization.get('columnsReset')\"\n [autoSync]=\"autoSync\"\n [allowHideAll]=\"allowHideAll\"\n (apply)=\"onApply($event)\"\n (columnChange)=\"onChange($event)\">\n </kendo-treelist-columnlist>\n </ng-template>\n "
119
119
  }),
120
120
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
121
121
  ColumnInfoService,
@@ -185,7 +185,7 @@ var ColumnListComponent = /** @class */ (function () {
185
185
  ColumnListComponent = tslib_1.__decorate([
186
186
  Component({
187
187
  selector: 'kendo-treelist-columnlist',
188
- template: "\n <div class=\"k-column-list\">\n <label *ngFor=\"let column of columns; let index = index;\" class='k-column-list-item'>\n <input class=\"k-checkbox\" type=\"checkbox\" [attr.data-index]=\"index\" [checked]=\"!column.hidden\" [disabled]=\"isDisabled(column)\" /><span class=\"k-checkbox-label\">{{ column.displayTitle }}</span>\n </label>\n </div>\n <div [ngClass]=\"actionsClass\" *ngIf=\"!autoSync\">\n <button type=\"button\" class=\"k-button\" (click)=\"cancelChanges()\">{{ resetText }}</button>\n <button type=\"button\" class=\"k-button k-primary\" (click)=\"applyChanges()\">{{ applyText }}</button>\n </div>\n "
188
+ template: "\n <div class=\"k-column-list\">\n <label *ngFor=\"let column of columns; let index = index;\" class='k-column-list-item'>\n <input\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n type=\"checkbox\"\n [attr.data-index]=\"index\"\n [checked]=\"!column.hidden\"\n [disabled]=\"isDisabled(column)\" />\n <span class=\"k-checkbox-label\">{{ column.displayTitle }}</span>\n </label>\n </div>\n <div [ngClass]=\"actionsClass\" *ngIf=\"!autoSync\">\n <button\n type=\"button\"\n class=\"k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle\"\n (click)=\"cancelChanges()\">\n {{ resetText }}\n </button>\n <button\n type=\"button\"\n class=\"k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle\"\n (click)=\"applyChanges()\">\n {{ applyText }}\n </button>\n </div>\n "
189
189
  }),
190
190
  tslib_1.__metadata("design:paramtypes", [ElementRef, NgZone, Renderer2])
191
191
  ], ColumnListComponent);
@@ -126,7 +126,7 @@ var ColumnMenuItemComponent = /** @class */ (function () {
126
126
  ])
127
127
  ],
128
128
  selector: 'kendo-treelist-columnmenu-item',
129
- template: "\n <div class=\"k-columnmenu-item\" (click)=\"onClick($event)\" [class.k-state-selected]=\"selected\" [class.k-state-disabled]=\"disabled\">\n <span *ngIf=\"icon\" class=\"k-icon\" [ngClass]=\"iconClass\">\n </span>\n {{ text }}\n </div>\n <div *ngIf=\"contentTemplate\" [@state]=\"contentState\" style=\"overflow:hidden;\" class=\"k-columnmenu-item-content\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\">\n </ng-container>\n <div>\n "
129
+ template: "\n <div class=\"k-columnmenu-item\" (click)=\"onClick($event)\" [class.k-selected]=\"selected\" [class.k-disabled]=\"disabled\">\n <span *ngIf=\"icon\" class=\"k-icon\" [ngClass]=\"iconClass\">\n </span>\n {{ text }}\n </div>\n <div *ngIf=\"contentTemplate\" [@state]=\"contentState\" style=\"overflow:hidden;\" class=\"k-columnmenu-item-content\">\n <ng-container [ngTemplateOutlet]=\"contentTemplate.templateRef\">\n </ng-container>\n <div>\n "
130
130
  })
131
131
  ], ColumnMenuItemComponent);
132
132
  return ColumnMenuItemComponent;
@@ -159,6 +159,7 @@ var ViewItemFactory = /** @class */ (function () {
159
159
  items: dataLevel.items,
160
160
  aggregates: dataLevel.aggregates,
161
161
  level: dataLevel.level,
162
+ parentItem: dataLevel.parent.data,
162
163
  parentIndex: dataLevel.parentIndex,
163
164
  rowIndex: this.rowIndex
164
165
  });
@@ -24,9 +24,9 @@ var preventOnDblClick = function (release) { return function (mouseDown) {
24
24
  var ɵ0 = preventOnDblClick;
25
25
  var hasClass = function (className) { return function (el) { return new RegExp("(^| )" + className + "( |$)").test(el.className); }; };
26
26
  var ɵ1 = hasClass;
27
- var isDeleteButton = or(hasClass("k-i-group-delete"), hasClass("k-button-icon"));
28
- var isSortIcon = or(hasClass("k-i-sort-asc-sm"), hasClass("k-i-sort-desc-sm"));
29
- var skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName("label")));
27
+ var isDeleteButton = or(hasClass('k-i-group-delete'), hasClass('k-icon-button'));
28
+ var isSortIcon = or(hasClass('k-i-sort-asc-sm'), hasClass('k-i-sort-desc-sm'));
29
+ var skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName('label')));
30
30
  var elementUnderCursor = function (_a) {
31
31
  var clientX = _a.clientX, clientY = _a.clientY;
32
32
  return document.elementFromPoint(clientX, clientY);
@@ -117,7 +117,7 @@ var FilterCellOperatorsComponent = /** @class */ (function () {
117
117
  FilterCellOperatorsComponent = tslib_1.__decorate([
118
118
  Component({
119
119
  selector: 'kendo-treelist-filter-cell-operators',
120
- template: "\n <kendo-dropdownlist\n #dropdown\n *ngIf=\"showOperators\"\n kendoTreeListFocusable\n [data]=\"operators\"\n class=\"k-dropdown-operator\"\n (valueChange)=\"onChange($event)\"\n [value]=\"value\"\n iconClass=\"k-i-filter\"\n [valuePrimitive]=\"true\"\n textField=\"text\"\n [popupSettings]=\"{ width: 'auto' }\"\n valueField=\"value\"\n (keydown)=\"dropdownKeydown($event)\">\n </kendo-dropdownlist>\n <button type=\"button\"\n kendoTreeListFocusable\n [ngClass]=\"{'k-clear-button-visible': showButton}\"\n class=\"k-button k-button-icon\"\n [title]=\"clearText\"\n (click)=\"clearClick()\"\n (keydown)=\"clearKeydown($event)\">\n <span class=\"k-icon k-i-filter-clear\"></span>\n </button>\n "
120
+ template: "\n <kendo-dropdownlist\n #dropdown\n *ngIf=\"showOperators\"\n kendoTreeListFocusable\n [data]=\"operators\"\n class=\"k-dropdown-operator\"\n (valueChange)=\"onChange($event)\"\n [value]=\"value\"\n iconClass=\"k-i-filter\"\n [valuePrimitive]=\"true\"\n textField=\"text\"\n [popupSettings]=\"{ width: 'auto' }\"\n valueField=\"value\"\n (keydown)=\"dropdownKeydown($event)\">\n </kendo-dropdownlist>\n <button type=\"button\"\n kendoTreeListFocusable\n *ngIf=\"showButton\"\n class=\"k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle k-icon-button\"\n [title]=\"clearText\"\n (click)=\"clearClick()\"\n (keydown)=\"clearKeydown($event)\">\n <span class=\"k-icon k-button-icon k-i-filter-clear\"></span>\n </button>\n "
121
121
  }),
122
122
  tslib_1.__metadata("design:paramtypes", [LocalizationService])
123
123
  ], FilterCellOperatorsComponent);
@@ -54,7 +54,7 @@ var StringFilterCellComponent = /** @class */ (function (_super) {
54
54
  StringFilterCellComponent = tslib_1.__decorate([
55
55
  Component({
56
56
  selector: 'kendo-treelist-string-filter-cell',
57
- template: "\n <kendo-treelist-filter-wrapper-cell\n [column]=\"column\"\n [filter]=\"filter\"\n [operators]=\"operators\"\n [defaultOperator]=\"operator\"\n [showOperators]=\"showOperators\">\n <input\n class=\"k-textbox\"\n kendoTreeListFocusable\n kendoFilterInput\n [filterDelay]=\"filterDelay\"\n [ngModel]=\"currentFilter?.value\" />\n </kendo-treelist-filter-wrapper-cell>\n "
57
+ template: "\n <kendo-treelist-filter-wrapper-cell\n [column]=\"column\"\n [filter]=\"filter\"\n [operators]=\"operators\"\n [defaultOperator]=\"operator\"\n [showOperators]=\"showOperators\">\n <input\n kendoTextBox\n kendoTreeListFocusable\n kendoFilterInput\n [filterDelay]=\"filterDelay\"\n [ngModel]=\"currentFilter?.value\" />\n </kendo-treelist-filter-wrapper-cell>\n "
58
58
  }),
59
59
  tslib_1.__metadata("design:paramtypes", [FilterService,
60
60
  LocalizationService])
@@ -88,7 +88,7 @@ var BooleanFilterMenuComponent = /** @class */ (function (_super) {
88
88
  BooleanFilterMenuComponent = tslib_1.__decorate([
89
89
  Component({
90
90
  selector: 'kendo-treelist-boolean-filter-menu',
91
- template: "\n <ul class=\"k-radio-list k-reset\">\n <li *ngFor=\"let item of items\">\n <input type=\"radio\"\n [name]=\"idPrefix\"\n class=\"k-radio\"\n [checked]=\"isSelected(item.value)\"\n [attr.id]=\"radioId(item.value)\"\n (change)=\"onChange(item.value)\"\n />\n <label class=\"k-radio-label\" [attr.for]=\"radioId(item.value)\">{{item.text}}</label>\n </li>\n </ul>\n "
91
+ template: "\n <ul class=\"k-radio-list k-reset\">\n <li *ngFor=\"let item of items\">\n <input type=\"radio\"\n kendoRadioButton\n [name]=\"idPrefix\"\n [checked]=\"isSelected(item.value)\"\n [attr.id]=\"radioId(item.value)\"\n (change)=\"onChange(item.value)\"\n />\n <label class=\"k-radio-label\" [attr.for]=\"radioId(item.value)\">{{item.text}}</label>\n </li>\n </ul>\n "
92
92
  }),
93
93
  tslib_1.__metadata("design:paramtypes", [LocalizationService])
94
94
  ], BooleanFilterMenuComponent);
@@ -183,7 +183,7 @@ var FilterMenuContainerComponent = /** @class */ (function () {
183
183
  Component({
184
184
  providers: [FilterService],
185
185
  selector: 'kendo-treelist-filter-menu-container',
186
- template: "\n <form (submit)=\"submit()\" (reset)=\"reset()\"\n class=\"k-filter-menu k-group k-reset k-state-border-up\">\n <div class=\"k-filter-menu-container\">\n <ng-container [ngSwitch]=\"hasTemplate\">\n <ng-container *ngSwitchCase=\"false\">\n <ng-container\n kendoFilterMenuHost\n [filterService]=\"childService\"\n [column]=\"column\"\n [filter]=\"childFilter\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <ng-template\n *ngIf=\"column.filterMenuTemplateRef\"\n [ngTemplateOutlet]=\"column.filterMenuTemplateRef\"\n [ngTemplateOutletContext]=\"templateContext\"\n >\n </ng-template>\n </ng-container>\n </ng-container>\n <div [ngClass]=\"actionsClass\">\n <button type=\"reset\" class=\"k-button\">{{clearText}}</button>\n <button type=\"submit\" class=\"k-button k-primary\" [disabled]=\"disabled\">{{filterText}}</button>\n </div>\n </div>\n </form>\n "
186
+ template: "\n <form (submit)=\"submit()\" (reset)=\"reset()\"\n class=\"k-filter-menu k-group k-reset k-state-border-up\">\n <div class=\"k-filter-menu-container\">\n <ng-container [ngSwitch]=\"hasTemplate\">\n <ng-container *ngSwitchCase=\"false\">\n <ng-container\n kendoFilterMenuHost\n [filterService]=\"childService\"\n [column]=\"column\"\n [filter]=\"childFilter\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <ng-template\n *ngIf=\"column.filterMenuTemplateRef\"\n [ngTemplateOutlet]=\"column.filterMenuTemplateRef\"\n [ngTemplateOutletContext]=\"templateContext\"\n >\n </ng-template>\n </ng-container>\n </ng-container>\n <div [ngClass]=\"actionsClass\">\n <button\n type=\"reset\"\n class=\"k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle\">\n {{clearText}}\n </button>\n <button\n type=\"submit\"\n class=\"k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle\"\n [disabled]=\"disabled\">\n {{filterText}}\n </button>\n </div>\n </div>\n </form>\n "
187
187
  }),
188
188
  tslib_1.__param(0, SkipSelf()),
189
189
  tslib_1.__metadata("design:paramtypes", [FilterService,
@@ -40,7 +40,7 @@ var StringFilterMenuInputComponent = /** @class */ (function () {
40
40
  StringFilterMenuInputComponent = tslib_1.__decorate([
41
41
  Component({
42
42
  selector: 'kendo-treelist-string-filter-menu-input',
43
- template: "\n <kendo-treelist-filter-menu-input-wrapper\n [column]=\"column\"\n [filter]=\"filter\"\n [operators]=\"operators\"\n [defaultOperator]=\"operator\"\n [currentFilter]=\"currentFilter\"\n [filterService]=\"filterService\"\n >\n <input class=\"k-textbox\" kendoFilterInput [filterDelay]=\"0\" [ngModel]=\"currentFilter?.value\" />\n </kendo-treelist-filter-menu-input-wrapper>\n "
43
+ template: "\n <kendo-treelist-filter-menu-input-wrapper\n [column]=\"column\"\n [filter]=\"filter\"\n [operators]=\"operators\"\n [defaultOperator]=\"operator\"\n [currentFilter]=\"currentFilter\"\n [filterService]=\"filterService\"\n >\n <input\n kendoTextBox\n kendoFilterInput\n [filterDelay]=\"0\"\n [ngModel]=\"currentFilter?.value\" />\n </kendo-treelist-filter-menu-input-wrapper>\n "
44
44
  })
45
45
  ], StringFilterMenuInputComponent);
46
46
  return StringFilterMenuInputComponent;
@@ -15,7 +15,7 @@ import { FocusGroup } from './focus-group';
15
15
  * ```ts-no-run
16
16
  * <kendo-treelist-column>
17
17
  * <ng-template kendoTreeListCellTemplate let-cellContext="cellContext">
18
- * <input type="button" class="k-button" [kendoTreeListFocusable]="cellContext" value="Focus me!" />
18
+ * <input type="button" kendoButton [kendoTreeListFocusable]="cellContext" value="Focus me!" />
19
19
  * </ng-template>
20
20
  * </kendo-treelist-column>
21
21
  * ```
@@ -106,11 +106,11 @@ var LogicalCellDirective = /** @class */ (function () {
106
106
  return _this.isFocused() && el.focus();
107
107
  });
108
108
  }
109
- this.renderer.addClass(el, 'k-state-focused');
109
+ this.renderer.addClass(el, 'k-focus');
110
110
  }
111
111
  }
112
112
  else {
113
- this.renderer.removeClass(el, 'k-state-focused');
113
+ this.renderer.removeClass(el, 'k-focus');
114
114
  }
115
115
  };
116
116
  LogicalCellDirective.prototype.microtask = function (callback) {
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-treelist',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1639058908,
12
+ publishDate: 1642597633,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -41,7 +41,7 @@ var PagerNextButtonsComponent = /** @class */ (function (_super) {
41
41
  Component({
42
42
  changeDetection: ChangeDetectionStrategy.OnPush,
43
43
  selector: 'kendo-treelist-pager-next-buttons',
44
- template: "\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerNextPage')\"\n (click)=\"currentPage !== totalPages ? changePage(currentPage) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-state-disabled': disabled,\n '': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerNextPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-arrow-e': true\n }\">\n </span>\n </a>\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerLastPage')\"\n (click)=\"currentPage !== totalPages ? changePage(totalPages-1) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-state-disabled': disabled,\n 'k-pager-last': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerLastPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-seek-e': true\n }\">\n </span>\n </a>\n "
44
+ template: "\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerNextPage')\"\n (click)=\"currentPage !== totalPages ? changePage(currentPage) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-disabled': disabled,\n '': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerNextPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-arrow-e': true\n }\">\n </span>\n </a>\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerLastPage')\"\n (click)=\"currentPage !== totalPages ? changePage(totalPages-1) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-disabled': disabled,\n 'k-pager-last': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerLastPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-seek-e': true\n }\">\n </span>\n </a>\n "
45
45
  }),
46
46
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
47
47
  PagerContextService,
@@ -109,7 +109,7 @@ var PagerNumericButtonsComponent = /** @class */ (function (_super) {
109
109
  Component({
110
110
  changeDetection: ChangeDetectionStrategy.OnPush,
111
111
  selector: 'kendo-treelist-pager-numeric-buttons',
112
- template: "\n <select\n class=\"k-dropdown\"\n [value]=\"(currentPage).toString()\"\n (change)=\"onSelectChange($event)\">\n <option *ngIf=\"start > 1\"\n class=\"k-link\"\n value=\"previousButtons\"\n [attr.aria-label]=\"pageLabel(start - 1)\">...\n </option>\n <option *ngFor=\"let num of buttons\"\n [value]=\"num.toString()\"\n [attr.aria-label]=\"pageLabel(num)\"\n [attr.aria-current]=\"currentPage == num ? 'page' : undefined\"\n [ngClass]=\"{'k-link': true, 'k-state-selected':currentPage == num}\">\n {{num}}\n </option>\n <option *ngIf=\"end < totalPages\"\n value=\"nextButtons\"\n class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\">...\n </option>\n </select>\n <ul [ngClass]=\"{'k-pager-numbers': true, 'k-reset': true}\">\n <li *ngIf=\"start > 1\">\n <a class=\"k-link\"\n [attr.aria-label]=\"pageLabel(start - 1)\"\n href=\"#\"\n tabindex=\"-1\"\n (click)=\"changePage(start - 2)\">...</a>\n </li>\n <li *ngFor=\"let num of buttons\">\n <a href=\"#\"\n [attr.aria-label]=\"pageLabel(num)\"\n tabindex=\"-1\"\n [ngClass]=\"{'k-link': true, 'k-state-selected':currentPage == num}\"\n (click)=\"changePage(num - 1)\">\n {{num}}\n </a>\n </li>\n <li *ngIf=\"end < totalPages\">\n <a class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\"\n href=\"#\"\n tabindex=\"-1\"\n (click)=\"changePage(end)\">...</a>\n </li>\n </ul>\n "
112
+ template: "\n <select\n class=\"k-dropdown\"\n [value]=\"(currentPage).toString()\"\n (change)=\"onSelectChange($event)\">\n <option *ngIf=\"start > 1\"\n class=\"k-link\"\n value=\"previousButtons\"\n [attr.aria-label]=\"pageLabel(start - 1)\">...\n </option>\n <option *ngFor=\"let num of buttons\"\n [value]=\"num.toString()\"\n [attr.aria-label]=\"pageLabel(num)\"\n [attr.aria-current]=\"currentPage == num ? 'page' : undefined\"\n [ngClass]=\"{'k-link': true, 'k-selected':currentPage == num}\">\n {{num}}\n </option>\n <option *ngIf=\"end < totalPages\"\n value=\"nextButtons\"\n class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\">...\n </option>\n </select>\n <ul [ngClass]=\"{'k-pager-numbers': true, 'k-reset': true}\">\n <li *ngIf=\"start > 1\">\n <a class=\"k-link\"\n [attr.aria-label]=\"pageLabel(start - 1)\"\n href=\"#\"\n tabindex=\"-1\"\n (click)=\"changePage(start - 2)\">...</a>\n </li>\n <li *ngFor=\"let num of buttons\">\n <a href=\"#\"\n [attr.aria-label]=\"pageLabel(num)\"\n tabindex=\"-1\"\n [ngClass]=\"{'k-link': true, 'k-selected':currentPage == num}\"\n (click)=\"changePage(num - 1)\">\n {{num}}\n </a>\n </li>\n <li *ngIf=\"end < totalPages\">\n <a class=\"k-link\"\n [attr.aria-label]=\"pageLabel(end + 1)\"\n href=\"#\"\n tabindex=\"-1\"\n (click)=\"changePage(end)\">...</a>\n </li>\n </ul>\n "
113
113
  }),
114
114
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
115
115
  ChangeDetectorRef,
@@ -41,7 +41,7 @@ var PagerPrevButtonsComponent = /** @class */ (function (_super) {
41
41
  Component({
42
42
  changeDetection: ChangeDetectionStrategy.OnPush,
43
43
  selector: 'kendo-treelist-pager-prev-buttons',
44
- template: "\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerFirstPage')\"\n (click)=\"currentPage !== 1 ? changePage(0) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-state-disabled': disabled,\n 'k-pager-first': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerFirstPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-seek-w': true\n }\">\n </span>\n </a>\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerPreviousPage')\"\n (click)=\"currentPage !== 1 ? changePage(currentPage-2) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-state-disabled': disabled,\n '': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerPreviousPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-arrow-w': true\n }\">\n </span>\n </a>\n "
44
+ template: "\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerFirstPage')\"\n (click)=\"currentPage !== 1 ? changePage(0) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-disabled': disabled,\n 'k-pager-first': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerFirstPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-seek-w': true\n }\">\n </span>\n </a>\n <a href=\"#\"\n tabindex=\"-1\"\n [title]=\"textFor('pagerPreviousPage')\"\n (click)=\"currentPage !== 1 ? changePage(currentPage-2) : false\"\n [ngClass]=\"{\n 'k-link': true,\n 'k-pager-nav': true,\n 'k-disabled': disabled,\n '': true\n }\">\n <span [attr.aria-label]=\"textFor('pagerPreviousPage')\"\n [ngClass]=\"{\n 'k-icon':true,\n 'k-i-arrow-w': true\n }\">\n </span>\n </a>\n "
45
45
  }),
46
46
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
47
47
  PagerContextService,
@@ -211,7 +211,7 @@ var CellComponent = /** @class */ (function () {
211
211
  CellComponent = tslib_1.__decorate([
212
212
  Component({
213
213
  selector: '[kendoTreeListCell]',
214
- template: "\n <ng-container [ngSwitch]=\"isEdited\">\n <ng-container *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"column.expandable\">\n <span class=\"k-icon k-i-none\" *ngFor=\"let item of level | levelItems : hasChildren && expandIcons\"></span>\n <span class=\"k-icon\" *ngIf=\"hasChildren && expandIcons\"\n [ngClass]=\"{ 'k-i-collapse': isExpanded && !loading, 'k-i-expand': !isExpanded && !loading, 'k-i-loading': loading }\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"column.templateRef\"\n [ngTemplateOutlet]=\"column.templateRef\"\n [ngTemplateOutletContext]=\"templateContext\">\n </ng-container>\n <ng-container *ngIf=\"isSpanColumn\">\n <ng-container *ngFor=\"let childColumn of childColumns\">\n {{ dataItem | valueOf: childColumn.field: childColumn.format}}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isBoundColumn\">{{ dataItem | valueOf: column.field: column.format}}</ng-container>\n <ng-template [ngIf]=\"column.isCheckboxColumn && !isNew\">\n <input type=\"checkbox\" kendoTreeListFocusable class=\"k-checkbox\" [checked]=\"selected\" />\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <ng-container\n *ngIf=\"column.editTemplateRef\"\n [ngTemplateOutlet]=\"column.editTemplateRef\"\n [ngTemplateOutletContext]=\"editTemplateContext\">\n </ng-container>\n <ng-container [ngSwitch]=\"column.editor\" *ngIf=\"!column.editTemplateRef\">\n <kendo-numerictextbox\n *ngSwitchCase=\"'numeric'\"\n [format]=\"format\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n ></kendo-numerictextbox>\n\n <kendo-datepicker\n *ngSwitchCase=\"'date'\"\n [format]=\"format\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n ></kendo-datepicker>\n\n <input\n *ngSwitchCase=\"'boolean'\"\n type=\"checkbox\"\n class=\"k-checkbox\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n />\n\n <input\n *ngSwitchDefault\n type=\"text\"\n class=\"k-textbox\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n />\n </ng-container>\n </ng-container>\n </ng-container>\n "
214
+ template: "\n <ng-container [ngSwitch]=\"isEdited\">\n <ng-container *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"column.expandable\">\n <span class=\"k-icon k-i-none\" *ngFor=\"let item of level | levelItems : hasChildren && expandIcons\"></span>\n <span class=\"k-icon\" *ngIf=\"hasChildren && expandIcons\"\n [ngClass]=\"{ 'k-i-collapse': isExpanded && !loading, 'k-i-expand': !isExpanded && !loading, 'k-i-loading': loading }\">\n </span>\n </ng-container>\n <ng-container *ngIf=\"column.templateRef\"\n [ngTemplateOutlet]=\"column.templateRef\"\n [ngTemplateOutletContext]=\"templateContext\">\n </ng-container>\n <ng-container *ngIf=\"isSpanColumn\">\n <ng-container *ngFor=\"let childColumn of childColumns\">\n {{ dataItem | valueOf: childColumn.field: childColumn.format}}\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isBoundColumn\">{{ dataItem | valueOf: column.field: column.format}}</ng-container>\n <ng-template [ngIf]=\"column.isCheckboxColumn && !isNew\">\n <input\n type=\"checkbox\"\n kendoTreeListFocusable\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n [checked]=\"selected\" />\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <ng-container\n *ngIf=\"column.editTemplateRef\"\n [ngTemplateOutlet]=\"column.editTemplateRef\"\n [ngTemplateOutletContext]=\"editTemplateContext\">\n </ng-container>\n <ng-container [ngSwitch]=\"column.editor\" *ngIf=\"!column.editTemplateRef\">\n <kendo-numerictextbox\n *ngSwitchCase=\"'numeric'\"\n [format]=\"format\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n ></kendo-numerictextbox>\n\n <kendo-datepicker\n *ngSwitchCase=\"'date'\"\n [format]=\"format\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n ></kendo-datepicker>\n\n <input\n *ngSwitchCase=\"'boolean'\"\n type=\"checkbox\"\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n />\n\n <input\n *ngSwitchDefault\n type=\"text\"\n class=\"k-textbox k-input k-rounded-md\"\n [formControl]=\"formGroup.get(column.field)\"\n kendoTreeListFocusable\n />\n </ng-container>\n </ng-container>\n </ng-container>\n "
215
215
  }),
216
216
  tslib_1.__metadata("design:paramtypes", [EditService,
217
217
  FocusGroup])
@@ -16,6 +16,8 @@ import { Directive, TemplateRef, Optional } from '@angular/core';
16
16
  * * `column`&mdash;Defines an instance of the [`ColumnComponent`]({% slug api_treelist_columncomponent %}) option.
17
17
  * * `columnIndex`&mdash;Defines the current column index.
18
18
  * * `field`&mdash;The name of the column field, if set.
19
+ * * `items`&mdash;The data items on this level.
20
+ * * `parentItem`&mdash;The parent data item; `null` for root level items.
19
21
  *
20
22
  *
21
23
  * {% meta height:500 %}
@@ -486,7 +486,7 @@ var HeaderComponent = /** @class */ (function () {
486
486
  HeaderComponent = tslib_1.__decorate([
487
487
  Component({
488
488
  selector: '[kendoTreeListHeader]',
489
- template: "\n <tr *ngFor=\"let i of columnLevels; let levelIndex = index\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"levelIndex\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template ngFor let-column [ngForOf]=\"columnsForLevel(levelIndex)\" [ngForTrackBy]=\"trackByIndex\" let-columnIndex=\"index\" let-last=\"last\">\n <th *ngIf=\"!isColumnGroupComponent(column)\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [colSpan]=\"column.colspan\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n role=\"columnheader\"\n aria-selected=\"false\"\n [attr.aria-sort]=\"sortState(column)\"\n (keydown)=\"onHeaderKeydown(column, $event)\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n field: column.field,\n type: 'column',\n column: column,\n hint: column.title || column.field,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-filterable]=\"(showFilterMenu && isFilterable(column)) || showColumnMenu(column)\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <ng-template [ngIf]=\"!isSortable(column)\">\n <kendo-treelist-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\">\n </kendo-treelist-filter-menu>\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\">\n </kendo-treelist-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isSortable(column)\">\n <span class=\"k-cell-inner\">\n <a #link href=\"#\" tabindex=\"-1\" class=\"k-link\" (click)=\"sortColumn(column, $event, link)\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">\n <span class=\"k-column-title\">{{column.displayTitle}}</span>\n </ng-template>\n <span [attr.aria-label]=\"sortableLabel\" [ngClass]=\"sortIcon(column.field)\"></span>\n <span *ngIf=\"showSortNumbering(column)\" class=\"k-sort-order\">{{sortOrder(column.field)}}</span>\n </a>\n <span role=\"status\"\n class=\"k-sort-status\"\n style=\"position: absolute; left: -10000px;\"\n [innerHtml]=\"sortStatus(column)\">\n </span>\n <kendo-treelist-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\">\n </kendo-treelist-filter-menu>\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\">\n </kendo-treelist-column-menu>\n </span>\n </ng-template>\n <ng-container *ngIf=\"renderSelectAll(column)\">\n <input type=\"checkbox\" class=\"k-checkbox\" kendoTreeListFocusable\n (click)=\"selectAllClick($event)\" />\n </ng-container>\n <span kendoTreeListColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n <th *ngIf=\"isColumnGroupComponent(column)\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n [colSpan]=\"column.colspan\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n type: 'columnGroup',\n column: column,\n hint: column.title,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-filterable]=\"showColumnMenu(column)\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\">\n </kendo-treelist-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: lockedColumnsCount + columnIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n <span kendoTreeListColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n </ng-template>\n </tr>\n <tr *ngIf=\"showFilterRow\"\n kendoTreeListFilterRow\n [columns]=\"leafColumns\"\n [filter]=\"filter\"\n [lockedColumnsCount]=\"lockedColumnsCount\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"totalColumnLevels + 1\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n >\n </tr>\n "
489
+ template: "\n <tr *ngFor=\"let i of columnLevels; let levelIndex = index\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"levelIndex\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n <ng-template ngFor let-column [ngForOf]=\"columnsForLevel(levelIndex)\" [ngForTrackBy]=\"trackByIndex\" let-columnIndex=\"index\" let-last=\"last\">\n <th *ngIf=\"!isColumnGroupComponent(column)\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [colSpan]=\"column.colspan\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n role=\"columnheader\"\n aria-selected=\"false\"\n [attr.aria-sort]=\"sortState(column)\"\n (keydown)=\"onHeaderKeydown(column, $event)\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n field: column.field,\n type: 'column',\n column: column,\n hint: column.title || column.field,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-filterable]=\"(showFilterMenu && isFilterable(column)) || showColumnMenu(column)\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <ng-template [ngIf]=\"!isSortable(column)\">\n <kendo-treelist-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\">\n </kendo-treelist-filter-menu>\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\">\n </kendo-treelist-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n </ng-template>\n <ng-template [ngIf]=\"isSortable(column)\">\n <span class=\"k-cell-inner\">\n <a #link href=\"#\" tabindex=\"-1\" class=\"k-link\" (click)=\"sortColumn(column, $event, link)\">\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: column.leafIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">\n <span class=\"k-column-title\">{{column.displayTitle}}</span>\n </ng-template>\n <span [attr.aria-label]=\"sortableLabel\" [ngClass]=\"sortIcon(column.field)\"></span>\n <span *ngIf=\"showSortNumbering(column)\" class=\"k-sort-order\">{{sortOrder(column.field)}}</span>\n </a>\n <span role=\"status\"\n class=\"k-sort-status\"\n style=\"position: absolute; left: -10000px;\"\n [innerHtml]=\"sortStatus(column)\">\n </span>\n <kendo-treelist-filter-menu\n *ngIf=\"showFilterMenu && isFilterable(column)\"\n [column]=\"column\"\n [filter]=\"filter\">\n </kendo-treelist-filter-menu>\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\"\n [sort]=\"sort\"\n [filter]=\"filter\"\n [sortable]=\"sortable\">\n </kendo-treelist-column-menu>\n </span>\n </ng-template>\n <ng-container *ngIf=\"renderSelectAll(column)\">\n <input\n type=\"checkbox\"\n class=\"k-checkbox k-checkbox-md k-rounded-md\"\n kendoTreeListFocusable\n (click)=\"selectAllClick($event)\" />\n </ng-container>\n <span kendoTreeListColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n <th *ngIf=\"isColumnGroupComponent(column)\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"levelIndex\"\n [logicalColIndex]=\"logicalColumnIndex(column)\"\n [rowSpan]=\"column.rowspan(totalColumnLevels)\"\n [colSpan]=\"column.colspan\"\n kendoDropTarget\n kendoDraggable\n kendoDraggableColumn\n [enableDrag]=\"shouldActivate(column)\"\n [context]=\"{\n type: 'columnGroup',\n column: column,\n hint: column.title,\n lastColumn: last && columnIndex === 0\n }\"\n class=\"k-header\"\n [class.k-first]=\"isFirstOnRow(column, columnIndex)\"\n [class.k-filterable]=\"showColumnMenu(column)\"\n [ngClass]=\"column.headerClass\"\n [ngStyle]=\"column.headerStyle\"\n [attr.rowspan]=\"column.rowspan(totalColumnLevels)\"\n [attr.colspan]=\"column.colspan\">\n <kendo-treelist-column-menu *ngIf=\"showColumnMenu(column)\"\n [standalone]=\"false\"\n [settings]=\"columnMenu\"\n [column]=\"column\"\n [columnMenuTemplate]=\"columnMenuTemplate\">\n </kendo-treelist-column-menu>\n <ng-template\n [templateContext]=\"{\n templateRef: column.headerTemplateRef,\n columnIndex: lockedColumnsCount + columnIndex,\n column: column,\n $implicit: column\n }\">\n </ng-template>\n <ng-template [ngIf]=\"!column.headerTemplateRef\">{{column.displayTitle}}</ng-template>\n <span kendoTreeListColumnHandle\n kendoDraggable\n class=\"k-column-resizer\"\n *ngIf=\"resizable\"\n [column]=\"column\"\n [columns]=\"columns\">\n </span>\n </th>\n </ng-template>\n </tr>\n <tr *ngIf=\"showFilterRow\"\n kendoTreeListFilterRow\n [columns]=\"leafColumns\"\n [filter]=\"filter\"\n [lockedColumnsCount]=\"lockedColumnsCount\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"totalColumnLevels + 1\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n >\n </tr>\n "
490
490
  }),
491
491
  tslib_1.__metadata("design:paramtypes", [SinglePopupService,
492
492
  DragHintService,
@@ -383,7 +383,7 @@ var TableBodyComponent = /** @class */ (function () {
383
383
  TableBodyComponent = tslib_1.__decorate([
384
384
  Component({
385
385
  selector: '[kendoTreeListTableBody]',
386
- template: "\n <tr *ngIf=\"!view || view.data?.length === 0 || view.data == null\" class=\"k-grid-norecords\">\n <td [attr.colspan]=\"colSpan\">\n <ng-container *ngIf=\"noRecordsTemplate?.templateRef\" [ngTemplateOutlet]=\"noRecordsTemplate.templateRef\">\n </ng-container>\n <ng-container *ngIf=\"!noRecordsTemplate?.templateRef\">\n {{noRecordsText}}\n </ng-container>\n </td>\n </tr>\n <ng-container *ngFor=\"let item of view?.data;let rowIndex = index;trackBy: trackByWrapper;\">\n <tr *ngIf=\"item.type === 'data'\"\n kendoTreeListLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n [isNew]=\"item.isNew\"\n [ngClass]=\"rowClass({ dataItem: item.data, index: item.index })\"\n [class.k-alt]=\"isOdd(item)\"\n [class.k-grid-edit-row]=\"isEditingRow(item)\"\n [class.k-grid-add-row]=\"item.isNew\"\n [class.k-state-selected]=\"item.selected\"\n [attr.data-treelist-view-index]=\"rowIndex\">\n\n <td kendoTreeListCell\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [column]=\"column\"\n [viewItem]=\"item\"\n [dataItem]=\"item.data\"\n [level]=\"item.level\"\n [hasChildren]=\"item.hasChildren\"\n [isExpanded]=\"item.expanded\"\n [loading]=\"item.loading\"\n [isNew]=\"item.isNew\"\n [selected]=\"item.selected\"\n [expandIcons]=\"expandIcons\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [dataRowIndex]=\"item.index\"\n [column]=\"column\"\n [colIndex]=\"columnIndex\"\n [colSpan]=\"column.colspan\"\n [expandable]=\"column.expandable\"\n role=\"gridcell\"\n [attr.aria-expanded]=\"ariaExpanded(item, column)\"\n [attr.aria-selected]=\"ariaSelected(item, column, lockedColumnsCount + columnIndex)\"\n [ngClass]=\"column.cssClass\"\n [class.k-grid-edit-cell]=\"isEditingCell(item, column)\"\n [class.k-state-selected]=\"isCellSelected(item.data, column, lockedColumnsCount + columnIndex)\"\n [ngStyle]=\"column.style\"\n [attr.colspan]=\"column.colspan\"\n *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\">\n </td>\n </tr>\n <tr *ngIf=\"item.type === 'footer' && hasFooter\"\n class=\"k-footer\"\n [attr.data-treelist-view-index]=\"rowIndex\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n\n <td kendoTreeListLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [column]=\"column\"\n [colIndex]=\"columnIndex\"\n [ngClass]=\"column.footerClass\"\n [ngStyle]=\"column.footerStyle\"\n *ngFor=\"let column of footerColumns; let columnIndex = index; trackBy: trackByColumns;\">\n <ng-container *ngIf=\"column.expandable\">\n <span class=\"k-icon k-i-none\" *ngFor=\"let item of item.level | levelItems\"></span>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"column.footerTemplateRef\"\n [ngTemplateOutletContext]=\"{\n items: item.items,\n field: column.field,\n column: column,\n columnIndex: columnIndex,\n aggregates: item.aggregates,\n $implicit: item.aggregates\n }\">\n </ng-container>\n </td>\n </tr>\n </ng-container>\n "
386
+ template: "\n <tr *ngIf=\"!view || view.data?.length === 0 || view.data == null\" class=\"k-grid-norecords\">\n <td [attr.colspan]=\"colSpan\">\n <ng-container *ngIf=\"noRecordsTemplate?.templateRef\" [ngTemplateOutlet]=\"noRecordsTemplate.templateRef\">\n </ng-container>\n <ng-container *ngIf=\"!noRecordsTemplate?.templateRef\">\n {{noRecordsText}}\n </ng-container>\n </td>\n </tr>\n <ng-container *ngFor=\"let item of view?.data;let rowIndex = index;trackBy: trackByWrapper;\">\n <tr *ngIf=\"item.type === 'data'\"\n kendoTreeListLogicalRow\n [dataRowIndex]=\"item.index\"\n [dataItem]=\"item.data\"\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\"\n [isNew]=\"item.isNew\"\n [ngClass]=\"rowClass({ dataItem: item.data, index: item.index })\"\n [class.k-alt]=\"isOdd(item)\"\n [class.k-grid-edit-row]=\"isEditingRow(item)\"\n [class.k-grid-add-row]=\"item.isNew\"\n [class.k-selected]=\"item.selected\"\n [attr.data-treelist-view-index]=\"rowIndex\">\n\n <td kendoTreeListCell\n [columnIndex]=\"lockedColumnsCount + columnIndex\"\n [column]=\"column\"\n [viewItem]=\"item\"\n [dataItem]=\"item.data\"\n [level]=\"item.level\"\n [hasChildren]=\"item.hasChildren\"\n [isExpanded]=\"item.expanded\"\n [loading]=\"item.loading\"\n [isNew]=\"item.isNew\"\n [selected]=\"item.selected\"\n [expandIcons]=\"expandIcons\"\n kendoTreeListLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [dataRowIndex]=\"item.index\"\n [column]=\"column\"\n [colIndex]=\"columnIndex\"\n [colSpan]=\"column.colspan\"\n [expandable]=\"column.expandable\"\n role=\"gridcell\"\n [attr.aria-expanded]=\"ariaExpanded(item, column)\"\n [attr.aria-selected]=\"ariaSelected(item, column, lockedColumnsCount + columnIndex)\"\n [ngClass]=\"column.cssClass\"\n [class.k-grid-edit-cell]=\"isEditingCell(item, column)\"\n [class.k-selected]=\"isCellSelected(item.data, column, lockedColumnsCount + columnIndex)\"\n [ngStyle]=\"column.style\"\n [attr.colspan]=\"column.colspan\"\n *ngFor=\"let column of columns; let columnIndex = index; trackBy: trackByColumns;\">\n </td>\n </tr>\n <tr *ngIf=\"item.type === 'footer' && hasFooter\"\n class=\"k-footer\"\n [attr.data-treelist-view-index]=\"rowIndex\"\n kendoTreeListLogicalRow\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalSlaveRow]=\"lockedColumnsCount > 0\"\n [logicalCellsCount]=\"columns.length\"\n [logicalSlaveCellsCount]=\"unlockedColumnsCount\">\n\n <td kendoTreeListLogicalCell\n [logicalRowIndex]=\"logicalRowIndex(item.rowIndex)\"\n [logicalColIndex]=\"logicalColIndex(column)\"\n [column]=\"column\"\n [colIndex]=\"columnIndex\"\n [ngClass]=\"column.footerClass\"\n [ngStyle]=\"column.footerStyle\"\n *ngFor=\"let column of footerColumns; let columnIndex = index; trackBy: trackByColumns;\">\n <ng-container *ngIf=\"column.expandable\">\n <span class=\"k-icon k-i-none\" *ngFor=\"let item of item.level | levelItems\"></span>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"column.footerTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.aggregates,\n aggregates: item.aggregates,\n column: column,\n columnIndex: columnIndex,\n field: column.field,\n items: item.items,\n parentItem: item.parentItem\n }\">\n </ng-container>\n </td>\n </tr>\n </ng-container>\n "
387
387
  }),
388
388
  tslib_1.__metadata("design:paramtypes", [ChangeNotificationService,
389
389
  EditService,
@@ -1282,7 +1282,7 @@ var TreeListComponent = /** @class */ (function () {
1282
1282
  * [resizable]="true"
1283
1283
  * style="height: 300px">
1284
1284
  * <ng-template kendoTreeListToolbarTemplate>
1285
- * <button class="k-button" (click)="treelist.autoFitColumn(groupColumn)">
1285
+ * <button kendoButton (click)="treelist.autoFitColumn(groupColumn)">
1286
1286
  * Auto-fit the group column
1287
1287
  * </button>
1288
1288
  * </ng-template>
@@ -1348,10 +1348,10 @@ var TreeListComponent = /** @class */ (function () {
1348
1348
  * [resizable]="true"
1349
1349
  * style="height: 300px">
1350
1350
  * <ng-template kendoTreeListToolbarTemplate>
1351
- * <button class="k-button" (click)="treelist.autoFitColumns([firstColumn, lastColumn])">
1351
+ * <button kendoButton (click)="treelist.autoFitColumns([firstColumn, lastColumn])">
1352
1352
  * Auto-fit the first and last column
1353
1353
  * </button>
1354
- * <button class="k-button" (click)="treelist.autoFitColumns()">
1354
+ * <button kendoButton (click)="treelist.autoFitColumns()">
1355
1355
  * Auto-fit all columns
1356
1356
  * </button>
1357
1357
  * </ng-template>
@@ -1535,7 +1535,7 @@ var TreeListComponent = /** @class */ (function () {
1535
1535
  * [reorderable]="true"
1536
1536
  * style="height: 300px">
1537
1537
  * <ng-template kendoTreeListToolbarTemplate>
1538
- * <button class="k-button"
1538
+ * <button kendoButton
1539
1539
  * (click)="treelist.reorderColumn(groupColumn, 2, { before: true })">
1540
1540
  * Move the group column before the last one.
1541
1541
  * </button>
@@ -23,7 +23,7 @@ export declare abstract class DataBoundTreeComponent {
23
23
  /**
24
24
  * Gets or sets the callback function that retrieves the child items for a particular item.
25
25
  */
26
- abstract fetchChildren: (dataItem: any) => Observable<any[]>;
26
+ abstract fetchChildren: (dataItem: any) => Observable<any[]> | any[];
27
27
  /**
28
28
  * Defines the descriptors by which the data will be sorted.
29
29
  */
@@ -112,9 +112,9 @@ ColumnChooserComponent = tslib_1.__decorate([
112
112
  <button #anchor
113
113
  type="button"
114
114
  (click)="toggle(anchor, template)"
115
- class="k-button k-bare k-button-icon"
115
+ class="k-button k-button-flat-base k-button-flat k-icon-button k-button-md k-rounded-md k-button-rectangle k-icon-button"
116
116
  [attr.title]="localization.get('columns')">
117
- <span class="k-icon k-i-columns"></span>
117
+ <span class="k-button-icon k-icon k-i-columns"></span>
118
118
  </button>
119
119
  <ng-template #template>
120
120
  <span class='k-column-chooser-title'>{{ localization.get('columns') }}</span>
@@ -178,12 +178,28 @@ ColumnListComponent = tslib_1.__decorate([
178
178
  template: `
179
179
  <div class="k-column-list">
180
180
  <label *ngFor="let column of columns; let index = index;" class='k-column-list-item'>
181
- <input class="k-checkbox" type="checkbox" [attr.data-index]="index" [checked]="!column.hidden" [disabled]="isDisabled(column)" /><span class="k-checkbox-label">{{ column.displayTitle }}</span>
181
+ <input
182
+ class="k-checkbox k-checkbox-md k-rounded-md"
183
+ type="checkbox"
184
+ [attr.data-index]="index"
185
+ [checked]="!column.hidden"
186
+ [disabled]="isDisabled(column)" />
187
+ <span class="k-checkbox-label">{{ column.displayTitle }}</span>
182
188
  </label>
183
189
  </div>
184
190
  <div [ngClass]="actionsClass" *ngIf="!autoSync">
185
- <button type="button" class="k-button" (click)="cancelChanges()">{{ resetText }}</button>
186
- <button type="button" class="k-button k-primary" (click)="applyChanges()">{{ applyText }}</button>
191
+ <button
192
+ type="button"
193
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle"
194
+ (click)="cancelChanges()">
195
+ {{ resetText }}
196
+ </button>
197
+ <button
198
+ type="button"
199
+ class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
200
+ (click)="applyChanges()">
201
+ {{ applyText }}
202
+ </button>
187
203
  </div>
188
204
  `
189
205
  }),
@@ -135,7 +135,7 @@ ColumnMenuItemComponent = tslib_1.__decorate([
135
135
  ],
136
136
  selector: 'kendo-treelist-columnmenu-item',
137
137
  template: `
138
- <div class="k-columnmenu-item" (click)="onClick($event)" [class.k-state-selected]="selected" [class.k-state-disabled]="disabled">
138
+ <div class="k-columnmenu-item" (click)="onClick($event)" [class.k-selected]="selected" [class.k-disabled]="disabled">
139
139
  <span *ngIf="icon" class="k-icon" [ngClass]="iconClass">
140
140
  </span>
141
141
  {{ text }}
@@ -149,6 +149,7 @@ export class ViewItemFactory {
149
149
  items: dataLevel.items,
150
150
  aggregates: dataLevel.aggregates,
151
151
  level: dataLevel.level,
152
+ parentItem: dataLevel.parent.data,
152
153
  parentIndex: dataLevel.parentIndex,
153
154
  rowIndex: this.rowIndex
154
155
  });
@@ -22,9 +22,9 @@ const preventOnDblClick = release => mouseDown => of(mouseDown).pipe(delay(150),
22
22
  const ɵ0 = preventOnDblClick;
23
23
  const hasClass = className => el => new RegExp(`(^| )${className}( |$)`).test(el.className);
24
24
  const ɵ1 = hasClass;
25
- const isDeleteButton = or(hasClass("k-i-group-delete"), hasClass("k-button-icon"));
26
- const isSortIcon = or(hasClass("k-i-sort-asc-sm"), hasClass("k-i-sort-desc-sm"));
27
- const skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName("label")));
25
+ const isDeleteButton = or(hasClass('k-i-group-delete'), hasClass('k-icon-button'));
26
+ const isSortIcon = or(hasClass('k-i-sort-asc-sm'), hasClass('k-i-sort-desc-sm'));
27
+ const skipButtons = and(not(isDeleteButton), not(isSortIcon), not(isFocusableWithTabKey), not(matchesNodeName('label')));
28
28
  const elementUnderCursor = ({ clientX, clientY }) => document.elementFromPoint(clientX, clientY);
29
29
  const ɵ2 = elementUnderCursor;
30
30
  const hideThenShow = (element, cont) => {
@@ -131,12 +131,12 @@ FilterCellOperatorsComponent = tslib_1.__decorate([
131
131
  </kendo-dropdownlist>
132
132
  <button type="button"
133
133
  kendoTreeListFocusable
134
- [ngClass]="{'k-clear-button-visible': showButton}"
135
- class="k-button k-button-icon"
134
+ *ngIf="showButton"
135
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle k-icon-button"
136
136
  [title]="clearText"
137
137
  (click)="clearClick()"
138
138
  (keydown)="clearKeydown($event)">
139
- <span class="k-icon k-i-filter-clear"></span>
139
+ <span class="k-icon k-button-icon k-i-filter-clear"></span>
140
140
  </button>
141
141
  `
142
142
  }),
@@ -61,7 +61,7 @@ StringFilterCellComponent = tslib_1.__decorate([
61
61
  [defaultOperator]="operator"
62
62
  [showOperators]="showOperators">
63
63
  <input
64
- class="k-textbox"
64
+ kendoTextBox
65
65
  kendoTreeListFocusable
66
66
  kendoFilterInput
67
67
  [filterDelay]="filterDelay"
@@ -84,8 +84,8 @@ BooleanFilterMenuComponent = tslib_1.__decorate([
84
84
  <ul class="k-radio-list k-reset">
85
85
  <li *ngFor="let item of items">
86
86
  <input type="radio"
87
+ kendoRadioButton
87
88
  [name]="idPrefix"
88
- class="k-radio"
89
89
  [checked]="isSelected(item.value)"
90
90
  [attr.id]="radioId(item.value)"
91
91
  (change)="onChange(item.value)"
@@ -174,8 +174,17 @@ FilterMenuContainerComponent = tslib_1.__decorate([
174
174
  </ng-container>
175
175
  </ng-container>
176
176
  <div [ngClass]="actionsClass">
177
- <button type="reset" class="k-button">{{clearText}}</button>
178
- <button type="submit" class="k-button k-primary" [disabled]="disabled">{{filterText}}</button>
177
+ <button
178
+ type="reset"
179
+ class="k-button k-button-solid-base k-button-solid k-button-md k-rounded-md k-button-rectangle">
180
+ {{clearText}}
181
+ </button>
182
+ <button
183
+ type="submit"
184
+ class="k-button k-button-solid-primary k-button-solid k-button-md k-rounded-md k-button-rectangle"
185
+ [disabled]="disabled">
186
+ {{filterText}}
187
+ </button>
179
188
  </div>
180
189
  </div>
181
190
  </form>
@@ -53,7 +53,11 @@ StringFilterMenuInputComponent = tslib_1.__decorate([
53
53
  [currentFilter]="currentFilter"
54
54
  [filterService]="filterService"
55
55
  >
56
- <input class="k-textbox" kendoFilterInput [filterDelay]="0" [ngModel]="currentFilter?.value" />
56
+ <input
57
+ kendoTextBox
58
+ kendoFilterInput
59
+ [filterDelay]="0"
60
+ [ngModel]="currentFilter?.value" />
57
61
  </kendo-treelist-filter-menu-input-wrapper>
58
62
  `
59
63
  })