@progress/kendo-angular-treeview 7.0.1 → 7.1.0-dev.202206141206

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.
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { AfterContentInit, ElementRef, NgZone, OnDestroy } from '@angular/core';
6
- import Draggable from '@telerik/kendo-draggable';
6
+ import Draggable from '@progress/kendo-draggable';
7
7
  import { DragClueService } from './drag-clue/drag-clue.service';
8
8
  import { DropHintService } from './drop-hint/drop-hint.service';
9
9
  import { DragClueTemplateDirective } from './drag-clue/drag-clue-template.directive';
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Directive, ContentChild, Input, HostBinding } from '@angular/core';
6
6
  import { hasObservers } from '@progress/kendo-angular-common';
7
- import Draggable from '@telerik/kendo-draggable';
7
+ import Draggable from '@progress/kendo-draggable';
8
8
  import { DragClueService } from './drag-clue/drag-clue.service';
9
9
  import { DropHintService } from './drop-hint/drop-hint.service';
10
10
  import { DragClueTemplateDirective } from './drag-clue/drag-clue-template.directive';
@@ -134,5 +134,6 @@ export class FlatEditingService {
134
134
  }
135
135
  rebindData() {
136
136
  this.flatBinding.nodes = this.flatBinding.originalData;
137
+ this.flatBinding.updateNodes(this.flatBinding.originalData);
137
138
  }
138
139
  }
@@ -48,21 +48,6 @@ export class FlatDataBindingDirective extends FilteringBase {
48
48
  this.originalData = [];
49
49
  this.component.isVisible = (node) => this.visibleNodes.has(node);
50
50
  }
51
- /**
52
- * The nodes which will be displayed by the TreeView.
53
- */
54
- set nodes(values) {
55
- this.originalData = values || [];
56
- if (!isNullOrEmptyString(this.parentIdField)) {
57
- const prop = getter(this.parentIdField);
58
- this.component.nodes = this.originalData.filter(compose(isBlank, prop));
59
- this.filterData = mapToTree(this.component.nodes, this.originalData, this.parentIdField, this.idField);
60
- this.updateVisibleNodes(this.filterData);
61
- }
62
- else {
63
- this.component.nodes = this.originalData.slice(0);
64
- }
65
- }
66
51
  /**
67
52
  * @hidden
68
53
  * A callback which determines whether a TreeView node should be rendered as hidden.
@@ -94,12 +79,31 @@ export class FlatDataBindingDirective extends FilteringBase {
94
79
  ngOnChanges(changes) {
95
80
  if (isChanged('parentIdField', changes, false)) {
96
81
  this.nodes = this.originalData;
82
+ this.updateNodes(this.originalData);
83
+ }
84
+ if (isChanged('nodes', changes, false)) {
85
+ this.updateNodes(changes.nodes.currentValue);
97
86
  }
98
87
  // should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
99
88
  if (anyChanged(['nodes', 'loadOnDemand'], changes) && !this.loadOnDemand && isPresent(this.component.preloadChildNodes)) {
100
89
  this.component.preloadChildNodes();
101
90
  }
102
91
  }
92
+ /**
93
+ * @hidden
94
+ */
95
+ updateNodes(values) {
96
+ this.originalData = values || [];
97
+ if (!isNullOrEmptyString(this.parentIdField)) {
98
+ const prop = getter(this.parentIdField);
99
+ this.component.nodes = this.originalData.filter(compose(isBlank, prop));
100
+ this.filterData = mapToTree(this.component.nodes, this.originalData, this.parentIdField, this.idField);
101
+ this.updateVisibleNodes(this.filterData);
102
+ }
103
+ else {
104
+ this.component.nodes = this.originalData.slice(0);
105
+ }
106
+ }
103
107
  }
104
108
  FlatDataBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FlatDataBindingDirective, deps: [{ token: i1.DataBoundComponent }], target: i0.ɵɵFactoryTarget.Directive });
105
109
  FlatDataBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FlatDataBindingDirective, selector: "[kendoTreeViewFlatDataBinding]", inputs: { nodes: "nodes", parentIdField: "parentIdField", idField: "idField", loadOnDemand: "loadOnDemand", isVisible: "isVisible" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
@@ -56,14 +56,6 @@ export class HierarchyBindingDirective extends FilteringBase {
56
56
  }
57
57
  this._childrenField = value;
58
58
  }
