primeng 20.1.1 → 20.2.0
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/accordion/index.d.ts +2 -2
- package/animateonscroll/index.d.ts +2 -2
- package/api/index.d.ts +4 -3
- package/autocomplete/index.d.ts +59 -13
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +5 -5
- package/base/index.d.ts +6 -6
- package/basecomponent/index.d.ts +1 -1
- package/baseeditableholder/index.d.ts +4 -4
- package/baseinput/index.d.ts +12 -12
- package/breadcrumb/index.d.ts +1 -2
- package/button/index.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/carousel/index.d.ts +6 -6
- package/cascadeselect/index.d.ts +9 -9
- package/checkbox/index.d.ts +3 -3
- package/chip/index.d.ts +14 -4
- package/classnames/index.d.ts +38 -0
- package/config/index.d.ts +2 -2
- package/confirmdialog/index.d.ts +3 -3
- package/contextmenu/index.d.ts +4 -4
- package/dataview/index.d.ts +1 -1
- package/datepicker/index.d.ts +1 -1
- package/dialog/index.d.ts +4 -3
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/dom/index.d.ts +4 -4
- package/dynamicdialog/index.d.ts +14 -14
- package/editor/index.d.ts +92 -13
- package/fesm2022/primeng-accordion.mjs +33 -21
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +8 -8
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +180 -50
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +15 -15
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-base.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs +3 -3
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-breadcrumb.mjs +21 -21
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +24 -23
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs +23 -23
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +31 -25
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +15 -14
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +48 -17
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +73 -0
- package/fesm2022/primeng-classnames.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +8 -7
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +16 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +24 -22
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +24 -22
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +11 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +23 -23
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +35 -16
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +27 -25
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +13 -10
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +28 -19
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +48 -39
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +69 -11
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +12 -11
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +15 -15
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -12
- package/fesm2022/primeng-fluid.mjs.map +1 -1
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-focustrap.mjs.map +1 -1
- package/fesm2022/primeng-galleria.mjs +42 -38
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-image.mjs +19 -16
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputmask.mjs +22 -13
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +52 -31
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +11 -11
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +10 -10
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +19 -10
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +10 -10
- package/fesm2022/primeng-listbox.mjs +124 -43
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +22 -20
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +35 -44
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +28 -27
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +33 -30
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +27 -18
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +58 -48
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +149 -43
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +15 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +11 -11
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +27 -26
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +25 -21
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +129 -48
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +11 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +15 -15
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +11 -11
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +48 -24
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +19 -19
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-select.mjs +56 -38
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +12 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +14 -14
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +32 -24
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +15 -15
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +21 -21
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +43 -43
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +15 -15
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +8 -8
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +178 -158
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +99 -55
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +10 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +26 -25
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-toast.mjs +14 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +20 -13
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-tooltip.mjs +16 -15
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +170 -221
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +17 -17
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +84 -77
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +20 -18
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fesm2022/primeng-utils.mjs.map +1 -1
- package/fieldset/index.d.ts +3 -2
- package/fileupload/index.d.ts +6 -6
- package/fluid/index.d.ts +0 -2
- package/galleria/index.d.ts +10 -10
- package/icons/baseicon/index.d.ts +1 -1
- package/image/index.d.ts +7 -7
- package/inputnumber/index.d.ts +7 -7
- package/inputotp/index.d.ts +3 -3
- package/inputtext/index.d.ts +6 -6
- package/keyfilter/index.d.ts +2 -2
- package/listbox/index.d.ts +31 -19
- package/megamenu/index.d.ts +1 -1
- package/menu/index.d.ts +1 -2
- package/message/index.d.ts +3 -2
- package/metergroup/index.d.ts +6 -6
- package/multiselect/index.d.ts +18 -17
- package/orderlist/index.d.ts +13 -7
- package/organizationchart/index.d.ts +2 -2
- package/overlay/index.d.ts +5 -5
- package/package.json +224 -220
- package/paginator/index.d.ts +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +8 -8
- package/password/index.d.ts +6 -6
- package/picklist/index.d.ts +17 -12
- package/radiobutton/index.d.ts +3 -3
- package/rating/index.d.ts +1 -1
- package/scroller/index.d.ts +7 -3
- package/select/index.d.ts +11 -11
- package/selectbutton/index.d.ts +3 -3
- package/slider/index.d.ts +2 -2
- package/speeddial/index.d.ts +9 -9
- package/splitter/index.d.ts +3 -3
- package/stepper/index.d.ts +4 -4
- package/steps/index.d.ts +3 -3
- package/table/index.d.ts +39 -31
- package/tabs/index.d.ts +23 -8
- package/tag/index.d.ts +1 -1
- package/textarea/index.d.ts +6 -6
- package/tieredmenu/index.d.ts +1 -1
- package/toast/index.d.ts +5 -5
- package/togglebutton/index.d.ts +4 -3
- package/toggleswitch/index.d.ts +1 -1
- package/tooltip/index.d.ts +11 -11
- package/tree/index.d.ts +31 -46
- package/treeselect/index.d.ts +6 -6
- package/treetable/index.d.ts +10 -10
- package/usestyle/index.d.ts +2 -2
- package/utils/index.d.ts +2 -2
@@ -1,10 +1,10 @@
|
|
1
1
|
import * as i1 from '@angular/common';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { Injectable, inject, forwardRef, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
4
|
+
import { Injectable, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
5
5
|
import * as i2 from '@angular/forms';
|
6
6
|
import { FormsModule } from '@angular/forms';
|
7
|
-
import { find, hasClass, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
|
7
|
+
import { getOuterWidth, getOuterHeight, find, hasClass, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
|
8
8
|
import * as i3 from 'primeng/api';
|
9
9
|
import { SharedModule, TranslationKeys, PrimeTemplate } from 'primeng/api';
|
10
10
|
import * as i4 from 'primeng/autofocus';
|
@@ -39,7 +39,7 @@ const classes = {
|
|
39
39
|
nodeContent: ({ instance }) => ({
|
40
40
|
'p-tree-node-content': true,
|
41
41
|
'p-tree-node-selectable': instance.selectable,
|
42
|
-
'p-tree-node-dragover': instance.
|
42
|
+
'p-tree-node-dragover': instance.isNodeDropActive(),
|
43
43
|
'p-tree-node-selected': instance.selectionMode === 'checkbox' && instance.tree.highlightOnSelect ? instance.checked : instance.selected
|
44
44
|
}),
|
45
45
|
nodeToggleButton: 'p-tree-node-toggle-button',
|
@@ -49,16 +49,16 @@ const classes = {
|
|
49
49
|
nodeLabel: 'p-tree-node-label',
|
50
50
|
nodeChildren: 'p-tree-node-children',
|
51
51
|
emptyMessage: 'p-tree-empty-message',
|
52
|
-
dropPoint:
|
52
|
+
dropPoint: 'p-tree-node-drop-point'
|
53
53
|
};
|
54
54
|
class TreeStyle extends BaseStyle {
|
55
55
|
name = 'tree';
|
56
56
|
theme = style;
|
57
57
|
classes = classes;
|
58
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
59
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2
|
58
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
59
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeStyle });
|
60
60
|
}
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeStyle, decorators: [{
|
62
62
|
type: Injectable
|
63
63
|
}] });
|
64
64
|
/**
|
@@ -153,9 +153,13 @@ class UITreeNode extends BaseComponent {
|
|
153
153
|
loadingMode;
|
154
154
|
tree = inject(forwardRef(() => Tree));
|
155
155
|
timeout;
|
156
|
-
|
157
|
-
|
158
|
-
|
156
|
+
isPrevDropPointHovered = signal(false, ...(ngDevMode ? [{ debugName: "isPrevDropPointHovered" }] : []));
|
157
|
+
isNextDropPointHovered = signal(false, ...(ngDevMode ? [{ debugName: "isNextDropPointHovered" }] : []));
|
158
|
+
isNodeDropHovered = signal(false, ...(ngDevMode ? [{ debugName: "isNodeDropHovered" }] : []));
|
159
|
+
isPrevDropPointActive = computed(() => this.isPrevDropPointHovered() && this.isDroppable(), ...(ngDevMode ? [{ debugName: "isPrevDropPointActive" }] : []));
|
160
|
+
isNextDropPointActive = computed(() => this.isNextDropPointHovered() && this.isDroppable(), ...(ngDevMode ? [{ debugName: "isNextDropPointActive" }] : []));
|
161
|
+
isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : []));
|
162
|
+
dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), ...(ngDevMode ? [{ debugName: "dropPosition" }] : []));
|
159
163
|
_componentStyle = inject(TreeStyle);
|
160
164
|
get selected() {
|
161
165
|
return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this.isSelected() : undefined;
|
@@ -167,7 +171,10 @@ class UITreeNode extends BaseComponent {
|
|
167
171
|
return this.tree._componentStyle.classes.node({ instance: this });
|
168
172
|
}
|
169
173
|
get selectable() {
|
170
|
-
return this.node
|
174
|
+
return this.node?.selectable === false ? false : this.tree?.selectionMode != null;
|
175
|
+
}
|
176
|
+
get subNodes() {
|
177
|
+
return this.node?.parent ? this.node.parent.children : this.tree.value;
|
171
178
|
}
|
172
179
|
ngOnInit() {
|
173
180
|
super.ngOnInit();
|
@@ -190,6 +197,24 @@ class UITreeNode extends BaseComponent {
|
|
190
197
|
isLeaf() {
|
191
198
|
return this.tree.isNodeLeaf(this.node);
|
192
199
|
}
|
200
|
+
isSelected() {
|
201
|
+
return this.tree.isSelected(this.node);
|
202
|
+
}
|
203
|
+
isSameNode(event) {
|
204
|
+
return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
|
205
|
+
}
|
206
|
+
isDraggable() {
|
207
|
+
return this.tree.draggableNodes;
|
208
|
+
}
|
209
|
+
isDroppable() {
|
210
|
+
return this.tree.droppableNodes && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope);
|
211
|
+
}
|
212
|
+
isNodeDroppable() {
|
213
|
+
return this.node?.droppable !== false && this.isDroppable();
|
214
|
+
}
|
215
|
+
isNodeDraggable() {
|
216
|
+
return this.node?.draggable !== false && this.isDraggable();
|
217
|
+
}
|
193
218
|
toggle(event) {
|
194
219
|
if (this.node.expanded)
|
195
220
|
this.collapse(event);
|
@@ -230,122 +255,43 @@ class UITreeNode extends BaseComponent {
|
|
230
255
|
onNodeDblClick(event) {
|
231
256
|
this.tree.onNodeDblClick(event, this.node);
|
232
257
|
}
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
|
238
|
-
}
|
239
|
-
onDropPoint(event, position) {
|
240
|
-
event.preventDefault();
|
241
|
-
let dragNode = this.tree.dragNode;
|
242
|
-
let dragNodeIndex = this.tree.dragNodeIndex;
|
243
|
-
let dragNodeScope = this.tree.dragNodeScope;
|
244
|
-
let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? position === 1 || dragNodeIndex !== this.index - 1 : true;
|
245
|
-
if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {
|
246
|
-
let dropParams = { ...this.createDropPointEventMetadata(position) };
|
247
|
-
if (this.tree.validateDrop) {
|
248
|
-
this.tree.onNodeDrop.emit({
|
249
|
-
originalEvent: event,
|
250
|
-
dragNode: dragNode,
|
251
|
-
dropNode: this.node,
|
252
|
-
index: this.index,
|
253
|
-
accept: () => {
|
254
|
-
this.processPointDrop(dropParams);
|
255
|
-
}
|
256
|
-
});
|
257
|
-
}
|
258
|
-
else {
|
259
|
-
this.processPointDrop(dropParams);
|
260
|
-
this.tree.onNodeDrop.emit({
|
261
|
-
originalEvent: event,
|
262
|
-
dragNode: dragNode,
|
263
|
-
dropNode: this.node,
|
264
|
-
index: this.index
|
265
|
-
});
|
266
|
-
}
|
267
|
-
}
|
268
|
-
this.draghoverPrev = false;
|
269
|
-
this.draghoverNext = false;
|
270
|
-
}
|
271
|
-
processPointDrop(event) {
|
272
|
-
let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;
|
273
|
-
event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);
|
274
|
-
let dropIndex = this.index;
|
275
|
-
if (event.position < 0) {
|
276
|
-
dropIndex = event.dragNodeSubNodes === newNodeList ? (event.dragNodeIndex > event.index ? event.index : event.index - 1) : event.index;
|
277
|
-
newNodeList.splice(dropIndex, 0, event.dragNode);
|
278
|
-
}
|
279
|
-
else {
|
280
|
-
dropIndex = newNodeList.length;
|
281
|
-
newNodeList.push(event.dragNode);
|
258
|
+
insertNodeOnDrop() {
|
259
|
+
const { dragNode, dragNodeIndex, dragNodeSubNodes } = this.tree;
|
260
|
+
if (!this.node || dragNodeIndex == null || !dragNode || !dragNodeSubNodes) {
|
261
|
+
return;
|
282
262
|
}
|
283
|
-
this.
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
dragNode: this.tree.dragNode,
|
292
|
-
dragNodeIndex: this.tree.dragNodeIndex,
|
293
|
-
dragNodeSubNodes: this.tree.dragNodeSubNodes,
|
294
|
-
dropNode: this.node,
|
295
|
-
index: this.index,
|
296
|
-
position: position
|
297
|
-
};
|
298
|
-
}
|
299
|
-
onDropPointDragOver(event) {
|
300
|
-
event.dataTransfer.dropEffect = 'move';
|
301
|
-
event.preventDefault();
|
302
|
-
}
|
303
|
-
onDropPointDragEnter(event, position) {
|
304
|
-
if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {
|
305
|
-
if (position < 0)
|
306
|
-
this.draghoverPrev = true;
|
307
|
-
else
|
308
|
-
this.draghoverNext = true;
|
263
|
+
const position = this.dropPosition();
|
264
|
+
let subNodes = this.subNodes || [];
|
265
|
+
dragNodeSubNodes.splice(dragNodeIndex, 1);
|
266
|
+
if (position < 0) {
|
267
|
+
// insert before a Node
|
268
|
+
const index = this.index || 0;
|
269
|
+
const dropIndex = dragNodeSubNodes === subNodes ? (dragNodeIndex > index ? index : index - 1) : index;
|
270
|
+
subNodes.splice(dropIndex, 0, dragNode);
|
309
271
|
}
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
this.draghoverNext = false;
|
314
|
-
}
|
315
|
-
onDragStart(event) {
|
316
|
-
if (this.tree.draggableNodes && this.node.draggable !== false) {
|
317
|
-
event.dataTransfer.setData('text', 'data');
|
318
|
-
this.tree.dragDropService.startDrag({
|
319
|
-
tree: this,
|
320
|
-
node: this.node,
|
321
|
-
subNodes: this.node?.parent ? this.node.parent.children : this.tree.value,
|
322
|
-
index: this.index,
|
323
|
-
scope: this.tree.draggableScope
|
324
|
-
});
|
272
|
+
else if (position > 0) {
|
273
|
+
// insert after a Node
|
274
|
+
subNodes.push(dragNode);
|
325
275
|
}
|
326
276
|
else {
|
327
|
-
|
277
|
+
// insert as child of a Node
|
278
|
+
this.node.children = this.node.children || [];
|
279
|
+
this.node.children.push(dragNode);
|
328
280
|
}
|
329
|
-
}
|
330
|
-
onDragStop(event) {
|
331
281
|
this.tree.dragDropService.stopDrag({
|
332
|
-
node:
|
333
|
-
subNodes
|
334
|
-
index:
|
282
|
+
node: dragNode,
|
283
|
+
subNodes,
|
284
|
+
index: dragNodeIndex
|
335
285
|
});
|
336
286
|
}
|
337
|
-
|
338
|
-
event.
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
if (this.tree.droppableNodes && this.node?.droppable !== false) {
|
346
|
-
let dragNode = this.tree.dragNode;
|
347
|
-
if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {
|
348
|
-
let dropParams = { ...this.createDropNodeEventMetadata() };
|
287
|
+
onNodeDrop(event) {
|
288
|
+
event.preventDefault();
|
289
|
+
event.stopPropagation();
|
290
|
+
if (this.isDroppable()) {
|
291
|
+
const { dragNode } = this.tree;
|
292
|
+
const position = this.dropPosition();
|
293
|
+
const isValidDrop = position !== 0 || (position === 0 && this.isNodeDroppable());
|
294
|
+
if (isValidDrop) {
|
349
295
|
if (this.tree.validateDrop) {
|
350
296
|
this.tree.onNodeDrop.emit({
|
351
297
|
originalEvent: event,
|
@@ -353,12 +299,12 @@ class UITreeNode extends BaseComponent {
|
|
353
299
|
dropNode: this.node,
|
354
300
|
index: this.index,
|
355
301
|
accept: () => {
|
356
|
-
this.
|
302
|
+
this.insertNodeOnDrop();
|
357
303
|
}
|
358
304
|
});
|
359
305
|
}
|
360
306
|
else {
|
361
|
-
this.
|
307
|
+
this.insertNodeOnDrop();
|
362
308
|
this.tree.onNodeDrop.emit({
|
363
309
|
originalEvent: event,
|
364
310
|
dragNode: dragNode,
|
@@ -368,44 +314,75 @@ class UITreeNode extends BaseComponent {
|
|
368
314
|
}
|
369
315
|
}
|
370
316
|
}
|
371
|
-
|
372
|
-
|
373
|
-
this.
|
374
|
-
}
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
event.
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
317
|
+
this.isPrevDropPointHovered.set(false);
|
318
|
+
this.isNextDropPointHovered.set(false);
|
319
|
+
this.isNodeDropHovered.set(false);
|
320
|
+
}
|
321
|
+
onNodeDragStart(event) {
|
322
|
+
if (this.isNodeDraggable()) {
|
323
|
+
event.dataTransfer?.setData('text', 'data');
|
324
|
+
const target = event.currentTarget;
|
325
|
+
const dragEl = target.cloneNode(true);
|
326
|
+
const toggler = dragEl.querySelector('[data-pc-section="toggler"]');
|
327
|
+
const checkbox = dragEl.querySelector('[data-pc-name="checkbox"]');
|
328
|
+
target.setAttribute('data-p-dragging', 'true');
|
329
|
+
dragEl.style.width = getOuterWidth(target) + 'px';
|
330
|
+
dragEl.style.height = getOuterHeight(target) + 'px';
|
331
|
+
dragEl.setAttribute('data-pc-section', 'drag-image');
|
332
|
+
toggler.style.visibility = 'hidden';
|
333
|
+
checkbox?.remove();
|
334
|
+
document.body.appendChild(dragEl);
|
335
|
+
event.dataTransfer?.setDragImage(dragEl, 0, 0);
|
336
|
+
setTimeout(() => document.body.removeChild(dragEl), 0);
|
337
|
+
this.tree.dragDropService.startDrag({
|
338
|
+
tree: this,
|
339
|
+
node: this.node,
|
340
|
+
subNodes: this.subNodes,
|
341
|
+
index: this.index,
|
342
|
+
scope: this.tree.draggableScope
|
343
|
+
});
|
344
|
+
}
|
345
|
+
else {
|
346
|
+
event.preventDefault();
|
399
347
|
}
|
400
348
|
}
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
349
|
+
onNodeDragOver(event) {
|
350
|
+
event.dataTransfer.dropEffect = 'move';
|
351
|
+
if (this.isDroppable()) {
|
352
|
+
const nodeElement = event.currentTarget;
|
353
|
+
const rect = nodeElement.getBoundingClientRect();
|
354
|
+
const y = event.clientY - rect.top;
|
355
|
+
this.isPrevDropPointHovered.set(false);
|
356
|
+
this.isNextDropPointHovered.set(false);
|
357
|
+
this.isNodeDropHovered.set(false);
|
358
|
+
if (y < rect.height * 0.25) {
|
359
|
+
this.isPrevDropPointHovered.set(true);
|
360
|
+
}
|
361
|
+
else if (y > rect.height * 0.75) {
|
362
|
+
this.isNextDropPointHovered.set(true);
|
406
363
|
}
|
364
|
+
else if (this.isNodeDroppable()) {
|
365
|
+
this.isNodeDropHovered.set(true);
|
366
|
+
}
|
367
|
+
}
|
368
|
+
if (this.tree.droppableNodes) {
|
369
|
+
event.preventDefault();
|
370
|
+
event.stopPropagation();
|
407
371
|
}
|
408
372
|
}
|
373
|
+
onNodeDragLeave() {
|
374
|
+
this.isPrevDropPointHovered.set(false);
|
375
|
+
this.isNextDropPointHovered.set(false);
|
376
|
+
this.isNodeDropHovered.set(false);
|
377
|
+
}
|
378
|
+
onNodeDragEnd(event) {
|
379
|
+
event.currentTarget?.removeAttribute('data-p-dragging');
|
380
|
+
this.tree.dragDropService.stopDrag({
|
381
|
+
node: this.node,
|
382
|
+
subNodes: this.subNodes,
|
383
|
+
index: this.index
|
384
|
+
});
|
385
|
+
}
|
409
386
|
onKeyDown(event) {
|
410
387
|
if (!this.isSameNode(event) || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild?.nativeElement.style.display === 'block')) {
|
411
388
|
return;
|
@@ -444,7 +421,7 @@ class UITreeNode extends BaseComponent {
|
|
444
421
|
}
|
445
422
|
onArrowUp(event) {
|
446
423
|
const nodeElement = event.target.getAttribute('data-pc-section') === 'toggler' ? event.target.closest('[role="treeitem"]') : event.target.parentElement;
|
447
|
-
if (nodeElement
|
424
|
+
if (nodeElement?.previousElementSibling) {
|
448
425
|
this.focusRowChange(nodeElement, nodeElement.previousElementSibling, this.findLastVisibleDescendant(nodeElement.previousElementSibling));
|
449
426
|
}
|
450
427
|
else {
|
@@ -457,16 +434,16 @@ class UITreeNode extends BaseComponent {
|
|
457
434
|
}
|
458
435
|
onArrowDown(event) {
|
459
436
|
const nodeElement = event.target.getAttribute('data-pc-section') === 'toggler' ? event.target.closest('[role="treeitem"]') : event.target;
|
460
|
-
const listElement = nodeElement
|
437
|
+
const listElement = nodeElement?.children[1];
|
461
438
|
if (listElement && listElement.children.length > 0) {
|
462
439
|
this.focusRowChange(nodeElement, listElement.children[0]);
|
463
440
|
}
|
464
441
|
else {
|
465
|
-
if (nodeElement
|
442
|
+
if (nodeElement?.parentElement?.nextElementSibling) {
|
466
443
|
this.focusRowChange(nodeElement, nodeElement.parentElement.nextElementSibling);
|
467
444
|
}
|
468
445
|
else {
|
469
|
-
let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement
|
446
|
+
let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement?.parentElement);
|
470
447
|
if (nextSiblingAncestor) {
|
471
448
|
this.focusRowChange(nodeElement, nextSiblingAncestor);
|
472
449
|
}
|
@@ -493,7 +470,7 @@ class UITreeNode extends BaseComponent {
|
|
493
470
|
this.collapse(event);
|
494
471
|
return;
|
495
472
|
}
|
496
|
-
let parentNodeElement = this.getParentNodeElement(nodeElement
|
473
|
+
let parentNodeElement = this.getParentNodeElement(nodeElement?.parentElement);
|
497
474
|
if (parentNodeElement) {
|
498
475
|
this.focusRowChange(event.currentTarget, parentNodeElement);
|
499
476
|
}
|
@@ -568,22 +545,13 @@ class UITreeNode extends BaseComponent {
|
|
568
545
|
}
|
569
546
|
focusVirtualNode() {
|
570
547
|
this.timeout = setTimeout(() => {
|
571
|
-
let node = findSingle(this.tree?.contentViewChild
|
548
|
+
let node = findSingle(this.tree?.contentViewChild?.nativeElement, `[data-id="${this.node?.key ?? this.node?.data}"]`);
|
572
549
|
focus(node);
|
573
550
|
}, 1);
|
574
551
|
}
|
575
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
576
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2
|
552
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
553
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: UITreeNode, isStandalone: true, selector: "p-treeNode", inputs: { rowNode: "rowNode", node: "node", parentNode: "parentNode", root: ["root", "root", booleanAttribute], index: ["index", "index", numberAttribute], firstChild: ["firstChild", "firstChild", booleanAttribute], lastChild: ["lastChild", "lastChild", booleanAttribute], level: ["level", "level", numberAttribute], indentation: ["indentation", "indentation", numberAttribute], itemSize: ["itemSize", "itemSize", numberAttribute], loadingMode: "loadingMode" }, providers: [TreeStyle], usesInheritance: true, ngImport: i0, template: `
|
577
554
|
@if (node) {
|
578
|
-
<li
|
579
|
-
*ngIf="tree.droppableNodes"
|
580
|
-
[class]="cx('dropPoint', { param: draghoverPrev })"
|
581
|
-
[attr.aria-hidden]="true"
|
582
|
-
(drop)="onDropPoint($event, -1)"
|
583
|
-
(dragover)="onDropPointDragOver($event)"
|
584
|
-
(dragenter)="onDropPointDragEnter($event, -1)"
|
585
|
-
(dragleave)="onDropPointDragLeave($event)"
|
586
|
-
></li>
|
587
555
|
<li
|
588
556
|
[class]="cn(cx('node'), node.styleClass)"
|
589
557
|
[ngStyle]="{ height: itemSize + 'px' }"
|
@@ -600,6 +568,9 @@ class UITreeNode extends BaseComponent {
|
|
600
568
|
role="treeitem"
|
601
569
|
(keydown)="onKeyDown($event)"
|
602
570
|
>
|
571
|
+
@if (isPrevDropPointActive()) {
|
572
|
+
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true"></div>
|
573
|
+
}
|
603
574
|
<div
|
604
575
|
[class]="cx('nodeContent')"
|
605
576
|
[style.paddingLeft]="level * indentation + 'rem'"
|
@@ -607,13 +578,12 @@ class UITreeNode extends BaseComponent {
|
|
607
578
|
(contextmenu)="onNodeRightClick($event)"
|
608
579
|
(dblclick)="onNodeDblClick($event)"
|
609
580
|
(touchend)="onNodeTouchEnd()"
|
610
|
-
(drop)="
|
611
|
-
(
|
612
|
-
(
|
613
|
-
(dragleave)="
|
581
|
+
(drop)="onNodeDrop($event)"
|
582
|
+
(dragstart)="onNodeDragStart($event)"
|
583
|
+
(dragover)="onNodeDragOver($event)"
|
584
|
+
(dragleave)="onNodeDragLeave($event)"
|
585
|
+
(dragend)="onNodeDragEnd($event)"
|
614
586
|
[draggable]="tree.draggableNodes"
|
615
|
-
(dragstart)="onDragStart($event)"
|
616
|
-
(dragend)="onDragStop($event)"
|
617
587
|
>
|
618
588
|
<button type="button" [attr.data-pc-section]="'toggler'" [class]="cx('nodeToggleButton')" (click)="toggle($event)" pRipple tabindex="-1">
|
619
589
|
<ng-container *ngIf="!tree.togglerIconTemplate && !tree._togglerIconTemplate">
|
@@ -666,6 +636,9 @@ class UITreeNode extends BaseComponent {
|
|
666
636
|
</span>
|
667
637
|
</span>
|
668
638
|
</div>
|
639
|
+
@if (isNextDropPointActive()) {
|
640
|
+
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true"></div>
|
641
|
+
}
|
669
642
|
<ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group">
|
670
643
|
<p-treeNode
|
671
644
|
*ngFor="let childNode of node.children; let firstChild = first; let lastChild = last; let index = index; trackBy: tree.trackBy.bind(this)"
|
@@ -680,20 +653,10 @@ class UITreeNode extends BaseComponent {
|
|
680
653
|
></p-treeNode>
|
681
654
|
</ul>
|
682
655
|
</li>
|
683
|
-
|
684
|
-
<li
|
685
|
-
*ngIf="tree.droppableNodes && lastChild"
|
686
|
-
[class]="cx('dropPoint', { param: draghoverNext })"
|
687
|
-
(drop)="onDropPoint($event, 1)"
|
688
|
-
[attr.aria-hidden]="true"
|
689
|
-
(dragover)="onDropPointDragOver($event)"
|
690
|
-
(dragenter)="onDropPointDragEnter($event, 1)"
|
691
|
-
(dragleave)="onDropPointDragLeave($event)"
|
692
|
-
></li>
|
693
656
|
}
|
694
657
|
`, isInline: true, dependencies: [{ kind: "component", type: UITreeNode, selector: "p-treeNode", inputs: ["rowNode", "node", "parentNode", "root", "index", "firstChild", "lastChild", "level", "indentation", "itemSize", "loadingMode"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: Ripple, selector: "[pRipple]" }, { kind: "component", type: Checkbox, selector: "p-checkbox, p-checkBox, p-check-box", inputs: ["value", "binary", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "inputStyle", "styleClass", "inputClass", "indeterminate", "formControl", "checkboxIcon", "readonly", "autofocus", "trueValue", "falseValue", "variant", "size"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ChevronRightIcon, selector: "[data-p-icon=\"chevron-right\"]" }, { kind: "component", type: ChevronDownIcon, selector: "[data-p-icon=\"chevron-down\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "ngmodule", type: SharedModule }], encapsulation: i0.ViewEncapsulation.None });
|
695
658
|
}
|
696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: UITreeNode, decorators: [{
|
697
660
|
type: Component,
|
698
661
|
args: [{
|
699
662
|
selector: 'p-treeNode',
|
@@ -701,15 +664,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
701
664
|
imports: [CommonModule, Ripple, Checkbox, FormsModule, ChevronRightIcon, ChevronDownIcon, SpinnerIcon, SharedModule],
|
702
665
|
template: `
|
703
666
|
@if (node) {
|
704
|
-
<li
|
705
|
-
*ngIf="tree.droppableNodes"
|
706
|
-
[class]="cx('dropPoint', { param: draghoverPrev })"
|
707
|
-
[attr.aria-hidden]="true"
|
708
|
-
(drop)="onDropPoint($event, -1)"
|
709
|
-
(dragover)="onDropPointDragOver($event)"
|
710
|
-
(dragenter)="onDropPointDragEnter($event, -1)"
|
711
|
-
(dragleave)="onDropPointDragLeave($event)"
|
712
|
-
></li>
|
713
667
|
<li
|
714
668
|
[class]="cn(cx('node'), node.styleClass)"
|
715
669
|
[ngStyle]="{ height: itemSize + 'px' }"
|
@@ -726,6 +680,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
726
680
|
role="treeitem"
|
727
681
|
(keydown)="onKeyDown($event)"
|
728
682
|
>
|
683
|
+
@if (isPrevDropPointActive()) {
|
684
|
+
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true"></div>
|
685
|
+
}
|
729
686
|
<div
|
730
687
|
[class]="cx('nodeContent')"
|
731
688
|
[style.paddingLeft]="level * indentation + 'rem'"
|
@@ -733,13 +690,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
733
690
|
(contextmenu)="onNodeRightClick($event)"
|
734
691
|
(dblclick)="onNodeDblClick($event)"
|
735
692
|
(touchend)="onNodeTouchEnd()"
|
736
|
-
(drop)="
|
737
|
-
(
|
738
|
-
(
|
739
|
-
(dragleave)="
|
693
|
+
(drop)="onNodeDrop($event)"
|
694
|
+
(dragstart)="onNodeDragStart($event)"
|
695
|
+
(dragover)="onNodeDragOver($event)"
|
696
|
+
(dragleave)="onNodeDragLeave($event)"
|
697
|
+
(dragend)="onNodeDragEnd($event)"
|
740
698
|
[draggable]="tree.draggableNodes"
|
741
|
-
(dragstart)="onDragStart($event)"
|
742
|
-
(dragend)="onDragStop($event)"
|
743
699
|
>
|
744
700
|
<button type="button" [attr.data-pc-section]="'toggler'" [class]="cx('nodeToggleButton')" (click)="toggle($event)" pRipple tabindex="-1">
|
745
701
|
<ng-container *ngIf="!tree.togglerIconTemplate && !tree._togglerIconTemplate">
|
@@ -792,6 +748,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
792
748
|
</span>
|
793
749
|
</span>
|
794
750
|
</div>
|
751
|
+
@if (isNextDropPointActive()) {
|
752
|
+
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true"></div>
|
753
|
+
}
|
795
754
|
<ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group">
|
796
755
|
<p-treeNode
|
797
756
|
*ngFor="let childNode of node.children; let firstChild = first; let lastChild = last; let index = index; trackBy: tree.trackBy.bind(this)"
|
@@ -806,16 +765,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
806
765
|
></p-treeNode>
|
807
766
|
</ul>
|
808
767
|
</li>
|
809
|
-
|
810
|
-
<li
|
811
|
-
*ngIf="tree.droppableNodes && lastChild"
|
812
|
-
[class]="cx('dropPoint', { param: draghoverNext })"
|
813
|
-
(drop)="onDropPoint($event, 1)"
|
814
|
-
[attr.aria-hidden]="true"
|
815
|
-
(dragover)="onDropPointDragOver($event)"
|
816
|
-
(dragenter)="onDropPointDragEnter($event, 1)"
|
817
|
-
(dragleave)="onDropPointDragLeave($event)"
|
818
|
-
></li>
|
819
768
|
}
|
820
769
|
`,
|
821
770
|
encapsulation: ViewEncapsulation.None,
|
@@ -1276,7 +1225,7 @@ class Tree extends BaseComponent {
|
|
1276
1225
|
if (simpleChange.value) {
|
1277
1226
|
this.updateSerializedValue();
|
1278
1227
|
if (this.hasFilterActive()) {
|
1279
|
-
this._filter(this.filterViewChild
|
1228
|
+
this._filter(this.filterViewChild?.nativeElement?.value);
|
1280
1229
|
}
|
1281
1230
|
}
|
1282
1231
|
}
|
@@ -1780,8 +1729,8 @@ class Tree extends BaseComponent {
|
|
1780
1729
|
}
|
1781
1730
|
super.ngOnDestroy();
|
1782
1731
|
}
|
1783
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
1784
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2
|
1732
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Tree, deps: [{ token: i3.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
1733
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: Tree, isStandalone: true, selector: "p-tree", inputs: { value: "value", selectionMode: "selectionMode", loadingMode: "loadingMode", selection: "selection", styleClass: "styleClass", contextMenu: "contextMenu", draggableScope: "draggableScope", droppableScope: "droppableScope", draggableNodes: ["draggableNodes", "draggableNodes", booleanAttribute], droppableNodes: ["droppableNodes", "droppableNodes", booleanAttribute], metaKeySelection: ["metaKeySelection", "metaKeySelection", booleanAttribute], propagateSelectionUp: ["propagateSelectionUp", "propagateSelectionUp", booleanAttribute], propagateSelectionDown: ["propagateSelectionDown", "propagateSelectionDown", booleanAttribute], loading: ["loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", emptyMessage: "emptyMessage", ariaLabel: "ariaLabel", togglerAriaLabel: "togglerAriaLabel", ariaLabelledBy: "ariaLabelledBy", validateDrop: ["validateDrop", "validateDrop", booleanAttribute], filter: ["filter", "filter", booleanAttribute], filterInputAutoFocus: ["filterInputAutoFocus", "filterInputAutoFocus", booleanAttribute], filterBy: "filterBy", filterMode: "filterMode", filterOptions: "filterOptions", filterPlaceholder: "filterPlaceholder", filteredNodes: "filteredNodes", filterLocale: "filterLocale", scrollHeight: "scrollHeight", lazy: ["lazy", "lazy", booleanAttribute], virtualScroll: ["virtualScroll", "virtualScroll", booleanAttribute], virtualScrollItemSize: ["virtualScrollItemSize", "virtualScrollItemSize", numberAttribute], virtualScrollOptions: "virtualScrollOptions", indentation: ["indentation", "indentation", numberAttribute], _templateMap: "_templateMap", trackBy: "trackBy", highlightOnSelect: ["highlightOnSelect", "highlightOnSelect", booleanAttribute] }, outputs: { selectionChange: "selectionChange", onNodeSelect: "onNodeSelect", onNodeUnselect: "onNodeUnselect", onNodeExpand: "onNodeExpand", onNodeCollapse: "onNodeCollapse", onNodeContextMenuSelect: "onNodeContextMenuSelect", onNodeDoubleClick: "onNodeDoubleClick", onNodeDrop: "onNodeDrop", onLazyLoad: "onLazyLoad", onScroll: "onScroll", onScrollIndexChange: "onScrollIndexChange", onFilter: "onFilter" }, host: { listeners: { "drop": "handleDropEvent($event)", "dragover": "handleDragOverEvent($event)", "dragenter": "handleDragEnterEvent()", "dragleave": "handleDragLeaveEvent($event)" }, properties: { "class": "cn(cx('root'), styleClass)" } }, providers: [TreeStyle], queries: [{ propertyName: "filterTemplate", first: true, predicate: ["filter"] }, { propertyName: "nodeTemplate", first: true, predicate: ["node"] }, { propertyName: "headerTemplate", first: true, predicate: ["header"] }, { propertyName: "footerTemplate", first: true, predicate: ["footer"] }, { propertyName: "loaderTemplate", first: true, predicate: ["loader"] }, { propertyName: "emptyMessageTemplate", first: true, predicate: ["empty"] }, { propertyName: "togglerIconTemplate", first: true, predicate: ["togglericon"] }, { propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"] }, { propertyName: "loadingIconTemplate", first: true, predicate: ["loadingicon"] }, { propertyName: "filterIconTemplate", first: true, predicate: ["filtericon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }, { propertyName: "scroller", first: true, predicate: ["scroller"], descendants: true }, { propertyName: "wrapperViewChild", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "contentViewChild", first: true, predicate: ["content"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
1785
1734
|
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'">
|
1786
1735
|
<i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)"></i>
|
1787
1736
|
<ng-container *ngIf="!loadingIcon">
|
@@ -1882,7 +1831,7 @@ class Tree extends BaseComponent {
|
|
1882
1831
|
<ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
|
1883
1832
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: Scroller, selector: "p-scroller, p-virtualscroller, p-virtual-scroller, p-virtualScroller", inputs: ["id", "style", "styleClass", "tabindex", "items", "itemSize", "scrollHeight", "scrollWidth", "orientation", "step", "delay", "resizeDelay", "appendOnly", "inline", "lazy", "disabled", "loaderDisabled", "columns", "showSpacer", "showLoader", "numToleratedItems", "loading", "autoSize", "trackBy", "options"], outputs: ["onLazyLoad", "onScroll", "onScrollIndexChange"] }, { kind: "ngmodule", type: SharedModule }, { kind: "component", type: SearchIcon, selector: "[data-p-icon=\"search\"]" }, { kind: "component", type: SpinnerIcon, selector: "[data-p-icon=\"spinner\"]" }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["styleClass"] }, { kind: "component", type: UITreeNode, selector: "p-treeNode", inputs: ["rowNode", "node", "parentNode", "root", "index", "firstChild", "lastChild", "level", "indentation", "itemSize", "loadingMode"] }, { kind: "ngmodule", type: AutoFocusModule }, { kind: "directive", type: i4.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
1884
1833
|
}
|
1885
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
1834
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Tree, decorators: [{
|
1886
1835
|
type: Component,
|
1887
1836
|
args: [{
|
1888
1837
|
selector: 'p-tree',
|
@@ -2168,11 +2117,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImpor
|
|
2168
2117
|
args: ['dragleave', ['$event']]
|
2169
2118
|
}] } });
|
2170
2119
|
class TreeModule {
|
2171
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2
|
2172
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2
|
2173
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2
|
2120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
2121
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
|
2122
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
|
2174
2123
|
}
|
2175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2
|
2124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: TreeModule, decorators: [{
|
2176
2125
|
type: NgModule,
|
2177
2126
|
args: [{
|
2178
2127
|
imports: [Tree, SharedModule],
|