@ali-hm/angular-tree-component 21.0.0 → 21.0.3
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/README.md
CHANGED
|
@@ -36,7 +36,7 @@ angular-tree-component supports angular 12+ versions, and AoT compilation.
|
|
|
36
36
|
|
|
37
37
|
versioning has been change to align with supported Angular version.
|
|
38
38
|
so:\
|
|
39
|
-
v21.\*.\* = Angular 21
|
|
39
|
+
v21.\*.\* = Angular 21 \
|
|
40
40
|
v20.\*.\* = Angular 20
|
|
41
41
|
v19.\*.\* = Angular 19
|
|
42
42
|
v18.\*.\* = Angular 18
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, effect, Injectable, inject, input, ViewEncapsulation, Component, ElementRef, Injector, Renderer2, afterNextRender, output, HostListener, Directive,
|
|
2
|
+
import { signal, effect, Injectable, inject, input, ViewEncapsulation, Component, ElementRef, Injector, Renderer2, computed, afterNextRender, output, HostListener, Directive, TemplateRef, ViewContainerRef, forwardRef, EventEmitter, Output, Input, ViewChild, ContentChild, NgModule } from '@angular/core';
|
|
3
3
|
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
const KEYS = {
|
|
@@ -244,7 +244,7 @@ class TreeNode {
|
|
|
244
244
|
return this.options.allowDragoverStyling;
|
|
245
245
|
};
|
|
246
246
|
if (this.id === undefined || this.id === null) {
|
|
247
|
-
this.id = uuid();
|
|
247
|
+
this.id = this.treeModel.uuid();
|
|
248
248
|
} // Make sure there's a unique id without overriding existing ids to work with immutable data structures
|
|
249
249
|
this.index = index;
|
|
250
250
|
if (this.getField('children')) {
|
|
@@ -524,9 +524,6 @@ class TreeNode {
|
|
|
524
524
|
.map((c, index) => new TreeNode(c, this, this.treeModel, index));
|
|
525
525
|
}
|
|
526
526
|
}
|
|
527
|
-
function uuid() {
|
|
528
|
-
return Math.floor(Math.random() * 10000000000000);
|
|
529
|
-
}
|
|
530
527
|
|
|
531
528
|
class TreeModel {
|
|
532
529
|
constructor() {
|
|
@@ -538,10 +535,12 @@ class TreeModel {
|
|
|
538
535
|
this._selectedLeafNodeIds = signal({}, ...(ngDevMode ? [{ debugName: "_selectedLeafNodeIds" }] : []));
|
|
539
536
|
this._activeNodeIds = signal({}, ...(ngDevMode ? [{ debugName: "_activeNodeIds" }] : []));
|
|
540
537
|
this._hiddenNodeIds = signal({}, ...(ngDevMode ? [{ debugName: "_hiddenNodeIds" }] : []));
|
|
538
|
+
this._hiddenNodes = signal([], ...(ngDevMode ? [{ debugName: "_hiddenNodes" }] : []));
|
|
541
539
|
this._focusedNodeId = signal(null, ...(ngDevMode ? [{ debugName: "_focusedNodeId" }] : []));
|
|
542
540
|
this._virtualRoot = signal(undefined, ...(ngDevMode ? [{ debugName: "_virtualRoot" }] : []));
|
|
543
541
|
this.firstUpdate = true;
|
|
544
542
|
this.subscriptions = [];
|
|
543
|
+
this.generatedIds = {};
|
|
545
544
|
}
|
|
546
545
|
static { this.focusedTree = null; }
|
|
547
546
|
// Public getters/setters to maintain API compatibility
|
|
@@ -567,11 +566,7 @@ class TreeModel {
|
|
|
567
566
|
return nodes.filter(Boolean);
|
|
568
567
|
}
|
|
569
568
|
get hiddenNodes() {
|
|
570
|
-
|
|
571
|
-
const nodes = Object.keys(ids)
|
|
572
|
-
.filter((id) => ids[id])
|
|
573
|
-
.map((id) => this.getNodeById(id));
|
|
574
|
-
return nodes.filter(Boolean);
|
|
569
|
+
return this._hiddenNodes();
|
|
575
570
|
}
|
|
576
571
|
get selectedLeafNodes() {
|
|
577
572
|
const ids = this._selectedLeafNodeIds();
|
|
@@ -840,12 +835,15 @@ class TreeModel {
|
|
|
840
835
|
return;
|
|
841
836
|
}
|
|
842
837
|
const ids = {};
|
|
843
|
-
|
|
838
|
+
var hiddenNodes = [];
|
|
839
|
+
this.roots.forEach((node) => this._filterNode(ids, node, filterFn, autoShow, hiddenNodes));
|
|
844
840
|
this._hiddenNodeIds.set(ids);
|
|
841
|
+
this._hiddenNodes.set(hiddenNodes);
|
|
845
842
|
this.fireEvent({ eventName: TREE_EVENTS.changeFilter });
|
|
846
843
|
}
|
|
847
844
|
clearFilter() {
|
|
848
845
|
this._hiddenNodeIds.set({});
|
|
846
|
+
this._hiddenNodes.set([]);
|
|
849
847
|
this.fireEvent({ eventName: TREE_EVENTS.changeFilter });
|
|
850
848
|
}
|
|
851
849
|
moveNode(node, to) {
|
|
@@ -924,13 +922,13 @@ class TreeModel {
|
|
|
924
922
|
this._calculateExpandedNodes();
|
|
925
923
|
}
|
|
926
924
|
// private methods
|
|
927
|
-
_filterNode(ids, node, filterFn, autoShow) {
|
|
925
|
+
_filterNode(ids, node, filterFn, autoShow, hiddenNodes) {
|
|
928
926
|
// if node passes function then it's visible
|
|
929
927
|
let isVisible = filterFn(node);
|
|
930
928
|
if (node.children) {
|
|
931
929
|
// if one of node's children passes filter then this node is also visible
|
|
932
930
|
node.children.forEach((child) => {
|
|
933
|
-
if (this._filterNode(ids, child, filterFn, autoShow)) {
|
|
931
|
+
if (this._filterNode(ids, child, filterFn, autoShow, hiddenNodes)) {
|
|
934
932
|
isVisible = true;
|
|
935
933
|
}
|
|
936
934
|
});
|
|
@@ -938,6 +936,7 @@ class TreeModel {
|
|
|
938
936
|
// mark node as hidden
|
|
939
937
|
if (!isVisible) {
|
|
940
938
|
ids[node.id] = true;
|
|
939
|
+
hiddenNodes.push(node);
|
|
941
940
|
}
|
|
942
941
|
// auto expand parents to make sure the filtered nodes are visible
|
|
943
942
|
if (autoShow && isVisible) {
|
|
@@ -972,10 +971,18 @@ class TreeModel {
|
|
|
972
971
|
_setActiveNodeMulti(node, value) {
|
|
973
972
|
this._activeNodeIds.update(ids => ({ ...ids, [node.id]: value }));
|
|
974
973
|
}
|
|
975
|
-
|
|
976
|
-
|
|
974
|
+
uuid() {
|
|
975
|
+
var res = Math.floor(Math.random() * 10000000000000);
|
|
976
|
+
while (this.generatedIds[res]) {
|
|
977
|
+
res = Math.floor(Math.random() * 10000000000000);
|
|
978
|
+
}
|
|
979
|
+
this.generatedIds[res] = true;
|
|
980
|
+
return res;
|
|
981
|
+
}
|
|
982
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
983
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModel }); }
|
|
977
984
|
}
|
|
978
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
985
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModel, decorators: [{
|
|
979
986
|
type: Injectable
|
|
980
987
|
}] });
|
|
981
988
|
|
|
@@ -992,10 +999,10 @@ class TreeDraggedElement {
|
|
|
992
999
|
isDragging() {
|
|
993
1000
|
return !!this.get();
|
|
994
1001
|
}
|
|
995
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
996
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
1002
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDraggedElement, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1003
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDraggedElement, providedIn: 'root' }); }
|
|
997
1004
|
}
|
|
998
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1005
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDraggedElement, decorators: [{
|
|
999
1006
|
type: Injectable,
|
|
1000
1007
|
args: [{
|
|
1001
1008
|
providedIn: 'root'
|
|
@@ -1043,19 +1050,21 @@ class TreeVirtualScroll {
|
|
|
1043
1050
|
const totalHeight = this.totalHeight;
|
|
1044
1051
|
const viewportHeight = this._viewportHeight();
|
|
1045
1052
|
this.fixScroll();
|
|
1046
|
-
}, ...(ngDevMode ?
|
|
1053
|
+
}, { ...(ngDevMode ? { debugName: "fixScrollEffect" } : {}), injector });
|
|
1047
1054
|
const rootsEffect = effect(() => {
|
|
1048
1055
|
const roots = this.treeModel.roots;
|
|
1049
|
-
|
|
1050
|
-
|
|
1056
|
+
if (roots) {
|
|
1057
|
+
fn();
|
|
1058
|
+
}
|
|
1059
|
+
}, { ...(ngDevMode ? { debugName: "rootsEffect" } : {}), injector });
|
|
1051
1060
|
const expandedEffect = effect(() => {
|
|
1052
|
-
const
|
|
1061
|
+
const expandedIds = this.treeModel['_expandedNodeIds']();
|
|
1053
1062
|
fn();
|
|
1054
|
-
}, ...(ngDevMode ?
|
|
1063
|
+
}, { ...(ngDevMode ? { debugName: "expandedEffect" } : {}), injector });
|
|
1055
1064
|
const hiddenEffect = effect(() => {
|
|
1056
|
-
const
|
|
1065
|
+
const hiddenIds = this.treeModel['_hiddenNodeIds']();
|
|
1057
1066
|
fn();
|
|
1058
|
-
}, ...(ngDevMode ?
|
|
1067
|
+
}, { ...(ngDevMode ? { debugName: "hiddenEffect" } : {}), injector });
|
|
1059
1068
|
this._dispose = [
|
|
1060
1069
|
() => fixScrollEffect.destroy(),
|
|
1061
1070
|
() => rootsEffect.destroy(),
|
|
@@ -1072,7 +1081,9 @@ class TreeVirtualScroll {
|
|
|
1072
1081
|
recalcPositions() {
|
|
1073
1082
|
const vRoot = this.treeModel['_virtualRoot']();
|
|
1074
1083
|
if (vRoot) {
|
|
1075
|
-
|
|
1084
|
+
const visibleRoots = this.treeModel.getVisibleRoots();
|
|
1085
|
+
const newHeight = this._getPositionAfter(visibleRoots, 0);
|
|
1086
|
+
vRoot.height = newHeight;
|
|
1076
1087
|
}
|
|
1077
1088
|
}
|
|
1078
1089
|
_getPositionAfter(nodes, startPos) {
|
|
@@ -1086,7 +1097,8 @@ class TreeVirtualScroll {
|
|
|
1086
1097
|
_getPositionAfterNode(node, startPos) {
|
|
1087
1098
|
let position = node.getSelfHeight() + startPos;
|
|
1088
1099
|
if (node.children && node.isExpanded) { // TBD: consider loading component as well
|
|
1089
|
-
|
|
1100
|
+
const visibleChildren = node.visibleChildren;
|
|
1101
|
+
position = this._getPositionAfter(visibleChildren, position);
|
|
1090
1102
|
}
|
|
1091
1103
|
node.height = position - startPos;
|
|
1092
1104
|
return position;
|
|
@@ -1169,10 +1181,10 @@ class TreeVirtualScroll {
|
|
|
1169
1181
|
if (this.y > maxY)
|
|
1170
1182
|
this._setYBlocks(maxY / Y_EPSILON);
|
|
1171
1183
|
}
|
|
1172
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1173
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
1184
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1185
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeVirtualScroll }); }
|
|
1174
1186
|
}
|
|
1175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeVirtualScroll, decorators: [{
|
|
1176
1188
|
type: Injectable
|
|
1177
1189
|
}], ctorParameters: () => [] });
|
|
1178
1190
|
function binarySearch(nodes, condition, firstIndex = 0) {
|
|
@@ -1198,8 +1210,8 @@ class LoadingComponent {
|
|
|
1198
1210
|
this.template = input(undefined, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
1199
1211
|
this.node = input(undefined, ...(ngDevMode ? [{ debugName: "node" }] : []));
|
|
1200
1212
|
}
|
|
1201
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1202
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1213
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1214
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: LoadingComponent, isStandalone: true, selector: "tree-loading-component", inputs: { template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1203
1215
|
@if (!template()) {
|
|
1204
1216
|
<span>loading...</span>
|
|
1205
1217
|
}
|
|
@@ -1210,7 +1222,7 @@ class LoadingComponent {
|
|
|
1210
1222
|
</ng-container>
|
|
1211
1223
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1212
1224
|
}
|
|
1213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: LoadingComponent, decorators: [{
|
|
1214
1226
|
type: Component,
|
|
1215
1227
|
args: [{
|
|
1216
1228
|
encapsulation: ViewEncapsulation.None,
|
|
@@ -1235,6 +1247,13 @@ class TreeViewportComponent {
|
|
|
1235
1247
|
this.virtualScroll = inject(TreeVirtualScroll);
|
|
1236
1248
|
this.injector = inject(Injector);
|
|
1237
1249
|
this.renderer = inject(Renderer2);
|
|
1250
|
+
// Computed signal for total height - ensures reactive updates
|
|
1251
|
+
this.totalHeight = computed(() => {
|
|
1252
|
+
if (!this.virtualScroll.isEnabled()) {
|
|
1253
|
+
return 'auto';
|
|
1254
|
+
}
|
|
1255
|
+
return this.virtualScroll.totalHeight + 'px';
|
|
1256
|
+
}, ...(ngDevMode ? [{ debugName: "totalHeight" }] : []));
|
|
1238
1257
|
this.setViewport = this.throttle(() => {
|
|
1239
1258
|
this.virtualScroll.setViewport(this.elementRef.nativeElement);
|
|
1240
1259
|
}, 17);
|
|
@@ -1258,11 +1277,6 @@ class TreeViewportComponent {
|
|
|
1258
1277
|
this.removeScrollListener?.();
|
|
1259
1278
|
this.removeScrollListener = null;
|
|
1260
1279
|
}
|
|
1261
|
-
getTotalHeight() {
|
|
1262
|
-
return ((this.virtualScroll.isEnabled() &&
|
|
1263
|
-
this.virtualScroll.totalHeight + 'px') ||
|
|
1264
|
-
'auto');
|
|
1265
|
-
}
|
|
1266
1280
|
throttle(func, timeFrame) {
|
|
1267
1281
|
let lastTime = 0;
|
|
1268
1282
|
return function () {
|
|
@@ -1273,17 +1287,17 @@ class TreeViewportComponent {
|
|
|
1273
1287
|
}
|
|
1274
1288
|
};
|
|
1275
1289
|
}
|
|
1276
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1277
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
1278
|
-
<div [style.height]="
|
|
1290
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeViewportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1291
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.3", type: TreeViewportComponent, isStandalone: true, selector: "tree-viewport", providers: [TreeVirtualScroll], ngImport: i0, template: `
|
|
1292
|
+
<div [style.height]="totalHeight()">
|
|
1279
1293
|
<ng-content></ng-content>
|
|
1280
1294
|
</div>
|
|
1281
1295
|
`, isInline: true }); }
|
|
1282
1296
|
}
|
|
1283
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeViewportComponent, decorators: [{
|
|
1284
1298
|
type: Component,
|
|
1285
1299
|
args: [{ selector: 'tree-viewport', providers: [TreeVirtualScroll], template: `
|
|
1286
|
-
<div [style.height]="
|
|
1300
|
+
<div [style.height]="totalHeight()">
|
|
1287
1301
|
<ng-content></ng-content>
|
|
1288
1302
|
</div>
|
|
1289
1303
|
`, imports: [] }]
|
|
@@ -1389,10 +1403,10 @@ class TreeDropDirective {
|
|
|
1389
1403
|
removeDisabledClass() {
|
|
1390
1404
|
this.renderer.removeClass(this.el.nativeElement, DRAG_DISABLED_CLASS);
|
|
1391
1405
|
}
|
|
1392
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1393
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
1406
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1407
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.3", type: TreeDropDirective, isStandalone: true, selector: "[treeDrop]", inputs: { allowDragoverStyling: { classPropertyName: "allowDragoverStyling", publicName: "allowDragoverStyling", isSignal: true, isRequired: false, transformFunction: null }, treeAllowDrop: { classPropertyName: "treeAllowDrop", publicName: "treeAllowDrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDropCallback: "treeDrop", onDragOverCallback: "treeDropDragOver", onDragLeaveCallback: "treeDropDragLeave", onDragEnterCallback: "treeDropDragEnter" }, host: { listeners: { "drop": "onDrop($event)" } }, ngImport: i0 }); }
|
|
1394
1408
|
}
|
|
1395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDropDirective, decorators: [{
|
|
1396
1410
|
type: Directive,
|
|
1397
1411
|
args: [{ selector: '[treeDrop]' }]
|
|
1398
1412
|
}], ctorParameters: () => [], propDecorators: { allowDragoverStyling: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowDragoverStyling", required: false }] }], treeAllowDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeAllowDrop", required: false }] }], onDropCallback: [{ type: i0.Output, args: ["treeDrop"] }], onDragOverCallback: [{ type: i0.Output, args: ["treeDropDragOver"] }], onDragLeaveCallback: [{ type: i0.Output, args: ["treeDropDragLeave"] }], onDragEnterCallback: [{ type: i0.Output, args: ["treeDropDragEnter"] }], onDrop: [{
|
|
@@ -1414,8 +1428,8 @@ class TreeNodeDropSlot {
|
|
|
1414
1428
|
allowDrop(element, $event) {
|
|
1415
1429
|
return this.node().options.allowDrop(element, { parent: this.node(), index: this.dropIndex() }, $event);
|
|
1416
1430
|
}
|
|
1417
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1418
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
1431
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeDropSlot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1432
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: TreeNodeDropSlot, isStandalone: true, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, dropIndex: { classPropertyName: "dropIndex", publicName: "dropIndex", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1419
1433
|
<div
|
|
1420
1434
|
class="node-drop-slot"
|
|
1421
1435
|
(treeDrop)="onDrop($event)"
|
|
@@ -1424,7 +1438,7 @@ class TreeNodeDropSlot {
|
|
|
1424
1438
|
></div>
|
|
1425
1439
|
`, isInline: true, dependencies: [{ kind: "directive", type: TreeDropDirective, selector: "[treeDrop]", inputs: ["allowDragoverStyling", "treeAllowDrop"], outputs: ["treeDrop", "treeDropDragOver", "treeDropDragLeave", "treeDropDragEnter"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1426
1440
|
}
|
|
1427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeDropSlot, decorators: [{
|
|
1428
1442
|
type: Component,
|
|
1429
1443
|
args: [{ selector: 'TreeNodeDropSlot, tree-node-drop-slot', encapsulation: ViewEncapsulation.None, template: `
|
|
1430
1444
|
<div
|
|
@@ -1440,8 +1454,8 @@ class TreeNodeCheckboxComponent {
|
|
|
1440
1454
|
constructor() {
|
|
1441
1455
|
this.node = input(undefined, ...(ngDevMode ? [{ debugName: "node" }] : []));
|
|
1442
1456
|
}
|
|
1443
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1444
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
1457
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1458
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: TreeNodeCheckboxComponent, isStandalone: true, selector: "tree-node-checkbox", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1445
1459
|
<input
|
|
1446
1460
|
class="tree-node-checkbox"
|
|
1447
1461
|
type="checkbox"
|
|
@@ -1451,7 +1465,7 @@ class TreeNodeCheckboxComponent {
|
|
|
1451
1465
|
/>
|
|
1452
1466
|
`, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1453
1467
|
}
|
|
1454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1468
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeCheckboxComponent, decorators: [{
|
|
1455
1469
|
type: Component,
|
|
1456
1470
|
args: [{ selector: 'tree-node-checkbox', encapsulation: ViewEncapsulation.None, template: `
|
|
1457
1471
|
<input
|
|
@@ -1469,8 +1483,8 @@ class TreeNodeExpanderComponent {
|
|
|
1469
1483
|
this.node = input(...(ngDevMode ? [undefined, { debugName: "node" }] : []));
|
|
1470
1484
|
this.hasChildren = computed(() => this.node().hasChildren, ...(ngDevMode ? [{ debugName: "hasChildren" }] : []));
|
|
1471
1485
|
}
|
|
1472
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1473
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1486
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeExpanderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1487
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeExpanderComponent, isStandalone: true, selector: "tree-node-expander", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1474
1488
|
@if (hasChildren()) {
|
|
1475
1489
|
<span
|
|
1476
1490
|
[class.toggle-children-wrapper-expanded]="node().isExpanded"
|
|
@@ -1485,7 +1499,7 @@ class TreeNodeExpanderComponent {
|
|
|
1485
1499
|
}
|
|
1486
1500
|
`, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1487
1501
|
}
|
|
1488
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1502
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeExpanderComponent, decorators: [{
|
|
1489
1503
|
type: Component,
|
|
1490
1504
|
args: [{ selector: 'tree-node-expander', encapsulation: ViewEncapsulation.None, template: `
|
|
1491
1505
|
@if (hasChildren()) {
|
|
@@ -1508,7 +1522,7 @@ class TreeDragDirective {
|
|
|
1508
1522
|
this.el = inject(ElementRef);
|
|
1509
1523
|
this.renderer = inject(Renderer2);
|
|
1510
1524
|
this.treeDraggedElement = inject(TreeDraggedElement);
|
|
1511
|
-
this.draggedElement = input(undefined, ...(ngDevMode ?
|
|
1525
|
+
this.draggedElement = input(undefined, { ...(ngDevMode ? { debugName: "draggedElement" } : {}), alias: "treeDrag" });
|
|
1512
1526
|
this.treeDragEnabled = input(undefined, ...(ngDevMode ? [{ debugName: "treeDragEnabled" }] : []));
|
|
1513
1527
|
this.dragUnlisten = null;
|
|
1514
1528
|
this.dragEventHandler = this.onDrag.bind(this);
|
|
@@ -1546,10 +1560,10 @@ class TreeDragDirective {
|
|
|
1546
1560
|
}
|
|
1547
1561
|
this.treeDraggedElement.set(null);
|
|
1548
1562
|
}
|
|
1549
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1550
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
1563
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDragDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1564
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.3", type: TreeDragDirective, isStandalone: true, selector: "[treeDrag]", inputs: { draggedElement: { classPropertyName: "draggedElement", publicName: "treeDrag", isSignal: true, isRequired: false, transformFunction: null }, treeDragEnabled: { classPropertyName: "treeDragEnabled", publicName: "treeDragEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "dragstart": "onDragStart($event)", "dragend": "onDragEnd()" } }, ngImport: i0 }); }
|
|
1551
1565
|
}
|
|
1552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeDragDirective, decorators: [{
|
|
1553
1567
|
type: Directive,
|
|
1554
1568
|
args: [{ selector: '[treeDrag]' }]
|
|
1555
1569
|
}], ctorParameters: () => [], propDecorators: { draggedElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeDrag", required: false }] }], treeDragEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeDragEnabled", required: false }] }], onDragStart: [{
|
|
@@ -1566,8 +1580,8 @@ class TreeNodeContent {
|
|
|
1566
1580
|
this.index = input(undefined, ...(ngDevMode ? [{ debugName: "index" }] : []));
|
|
1567
1581
|
this.template = input(undefined, ...(ngDevMode ? [{ debugName: "template" }] : []));
|
|
1568
1582
|
}
|
|
1569
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1570
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1583
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1584
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeContent, isStandalone: true, selector: "tree-node-content", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1571
1585
|
@if (!template()) {
|
|
1572
1586
|
<span>{{ node().displayField }}</span>
|
|
1573
1587
|
}
|
|
@@ -1582,7 +1596,7 @@ class TreeNodeContent {
|
|
|
1582
1596
|
</ng-container>
|
|
1583
1597
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1584
1598
|
}
|
|
1585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1599
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeContent, decorators: [{
|
|
1586
1600
|
type: Component,
|
|
1587
1601
|
args: [{
|
|
1588
1602
|
selector: 'tree-node-content',
|
|
@@ -1612,8 +1626,8 @@ class TreeNodeWrapperComponent {
|
|
|
1612
1626
|
this.templates = input(...(ngDevMode ? [undefined, { debugName: "templates" }] : []));
|
|
1613
1627
|
this.treeNodeWrapperTemplate = computed(() => this.templates().treeNodeWrapperTemplate, ...(ngDevMode ? [{ debugName: "treeNodeWrapperTemplate" }] : []));
|
|
1614
1628
|
}
|
|
1615
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1616
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1629
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1630
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeWrapperComponent, isStandalone: true, selector: "tree-node-wrapper", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1617
1631
|
@if (!treeNodeWrapperTemplate()) {
|
|
1618
1632
|
<div class="node-wrapper" [style.padding-left]="node().getNodePadding()">
|
|
1619
1633
|
@if (node().options.useCheckbox) {
|
|
@@ -1659,7 +1673,7 @@ class TreeNodeWrapperComponent {
|
|
|
1659
1673
|
</ng-container>
|
|
1660
1674
|
`, isInline: true, dependencies: [{ kind: "component", type: TreeNodeCheckboxComponent, selector: "tree-node-checkbox", inputs: ["node"] }, { kind: "component", type: TreeNodeExpanderComponent, selector: "tree-node-expander", inputs: ["node"] }, { kind: "directive", type: TreeDragDirective, selector: "[treeDrag]", inputs: ["treeDrag", "treeDragEnabled"] }, { kind: "directive", type: TreeDropDirective, selector: "[treeDrop]", inputs: ["allowDragoverStyling", "treeAllowDrop"], outputs: ["treeDrop", "treeDropDragOver", "treeDropDragLeave", "treeDropDragEnter"] }, { kind: "component", type: TreeNodeContent, selector: "tree-node-content", inputs: ["node", "index", "template"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1661
1675
|
}
|
|
1662
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeWrapperComponent, decorators: [{
|
|
1663
1677
|
type: Component,
|
|
1664
1678
|
args: [{ selector: 'tree-node-wrapper', encapsulation: ViewEncapsulation.None, template: `
|
|
1665
1679
|
@if (!treeNodeWrapperTemplate()) {
|
|
@@ -1721,16 +1735,10 @@ class TreeAnimateOpenDirective {
|
|
|
1721
1735
|
this.renderer = inject(Renderer2);
|
|
1722
1736
|
this.templateRef = inject(TemplateRef);
|
|
1723
1737
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1724
|
-
this.isOpen = input(undefined, ...(ngDevMode ?
|
|
1725
|
-
this.animateSpeed = input(undefined, ...(ngDevMode ?
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
this.animateAcceleration = input(undefined, ...(ngDevMode ? [{ debugName: "animateAcceleration", alias: 'treeAnimateOpenAcceleration' }] : [{
|
|
1729
|
-
alias: 'treeAnimateOpenAcceleration'
|
|
1730
|
-
}]));
|
|
1731
|
-
this.isEnabled = input(undefined, ...(ngDevMode ? [{ debugName: "isEnabled", alias: 'treeAnimateOpenEnabled' }] : [{
|
|
1732
|
-
alias: 'treeAnimateOpenEnabled'
|
|
1733
|
-
}]));
|
|
1738
|
+
this.isOpen = input(undefined, { ...(ngDevMode ? { debugName: "isOpen" } : {}), alias: 'treeAnimateOpen' });
|
|
1739
|
+
this.animateSpeed = input(undefined, { ...(ngDevMode ? { debugName: "animateSpeed" } : {}), alias: 'treeAnimateOpenSpeed' });
|
|
1740
|
+
this.animateAcceleration = input(undefined, { ...(ngDevMode ? { debugName: "animateAcceleration" } : {}), alias: 'treeAnimateOpenAcceleration' });
|
|
1741
|
+
this.isEnabled = input(undefined, { ...(ngDevMode ? { debugName: "isEnabled" } : {}), alias: 'treeAnimateOpenEnabled' });
|
|
1734
1742
|
this.startOpenTimeout = null;
|
|
1735
1743
|
this.openInterval = null;
|
|
1736
1744
|
this.closeInterval = null;
|
|
@@ -1839,10 +1847,10 @@ class TreeAnimateOpenDirective {
|
|
|
1839
1847
|
this.closeInterval = null;
|
|
1840
1848
|
}
|
|
1841
1849
|
}
|
|
1842
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1843
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.
|
|
1850
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeAnimateOpenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1851
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.3", type: TreeAnimateOpenDirective, isStandalone: true, selector: "[treeAnimateOpen]", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "treeAnimateOpen", isSignal: true, isRequired: false, transformFunction: null }, animateSpeed: { classPropertyName: "animateSpeed", publicName: "treeAnimateOpenSpeed", isSignal: true, isRequired: false, transformFunction: null }, animateAcceleration: { classPropertyName: "animateAcceleration", publicName: "treeAnimateOpenAcceleration", isSignal: true, isRequired: false, transformFunction: null }, isEnabled: { classPropertyName: "isEnabled", publicName: "treeAnimateOpenEnabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
1844
1852
|
}
|
|
1845
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1853
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeAnimateOpenDirective, decorators: [{
|
|
1846
1854
|
type: Directive,
|
|
1847
1855
|
args: [{ selector: '[treeAnimateOpen]' }]
|
|
1848
1856
|
}], ctorParameters: () => [], propDecorators: { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeAnimateOpen", required: false }] }], animateSpeed: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeAnimateOpenSpeed", required: false }] }], animateAcceleration: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeAnimateOpenAcceleration", required: false }] }], isEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "treeAnimateOpenEnabled", required: false }] }] } });
|
|
@@ -1853,8 +1861,8 @@ class TreeNodeChildrenComponent {
|
|
|
1853
1861
|
this.templates = input(undefined, ...(ngDevMode ? [{ debugName: "templates" }] : []));
|
|
1854
1862
|
this.children = computed(() => this.node().children, ...(ngDevMode ? [{ debugName: "children" }] : []));
|
|
1855
1863
|
}
|
|
1856
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1857
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1864
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeChildrenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1865
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeChildrenComponent, isStandalone: true, selector: "tree-node-children", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1858
1866
|
<div
|
|
1859
1867
|
[class.tree-children]="true"
|
|
1860
1868
|
[class.tree-children-no-padding]="node().options.levelPadding"
|
|
@@ -1883,7 +1891,7 @@ class TreeNodeChildrenComponent {
|
|
|
1883
1891
|
</div>
|
|
1884
1892
|
`, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => TreeAnimateOpenDirective), selector: "[treeAnimateOpen]", inputs: ["treeAnimateOpen", "treeAnimateOpenSpeed", "treeAnimateOpenAcceleration", "treeAnimateOpenEnabled"] }, { kind: "component", type: i0.forwardRef(() => TreeNodeCollectionComponent), selector: "tree-node-collection", inputs: ["nodes", "treeModel", "templates"] }, { kind: "component", type: i0.forwardRef(() => LoadingComponent), selector: "tree-loading-component", inputs: ["template", "node"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1885
1893
|
}
|
|
1886
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1894
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeChildrenComponent, decorators: [{
|
|
1887
1895
|
type: Component,
|
|
1888
1896
|
args: [{ selector: 'tree-node-children', encapsulation: ViewEncapsulation.None, template: `
|
|
1889
1897
|
<div
|
|
@@ -1945,7 +1953,7 @@ class TreeNodeCollectionComponent {
|
|
|
1945
1953
|
const viewportNodes = this.virtualScroll.getViewportNodes(nodes);
|
|
1946
1954
|
this.viewportNodes.set(viewportNodes);
|
|
1947
1955
|
}
|
|
1948
|
-
}, ...(ngDevMode ?
|
|
1956
|
+
}, { ...(ngDevMode ? { debugName: "viewportEffect" } : {}), injector: this.injector });
|
|
1949
1957
|
this._disposeEffects = [() => viewportEffect.destroy()];
|
|
1950
1958
|
}
|
|
1951
1959
|
ngOnDestroy() {
|
|
@@ -1954,8 +1962,8 @@ class TreeNodeCollectionComponent {
|
|
|
1954
1962
|
trackNode(index, node) {
|
|
1955
1963
|
return node.id;
|
|
1956
1964
|
}
|
|
1957
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1958
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1965
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeCollectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1966
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeCollectionComponent, isStandalone: true, selector: "tree-node-collection", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: true, isRequired: false, transformFunction: null }, treeModel: { classPropertyName: "treeModel", publicName: "treeModel", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1959
1967
|
<div [style.margin-top]="marginTop()">
|
|
1960
1968
|
@for (node of viewportNodes(); track trackNode(i, node); let i = $index) {
|
|
1961
1969
|
<tree-node [node]="node" [index]="i" [templates]="templates()">
|
|
@@ -1964,7 +1972,7 @@ class TreeNodeCollectionComponent {
|
|
|
1964
1972
|
</div>
|
|
1965
1973
|
`, isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => TreeNodeComponent), selector: "TreeNode, tree-node", inputs: ["node", "index", "templates"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1966
1974
|
}
|
|
1967
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1975
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeCollectionComponent, decorators: [{
|
|
1968
1976
|
type: Component,
|
|
1969
1977
|
args: [{
|
|
1970
1978
|
selector: 'tree-node-collection',
|
|
@@ -1987,8 +1995,8 @@ class TreeNodeComponent {
|
|
|
1987
1995
|
this.templates = input(...(ngDevMode ? [undefined, { debugName: "templates" }] : []));
|
|
1988
1996
|
this.treeNodeFullTemplate = computed(() => this.templates().treeNodeFullTemplate, ...(ngDevMode ? [{ debugName: "treeNodeFullTemplate" }] : []));
|
|
1989
1997
|
}
|
|
1990
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1991
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1998
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1999
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeNodeComponent, isStandalone: true, selector: "TreeNode, tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1992
2000
|
@if (!treeNodeFullTemplate()) {
|
|
1993
2001
|
<div
|
|
1994
2002
|
[class]="node().getClass()"
|
|
@@ -2034,7 +2042,7 @@ class TreeNodeComponent {
|
|
|
2034
2042
|
</ng-container>
|
|
2035
2043
|
`, isInline: true, dependencies: [{ kind: "component", type: TreeNodeDropSlot, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: ["node", "dropIndex"] }, { kind: "component", type: TreeNodeWrapperComponent, selector: "tree-node-wrapper", inputs: ["node", "index", "templates"] }, { kind: "component", type: TreeNodeChildrenComponent, selector: "tree-node-children", inputs: ["node", "templates"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
2036
2044
|
}
|
|
2037
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
2045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeNodeComponent, decorators: [{
|
|
2038
2046
|
type: Component,
|
|
2039
2047
|
args: [{ selector: 'TreeNode, tree-node', encapsulation: ViewEncapsulation.None, template: `
|
|
2040
2048
|
@if (!treeNodeFullTemplate()) {
|
|
@@ -2145,8 +2153,8 @@ class TreeComponent {
|
|
|
2145
2153
|
return obj;
|
|
2146
2154
|
}, {});
|
|
2147
2155
|
}
|
|
2148
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
2149
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
2156
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2157
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: TreeComponent, isStandalone: true, selector: "Tree, tree-root", inputs: { nodes: "nodes", options: "options", focused: "focused", state: "state" }, outputs: { toggleExpanded: "toggleExpanded", activate: "activate", deactivate: "deactivate", nodeActivate: "nodeActivate", nodeDeactivate: "nodeDeactivate", select: "select", deselect: "deselect", focus: "focus", blur: "blur", updateData: "updateData", initialized: "initialized", moveNode: "moveNode", copyNode: "copyNode", loadNodeChildren: "loadNodeChildren", changeFilter: "changeFilter", event: "event", stateChange: "stateChange" }, host: { listeners: { "body: keydown": "onKeydown($event)", "body: mousedown": "onMousedown($event)" } }, providers: [TreeModel], queries: [{ propertyName: "loadingTemplate", first: true, predicate: ["loadingTemplate"], descendants: true }, { propertyName: "treeNodeTemplate", first: true, predicate: ["treeNodeTemplate"], descendants: true }, { propertyName: "treeNodeWrapperTemplate", first: true, predicate: ["treeNodeWrapperTemplate"], descendants: true }, { propertyName: "treeNodeFullTemplate", first: true, predicate: ["treeNodeFullTemplate"], descendants: true }], viewQueries: [{ propertyName: "viewportComponent", first: true, predicate: ["viewport"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
2150
2158
|
<tree-viewport #viewport>
|
|
2151
2159
|
<div
|
|
2152
2160
|
class="angular-tree-component"
|
|
@@ -2178,7 +2186,7 @@ class TreeComponent {
|
|
|
2178
2186
|
</tree-viewport>
|
|
2179
2187
|
`, isInline: true, dependencies: [{ kind: "component", type: TreeViewportComponent, selector: "tree-viewport" }, { kind: "component", type: TreeNodeCollectionComponent, selector: "tree-node-collection", inputs: ["nodes", "treeModel", "templates"] }, { kind: "component", type: TreeNodeDropSlot, selector: "TreeNodeDropSlot, tree-node-drop-slot", inputs: ["node", "dropIndex"] }] }); }
|
|
2180
2188
|
}
|
|
2181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
2189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeComponent, decorators: [{
|
|
2182
2190
|
type: Component,
|
|
2183
2191
|
args: [{ selector: 'Tree, tree-root', providers: [TreeModel], template: `
|
|
2184
2192
|
<tree-viewport #viewport>
|
|
@@ -2281,8 +2289,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2281
2289
|
}] } });
|
|
2282
2290
|
|
|
2283
2291
|
class TreeModule {
|
|
2284
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
2285
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
2292
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2293
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, imports: [CommonModule, TreeComponent,
|
|
2286
2294
|
TreeNodeComponent,
|
|
2287
2295
|
TreeNodeContent,
|
|
2288
2296
|
LoadingComponent,
|
|
@@ -2309,9 +2317,9 @@ class TreeModule {
|
|
|
2309
2317
|
TreeNodeWrapperComponent,
|
|
2310
2318
|
TreeNodeCheckboxComponent,
|
|
2311
2319
|
TreeAnimateOpenDirective] }); }
|
|
2312
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
2320
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, imports: [CommonModule] }); }
|
|
2313
2321
|
}
|
|
2314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
2322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, decorators: [{
|
|
2315
2323
|
type: NgModule,
|
|
2316
2324
|
args: [{
|
|
2317
2325
|
declarations: [],
|