59
- /**
60
- * The nodes which will be displayed by the TreeView.
61
- */
62
- set nodes(values) {
63
- this.originalData = values || [];
64
- this.filterData = mapToWrappers(values, this.childrenField) || [];
65
- this.updateVisibleNodes(this.filterData);
66
- }
67
59
  /**
68
60
  * @hidden
69
61
  * A callback which determines whether a TreeView node should be rendered as hidden.
@@ -97,12 +89,24 @@ export class HierarchyBindingDirective extends FilteringBase {
97
89
  ngOnChanges(changes) {
98
90
  if (isChanged('childrenField', changes, false)) {
99
91
  this.nodes = this.originalData;
92
+ this.updateNodes(this.originalData);
93
+ }
94
+ if (isChanged('nodes', changes, false)) {
95
+ this.updateNodes(changes.nodes.currentValue);
100
96
  }
101
97
  // should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
102
98
  if (anyChanged(['nodes', 'loadOnDemand'], changes) && !this.loadOnDemand && isPresent(this.component.preloadChildNodes)) {
103
99
  this.component.preloadChildNodes();
104
100
  }
105
101
  }
102
+ /**
103
+ * @hidden
104
+ */
105
+ updateNodes(values) {
106
+ this.originalData = values || [];
107
+ this.filterData = mapToWrappers(values, this.childrenField) || [];
108
+ this.updateVisibleNodes(this.filterData);
109
+ }
106
110
  }
