primeng 20.3.0 → 20.4.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/LICENSE.md +1 -1
- package/contextmenu/index.d.ts +1 -0
- package/fesm2022/primeng-accordion.mjs +22 -22
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +7 -7
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +17 -14
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-autofocus.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +10 -10
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-avatargroup.mjs.map +1 -1
- 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 +7 -7
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-baseeditableholder.mjs +4 -4
- package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
- package/fesm2022/primeng-baseinput.mjs +4 -4
- package/fesm2022/primeng-baseinput.mjs.map +1 -1
- package/fesm2022/primeng-basemodelholder.mjs +3 -3
- package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
- package/fesm2022/primeng-bind.mjs +8 -8
- package/fesm2022/primeng-bind.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +10 -10
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +46 -28
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +30 -28
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-buttongroup.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +10 -10
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +10 -10
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +15 -15
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-chart.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +11 -11
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +10 -10
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-classnames.mjs +8 -8
- package/fesm2022/primeng-classnames.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +11 -11
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-config.mjs +6 -6
- package/fesm2022/primeng-config.mjs.map +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +10 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +10 -10
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +26 -20
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +10 -10
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +11 -11
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +11 -11
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +34 -22
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-dragdrop.mjs.map +1 -1
- package/fesm2022/primeng-drawer.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +16 -16
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +10 -10
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +10 -10
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +14 -14
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-floatlabel.mjs.map +1 -1
- package/fesm2022/primeng-fluid.mjs +10 -10
- 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 +31 -28
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +10 -10
- package/fesm2022/primeng-iconfield.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
- package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-angledown.mjs +3 -3
- package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleleft.mjs +3 -3
- package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleright.mjs +3 -3
- package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
- package/fesm2022/primeng-icons-angleup.mjs +3 -3
- package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
- package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowright.mjs +3 -3
- package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
- package/fesm2022/primeng-icons-arrowup.mjs +3 -3
- package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
- package/fesm2022/primeng-icons-ban.mjs +3 -3
- package/fesm2022/primeng-icons-ban.mjs.map +1 -1
- package/fesm2022/primeng-icons-bars.mjs +3 -3
- package/fesm2022/primeng-icons-bars.mjs.map +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +6 -6
- package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
- package/fesm2022/primeng-icons-blank.mjs +3 -3
- package/fesm2022/primeng-icons-blank.mjs.map +1 -1
- package/fesm2022/primeng-icons-calendar.mjs +3 -3
- package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretleft.mjs +3 -3
- package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-caretright.mjs +3 -3
- package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
- package/fesm2022/primeng-icons-check.mjs +3 -3
- package/fesm2022/primeng-icons-check.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
- package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
- package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronright.mjs +3 -3
- package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
- package/fesm2022/primeng-icons-chevronup.mjs +3 -3
- package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
- package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
- package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/primeng-icons-eye.mjs +3 -3
- package/fesm2022/primeng-icons-eye.mjs.map +1 -1
- package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
- package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-filter.mjs +3 -3
- package/fesm2022/primeng-icons-filter.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterfill.mjs +3 -3
- package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-filterslash.mjs +3 -3
- package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
- package/fesm2022/primeng-icons-home.mjs +3 -3
- package/fesm2022/primeng-icons-home.mjs.map +1 -1
- package/fesm2022/primeng-icons-infocircle.mjs +3 -3
- package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-minus.mjs +3 -3
- package/fesm2022/primeng-icons-minus.mjs.map +1 -1
- package/fesm2022/primeng-icons-pencil.mjs +3 -3
- package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
- package/fesm2022/primeng-icons-plus.mjs +3 -3
- package/fesm2022/primeng-icons-plus.mjs.map +1 -1
- package/fesm2022/primeng-icons-refresh.mjs +3 -3
- package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
- package/fesm2022/primeng-icons-search.mjs +3 -3
- package/fesm2022/primeng-icons-search.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchminus.mjs +3 -3
- package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
- package/fesm2022/primeng-icons-searchplus.mjs +3 -3
- package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
- package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/primeng-icons-spinner.mjs +3 -3
- package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
- package/fesm2022/primeng-icons-star.mjs +3 -3
- package/fesm2022/primeng-icons-star.mjs.map +1 -1
- package/fesm2022/primeng-icons-starfill.mjs +3 -3
- package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
- package/fesm2022/primeng-icons-thlarge.mjs +3 -3
- package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
- package/fesm2022/primeng-icons-times.mjs +3 -3
- package/fesm2022/primeng-icons-times.mjs.map +1 -1
- package/fesm2022/primeng-icons-timescircle.mjs +3 -3
- package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
- package/fesm2022/primeng-icons-trash.mjs +3 -3
- package/fesm2022/primeng-icons-trash.mjs.map +1 -1
- package/fesm2022/primeng-icons-undo.mjs +3 -3
- package/fesm2022/primeng-icons-undo.mjs.map +1 -1
- package/fesm2022/primeng-icons-upload.mjs +3 -3
- package/fesm2022/primeng-icons-upload.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
- package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
- package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/primeng-iftalabel.mjs +10 -10
- package/fesm2022/primeng-iftalabel.mjs.map +1 -1
- package/fesm2022/primeng-image.mjs +11 -11
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +10 -10
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +16 -16
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroup.mjs +10 -10
- package/fesm2022/primeng-inputgroup.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
- package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/primeng-inputicon.mjs +10 -10
- package/fesm2022/primeng-inputicon.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +11 -10
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +10 -10
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +19 -13
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +12 -12
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-keyfilter.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +25 -25
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +14 -13
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +59 -33
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +20 -20
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +57 -35
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +10 -10
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +13 -13
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +14 -14
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +10 -10
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +12 -12
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +11 -11
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +10 -10
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +48 -24
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +18 -18
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +84 -92
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +10 -10
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +10 -10
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-progressspinner.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +14 -14
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +10 -10
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-ripple.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +11 -11
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +10 -10
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +10 -10
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +14 -14
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +11 -11
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-skeleton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +10 -10
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-speeddial.mjs +10 -10
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +10 -10
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +11 -11
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +50 -49
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +10 -10
- package/fesm2022/primeng-steps.mjs.map +1 -1
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-styleclass.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +99 -91
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +37 -37
- 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-terminal.mjs.map +1 -1
- package/fesm2022/primeng-textarea.mjs +11 -11
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +23 -19
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +10 -10
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +13 -13
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +11 -11
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +11 -11
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +10 -10
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +12 -12
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +157 -86
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +22 -13
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +69 -61
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +3 -3
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/galleria/index.d.ts +1 -0
- package/knob/index.d.ts +1 -1
- package/megamenu/index.d.ts +4 -2
- package/menubar/index.d.ts +2 -1
- package/package.json +403 -403
- package/picklist/index.d.ts +4 -4
- package/tree/index.d.ts +44 -26
- package/treeselect/index.d.ts +6 -1
- package/treetable/index.d.ts +1 -1
|
@@ -2,10 +2,10 @@ export * from 'primeng/types/tree';
|
|
|
2
2
|
import * as i1 from '@angular/common';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Injectable, InjectionToken, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
5
|
+
import { Injectable, InjectionToken, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, Component, model, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
6
6
|
import * as i2 from '@angular/forms';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
|
-
import { getOuterWidth, getOuterHeight, find,
|
|
8
|
+
import { getOuterWidth, getOuterHeight, find, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
|
|
9
9
|
import * as i4 from 'primeng/api';
|
|
10
10
|
import { SharedModule, TranslationKeys, PrimeTemplate } from 'primeng/api';
|
|
11
11
|
import * as i5 from 'primeng/autofocus';
|
|
@@ -58,10 +58,10 @@ class TreeStyle extends BaseStyle {
|
|
|
58
58
|
name = 'tree';
|
|
59
59
|
style = style;
|
|
60
60
|
classes = classes;
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
62
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeStyle });
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeStyle, decorators: [{
|
|
65
65
|
type: Injectable
|
|
66
66
|
}] });
|
|
67
67
|
/**
|
|
@@ -167,11 +167,32 @@ class UITreeNode extends BaseComponent {
|
|
|
167
167
|
isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : []));
|
|
168
168
|
dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), ...(ngDevMode ? [{ debugName: "dropPosition" }] : []));
|
|
169
169
|
_componentStyle = inject(TreeStyle);
|
|
170
|
+
/**
|
|
171
|
+
* Computed signal that reactively tracks selection state.
|
|
172
|
+
*/
|
|
173
|
+
_selected = computed(() => {
|
|
174
|
+
// Reading selection() makes this computed reactive to selection changes
|
|
175
|
+
this.tree.selection();
|
|
176
|
+
return this.tree.isSelected(this.node);
|
|
177
|
+
}, ...(ngDevMode ? [{ debugName: "_selected" }] : []));
|
|
178
|
+
/**
|
|
179
|
+
* Computed signal that reactively tracks context menu selection state.
|
|
180
|
+
*/
|
|
181
|
+
_contextMenuSelected = computed(() => {
|
|
182
|
+
const selection = this.tree.contextMenuSelection();
|
|
183
|
+
if (!selection || !this.node) {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
return selection === this.node || (selection.key && selection.key === this.node.key);
|
|
187
|
+
}, ...(ngDevMode ? [{ debugName: "_contextMenuSelected" }] : []));
|
|
170
188
|
get selected() {
|
|
171
|
-
return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this.
|
|
189
|
+
return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this._selected() : undefined;
|
|
172
190
|
}
|
|
173
191
|
get checked() {
|
|
174
|
-
return this.tree.selectionMode === 'checkbox' ? this.
|
|
192
|
+
return this.tree.selectionMode === 'checkbox' ? this._selected() : undefined;
|
|
193
|
+
}
|
|
194
|
+
get contextMenuSelected() {
|
|
195
|
+
return this._contextMenuSelected();
|
|
175
196
|
}
|
|
176
197
|
get nodeClass() {
|
|
177
198
|
return this.tree._componentStyle.classes.node({ instance: this });
|
|
@@ -191,6 +212,7 @@ class UITreeNode extends BaseComponent {
|
|
|
191
212
|
selected: this.selected,
|
|
192
213
|
checked: this.checked,
|
|
193
214
|
partialChecked: this.node?.partialSelected,
|
|
215
|
+
contextMenuSelected: this.contextMenuSelected,
|
|
194
216
|
leaf: this.isLeaf()
|
|
195
217
|
}
|
|
196
218
|
});
|
|
@@ -216,7 +238,10 @@ class UITreeNode extends BaseComponent {
|
|
|
216
238
|
return this.tree.isNodeLeaf(this.node);
|
|
217
239
|
}
|
|
218
240
|
isSelected() {
|
|
219
|
-
return this.
|
|
241
|
+
return this._selected();
|
|
242
|
+
}
|
|
243
|
+
isContextMenuSelected() {
|
|
244
|
+
return this._contextMenuSelected();
|
|
220
245
|
}
|
|
221
246
|
isSameNode(event) {
|
|
222
247
|
return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
|
|
@@ -504,7 +529,7 @@ class UITreeNode extends BaseComponent {
|
|
|
504
529
|
event.preventDefault();
|
|
505
530
|
}
|
|
506
531
|
setAllNodesTabIndexes() {
|
|
507
|
-
const nodes = find(this.tree.el.nativeElement, '
|
|
532
|
+
const nodes = find(this.tree.el.nativeElement, '[data-pc-section="node"]');
|
|
508
533
|
const hasSelectedNode = [...nodes].some((node) => node.getAttribute('aria-selected') === 'true' || node.getAttribute('aria-checked') === 'true');
|
|
509
534
|
[...nodes].forEach((node) => {
|
|
510
535
|
node.tabIndex = -1;
|
|
@@ -540,7 +565,7 @@ class UITreeNode extends BaseComponent {
|
|
|
540
565
|
}
|
|
541
566
|
}
|
|
542
567
|
findLastVisibleDescendant(nodeElement) {
|
|
543
|
-
const listElement = Array.from(nodeElement.children).find((el) =>
|
|
568
|
+
const listElement = Array.from(nodeElement.children).find((el) => el.getAttribute('data-pc-section') === 'node');
|
|
544
569
|
const childrenListElement = listElement?.children[1];
|
|
545
570
|
if (childrenListElement && childrenListElement.children.length > 0) {
|
|
546
571
|
const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];
|
|
@@ -571,8 +596,8 @@ class UITreeNode extends BaseComponent {
|
|
|
571
596
|
focus(node);
|
|
572
597
|
}, 1);
|
|
573
598
|
}
|
|
574
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
575
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
599
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
600
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", 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, { provide: TREENODE_INSTANCE, useExisting: UITreeNode }, { provide: PARENT_INSTANCE, useExisting: UITreeNode }], usesInheritance: true, ngImport: i0, template: `
|
|
576
601
|
@if (node) {
|
|
577
602
|
<li
|
|
578
603
|
[class]="cn(cx('node'), node.styleClass)"
|
|
@@ -675,13 +700,15 @@ class UITreeNode extends BaseComponent {
|
|
|
675
700
|
[itemSize]="itemSize"
|
|
676
701
|
[level]="level + 1"
|
|
677
702
|
[loadingMode]="loadingMode"
|
|
703
|
+
[pt]="pt"
|
|
704
|
+
[unstyled]="unstyled()"
|
|
678
705
|
></p-treeNode>
|
|
679
706
|
</ul>
|
|
680
707
|
</li>
|
|
681
708
|
}
|
|
682
709
|
`, 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: ["hostName", "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 }, { kind: "ngmodule", type: BindModule }, { kind: "directive", type: i3.Bind, selector: "[pBind]", inputs: ["pBind"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
683
710
|
}
|
|
684
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UITreeNode, decorators: [{
|
|
685
712
|
type: Component,
|
|
686
713
|
args: [{
|
|
687
714
|
selector: 'p-treeNode',
|
|
@@ -790,6 +817,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
790
817
|
[itemSize]="itemSize"
|
|
791
818
|
[level]="level + 1"
|
|
792
819
|
[loadingMode]="loadingMode"
|
|
820
|
+
[pt]="pt"
|
|
821
|
+
[unstyled]="unstyled()"
|
|
793
822
|
></p-treeNode>
|
|
794
823
|
</ul>
|
|
795
824
|
</li>
|
|
@@ -858,7 +887,7 @@ class Tree extends BaseComponent {
|
|
|
858
887
|
* A single treenode instance or an array to refer to the selections.
|
|
859
888
|
* @group Props
|
|
860
889
|
*/
|
|
861
|
-
selection;
|
|
890
|
+
selection = model(null, ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
862
891
|
/**
|
|
863
892
|
* Style class of the component.
|
|
864
893
|
* @deprecated since v20.0.0, use `class` instead.
|
|
@@ -870,6 +899,18 @@ class Tree extends BaseComponent {
|
|
|
870
899
|
* @group Props
|
|
871
900
|
*/
|
|
872
901
|
contextMenu;
|
|
902
|
+
/**
|
|
903
|
+
* Defines how the context menu selection behaves.
|
|
904
|
+
* When set to 'separate', context menu selection is handled independently from the main selection.
|
|
905
|
+
* When set to 'joint', context menu selection also updates the main selection.
|
|
906
|
+
* @group Props
|
|
907
|
+
*/
|
|
908
|
+
contextMenuSelectionMode = 'separate';
|
|
909
|
+
/**
|
|
910
|
+
* A single treenode instance to refer to the context menu selection.
|
|
911
|
+
* @group Props
|
|
912
|
+
*/
|
|
913
|
+
contextMenuSelection = model(null, ...(ngDevMode ? [{ debugName: "contextMenuSelection" }] : []));
|
|
873
914
|
/**
|
|
874
915
|
* Scope of the draggable nodes to match a droppableScope.
|
|
875
916
|
* @group Props
|
|
@@ -1025,12 +1066,6 @@ class Tree extends BaseComponent {
|
|
|
1025
1066
|
* @group Props
|
|
1026
1067
|
*/
|
|
1027
1068
|
highlightOnSelect = false;
|
|
1028
|
-
/**
|
|
1029
|
-
* Callback to invoke on selection change.
|
|
1030
|
-
* @param {(TreeNode<any> | TreeNode<any>[] | null)} event - Custom selection change event.
|
|
1031
|
-
* @group Emits
|
|
1032
|
-
*/
|
|
1033
|
-
selectionChange = new EventEmitter();
|
|
1034
1069
|
/**
|
|
1035
1070
|
* Callback to invoke when a node is selected.
|
|
1036
1071
|
* @param {TreeNodeSelectEvent} event - Node select event.
|
|
@@ -1126,7 +1161,7 @@ class Tree extends BaseComponent {
|
|
|
1126
1161
|
* Empty message template.
|
|
1127
1162
|
* @group Templates
|
|
1128
1163
|
*/
|
|
1129
|
-
|
|
1164
|
+
emptyTemplate;
|
|
1130
1165
|
/**
|
|
1131
1166
|
* Toggler icon template.
|
|
1132
1167
|
* @group Templates
|
|
@@ -1153,7 +1188,7 @@ class Tree extends BaseComponent {
|
|
|
1153
1188
|
contentViewChild;
|
|
1154
1189
|
templates;
|
|
1155
1190
|
_headerTemplate;
|
|
1156
|
-
|
|
1191
|
+
_emptyTemplate;
|
|
1157
1192
|
_footerTemplate;
|
|
1158
1193
|
_loaderTemplate;
|
|
1159
1194
|
_togglerIconTemplate;
|
|
@@ -1171,7 +1206,7 @@ class Tree extends BaseComponent {
|
|
|
1171
1206
|
this._headerTemplate = item.template;
|
|
1172
1207
|
break;
|
|
1173
1208
|
case 'empty':
|
|
1174
|
-
this.
|
|
1209
|
+
this._emptyTemplate = item.template;
|
|
1175
1210
|
break;
|
|
1176
1211
|
case 'footer':
|
|
1177
1212
|
this._footerTemplate = item.template;
|
|
@@ -1286,10 +1321,11 @@ class Tree extends BaseComponent {
|
|
|
1286
1321
|
}
|
|
1287
1322
|
onNodeClick(event, node) {
|
|
1288
1323
|
let eventTarget = event.target;
|
|
1289
|
-
|
|
1324
|
+
const section = eventTarget?.getAttribute?.('data-pc-section');
|
|
1325
|
+
if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
|
|
1290
1326
|
return;
|
|
1291
1327
|
}
|
|
1292
|
-
|
|
1328
|
+
if (this.selectionMode) {
|
|
1293
1329
|
if (node.selectable === false) {
|
|
1294
1330
|
node.style = '--p-focus-ring-color: none;';
|
|
1295
1331
|
return;
|
|
@@ -1307,27 +1343,26 @@ class Tree extends BaseComponent {
|
|
|
1307
1343
|
}
|
|
1308
1344
|
let index = this.findIndexInSelection(node);
|
|
1309
1345
|
let selected = index >= 0;
|
|
1346
|
+
const currentSelection = this.selection();
|
|
1310
1347
|
if (this.isCheckboxSelectionMode()) {
|
|
1311
1348
|
if (selected) {
|
|
1312
1349
|
if (this.propagateSelectionDown)
|
|
1313
1350
|
this.propagateDown(node, false);
|
|
1314
1351
|
else
|
|
1315
|
-
this.selection
|
|
1352
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1316
1353
|
if (this.propagateSelectionUp && node.parent) {
|
|
1317
1354
|
this.propagateUp(node.parent, false);
|
|
1318
1355
|
}
|
|
1319
|
-
this.selectionChange.emit(this.selection);
|
|
1320
1356
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1321
1357
|
}
|
|
1322
1358
|
else {
|
|
1323
1359
|
if (this.propagateSelectionDown)
|
|
1324
1360
|
this.propagateDown(node, true);
|
|
1325
1361
|
else
|
|
1326
|
-
this.selection
|
|
1362
|
+
this.selection.set([...(currentSelection || []), node]);
|
|
1327
1363
|
if (this.propagateSelectionUp && node.parent) {
|
|
1328
1364
|
this.propagateUp(node.parent, true);
|
|
1329
1365
|
}
|
|
1330
|
-
this.selectionChange.emit(this.selection);
|
|
1331
1366
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1332
1367
|
}
|
|
1333
1368
|
}
|
|
@@ -1337,22 +1372,20 @@ class Tree extends BaseComponent {
|
|
|
1337
1372
|
let metaKey = event.metaKey || event.ctrlKey;
|
|
1338
1373
|
if (selected && metaKey) {
|
|
1339
1374
|
if (this.isSingleSelectionMode()) {
|
|
1340
|
-
this.
|
|
1375
|
+
this.selection.set(null);
|
|
1341
1376
|
}
|
|
1342
1377
|
else {
|
|
1343
|
-
this.selection
|
|
1344
|
-
this.selectionChange.emit(this.selection);
|
|
1378
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1345
1379
|
}
|
|
1346
1380
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1347
1381
|
}
|
|
1348
1382
|
else {
|
|
1349
1383
|
if (this.isSingleSelectionMode()) {
|
|
1350
|
-
this.
|
|
1384
|
+
this.selection.set(node);
|
|
1351
1385
|
}
|
|
1352
1386
|
else if (this.isMultipleSelectionMode()) {
|
|
1353
|
-
|
|
1354
|
-
this.selection
|
|
1355
|
-
this.selectionChange.emit(this.selection);
|
|
1387
|
+
const base = !metaKey ? [] : currentSelection || [];
|
|
1388
|
+
this.selection.set([...base, node]);
|
|
1356
1389
|
}
|
|
1357
1390
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1358
1391
|
}
|
|
@@ -1360,11 +1393,11 @@ class Tree extends BaseComponent {
|
|
|
1360
1393
|
else {
|
|
1361
1394
|
if (this.isSingleSelectionMode()) {
|
|
1362
1395
|
if (selected) {
|
|
1363
|
-
this.selection
|
|
1396
|
+
this.selection.set(null);
|
|
1364
1397
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1365
1398
|
}
|
|
1366
1399
|
else {
|
|
1367
|
-
this.selection
|
|
1400
|
+
this.selection.set(node);
|
|
1368
1401
|
setTimeout(() => {
|
|
1369
1402
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1370
1403
|
});
|
|
@@ -1372,17 +1405,16 @@ class Tree extends BaseComponent {
|
|
|
1372
1405
|
}
|
|
1373
1406
|
else {
|
|
1374
1407
|
if (selected) {
|
|
1375
|
-
this.selection
|
|
1408
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1376
1409
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1377
1410
|
}
|
|
1378
1411
|
else {
|
|
1379
|
-
this.selection
|
|
1412
|
+
this.selection.set([...(currentSelection || []), node]);
|
|
1380
1413
|
setTimeout(() => {
|
|
1381
1414
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1382
1415
|
});
|
|
1383
1416
|
}
|
|
1384
1417
|
}
|
|
1385
|
-
this.selectionChange.emit(this.selection);
|
|
1386
1418
|
}
|
|
1387
1419
|
}
|
|
1388
1420
|
}
|
|
@@ -1394,20 +1426,36 @@ class Tree extends BaseComponent {
|
|
|
1394
1426
|
onNodeRightClick(event, node) {
|
|
1395
1427
|
if (this.contextMenu) {
|
|
1396
1428
|
let eventTarget = event.target;
|
|
1397
|
-
|
|
1429
|
+
const section = eventTarget.getAttribute('data-pc-section');
|
|
1430
|
+
if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
|
|
1398
1431
|
return;
|
|
1399
1432
|
}
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
if (!selected) {
|
|
1404
|
-
if (this.isSingleSelectionMode())
|
|
1405
|
-
this.selectionChange.emit(node);
|
|
1406
|
-
else
|
|
1407
|
-
this.selectionChange.emit([node]);
|
|
1408
|
-
}
|
|
1433
|
+
let index = this.findIndexInSelection(node);
|
|
1434
|
+
let isNodeSelected = index >= 0;
|
|
1435
|
+
const onContextMenuCallback = () => {
|
|
1409
1436
|
this.contextMenu.show(event);
|
|
1437
|
+
this.contextMenu.hideCallback = () => {
|
|
1438
|
+
this.contextMenuSelection.set(null);
|
|
1439
|
+
};
|
|
1410
1440
|
this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });
|
|
1441
|
+
};
|
|
1442
|
+
if (this.contextMenuSelectionMode === 'separate') {
|
|
1443
|
+
// In 'separate' mode: Update contextMenuSelection with clicked node, don't modify selection
|
|
1444
|
+
this.contextMenuSelection.set(node);
|
|
1445
|
+
onContextMenuCallback();
|
|
1446
|
+
}
|
|
1447
|
+
else if (this.contextMenuSelectionMode === 'joint') {
|
|
1448
|
+
// In 'joint' mode: Update only selection, don't touch contextMenuSelection
|
|
1449
|
+
if (!isNodeSelected) {
|
|
1450
|
+
if (this.isSingleSelectionMode()) {
|
|
1451
|
+
this.selection.set(node);
|
|
1452
|
+
}
|
|
1453
|
+
else {
|
|
1454
|
+
this.selection.set([node]);
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
// If already selected, keep current selection as is
|
|
1458
|
+
onContextMenuCallback();
|
|
1411
1459
|
}
|
|
1412
1460
|
}
|
|
1413
1461
|
}
|
|
@@ -1416,14 +1464,17 @@ class Tree extends BaseComponent {
|
|
|
1416
1464
|
}
|
|
1417
1465
|
findIndexInSelection(node) {
|
|
1418
1466
|
let index = -1;
|
|
1419
|
-
|
|
1467
|
+
const currentSelection = this.selection();
|
|
1468
|
+
if (this.selectionMode && currentSelection) {
|
|
1420
1469
|
if (this.isSingleSelectionMode()) {
|
|
1421
|
-
|
|
1470
|
+
const sel = currentSelection;
|
|
1471
|
+
let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;
|
|
1422
1472
|
index = areNodesEqual ? 0 : -1;
|
|
1423
1473
|
}
|
|
1424
1474
|
else {
|
|
1425
|
-
|
|
1426
|
-
|
|
1475
|
+
const selArray = currentSelection;
|
|
1476
|
+
for (let i = 0; i < selArray.length; i++) {
|
|
1477
|
+
let selectedNode = selArray[i];
|
|
1427
1478
|
let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;
|
|
1428
1479
|
if (areNodesEqual) {
|
|
1429
1480
|
index = i;
|
|
@@ -1472,15 +1523,16 @@ class Tree extends BaseComponent {
|
|
|
1472
1523
|
childPartialSelected = true;
|
|
1473
1524
|
}
|
|
1474
1525
|
}
|
|
1526
|
+
const currentSelection = this.selection() || [];
|
|
1475
1527
|
if (select && selectedCount == node.children.length) {
|
|
1476
|
-
this.selection
|
|
1528
|
+
this.selection.set([...currentSelection, node]);
|
|
1477
1529
|
node.partialSelected = false;
|
|
1478
1530
|
}
|
|
1479
1531
|
else {
|
|
1480
1532
|
if (!select) {
|
|
1481
1533
|
let index = this.findIndexInSelection(node);
|
|
1482
1534
|
if (index >= 0) {
|
|
1483
|
-
this.selection
|
|
1535
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1484
1536
|
}
|
|
1485
1537
|
}
|
|
1486
1538
|
if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length))
|
|
@@ -1497,11 +1549,12 @@ class Tree extends BaseComponent {
|
|
|
1497
1549
|
}
|
|
1498
1550
|
propagateDown(node, select) {
|
|
1499
1551
|
let index = this.findIndexInSelection(node);
|
|
1552
|
+
const currentSelection = this.selection() || [];
|
|
1500
1553
|
if (select && index == -1) {
|
|
1501
|
-
this.selection
|
|
1554
|
+
this.selection.set([...currentSelection, node]);
|
|
1502
1555
|
}
|
|
1503
1556
|
else if (!select && index > -1) {
|
|
1504
|
-
this.selection
|
|
1557
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1505
1558
|
}
|
|
1506
1559
|
node.partialSelected = false;
|
|
1507
1560
|
this.syncNodeOption(node, this.filteredNodes, 'partialSelected');
|
|
@@ -1768,9 +1821,20 @@ class Tree extends BaseComponent {
|
|
|
1768
1821
|
this.dragStopSubscription.unsubscribe();
|
|
1769
1822
|
}
|
|
1770
1823
|
}
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1824
|
+
get containerDataP() {
|
|
1825
|
+
return this.cn({
|
|
1826
|
+
loading: this.loading,
|
|
1827
|
+
scrollable: this.scrollHeight === 'flex'
|
|
1828
|
+
});
|
|
1829
|
+
}
|
|
1830
|
+
get wrapperDataP() {
|
|
1831
|
+
return this.cn({
|
|
1832
|
+
scrollable: this.scrollHeight === 'flex'
|
|
1833
|
+
});
|
|
1834
|
+
}
|
|
1835
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: Tree, deps: [{ token: i4.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1836
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: Tree, isStandalone: true, selector: "p-tree", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: false, isRequired: false, transformFunction: null }, loadingMode: { classPropertyName: "loadingMode", publicName: "loadingMode", isSignal: false, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: false, isRequired: false, transformFunction: null }, contextMenuSelectionMode: { classPropertyName: "contextMenuSelectionMode", publicName: "contextMenuSelectionMode", isSignal: false, isRequired: false, transformFunction: null }, contextMenuSelection: { classPropertyName: "contextMenuSelection", publicName: "contextMenuSelection", isSignal: true, isRequired: false, transformFunction: null }, draggableScope: { classPropertyName: "draggableScope", publicName: "draggableScope", isSignal: false, isRequired: false, transformFunction: null }, droppableScope: { classPropertyName: "droppableScope", publicName: "droppableScope", isSignal: false, isRequired: false, transformFunction: null }, draggableNodes: { classPropertyName: "draggableNodes", publicName: "draggableNodes", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, droppableNodes: { classPropertyName: "droppableNodes", publicName: "droppableNodes", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, metaKeySelection: { classPropertyName: "metaKeySelection", publicName: "metaKeySelection", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, propagateSelectionUp: { classPropertyName: "propagateSelectionUp", publicName: "propagateSelectionUp", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, propagateSelectionDown: { classPropertyName: "propagateSelectionDown", publicName: "propagateSelectionDown", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, loadingIcon: { classPropertyName: "loadingIcon", publicName: "loadingIcon", isSignal: false, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, togglerAriaLabel: { classPropertyName: "togglerAriaLabel", publicName: "togglerAriaLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, validateDrop: { classPropertyName: "validateDrop", publicName: "validateDrop", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterInputAutoFocus: { classPropertyName: "filterInputAutoFocus", publicName: "filterInputAutoFocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, filterBy: { classPropertyName: "filterBy", publicName: "filterBy", isSignal: false, isRequired: false, transformFunction: null }, filterMode: { classPropertyName: "filterMode", publicName: "filterMode", isSignal: false, isRequired: false, transformFunction: null }, filterOptions: { classPropertyName: "filterOptions", publicName: "filterOptions", isSignal: false, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, filteredNodes: { classPropertyName: "filteredNodes", publicName: "filteredNodes", isSignal: false, isRequired: false, transformFunction: null }, filterLocale: { classPropertyName: "filterLocale", publicName: "filterLocale", isSignal: false, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: false, isRequired: false, transformFunction: null }, lazy: { classPropertyName: "lazy", publicName: "lazy", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, virtualScrollItemSize: { classPropertyName: "virtualScrollItemSize", publicName: "virtualScrollItemSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, virtualScrollOptions: { classPropertyName: "virtualScrollOptions", publicName: "virtualScrollOptions", isSignal: false, isRequired: false, transformFunction: null }, indentation: { classPropertyName: "indentation", publicName: "indentation", isSignal: false, isRequired: false, transformFunction: numberAttribute }, _templateMap: { classPropertyName: "_templateMap", publicName: "_templateMap", isSignal: false, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: false, isRequired: false, transformFunction: null }, highlightOnSelect: { classPropertyName: "highlightOnSelect", publicName: "highlightOnSelect", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, outputs: { selection: "selectionChange", contextMenuSelection: "contextMenuSelectionChange", 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)", "attr.data-p": "containerDataP" } }, providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }], 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: "emptyTemplate", 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, hostDirectives: [{ directive: i3.Bind }], ngImport: i0, template: `
|
|
1837
|
+
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
|
|
1774
1838
|
<i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
|
|
1775
1839
|
<ng-container *ngIf="!loadingIcon">
|
|
1776
1840
|
<svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
|
|
@@ -1783,7 +1847,7 @@ class Tree extends BaseComponent {
|
|
|
1783
1847
|
@if (filterTemplate || _filterTemplate) {
|
|
1784
1848
|
<ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
|
|
1785
1849
|
} @else {
|
|
1786
|
-
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
|
|
1850
|
+
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
|
|
1787
1851
|
<input
|
|
1788
1852
|
#filter
|
|
1789
1853
|
[pAutoFocus]="filterInputAutoFocus"
|
|
@@ -1795,8 +1859,9 @@ class Tree extends BaseComponent {
|
|
|
1795
1859
|
(keydown.enter)="$event.preventDefault()"
|
|
1796
1860
|
(input)="_filter($event.target?.value)"
|
|
1797
1861
|
[pt]="ptm('pcFilterInput')"
|
|
1862
|
+
[unstyled]="unstyled()"
|
|
1798
1863
|
/>
|
|
1799
|
-
<p-inputicon [pt]="ptm('pcFilterIconContainer')">
|
|
1864
|
+
<p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
|
|
1800
1865
|
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
|
|
1801
1866
|
<span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
|
|
1802
1867
|
<ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
|
|
@@ -1822,6 +1887,7 @@ class Tree extends BaseComponent {
|
|
|
1822
1887
|
[options]="virtualScrollOptions"
|
|
1823
1888
|
[pt]="ptm('virtualScroller')"
|
|
1824
1889
|
hostName="tree"
|
|
1890
|
+
[attr.data-p]="wrapperDataP"
|
|
1825
1891
|
>
|
|
1826
1892
|
<ng-template #content let-items let-scrollerOptions="options">
|
|
1827
1893
|
<ul
|
|
@@ -1849,6 +1915,7 @@ class Tree extends BaseComponent {
|
|
|
1849
1915
|
[indentation]="indentation"
|
|
1850
1916
|
[loadingMode]="loadingMode"
|
|
1851
1917
|
[pt]="pt"
|
|
1918
|
+
[unstyled]="unstyled()"
|
|
1852
1919
|
></p-treeNode>
|
|
1853
1920
|
</ul>
|
|
1854
1921
|
</ng-template>
|
|
@@ -1859,7 +1926,7 @@ class Tree extends BaseComponent {
|
|
|
1859
1926
|
</ng-container>
|
|
1860
1927
|
</p-scroller>
|
|
1861
1928
|
<ng-container *ngIf="!virtualScroll">
|
|
1862
|
-
<div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
|
|
1929
|
+
<div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
|
|
1863
1930
|
<ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
|
|
1864
1931
|
<p-treeNode
|
|
1865
1932
|
*ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
|
|
@@ -1870,6 +1937,7 @@ class Tree extends BaseComponent {
|
|
|
1870
1937
|
[level]="0"
|
|
1871
1938
|
[loadingMode]="loadingMode"
|
|
1872
1939
|
[pt]="pt"
|
|
1940
|
+
[unstyled]="unstyled()"
|
|
1873
1941
|
></p-treeNode>
|
|
1874
1942
|
</ul>
|
|
1875
1943
|
</div>
|
|
@@ -1877,22 +1945,22 @@ class Tree extends BaseComponent {
|
|
|
1877
1945
|
</ng-container>
|
|
1878
1946
|
|
|
1879
1947
|
<div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
|
|
1880
|
-
<ng-container *ngIf="!
|
|
1948
|
+
<ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
|
|
1881
1949
|
{{ emptyMessageLabel }}
|
|
1882
1950
|
</ng-container>
|
|
1883
|
-
<ng-template #emptyFilter *ngTemplateOutlet="
|
|
1951
|
+
<ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
|
|
1884
1952
|
</div>
|
|
1885
1953
|
<ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
|
|
1886
1954
|
`, 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: ["hostName", "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: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: IconField, selector: "p-iconfield, p-iconField, p-icon-field", inputs: ["hostName", "iconPosition", "styleClass"] }, { kind: "component", type: InputIcon, selector: "p-inputicon, p-inputIcon", inputs: ["hostName", "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: i5.AutoFocus, selector: "[pAutoFocus]", inputs: ["pAutoFocus"] }, { kind: "directive", type: Bind, selector: "[pBind]", inputs: ["pBind"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1887
1955
|
}
|
|
1888
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1956
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: Tree, decorators: [{
|
|
1889
1957
|
type: Component,
|
|
1890
1958
|
args: [{
|
|
1891
1959
|
selector: 'p-tree',
|
|
1892
1960
|
standalone: true,
|
|
1893
1961
|
imports: [CommonModule, Scroller, SharedModule, SearchIcon, SpinnerIcon, InputText, FormsModule, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],
|
|
1894
1962
|
template: `
|
|
1895
|
-
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
|
|
1963
|
+
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')" animate.enter="p-overlay-mask-enter-active" animate.leave="p-overlay-mask-leave-active">
|
|
1896
1964
|
<i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
|
|
1897
1965
|
<ng-container *ngIf="!loadingIcon">
|
|
1898
1966
|
<svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
|
|
@@ -1905,7 +1973,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1905
1973
|
@if (filterTemplate || _filterTemplate) {
|
|
1906
1974
|
<ng-container *ngTemplateOutlet="filterTemplate || _filterTemplate; context: { $implicit: filterOptions }"></ng-container>
|
|
1907
1975
|
} @else {
|
|
1908
|
-
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')">
|
|
1976
|
+
<p-iconfield *ngIf="filter" [class]="cx('pcFilterContainer')" [pt]="ptm('pcFilterContainer')" [unstyled]="unstyled()">
|
|
1909
1977
|
<input
|
|
1910
1978
|
#filter
|
|
1911
1979
|
[pAutoFocus]="filterInputAutoFocus"
|
|
@@ -1917,8 +1985,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1917
1985
|
(keydown.enter)="$event.preventDefault()"
|
|
1918
1986
|
(input)="_filter($event.target?.value)"
|
|
1919
1987
|
[pt]="ptm('pcFilterInput')"
|
|
1988
|
+
[unstyled]="unstyled()"
|
|
1920
1989
|
/>
|
|
1921
|
-
<p-inputicon [pt]="ptm('pcFilterIconContainer')">
|
|
1990
|
+
<p-inputicon [pt]="ptm('pcFilterIconContainer')" [unstyled]="unstyled()">
|
|
1922
1991
|
<svg data-p-icon="search" *ngIf="!filterIconTemplate && !_filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')" />
|
|
1923
1992
|
<span *ngIf="filterIconTemplate || _filterIconTemplate" [class]="cx('filterIcon')" [pBind]="ptm('filterIcon')">
|
|
1924
1993
|
<ng-template *ngTemplateOutlet="filterIconTemplate || _filterIconTemplate"></ng-template>
|
|
@@ -1944,6 +2013,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1944
2013
|
[options]="virtualScrollOptions"
|
|
1945
2014
|
[pt]="ptm('virtualScroller')"
|
|
1946
2015
|
hostName="tree"
|
|
2016
|
+
[attr.data-p]="wrapperDataP"
|
|
1947
2017
|
>
|
|
1948
2018
|
<ng-template #content let-items let-scrollerOptions="options">
|
|
1949
2019
|
<ul
|
|
@@ -1971,6 +2041,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1971
2041
|
[indentation]="indentation"
|
|
1972
2042
|
[loadingMode]="loadingMode"
|
|
1973
2043
|
[pt]="pt"
|
|
2044
|
+
[unstyled]="unstyled()"
|
|
1974
2045
|
></p-treeNode>
|
|
1975
2046
|
</ul>
|
|
1976
2047
|
</ng-template>
|
|
@@ -1981,7 +2052,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1981
2052
|
</ng-container>
|
|
1982
2053
|
</p-scroller>
|
|
1983
2054
|
<ng-container *ngIf="!virtualScroll">
|
|
1984
|
-
<div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')">
|
|
2055
|
+
<div #wrapper [class]="cx('wrapper')" [style.max-height]="scrollHeight" [pBind]="ptm('wrapper')" [attr.data-p]="wrapperDataP">
|
|
1985
2056
|
<ul #content [class]="cx('rootChildren')" *ngIf="getRootNode()" role="tree" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledBy" [pBind]="ptm('rootChildren')">
|
|
1986
2057
|
<p-treeNode
|
|
1987
2058
|
*ngFor="let node of getRootNode(); let firstChild = first; let lastChild = last; let index = index; trackBy: trackBy.bind(this)"
|
|
@@ -1992,6 +2063,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1992
2063
|
[level]="0"
|
|
1993
2064
|
[loadingMode]="loadingMode"
|
|
1994
2065
|
[pt]="pt"
|
|
2066
|
+
[unstyled]="unstyled()"
|
|
1995
2067
|
></p-treeNode>
|
|
1996
2068
|
</ul>
|
|
1997
2069
|
</div>
|
|
@@ -1999,10 +2071,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
1999
2071
|
</ng-container>
|
|
2000
2072
|
|
|
2001
2073
|
<div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
|
|
2002
|
-
<ng-container *ngIf="!
|
|
2074
|
+
<ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
|
|
2003
2075
|
{{ emptyMessageLabel }}
|
|
2004
2076
|
</ng-container>
|
|
2005
|
-
<ng-template #emptyFilter *ngTemplateOutlet="
|
|
2077
|
+
<ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
|
|
2006
2078
|
</div>
|
|
2007
2079
|
<ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
|
|
2008
2080
|
`,
|
|
@@ -2010,7 +2082,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
2010
2082
|
encapsulation: ViewEncapsulation.None,
|
|
2011
2083
|
providers: [TreeStyle, { provide: TREE_INSTANCE, useExisting: Tree }, { provide: PARENT_INSTANCE, useExisting: Tree }],
|
|
2012
2084
|
host: {
|
|
2013
|
-
'[class]': "cn(cx('root'), styleClass)"
|
|
2085
|
+
'[class]': "cn(cx('root'), styleClass)",
|
|
2086
|
+
'[attr.data-p]': 'containerDataP'
|
|
2014
2087
|
},
|
|
2015
2088
|
hostDirectives: [Bind]
|
|
2016
2089
|
}]
|
|
@@ -2022,13 +2095,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
2022
2095
|
type: Input
|
|
2023
2096
|
}], loadingMode: [{
|
|
2024
2097
|
type: Input
|
|
2025
|
-
}], selection: [{
|
|
2026
|
-
type: Input
|
|
2027
|
-
}], styleClass: [{
|
|
2098
|
+
}], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], styleClass: [{
|
|
2028
2099
|
type: Input
|
|
2029
2100
|
}], contextMenu: [{
|
|
2030
2101
|
type: Input
|
|
2031
|
-
}],
|
|
2102
|
+
}], contextMenuSelectionMode: [{
|
|
2103
|
+
type: Input
|
|
2104
|
+
}], contextMenuSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuSelection", required: false }] }, { type: i0.Output, args: ["contextMenuSelectionChange"] }], draggableScope: [{
|
|
2032
2105
|
type: Input
|
|
2033
2106
|
}], droppableScope: [{
|
|
2034
2107
|
type: Input
|
|
@@ -2104,8 +2177,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
2104
2177
|
}], highlightOnSelect: [{
|
|
2105
2178
|
type: Input,
|
|
2106
2179
|
args: [{ transform: booleanAttribute }]
|
|
2107
|
-
}], selectionChange: [{
|
|
2108
|
-
type: Output
|
|
2109
2180
|
}], onNodeSelect: [{
|
|
2110
2181
|
type: Output
|
|
2111
2182
|
}], onNodeUnselect: [{
|
|
@@ -2143,7 +2214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
2143
2214
|
}], loaderTemplate: [{
|
|
2144
2215
|
type: ContentChild,
|
|
2145
2216
|
args: ['loader', { descendants: false }]
|
|
2146
|
-
}],
|
|
2217
|
+
}], emptyTemplate: [{
|
|
2147
2218
|
type: ContentChild,
|
|
2148
2219
|
args: ['empty', { descendants: false }]
|
|
2149
2220
|
}], togglerIconTemplate: [{
|
|
@@ -2187,11 +2258,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
2187
2258
|
args: ['dragleave', ['$event']]
|
|
2188
2259
|
}] } });
|
|
2189
2260
|
class TreeModule {
|
|
2190
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2191
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
2192
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
2261
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2262
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
|
|
2263
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
|
|
2193
2264
|
}
|
|
2194
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TreeModule, decorators: [{
|
|
2195
2266
|
type: NgModule,
|
|
2196
2267
|
args: [{
|
|
2197
2268
|
imports: [Tree, SharedModule],
|