@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.
- package/bundles/kendo-angular-treeview.umd.js +1 -1
- package/drag-and-drop/drag-and-drop.directive.d.ts +1 -1
- package/esm2015/drag-and-drop/drag-and-drop.directive.js +1 -1
- package/esm2015/drag-and-drop/editing-services/flat-editing.service.js +1 -0
- package/esm2015/flat-binding.directive.js +19 -15
- package/esm2015/hierarchy-binding.directive.js +12 -8
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/treeview-group.component.js +18 -6
- package/esm2015/treeview-item.directive.js +1 -12
- package/esm2015/treeview.component.js +6 -2
- package/fesm2015/kendo-angular-treeview.js +59 -45
- package/flat-binding.directive.d.ts +5 -1
- package/hierarchy-binding.directive.d.ts +5 -1
- package/main.d.ts +1 -0
- package/package.json +6 -6
- package/treeview-group.component.d.ts +4 -1
- package/treeview-item.directive.d.ts +0 -2
- package/treeview.component.d.ts +6 -1
|
@@ -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 '@
|
|
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 '@
|
|
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';
|
|
@@ -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:
|
|
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]="
|
|
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]="
|
|
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]="
|
|
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]="
|
|
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
|
|
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
|
}, {
|