107
111
  HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: i1.DataBoundComponent }, { token: i2.DragAndDropDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
108
112
  HierarchyBindingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: { childrenField: "childrenField", nodes: "nodes", isVisible: "isVisible", loadOnDemand: "loadOnDemand" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-treeview',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1651820172,
12
+ publishDate: 1655208382,
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
  };
@@ -44,6 +44,8 @@ export class TreeViewGroupComponent {
44
44
  this.size = 'medium';
45
45
  this.initialNodesLoaded = false;
46
46
  this.loadingMoreNodes = false;
47
+ this.isItemExpandable = (node, index) => this.expandDisabledNodes || !this.isItemDisabled(node, index);
48
+ this.isItemDisabled = (node, index) => this.disabled || this.isDisabled(node, this.nodeIndex(index));
47
49
  this._data = [];
48
50
  this.singleRecordSubscriptions = new Subscription();
49
51
  this.isChecked = () => 'none';
@@ -257,7 +259,7 @@ export class TreeViewGroupComponent {
257
259
  }
258
260
  }
259
261
  TreeViewGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewGroupComponent, deps: [{ token: i1.ExpandStateService }, { token: i2.LoadingNotificationService }, { token: i3.IndexBuilderService }, { token: i4.TreeViewLookupService }, { token: i5.NavigationService }, { token: i6.NodeChildrenService }, { token: i7.DataChangeNotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
260
- TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: { checkboxes: "checkboxes", expandIcons: "expandIcons", disabled: "disabled", selectable: "selectable", touchActions: "touchActions", loadOnDemand: "loadOnDemand", trackBy: "trackBy", nodes: "nodes", textField: "textField", parentDataItem: "parentDataItem", parentIndex: "parentIndex", nodeTemplateRef: "nodeTemplateRef", loadMoreButtonTemplateRef: "loadMoreButtonTemplateRef", loadMoreService: "loadMoreService", size: "size", isChecked: "isChecked", isDisabled: "isDisabled", isExpanded: "isExpanded", isVisible: "isVisible", isSelected: "isSelected", children: "children", hasChildren: "hasChildren" }, host: { properties: { "class.k-treeview-group": "this.kGroupClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
262
+ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: { checkboxes: "checkboxes", expandIcons: "expandIcons", disabled: "disabled", selectable: "selectable", touchActions: "touchActions", loadOnDemand: "loadOnDemand", trackBy: "trackBy", nodes: "nodes", textField: "textField", parentDataItem: "parentDataItem", parentIndex: "parentIndex", nodeTemplateRef: "nodeTemplateRef", loadMoreButtonTemplateRef: "loadMoreButtonTemplateRef", loadMoreService: "loadMoreService", size: "size", expandDisabledNodes: "expandDisabledNodes", isChecked: "isChecked", isDisabled: "isDisabled", isExpanded: "isExpanded", isVisible: "isVisible", isSelected: "isSelected", children: "children", hasChildren: "hasChildren" }, host: { properties: { "class.k-treeview-group": "this.kGroupClass", "attr.role": "this.role" } }, usesOnChanges: true, ngImport: i0, template: `
261
263
  <li
262
264
  *ngFor="let node of data; let index = index; trackBy: trackBy"
263
265
  class="k-treeview-item"
@@ -271,7 +273,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
271
273
  [loadOnDemand]="loadOnDemand"
272
274
  [checkable]="checkboxes"
273
275
  [isChecked]="isChecked(node, nodeIndex(index))"
274
- [isDisabled]="disabled || isDisabled(node, nodeIndex(index))"
276
+ [isDisabled]="isItemDisabled(node, index)"
275
277
  [isVisible]="isVisible(node, nodeIndex(index))"
276
278
  [expandable]="expandIcons && hasChildren(node)"
277
279
  [isExpanded]="isExpanded(node, nodeIndex(index))"
@@ -281,6 +283,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
281
283
  >
282
284
  <div [ngClass]="setItemClasses(data.length, index)">
283
285
  <span
286
+ [class.k-disabled]="!isItemExpandable(node, index)"
284
287
  class="k-treeview-toggle"
285
288
  [kendoTreeViewLoading]="nodeIndex(index)"
286
289
  (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
@@ -295,6 +298,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
295
298
  </span>
296
299
  <kendo-checkbox
297
300
  *ngIf="checkboxes"
301
+ [class.k-disabled]="isItemDisabled(node, index)"
298
302
  [size]="size"
299
303
  [node]="node"
300
304
  [index]="nodeIndex(index)"
@@ -310,6 +314,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
310
314
  [isSelected]="isSelected"
311
315
  class="k-treeview-leaf"
312
316
  [style.touch-action]="touchActions ? '' : 'none'"
317
+ [class.k-disabled]="isItemDisabled(node, index)"
313
318
  >
314
319
  <span class="k-treeview-leaf-text">
315
320
  <ng-container [ngSwitch]="hasTemplate">
@@ -344,7 +349,8 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
344
349
  [hasChildren]="hasChildren"
345
350
  [isChecked]="isChecked"
346
351
  [isDisabled]="isDisabled"
347
- [disabled]="disabled || isDisabled(node, nodeIndex(index))"
352
+ [disabled]="isItemDisabled(node, index)"
353
+ [expandDisabledNodes]="expandDisabledNodes"
348
354
  [isExpanded]="isExpanded"
349
355
  [isSelected]="isSelected"
350
356
  [isVisible]="isVisible"
@@ -401,7 +407,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
401
407
  </span>
402
408
  </div>
403
409
  </li>
404
- `, isInline: true, components: [{ type: i8.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["id", "isChecked", "node", "index", "labelText", "tabindex", "size"], outputs: ["checkStateChange"] }, { type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "isChecked", "isDisabled", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], directives: [{ type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.TreeViewItemDirective, selector: "[kendoTreeViewItem]", inputs: ["dataItem", "index", "parentDataItem", "parentIndex", "role", "loadOnDemand", "checkable", "selectable", "expandable", "isChecked", "isDisabled", "isVisible", "isExpanded", "isSelected"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { type: i12.TreeViewItemContentDirective, selector: "[kendoTreeViewItemContent]", inputs: ["dataItem", "index", "initialSelection", "isSelected"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }], animations: [
410
+ `, isInline: true, components: [{ type: i8.CheckBoxComponent, selector: "kendo-checkbox", inputs: ["id", "isChecked", "node", "index", "labelText", "tabindex", "size"], outputs: ["checkStateChange"] }, { type: TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], directives: [{ type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.TreeViewItemDirective, selector: "[kendoTreeViewItem]", inputs: ["dataItem", "index", "parentDataItem", "parentIndex", "role", "loadOnDemand", "checkable", "selectable", "expandable", "isChecked", "isDisabled", "isVisible", "isExpanded", "isSelected"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { type: i12.TreeViewItemContentDirective, selector: "[kendoTreeViewItemContent]", inputs: ["dataItem", "index", "initialSelection", "isSelected"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }], animations: [
405
411
  trigger('toggle', [
406
412
  transition('void => *', [
407
413
  style({ height: 0 }),
@@ -444,7 +450,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
444
450
  [loadOnDemand]="loadOnDemand"
445
451
  [checkable]="checkboxes"
446
452
  [isChecked]="isChecked(node, nodeIndex(index))"
447
- [isDisabled]="disabled || isDisabled(node, nodeIndex(index))"
453
+ [isDisabled]="isItemDisabled(node, index)"
448
454
  [isVisible]="isVisible(node, nodeIndex(index))"
449
455
  [expandable]="expandIcons && hasChildren(node)"
450
456
  [isExpanded]="isExpanded(node, nodeIndex(index))"
@@ -454,6 +460,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
454
460
  >
455
461
  <div [ngClass]="setItemClasses(data.length, index)">
456
462
  <span
463
+ [class.k-disabled]="!isItemExpandable(node, index)"
457
464
  class="k-treeview-toggle"
458
465
  [kendoTreeViewLoading]="nodeIndex(index)"
459
466
  (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
@@ -468,6 +475,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
468
475
  </span>
469
476
  <kendo-checkbox
470
477
  *ngIf="checkboxes"
478
+ [class.k-disabled]="isItemDisabled(node, index)"
471
479
  [size]="size"
472
480
  [node]="node"
473
481
  [index]="nodeIndex(index)"
@@ -483,6 +491,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
483
491
  [isSelected]="isSelected"
484
492
  class="k-treeview-leaf"
485
493
  [style.touch-action]="touchActions ? '' : 'none'"
494
+ [class.k-disabled]="isItemDisabled(node, index)"
486
495
  >
487
496
  <span class="k-treeview-leaf-text">
488
497
  <ng-container [ngSwitch]="hasTemplate">
@@ -517,7 +526,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
517
526
  [hasChildren]="hasChildren"
518
527
  [isChecked]="isChecked"
519
528
  [isDisabled]="isDisabled"
520
- [disabled]="disabled || isDisabled(node, nodeIndex(index))"
529
+ [disabled]="isItemDisabled(node, index)"
530
+ [expandDisabledNodes]="expandDisabledNodes"
521
531
  [isExpanded]="isExpanded"
522
532
  [isSelected]="isSelected"
523
533
  [isVisible]="isVisible"
@@ -612,6 +622,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
612
622
  type: Input
613
623
  }], size: [{
614
624
  type: Input
625
+ }], expandDisabledNodes: [{
626
+ type: Input
615
627
  }], isChecked: [{
616
628
  type: Input
617
629
  }], isDisabled: [{
@@ -80,17 +80,13 @@ export class TreeViewItemDirective {
80
80
  this.isInitialized = true;
81
81
  this.setAttribute('role', this.role);
82
82
  this.setAriaAttributes();
83
- this.setDisabledClass();
84
83
  this.updateTabIndex();
85
84
  }
86
85
  ngOnChanges(changes) {
87
- const { index, isDisabled } = changes;
86
+ const { index } = changes;
88
87
  if (anyChanged(['index', 'checkable', 'isChecked', 'expandable', 'isExpanded', 'selectable', 'isSelected'], changes)) {
89
88
  this.setAriaAttributes();
90
89
  }
91
- if (isDisabled) {
92
- this.setDisabledClass();
93
- }
94
90
  if (this.loadOnDemand && !this.isButton) {
95
91
  this.moveLookupItem(changes);
96
92
  }
@@ -179,13 +175,6 @@ export class TreeViewItemDirective {
179
175
  this.setAttribute('aria-selected', this.selectable ? this.isSelected.toString() : null);
180
176
  this.setAttribute('aria-checked', this.checkable ? this.ariaChecked : null);
181
177
  }
182
- setDisabledClass() {
183
- this.setClass('k-disabled', this.isDisabled);
184
- }
185
- setClass(className, toggle) {
186
- const action = toggle ? 'addClass' : 'removeClass';
187
- this.renderer[action](this.element.nativeElement, className);
188
- }
189
178
  updateTabIndex() {
190
179
  this.setAttribute('tabIndex', this.isFocusable() ? '0' : '-1');
191
180
  }
@@ -603,7 +603,7 @@ export class TreeViewComponent {
603
603
  }
604
604
  }
605
605
  TreeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ExpandStateService }, { token: i2.NavigationService }, { token: i3.NodeChildrenService }, { token: i4.SelectionService }, { token: i5.TreeViewLookupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i6.DataChangeNotificationService }, { token: i7.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
606
- TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TreeViewComponent, selector: "kendo-treeview", inputs: { filterInputPlaceholder: "filterInputPlaceholder", animate: "animate", nodeTemplateRef: ["nodeTemplate", "nodeTemplateRef"], loadMoreButtonTemplateRef: ["loadMoreButtonTemplate", "loadMoreButtonTemplateRef"], trackBy: "trackBy", nodes: "nodes", textField: "textField", hasChildren: "hasChildren", isChecked: "isChecked", isDisabled: "isDisabled", isExpanded: "isExpanded", isSelected: "isSelected", isVisible: "isVisible", navigable: "navigable", children: "children", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", size: "size" }, outputs: { childrenLoaded: "childrenLoaded", onBlur: "blur", onFocus: "focus", expand: "expand", collapse: "collapse", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", filterStateChange: "filterStateChange", nodeDrop: "nodeDrop", nodeDragEnd: "nodeDragEnd", addItem: "addItem", removeItem: "removeItem", checkedChange: "checkedChange", selectionChange: "selectionChange", filterChange: "filterChange", nodeClick: "nodeClick", nodeDblClick: "nodeDblClick" }, host: { properties: { "class.k-treeview": "this.classNames", "attr.role": "this.role", "attr.dir": "this.direction", "@.disabled": "this.animate" } }, providers: providers, queries: [{ propertyName: "nodeTemplateQuery", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "loadMoreButtonTemplateQuery", first: true, predicate: LoadMoreButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "assetsContainer", first: true, predicate: ["assetsContainer"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoTreeView"], usesOnChanges: true, ngImport: i0, template: `
606
+ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TreeViewComponent, selector: "kendo-treeview", inputs: { filterInputPlaceholder: "filterInputPlaceholder", expandDisabledNodes: "expandDisabledNodes", animate: "animate", nodeTemplateRef: ["nodeTemplate", "nodeTemplateRef"], loadMoreButtonTemplateRef: ["loadMoreButtonTemplate", "loadMoreButtonTemplateRef"], trackBy: "trackBy", nodes: "nodes", textField: "textField", hasChildren: "hasChildren", isChecked: "isChecked", isDisabled: "isDisabled", isExpanded: "isExpanded", isSelected: "isSelected", isVisible: "isVisible", navigable: "navigable", children: "children", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", size: "size" }, outputs: { childrenLoaded: "childrenLoaded", onBlur: "blur", onFocus: "focus", expand: "expand", collapse: "collapse", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", filterStateChange: "filterStateChange", nodeDrop: "nodeDrop", nodeDragEnd: "nodeDragEnd", addItem: "addItem", removeItem: "removeItem", checkedChange: "checkedChange", selectionChange: "selectionChange", filterChange: "filterChange", nodeClick: "nodeClick", nodeDblClick: "nodeDblClick" }, host: { properties: { "class.k-treeview": "this.classNames", "attr.role": "this.role", "attr.dir": "this.direction", "@.disabled": "this.animate" } }, providers: providers, queries: [{ propertyName: "nodeTemplateQuery", first: true, predicate: NodeTemplateDirective, descendants: true }, { propertyName: "loadMoreButtonTemplateQuery", first: true, predicate: LoadMoreButtonTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "assetsContainer", first: true, predicate: ["assetsContainer"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoTreeView"], usesOnChanges: true, ngImport: i0, template: `
607
607
  <span
608
608
  class="k-treeview-filter"
609
609
  *ngIf="filterable"
@@ -642,10 +642,11 @@ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
642
642
  [nodes]="fetchNodes"
643
643
  [loadMoreService]="loadMoreService"
644
644
  [trackBy]="trackBy"
645
+ [expandDisabledNodes]="expandDisabledNodes"
645
646
  >
646
647
  </ul>
647
648
  <ng-container #assetsContainer></ng-container>
648
- `, isInline: true, components: [{ type: i8.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i9.TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "isChecked", "isDisabled", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.Default });
649
+ `, isInline: true, components: [{ type: i8.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i9.TreeViewGroupComponent, selector: "[kendoTreeViewGroup]", inputs: ["checkboxes", "expandIcons", "disabled", "selectable", "touchActions", "loadOnDemand", "trackBy", "nodes", "textField", "parentDataItem", "parentIndex", "nodeTemplateRef", "loadMoreButtonTemplateRef", "loadMoreService", "size", "expandDisabledNodes", "isChecked", "isDisabled", "isExpanded", "isVisible", "isSelected", "children", "hasChildren"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.Default });
649
650
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewComponent, decorators: [{
650
651
  type: Component,
651
652
  args: [{
@@ -692,6 +693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
692
693
  [nodes]="fetchNodes"
693
694
  [loadMoreService]="loadMoreService"
694
695
  [trackBy]="trackBy"
696
+ [expandDisabledNodes]="expandDisabledNodes"
695
697
  >
696
698
  </ul>
697
699
  <ng-container #assetsContainer></ng-container>
@@ -711,6 +713,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
711
713
  args: ['assetsContainer', { read: ViewContainerRef, static: true }]
712
714
  }], filterInputPlaceholder: [{
713
715
  type: Input
716
+ }], expandDisabledNodes: [{
717
+ type: Input
714
718
  }], animate: [{
715
719
  type: Input
716
720
  }, {