ngx-tethys 20.0.1 → 20.0.2
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/CHANGELOG.md +17 -0
- package/action/index.d.ts +3 -3
- package/affix/index.d.ts +1 -1
- package/alert/index.d.ts +3 -3
- package/anchor/index.d.ts +3 -3
- package/arrow-switcher/index.d.ts +6 -6
- package/autocomplete/index.d.ts +7 -7
- package/avatar/index.d.ts +9 -9
- package/back-top/index.d.ts +3 -3
- package/badge/index.d.ts +6 -6
- package/breadcrumb/index.d.ts +7 -7
- package/button/index.d.ts +19 -19
- package/calendar/index.d.ts +8 -8
- package/card/index.d.ts +6 -6
- package/carousel/index.d.ts +4 -4
- package/cascader/index.d.ts +24 -24
- package/collapse/index.d.ts +4 -4
- package/color-picker/index.d.ts +16 -16
- package/comment/index.d.ts +3 -3
- package/copy/index.d.ts +2 -2
- package/core/index.d.ts +22 -22
- package/date-picker/index.d.ts +111 -111
- package/date-range/index.d.ts +5 -5
- package/dialog/index.d.ts +18 -18
- package/divider/index.d.ts +3 -3
- package/drag-drop/index.d.ts +7 -7
- package/dropdown/index.d.ts +10 -10
- package/empty/index.d.ts +12 -12
- package/fesm2022/ngx-tethys-action.mjs +14 -12
- package/fesm2022/ngx-tethys-action.mjs.map +1 -1
- package/fesm2022/ngx-tethys-affix.mjs +7 -7
- package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
- package/fesm2022/ngx-tethys-alert.mjs +10 -10
- package/fesm2022/ngx-tethys-anchor.mjs +11 -11
- package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
- package/fesm2022/ngx-tethys-arrow-switcher.mjs +7 -7
- package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
- package/fesm2022/ngx-tethys-autocomplete.mjs +19 -18
- package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
- package/fesm2022/ngx-tethys-avatar.mjs +23 -22
- package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-back-top.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs +7 -7
- package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
- package/fesm2022/ngx-tethys-breadcrumb.mjs +10 -10
- package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
- package/fesm2022/ngx-tethys-button.mjs +16 -16
- package/fesm2022/ngx-tethys-button.mjs.map +1 -1
- package/fesm2022/ngx-tethys-calendar.mjs +16 -16
- package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
- package/fesm2022/ngx-tethys-card.mjs +13 -13
- package/fesm2022/ngx-tethys-card.mjs.map +1 -1
- package/fesm2022/ngx-tethys-carousel.mjs +15 -15
- package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
- package/fesm2022/ngx-tethys-cascader.mjs +41 -34
- package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
- package/fesm2022/ngx-tethys-checkbox.mjs +7 -7
- package/fesm2022/ngx-tethys-collapse.mjs +10 -10
- package/fesm2022/ngx-tethys-color-picker.mjs +65 -57
- package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-comment.mjs +13 -13
- package/fesm2022/ngx-tethys-copy.mjs +10 -10
- package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
- package/fesm2022/ngx-tethys-core.mjs +30 -25
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-picker.mjs +184 -174
- package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-date-range.mjs +16 -16
- package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dialog.mjs +24 -24
- package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
- package/fesm2022/ngx-tethys-divider.mjs +7 -7
- package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dot.mjs +7 -7
- package/fesm2022/ngx-tethys-drag-drop.mjs +24 -24
- package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
- package/fesm2022/ngx-tethys-dropdown.mjs +48 -47
- package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
- package/fesm2022/ngx-tethys-empty.mjs +13 -13
- package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
- package/fesm2022/ngx-tethys-flexible-text.mjs +7 -7
- package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
- package/fesm2022/ngx-tethys-form.mjs +64 -61
- package/fesm2022/ngx-tethys-form.mjs.map +1 -1
- package/fesm2022/ngx-tethys-fullscreen.mjs +18 -15
- package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
- package/fesm2022/ngx-tethys-grid.mjs +34 -33
- package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
- package/fesm2022/ngx-tethys-guider.mjs +25 -24
- package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-i18n.mjs +3 -3
- package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
- package/fesm2022/ngx-tethys-icon.mjs +15 -13
- package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
- package/fesm2022/ngx-tethys-image.mjs +31 -29
- package/fesm2022/ngx-tethys-image.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input-number.mjs +17 -10
- package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
- package/fesm2022/ngx-tethys-input.mjs +28 -27
- package/fesm2022/ngx-tethys-input.mjs.map +1 -1
- package/fesm2022/ngx-tethys-layout.mjs +63 -63
- package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
- package/fesm2022/ngx-tethys-list.mjs +21 -18
- package/fesm2022/ngx-tethys-list.mjs.map +1 -1
- package/fesm2022/ngx-tethys-loading.mjs +7 -7
- package/fesm2022/ngx-tethys-mention.mjs +35 -31
- package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +26 -26
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-message.mjs +24 -24
- package/fesm2022/ngx-tethys-message.mjs.map +1 -1
- package/fesm2022/ngx-tethys-nav.mjs +27 -27
- package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
- package/fesm2022/ngx-tethys-notify.mjs +20 -20
- package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
- package/fesm2022/ngx-tethys-pagination.mjs +18 -18
- package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +22 -21
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-progress.mjs +17 -17
- package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property-operation.mjs +11 -11
- package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
- package/fesm2022/ngx-tethys-property.mjs +12 -11
- package/fesm2022/ngx-tethys-property.mjs.map +1 -1
- package/fesm2022/ngx-tethys-radio.mjs +17 -17
- package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
- package/fesm2022/ngx-tethys-rate.mjs +12 -12
- package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
- package/fesm2022/ngx-tethys-resizable.mjs +21 -18
- package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
- package/fesm2022/ngx-tethys-result.mjs +11 -11
- package/fesm2022/ngx-tethys-result.mjs.map +1 -1
- package/fesm2022/ngx-tethys-segment.mjs +19 -16
- package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
- package/fesm2022/ngx-tethys-select.mjs +60 -38
- package/fesm2022/ngx-tethys-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-shared.mjs +82 -79
- package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
- package/fesm2022/ngx-tethys-skeleton.mjs +32 -32
- package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slide.mjs +37 -36
- package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
- package/fesm2022/ngx-tethys-slider.mjs +11 -11
- package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
- package/fesm2022/ngx-tethys-space.mjs +10 -10
- package/fesm2022/ngx-tethys-statistic.mjs +7 -7
- package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
- package/fesm2022/ngx-tethys-stepper.mjs +22 -22
- package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
- package/fesm2022/ngx-tethys-strength.mjs +7 -7
- package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
- package/fesm2022/ngx-tethys-switch.mjs +7 -7
- package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
- package/fesm2022/ngx-tethys-table.mjs +28 -28
- package/fesm2022/ngx-tethys-table.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tabs.mjs +13 -13
- package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tag.mjs +11 -11
- package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
- package/fesm2022/ngx-tethys-testing.mjs +1 -1
- package/fesm2022/ngx-tethys-testing.mjs.map +1 -1
- package/fesm2022/ngx-tethys-time-picker.mjs +22 -22
- package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-tethys-timeline.mjs +14 -14
- package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tooltip.mjs +19 -16
- package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
- package/fesm2022/ngx-tethys-transfer.mjs +15 -15
- package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +17 -17
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree.mjs +50 -43
- package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
- package/fesm2022/ngx-tethys-typography.mjs +16 -16
- package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +26 -25
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys-util.mjs +11 -5
- package/fesm2022/ngx-tethys-util.mjs.map +1 -1
- package/fesm2022/ngx-tethys-vote.mjs +7 -7
- package/fesm2022/ngx-tethys-watermark.mjs +18 -15
- package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/flexible-text/index.d.ts +5 -5
- package/form/index.d.ts +26 -22
- package/fullscreen/index.d.ts +4 -4
- package/grid/index.d.ts +12 -12
- package/guider/index.d.ts +10 -10
- package/i18n/index.d.ts +1 -1
- package/icon/index.d.ts +3 -3
- package/image/index.d.ts +12 -12
- package/input/index.d.ts +22 -22
- package/input-number/index.d.ts +4 -4
- package/layout/index.d.ts +16 -16
- package/list/index.d.ts +16 -15
- package/mention/index.d.ts +4 -4
- package/menu/index.d.ts +7 -7
- package/message/index.d.ts +5 -5
- package/nav/index.d.ts +12 -12
- package/notify/index.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/index.d.ts +21 -17
- package/popover/index.d.ts +8 -8
- package/progress/index.d.ts +18 -18
- package/property/index.d.ts +6 -6
- package/property-operation/index.d.ts +3 -3
- package/radio/index.d.ts +6 -6
- package/rate/index.d.ts +5 -5
- package/resizable/index.d.ts +2 -2
- package/result/index.d.ts +8 -8
- package/schematics/testing/test-workspace.js +1 -0
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/segment/index.d.ts +9 -9
- package/select/index.d.ts +21 -21
- package/shared/index.d.ts +29 -29
- package/skeleton/index.d.ts +52 -52
- package/slide/index.d.ts +5 -5
- package/slider/index.d.ts +6 -6
- package/space/index.d.ts +1 -1
- package/statistic/index.d.ts +18 -18
- package/stepper/index.d.ts +8 -8
- package/switch/index.d.ts +2 -2
- package/table/index.d.ts +24 -24
- package/tabs/index.d.ts +6 -6
- package/testing/index.d.ts +1 -1
- package/time-picker/index.d.ts +21 -21
- package/timeline/index.d.ts +8 -8
- package/tooltip/index.d.ts +12 -12
- package/transfer/index.d.ts +16 -16
- package/tree/index.d.ts +28 -28
- package/tree-select/index.d.ts +13 -13
- package/typography/index.d.ts +3 -3
- package/upload/index.d.ts +4 -4
- package/util/index.d.ts +17 -7
- package/vote/index.d.ts +2 -2
- package/watermark/index.d.ts +2 -2
|
@@ -42,6 +42,7 @@ class ThyTreeNode {
|
|
|
42
42
|
else if (this.parentNode) {
|
|
43
43
|
return this.parentNode.treeService;
|
|
44
44
|
}
|
|
45
|
+
return;
|
|
45
46
|
}
|
|
46
47
|
constructor(node, parent = null, service) {
|
|
47
48
|
this.level = 0;
|
|
@@ -88,17 +89,17 @@ class ThyTreeNode {
|
|
|
88
89
|
}
|
|
89
90
|
setExpanded(expanded, propagate = false) {
|
|
90
91
|
this._setExpanded(expanded, propagate);
|
|
91
|
-
this.treeService
|
|
92
|
+
this.treeService?.syncFlattenTreeNodes();
|
|
92
93
|
}
|
|
93
94
|
setLoading(loading) {
|
|
94
95
|
this.isLoading = loading;
|
|
95
|
-
this.treeService
|
|
96
|
+
this.treeService?.syncFlattenTreeNodes();
|
|
96
97
|
}
|
|
97
98
|
setChecked(checked, propagateUp = true, propagateDown = true) {
|
|
98
|
-
this.treeService
|
|
99
|
+
this.treeService?.setNodeChecked(this, checked, propagateUp, propagateDown);
|
|
99
100
|
}
|
|
100
101
|
syncNodeCheckState() {
|
|
101
|
-
this.treeService
|
|
102
|
+
this.treeService?.syncNodeCheckState(this);
|
|
102
103
|
}
|
|
103
104
|
getParentNode() {
|
|
104
105
|
return this.parentNode;
|
|
@@ -118,7 +119,7 @@ class ThyTreeNode {
|
|
|
118
119
|
});
|
|
119
120
|
this.origin.children = this.getChildren().map(n => n.origin);
|
|
120
121
|
this.setLoading(false);
|
|
121
|
-
this.treeService
|
|
122
|
+
this.treeService?.statusChange$?.next({
|
|
122
123
|
eventName: 'addChildren',
|
|
123
124
|
node: this
|
|
124
125
|
});
|
|
@@ -155,7 +156,7 @@ class ThyTreeService {
|
|
|
155
156
|
}
|
|
156
157
|
initializeTreeNodes(rootNodes) {
|
|
157
158
|
this.originTreeNodes = rootNodes || [];
|
|
158
|
-
this.treeNodes = (rootNodes || []).map(node => new ThyTreeNode(node,
|
|
159
|
+
this.treeNodes = (rootNodes || []).map(node => new ThyTreeNode(node, undefined, this));
|
|
159
160
|
}
|
|
160
161
|
syncFlattenTreeNodes() {
|
|
161
162
|
this.flattenTreeNodes.set(this.getParallelTreeNodes(this.treeNodes, false));
|
|
@@ -296,10 +297,10 @@ class ThyTreeService {
|
|
|
296
297
|
this.statusChange$.complete();
|
|
297
298
|
this.statusChange$ = null;
|
|
298
299
|
}
|
|
299
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
300
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
301
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService }); }
|
|
301
302
|
}
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeService, decorators: [{
|
|
303
304
|
type: Injectable
|
|
304
305
|
}], ctorParameters: () => [] });
|
|
305
306
|
|
|
@@ -315,7 +316,7 @@ class ThyTreeNodeComponent {
|
|
|
315
316
|
/**
|
|
316
317
|
* node 节点展现所需的数据
|
|
317
318
|
*/
|
|
318
|
-
this.node = input(
|
|
319
|
+
this.node = input.required(...(ngDevMode ? [{ debugName: "node" }] : []));
|
|
319
320
|
/**
|
|
320
321
|
* 设置 TreeNode 是否支持异步加载
|
|
321
322
|
*/
|
|
@@ -336,7 +337,7 @@ class ThyTreeNodeComponent {
|
|
|
336
337
|
* 点击节点的行为,`default` 为选中当前节点,`selectCheckbox` 为选中节点的 Checkbox, `thyCheckable` 为 true 时生效。
|
|
337
338
|
* @default default
|
|
338
339
|
*/
|
|
339
|
-
this.thyClickBehavior = input(
|
|
340
|
+
this.thyClickBehavior = input(...(ngDevMode ? [undefined, { debugName: "thyClickBehavior" }] : []));
|
|
340
341
|
/**
|
|
341
342
|
* 设置节点名称是否支持超出截取
|
|
342
343
|
* @default false
|
|
@@ -465,16 +466,16 @@ class ThyTreeNodeComponent {
|
|
|
465
466
|
isShowExpand(node) {
|
|
466
467
|
return this.root.isShowExpand(node);
|
|
467
468
|
}
|
|
468
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
469
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
469
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
470
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyTreeNodeComponent, isStandalone: true, selector: "thy-tree-node", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, templateRef: { classPropertyName: "templateRef", publicName: "templateRef", isSignal: true, isRequired: false, transformFunction: null }, emptyChildrenTemplateRef: { classPropertyName: "emptyChildrenTemplateRef", publicName: "emptyChildrenTemplateRef", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyOnClick: "thyOnClick", thyDblClick: "thyDblClick", thyOnExpandChange: "thyOnExpandChange", thyOnCheckboxChange: "thyOnCheckboxChange" }, host: { properties: { "class.thy-tree-node": "true", "class": "itemClass()" } }, queries: [{ propertyName: "childrenTreeTemplateRef", first: true, predicate: ["childrenTree"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "treeNodeWrapper", first: true, predicate: ["treeNodeWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\">\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon class=\"thy-tree-expand-icon\" [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\" />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
470
471
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
472
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeComponent, decorators: [{
|
|
472
473
|
type: Component,
|
|
473
|
-
args: [{ selector: 'thy-tree-node', encapsulation: ViewEncapsulation.None, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], host: {
|
|
474
|
+
args: [{ selector: 'thy-tree-node', standalone: true, encapsulation: ViewEncapsulation.None, imports: [ThyIcon, NgClass, NgStyle, NgTemplateOutlet, ThyLoading], host: {
|
|
474
475
|
'[class.thy-tree-node]': 'true',
|
|
475
476
|
'[class]': 'itemClass()'
|
|
476
|
-
}, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\"
|
|
477
|
-
}], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required:
|
|
477
|
+
}, template: "<div\n #treeNodeWrapper\n class=\"thy-tree-node-wrapper\"\n [class.active]=\"root.isSelected(node())\"\n [class.disabled]=\"node().isDisabled\"\n [class.expand]=\"node().children.length\"\n [style.height]=\"thyItemSize() + 'px'\"\n (click)=\"clickNode($event)\">\n <span class=\"thy-tree-index\" [style.width.px]=\"node().level * thyIndent()\"></span>\n <span class=\"thy-tree-drag-icon\">\n <thy-icon thyIconName=\"drag\"></thy-icon>\n </span>\n <span class=\"thy-tree-expand\" (click)=\"expandNode($event)\">\n @if (isShowExpand(node())) {\n @if ((node().children && node().children.length > 0) || thyAsync() || emptyChildrenTemplateRef()) {\n @if (root.icons()?.expand && root.icons()?.collapse) {\n <thy-icon class=\"thy-tree-expand-icon\" [thyIconName]=\"node().isExpanded ? root.icons().expand : root.icons().collapse\"></thy-icon>\n } @else {\n <thy-icon class=\"thy-tree-expand-icon\" [class.collapse]=\"!node().isExpanded\" thyIconName=\"caret-right-down\"></thy-icon>\n }\n }\n }\n </span>\n\n <span class=\"thy-tree-node-content\" (dblclick)=\"dbClickNode($event)\">\n @if (thyCheckable()) {\n <input\n type=\"checkbox\"\n class=\"thy-tree-node-check\"\n [class.form-check-indeterminate]=\"node().isChecked === checkState.indeterminate\"\n [class.form-unchecked]=\"node().isChecked === checkState.unchecked\"\n [checked]=\"node().isChecked === checkState.checked\"\n [disabled]=\"node().isDisabled\"\n (click)=\"clickNodeCheck($event)\" />\n }\n @if (!templateRef()) {\n @if (nodeIcon()) {\n <span class=\"thy-tree-node-icon\"> <i [ngClass]=\"nodeIcon()\" [ngStyle]=\"nodeIconStyle()\"></i></span>\n }\n <span [title]=\"node().title\" class=\"thy-tree-node-title\" [class.truncate]=\"thyTitleTruncate()\"> {{ node().title }}</span>\n }\n @if (templateRef()) {\n <ng-template\n [ngTemplateOutlet]=\"templateRef()\"\n [ngTemplateOutletContext]=\"{ $implicit: node(), node: node(), origin: node()?.origin }\"></ng-template>\n }\n </span>\n</div>\n@if (thyAsync()) {\n @if (node().isLoading) {\n <thy-loading [thyDone]=\"!node().isLoading\"></thy-loading>\n }\n}\n" }]
|
|
478
|
+
}], propDecorators: { node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: true }] }], thyAsync: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAsync", required: false }] }], thyMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyMultiple", required: false }] }], thyDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDraggable", required: false }] }], thyCheckable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckable", required: false }] }], thyClickBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyClickBehavior", required: false }] }], thyTitleTruncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTruncate", required: false }] }], templateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "templateRef", required: false }] }], emptyChildrenTemplateRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyChildrenTemplateRef", required: false }] }], thyOnClick: [{ type: i0.Output, args: ["thyOnClick"] }], thyDblClick: [{ type: i0.Output, args: ["thyDblClick"] }], thyOnExpandChange: [{ type: i0.Output, args: ["thyOnExpandChange"] }], thyOnCheckboxChange: [{ type: i0.Output, args: ["thyOnCheckboxChange"] }], childrenTreeTemplateRef: [{ type: i0.ContentChild, args: ['childrenTree', { isSignal: true }] }], treeNodeWrapper: [{ type: i0.ViewChild, args: ['treeNodeWrapper', { isSignal: true }] }], thyItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyItemSize", required: false }] }], thyIndent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIndent", required: false }] }] } });
|
|
478
479
|
|
|
479
480
|
/**
|
|
480
481
|
* @private
|
|
@@ -489,13 +490,14 @@ class ThyTreeNodeDraggablePipe {
|
|
|
489
490
|
return true;
|
|
490
491
|
}
|
|
491
492
|
}
|
|
492
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
493
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.
|
|
493
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
494
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, isStandalone: true, name: "treeNodeDraggable" }); }
|
|
494
495
|
}
|
|
495
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeNodeDraggablePipe, decorators: [{
|
|
496
497
|
type: Pipe,
|
|
497
498
|
args: [{
|
|
498
|
-
name: 'treeNodeDraggable'
|
|
499
|
+
name: 'treeNodeDraggable',
|
|
500
|
+
standalone: true
|
|
499
501
|
}]
|
|
500
502
|
}] });
|
|
501
503
|
|
|
@@ -525,6 +527,9 @@ class ThyTree {
|
|
|
525
527
|
// 缓存 Element 和 DragRef 的关系,方便在 Item 拖动时查找
|
|
526
528
|
this.nodeDragsMap = new Map();
|
|
527
529
|
this.nodeDragMoved = new Subject();
|
|
530
|
+
this.startDragNodeClone = null;
|
|
531
|
+
// Node 拖动经过目标时临时记录目标id以及相对应目标的位置
|
|
532
|
+
this.nodeDropTarget = null;
|
|
528
533
|
this.dropEnterPredicate = context => {
|
|
529
534
|
return (this.isShowExpand(context.target) || (!this.isShowExpand(context.target) && context.dropPosition !== ThyTreeDropPosition.in));
|
|
530
535
|
};
|
|
@@ -537,7 +542,7 @@ class ThyTree {
|
|
|
537
542
|
* TreeNode 展现所需的数据
|
|
538
543
|
* @type ThyTreeNodeData[]
|
|
539
544
|
*/
|
|
540
|
-
this.thyNodes = model(
|
|
545
|
+
this.thyNodes = model(...(ngDevMode ? [undefined, { debugName: "thyNodes" }] : []));
|
|
541
546
|
/**
|
|
542
547
|
* 设置 TreeNode 是否支持展开
|
|
543
548
|
* @type boolean | Function
|
|
@@ -635,11 +640,11 @@ class ThyTree {
|
|
|
635
640
|
* 已选中的 node 节点集合
|
|
636
641
|
* @default []
|
|
637
642
|
*/
|
|
638
|
-
this.thySelectedKeys = input(
|
|
643
|
+
this.thySelectedKeys = input(...(ngDevMode ? [undefined, { debugName: "thySelectedKeys" }] : []));
|
|
639
644
|
/**
|
|
640
645
|
* 展开指定的树节点
|
|
641
646
|
*/
|
|
642
|
-
this.thyExpandedKeys = input(
|
|
647
|
+
this.thyExpandedKeys = input(...(ngDevMode ? [undefined, { debugName: "thyExpandedKeys" }] : []));
|
|
643
648
|
/**
|
|
644
649
|
* 是否展开所有树节点
|
|
645
650
|
*/
|
|
@@ -652,11 +657,11 @@ class ThyTree {
|
|
|
652
657
|
/**
|
|
653
658
|
* 拖拽之前的回调,函数返回 false 则阻止拖拽
|
|
654
659
|
*/
|
|
655
|
-
this.thyBeforeDragStart = input(
|
|
660
|
+
this.thyBeforeDragStart = input(...(ngDevMode ? [undefined, { debugName: "thyBeforeDragStart" }] : []));
|
|
656
661
|
/**
|
|
657
662
|
* 拖放到元素时回调,函数返回 false 则阻止拖放到当前元素
|
|
658
663
|
*/
|
|
659
|
-
this.thyBeforeDragDrop = input(
|
|
664
|
+
this.thyBeforeDragDrop = input(...(ngDevMode ? [undefined, { debugName: "thyBeforeDragDrop" }] : []));
|
|
660
665
|
/**
|
|
661
666
|
* 设置子 TreeNode 点击事件
|
|
662
667
|
*/
|
|
@@ -823,12 +828,12 @@ class ThyTree {
|
|
|
823
828
|
}
|
|
824
829
|
onDragMoved(event) {
|
|
825
830
|
// 通过鼠标位置查找对应的目标 Item 元素
|
|
826
|
-
|
|
831
|
+
const currentPointElement = this.document.elementFromPoint(event.pointerPosition.x, event.pointerPosition.y);
|
|
827
832
|
if (!currentPointElement) {
|
|
828
833
|
this.cleanupDragArtifacts();
|
|
829
834
|
return;
|
|
830
835
|
}
|
|
831
|
-
|
|
836
|
+
const targetElement = currentPointElement.classList.contains('thy-tree-node')
|
|
832
837
|
? currentPointElement
|
|
833
838
|
: currentPointElement.closest('.thy-tree-node');
|
|
834
839
|
if (!targetElement) {
|
|
@@ -877,7 +882,7 @@ class ThyTree {
|
|
|
877
882
|
}
|
|
878
883
|
const sourceNode = this.startDragNodeClone;
|
|
879
884
|
const sourceNodeParent = sourceNode.parentNode;
|
|
880
|
-
const targetDragRef = this.cdkDrags().find(item => item.data?.key === this.nodeDropTarget
|
|
885
|
+
const targetDragRef = this.cdkDrags().find(item => item.data?.key === this.nodeDropTarget?.key);
|
|
881
886
|
const targetNode = targetDragRef?.data;
|
|
882
887
|
const targetNodeParent = targetNode.parentNode;
|
|
883
888
|
const beforeDragDropContext = {
|
|
@@ -894,21 +899,23 @@ class ThyTree {
|
|
|
894
899
|
}
|
|
895
900
|
this.thyTreeService.deleteTreeNode(sourceNode);
|
|
896
901
|
switch (this.nodeDropTarget.position) {
|
|
897
|
-
case 'before':
|
|
902
|
+
case 'before': {
|
|
898
903
|
const beforeInsertIndex = (targetNodeParent?.children || this.treeNodes).indexOf(targetNode);
|
|
899
904
|
this.thyTreeService.addTreeNode(sourceNode, targetNodeParent, beforeInsertIndex);
|
|
900
905
|
break;
|
|
901
|
-
|
|
906
|
+
}
|
|
907
|
+
case 'after': {
|
|
902
908
|
const afterInsertIndex = (targetNodeParent?.children || this.treeNodes).indexOf(targetNode) + 1;
|
|
903
909
|
this.thyTreeService.addTreeNode(sourceNode, targetNodeParent, afterInsertIndex);
|
|
904
910
|
break;
|
|
911
|
+
}
|
|
905
912
|
case 'in':
|
|
906
913
|
this.thyTreeService.addTreeNode(sourceNode, targetNode);
|
|
907
914
|
break;
|
|
908
915
|
}
|
|
909
916
|
this.thyTreeService.syncFlattenTreeNodes();
|
|
910
|
-
let after =
|
|
911
|
-
let targe =
|
|
917
|
+
let after = undefined;
|
|
918
|
+
let targe = undefined;
|
|
912
919
|
if (beforeDragDropContext.position === ThyTreeDropPosition.before) {
|
|
913
920
|
const targetContainerNodes = targetNodeParent?.children || this.treeNodes;
|
|
914
921
|
after = targetContainerNodes[targetContainerNodes.indexOf(targetNode) - 2];
|
|
@@ -981,7 +988,7 @@ class ThyTree {
|
|
|
981
988
|
return this.thyTreeService.getCheckedNodes();
|
|
982
989
|
}
|
|
983
990
|
addTreeNode(node, parent, index = -1) {
|
|
984
|
-
this.thyTreeService.addTreeNode(new ThyTreeNode(node,
|
|
991
|
+
this.thyTreeService.addTreeNode(new ThyTreeNode(node, undefined, this.thyTreeService), parent, index);
|
|
985
992
|
this.thyTreeService.syncFlattenTreeNodes();
|
|
986
993
|
}
|
|
987
994
|
deleteTreeNode(node) {
|
|
@@ -999,8 +1006,8 @@ class ThyTree {
|
|
|
999
1006
|
const nodes = this.treeNodes;
|
|
1000
1007
|
nodes.forEach(n => n.setExpanded(false, true));
|
|
1001
1008
|
}
|
|
1002
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1003
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
1009
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTree, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1010
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: ThyTree, isStandalone: true, selector: "thy-tree", inputs: { thyNodes: { classPropertyName: "thyNodes", publicName: "thyNodes", isSignal: true, isRequired: false, transformFunction: null }, thyShowExpand: { classPropertyName: "thyShowExpand", publicName: "thyShowExpand", isSignal: true, isRequired: false, transformFunction: null }, thyMultiple: { classPropertyName: "thyMultiple", publicName: "thyMultiple", isSignal: true, isRequired: false, transformFunction: null }, thyDraggable: { classPropertyName: "thyDraggable", publicName: "thyDraggable", isSignal: true, isRequired: false, transformFunction: null }, thyCheckable: { classPropertyName: "thyCheckable", publicName: "thyCheckable", isSignal: true, isRequired: false, transformFunction: null }, thyClickBehavior: { classPropertyName: "thyClickBehavior", publicName: "thyClickBehavior", isSignal: true, isRequired: false, transformFunction: null }, thyCheckStateResolve: { classPropertyName: "thyCheckStateResolve", publicName: "thyCheckStateResolve", isSignal: true, isRequired: false, transformFunction: null }, thyAsync: { classPropertyName: "thyAsync", publicName: "thyAsync", isSignal: true, isRequired: false, transformFunction: null }, thyType: { classPropertyName: "thyType", publicName: "thyType", isSignal: true, isRequired: false, transformFunction: null }, thyIcons: { classPropertyName: "thyIcons", publicName: "thyIcons", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyVirtualScroll: { classPropertyName: "thyVirtualScroll", publicName: "thyVirtualScroll", isSignal: true, isRequired: false, transformFunction: null }, thyItemSize: { classPropertyName: "thyItemSize", publicName: "thyItemSize", isSignal: true, isRequired: false, transformFunction: null }, thyTitleTruncate: { classPropertyName: "thyTitleTruncate", publicName: "thyTitleTruncate", isSignal: true, isRequired: false, transformFunction: null }, thySelectedKeys: { classPropertyName: "thySelectedKeys", publicName: "thySelectedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandedKeys: { classPropertyName: "thyExpandedKeys", publicName: "thyExpandedKeys", isSignal: true, isRequired: false, transformFunction: null }, thyExpandAll: { classPropertyName: "thyExpandAll", publicName: "thyExpandAll", isSignal: true, isRequired: false, transformFunction: null }, thyIndent: { classPropertyName: "thyIndent", publicName: "thyIndent", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragStart: { classPropertyName: "thyBeforeDragStart", publicName: "thyBeforeDragStart", isSignal: true, isRequired: false, transformFunction: null }, thyBeforeDragDrop: { classPropertyName: "thyBeforeDragDrop", publicName: "thyBeforeDragDrop", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thyNodes: "thyNodesChange", thyOnClick: "thyOnClick", thyOnCheckboxChange: "thyOnCheckboxChange", thyOnExpandChange: "thyOnExpandChange", thyOnDragDrop: "thyOnDragDrop", thyDblClick: "thyDblClick" }, host: { properties: { "class.thy-multiple-selection-list": "thyMultiple()", "class.thy-virtual-scrolling-tree": "thyVirtualScroll()", "class.thy-tree-draggable": "thyDraggable()", "class.thy-tree-dragging": "dragging()" }, classAttribute: "thy-tree" }, providers: [
|
|
1004
1011
|
{
|
|
1005
1012
|
provide: NG_VALUE_ACCESSOR,
|
|
1006
1013
|
useExisting: forwardRef(() => ThyTree),
|
|
@@ -1011,9 +1018,9 @@ class ThyTree {
|
|
|
1011
1018
|
useExisting: forwardRef(() => ThyTree)
|
|
1012
1019
|
},
|
|
1013
1020
|
ThyTreeService
|
|
1014
|
-
], queries: [{ propertyName: "templateRef", first: true, predicate: ["treeNodeTemplate"], descendants: true, isSignal: true }, { propertyName: "emptyChildrenTemplate", first: true, predicate: ["emptyChildrenTemplate"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "cdkDrags", predicate: CdkDrag, descendants: true, isSignal: true }], ngImport: i0, template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\"
|
|
1021
|
+
], queries: [{ propertyName: "templateRef", first: true, predicate: ["treeNodeTemplate"], descendants: true, isSignal: true }, { propertyName: "emptyChildrenTemplate", first: true, predicate: ["emptyChildrenTemplate"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, isSignal: true }, { propertyName: "cdkDrags", predicate: CdkDrag, descendants: true, isSignal: true }], ngImport: i0, template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n", dependencies: [{ kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: ThyTreeNodeComponent, selector: "thy-tree-node", inputs: ["node", "thyAsync", "thyMultiple", "thyDraggable", "thyCheckable", "thyClickBehavior", "thyTitleTruncate", "templateRef", "emptyChildrenTemplateRef", "thyItemSize", "thyIndent"], outputs: ["thyOnClick", "thyDblClick", "thyOnExpandChange", "thyOnCheckboxChange"] }, { kind: "pipe", type: ThyTreeNodeDraggablePipe, name: "treeNodeDraggable" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1015
1022
|
}
|
|
1016
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTree, decorators: [{
|
|
1017
1024
|
type: Component,
|
|
1018
1025
|
args: [{ selector: 'thy-tree', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
1019
1026
|
class: 'thy-tree',
|
|
@@ -1040,12 +1047,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
1040
1047
|
CdkVirtualForOf,
|
|
1041
1048
|
ThyTreeNodeComponent,
|
|
1042
1049
|
ThyTreeNodeDraggablePipe
|
|
1043
|
-
], template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\"
|
|
1050
|
+
], template: "@let flattenTreeNodesValue = flattenTreeNodes();\n@let draggable = thyDraggable();\n@let async = thyAsync();\n@let checkable = thyCheckable();\n@let multiple = thyMultiple();\n@let titleTruncate = thyTitleTruncate();\n@let indent = thyIndent();\n@let clickBehavior = thyClickBehavior();\n\n@if (thyVirtualScroll()) {\n <cdk-virtual-scroll-viewport\n #viewport\n [itemSize]=\"itemSize()\"\n [style.height]=\"'100%'\"\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n <div class=\"virtual-trees-container\">\n <thy-tree-node\n *cdkVirtualFor=\"let node of flattenTreeNodesValue; trackBy: trackByFn; let i = index\"\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"eventTriggerChanged($event)\">\n </thy-tree-node>\n </div>\n </cdk-virtual-scroll-viewport>\n}\n\n@if (!thyVirtualScroll()) {\n <div\n cdkDropList\n [cdkDropListAutoScrollStep]=\"6\"\n [cdkDropListData]=\"flattenTreeNodesValue\"\n [cdkDropListSortingDisabled]=\"true\"\n (cdkDropListDropped)=\"onListDropped($event)\">\n @for (node of flattenTreeNodesValue; track trackByFn(i, node); let i = $index) {\n <thy-tree-node\n cdkDrag\n [cdkDragData]=\"node\"\n [cdkDragDisabled]=\"!draggable || !(node | treeNodeDraggable: thyBeforeDragStart())\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragEnded)=\"onDragEnded($event)\"\n (cdkDragMoved)=\"emitDragMoved($event)\"\n [node]=\"node\"\n [templateRef]=\"templateRef()\"\n [emptyChildrenTemplateRef]=\"emptyChildrenTemplate()\"\n [thyAsync]=\"async\"\n [thyDraggable]=\"draggable\"\n [thyCheckable]=\"checkable\"\n [thyMultiple]=\"multiple\"\n [thyTitleTruncate]=\"titleTruncate\"\n [thyItemSize]=\"itemSize()\"\n [thyClickBehavior]=\"clickBehavior\"\n [thyIndent]=\"indent\"\n (thyOnClick)=\"thyOnClick.emit($event)\"\n (thyDblClick)=\"thyDblClick.emit($event)\"\n (thyOnExpandChange)=\"eventTriggerChanged($event)\"\n (thyOnCheckboxChange)=\"thyOnCheckboxChange.emit($event)\">\n </thy-tree-node>\n }\n </div>\n}\n" }]
|
|
1044
1051
|
}], ctorParameters: () => [], propDecorators: { viewport: [{ type: i0.ViewChild, args: ['viewport', { isSignal: true }] }], thyNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyNodes", required: false }] }, { type: i0.Output, args: ["thyNodesChange"] }], thyShowExpand: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyShowExpand", required: false }] }], thyMultiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyMultiple", required: false }] }], thyDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyDraggable", required: false }] }], thyCheckable: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckable", required: false }] }], thyClickBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyClickBehavior", required: false }] }], thyCheckStateResolve: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyCheckStateResolve", required: false }] }], thyAsync: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyAsync", required: false }] }], thyType: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyType", required: false }] }], thyIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIcons", required: false }] }], thySize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySize", required: false }] }], thyVirtualScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyVirtualScroll", required: false }] }], thyItemSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyItemSize", required: false }] }], thyTitleTruncate: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyTitleTruncate", required: false }] }], thySelectedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "thySelectedKeys", required: false }] }], thyExpandedKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyExpandedKeys", required: false }] }], thyExpandAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyExpandAll", required: false }] }], thyIndent: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyIndent", required: false }] }], thyBeforeDragStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyBeforeDragStart", required: false }] }], thyBeforeDragDrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "thyBeforeDragDrop", required: false }] }], thyOnClick: [{ type: i0.Output, args: ["thyOnClick"] }], thyOnCheckboxChange: [{ type: i0.Output, args: ["thyOnCheckboxChange"] }], thyOnExpandChange: [{ type: i0.Output, args: ["thyOnExpandChange"] }], thyOnDragDrop: [{ type: i0.Output, args: ["thyOnDragDrop"] }], thyDblClick: [{ type: i0.Output, args: ["thyDblClick"] }], templateRef: [{ type: i0.ContentChild, args: ['treeNodeTemplate', { isSignal: true }] }], emptyChildrenTemplate: [{ type: i0.ContentChild, args: ['emptyChildrenTemplate', { isSignal: true }] }], cdkDrags: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => CdkDrag), { isSignal: true }] }] } });
|
|
1045
1052
|
|
|
1046
1053
|
class ThyTreeModule {
|
|
1047
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1048
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
1054
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1055
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, imports: [DragDropModule,
|
|
1049
1056
|
CommonModule,
|
|
1050
1057
|
ThyInputModule,
|
|
1051
1058
|
ThyButtonModule,
|
|
@@ -1060,7 +1067,7 @@ class ThyTreeModule {
|
|
|
1060
1067
|
ThyTree,
|
|
1061
1068
|
ThyTreeNodeComponent,
|
|
1062
1069
|
ThyTreeNodeDraggablePipe], exports: [ThyTree, ThyTreeNodeComponent] }); }
|
|
1063
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
1070
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, providers: [ThyTreeService], imports: [DragDropModule,
|
|
1064
1071
|
CommonModule,
|
|
1065
1072
|
ThyInputModule,
|
|
1066
1073
|
ThyButtonModule,
|
|
@@ -1075,7 +1082,7 @@ class ThyTreeModule {
|
|
|
1075
1082
|
ThyTree,
|
|
1076
1083
|
ThyTreeNodeComponent] }); }
|
|
1077
1084
|
}
|
|
1078
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1085
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ThyTreeModule, decorators: [{
|
|
1079
1086
|
type: NgModule,
|
|
1080
1087
|
args: [{
|
|
1081
1088
|
imports: [
|