primeng 21.0.0-beta.1 → 21.0.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/fesm2022/primeng-accordion.mjs +22 -22
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +7 -7
- package/fesm2022/primeng-api.mjs +31 -31
- package/fesm2022/primeng-autocomplete.mjs +43 -41
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-autofocus.mjs +7 -7
- package/fesm2022/primeng-avatar.mjs +26 -10
- package/fesm2022/primeng-avatar.mjs.map +1 -1
- package/fesm2022/primeng-avatargroup.mjs +10 -10
- package/fesm2022/primeng-badge.mjs +18 -18
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-base.mjs +3 -3
- package/fesm2022/primeng-basecomponent.mjs +6 -6
- package/fesm2022/primeng-baseeditableholder.mjs +6 -6
- 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-bind.mjs +7 -7
- package/fesm2022/primeng-blockui.mjs +14 -14
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +95 -54
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +43 -43
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +10 -10
- package/fesm2022/primeng-card.mjs +30 -10
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +15 -15
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +23 -23
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +10 -10
- package/fesm2022/primeng-checkbox.mjs +11 -11
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +14 -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 +10 -10
- package/fesm2022/primeng-config.mjs +6 -6
- package/fesm2022/primeng-confirmdialog.mjs +42 -10
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +40 -12
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +96 -45
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +17 -11
- package/fesm2022/primeng-dataview.mjs.map +1 -1
- package/fesm2022/primeng-datepicker.mjs +20 -13
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +54 -22
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +10 -10
- package/fesm2022/primeng-dock.mjs +44 -20
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +10 -10
- package/fesm2022/primeng-drawer.mjs +18 -18
- 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-fieldset.mjs +14 -14
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +25 -22
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +10 -10
- package/fesm2022/primeng-fluid.mjs +10 -10
- package/fesm2022/primeng-focustrap.mjs +7 -7
- package/fesm2022/primeng-galleria.mjs +79 -32
- 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 +22 -22
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +12 -12
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +19 -19
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- 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 +13 -12
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +14 -14
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +18 -14
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputtext.mjs +16 -16
- package/fesm2022/primeng-inputtext.mjs.map +1 -1
- package/fesm2022/primeng-keyfilter.mjs +7 -7
- package/fesm2022/primeng-knob.mjs +25 -25
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +31 -14
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +124 -46
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +38 -30
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +129 -50
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +12 -10
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +43 -13
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-motion.mjs +31 -31
- package/fesm2022/primeng-motion.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +83 -15
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +15 -11
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +13 -13
- package/fesm2022/primeng-overlay.mjs +13 -11
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +10 -10
- package/fesm2022/primeng-paginator.mjs +18 -14
- 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 +160 -48
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +50 -22
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +25 -11
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +13 -11
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +13 -11
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +10 -10
- package/fesm2022/primeng-radiobutton.mjs +13 -13
- package/fesm2022/primeng-rating.mjs +14 -10
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-ripple.mjs +10 -10
- package/fesm2022/primeng-scroller.mjs +19 -12
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +11 -11
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +13 -11
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +19 -17
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +14 -12
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +10 -10
- package/fesm2022/primeng-slider.mjs +10 -10
- package/fesm2022/primeng-speeddial.mjs +21 -22
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +13 -13
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +10 -10
- package/fesm2022/primeng-stepper.mjs +45 -49
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +11 -11
- package/fesm2022/primeng-styleclass.mjs +7 -7
- package/fesm2022/primeng-table.mjs +153 -113
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +114 -113
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +14 -10
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +13 -13
- package/fesm2022/primeng-textarea.mjs +15 -15
- package/fesm2022/primeng-textarea.mjs.map +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +482 -361
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +16 -10
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +18 -14
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +15 -11
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +12 -16
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +13 -13
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +14 -14
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +138 -89
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +32 -13
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +91 -86
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +3 -3
- package/package.json +2 -2
- package/types/primeng-api.d.ts +20 -0
- package/types/primeng-autocomplete.d.ts +24 -24
- package/types/primeng-avatar.d.ts +17 -1
- package/types/primeng-badge.d.ts +3 -3
- package/types/primeng-breadcrumb.d.ts +7 -7
- package/types/primeng-button.d.ts +20 -20
- package/types/primeng-card.d.ts +30 -10
- package/types/primeng-carousel.d.ts +16 -16
- package/types/primeng-cascadeselect.d.ts +25 -25
- package/types/primeng-checkbox.d.ts +4 -4
- package/types/primeng-chip.d.ts +6 -2
- package/types/primeng-confirmdialog.d.ts +44 -15
- package/types/primeng-confirmpopup.d.ts +25 -9
- package/types/primeng-contextmenu.d.ts +10 -10
- package/types/primeng-dataview.d.ts +19 -13
- package/types/primeng-datepicker.d.ts +33 -27
- package/types/primeng-dialog.d.ts +56 -28
- package/types/primeng-dock.d.ts +8 -3
- package/types/primeng-drawer.d.ts +17 -17
- package/types/primeng-dynamicdialog.d.ts +8 -7
- package/types/primeng-fieldset.d.ts +12 -12
- package/types/primeng-fileupload.d.ts +31 -28
- package/types/primeng-galleria.d.ts +70 -25
- package/types/primeng-image.d.ts +25 -25
- package/types/primeng-imagecompare.d.ts +6 -6
- package/types/primeng-inplace.d.ts +10 -10
- package/types/primeng-inputmask.d.ts +3 -3
- package/types/primeng-inputnumber.d.ts +9 -9
- package/types/primeng-inputotp.d.ts +6 -43
- package/types/primeng-inputtext.d.ts +3 -3
- package/types/primeng-knob.d.ts +1 -1
- package/types/primeng-listbox.d.ts +39 -23
- package/types/primeng-megamenu.d.ts +23 -19
- package/types/primeng-menu.d.ts +17 -13
- package/types/primeng-menubar.d.ts +19 -16
- package/types/primeng-message.d.ts +9 -7
- package/types/primeng-metergroup.d.ts +42 -12
- package/types/primeng-multiselect.d.ts +106 -38
- package/types/primeng-orderlist.d.ts +25 -21
- package/types/primeng-overlay.d.ts +8 -5
- package/types/primeng-paginator.d.ts +25 -25
- package/types/primeng-panel.d.ts +11 -11
- package/types/primeng-panelmenu.d.ts +11 -9
- package/types/primeng-password.d.ts +43 -15
- package/types/primeng-picklist.d.ts +53 -63
- package/types/primeng-popover.d.ts +5 -3
- package/types/primeng-progressbar.d.ts +6 -4
- package/types/primeng-rating.d.ts +10 -6
- package/types/primeng-scroller.d.ts +17 -9
- package/types/primeng-scrollpanel.d.ts +3 -3
- package/types/primeng-scrolltop.d.ts +6 -4
- package/types/primeng-select.d.ts +33 -33
- package/types/primeng-selectbutton.d.ts +6 -4
- package/types/primeng-speeddial.d.ts +15 -15
- package/types/primeng-splitbutton.d.ts +6 -6
- package/types/primeng-table.d.ts +1 -0
- package/types/primeng-tabs.d.ts +57 -56
- package/types/primeng-tag.d.ts +6 -2
- package/types/primeng-textarea.d.ts +2 -2
- package/types/primeng-tieredmenu.d.ts +41 -29
- package/types/primeng-timeline.d.ts +13 -7
- package/types/primeng-toast.d.ts +12 -8
- package/types/primeng-togglebutton.d.ts +9 -5
- package/types/primeng-toggleswitch.d.ts +5 -18
- package/types/primeng-toolbar.d.ts +9 -9
- package/types/primeng-tooltip.d.ts +3 -3
- package/types/primeng-tree.d.ts +75 -53
- package/types/primeng-treeselect.d.ts +41 -26
- package/types/primeng-treetable.d.ts +53 -53
- package/types/primeng-types-autocomplete.d.ts +76 -63
- package/types/primeng-types-breadcrumb.d.ts +27 -1
- package/types/primeng-types-button.d.ts +37 -18
- package/types/primeng-types-card.d.ts +10 -10
- package/types/primeng-types-carousel.d.ts +22 -19
- package/types/primeng-types-cascadeselect.d.ts +44 -27
- package/types/primeng-types-checkbox.d.ts +22 -20
- package/types/primeng-types-chip.d.ts +4 -4
- package/types/primeng-types-confirmdialog.d.ts +46 -20
- package/types/primeng-types-confirmpopup.d.ts +31 -13
- package/types/primeng-types-contextmenu.d.ts +26 -18
- package/types/primeng-types-dataview.d.ts +63 -44
- package/types/primeng-types-datepicker.d.ts +106 -54
- package/types/primeng-types-dialog.d.ts +10 -6
- package/types/primeng-types-dock.d.ts +13 -10
- package/types/primeng-types-drawer.d.ts +7 -7
- package/types/primeng-types-fieldset.d.ts +6 -6
- package/types/primeng-types-fileupload.d.ts +95 -311
- package/types/primeng-types-galleria.d.ts +67 -55
- package/types/primeng-types-image.d.ts +40 -94
- package/types/primeng-types-imagecompare.d.ts +16 -1
- package/types/primeng-types-inplace.d.ts +18 -7
- package/types/primeng-types-inputmask.d.ts +1 -1
- package/types/primeng-types-inputnumber.d.ts +3 -3
- package/types/primeng-types-inputotp.d.ts +71 -1
- package/types/primeng-types-listbox.d.ts +123 -44
- package/types/primeng-types-megamenu.d.ts +30 -14
- package/types/primeng-types-menu.d.ts +30 -22
- package/types/primeng-types-menubar.d.ts +23 -20
- package/types/primeng-types-message.d.ts +31 -1
- package/types/primeng-types-metergroup.d.ts +78 -103
- package/types/primeng-types-multiselect.d.ts +135 -90
- package/types/primeng-types-orderlist.d.ts +44 -35
- package/types/primeng-types-overlay.d.ts +29 -2
- package/types/primeng-types-paginator.d.ts +42 -6
- package/types/primeng-types-panel.d.ts +29 -1
- package/types/primeng-types-panelmenu.d.ts +18 -10
- package/types/primeng-types-password.d.ts +19 -7
- package/types/primeng-types-picklist.d.ts +69 -74
- package/types/primeng-types-popover.d.ts +14 -12
- package/types/primeng-types-progressbar.d.ts +13 -9
- package/types/primeng-types-rating.d.ts +19 -7
- package/types/primeng-types-scroller.d.ts +60 -50
- package/types/primeng-types-scrollpanel.d.ts +1 -1
- package/types/primeng-types-scrolltop.d.ts +14 -10
- package/types/primeng-types-select.d.ts +80 -49
- package/types/primeng-types-selectbutton.d.ts +17 -2
- package/types/primeng-types-speeddial.d.ts +35 -17
- package/types/primeng-types-splitbutton.d.ts +4 -4
- package/types/primeng-types-splitter.d.ts +2 -2
- package/types/primeng-types-tag.d.ts +2 -2
- package/types/primeng-types-tieredmenu.d.ts +20 -17
- package/types/primeng-types-timeline.d.ts +19 -29
- package/types/primeng-types-toast.d.ts +34 -22
- package/types/primeng-types-togglebutton.d.ts +25 -24
- package/types/primeng-types-toggleswitch.d.ts +23 -1
- package/types/primeng-types-toolbar.d.ts +6 -6
- package/types/primeng-types-tree.d.ts +75 -41
- package/types/primeng-types-treeselect.d.ts +80 -53
- package/types/primeng-types-treetable.d.ts +145 -156
|
@@ -2,7 +2,7 @@ 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,
|
|
5
|
+
import { Injectable, InjectionToken, inject, forwardRef, signal, computed, numberAttribute, booleanAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, model, EventEmitter, HostListener, ContentChildren, ViewChild, ContentChild, Output, Optional, NgModule } from '@angular/core';
|
|
6
6
|
import * as i2 from '@angular/forms';
|
|
7
7
|
import { FormsModule } from '@angular/forms';
|
|
8
8
|
import { getOuterWidth, getOuterHeight, find, findSingle, focus, removeAccents, resolveFieldData } from '@primeuix/utils';
|
|
@@ -43,7 +43,8 @@ const classes = {
|
|
|
43
43
|
'p-tree-node-content': true,
|
|
44
44
|
'p-tree-node-selectable': instance.selectable,
|
|
45
45
|
'p-tree-node-dragover': instance.isNodeDropActive(),
|
|
46
|
-
'p-tree-node-selected': instance.selectionMode === 'checkbox' && instance.tree.highlightOnSelect ? instance.checked : instance.selected
|
|
46
|
+
'p-tree-node-selected': instance.selectionMode === 'checkbox' && instance.tree.highlightOnSelect ? instance.checked : instance.selected,
|
|
47
|
+
'p-tree-node-contextmenu-selected': instance.isContextMenuSelected()
|
|
47
48
|
}),
|
|
48
49
|
nodeToggleButton: 'p-tree-node-toggle-button',
|
|
49
50
|
nodeToggleIcon: 'p-tree-node-toggle-icon',
|
|
@@ -58,10 +59,10 @@ class TreeStyle extends BaseStyle {
|
|
|
58
59
|
name = 'tree';
|
|
59
60
|
style = style;
|
|
60
61
|
classes = classes;
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
62
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
62
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeStyle, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
63
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeStyle });
|
|
63
64
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeStyle, decorators: [{
|
|
65
66
|
type: Injectable
|
|
66
67
|
}] });
|
|
67
68
|
/**
|
|
@@ -167,11 +168,29 @@ class UITreeNode extends BaseComponent {
|
|
|
167
168
|
isNodeDropActive = computed(() => this.isNodeDropHovered() && this.isNodeDroppable(), ...(ngDevMode ? [{ debugName: "isNodeDropActive" }] : []));
|
|
168
169
|
dropPosition = computed(() => (this.isPrevDropPointActive() ? -1 : this.isNextDropPointActive() ? 1 : 0), ...(ngDevMode ? [{ debugName: "dropPosition" }] : []));
|
|
169
170
|
_componentStyle = inject(TreeStyle);
|
|
171
|
+
/**
|
|
172
|
+
* Computed signal that reactively tracks selection state.
|
|
173
|
+
*/
|
|
174
|
+
_selected = computed(() => {
|
|
175
|
+
// Reading selection() makes this computed reactive to selection changes
|
|
176
|
+
this.tree.selection();
|
|
177
|
+
return this.tree.isSelected(this.node);
|
|
178
|
+
}, ...(ngDevMode ? [{ debugName: "_selected" }] : []));
|
|
179
|
+
/**
|
|
180
|
+
* Computed signal that reactively tracks context menu selection state.
|
|
181
|
+
*/
|
|
182
|
+
_contextMenuSelected = computed(() => {
|
|
183
|
+
const selection = this.tree.contextMenuSelection();
|
|
184
|
+
if (!selection || !this.node) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
return selection === this.node || (selection.key && selection.key === this.node.key);
|
|
188
|
+
}, ...(ngDevMode ? [{ debugName: "_contextMenuSelected" }] : []));
|
|
170
189
|
get selected() {
|
|
171
|
-
return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this.
|
|
190
|
+
return this.tree.selectionMode === 'single' || this.tree.selectionMode === 'multiple' ? this._selected() : undefined;
|
|
172
191
|
}
|
|
173
192
|
get checked() {
|
|
174
|
-
return this.tree.selectionMode === 'checkbox' ? this.
|
|
193
|
+
return this.tree.selectionMode === 'checkbox' ? this._selected() : undefined;
|
|
175
194
|
}
|
|
176
195
|
get nodeClass() {
|
|
177
196
|
return this.tree._componentStyle.classes.node({ instance: this });
|
|
@@ -216,7 +235,10 @@ class UITreeNode extends BaseComponent {
|
|
|
216
235
|
return this.tree.isNodeLeaf(this.node);
|
|
217
236
|
}
|
|
218
237
|
isSelected() {
|
|
219
|
-
return this.
|
|
238
|
+
return this._selected();
|
|
239
|
+
}
|
|
240
|
+
isContextMenuSelected() {
|
|
241
|
+
return this._contextMenuSelected();
|
|
220
242
|
}
|
|
221
243
|
isSameNode(event) {
|
|
222
244
|
return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[role="treeitem"]')));
|
|
@@ -571,8 +593,8 @@ class UITreeNode extends BaseComponent {
|
|
|
571
593
|
focus(node);
|
|
572
594
|
}, 1);
|
|
573
595
|
}
|
|
574
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
575
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
596
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: UITreeNode, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
597
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", 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
598
|
@if (node) {
|
|
577
599
|
<li
|
|
578
600
|
[class]="cn(cx('node'), node.styleClass)"
|
|
@@ -663,7 +685,7 @@ class UITreeNode extends BaseComponent {
|
|
|
663
685
|
</span>
|
|
664
686
|
</div>
|
|
665
687
|
@if (isNextDropPointActive()) {
|
|
666
|
-
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
|
|
688
|
+
<div [class]="cx('dropPoint', { next: true })" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
|
|
667
689
|
}
|
|
668
690
|
<ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group" [pBind]="ptm('nodeChildren')">
|
|
669
691
|
<p-treeNode
|
|
@@ -682,14 +704,15 @@ class UITreeNode extends BaseComponent {
|
|
|
682
704
|
</ul>
|
|
683
705
|
</li>
|
|
684
706
|
}
|
|
685
|
-
`, 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 });
|
|
707
|
+
`, 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
686
708
|
}
|
|
687
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
709
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: UITreeNode, decorators: [{
|
|
688
710
|
type: Component,
|
|
689
711
|
args: [{
|
|
690
712
|
selector: 'p-treeNode',
|
|
691
713
|
standalone: true,
|
|
692
714
|
imports: [CommonModule, Ripple, Checkbox, FormsModule, ChevronRightIcon, ChevronDownIcon, SpinnerIcon, SharedModule, BindModule],
|
|
715
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
693
716
|
template: `
|
|
694
717
|
@if (node) {
|
|
695
718
|
<li
|
|
@@ -781,7 +804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
781
804
|
</span>
|
|
782
805
|
</div>
|
|
783
806
|
@if (isNextDropPointActive()) {
|
|
784
|
-
<div [class]="cx('dropPoint')" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
|
|
807
|
+
<div [class]="cx('dropPoint', { next: true })" [attr.aria-hidden]="true" [pBind]="getPTOptions('dropPoint')"></div>
|
|
785
808
|
}
|
|
786
809
|
<ul [class]="cx('nodeChildren')" *ngIf="!tree.virtualScroll && node.children && node.expanded" role="group" [pBind]="ptm('nodeChildren')">
|
|
787
810
|
<p-treeNode
|
|
@@ -864,7 +887,7 @@ class Tree extends BaseComponent {
|
|
|
864
887
|
* A single treenode instance or an array to refer to the selections.
|
|
865
888
|
* @group Props
|
|
866
889
|
*/
|
|
867
|
-
selection;
|
|
890
|
+
selection = model(null, ...(ngDevMode ? [{ debugName: "selection" }] : []));
|
|
868
891
|
/**
|
|
869
892
|
* Style class of the component.
|
|
870
893
|
* @deprecated since v20.0.0, use `class` instead.
|
|
@@ -876,6 +899,16 @@ class Tree extends BaseComponent {
|
|
|
876
899
|
* @group Props
|
|
877
900
|
*/
|
|
878
901
|
contextMenu;
|
|
902
|
+
/**
|
|
903
|
+
* Defines the behavior of context menu selection, in "separate" mode context menu updates contextMenuSelection property whereas in joint mode selection property is used instead so that when row selection is enabled, both row selection and context menu selection use the same property.
|
|
904
|
+
* @group Props
|
|
905
|
+
*/
|
|
906
|
+
contextMenuSelectionMode = 'joint';
|
|
907
|
+
/**
|
|
908
|
+
* Selected node with a context menu.
|
|
909
|
+
* @group Props
|
|
910
|
+
*/
|
|
911
|
+
contextMenuSelection = model(null, ...(ngDevMode ? [{ debugName: "contextMenuSelection" }] : []));
|
|
879
912
|
/**
|
|
880
913
|
* Scope of the draggable nodes to match a droppableScope.
|
|
881
914
|
* @group Props
|
|
@@ -1031,12 +1064,6 @@ class Tree extends BaseComponent {
|
|
|
1031
1064
|
* @group Props
|
|
1032
1065
|
*/
|
|
1033
1066
|
highlightOnSelect = false;
|
|
1034
|
-
/**
|
|
1035
|
-
* Callback to invoke on selection change.
|
|
1036
|
-
* @param {(TreeNode<any> | TreeNode<any>[] | null)} event - Custom selection change event.
|
|
1037
|
-
* @group Emits
|
|
1038
|
-
*/
|
|
1039
|
-
selectionChange = new EventEmitter();
|
|
1040
1067
|
/**
|
|
1041
1068
|
* Callback to invoke when a node is selected.
|
|
1042
1069
|
* @param {TreeNodeSelectEvent} event - Node select event.
|
|
@@ -1104,52 +1131,60 @@ class Tree extends BaseComponent {
|
|
|
1104
1131
|
*/
|
|
1105
1132
|
onFilter = new EventEmitter();
|
|
1106
1133
|
/**
|
|
1107
|
-
*
|
|
1134
|
+
* Custom filter template.
|
|
1135
|
+
* @param {TreeFilterTemplateContext} context - filter context.
|
|
1136
|
+
* @see {@link TreeFilterTemplateContext}
|
|
1108
1137
|
* @group Templates
|
|
1109
1138
|
*/
|
|
1110
1139
|
filterTemplate;
|
|
1111
1140
|
/**
|
|
1112
|
-
*
|
|
1141
|
+
* Custom node template.
|
|
1113
1142
|
* @group Templates
|
|
1114
1143
|
*/
|
|
1115
1144
|
nodeTemplate;
|
|
1116
1145
|
/**
|
|
1117
|
-
*
|
|
1146
|
+
* Custom header template.
|
|
1118
1147
|
* @group Templates
|
|
1119
1148
|
*/
|
|
1120
1149
|
headerTemplate;
|
|
1121
1150
|
/**
|
|
1122
|
-
*
|
|
1151
|
+
* Custom footer template.
|
|
1123
1152
|
* @group Templates
|
|
1124
1153
|
*/
|
|
1125
1154
|
footerTemplate;
|
|
1126
1155
|
/**
|
|
1127
|
-
*
|
|
1156
|
+
* Custom loader template.
|
|
1157
|
+
* @param {TreeLoaderTemplateContext} context - loader context.
|
|
1158
|
+
* @see {@link TreeLoaderTemplateContext}
|
|
1128
1159
|
* @group Templates
|
|
1129
1160
|
*/
|
|
1130
1161
|
loaderTemplate;
|
|
1131
1162
|
/**
|
|
1132
|
-
*
|
|
1163
|
+
* Custom empty message template.
|
|
1133
1164
|
* @group Templates
|
|
1134
1165
|
*/
|
|
1135
|
-
|
|
1166
|
+
emptyTemplate;
|
|
1136
1167
|
/**
|
|
1137
|
-
*
|
|
1168
|
+
* Custom toggler icon template.
|
|
1169
|
+
* @param {TreeTogglerIconTemplateContext} context - toggler icon context.
|
|
1170
|
+
* @see {@link TreeTogglerIconTemplateContext}
|
|
1138
1171
|
* @group Templates
|
|
1139
1172
|
*/
|
|
1140
1173
|
togglerIconTemplate;
|
|
1141
1174
|
/**
|
|
1142
|
-
*
|
|
1175
|
+
* Custom checkbox icon template.
|
|
1176
|
+
* @param {TreeCheckboxIconTemplateContext} context - checkbox icon context.
|
|
1177
|
+
* @see {@link TreeCheckboxIconTemplateContext}
|
|
1143
1178
|
* @group Templates
|
|
1144
1179
|
*/
|
|
1145
1180
|
checkboxIconTemplate;
|
|
1146
1181
|
/**
|
|
1147
|
-
*
|
|
1182
|
+
* Custom loading icon template.
|
|
1148
1183
|
* @group Templates
|
|
1149
1184
|
*/
|
|
1150
1185
|
loadingIconTemplate;
|
|
1151
1186
|
/**
|
|
1152
|
-
*
|
|
1187
|
+
* Custom filter icon template.
|
|
1153
1188
|
* @group Templates
|
|
1154
1189
|
*/
|
|
1155
1190
|
filterIconTemplate;
|
|
@@ -1159,7 +1194,7 @@ class Tree extends BaseComponent {
|
|
|
1159
1194
|
contentViewChild;
|
|
1160
1195
|
templates;
|
|
1161
1196
|
_headerTemplate;
|
|
1162
|
-
|
|
1197
|
+
_emptyTemplate;
|
|
1163
1198
|
_footerTemplate;
|
|
1164
1199
|
_loaderTemplate;
|
|
1165
1200
|
_togglerIconTemplate;
|
|
@@ -1177,7 +1212,7 @@ class Tree extends BaseComponent {
|
|
|
1177
1212
|
this._headerTemplate = item.template;
|
|
1178
1213
|
break;
|
|
1179
1214
|
case 'empty':
|
|
1180
|
-
this.
|
|
1215
|
+
this._emptyTemplate = item.template;
|
|
1181
1216
|
break;
|
|
1182
1217
|
case 'footer':
|
|
1183
1218
|
this._footerTemplate = item.template;
|
|
@@ -1296,7 +1331,7 @@ class Tree extends BaseComponent {
|
|
|
1296
1331
|
if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
|
|
1297
1332
|
return;
|
|
1298
1333
|
}
|
|
1299
|
-
|
|
1334
|
+
if (this.selectionMode) {
|
|
1300
1335
|
if (node.selectable === false) {
|
|
1301
1336
|
node.style = '--p-focus-ring-color: none;';
|
|
1302
1337
|
return;
|
|
@@ -1314,27 +1349,26 @@ class Tree extends BaseComponent {
|
|
|
1314
1349
|
}
|
|
1315
1350
|
let index = this.findIndexInSelection(node);
|
|
1316
1351
|
let selected = index >= 0;
|
|
1352
|
+
const currentSelection = this.selection();
|
|
1317
1353
|
if (this.isCheckboxSelectionMode()) {
|
|
1318
1354
|
if (selected) {
|
|
1319
1355
|
if (this.propagateSelectionDown)
|
|
1320
1356
|
this.propagateDown(node, false);
|
|
1321
1357
|
else
|
|
1322
|
-
this.selection
|
|
1358
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1323
1359
|
if (this.propagateSelectionUp && node.parent) {
|
|
1324
1360
|
this.propagateUp(node.parent, false);
|
|
1325
1361
|
}
|
|
1326
|
-
this.selectionChange.emit(this.selection);
|
|
1327
1362
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1328
1363
|
}
|
|
1329
1364
|
else {
|
|
1330
1365
|
if (this.propagateSelectionDown)
|
|
1331
1366
|
this.propagateDown(node, true);
|
|
1332
1367
|
else
|
|
1333
|
-
this.selection
|
|
1368
|
+
this.selection.set([...(currentSelection || []), node]);
|
|
1334
1369
|
if (this.propagateSelectionUp && node.parent) {
|
|
1335
1370
|
this.propagateUp(node.parent, true);
|
|
1336
1371
|
}
|
|
1337
|
-
this.selectionChange.emit(this.selection);
|
|
1338
1372
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1339
1373
|
}
|
|
1340
1374
|
}
|
|
@@ -1344,22 +1378,20 @@ class Tree extends BaseComponent {
|
|
|
1344
1378
|
let metaKey = event.metaKey || event.ctrlKey;
|
|
1345
1379
|
if (selected && metaKey) {
|
|
1346
1380
|
if (this.isSingleSelectionMode()) {
|
|
1347
|
-
this.
|
|
1381
|
+
this.selection.set(null);
|
|
1348
1382
|
}
|
|
1349
1383
|
else {
|
|
1350
|
-
this.selection
|
|
1351
|
-
this.selectionChange.emit(this.selection);
|
|
1384
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1352
1385
|
}
|
|
1353
1386
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1354
1387
|
}
|
|
1355
1388
|
else {
|
|
1356
1389
|
if (this.isSingleSelectionMode()) {
|
|
1357
|
-
this.
|
|
1390
|
+
this.selection.set(node);
|
|
1358
1391
|
}
|
|
1359
1392
|
else if (this.isMultipleSelectionMode()) {
|
|
1360
|
-
|
|
1361
|
-
this.selection
|
|
1362
|
-
this.selectionChange.emit(this.selection);
|
|
1393
|
+
const base = !metaKey ? [] : currentSelection || [];
|
|
1394
|
+
this.selection.set([...base, node]);
|
|
1363
1395
|
}
|
|
1364
1396
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1365
1397
|
}
|
|
@@ -1367,11 +1399,11 @@ class Tree extends BaseComponent {
|
|
|
1367
1399
|
else {
|
|
1368
1400
|
if (this.isSingleSelectionMode()) {
|
|
1369
1401
|
if (selected) {
|
|
1370
|
-
this.selection
|
|
1402
|
+
this.selection.set(null);
|
|
1371
1403
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1372
1404
|
}
|
|
1373
1405
|
else {
|
|
1374
|
-
this.selection
|
|
1406
|
+
this.selection.set(node);
|
|
1375
1407
|
setTimeout(() => {
|
|
1376
1408
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1377
1409
|
});
|
|
@@ -1379,17 +1411,16 @@ class Tree extends BaseComponent {
|
|
|
1379
1411
|
}
|
|
1380
1412
|
else {
|
|
1381
1413
|
if (selected) {
|
|
1382
|
-
this.selection
|
|
1414
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1383
1415
|
this.onNodeUnselect.emit({ originalEvent: event, node: node });
|
|
1384
1416
|
}
|
|
1385
1417
|
else {
|
|
1386
|
-
this.selection
|
|
1418
|
+
this.selection.set([...(currentSelection || []), node]);
|
|
1387
1419
|
setTimeout(() => {
|
|
1388
1420
|
this.onNodeSelect.emit({ originalEvent: event, node: node });
|
|
1389
1421
|
});
|
|
1390
1422
|
}
|
|
1391
1423
|
}
|
|
1392
|
-
this.selectionChange.emit(this.selection);
|
|
1393
1424
|
}
|
|
1394
1425
|
}
|
|
1395
1426
|
}
|
|
@@ -1405,17 +1436,32 @@ class Tree extends BaseComponent {
|
|
|
1405
1436
|
if (section === 'nodetogglebutton' || section === 'nodetoggleicon') {
|
|
1406
1437
|
return;
|
|
1407
1438
|
}
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
if (!selected) {
|
|
1412
|
-
if (this.isSingleSelectionMode())
|
|
1413
|
-
this.selectionChange.emit(node);
|
|
1414
|
-
else
|
|
1415
|
-
this.selectionChange.emit([node]);
|
|
1416
|
-
}
|
|
1439
|
+
let index = this.findIndexInSelection(node);
|
|
1440
|
+
let isNodeSelected = index >= 0;
|
|
1441
|
+
const onContextMenuCallback = () => {
|
|
1417
1442
|
this.contextMenu.show(event);
|
|
1443
|
+
this.contextMenu.hideCallback = () => {
|
|
1444
|
+
this.contextMenuSelection.set(null);
|
|
1445
|
+
};
|
|
1418
1446
|
this.onNodeContextMenuSelect.emit({ originalEvent: event, node: node });
|
|
1447
|
+
};
|
|
1448
|
+
if (this.contextMenuSelectionMode === 'separate') {
|
|
1449
|
+
// In 'separate' mode: Update contextMenuSelection with clicked node, don't modify selection
|
|
1450
|
+
this.contextMenuSelection.set(node);
|
|
1451
|
+
onContextMenuCallback();
|
|
1452
|
+
}
|
|
1453
|
+
else if (this.contextMenuSelectionMode === 'joint') {
|
|
1454
|
+
// In 'joint' mode: Update only selection, don't touch contextMenuSelection
|
|
1455
|
+
if (!isNodeSelected) {
|
|
1456
|
+
if (this.isSingleSelectionMode()) {
|
|
1457
|
+
this.selection.set(node);
|
|
1458
|
+
}
|
|
1459
|
+
else {
|
|
1460
|
+
this.selection.set([node]);
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
// If already selected, keep current selection as is
|
|
1464
|
+
onContextMenuCallback();
|
|
1419
1465
|
}
|
|
1420
1466
|
}
|
|
1421
1467
|
}
|
|
@@ -1424,14 +1470,17 @@ class Tree extends BaseComponent {
|
|
|
1424
1470
|
}
|
|
1425
1471
|
findIndexInSelection(node) {
|
|
1426
1472
|
let index = -1;
|
|
1427
|
-
|
|
1473
|
+
const currentSelection = this.selection();
|
|
1474
|
+
if (this.selectionMode && currentSelection) {
|
|
1428
1475
|
if (this.isSingleSelectionMode()) {
|
|
1429
|
-
|
|
1476
|
+
const sel = currentSelection;
|
|
1477
|
+
let areNodesEqual = (sel.key && sel.key === node.key) || sel == node;
|
|
1430
1478
|
index = areNodesEqual ? 0 : -1;
|
|
1431
1479
|
}
|
|
1432
1480
|
else {
|
|
1433
|
-
|
|
1434
|
-
|
|
1481
|
+
const selArray = currentSelection;
|
|
1482
|
+
for (let i = 0; i < selArray.length; i++) {
|
|
1483
|
+
let selectedNode = selArray[i];
|
|
1435
1484
|
let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;
|
|
1436
1485
|
if (areNodesEqual) {
|
|
1437
1486
|
index = i;
|
|
@@ -1480,15 +1529,16 @@ class Tree extends BaseComponent {
|
|
|
1480
1529
|
childPartialSelected = true;
|
|
1481
1530
|
}
|
|
1482
1531
|
}
|
|
1532
|
+
const currentSelection = this.selection() || [];
|
|
1483
1533
|
if (select && selectedCount == node.children.length) {
|
|
1484
|
-
this.selection
|
|
1534
|
+
this.selection.set([...currentSelection, node]);
|
|
1485
1535
|
node.partialSelected = false;
|
|
1486
1536
|
}
|
|
1487
1537
|
else {
|
|
1488
1538
|
if (!select) {
|
|
1489
1539
|
let index = this.findIndexInSelection(node);
|
|
1490
1540
|
if (index >= 0) {
|
|
1491
|
-
this.selection
|
|
1541
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1492
1542
|
}
|
|
1493
1543
|
}
|
|
1494
1544
|
if (childPartialSelected || (selectedCount > 0 && selectedCount != node.children.length))
|
|
@@ -1505,11 +1555,12 @@ class Tree extends BaseComponent {
|
|
|
1505
1555
|
}
|
|
1506
1556
|
propagateDown(node, select) {
|
|
1507
1557
|
let index = this.findIndexInSelection(node);
|
|
1558
|
+
const currentSelection = this.selection() || [];
|
|
1508
1559
|
if (select && index == -1) {
|
|
1509
|
-
this.selection
|
|
1560
|
+
this.selection.set([...currentSelection, node]);
|
|
1510
1561
|
}
|
|
1511
1562
|
else if (!select && index > -1) {
|
|
1512
|
-
this.selection
|
|
1563
|
+
this.selection.set(currentSelection.filter((_val, i) => i != index));
|
|
1513
1564
|
}
|
|
1514
1565
|
node.partialSelected = false;
|
|
1515
1566
|
this.syncNodeOption(node, this.filteredNodes, 'partialSelected');
|
|
@@ -1787,9 +1838,9 @@ class Tree extends BaseComponent {
|
|
|
1787
1838
|
scrollable: this.scrollHeight === 'flex'
|
|
1788
1839
|
});
|
|
1789
1840
|
}
|
|
1790
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
1791
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.
|
|
1792
|
-
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
|
|
1841
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Tree, deps: [{ token: i4.TreeDragDropService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1842
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", 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: `
|
|
1843
|
+
<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">
|
|
1793
1844
|
<i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
|
|
1794
1845
|
<ng-container *ngIf="!loadingIcon">
|
|
1795
1846
|
<svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
|
|
@@ -1900,22 +1951,22 @@ class Tree extends BaseComponent {
|
|
|
1900
1951
|
</ng-container>
|
|
1901
1952
|
|
|
1902
1953
|
<div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
|
|
1903
|
-
<ng-container *ngIf="!
|
|
1954
|
+
<ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
|
|
1904
1955
|
{{ emptyMessageLabel }}
|
|
1905
1956
|
</ng-container>
|
|
1906
|
-
<ng-template #emptyFilter *ngTemplateOutlet="
|
|
1957
|
+
<ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
|
|
1907
1958
|
</div>
|
|
1908
1959
|
<ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
|
|
1909
|
-
`, 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", "
|
|
1960
|
+
`, 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", "pInputTextPT", "pInputTextUnstyled", "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 });
|
|
1910
1961
|
}
|
|
1911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
1962
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Tree, decorators: [{
|
|
1912
1963
|
type: Component,
|
|
1913
1964
|
args: [{
|
|
1914
1965
|
selector: 'p-tree',
|
|
1915
1966
|
standalone: true,
|
|
1916
1967
|
imports: [CommonModule, Scroller, SharedModule, SearchIcon, SpinnerIcon, InputText, FormsModule, IconField, InputIcon, UITreeNode, AutoFocusModule, Bind],
|
|
1917
1968
|
template: `
|
|
1918
|
-
<div [class]="cx('mask')" *ngIf="loading && loadingMode === 'mask'" [pBind]="ptm('mask')">
|
|
1969
|
+
<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">
|
|
1919
1970
|
<i *ngIf="loadingIcon" [class]="cn(cx('loadingIcon'), 'pi-spin' + loadingIcon)" [pBind]="ptm('loadingIcon')"></i>
|
|
1920
1971
|
<ng-container *ngIf="!loadingIcon">
|
|
1921
1972
|
<svg data-p-icon="spinner" *ngIf="!loadingIconTemplate && !_loadingIconTemplate" spin [class]="cx('loadingIcon')" [pBind]="ptm('loadingIcon')" />
|
|
@@ -2026,10 +2077,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2026
2077
|
</ng-container>
|
|
2027
2078
|
|
|
2028
2079
|
<div [class]="cx('emptyMessage')" *ngIf="!loading && (getRootNode() == null || getRootNode().length === 0)" [pBind]="ptm('emptyMessage')">
|
|
2029
|
-
<ng-container *ngIf="!
|
|
2080
|
+
<ng-container *ngIf="!emptyTemplate && !_emptyTemplate; else emptyFilter">
|
|
2030
2081
|
{{ emptyMessageLabel }}
|
|
2031
2082
|
</ng-container>
|
|
2032
|
-
<ng-template #emptyFilter *ngTemplateOutlet="
|
|
2083
|
+
<ng-template #emptyFilter *ngTemplateOutlet="emptyTemplate || _emptyTemplate"></ng-template>
|
|
2033
2084
|
</div>
|
|
2034
2085
|
<ng-container *ngTemplateOutlet="footerTemplate || _footerTemplate"></ng-container>
|
|
2035
2086
|
`,
|
|
@@ -2050,13 +2101,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2050
2101
|
type: Input
|
|
2051
2102
|
}], loadingMode: [{
|
|
2052
2103
|
type: Input
|
|
2053
|
-
}], selection: [{
|
|
2054
|
-
type: Input
|
|
2055
|
-
}], styleClass: [{
|
|
2104
|
+
}], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }], styleClass: [{
|
|
2056
2105
|
type: Input
|
|
2057
2106
|
}], contextMenu: [{
|
|
2058
2107
|
type: Input
|
|
2059
|
-
}],
|
|
2108
|
+
}], contextMenuSelectionMode: [{
|
|
2109
|
+
type: Input
|
|
2110
|
+
}], contextMenuSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenuSelection", required: false }] }, { type: i0.Output, args: ["contextMenuSelectionChange"] }], draggableScope: [{
|
|
2060
2111
|
type: Input
|
|
2061
2112
|
}], droppableScope: [{
|
|
2062
2113
|
type: Input
|
|
@@ -2132,8 +2183,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2132
2183
|
}], highlightOnSelect: [{
|
|
2133
2184
|
type: Input,
|
|
2134
2185
|
args: [{ transform: booleanAttribute }]
|
|
2135
|
-
}], selectionChange: [{
|
|
2136
|
-
type: Output
|
|
2137
2186
|
}], onNodeSelect: [{
|
|
2138
2187
|
type: Output
|
|
2139
2188
|
}], onNodeUnselect: [{
|
|
@@ -2171,7 +2220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2171
2220
|
}], loaderTemplate: [{
|
|
2172
2221
|
type: ContentChild,
|
|
2173
2222
|
args: ['loader', { descendants: false }]
|
|
2174
|
-
}],
|
|
2223
|
+
}], emptyTemplate: [{
|
|
2175
2224
|
type: ContentChild,
|
|
2176
2225
|
args: ['empty', { descendants: false }]
|
|
2177
2226
|
}], togglerIconTemplate: [{
|
|
@@ -2215,11 +2264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImpor
|
|
|
2215
2264
|
args: ['dragleave', ['$event']]
|
|
2216
2265
|
}] } });
|
|
2217
2266
|
class TreeModule {
|
|
2218
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
2219
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
2220
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
2267
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2268
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule], exports: [Tree, SharedModule] });
|
|
2269
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, imports: [Tree, SharedModule, SharedModule] });
|
|
2221
2270
|
}
|
|
2222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
2271
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: TreeModule, decorators: [{
|
|
2223
2272
|
type: NgModule,
|
|
2224
2273
|
args: [{
|
|
2225
2274
|
imports: [Tree, SharedModule],
|