@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.
@@ -16,7 +16,7 @@ import { trigger, transition, style, animate } from '@angular/animations';
16
16
  import { filter, tap, switchMap, delay, takeUntil, catchError, finalize, take, map } from 'rxjs/operators';
17
17
  import * as i9 from '@angular/common';
18
18
  import { CommonModule } from '@angular/common';
19
- import Draggable from '@telerik/kendo-draggable';
19
+ import Draggable from '@progress/kendo-draggable';
20
20
 
21
21
  /**
22
22
  * @hidden
@@ -25,7 +25,7 @@ const packageMetadata = {
25
25
  name: '@progress/kendo-angular-treeview',
26
26
  productName: 'Kendo UI for Angular',
27
27
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
28
- publishDate: 1651820172,
28
+ publishDate: 1655208382,
29
29
  version: '',
30
30
  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'
31
31
  };
@@ -1224,17 +1224,13 @@ class TreeViewItemDirective {
1224
1224
  this.isInitialized = true;
1225
1225
  this.setAttribute('role', this.role);
1226
1226
  this.setAriaAttributes();
1227
- this.setDisabledClass();
1228
1227
  this.updateTabIndex();
1229
1228
  }
1230
1229
  ngOnChanges(changes) {
1231
- const { index, isDisabled } = changes;
1230
+ const { index } = changes;
1232
1231
  if (anyChanged(['index', 'checkable', 'isChecked', 'expandable', 'isExpanded', 'selectable', 'isSelected'], changes)) {
1233
1232
  this.setAriaAttributes();
1234
1233
  }
1235
- if (isDisabled) {
1236
- this.setDisabledClass();
1237
- }
1238
1234
  if (this.loadOnDemand && !this.isButton) {
1239
1235
  this.moveLookupItem(changes);
1240
1236
  }
@@ -1323,13 +1319,6 @@ class TreeViewItemDirective {
1323
1319
  this.setAttribute('aria-selected', this.selectable ? this.isSelected.toString() : null);
1324
1320
  this.setAttribute('aria-checked', this.checkable ? this.ariaChecked : null);
1325
1321
  }
1326
- setDisabledClass() {
1327
- this.setClass('k-disabled', this.isDisabled);
1328
- }
1329
- setClass(className, toggle) {
1330
- const action = toggle ? 'addClass' : 'removeClass';
1331
- this.renderer[action](this.element.nativeElement, className);
1332
- }
1333
1322
  updateTabIndex() {
1334
1323
  this.setAttribute('tabIndex', this.isFocusable() ? '0' : '-1');
1335
1324
  }
@@ -1510,6 +1499,8 @@ class TreeViewGroupComponent {
1510
1499
  this.size = 'medium';
1511
1500
  this.initialNodesLoaded = false;
1512
1501
  this.loadingMoreNodes = false;
1502
+ this.isItemExpandable = (node, index) => this.expandDisabledNodes || !this.isItemDisabled(node, index);
1503
+ this.isItemDisabled = (node, index) => this.disabled || this.isDisabled(node, this.nodeIndex(index));
1513
1504
  this._data = [];
1514
1505
  this.singleRecordSubscriptions = new Subscription();
1515
1506
  this.isChecked = () => 'none';
@@ -1723,7 +1714,7 @@ class TreeViewGroupComponent {
1723
1714
  }
1724
1715
  }
1725
1716
  TreeViewGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewGroupComponent, deps: [{ token: ExpandStateService }, { token: LoadingNotificationService }, { token: IndexBuilderService }, { token: TreeViewLookupService }, { token: NavigationService }, { token: NodeChildrenService }, { token: DataChangeNotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1726
- 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: `
1717
+ 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: `
1727
1718
  <li
1728
1719
  *ngFor="let node of data; let index = index; trackBy: trackBy"
1729
1720
  class="k-treeview-item"
@@ -1737,7 +1728,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1737
1728
  [loadOnDemand]="loadOnDemand"
1738
1729
  [checkable]="checkboxes"
1739
1730
  [isChecked]="isChecked(node, nodeIndex(index))"
1740
- [isDisabled]="disabled || isDisabled(node, nodeIndex(index))"
1731
+ [isDisabled]="isItemDisabled(node, index)"
1741
1732
  [isVisible]="isVisible(node, nodeIndex(index))"
1742
1733
  [expandable]="expandIcons && hasChildren(node)"
1743
1734
  [isExpanded]="isExpanded(node, nodeIndex(index))"
@@ -1747,6 +1738,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1747
1738
  >
1748
1739
  <div [ngClass]="setItemClasses(data.length, index)">
1749
1740
  <span
1741
+ [class.k-disabled]="!isItemExpandable(node, index)"
1750
1742
  class="k-treeview-toggle"
1751
1743
  [kendoTreeViewLoading]="nodeIndex(index)"
1752
1744
  (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
@@ -1761,6 +1753,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1761
1753
  </span>
1762
1754
  <kendo-checkbox
1763
1755
  *ngIf="checkboxes"
1756
+ [class.k-disabled]="isItemDisabled(node, index)"
1764
1757
  [size]="size"
1765
1758
  [node]="node"
1766
1759
  [index]="nodeIndex(index)"
@@ -1776,6 +1769,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1776
1769
  [isSelected]="isSelected"
1777
1770
  class="k-treeview-leaf"
1778
1771
  [style.touch-action]="touchActions ? '' : 'none'"
1772
+ [class.k-disabled]="isItemDisabled(node, index)"
1779
1773
  >
1780
1774
  <span class="k-treeview-leaf-text">
1781
1775
  <ng-container [ngSwitch]="hasTemplate">
@@ -1810,7 +1804,8 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1810
1804
  [hasChildren]="hasChildren"
1811
1805
  [isChecked]="isChecked"
1812
1806
  [isDisabled]="isDisabled"
1813
- [disabled]="disabled || isDisabled(node, nodeIndex(index))"
1807
+ [disabled]="isItemDisabled(node, index)"
1808
+ [expandDisabledNodes]="expandDisabledNodes"
1814
1809
  [isExpanded]="isExpanded"
1815
1810
  [isSelected]="isSelected"
1816
1811
  [isVisible]="isVisible"
@@ -1867,7 +1862,7 @@ TreeViewGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1867
1862
  </span>
1868
1863
  </div>
1869
1864
  </li>
1870
- `, isInline: true, components: [{ type: 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: 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: LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { type: 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: [
1865
+ `, isInline: true, components: [{ type: 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: 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: LoadingIndicatorDirective, selector: "[kendoTreeViewLoading]", inputs: ["kendoTreeViewLoading"] }, { type: 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: [
1871
1866
  trigger('toggle', [
1872
1867
  transition('void => *', [
1873
1868
  style({ height: 0 }),
@@ -1910,7 +1905,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1910
1905
  [loadOnDemand]="loadOnDemand"
1911
1906
  [checkable]="checkboxes"
1912
1907
  [isChecked]="isChecked(node, nodeIndex(index))"
1913
- [isDisabled]="disabled || isDisabled(node, nodeIndex(index))"
1908
+ [isDisabled]="isItemDisabled(node, index)"
1914
1909
  [isVisible]="isVisible(node, nodeIndex(index))"
1915
1910
  [expandable]="expandIcons && hasChildren(node)"
1916
1911
  [isExpanded]="isExpanded(node, nodeIndex(index))"
@@ -1920,6 +1915,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1920
1915
  >
1921
1916
  <div [ngClass]="setItemClasses(data.length, index)">
1922
1917
  <span
1918
+ [class.k-disabled]="!isItemExpandable(node, index)"
1923
1919
  class="k-treeview-toggle"
1924
1920
  [kendoTreeViewLoading]="nodeIndex(index)"
1925
1921
  (click)="expandNode(nodeIndex(index), node, !isExpanded(node, nodeIndex(index)))"
@@ -1934,6 +1930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1934
1930
  </span>
1935
1931
  <kendo-checkbox
1936
1932
  *ngIf="checkboxes"
1933
+ [class.k-disabled]="isItemDisabled(node, index)"
1937
1934
  [size]="size"
1938
1935
  [node]="node"
1939
1936
  [index]="nodeIndex(index)"
@@ -1949,6 +1946,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1949
1946
  [isSelected]="isSelected"
1950
1947
  class="k-treeview-leaf"
1951
1948
  [style.touch-action]="touchActions ? '' : 'none'"
1949
+ [class.k-disabled]="isItemDisabled(node, index)"
1952
1950
  >
1953
1951
  <span class="k-treeview-leaf-text">
1954
1952
  <ng-container [ngSwitch]="hasTemplate">
@@ -1983,7 +1981,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1983
1981
  [hasChildren]="hasChildren"
1984
1982
  [isChecked]="isChecked"
1985
1983
  [isDisabled]="isDisabled"
1986
- [disabled]="disabled || isDisabled(node, nodeIndex(index))"
1984
+ [disabled]="isItemDisabled(node, index)"
1985
+ [expandDisabledNodes]="expandDisabledNodes"
1987
1986
  [isExpanded]="isExpanded"
1988
1987
  [isSelected]="isSelected"
1989
1988
  [isVisible]="isVisible"
@@ -2078,6 +2077,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2078
2077
  type: Input
2079
2078
  }], size: [{
2080
2079
  type: Input
2080
+ }], expandDisabledNodes: [{
2081
+ type: Input
2081
2082
  }], isChecked: [{
2082
2083
  type: Input
2083
2084
  }], isDisabled: [{
@@ -2664,7 +2665,7 @@ class TreeViewComponent {
2664
2665
  }
2665
2666
  }
2666
2667
  TreeViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: ExpandStateService }, { token: NavigationService }, { token: NodeChildrenService }, { token: SelectionService }, { token: TreeViewLookupService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: DataChangeNotificationService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2667
- 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: `
2668
+ 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: `
2668
2669
  <span
2669
2670
  class="k-treeview-filter"
2670
2671
  *ngIf="filterable"
@@ -2703,10 +2704,11 @@ TreeViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
2703
2704
  [nodes]="fetchNodes"
2704
2705
  [loadMoreService]="loadMoreService"
2705
2706
  [trackBy]="trackBy"
2707
+ [expandDisabledNodes]="expandDisabledNodes"
2706
2708
  >
2707
2709
  </ul>
2708
2710
  <ng-container #assetsContainer></ng-container>
2709
- `, 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: 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.Default });
2711
+ `, 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: 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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.Default });
2710
2712
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TreeViewComponent, decorators: [{
2711
2713
  type: Component,
2712
2714
  args: [{
@@ -2753,6 +2755,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2753
2755
  [nodes]="fetchNodes"
2754
2756
  [loadMoreService]="loadMoreService"
2755
2757
  [trackBy]="trackBy"
2758
+ [expandDisabledNodes]="expandDisabledNodes"
2756
2759
  >
2757
2760
  </ul>
2758
2761
  <ng-container #assetsContainer></ng-container>
@@ -2772,6 +2775,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2772
2775
  args: ['assetsContainer', { read: ViewContainerRef, static: true }]
2773
2776
  }], filterInputPlaceholder: [{
2774
2777
  type: Input
2778
+ }], expandDisabledNodes: [{
2779
+ type: Input
2775
2780
  }], animate: [{
2776
2781
  type: Input
2777
2782
  }, {
@@ -4746,14 +4751,6 @@ class HierarchyBindingDirective extends FilteringBase {
4746
4751
  }
4747
4752
  this._childrenField = value;
4748
4753
  }
4749
- /**
4750
- * The nodes which will be displayed by the TreeView.
4751
- */
4752
- set nodes(values) {
4753
- this.originalData = values || [];
4754
- this.filterData = mapToWrappers(values, this.childrenField) || [];
4755
- this.updateVisibleNodes(this.filterData);
4756
- }
4757
4754
  /**
4758
4755
  * @hidden
4759
4756
  * A callback which determines whether a TreeView node should be rendered as hidden.
@@ -4787,12 +4784,24 @@ class HierarchyBindingDirective extends FilteringBase {
4787
4784
  ngOnChanges(changes) {
4788
4785
  if (isChanged('childrenField', changes, false)) {
4789
4786
  this.nodes = this.originalData;
4787
+ this.updateNodes(this.originalData);
4788
+ }
4789
+ if (isChanged('nodes', changes, false)) {
4790
+ this.updateNodes(changes.nodes.currentValue);
4790
4791
  }
4791
4792
  // should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
4792
4793
  if (anyChanged(['nodes', 'loadOnDemand'], changes) && !this.loadOnDemand && isPresent(this.component.preloadChildNodes)) {
4793
4794
  this.component.preloadChildNodes();
4794
4795
  }
4795
4796
  }
4797
+ /**
4798
+ * @hidden
4799
+ */
4800
+ updateNodes(values) {
4801
+ this.originalData = values || [];
4802
+ this.filterData = mapToWrappers(values, this.childrenField) || [];
4803
+ this.updateVisibleNodes(this.filterData);
4804
+ }
4796
4805
  }
4797
4806
  HierarchyBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HierarchyBindingDirective, deps: [{ token: DataBoundComponent }, { token: DragAndDropDirective, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
4798
4807
  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 });
@@ -4945,6 +4954,7 @@ class FlatEditingService {
4945
4954
  }
4946
4955
  rebindData() {
4947
4956
  this.flatBinding.nodes = this.flatBinding.originalData;
4957
+ this.flatBinding.updateNodes(this.flatBinding.originalData);
4948
4958
  }
4949
4959
  }
4950
4960
 
@@ -4983,21 +4993,6 @@ class FlatDataBindingDirective extends FilteringBase {
4983
4993
  this.originalData = [];
4984
4994
  this.component.isVisible = (node) => this.visibleNodes.has(node);
4985
4995
  }
4986
- /**
4987
- * The nodes which will be displayed by the TreeView.
4988
- */
4989
- set nodes(values) {
4990
- this.originalData = values || [];
4991
- if (!isNullOrEmptyString(this.parentIdField)) {
4992
- const prop = getter(this.parentIdField);
4993
- this.component.nodes = this.originalData.filter(compose(isBlank, prop));
4994
- this.filterData = mapToTree(this.component.nodes, this.originalData, this.parentIdField, this.idField);
4995
- this.updateVisibleNodes(this.filterData);
4996
- }
4997
- else {
4998
- this.component.nodes = this.originalData.slice(0);
4999
- }
5000
- }
5001
4996
  /**
5002
4997
  * @hidden
5003
4998
  * A callback which determines whether a TreeView node should be rendered as hidden.
@@ -5029,12 +5024,31 @@ class FlatDataBindingDirective extends FilteringBase {
5029
5024
  ngOnChanges(changes) {
5030
5025
  if (isChanged('parentIdField', changes, false)) {
5031
5026
  this.nodes = this.originalData;
5027
+ this.updateNodes(this.originalData);
5028
+ }
5029
+ if (isChanged('nodes', changes, false)) {
5030
+ this.updateNodes(changes.nodes.currentValue);
5032
5031
  }
5033
5032
  // should react to changes.loadOnDemand as well - should preload the data or clear the already cached items
5034
5033
  if (anyChanged(['nodes', 'loadOnDemand'], changes) && !this.loadOnDemand && isPresent(this.component.preloadChildNodes)) {
5035
5034
  this.component.preloadChildNodes();
5036
5035
  }
5037
5036
  }
5037
+ /**
5038
+ * @hidden
5039
+ */
5040
+ updateNodes(values) {
5041
+ this.originalData = values || [];
5042
+ if (!isNullOrEmptyString(this.parentIdField)) {
5043
+ const prop = getter(this.parentIdField);
5044
+ this.component.nodes = this.originalData.filter(compose(isBlank, prop));
5045
+ this.filterData = mapToTree(this.component.nodes, this.originalData, this.parentIdField, this.idField);
5046
+ this.updateVisibleNodes(this.filterData);
5047
+ }
5048
+ else {
5049
+ this.component.nodes = this.originalData.slice(0);
5050
+ }
5051
+ }
5038
5052
  }
5039
5053
  FlatDataBindingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FlatDataBindingDirective, deps: [{ token: DataBoundComponent }], target: i0.ɵɵFactoryTarget.Directive });
5040
5054
  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 });
@@ -14,7 +14,7 @@ export declare class FlatDataBindingDirective extends FilteringBase implements O
14
14
  /**
15
15
  * The nodes which will be displayed by the TreeView.
16
16
  */
17
- set nodes(values: any[]);
17
+ nodes: any[];
18
18
  /**
19
19
  * Represents the parent field whose value will be matched with the parent node.
20
20
  */
@@ -45,6 +45,10 @@ export declare class FlatDataBindingDirective extends FilteringBase implements O
45
45
  * @hidden
46
46
  */
47
47
  ngOnChanges(changes: SimpleChanges): void;
48
+ /**
49
+ * @hidden
50
+ */
51
+ updateNodes(values: any[]): void;
48
52
  static ɵfac: i0.ɵɵFactoryDeclaration<FlatDataBindingDirective, never>;
49
53
  static ɵdir: i0.ɵɵDirectiveDeclaration<FlatDataBindingDirective, "[kendoTreeViewFlatDataBinding]", never, { "nodes": "nodes"; "parentIdField": "parentIdField"; "idField": "idField"; "loadOnDemand": "loadOnDemand"; "isVisible": "isVisible"; }, {}, never>;
50
54
  }
@@ -20,7 +20,7 @@ export declare class HierarchyBindingDirective extends FilteringBase implements
20
20
  /**
21
21
  * The nodes which will be displayed by the TreeView.
22
22
  */
23
- set nodes(values: any[]);
23
+ nodes: any[];
24
24
  /**
25
25
  * @hidden
26
26
  * A callback which determines whether a TreeView node should be rendered as hidden.
@@ -39,6 +39,10 @@ export declare class HierarchyBindingDirective extends FilteringBase implements
39
39
  constructor(component: DataBoundComponent, dragAndDropDirective?: DragAndDropDirective);
40
40
  ngOnInit(): void;
41
41
  ngOnChanges(changes: SimpleChanges): void;
42
+ /**
43
+ * @hidden
44
+ */
45
+ updateNodes(values: any[]): void;
42
46
  static ɵfac: i0.ɵɵFactoryDeclaration<HierarchyBindingDirective, [null, { optional: true; host: true; }]>;
43
47
  static ɵdir: i0.ɵɵDirectiveDeclaration<HierarchyBindingDirective, "[kendoTreeViewHierarchyBinding]", never, { "childrenField": "childrenField"; "nodes": "nodes"; "isVisible": "isVisible"; "loadOnDemand": "loadOnDemand"; }, {}, never>;
44
48
  }
package/main.d.ts CHANGED
@@ -43,3 +43,4 @@ export { TreeItemFilterState } from './drag-and-drop/models/tree-item-filter-sta
43
43
  export { FilterExpandSettings } from './filter-expand-settings.interface';
44
44
  export { MatcherFunction } from './treeview-filter-settings';
45
45
  export { FilterState } from './filter-state.interface';
46
+ export { TreeViewSize } from './size';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-treeview",
3
- "version": "7.0.1",
3
+ "version": "7.1.0-dev.202206141206",
4
4
  "description": "Kendo UI TreeView for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "@progress/kendo-common": "^0.2.0",
26
26
  "@progress/kendo-schematics": "^3.0.0",
27
- "@telerik/kendo-draggable": "^2.0.0",
27
+ "@progress/kendo-draggable": "^3.0.0",
28
28
  "tslib": "^2.3.1"
29
29
  },
30
30
  "peerDependencies": {
@@ -69,11 +69,11 @@
69
69
  "fallbackTags": {
70
70
  "dev": "latest"
71
71
  },
72
- "analyzeCommits": "@telerik/semantic-prerelease/analyzeCommits",
72
+ "analyzeCommits": "@progress/semantic-prerelease/analyzeCommits",
73
73
  "generateNotes": "@progress/kendo-angular-tasks/lib/generateNotes",
74
- "getLastRelease": "@telerik/semantic-prerelease/getLastRelease",
75
- "verifyConditions": "@telerik/semantic-prerelease/verifyConditions",
76
- "verifyRelease": "@telerik/semantic-prerelease/verifyRelease"
74
+ "getLastRelease": "@progress/semantic-prerelease/getLastRelease",
75
+ "verifyConditions": "@progress/semantic-prerelease/verifyConditions",
76
+ "verifyRelease": "@progress/semantic-prerelease/verifyRelease"
77
77
  },
78
78
  "main": "bundles/kendo-angular-treeview.umd.js",
79
79
  "module": "fesm2015/kendo-angular-treeview.js",
@@ -44,8 +44,11 @@ export declare class TreeViewGroupComponent implements OnChanges, OnInit, OnDest
44
44
  loadMoreButtonTemplateRef: TemplateRef<any>;
45
45
  loadMoreService: LoadMoreService;
46
46
  size: TreeViewSize;
47
+ expandDisabledNodes: boolean;
47
48
  initialNodesLoaded: boolean;
48
49
  loadingMoreNodes: boolean;
50
+ isItemExpandable: (node: any, index: any) => boolean;
51
+ isItemDisabled: (node: any, index: any) => boolean;
49
52
  get moreNodesAvailable(): boolean;
50
53
  get pageSize(): number;
51
54
  set pageSize(pageSize: number);
@@ -92,5 +95,5 @@ export declare class TreeViewGroupComponent implements OnChanges, OnInit, OnDest
92
95
  private reselectItemAt;
93
96
  private registerLoadedNodes;
94
97
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewGroupComponent, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewGroupComponent, "[kendoTreeViewGroup]", never, { "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"; }, {}, never, never>;
98
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewGroupComponent, "[kendoTreeViewGroup]", never, { "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"; }, {}, never, never>;
96
99
  }
@@ -63,8 +63,6 @@ export declare class TreeViewItemDirective implements OnInit, OnChanges, OnDestr
63
63
  private moveNavigationItem;
64
64
  private updateNodeAvailability;
65
65
  private setAriaAttributes;
66
- private setDisabledClass;
67
- private setClass;
68
66
  private updateTabIndex;
69
67
  private setAttribute;
70
68
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewItemDirective, never>;
@@ -57,6 +57,11 @@ export declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy,
57
57
  * The hint which is displayed when the component is empty.
58
58
  */
59
59
  filterInputPlaceholder: string;
60
+ /**
61
+ * Determines whether to allow expanding disabled nodes.
62
+ * @default false
63
+ */
64
+ expandDisabledNodes: boolean;
60
65
  /**
61
66
  * Determines whether the content animation is enabled.
62
67
  */
@@ -402,5 +407,5 @@ export declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy,
402
407
  private verifyLoadMoreService;
403
408
  private registerLookupItems;
404
409
  static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewComponent, never>;
405
- static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewComponent, "kendo-treeview", ["kendoTreeView"], { "filterInputPlaceholder": "filterInputPlaceholder"; "animate": "animate"; "nodeTemplateRef": "nodeTemplate"; "loadMoreButtonTemplateRef": "loadMoreButtonTemplate"; "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"; }, { "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"; }, ["nodeTemplateQuery", "loadMoreButtonTemplateQuery"], never>;
410
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewComponent, "kendo-treeview", ["kendoTreeView"], { "filterInputPlaceholder": "filterInputPlaceholder"; "expandDisabledNodes": "expandDisabledNodes"; "animate": "animate"; "nodeTemplateRef": "nodeTemplate"; "loadMoreButtonTemplateRef": "loadMoreButtonTemplate"; "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"; }, { "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"; }, ["nodeTemplateQuery", "loadMoreButtonTemplateQuery"], never>;
406
411
  }