primeng 11.0.0-rc.1 → 11.1.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/api/confirmation.d.ts +2 -0
- package/api/filterservice.d.ts +22 -0
- package/api/primeicons.d.ts +19 -0
- package/api/primeng-api.metadata.json +1 -1
- package/api/public_api.d.ts +1 -0
- package/api/translation.d.ts +1 -0
- package/api/translationkeys.d.ts +1 -0
- package/autocomplete/autocomplete.d.ts +0 -1
- package/autocomplete/primeng-autocomplete.metadata.json +1 -1
- package/avatar/avatar.d.ts +18 -0
- package/avatar/package.json +11 -0
- package/avatar/primeng-avatar.d.ts +4 -0
- package/avatar/primeng-avatar.metadata.json +1 -0
- package/avatar/public_api.d.ts +1 -0
- package/avatargroup/avatargroup.d.ts +6 -0
- package/avatargroup/package.json +11 -0
- package/avatargroup/primeng-avatargroup.d.ts +4 -0
- package/avatargroup/primeng-avatargroup.metadata.json +1 -0
- package/avatargroup/public_api.d.ts +1 -0
- package/badge/badge.d.ts +33 -0
- package/badge/package.json +11 -0
- package/badge/primeng-badge.d.ts +4 -0
- package/badge/primeng-badge.metadata.json +1 -0
- package/badge/public_api.d.ts +1 -0
- package/bundles/primeng-accordion.umd.js.map +1 -1
- package/bundles/primeng-accordion.umd.min.js.map +1 -1
- package/bundles/primeng-api.umd.js +539 -5
- package/bundles/primeng-api.umd.js.map +1 -1
- package/bundles/primeng-api.umd.min.js +1 -1
- package/bundles/primeng-api.umd.min.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.js +12 -9
- package/bundles/primeng-autocomplete.umd.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.min.js +1 -1
- package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
- package/bundles/primeng-avatar.umd.js +64 -0
- package/bundles/primeng-avatar.umd.js.map +1 -0
- package/bundles/primeng-avatar.umd.min.js +2 -0
- package/bundles/primeng-avatar.umd.min.js.map +1 -0
- package/bundles/primeng-avatargroup.umd.js +48 -0
- package/bundles/primeng-avatargroup.umd.js.map +1 -0
- package/bundles/primeng-avatargroup.umd.min.js +2 -0
- package/bundles/primeng-avatargroup.umd.min.js.map +1 -0
- package/bundles/primeng-badge.umd.js +139 -0
- package/bundles/primeng-badge.umd.js.map +1 -0
- package/bundles/primeng-badge.umd.min.js +2 -0
- package/bundles/primeng-badge.umd.min.js.map +1 -0
- package/bundles/primeng-blockui.umd.js.map +1 -1
- package/bundles/primeng-blockui.umd.min.js.map +1 -1
- package/bundles/primeng-breadcrumb.umd.js.map +1 -1
- package/bundles/primeng-breadcrumb.umd.min.js.map +1 -1
- package/bundles/primeng-button.umd.js +7 -1
- package/bundles/primeng-button.umd.js.map +1 -1
- package/bundles/primeng-button.umd.min.js +1 -1
- package/bundles/primeng-button.umd.min.js.map +1 -1
- package/bundles/primeng-calendar.umd.js +10 -2
- package/bundles/primeng-calendar.umd.js.map +1 -1
- package/bundles/primeng-calendar.umd.min.js +1 -1
- package/bundles/primeng-calendar.umd.min.js.map +1 -1
- package/bundles/primeng-captcha.umd.js.map +1 -1
- package/bundles/primeng-captcha.umd.min.js.map +1 -1
- package/bundles/primeng-card.umd.js.map +1 -1
- package/bundles/primeng-card.umd.min.js.map +1 -1
- package/bundles/primeng-carousel.umd.js +36 -7
- package/bundles/primeng-carousel.umd.js.map +1 -1
- package/bundles/primeng-carousel.umd.min.js +1 -1
- package/bundles/primeng-carousel.umd.min.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.js +896 -0
- package/bundles/primeng-cascadeselect.umd.js.map +1 -0
- package/bundles/primeng-cascadeselect.umd.min.js +16 -0
- package/bundles/primeng-cascadeselect.umd.min.js.map +1 -0
- package/bundles/primeng-chart.umd.js.map +1 -1
- package/bundles/primeng-chart.umd.min.js.map +1 -1
- package/bundles/primeng-checkbox.umd.js +9 -1
- package/bundles/primeng-checkbox.umd.js.map +1 -1
- package/bundles/primeng-checkbox.umd.min.js.map +1 -1
- package/bundles/primeng-chip.umd.js +67 -0
- package/bundles/primeng-chip.umd.js.map +1 -0
- package/bundles/primeng-chip.umd.min.js +2 -0
- package/bundles/primeng-chip.umd.min.js.map +1 -0
- package/bundles/primeng-chips.umd.js +10 -2
- package/bundles/primeng-chips.umd.js.map +1 -1
- package/bundles/primeng-chips.umd.min.js +2 -2
- package/bundles/primeng-chips.umd.min.js.map +1 -1
- package/bundles/primeng-codehighlighter.umd.js.map +1 -1
- package/bundles/primeng-codehighlighter.umd.min.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.js +18 -1
- package/bundles/primeng-colorpicker.umd.js.map +1 -1
- package/bundles/primeng-colorpicker.umd.min.js +1 -1
- package/bundles/primeng-colorpicker.umd.min.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.js +30 -10
- package/bundles/primeng-confirmdialog.umd.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js +1 -1
- package/bundles/primeng-confirmdialog.umd.min.js.map +1 -1
- package/bundles/primeng-confirmpopup.umd.js +17 -8
- package/bundles/primeng-confirmpopup.umd.js.map +1 -1
- package/bundles/primeng-confirmpopup.umd.min.js +1 -1
- package/bundles/primeng-confirmpopup.umd.min.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.js +9 -1
- package/bundles/primeng-contextmenu.umd.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
- package/bundles/primeng-dataview.umd.js +5 -3
- package/bundles/primeng-dataview.umd.js.map +1 -1
- package/bundles/primeng-dataview.umd.min.js +1 -1
- package/bundles/primeng-dataview.umd.min.js.map +1 -1
- package/bundles/primeng-defer.umd.js.map +1 -1
- package/bundles/primeng-defer.umd.min.js.map +1 -1
- package/bundles/primeng-dialog.umd.js +6 -1
- package/bundles/primeng-dialog.umd.js.map +1 -1
- package/bundles/primeng-dialog.umd.min.js +1 -1
- package/bundles/primeng-dialog.umd.min.js.map +1 -1
- package/bundles/primeng-divider.umd.js +68 -0
- package/bundles/primeng-divider.umd.js.map +1 -0
- package/bundles/primeng-divider.umd.min.js +2 -0
- package/bundles/primeng-divider.umd.min.js.map +1 -0
- package/bundles/primeng-dom.umd.js +9 -1
- package/bundles/primeng-dom.umd.js.map +1 -1
- package/bundles/primeng-dom.umd.min.js.map +1 -1
- package/bundles/primeng-dragdrop.umd.js.map +1 -1
- package/bundles/primeng-dragdrop.umd.min.js.map +1 -1
- package/bundles/primeng-dropdown.umd.js +16 -6
- package/bundles/primeng-dropdown.umd.js.map +1 -1
- package/bundles/primeng-dropdown.umd.min.js +1 -1
- package/bundles/primeng-dropdown.umd.min.js.map +1 -1
- package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
- package/bundles/primeng-dynamicdialog.umd.min.js.map +1 -1
- package/bundles/primeng-editor.umd.js +7 -3
- package/bundles/primeng-editor.umd.js.map +1 -1
- package/bundles/primeng-editor.umd.min.js +1 -1
- package/bundles/primeng-editor.umd.min.js.map +1 -1
- package/bundles/primeng-fieldset.umd.js.map +1 -1
- package/bundles/primeng-fieldset.umd.min.js.map +1 -1
- package/bundles/primeng-fileupload.umd.js +10 -2
- package/bundles/primeng-fileupload.umd.js.map +1 -1
- package/bundles/primeng-fileupload.umd.min.js +1 -1
- package/bundles/primeng-fileupload.umd.min.js.map +1 -1
- package/bundles/primeng-focustrap.umd.js.map +1 -1
- package/bundles/primeng-focustrap.umd.min.js.map +1 -1
- package/bundles/primeng-fullcalendar.umd.js.map +1 -1
- package/bundles/primeng-fullcalendar.umd.min.js.map +1 -1
- package/bundles/primeng-galleria.umd.js +9 -1
- package/bundles/primeng-galleria.umd.js.map +1 -1
- package/bundles/primeng-galleria.umd.min.js.map +1 -1
- package/bundles/primeng-gmap.umd.js +9 -1
- package/bundles/primeng-gmap.umd.js.map +1 -1
- package/bundles/primeng-gmap.umd.min.js.map +1 -1
- package/bundles/primeng-inplace.umd.js.map +1 -1
- package/bundles/primeng-inplace.umd.min.js.map +1 -1
- package/bundles/primeng-inputmask.umd.js.map +1 -1
- package/bundles/primeng-inputmask.umd.min.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.js +9 -1
- package/bundles/primeng-inputnumber.umd.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
- package/bundles/primeng-inputswitch.umd.js.map +1 -1
- package/bundles/primeng-inputswitch.umd.min.js.map +1 -1
- package/bundles/primeng-inputtext.umd.js.map +1 -1
- package/bundles/primeng-inputtext.umd.min.js.map +1 -1
- package/bundles/primeng-inputtextarea.umd.js +7 -3
- package/bundles/primeng-inputtextarea.umd.js.map +1 -1
- package/bundles/primeng-inputtextarea.umd.min.js +1 -1
- package/bundles/primeng-inputtextarea.umd.min.js.map +1 -1
- package/bundles/primeng-keyfilter.umd.js +9 -1
- package/bundles/primeng-keyfilter.umd.js.map +1 -1
- package/bundles/primeng-keyfilter.umd.min.js.map +1 -1
- package/bundles/primeng-knob.umd.js +250 -0
- package/bundles/primeng-knob.umd.js.map +1 -0
- package/bundles/primeng-knob.umd.min.js +2 -0
- package/bundles/primeng-knob.umd.min.js.map +1 -0
- package/bundles/primeng-lightbox.umd.js.map +1 -1
- package/bundles/primeng-lightbox.umd.min.js.map +1 -1
- package/bundles/primeng-listbox.umd.js +15 -5
- package/bundles/primeng-listbox.umd.js.map +1 -1
- package/bundles/primeng-listbox.umd.min.js +1 -1
- package/bundles/primeng-listbox.umd.min.js.map +1 -1
- package/bundles/primeng-megamenu.umd.js.map +1 -1
- package/bundles/primeng-megamenu.umd.min.js.map +1 -1
- package/bundles/primeng-menu.umd.js +9 -1
- package/bundles/primeng-menu.umd.js.map +1 -1
- package/bundles/primeng-menu.umd.min.js.map +1 -1
- package/bundles/primeng-menubar.umd.js.map +1 -1
- package/bundles/primeng-menubar.umd.min.js.map +1 -1
- package/bundles/primeng-message.umd.js.map +1 -1
- package/bundles/primeng-message.umd.min.js.map +1 -1
- package/bundles/primeng-messages.umd.js +10 -1
- package/bundles/primeng-messages.umd.js.map +1 -1
- package/bundles/primeng-messages.umd.min.js +1 -1
- package/bundles/primeng-messages.umd.min.js.map +1 -1
- package/bundles/primeng-multiselect.umd.js +22 -9
- package/bundles/primeng-multiselect.umd.js.map +1 -1
- package/bundles/primeng-multiselect.umd.min.js +1 -1
- package/bundles/primeng-multiselect.umd.min.js.map +1 -1
- package/bundles/primeng-orderlist.umd.js +15 -5
- package/bundles/primeng-orderlist.umd.js.map +1 -1
- package/bundles/primeng-orderlist.umd.min.js +1 -1
- package/bundles/primeng-orderlist.umd.min.js.map +1 -1
- package/bundles/primeng-organizationchart.umd.js +9 -1
- package/bundles/primeng-organizationchart.umd.js.map +1 -1
- package/bundles/primeng-organizationchart.umd.min.js.map +1 -1
- package/bundles/primeng-overlaypanel.umd.js +9 -6
- package/bundles/primeng-overlaypanel.umd.js.map +1 -1
- package/bundles/primeng-overlaypanel.umd.min.js +1 -1
- package/bundles/primeng-overlaypanel.umd.min.js.map +1 -1
- package/bundles/primeng-paginator.umd.js +9 -1
- package/bundles/primeng-paginator.umd.js.map +1 -1
- package/bundles/primeng-paginator.umd.min.js.map +1 -1
- package/bundles/primeng-panel.umd.js.map +1 -1
- package/bundles/primeng-panel.umd.min.js.map +1 -1
- package/bundles/primeng-panelmenu.umd.js +9 -1
- package/bundles/primeng-panelmenu.umd.js.map +1 -1
- package/bundles/primeng-panelmenu.umd.min.js +1 -1
- package/bundles/primeng-panelmenu.umd.min.js.map +1 -1
- package/bundles/primeng-password.umd.js.map +1 -1
- package/bundles/primeng-password.umd.min.js.map +1 -1
- package/bundles/primeng-picklist.umd.js +7 -11
- package/bundles/primeng-picklist.umd.js.map +1 -1
- package/bundles/primeng-picklist.umd.min.js +1 -1
- package/bundles/primeng-picklist.umd.min.js.map +1 -1
- package/bundles/primeng-progressbar.umd.js.map +1 -1
- package/bundles/primeng-progressbar.umd.min.js.map +1 -1
- package/bundles/primeng-progressspinner.umd.js.map +1 -1
- package/bundles/primeng-progressspinner.umd.min.js.map +1 -1
- package/bundles/primeng-radiobutton.umd.js.map +1 -1
- package/bundles/primeng-radiobutton.umd.min.js.map +1 -1
- package/bundles/primeng-rating.umd.js.map +1 -1
- package/bundles/primeng-rating.umd.min.js.map +1 -1
- package/bundles/primeng-ripple.umd.js.map +1 -1
- package/bundles/primeng-ripple.umd.min.js.map +1 -1
- package/bundles/primeng-scrollpanel.umd.js.map +1 -1
- package/bundles/primeng-scrollpanel.umd.min.js.map +1 -1
- package/bundles/primeng-scrolltop.umd.js +140 -0
- package/bundles/primeng-scrolltop.umd.js.map +1 -0
- package/bundles/primeng-scrolltop.umd.min.js +2 -0
- package/bundles/primeng-scrolltop.umd.min.js.map +1 -0
- package/bundles/primeng-selectbutton.umd.js +11 -3
- package/bundles/primeng-selectbutton.umd.js.map +1 -1
- package/bundles/primeng-selectbutton.umd.min.js +1 -1
- package/bundles/primeng-selectbutton.umd.min.js.map +1 -1
- package/bundles/primeng-sidebar.umd.js.map +1 -1
- package/bundles/primeng-sidebar.umd.min.js.map +1 -1
- package/bundles/primeng-skeleton.umd.js +73 -0
- package/bundles/primeng-skeleton.umd.js.map +1 -0
- package/bundles/primeng-skeleton.umd.min.js +2 -0
- package/bundles/primeng-skeleton.umd.min.js.map +1 -0
- package/bundles/primeng-slidemenu.umd.js.map +1 -1
- package/bundles/primeng-slidemenu.umd.min.js.map +1 -1
- package/bundles/primeng-slider.umd.js +12 -2
- package/bundles/primeng-slider.umd.js.map +1 -1
- package/bundles/primeng-slider.umd.min.js +1 -1
- package/bundles/primeng-slider.umd.min.js.map +1 -1
- package/bundles/primeng-spinner.umd.js.map +1 -1
- package/bundles/primeng-spinner.umd.min.js.map +1 -1
- package/bundles/primeng-splitbutton.umd.js.map +1 -1
- package/bundles/primeng-splitbutton.umd.min.js.map +1 -1
- package/bundles/primeng-splitter.umd.js +580 -0
- package/bundles/primeng-splitter.umd.js.map +1 -0
- package/bundles/primeng-splitter.umd.min.js +16 -0
- package/bundles/primeng-splitter.umd.min.js.map +1 -0
- package/bundles/primeng-steps.umd.js.map +1 -1
- package/bundles/primeng-steps.umd.min.js.map +1 -1
- package/bundles/primeng-table.umd.js +33 -18
- package/bundles/primeng-table.umd.js.map +1 -1
- package/bundles/primeng-table.umd.min.js +1 -1
- package/bundles/primeng-table.umd.min.js.map +1 -1
- package/bundles/primeng-tabmenu.umd.js.map +1 -1
- package/bundles/primeng-tabmenu.umd.min.js.map +1 -1
- package/bundles/primeng-tabview.umd.js +15 -3
- package/bundles/primeng-tabview.umd.js.map +1 -1
- package/bundles/primeng-tabview.umd.min.js +1 -1
- package/bundles/primeng-tabview.umd.min.js.map +1 -1
- package/bundles/primeng-tag.umd.js +62 -0
- package/bundles/primeng-tag.umd.js.map +1 -0
- package/bundles/primeng-tag.umd.min.js +2 -0
- package/bundles/primeng-tag.umd.min.js.map +1 -0
- package/bundles/primeng-terminal.umd.js.map +1 -1
- package/bundles/primeng-terminal.umd.min.js.map +1 -1
- package/bundles/primeng-tieredmenu.umd.js.map +1 -1
- package/bundles/primeng-tieredmenu.umd.min.js.map +1 -1
- package/bundles/primeng-timeline.umd.js.map +1 -1
- package/bundles/primeng-timeline.umd.min.js.map +1 -1
- package/bundles/primeng-toast.umd.js +10 -2
- package/bundles/primeng-toast.umd.js.map +1 -1
- package/bundles/primeng-toast.umd.min.js +1 -1
- package/bundles/primeng-toast.umd.min.js.map +1 -1
- package/bundles/primeng-togglebutton.umd.js.map +1 -1
- package/bundles/primeng-togglebutton.umd.min.js.map +1 -1
- package/bundles/primeng-toolbar.umd.js.map +1 -1
- package/bundles/primeng-toolbar.umd.min.js.map +1 -1
- package/bundles/primeng-tooltip.umd.js.map +1 -1
- package/bundles/primeng-tooltip.umd.min.js.map +1 -1
- package/bundles/primeng-tree.umd.js +10 -2
- package/bundles/primeng-tree.umd.js.map +1 -1
- package/bundles/primeng-tree.umd.min.js +1 -1
- package/bundles/primeng-tree.umd.min.js.map +1 -1
- package/bundles/primeng-treetable.umd.js +19 -9
- package/bundles/primeng-treetable.umd.js.map +1 -1
- package/bundles/primeng-treetable.umd.min.js +1 -1
- package/bundles/primeng-treetable.umd.min.js.map +1 -1
- package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
- package/bundles/primeng-tristatecheckbox.umd.min.js.map +1 -1
- package/bundles/primeng-utils.umd.js +0 -517
- package/bundles/primeng-utils.umd.js.map +1 -1
- package/bundles/primeng-utils.umd.min.js +1 -15
- package/bundles/primeng-utils.umd.min.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.js.map +1 -1
- package/bundles/primeng-virtualscroller.umd.min.js.map +1 -1
- package/bundles/primeng.umd.js.map +1 -1
- package/button/button.d.ts +4 -0
- package/button/primeng-button.metadata.json +1 -1
- package/calendar/primeng-calendar.metadata.json +1 -1
- package/carousel/carousel.d.ts +2 -1
- package/carousel/primeng-carousel.metadata.json +1 -1
- package/cascadeselect/cascadeselect.d.ts +134 -0
- package/cascadeselect/package.json +11 -0
- package/cascadeselect/primeng-cascadeselect.d.ts +4 -0
- package/cascadeselect/primeng-cascadeselect.metadata.json +1 -0
- package/cascadeselect/public_api.d.ts +1 -0
- package/chip/chip.d.ts +19 -0
- package/chip/package.json +11 -0
- package/chip/primeng-chip.d.ts +4 -0
- package/chip/primeng-chip.metadata.json +1 -0
- package/chip/public_api.d.ts +1 -0
- package/chips/primeng-chips.metadata.json +1 -1
- package/colorpicker/colorpicker.d.ts +3 -0
- package/colorpicker/primeng-colorpicker.metadata.json +1 -1
- package/confirmdialog/confirmdialog.d.ts +3 -0
- package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
- package/confirmpopup/confirmpopup.d.ts +1 -0
- package/confirmpopup/primeng-confirmpopup.metadata.json +1 -1
- package/dataview/dataview.d.ts +3 -1
- package/dataview/primeng-dataview.metadata.json +1 -1
- package/dialog/dialog.d.ts +1 -0
- package/dialog/primeng-dialog.metadata.json +1 -1
- package/divider/divider.d.ts +22 -0
- package/divider/package.json +11 -0
- package/divider/primeng-divider.d.ts +4 -0
- package/divider/primeng-divider.metadata.json +1 -0
- package/divider/public_api.d.ts +1 -0
- package/dropdown/dropdown.d.ts +3 -1
- package/dropdown/primeng-dropdown.metadata.json +1 -1
- package/editor/editor.d.ts +1 -0
- package/editor/primeng-editor.metadata.json +1 -1
- package/esm2015/accordion/accordion.js +1 -1
- package/esm2015/accordion/primeng-accordion.js +1 -1
- package/esm2015/accordion/public_api.js +1 -1
- package/esm2015/api/blockableui.js +1 -1
- package/esm2015/api/confirmation.js +1 -1
- package/esm2015/api/confirmationservice.js +1 -1
- package/esm2015/api/contextmenuservice.js +1 -1
- package/esm2015/api/filtermatchmode.js +1 -1
- package/esm2015/api/filtermetadata.js +1 -1
- package/esm2015/api/filteroperator.js +1 -1
- package/esm2015/api/filterservice.js +183 -0
- package/esm2015/api/lazyloadevent.js +1 -1
- package/esm2015/api/megamenuitem.js +1 -1
- package/esm2015/api/menuitem.js +1 -1
- package/esm2015/api/message.js +1 -1
- package/esm2015/api/messageservice.js +1 -1
- package/esm2015/api/primeicons.js +20 -1
- package/esm2015/api/primeng-api.js +1 -1
- package/esm2015/api/primengconfig.js +3 -2
- package/esm2015/api/public_api.js +2 -1
- package/esm2015/api/selectitem.js +1 -1
- package/esm2015/api/selectitemgroup.js +1 -1
- package/esm2015/api/shared.js +1 -1
- package/esm2015/api/sortevent.js +1 -1
- package/esm2015/api/sortmeta.js +1 -1
- package/esm2015/api/tablestate.js +1 -1
- package/esm2015/api/translation.js +1 -1
- package/esm2015/api/translationkeys.js +2 -1
- package/esm2015/api/treedragdropservice.js +1 -1
- package/esm2015/api/treenode.js +1 -1
- package/esm2015/api/treenodedragevent.js +1 -1
- package/esm2015/autocomplete/autocomplete.js +4 -9
- package/esm2015/autocomplete/primeng-autocomplete.js +1 -1
- package/esm2015/autocomplete/public_api.js +1 -1
- package/esm2015/avatar/avatar.js +52 -0
- package/esm2015/avatar/primeng-avatar.js +5 -0
- package/esm2015/avatar/public_api.js +2 -0
- package/esm2015/avatargroup/avatargroup.js +31 -0
- package/esm2015/avatargroup/primeng-avatargroup.js +5 -0
- package/esm2015/avatargroup/public_api.js +2 -0
- package/esm2015/badge/badge.js +119 -0
- package/esm2015/badge/primeng-badge.js +5 -0
- package/esm2015/badge/public_api.js +2 -0
- package/esm2015/blockui/blockui.js +1 -1
- package/esm2015/blockui/primeng-blockui.js +1 -1
- package/esm2015/blockui/public_api.js +1 -1
- package/esm2015/breadcrumb/breadcrumb.js +1 -1
- package/esm2015/breadcrumb/primeng-breadcrumb.js +1 -1
- package/esm2015/breadcrumb/public_api.js +1 -1
- package/esm2015/button/button.js +8 -2
- package/esm2015/button/primeng-button.js +1 -1
- package/esm2015/button/public_api.js +1 -1
- package/esm2015/calendar/calendar.js +4 -4
- package/esm2015/calendar/primeng-calendar.js +1 -1
- package/esm2015/calendar/public_api.js +1 -1
- package/esm2015/captcha/captcha.js +1 -1
- package/esm2015/captcha/primeng-captcha.js +1 -1
- package/esm2015/captcha/public_api.js +1 -1
- package/esm2015/card/card.js +1 -1
- package/esm2015/card/primeng-card.js +1 -1
- package/esm2015/card/public_api.js +1 -1
- package/esm2015/carousel/carousel.js +27 -6
- package/esm2015/carousel/primeng-carousel.js +1 -1
- package/esm2015/carousel/public_api.js +1 -1
- package/esm2015/cascadeselect/cascadeselect.js +579 -0
- package/esm2015/cascadeselect/primeng-cascadeselect.js +5 -0
- package/esm2015/cascadeselect/public_api.js +2 -0
- package/esm2015/chart/chart.js +1 -1
- package/esm2015/chart/primeng-chart.js +1 -1
- package/esm2015/chart/public_api.js +1 -1
- package/esm2015/checkbox/checkbox.js +1 -1
- package/esm2015/checkbox/primeng-checkbox.js +1 -1
- package/esm2015/checkbox/public_api.js +1 -1
- package/esm2015/chip/chip.js +56 -0
- package/esm2015/chip/primeng-chip.js +5 -0
- package/esm2015/chip/public_api.js +2 -0
- package/esm2015/chips/chips.js +2 -2
- package/esm2015/chips/primeng-chips.js +1 -1
- package/esm2015/chips/public_api.js +1 -1
- package/esm2015/codehighlighter/codehighlighter.js +1 -1
- package/esm2015/codehighlighter/primeng-codehighlighter.js +1 -1
- package/esm2015/codehighlighter/public_api.js +1 -1
- package/esm2015/colorpicker/colorpicker.js +20 -2
- package/esm2015/colorpicker/primeng-colorpicker.js +1 -1
- package/esm2015/colorpicker/public_api.js +1 -1
- package/esm2015/confirmdialog/confirmdialog.js +30 -11
- package/esm2015/confirmdialog/primeng-confirmdialog.js +1 -1
- package/esm2015/confirmdialog/public_api.js +1 -1
- package/esm2015/confirmpopup/confirmpopup.js +19 -10
- package/esm2015/confirmpopup/primeng-confirmpopup.js +1 -1
- package/esm2015/confirmpopup/public_api.js +1 -1
- package/esm2015/contextmenu/contextmenu.js +1 -1
- package/esm2015/contextmenu/primeng-contextmenu.js +1 -1
- package/esm2015/contextmenu/public_api.js +1 -1
- package/esm2015/dataview/dataview.js +7 -6
- package/esm2015/dataview/primeng-dataview.js +1 -1
- package/esm2015/dataview/public_api.js +1 -1
- package/esm2015/defer/defer.js +1 -1
- package/esm2015/defer/primeng-defer.js +1 -1
- package/esm2015/defer/public_api.js +1 -1
- package/esm2015/dialog/dialog.js +7 -2
- package/esm2015/dialog/primeng-dialog.js +1 -1
- package/esm2015/dialog/public_api.js +1 -1
- package/esm2015/divider/divider.js +55 -0
- package/esm2015/divider/primeng-divider.js +5 -0
- package/esm2015/divider/public_api.js +2 -0
- package/esm2015/dom/connectedoverlayscrollhandler.js +1 -1
- package/esm2015/dom/domhandler.js +1 -1
- package/esm2015/dom/primeng-dom.js +1 -1
- package/esm2015/dom/public_api.js +1 -1
- package/esm2015/dragdrop/dragdrop.js +1 -1
- package/esm2015/dragdrop/primeng-dragdrop.js +1 -1
- package/esm2015/dragdrop/public_api.js +1 -1
- package/esm2015/dropdown/dropdown.js +9 -8
- package/esm2015/dropdown/primeng-dropdown.js +1 -1
- package/esm2015/dropdown/public_api.js +1 -1
- package/esm2015/dynamicdialog/dialogservice.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog-config.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog-injector.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog-ref.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialog.js +1 -1
- package/esm2015/dynamicdialog/dynamicdialogcontent.js +1 -1
- package/esm2015/dynamicdialog/primeng-dynamicdialog.js +1 -1
- package/esm2015/dynamicdialog/public_api.js +1 -1
- package/esm2015/editor/editor.js +8 -4
- package/esm2015/editor/primeng-editor.js +1 -1
- package/esm2015/editor/public_api.js +1 -1
- package/esm2015/fieldset/fieldset.js +1 -1
- package/esm2015/fieldset/primeng-fieldset.js +1 -1
- package/esm2015/fieldset/public_api.js +1 -1
- package/esm2015/fileupload/fileupload.js +3 -3
- package/esm2015/fileupload/primeng-fileupload.js +1 -1
- package/esm2015/fileupload/public_api.js +1 -1
- package/esm2015/focustrap/focustrap.js +1 -1
- package/esm2015/focustrap/primeng-focustrap.js +1 -1
- package/esm2015/focustrap/public_api.js +1 -1
- package/esm2015/fullcalendar/fullcalendar.js +1 -1
- package/esm2015/fullcalendar/primeng-fullcalendar.js +1 -1
- package/esm2015/fullcalendar/public_api.js +1 -1
- package/esm2015/galleria/galleria.js +1 -1
- package/esm2015/galleria/primeng-galleria.js +1 -1
- package/esm2015/galleria/public_api.js +1 -1
- package/esm2015/gmap/gmap.js +1 -1
- package/esm2015/gmap/primeng-gmap.js +1 -1
- package/esm2015/gmap/public_api.js +1 -1
- package/esm2015/inplace/inplace.js +1 -1
- package/esm2015/inplace/primeng-inplace.js +1 -1
- package/esm2015/inplace/public_api.js +1 -1
- package/esm2015/inputmask/inputmask.js +1 -1
- package/esm2015/inputmask/primeng-inputmask.js +1 -1
- package/esm2015/inputmask/public_api.js +1 -1
- package/esm2015/inputnumber/inputnumber.js +1 -1
- package/esm2015/inputnumber/primeng-inputnumber.js +1 -1
- package/esm2015/inputnumber/public_api.js +1 -1
- package/esm2015/inputswitch/inputswitch.js +1 -1
- package/esm2015/inputswitch/primeng-inputswitch.js +1 -1
- package/esm2015/inputswitch/public_api.js +1 -1
- package/esm2015/inputtext/inputtext.js +1 -1
- package/esm2015/inputtext/primeng-inputtext.js +1 -1
- package/esm2015/inputtext/public_api.js +1 -1
- package/esm2015/inputtextarea/inputtextarea.js +9 -5
- package/esm2015/inputtextarea/primeng-inputtextarea.js +1 -1
- package/esm2015/inputtextarea/public_api.js +1 -1
- package/esm2015/keyfilter/keyfilter.js +1 -1
- package/esm2015/keyfilter/primeng-keyfilter.js +1 -1
- package/esm2015/keyfilter/public_api.js +1 -1
- package/esm2015/knob/knob.js +236 -0
- package/esm2015/knob/primeng-knob.js +5 -0
- package/esm2015/knob/public_api.js +2 -0
- package/esm2015/lightbox/lightbox.js +1 -1
- package/esm2015/lightbox/primeng-lightbox.js +1 -1
- package/esm2015/lightbox/public_api.js +1 -1
- package/esm2015/listbox/listbox.js +8 -7
- package/esm2015/listbox/primeng-listbox.js +1 -1
- package/esm2015/listbox/public_api.js +1 -1
- package/esm2015/megamenu/megamenu.js +1 -1
- package/esm2015/megamenu/primeng-megamenu.js +1 -1
- package/esm2015/megamenu/public_api.js +1 -1
- package/esm2015/menu/menu.js +1 -1
- package/esm2015/menu/primeng-menu.js +1 -1
- package/esm2015/menu/public_api.js +1 -1
- package/esm2015/menubar/menubar.js +1 -1
- package/esm2015/menubar/primeng-menubar.js +1 -1
- package/esm2015/menubar/public_api.js +1 -1
- package/esm2015/message/message.js +1 -1
- package/esm2015/message/primeng-message.js +1 -1
- package/esm2015/message/public_api.js +1 -1
- package/esm2015/messages/messages.js +2 -1
- package/esm2015/messages/primeng-messages.js +1 -1
- package/esm2015/messages/public_api.js +1 -1
- package/esm2015/multiselect/multiselect.js +15 -11
- package/esm2015/multiselect/primeng-multiselect.js +1 -1
- package/esm2015/multiselect/public_api.js +1 -1
- package/esm2015/orderlist/orderlist.js +8 -7
- package/esm2015/orderlist/primeng-orderlist.js +1 -1
- package/esm2015/orderlist/public_api.js +1 -1
- package/esm2015/organizationchart/organizationchart.js +1 -1
- package/esm2015/organizationchart/primeng-organizationchart.js +1 -1
- package/esm2015/organizationchart/public_api.js +1 -1
- package/esm2015/overlaypanel/overlaypanel.js +10 -7
- package/esm2015/overlaypanel/primeng-overlaypanel.js +1 -1
- package/esm2015/overlaypanel/public_api.js +1 -1
- package/esm2015/paginator/paginator.js +1 -1
- package/esm2015/paginator/primeng-paginator.js +1 -1
- package/esm2015/paginator/public_api.js +1 -1
- package/esm2015/panel/panel.js +1 -1
- package/esm2015/panel/primeng-panel.js +1 -1
- package/esm2015/panel/public_api.js +1 -1
- package/esm2015/panelmenu/panelmenu.js +1 -1
- package/esm2015/panelmenu/primeng-panelmenu.js +1 -1
- package/esm2015/panelmenu/public_api.js +1 -1
- package/esm2015/password/password.js +1 -1
- package/esm2015/password/primeng-password.js +1 -1
- package/esm2015/password/public_api.js +1 -1
- package/esm2015/picklist/picklist.js +9 -14
- package/esm2015/picklist/primeng-picklist.js +1 -1
- package/esm2015/picklist/public_api.js +1 -1
- package/esm2015/primeng.js +1 -1
- package/esm2015/progressbar/primeng-progressbar.js +1 -1
- package/esm2015/progressbar/progressbar.js +1 -1
- package/esm2015/progressbar/public_api.js +1 -1
- package/esm2015/progressspinner/primeng-progressspinner.js +1 -1
- package/esm2015/progressspinner/progressspinner.js +1 -1
- package/esm2015/progressspinner/public_api.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/radiobutton/primeng-radiobutton.js +1 -1
- package/esm2015/radiobutton/public_api.js +1 -1
- package/esm2015/radiobutton/radiobutton.js +1 -1
- package/esm2015/rating/primeng-rating.js +1 -1
- package/esm2015/rating/public_api.js +1 -1
- package/esm2015/rating/rating.js +1 -1
- package/esm2015/ripple/primeng-ripple.js +1 -1
- package/esm2015/ripple/public_api.js +1 -1
- package/esm2015/ripple/ripple.js +1 -1
- package/esm2015/scrollpanel/primeng-scrollpanel.js +1 -1
- package/esm2015/scrollpanel/public_api.js +1 -1
- package/esm2015/scrollpanel/scrollpanel.js +1 -1
- package/esm2015/scrolltop/primeng-scrolltop.js +5 -0
- package/esm2015/scrolltop/public_api.js +2 -0
- package/esm2015/scrolltop/scrolltop.js +126 -0
- package/esm2015/selectbutton/primeng-selectbutton.js +1 -1
- package/esm2015/selectbutton/public_api.js +1 -1
- package/esm2015/selectbutton/selectbutton.js +3 -3
- package/esm2015/sidebar/primeng-sidebar.js +1 -1
- package/esm2015/sidebar/public_api.js +1 -1
- package/esm2015/sidebar/sidebar.js +1 -1
- package/esm2015/skeleton/primeng-skeleton.js +5 -0
- package/esm2015/skeleton/public_api.js +2 -0
- package/esm2015/skeleton/skeleton.js +57 -0
- package/esm2015/slidemenu/primeng-slidemenu.js +1 -1
- package/esm2015/slidemenu/public_api.js +1 -1
- package/esm2015/slidemenu/slidemenu.js +1 -1
- package/esm2015/slider/primeng-slider.js +1 -1
- package/esm2015/slider/public_api.js +1 -1
- package/esm2015/slider/slider.js +13 -3
- package/esm2015/spinner/primeng-spinner.js +1 -1
- package/esm2015/spinner/public_api.js +1 -1
- package/esm2015/spinner/spinner.js +1 -1
- package/esm2015/splitbutton/primeng-splitbutton.js +1 -1
- package/esm2015/splitbutton/public_api.js +1 -1
- package/esm2015/splitbutton/splitbutton.js +1 -1
- package/esm2015/splitter/primeng-splitter.js +5 -0
- package/esm2015/splitter/public_api.js +2 -0
- package/esm2015/splitter/splitter.js +262 -0
- package/esm2015/steps/primeng-steps.js +1 -1
- package/esm2015/steps/public_api.js +1 -1
- package/esm2015/steps/steps.js +1 -1
- package/esm2015/table/primeng-table.js +1 -1
- package/esm2015/table/public_api.js +1 -1
- package/esm2015/table/table.js +23 -21
- package/esm2015/tabmenu/primeng-tabmenu.js +1 -1
- package/esm2015/tabmenu/public_api.js +1 -1
- package/esm2015/tabmenu/tabmenu.js +1 -1
- package/esm2015/tabview/primeng-tabview.js +1 -1
- package/esm2015/tabview/public_api.js +1 -1
- package/esm2015/tabview/tabview.js +12 -4
- package/esm2015/tag/primeng-tag.js +5 -0
- package/esm2015/tag/public_api.js +2 -0
- package/esm2015/tag/tag.js +47 -0
- package/esm2015/terminal/primeng-terminal.js +1 -1
- package/esm2015/terminal/public_api.js +1 -1
- package/esm2015/terminal/terminal.js +1 -1
- package/esm2015/terminal/terminalservice.js +1 -1
- package/esm2015/tieredmenu/primeng-tieredmenu.js +1 -1
- package/esm2015/tieredmenu/public_api.js +1 -1
- package/esm2015/tieredmenu/tieredmenu.js +1 -1
- package/esm2015/timeline/primeng-timeline.js +1 -1
- package/esm2015/timeline/public_api.js +1 -1
- package/esm2015/timeline/timeline.js +1 -1
- package/esm2015/toast/primeng-toast.js +1 -1
- package/esm2015/toast/public_api.js +1 -1
- package/esm2015/toast/toast.js +2 -2
- package/esm2015/togglebutton/primeng-togglebutton.js +1 -1
- package/esm2015/togglebutton/public_api.js +1 -1
- package/esm2015/togglebutton/togglebutton.js +1 -1
- package/esm2015/toolbar/primeng-toolbar.js +1 -1
- package/esm2015/toolbar/public_api.js +1 -1
- package/esm2015/toolbar/toolbar.js +1 -1
- package/esm2015/tooltip/primeng-tooltip.js +1 -1
- package/esm2015/tooltip/public_api.js +1 -1
- package/esm2015/tooltip/tooltip.js +1 -1
- package/esm2015/tree/primeng-tree.js +1 -1
- package/esm2015/tree/public_api.js +1 -1
- package/esm2015/tree/tree.js +5 -5
- package/esm2015/treetable/primeng-treetable.js +1 -1
- package/esm2015/treetable/public_api.js +1 -1
- package/esm2015/treetable/treetable.js +12 -11
- package/esm2015/tristatecheckbox/primeng-tristatecheckbox.js +1 -1
- package/esm2015/tristatecheckbox/public_api.js +1 -1
- package/esm2015/tristatecheckbox/tristatecheckbox.js +1 -1
- package/esm2015/utils/objectutils.js +1 -11
- package/esm2015/utils/primeng-utils.js +1 -1
- package/esm2015/utils/public_api.js +1 -2
- package/esm2015/utils/uniquecomponentid.js +1 -1
- package/esm2015/virtualscroller/primeng-virtualscroller.js +1 -1
- package/esm2015/virtualscroller/public_api.js +1 -1
- package/esm2015/virtualscroller/virtualscroller.js +1 -1
- package/fesm2015/primeng-accordion.js.map +1 -1
- package/fesm2015/primeng-api.js +204 -2
- package/fesm2015/primeng-api.js.map +1 -1
- package/fesm2015/primeng-autocomplete.js +3 -8
- package/fesm2015/primeng-autocomplete.js.map +1 -1
- package/fesm2015/primeng-avatar.js +59 -0
- package/fesm2015/primeng-avatar.js.map +1 -0
- package/fesm2015/primeng-avatargroup.js +38 -0
- package/fesm2015/primeng-avatargroup.js.map +1 -0
- package/fesm2015/primeng-badge.js +126 -0
- package/fesm2015/primeng-badge.js.map +1 -0
- package/fesm2015/primeng-blockui.js.map +1 -1
- package/fesm2015/primeng-breadcrumb.js.map +1 -1
- package/fesm2015/primeng-button.js +7 -1
- package/fesm2015/primeng-button.js.map +1 -1
- package/fesm2015/primeng-calendar.js +3 -3
- package/fesm2015/primeng-calendar.js.map +1 -1
- package/fesm2015/primeng-captcha.js.map +1 -1
- package/fesm2015/primeng-card.js.map +1 -1
- package/fesm2015/primeng-carousel.js +26 -5
- package/fesm2015/primeng-carousel.js.map +1 -1
- package/fesm2015/primeng-cascadeselect.js +585 -0
- package/fesm2015/primeng-cascadeselect.js.map +1 -0
- package/fesm2015/primeng-chart.js.map +1 -1
- package/fesm2015/primeng-checkbox.js.map +1 -1
- package/fesm2015/primeng-chip.js +63 -0
- package/fesm2015/primeng-chip.js.map +1 -0
- package/fesm2015/primeng-chips.js +1 -1
- package/fesm2015/primeng-chips.js.map +1 -1
- package/fesm2015/primeng-codehighlighter.js.map +1 -1
- package/fesm2015/primeng-colorpicker.js +19 -1
- package/fesm2015/primeng-colorpicker.js.map +1 -1
- package/fesm2015/primeng-confirmdialog.js +29 -10
- package/fesm2015/primeng-confirmdialog.js.map +1 -1
- package/fesm2015/primeng-confirmpopup.js +18 -9
- package/fesm2015/primeng-confirmpopup.js.map +1 -1
- package/fesm2015/primeng-contextmenu.js.map +1 -1
- package/fesm2015/primeng-dataview.js +7 -5
- package/fesm2015/primeng-dataview.js.map +1 -1
- package/fesm2015/primeng-defer.js.map +1 -1
- package/fesm2015/primeng-dialog.js +6 -1
- package/fesm2015/primeng-dialog.js.map +1 -1
- package/fesm2015/primeng-divider.js +62 -0
- package/fesm2015/primeng-divider.js.map +1 -0
- package/fesm2015/primeng-dom.js.map +1 -1
- package/fesm2015/primeng-dragdrop.js.map +1 -1
- package/fesm2015/primeng-dropdown.js +9 -7
- package/fesm2015/primeng-dropdown.js.map +1 -1
- package/fesm2015/primeng-dynamicdialog.js.map +1 -1
- package/fesm2015/primeng-editor.js +7 -3
- package/fesm2015/primeng-editor.js.map +1 -1
- package/fesm2015/primeng-fieldset.js.map +1 -1
- package/fesm2015/primeng-fileupload.js +2 -2
- package/fesm2015/primeng-fileupload.js.map +1 -1
- package/fesm2015/primeng-focustrap.js.map +1 -1
- package/fesm2015/primeng-fullcalendar.js.map +1 -1
- package/fesm2015/primeng-galleria.js.map +1 -1
- package/fesm2015/primeng-gmap.js.map +1 -1
- package/fesm2015/primeng-inplace.js.map +1 -1
- package/fesm2015/primeng-inputmask.js.map +1 -1
- package/fesm2015/primeng-inputnumber.js.map +1 -1
- package/fesm2015/primeng-inputswitch.js.map +1 -1
- package/fesm2015/primeng-inputtext.js.map +1 -1
- package/fesm2015/primeng-inputtextarea.js +8 -4
- package/fesm2015/primeng-inputtextarea.js.map +1 -1
- package/fesm2015/primeng-keyfilter.js.map +1 -1
- package/fesm2015/primeng-knob.js +243 -0
- package/fesm2015/primeng-knob.js.map +1 -0
- package/fesm2015/primeng-lightbox.js.map +1 -1
- package/fesm2015/primeng-listbox.js +8 -6
- package/fesm2015/primeng-listbox.js.map +1 -1
- package/fesm2015/primeng-megamenu.js.map +1 -1
- package/fesm2015/primeng-menu.js.map +1 -1
- package/fesm2015/primeng-menubar.js.map +1 -1
- package/fesm2015/primeng-message.js.map +1 -1
- package/fesm2015/primeng-messages.js +1 -0
- package/fesm2015/primeng-messages.js.map +1 -1
- package/fesm2015/primeng-multiselect.js +15 -10
- package/fesm2015/primeng-multiselect.js.map +1 -1
- package/fesm2015/primeng-orderlist.js +8 -6
- package/fesm2015/primeng-orderlist.js.map +1 -1
- package/fesm2015/primeng-organizationchart.js.map +1 -1
- package/fesm2015/primeng-overlaypanel.js +9 -6
- package/fesm2015/primeng-overlaypanel.js.map +1 -1
- package/fesm2015/primeng-paginator.js.map +1 -1
- package/fesm2015/primeng-panel.js.map +1 -1
- package/fesm2015/primeng-panelmenu.js.map +1 -1
- package/fesm2015/primeng-password.js.map +1 -1
- package/fesm2015/primeng-picklist.js +9 -13
- package/fesm2015/primeng-picklist.js.map +1 -1
- package/fesm2015/primeng-progressbar.js.map +1 -1
- package/fesm2015/primeng-progressspinner.js.map +1 -1
- package/fesm2015/primeng-radiobutton.js.map +1 -1
- package/fesm2015/primeng-rating.js.map +1 -1
- package/fesm2015/primeng-ripple.js.map +1 -1
- package/fesm2015/primeng-scrollpanel.js.map +1 -1
- package/fesm2015/primeng-scrolltop.js +133 -0
- package/fesm2015/primeng-scrolltop.js.map +1 -0
- package/fesm2015/primeng-selectbutton.js +2 -2
- package/fesm2015/primeng-selectbutton.js.map +1 -1
- package/fesm2015/primeng-sidebar.js.map +1 -1
- package/fesm2015/primeng-skeleton.js +64 -0
- package/fesm2015/primeng-skeleton.js.map +1 -0
- package/fesm2015/primeng-slidemenu.js.map +1 -1
- package/fesm2015/primeng-slider.js +12 -2
- package/fesm2015/primeng-slider.js.map +1 -1
- package/fesm2015/primeng-spinner.js.map +1 -1
- package/fesm2015/primeng-splitbutton.js.map +1 -1
- package/fesm2015/primeng-splitter.js +269 -0
- package/fesm2015/primeng-splitter.js.map +1 -0
- package/fesm2015/primeng-steps.js.map +1 -1
- package/fesm2015/primeng-table.js +23 -20
- package/fesm2015/primeng-table.js.map +1 -1
- package/fesm2015/primeng-tabmenu.js.map +1 -1
- package/fesm2015/primeng-tabview.js +11 -3
- package/fesm2015/primeng-tabview.js.map +1 -1
- package/fesm2015/primeng-tag.js +54 -0
- package/fesm2015/primeng-tag.js.map +1 -0
- package/fesm2015/primeng-terminal.js.map +1 -1
- package/fesm2015/primeng-tieredmenu.js.map +1 -1
- package/fesm2015/primeng-timeline.js.map +1 -1
- package/fesm2015/primeng-toast.js +1 -1
- package/fesm2015/primeng-toast.js.map +1 -1
- package/fesm2015/primeng-togglebutton.js.map +1 -1
- package/fesm2015/primeng-toolbar.js.map +1 -1
- package/fesm2015/primeng-tooltip.js.map +1 -1
- package/fesm2015/primeng-tree.js +4 -4
- package/fesm2015/primeng-tree.js.map +1 -1
- package/fesm2015/primeng-treetable.js +12 -10
- package/fesm2015/primeng-treetable.js.map +1 -1
- package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
- package/fesm2015/primeng-utils.js +1 -181
- package/fesm2015/primeng-utils.js.map +1 -1
- package/fesm2015/primeng-virtualscroller.js.map +1 -1
- package/fesm2015/primeng.js.map +1 -1
- package/fileupload/primeng-fileupload.metadata.json +1 -1
- package/inputtextarea/inputtextarea.d.ts +3 -2
- package/inputtextarea/primeng-inputtextarea.metadata.json +1 -1
- package/knob/knob.d.ts +72 -0
- package/knob/package.json +11 -0
- package/knob/primeng-knob.d.ts +4 -0
- package/knob/primeng-knob.metadata.json +1 -0
- package/knob/public_api.d.ts +1 -0
- package/listbox/listbox.d.ts +3 -1
- package/listbox/primeng-listbox.metadata.json +1 -1
- package/messages/primeng-messages.metadata.json +1 -1
- package/multiselect/multiselect.d.ts +5 -3
- package/multiselect/primeng-multiselect.metadata.json +1 -1
- package/orderlist/orderlist.d.ts +3 -1
- package/orderlist/primeng-orderlist.metadata.json +1 -1
- package/overlaypanel/primeng-overlaypanel.metadata.json +1 -1
- package/package.json +4 -4
- package/picklist/picklist.d.ts +3 -1
- package/picklist/primeng-picklist.metadata.json +1 -1
- package/resources/components/autocomplete/autocomplete.css +1 -0
- package/resources/components/avatar/avatar.css +25 -0
- package/resources/components/avatargroup/avatargroup.css +8 -0
- package/resources/components/badge/badge.css +17 -13
- package/resources/components/cascadeselect/cascadeselect.css +84 -0
- package/resources/components/chip/chip.css +21 -0
- package/resources/components/chips/chips.css +1 -0
- package/resources/components/confirmpopup/confirmpopup.css +3 -3
- package/resources/components/divider/divider.css +84 -0
- package/resources/components/editor/editor.css +4 -0
- package/resources/components/knob/knob.css +18 -0
- package/resources/components/orderlist/orderlist.css +4 -0
- package/resources/components/overlaypanel/overlaypanel.css +2 -2
- package/resources/components/picklist/picklist.css +4 -0
- package/resources/components/scrolltop/scrolltop.css +16 -0
- package/resources/components/skeleton/skeleton.css +33 -0
- package/resources/components/splitter/splitter.css +62 -0
- package/resources/components/table/table.css +8 -0
- package/resources/components/tag/tag.css +15 -0
- package/resources/components/treetable/treetable.css +4 -0
- package/resources/primeng.css +17 -13
- package/resources/primeng.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +309 -47
- package/resources/themes/arya-green/theme.css +309 -47
- package/resources/themes/arya-orange/theme.css +309 -47
- package/resources/themes/arya-purple/theme.css +309 -47
- package/resources/themes/bootstrap4-dark-blue/theme.css +309 -47
- package/resources/themes/bootstrap4-dark-purple/theme.css +309 -47
- package/resources/themes/bootstrap4-light-blue/theme.css +309 -47
- package/resources/themes/bootstrap4-light-purple/theme.css +309 -47
- package/resources/themes/fluent-light/theme.css +309 -47
- package/resources/themes/luna-amber/theme.css +309 -47
- package/resources/themes/luna-blue/theme.css +309 -47
- package/resources/themes/luna-green/theme.css +309 -47
- package/resources/themes/luna-pink/theme.css +309 -47
- package/resources/themes/md-dark-deeppurple/theme.css +522 -86
- package/resources/themes/md-dark-indigo/theme.css +522 -86
- package/resources/themes/md-light-deeppurple/theme.css +528 -92
- package/resources/themes/md-light-indigo/theme.css +528 -92
- package/resources/themes/mdc-dark-deeppurple/theme.css +535 -99
- package/resources/themes/mdc-dark-indigo/theme.css +535 -99
- package/resources/themes/mdc-light-deeppurple/theme.css +537 -101
- package/resources/themes/mdc-light-indigo/theme.css +537 -101
- package/resources/themes/nova/theme.css +309 -47
- package/resources/themes/nova-accent/theme.css +309 -47
- package/resources/themes/nova-alt/theme.css +309 -47
- package/resources/themes/rhea/theme.css +309 -47
- package/resources/themes/saga-blue/theme.css +309 -47
- package/resources/themes/saga-green/theme.css +309 -47
- package/resources/themes/saga-orange/theme.css +309 -47
- package/resources/themes/saga-purple/theme.css +309 -47
- package/resources/themes/vela-blue/theme.css +309 -47
- package/resources/themes/vela-green/theme.css +309 -47
- package/resources/themes/vela-orange/theme.css +309 -47
- package/resources/themes/vela-purple/theme.css +309 -47
- package/scrolltop/package.json +11 -0
- package/scrolltop/primeng-scrolltop.d.ts +4 -0
- package/scrolltop/primeng-scrolltop.metadata.json +1 -0
- package/scrolltop/public_api.d.ts +1 -0
- package/scrolltop/scrolltop.d.ts +31 -0
- package/selectbutton/primeng-selectbutton.metadata.json +1 -1
- package/skeleton/package.json +11 -0
- package/skeleton/primeng-skeleton.d.ts +4 -0
- package/skeleton/primeng-skeleton.metadata.json +1 -0
- package/skeleton/public_api.d.ts +1 -0
- package/skeleton/skeleton.d.ts +18 -0
- package/slider/primeng-slider.metadata.json +1 -1
- package/splitter/package.json +11 -0
- package/splitter/primeng-splitter.d.ts +4 -0
- package/splitter/primeng-splitter.metadata.json +1 -0
- package/splitter/public_api.d.ts +1 -0
- package/splitter/splitter.d.ts +68 -0
- package/table/primeng-table.metadata.json +1 -1
- package/table/table.d.ts +5 -3
- package/tabview/primeng-tabview.metadata.json +1 -1
- package/tabview/tabview.d.ts +3 -1
- package/tag/package.json +11 -0
- package/tag/primeng-tag.d.ts +4 -0
- package/tag/primeng-tag.metadata.json +1 -0
- package/tag/public_api.d.ts +1 -0
- package/tag/tag.d.ts +18 -0
- package/toast/primeng-toast.metadata.json +1 -1
- package/tree/primeng-tree.metadata.json +1 -1
- package/treetable/primeng-treetable.metadata.json +1 -1
- package/treetable/treetable.d.ts +3 -2
- package/utils/objectutils.d.ts +0 -2
- package/utils/primeng-utils.metadata.json +1 -1
- package/utils/public_api.d.ts +0 -1
- package/esm2015/utils/filterutils.js +0 -171
- package/resources/components/selectbutton/selectbutton.css +0 -11
- package/utils/filterutils.d.ts +0 -19
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../../src/app/components/tree/tree.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","UITreeNode","tree","this","prototype","ngOnInit","node","parent","parentNode","syncNodeOption","getNodeWithKey","key","getIcon","icon","expanded","children","expandedIcon","collapsedIcon","ICON_CLASS","isLeaf","isNodeLeaf","toggle","event","collapse","expand","virtualScroll","updateSerializedValue","onNodeExpand","emit","originalEvent","onNodeCollapse","onNodeClick","onNodeKeydown","which","onNodeTouchEnd","onNodeRightClick","isSelected","onDropPoint","position","_this","preventDefault","dragNode","dragNodeIndex","dragNodeScope","isValidDropPointIndex","dragNodeTree","index","allowDrop","dropParams_1","assign","createDropPointEventMetadata","validateDrop","onNodeDrop","dropNode","dropIndex","accept","processPointDrop","draghoverPrev","draghoverNext","newNodeList","dragNodeSubNodes","splice","dragDropService","stopDrag","subNodes","onDropPointDragOver","dataTransfer","dropEffect","onDropPointDragEnter","onDropPointDragLeave","onDragStart","draggableNodes","draggable","setData","startDrag","scope","draggableScope","onDragStop","onDropNodeDragOver","droppableNodes","stopPropagation","onDropNode","droppable","dropParams_2","createDropNodeEventMetadata","processNodeDrop","draghoverNode","onDropNodeDragEnter","onDropNodeDragLeave","rect","currentTarget","getBoundingClientRect","x","left","width","y","Math","floor","top","height","onKeyDown","nodeElement","target","parentElement","nodeName","contextMenu","containerViewChild","nativeElement","style","display","listElement","focusNode","nextNodeElement","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","childrenListElement","Array","from","find","el","DomHandler","hasClass","lastChildElement","tagName","element","focus","Component","args","selector","template","encapsulation","ViewEncapsulation","None","Inject","forwardRef","Tree","Input","selectionChange","EventEmitter","onNodeSelect","onNodeUnselect","onNodeContextMenuSelect","layout","metaKeySelection","propagateSelectionUp","propagateSelectionDown","loadingIcon","emptyMessage","filterBy","filterMode","indentation","trackBy","item","onFilter","dragStartSubscription","dragStart$","subscribe","dragStopSubscription","dragStop$","dragHover","ngOnChanges","simpleChange","scrollHeight","virtualScrollBody","defineProperty","ngAfterContentInit","templates","templateMap","forEach","name","serializedValue","serializeNodes","getRootNode","nodes","level","visible","nodes_1","nodes_1_1","rowNode","eventTarget","selectionMode","selectable","hasFilteredNodes","index_1","findIndexInSelection","selected","isCheckboxSelectionMode","propagateDown","selection","filter","val","propagateUp","nodeTouched","metaKey","ctrlKey","isSingleSelectionMode","isMultipleSelectionMode","className","indexOf","show","selectedNode","parentNodes","option","_node","filteredNodes","nodes_2","nodes_2_1","matchedNode","select","selectedCount","childPartialSelected","_b","_c","child","partialSelected","index_2","leaf","getTemplateForNode","type","onDragOver","onDrop","onDragEnter","onDragLeave","isValidDragScope","allow","dragScope","dropScope","droppableScope","dropScope_1","dropScope_1_1","dragScope_1","e_6","dragScope_1_1","_filter","filterValue","searchFields","split","filterText","ObjectUtils","removeAccents","toLocaleLowerCase","filterLocale","isStrictMode","copyNode","paramsWithoutNode","findFilteredNodes","isFilterMatched","filteredValue","matched","childNodes","childNodes_1","childNodes_1_1","childNode","copyChildNode","_a","searchFields_1","searchFields_1_1","field","String","resolveFieldData","getBlockableElement","ngOnDestroy","unsubscribe","changeDetection","ChangeDetectionStrategy","Default","ElementRef","TreeDragDropService","decorators","Optional","Output","ContentChildren","PrimeTemplate","ViewChild","CdkVirtualScrollViewport","NgModule","imports","CommonModule","ScrollingModule","RippleModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {NgModule,Component,Input,AfterContentInit,OnDestroy,Output,EventEmitter,OnInit,OnChanges,\n ContentChildren,QueryList,TemplateRef,Inject,ElementRef,forwardRef,ChangeDetectionStrategy,SimpleChanges, ViewEncapsulation, ViewChild} from '@angular/core';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\nimport {Optional} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TreeNode} from 'primeng/api';\nimport {SharedModule} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport {TreeDragDropService} from 'primeng/api';\nimport {Subscription} from 'rxjs';\nimport {BlockableUI} from 'primeng/api';\nimport {ObjectUtils} from 'primeng/utils';\nimport {DomHandler} from 'primeng/dom';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-treeNode',\n template: `\n <ng-template [ngIf]=\"node\">\n <li *ngIf=\"tree.droppableNodes\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverPrev}\"\n (drop)=\"onDropPoint($event,-1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,-1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <li *ngIf=\"!tree.horizontal\" role=\"treeitem\" [ngClass]=\"['p-treenode',node.styleClass||'', isLeaf() ? 'p-treenode-leaf': '']\">\n <div class=\"p-treenode-content\" [style.paddingLeft]=\"(level * indentation) + 'rem'\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\" (touchend)=\"onNodeTouchEnd()\"\n (drop)=\"onDropNode($event)\" (dragover)=\"onDropNodeDragOver($event)\" (dragenter)=\"onDropNodeDragEnter($event)\" (dragleave)=\"onDropNodeDragLeave($event)\"\n [draggable]=\"tree.draggableNodes\" (dragstart)=\"onDragStart($event)\" (dragend)=\"onDragStop($event)\" [attr.tabindex]=\"0\"\n [ngClass]=\"{'p-treenode-selectable':tree.selectionMode && node.selectable !== false,'p-treenode-dragover':draghoverNode, 'p-highlight':isSelected()}\"\n (keydown)=\"onKeyDown($event)\" [attr.aria-posinset]=\"this.index + 1\" [attr.aria-expanded]=\"this.node.expanded\" [attr.aria-selected]=\"isSelected()\" [attr.aria-label]=\"node.label\">\n <button type=\"button\" class=\"p-tree-toggler p-link\" (click)=\"toggle($event)\" pRipple>\n <span class=\"p-tree-toggler-icon pi pi-fw\" [ngClass]=\"{'pi-chevron-right':!node.expanded,'pi-chevron-down':node.expanded}\"></span>\n </button>\n <div class=\"p-checkbox p-component\" *ngIf=\"tree.selectionMode == 'checkbox'\" [attr.aria-checked]=\"isSelected()\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': isSelected(), 'p-indeterminate': node.partialSelected}\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':isSelected(),'pi-minus':node.partialSelected}\"></span>\n </div>\n </div>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n <ul class=\"p-treenode-children\" style=\"display: none;\" *ngIf=\"!tree.virtualScroll && node.children && node.expanded\" [style.display]=\"node.expanded ? 'block' : 'none'\" role=\"group\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; let index=index; trackBy: tree.trackBy\" [node]=\"childNode\" [parentNode]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"tree.virtualNodeHeight\" [level]=\"level + 1\"></p-treeNode>\n </ul>\n </li>\n <li *ngIf=\"tree.droppableNodes&&lastChild\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverNext}\"\n (drop)=\"onDropPoint($event,1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <table *ngIf=\"tree.horizontal\" [class]=\"node.styleClass\">\n <tbody>\n <tr>\n <td class=\"p-treenode-connector\" *ngIf=\"!root\">\n <table class=\"p-treenode-connector-table\">\n <tbody>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!firstChild}\"></td>\n </tr>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!lastChild}\"></td>\n </tr>\n </tbody>\n </table>\n </td>\n <td class=\"p-treenode\" [ngClass]=\"{'p-treenode-collapsed':!node.expanded}\">\n <div class=\"p-treenode-content\" tabindex=\"0\" [ngClass]=\"{'p-treenode-selectable':tree.selectionMode,'p-highlight':isSelected()}\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\"\n (touchend)=\"onNodeTouchEnd()\" (keydown)=\"onNodeKeydown($event)\">\n <span class=\"p-tree-toggler pi pi-fw\" [ngClass]=\"{'pi-plus':!node.expanded,'pi-minus':node.expanded}\" *ngIf=\"!isLeaf()\" (click)=\"toggle($event)\"></span>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n </td>\n <td class=\"p-treenode-children-container\" *ngIf=\"node.children && node.expanded\" [style.display]=\"node.expanded ? 'table-cell' : 'none'\">\n <div class=\"p-treenode-children\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; trackBy: tree.trackBy\" [node]=\"childNode\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\"></p-treeNode>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class UITreeNode implements OnInit {\n\n static ICON_CLASS: string = 'p-treenode-icon ';\n\n @Input() rowNode: any;\n\n @Input() node: TreeNode;\n\n @Input() parentNode: TreeNode;\n\n @Input() root: boolean;\n\n @Input() index: number;\n\n @Input() firstChild: boolean;\n\n @Input() lastChild: boolean;\n\n @Input() level: number;\n\n @Input() indentation: number;\n\n tree: Tree;\n\n constructor(@Inject(forwardRef(() => Tree)) tree) {\n this.tree = tree as Tree;\n }\n\n draghoverPrev: boolean;\n\n draghoverNext: boolean;\n\n draghoverNode: boolean\n\n ngOnInit() {\n this.node.parent = this.parentNode;\n\n if (this.parentNode) {\n this.tree.syncNodeOption(this.node, this.tree.value, 'parent', this.tree.getNodeWithKey(this.parentNode.key, this.tree.value));\n }\n }\n\n getIcon() {\n let icon: string;\n\n if (this.node.icon)\n icon = this.node.icon;\n else\n icon = this.node.expanded && this.node.children && this.node.children.length ? this.node.expandedIcon : this.node.collapsedIcon;\n\n return UITreeNode.ICON_CLASS + ' ' + icon;\n }\n\n isLeaf() {\n return this.tree.isNodeLeaf(this.node);\n }\n\n toggle(event: Event) {\n if (this.node.expanded)\n this.collapse(event);\n else\n this.expand(event);\n }\n\n expand(event: Event) {\n this.node.expanded = true;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeExpand.emit({originalEvent: event, node: this.node});\n }\n\n collapse(event: Event) {\n this.node.expanded = false;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeCollapse.emit({originalEvent: event, node: this.node});\n }\n\n onNodeClick(event: MouseEvent) {\n this.tree.onNodeClick(event, this.node);\n }\n\n onNodeKeydown(event: KeyboardEvent) {\n if (event.which === 13) {\n this.tree.onNodeClick(event, this.node);\n }\n }\n\n onNodeTouchEnd() {\n this.tree.onNodeTouchEnd();\n }\n\n onNodeRightClick(event: MouseEvent) {\n this.tree.onNodeRightClick(event, this.node);\n }\n\n isSelected() {\n return this.tree.isSelected(this.node);\n }\n\n onDropPoint(event: Event, position: number) {\n event.preventDefault();\n let dragNode = this.tree.dragNode;\n let dragNodeIndex = this.tree.dragNodeIndex;\n let dragNodeScope = this.tree.dragNodeScope;\n let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? (position === 1 || dragNodeIndex !== this.index - 1) : true;\n\n if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {\n let dropParams = {...this.createDropPointEventMetadata(position)};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index,\n accept: () => {\n this.processPointDrop(dropParams);\n }\n });\n }\n else {\n this.processPointDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index\n });\n }\n }\n\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n processPointDrop(event) {\n let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;\n event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);\n let dropIndex = this.index;\n\n if (event.position < 0) {\n dropIndex = (event.dragNodeSubNodes === newNodeList) ? ((event.dragNodeIndex > event.index) ? event.index : event.index - 1) : event.index;\n newNodeList.splice(dropIndex, 0, event.dragNode);\n }\n else {\n dropIndex = newNodeList.length;\n newNodeList.push(event.dragNode);\n }\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: event.dragNodeIndex\n });\n }\n\n createDropPointEventMetadata(position) {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node,\n index: this.index,\n position: position\n };\n }\n\n onDropPointDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n\n onDropPointDragEnter(event: Event, position: number) {\n if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n if (position < 0)\n this.draghoverPrev = true;\n else\n this.draghoverNext = true;\n }\n }\n\n onDropPointDragLeave(event: Event) {\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n onDragStart(event) {\n if (this.tree.draggableNodes && this.node.draggable !== false) {\n event.dataTransfer.setData(\"text\", \"data\");\n\n this.tree.dragDropService.startDrag({\n tree: this,\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index,\n scope: this.tree.draggableScope\n });\n }\n else {\n event.preventDefault();\n }\n }\n\n onDragStop(event) {\n this.tree.dragDropService.stopDrag({\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index\n });\n }\n\n onDropNodeDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n if (this.tree.droppableNodes) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onDropNode(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false) {\n let dragNode = this.tree.dragNode;\n\n if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {\n let dropParams = {...this.createDropNodeEventMetadata()};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index,\n accept: () => {\n this.processNodeDrop(dropParams);\n }\n });\n }\n else {\n this.processNodeDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index\n });\n }\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.draghoverNode = false;\n }\n\n createDropNodeEventMetadata() {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node\n };\n }\n\n processNodeDrop(event) {\n let dragNodeIndex = event.dragNodeIndex;\n event.dragNodeSubNodes.splice(dragNodeIndex, 1);\n\n if (event.dropNode.children)\n event.dropNode.children.push(event.dragNode);\n else\n event.dropNode.children = [event.dragNode];\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: dragNodeIndex\n });\n }\n\n onDropNodeDragEnter(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n this.draghoverNode = true;\n }\n }\n\n onDropNodeDragLeave(event) {\n if (this.tree.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y >= Math.floor(rect.top + rect.height) || event.y < rect.top) {\n this.draghoverNode = false;\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement> event.target).parentElement.parentElement;\n\n if (nodeElement.nodeName !== 'P-TREENODE' || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild.nativeElement.style.display === 'block')) {\n return;\n }\n\n switch (event.which) {\n //down arrow\n case 40:\n const listElement = (this.tree.droppableNodes) ? nodeElement.children[1].children[1] : nodeElement.children[0].children[1];\n if (listElement && listElement.children.length > 0) {\n this.focusNode(listElement.children[0]);\n }\n else {\n const nextNodeElement = nodeElement.nextElementSibling;\n if (nextNodeElement) {\n this.focusNode(nextNodeElement);\n }\n else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n if (nextSiblingAncestor) {\n this.focusNode(nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n break;\n\n //up arrow\n case 38:\n if (nodeElement.previousElementSibling) {\n this.focusNode(this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //right arrow\n case 39:\n if (!this.node.expanded && !this.tree.isNodeLeaf(this.node)) {\n this.expand(event);\n }\n\n event.preventDefault();\n break;\n\n //left arrow\n case 37:\n if (this.node.expanded) {\n this.collapse(event);\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.tree.onNodeClick(event, this.node);\n event.preventDefault();\n break;\n\n default:\n //no op\n break;\n }\n }\n\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling)\n return parentNodeElement.nextElementSibling;\n else\n return this.findNextSiblingOfAncestor(parentNodeElement);\n }\n else {\n return null;\n }\n }\n\n findLastVisibleDescendant(nodeElement) {\n const listElement = <HTMLElement> Array.from(nodeElement.children).find(el => DomHandler.hasClass(el, 'p-treenode'));\n const childrenListElement = listElement.children[1];\n if (childrenListElement && childrenListElement.children.length > 0) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n }\n else {\n return nodeElement;\n }\n }\n\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement.parentElement;\n\n return parentNodeElement.tagName === 'P-TREENODE' ? parentNodeElement : null;\n }\n\n focusNode(element) {\n if (this.tree.droppableNodes)\n element.children[1].children[0].focus();\n else\n element.children[0].children[0].focus();\n }\n}\n\n@Component({\n selector: 'p-tree',\n template: `\n <div [ngClass]=\"{'p-tree p-component':true,'p-tree-selectable':selectionMode,\n 'p-treenode-dragover':dragHover,'p-tree-loading': loading, 'p-tree-flex-scrollable': scrollHeight === 'flex'}\" \n [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"!horizontal\"\n (drop)=\"onDrop($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\">\n <div class=\"p-tree-loading-overlay p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <div *ngIf=\"filter\" class=\"p-tree-filter-container\">\n <input #filter type=\"text\" autocomplete=\"off\" class=\"p-tree-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (input)=\"_filter($event)\">\n <span class=\"p-tree-filter-icon pi pi-search\"></span>\n </div>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <div class=\"p-tree-wrapper\" [style.max-height]=\"scrollHeight\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *ngFor=\"let node of getRootNode(); let firstChild=first;let lastChild=last; let index=index; trackBy: trackBy\" [node]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [level]=\"0\"></p-treeNode>\n </ul>\n </div>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport class=\"p-tree-wrapper\" [style.height]=\"scrollHeight\" [itemSize]=\"virtualNodeHeight\" [minBufferPx]=\"minBufferPx\" [maxBufferPx]=\"maxBufferPx\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *cdkVirtualFor=\"let rowNode of serializedValue; let firstChild=first; let lastChild=last; let index=index; trackBy: trackBy; templateCacheSize: 0\" [level]=\"rowNode.level\"\n [rowNode]=\"rowNode\" [node]=\"rowNode.node\" [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"virtualNodeHeight\" [indentation]=\"indentation\"></p-treeNode>\n </ul>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n <div [ngClass]=\"{'p-tree p-tree-horizontal p-component':true,'p-tree-selectable':selectionMode}\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"horizontal\">\n <div class=\"p-tree-loading-mask p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <table *ngIf=\"value&&value[0]\">\n <p-treeNode [node]=\"value[0]\" [root]=\"true\"></p-treeNode>\n </table>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tree.css']\n})\nexport class Tree implements OnInit,AfterContentInit,OnChanges,OnDestroy,BlockableUI {\n\n @Input() value: TreeNode[];\n\n @Input() selectionMode: string;\n\n @Input() selection: any;\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeContextMenuSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeDrop: EventEmitter<any> = new EventEmitter();\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() contextMenu: any;\n\n @Input() layout: string = 'vertical';\n\n @Input() draggableScope: any;\n\n @Input() droppableScope: any;\n\n @Input() draggableNodes: boolean;\n\n @Input() droppableNodes: boolean;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() propagateSelectionUp: boolean = true;\n\n @Input() propagateSelectionDown: boolean = true;\n\n @Input() loading: boolean;\n\n @Input() loadingIcon: string = 'pi pi-spinner';\n\n @Input() emptyMessage: string = 'No records found';\n\n @Input() ariaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() validateDrop: boolean;\n\n @Input() filter: boolean;\n\n @Input() filterBy: string = 'label';\n\n @Input() filterMode: string = 'lenient';\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() scrollHeight: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() virtualNodeHeight: string;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() indentation: number = 1.5;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\n\n serializedValue: any[];\n\n public templateMap: any;\n\n public nodeTouched: boolean;\n\n public dragNodeTree: Tree;\n\n public dragNode: TreeNode;\n\n public dragNodeSubNodes: TreeNode[];\n\n public dragNodeIndex: number;\n\n public dragNodeScope: any;\n\n public dragHover: boolean;\n\n public dragStartSubscription: Subscription;\n\n public dragStopSubscription: Subscription;\n\n public filteredNodes: TreeNode[];\n\n constructor(public el: ElementRef, @Optional() public dragDropService: TreeDragDropService) {}\n\n ngOnInit() {\n if (this.droppableNodes) {\n this.dragStartSubscription = this.dragDropService.dragStart$.subscribe(\n event => {\n this.dragNodeTree = event.tree;\n this.dragNode = event.node;\n this.dragNodeSubNodes = event.subNodes;\n this.dragNodeIndex = event.index;\n this.dragNodeScope = event.scope;\n });\n\n this.dragStopSubscription = this.dragDropService.dragStop$.subscribe(\n event => {\n this.dragNodeTree = null;\n this.dragNode = null;\n this.dragNodeSubNodes = null;\n this.dragNodeIndex = null;\n this.dragNodeScope = null;\n this.dragHover = false;\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.value) {\n this.updateSerializedValue();\n }\n\n if (simpleChange.scrollHeight && this.virtualScrollBody) {\n this.virtualScrollBody.ngOnInit();\n }\n }\n\n get horizontal(): boolean {\n return this.layout == 'horizontal';\n }\n\n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n\n this.templates.forEach((item) => {\n this.templateMap[item.name] = item.template;\n });\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n this.serializeNodes(null, this.getRootNode(), 0, true);\n }\n\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for(let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n onNodeClick(event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n\n if (DomHandler.hasClass(eventTarget, 'p-tree-toggler') || DomHandler.hasClass(eventTarget, 'p-tree-toggler-icon')) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n\n if (this.hasFilteredNodes()) {\n node = this.getNodeWithKey(node.key, this.value);\n\n if (!node) {\n return;\n }\n }\n\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (this.isCheckboxSelectionMode()) {\n if (selected) {\n if (this.propagateSelectionDown)\n this.propagateDown(node, false);\n else\n this.selection = this.selection.filter((val,i) => i!=index);\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, false);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.propagateSelectionDown)\n this.propagateDown(node, true);\n else\n this.selection = [...this.selection||[],node];\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, true);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey);\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(null);\n }\n else {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(node);\n }\n else if (this.isMultipleSelectionMode()) {\n this.selection = (!metaKey) ? [] : this.selection||[];\n this.selection = [...this.selection,node];\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (this.isSingleSelectionMode()) {\n if (selected) {\n this.selection = null;\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = node;\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (selected) {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = [...this.selection||[],node];\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n\n this.selectionChange.emit(this.selection);\n }\n }\n }\n\n this.nodeTouched = false;\n }\n\n onNodeTouchEnd() {\n this.nodeTouched = true;\n }\n\n onNodeRightClick(event: MouseEvent, node: TreeNode) {\n if (this.contextMenu) {\n let eventTarget = (<Element> event.target);\n\n if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {\n return;\n }\n else {\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (!selected) {\n if (this.isSingleSelectionMode())\n this.selectionChange.emit(node);\n else\n this.selectionChange.emit([node]);\n }\n\n this.contextMenu.show(event);\n this.onNodeContextMenuSelect.emit({originalEvent: event, node: node});\n }\n }\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.isSingleSelectionMode()) {\n let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;\n index = areNodesEqual ? 0 : - 1;\n }\n else {\n for(let i = 0; i < this.selection.length; i++) {\n let selectedNode = this.selection[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n syncNodeOption(node, parentNodes, option, value?: any) {\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;\n if (_node) {\n _node[option] = value||node[option];\n }\n }\n\n hasFilteredNodes() {\n return this.filter && this.filteredNodes && this.filteredNodes.length;\n }\n\n getNodeWithKey(key: string, nodes: TreeNode[]) {\n for (let node of nodes) {\n if (node.key === key) {\n return node;\n }\n\n if (node.children) {\n let matchedNode = this.getNodeWithKey(key, node.children);\n if (matchedNode) {\n return matchedNode;\n }\n }\n }\n }\n\n propagateUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedCount: number = 0;\n let childPartialSelected: boolean = false;\n for(let child of node.children) {\n if (this.isSelected(child)) {\n selectedCount++;\n }\n else if (child.partialSelected) {\n childPartialSelected = true;\n }\n }\n\n if (select && selectedCount == node.children.length) {\n this.selection = [...this.selection||[],node];\n node.partialSelected = false;\n }\n else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n }\n\n if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length)\n node.partialSelected = true;\n else\n node.partialSelected = false;\n }\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n }\n\n let parent = node.parent;\n if (parent) {\n this.propagateUp(parent, select);\n }\n }\n\n propagateDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n\n if (select && index == -1) {\n this.selection = [...this.selection||[],node];\n }\n else if (!select && index > -1) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n\n node.partialSelected = false;\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n\n if (node.children && node.children.length) {\n for(let child of node.children) {\n this.propagateDown(child, select);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'multiple';\n }\n\n isCheckboxSelectionMode() {\n return this.selectionMode && this.selectionMode == 'checkbox';\n }\n\n isNodeLeaf(node) {\n return node.leaf == false ? false : !(node.children && node.children.length);\n }\n\n getRootNode() {\n return this.filteredNodes ? this.filteredNodes : this.value;\n }\n\n getTemplateForNode(node: TreeNode): TemplateRef<any> {\n if (this.templateMap)\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\n else\n return null;\n }\n\n onDragOver(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n }\n\n onDrop(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.preventDefault();\n let dragNode = this.dragNode;\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\n let dragNodeIndex = this.dragNodeIndex;\n this.dragNodeSubNodes.splice(dragNodeIndex, 1);\n this.value = this.value||[];\n this.value.push(dragNode);\n\n this.dragDropService.stopDrag({\n node: dragNode\n });\n }\n }\n }\n\n onDragEnter(event) {\n if (this.droppableNodes && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {\n this.dragHover = true;\n }\n }\n\n onDragLeave(event) {\n if (this.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y > rect.top + rect.height || event.y < rect.top) {\n this.dragHover = false;\n }\n }\n }\n\n allowDrop(dragNode: TreeNode, dropNode: TreeNode, dragNodeScope: any): boolean {\n if (!dragNode) {\n //prevent random html elements to be dragged\n return false;\n }\n else if (this.isValidDragScope(dragNodeScope)) {\n let allow: boolean = true;\n if (dropNode) {\n if (dragNode === dropNode) {\n allow = false;\n }\n else {\n let parent = dropNode.parent;\n while(parent != null) {\n if (parent === dragNode) {\n allow = false;\n break;\n }\n parent = parent.parent;\n }\n }\n }\n\n return allow;\n }\n else {\n return false;\n }\n }\n\n isValidDragScope(dragScope: any): boolean {\n let dropScope = this.droppableScope;\n\n if (dropScope) {\n if (typeof dropScope === 'string') {\n if (typeof dragScope === 'string')\n return dropScope === dragScope;\n else if (dragScope instanceof Array)\n return (<Array<any>>dragScope).indexOf(dropScope) != -1;\n }\n else if (dropScope instanceof Array) {\n if (typeof dragScope === 'string') {\n return (<Array<any>>dropScope).indexOf(dragScope) != -1;\n }\n else if (dragScope instanceof Array) {\n for(let s of dropScope) {\n for(let ds of dragScope) {\n if (s === ds) {\n return true;\n }\n }\n }\n }\n }\n return false;\n }\n else {\n return true;\n }\n }\n\n _filter(event) {\n let filterValue = event.target.value;\n if (filterValue === '') {\n this.filteredNodes = null;\n }\n else {\n this.filteredNodes = [];\n const searchFields: string[] = this.filterBy.split(',');\n const filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(this.filterLocale);\n const isStrictMode = this.filterMode === 'strict';\n for(let node of this.value) {\n let copyNode = {...node};\n let paramsWithoutNode = {searchFields, filterText, isStrictMode};\n if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\n this.filteredNodes.push(copyNode);\n }\n }\n }\n\n this.updateSerializedValue();\n this.onFilter.emit({\n filter: filterValue,\n filteredValue: this.filteredNodes\n });\n }\n\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {...childNode};\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n node.expanded = true;\n return true;\n }\n }\n }\n\n isFilterMatched(node, {searchFields, filterText, isStrictMode}) {\n let matched = false;\n for(let field of searchFields) {\n let fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale);\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, {searchFields, filterText, isStrictMode}) || matched;\n }\n\n return matched;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngOnDestroy() {\n if (this.dragStartSubscription) {\n this.dragStartSubscription.unsubscribe();\n }\n\n if (this.dragStopSubscription) {\n this.dragStopSubscription.unsubscribe();\n }\n }\n}\n@NgModule({\n imports: [CommonModule,ScrollingModule,RippleModule],\n exports: [Tree,SharedModule,ScrollingModule],\n declarations: [Tree,UITreeNode]\n})\nexport class TreeModule { }\n"]}
|
1
|
+
{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/tree/tree.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__read","n","r","e","ar","push","error","__spread","arguments","concat","UITreeNode","tree","this","prototype","ngOnInit","node","parent","parentNode","syncNodeOption","getNodeWithKey","key","getIcon","icon","expanded","children","expandedIcon","collapsedIcon","ICON_CLASS","isLeaf","isNodeLeaf","toggle","event","collapse","expand","virtualScroll","updateSerializedValue","onNodeExpand","emit","originalEvent","onNodeCollapse","onNodeClick","onNodeKeydown","which","onNodeTouchEnd","onNodeRightClick","isSelected","onDropPoint","position","_this","preventDefault","dragNode","dragNodeIndex","dragNodeScope","isValidDropPointIndex","dragNodeTree","index","allowDrop","dropParams_1","assign","createDropPointEventMetadata","validateDrop","onNodeDrop","dropNode","dropIndex","accept","processPointDrop","draghoverPrev","draghoverNext","newNodeList","dragNodeSubNodes","splice","dragDropService","stopDrag","subNodes","onDropPointDragOver","dataTransfer","dropEffect","onDropPointDragEnter","onDropPointDragLeave","onDragStart","draggableNodes","draggable","setData","startDrag","scope","draggableScope","onDragStop","onDropNodeDragOver","droppableNodes","stopPropagation","onDropNode","droppable","dropParams_2","createDropNodeEventMetadata","processNodeDrop","draghoverNode","onDropNodeDragEnter","onDropNodeDragLeave","rect","currentTarget","getBoundingClientRect","x","left","width","y","Math","floor","top","height","onKeyDown","nodeElement","target","parentElement","nodeName","contextMenu","containerViewChild","nativeElement","style","display","listElement","focusNode","nextNodeElement","nextElementSibling","nextSiblingAncestor","findNextSiblingOfAncestor","previousElementSibling","findLastVisibleDescendant","parentNodeElement","getParentNodeElement","childrenListElement","Array","from","find","el","DomHandler","hasClass","lastChildElement","tagName","element","focus","Component","args","selector","template","encapsulation","ViewEncapsulation","None","Inject","forwardRef","Tree","Input","selectionChange","EventEmitter","onNodeSelect","onNodeUnselect","onNodeContextMenuSelect","layout","metaKeySelection","propagateSelectionUp","propagateSelectionDown","loadingIcon","emptyMessage","filterBy","filterMode","indentation","trackBy","item","onFilter","dragStartSubscription","dragStart$","subscribe","dragStopSubscription","dragStop$","dragHover","ngOnChanges","simpleChange","scrollHeight","virtualScrollBody","defineProperty","ngAfterContentInit","templates","templateMap","forEach","name","serializedValue","serializeNodes","getRootNode","nodes","level","visible","nodes_1","nodes_1_1","rowNode","eventTarget","selectionMode","selectable","hasFilteredNodes","index_1","findIndexInSelection","selected","isCheckboxSelectionMode","propagateDown","selection","filter","val","propagateUp","nodeTouched","metaKey","ctrlKey","isSingleSelectionMode","isMultipleSelectionMode","className","indexOf","show","selectedNode","parentNodes","option","_node","filteredNodes","nodes_2","nodes_2_1","matchedNode","select","selectedCount","childPartialSelected","_b","_c","child","partialSelected","index_2","leaf","getTemplateForNode","type","onDragOver","onDrop","onDragEnter","onDragLeave","isValidDragScope","allow","dragScope","dropScope","droppableScope","dropScope_1","dropScope_1_1","dragScope_1","e_6","dragScope_1_1","_filter","filterValue","searchFields","split","filterText","ObjectUtils","removeAccents","toLocaleLowerCase","filterLocale","isStrictMode","copyNode","paramsWithoutNode","findFilteredNodes","isFilterMatched","filteredValue","matched","childNodes","childNodes_1","childNodes_1_1","childNode","copyChildNode","_a","searchFields_1","searchFields_1_1","field","String","resolveFieldData","getBlockableElement","ngOnDestroy","unsubscribe","changeDetection","ChangeDetectionStrategy","Default","ElementRef","TreeDragDropService","decorators","Optional","Output","ContentChildren","PrimeTemplate","ViewChild","CdkVirtualScrollViewport","NgModule","imports","CommonModule","ScrollingModule","RippleModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {NgModule,Component,Input,AfterContentInit,OnDestroy,Output,EventEmitter,OnInit,OnChanges,\n ContentChildren,QueryList,TemplateRef,Inject,ElementRef,forwardRef,ChangeDetectionStrategy,SimpleChanges, ViewEncapsulation, ViewChild} from '@angular/core';\nimport {CdkVirtualScrollViewport, ScrollingModule} from '@angular/cdk/scrolling';\nimport {Optional} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TreeNode} from 'primeng/api';\nimport {SharedModule} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport {TreeDragDropService} from 'primeng/api';\nimport {Subscription} from 'rxjs';\nimport {BlockableUI} from 'primeng/api';\nimport {ObjectUtils} from 'primeng/utils';\nimport {DomHandler} from 'primeng/dom';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-treeNode',\n template: `\n <ng-template [ngIf]=\"node\">\n <li *ngIf=\"tree.droppableNodes\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverPrev}\"\n (drop)=\"onDropPoint($event,-1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,-1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <li *ngIf=\"!tree.horizontal\" [ngClass]=\"['p-treenode',node.styleClass||'', isLeaf() ? 'p-treenode-leaf': '']\">\n <div class=\"p-treenode-content\" [style.paddingLeft]=\"(level * indentation) + 'rem'\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\" (touchend)=\"onNodeTouchEnd()\"\n (drop)=\"onDropNode($event)\" (dragover)=\"onDropNodeDragOver($event)\" (dragenter)=\"onDropNodeDragEnter($event)\" (dragleave)=\"onDropNodeDragLeave($event)\"\n [draggable]=\"tree.draggableNodes\" (dragstart)=\"onDragStart($event)\" (dragend)=\"onDragStop($event)\" [attr.tabindex]=\"0\"\n [ngClass]=\"{'p-treenode-selectable':tree.selectionMode && node.selectable !== false,'p-treenode-dragover':draghoverNode, 'p-highlight':isSelected()}\" role=\"treeitem\"\n (keydown)=\"onKeyDown($event)\" [attr.aria-posinset]=\"this.index + 1\" [attr.aria-expanded]=\"this.node.expanded\" [attr.aria-selected]=\"isSelected()\" [attr.aria-label]=\"node.label\">\n <button type=\"button\" class=\"p-tree-toggler p-link\" (click)=\"toggle($event)\" pRipple tabindex=\"-1\">\n <span class=\"p-tree-toggler-icon pi pi-fw\" [ngClass]=\"{'pi-chevron-right':!node.expanded,'pi-chevron-down':node.expanded}\"></span>\n </button>\n <div class=\"p-checkbox p-component\" [ngClass]=\"{'p-checkbox-disabled': node.selectable === false}\" *ngIf=\"tree.selectionMode == 'checkbox'\" [attr.aria-checked]=\"isSelected()\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': isSelected(), 'p-indeterminate': node.partialSelected}\">\n <span class=\"p-checkbox-icon pi\" [ngClass]=\"{'pi-check':isSelected(),'pi-minus':node.partialSelected}\"></span>\n </div>\n </div>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n <ul class=\"p-treenode-children\" style=\"display: none;\" *ngIf=\"!tree.virtualScroll && node.children && node.expanded\" [style.display]=\"node.expanded ? 'block' : 'none'\" role=\"group\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; let index=index; trackBy: tree.trackBy\" [node]=\"childNode\" [parentNode]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"tree.virtualNodeHeight\" [level]=\"level + 1\"></p-treeNode>\n </ul>\n </li>\n <li *ngIf=\"tree.droppableNodes&&lastChild\" class=\"p-treenode-droppoint\" [ngClass]=\"{'p-treenode-droppoint-active':draghoverNext}\"\n (drop)=\"onDropPoint($event,1)\" (dragover)=\"onDropPointDragOver($event)\" (dragenter)=\"onDropPointDragEnter($event,1)\" (dragleave)=\"onDropPointDragLeave($event)\"></li>\n <table *ngIf=\"tree.horizontal\" [class]=\"node.styleClass\">\n <tbody>\n <tr>\n <td class=\"p-treenode-connector\" *ngIf=\"!root\">\n <table class=\"p-treenode-connector-table\">\n <tbody>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!firstChild}\"></td>\n </tr>\n <tr>\n <td [ngClass]=\"{'p-treenode-connector-line':!lastChild}\"></td>\n </tr>\n </tbody>\n </table>\n </td>\n <td class=\"p-treenode\" [ngClass]=\"{'p-treenode-collapsed':!node.expanded}\">\n <div class=\"p-treenode-content\" tabindex=\"0\" [ngClass]=\"{'p-treenode-selectable':tree.selectionMode,'p-highlight':isSelected()}\" (click)=\"onNodeClick($event)\" (contextmenu)=\"onNodeRightClick($event)\"\n (touchend)=\"onNodeTouchEnd()\" (keydown)=\"onNodeKeydown($event)\">\n <span class=\"p-tree-toggler pi pi-fw\" [ngClass]=\"{'pi-plus':!node.expanded,'pi-minus':node.expanded}\" *ngIf=\"!isLeaf()\" (click)=\"toggle($event)\"></span>\n <span [class]=\"getIcon()\" *ngIf=\"node.icon||node.expandedIcon||node.collapsedIcon\"></span>\n <span class=\"p-treenode-label\">\n <span *ngIf=\"!tree.getTemplateForNode(node)\">{{node.label}}</span>\n <span *ngIf=\"tree.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"tree.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </span>\n </span>\n </div>\n </td>\n <td class=\"p-treenode-children-container\" *ngIf=\"node.children && node.expanded\" [style.display]=\"node.expanded ? 'table-cell' : 'none'\">\n <div class=\"p-treenode-children\">\n <p-treeNode *ngFor=\"let childNode of node.children;let firstChild=first;let lastChild=last; trackBy: tree.trackBy\" [node]=\"childNode\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\"></p-treeNode>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class UITreeNode implements OnInit {\n\n static ICON_CLASS: string = 'p-treenode-icon ';\n\n @Input() rowNode: any;\n\n @Input() node: TreeNode;\n\n @Input() parentNode: TreeNode;\n\n @Input() root: boolean;\n\n @Input() index: number;\n\n @Input() firstChild: boolean;\n\n @Input() lastChild: boolean;\n\n @Input() level: number;\n\n @Input() indentation: number;\n\n tree: Tree;\n\n constructor(@Inject(forwardRef(() => Tree)) tree) {\n this.tree = tree as Tree;\n }\n\n draghoverPrev: boolean;\n\n draghoverNext: boolean;\n\n draghoverNode: boolean\n\n ngOnInit() {\n this.node.parent = this.parentNode;\n\n if (this.parentNode) {\n this.tree.syncNodeOption(this.node, this.tree.value, 'parent', this.tree.getNodeWithKey(this.parentNode.key, this.tree.value));\n }\n }\n\n getIcon() {\n let icon: string;\n\n if (this.node.icon)\n icon = this.node.icon;\n else\n icon = this.node.expanded && this.node.children && this.node.children.length ? this.node.expandedIcon : this.node.collapsedIcon;\n\n return UITreeNode.ICON_CLASS + ' ' + icon;\n }\n\n isLeaf() {\n return this.tree.isNodeLeaf(this.node);\n }\n\n toggle(event: Event) {\n if (this.node.expanded)\n this.collapse(event);\n else\n this.expand(event);\n }\n\n expand(event: Event) {\n this.node.expanded = true;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeExpand.emit({originalEvent: event, node: this.node});\n }\n\n collapse(event: Event) {\n this.node.expanded = false;\n if (this.tree.virtualScroll) {\n this.tree.updateSerializedValue();\n }\n this.tree.onNodeCollapse.emit({originalEvent: event, node: this.node});\n }\n\n onNodeClick(event: MouseEvent) {\n this.tree.onNodeClick(event, this.node);\n }\n\n onNodeKeydown(event: KeyboardEvent) {\n if (event.which === 13) {\n this.tree.onNodeClick(event, this.node);\n }\n }\n\n onNodeTouchEnd() {\n this.tree.onNodeTouchEnd();\n }\n\n onNodeRightClick(event: MouseEvent) {\n this.tree.onNodeRightClick(event, this.node);\n }\n\n isSelected() {\n return this.tree.isSelected(this.node);\n }\n\n onDropPoint(event: Event, position: number) {\n event.preventDefault();\n let dragNode = this.tree.dragNode;\n let dragNodeIndex = this.tree.dragNodeIndex;\n let dragNodeScope = this.tree.dragNodeScope;\n let isValidDropPointIndex = this.tree.dragNodeTree === this.tree ? (position === 1 || dragNodeIndex !== this.index - 1) : true;\n\n if (this.tree.allowDrop(dragNode, this.node, dragNodeScope) && isValidDropPointIndex) {\n let dropParams = {...this.createDropPointEventMetadata(position)};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index,\n accept: () => {\n this.processPointDrop(dropParams);\n }\n });\n }\n else {\n this.processPointDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n dropIndex: this.index\n });\n }\n }\n\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n processPointDrop(event) {\n let newNodeList = event.dropNode.parent ? event.dropNode.parent.children : this.tree.value;\n event.dragNodeSubNodes.splice(event.dragNodeIndex, 1);\n let dropIndex = this.index;\n\n if (event.position < 0) {\n dropIndex = (event.dragNodeSubNodes === newNodeList) ? ((event.dragNodeIndex > event.index) ? event.index : event.index - 1) : event.index;\n newNodeList.splice(dropIndex, 0, event.dragNode);\n }\n else {\n dropIndex = newNodeList.length;\n newNodeList.push(event.dragNode);\n }\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: event.dragNodeIndex\n });\n }\n\n createDropPointEventMetadata(position) {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node,\n index: this.index,\n position: position\n };\n }\n\n onDropPointDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n\n onDropPointDragEnter(event: Event, position: number) {\n if (this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n if (position < 0)\n this.draghoverPrev = true;\n else\n this.draghoverNext = true;\n }\n }\n\n onDropPointDragLeave(event: Event) {\n this.draghoverPrev = false;\n this.draghoverNext = false;\n }\n\n onDragStart(event) {\n if (this.tree.draggableNodes && this.node.draggable !== false) {\n event.dataTransfer.setData(\"text\", \"data\");\n\n this.tree.dragDropService.startDrag({\n tree: this,\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index,\n scope: this.tree.draggableScope\n });\n }\n else {\n event.preventDefault();\n }\n }\n\n onDragStop(event) {\n this.tree.dragDropService.stopDrag({\n node: this.node,\n subNodes: this.node.parent ? this.node.parent.children : this.tree.value,\n index: this.index\n });\n }\n\n onDropNodeDragOver(event) {\n event.dataTransfer.dropEffect = 'move';\n if (this.tree.droppableNodes) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onDropNode(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false) {\n let dragNode = this.tree.dragNode;\n\n if (this.tree.allowDrop(dragNode, this.node, this.tree.dragNodeScope)) {\n let dropParams = {...this.createDropNodeEventMetadata()};\n\n if (this.tree.validateDrop) {\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index,\n accept: () => {\n this.processNodeDrop(dropParams);\n }\n });\n }\n else {\n this.processNodeDrop(dropParams);\n this.tree.onNodeDrop.emit({\n originalEvent: event,\n dragNode: dragNode,\n dropNode: this.node,\n index: this.index\n });\n }\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n this.draghoverNode = false;\n }\n\n createDropNodeEventMetadata() {\n return {\n dragNode: this.tree.dragNode,\n dragNodeIndex: this.tree.dragNodeIndex,\n dragNodeSubNodes: this.tree.dragNodeSubNodes,\n dropNode: this.node\n };\n }\n\n processNodeDrop(event) {\n let dragNodeIndex = event.dragNodeIndex;\n event.dragNodeSubNodes.splice(dragNodeIndex, 1);\n\n if (event.dropNode.children)\n event.dropNode.children.push(event.dragNode);\n else\n event.dropNode.children = [event.dragNode];\n\n this.tree.dragDropService.stopDrag({\n node: event.dragNode,\n subNodes: event.dropNode.parent ? event.dropNode.parent.children : this.tree.value,\n index: dragNodeIndex\n });\n }\n\n onDropNodeDragEnter(event) {\n if (this.tree.droppableNodes && this.node.droppable !== false && this.tree.allowDrop(this.tree.dragNode, this.node, this.tree.dragNodeScope)) {\n this.draghoverNode = true;\n }\n }\n\n onDropNodeDragLeave(event) {\n if (this.tree.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y >= Math.floor(rect.top + rect.height) || event.y < rect.top) {\n this.draghoverNode = false;\n }\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n const nodeElement = (<HTMLDivElement> event.target).parentElement.parentElement;\n\n if (nodeElement.nodeName !== 'P-TREENODE' || (this.tree.contextMenu && this.tree.contextMenu.containerViewChild.nativeElement.style.display === 'block')) {\n return;\n }\n\n switch (event.which) {\n //down arrow\n case 40:\n const listElement = (this.tree.droppableNodes) ? nodeElement.children[1].children[1] : nodeElement.children[0].children[1];\n if (listElement && listElement.children.length > 0) {\n this.focusNode(listElement.children[0]);\n }\n else {\n const nextNodeElement = nodeElement.nextElementSibling;\n if (nextNodeElement) {\n this.focusNode(nextNodeElement);\n }\n else {\n let nextSiblingAncestor = this.findNextSiblingOfAncestor(nodeElement);\n if (nextSiblingAncestor) {\n this.focusNode(nextSiblingAncestor);\n }\n }\n }\n\n event.preventDefault();\n break;\n\n //up arrow\n case 38:\n if (nodeElement.previousElementSibling) {\n this.focusNode(this.findLastVisibleDescendant(nodeElement.previousElementSibling));\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //right arrow\n case 39:\n if (!this.node.expanded && !this.tree.isNodeLeaf(this.node)) {\n this.expand(event);\n }\n\n event.preventDefault();\n break;\n\n //left arrow\n case 37:\n if (this.node.expanded) {\n this.collapse(event);\n }\n else {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n this.focusNode(parentNodeElement);\n }\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.tree.onNodeClick(event, this.node);\n event.preventDefault();\n break;\n\n default:\n //no op\n break;\n }\n }\n\n findNextSiblingOfAncestor(nodeElement) {\n let parentNodeElement = this.getParentNodeElement(nodeElement);\n if (parentNodeElement) {\n if (parentNodeElement.nextElementSibling)\n return parentNodeElement.nextElementSibling;\n else\n return this.findNextSiblingOfAncestor(parentNodeElement);\n }\n else {\n return null;\n }\n }\n\n findLastVisibleDescendant(nodeElement) {\n const listElement = <HTMLElement> Array.from(nodeElement.children).find(el => DomHandler.hasClass(el, 'p-treenode'));\n const childrenListElement = listElement.children[1];\n if (childrenListElement && childrenListElement.children.length > 0) {\n const lastChildElement = childrenListElement.children[childrenListElement.children.length - 1];\n\n return this.findLastVisibleDescendant(lastChildElement);\n }\n else {\n return nodeElement;\n }\n }\n\n getParentNodeElement(nodeElement) {\n const parentNodeElement = nodeElement.parentElement.parentElement.parentElement;\n\n return parentNodeElement.tagName === 'P-TREENODE' ? parentNodeElement : null;\n }\n\n focusNode(element) {\n if (this.tree.droppableNodes)\n element.children[1].children[0].focus();\n else\n element.children[0].children[0].focus();\n }\n}\n\n@Component({\n selector: 'p-tree',\n template: `\n <div [ngClass]=\"{'p-tree p-component':true,'p-tree-selectable':selectionMode,\n 'p-treenode-dragover':dragHover,'p-tree-loading': loading, 'p-tree-flex-scrollable': scrollHeight === 'flex'}\" \n [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"!horizontal\"\n (drop)=\"onDrop($event)\" (dragover)=\"onDragOver($event)\" (dragenter)=\"onDragEnter($event)\" (dragleave)=\"onDragLeave($event)\">\n <div class=\"p-tree-loading-overlay p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <div *ngIf=\"filter\" class=\"p-tree-filter-container\">\n <input #filter type=\"text\" autocomplete=\"off\" class=\"p-tree-filter p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\"\n (keydown.enter)=\"$event.preventDefault()\" (input)=\"_filter($event)\">\n <span class=\"p-tree-filter-icon pi pi-search\"></span>\n </div>\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <div class=\"p-tree-wrapper\" [style.max-height]=\"scrollHeight\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *ngFor=\"let node of getRootNode(); let firstChild=first;let lastChild=last; let index=index; trackBy: trackBy\" [node]=\"node\"\n [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [level]=\"0\"></p-treeNode>\n </ul>\n </div>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport class=\"p-tree-wrapper\" [style.height]=\"scrollHeight\" [itemSize]=\"virtualNodeHeight\" [minBufferPx]=\"minBufferPx\" [maxBufferPx]=\"maxBufferPx\">\n <ul class=\"p-tree-container\" *ngIf=\"getRootNode()\" role=\"tree\" [attr.aria-label]=\"ariaLabel\" [attr.aria-labelledby]=\"ariaLabelledBy\">\n <p-treeNode *cdkVirtualFor=\"let rowNode of serializedValue; let firstChild=first; let lastChild=last; let index=index; trackBy: trackBy; templateCacheSize: 0\" [level]=\"rowNode.level\"\n [rowNode]=\"rowNode\" [node]=\"rowNode.node\" [firstChild]=\"firstChild\" [lastChild]=\"lastChild\" [index]=\"index\" [style.height.px]=\"virtualNodeHeight\" [indentation]=\"indentation\"></p-treeNode>\n </ul>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n <div [ngClass]=\"{'p-tree p-tree-horizontal p-component':true,'p-tree-selectable':selectionMode}\" [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"horizontal\">\n <div class=\"p-tree-loading-mask p-component-overlay\" *ngIf=\"loading\">\n <i [class]=\"'p-tree-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n <table *ngIf=\"value&&value[0]\">\n <p-treeNode [node]=\"value[0]\" [root]=\"true\"></p-treeNode>\n </table>\n <div class=\"p-tree-empty-message\" *ngIf=\"!loading && (value == null || value.length === 0)\">{{emptyMessage}}</div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.Default,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tree.css']\n})\nexport class Tree implements OnInit,AfterContentInit,OnChanges,OnDestroy,BlockableUI {\n\n @Input() value: TreeNode[];\n\n @Input() selectionMode: string;\n\n @Input() selection: any;\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeUnselect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeExpand: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeCollapse: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeContextMenuSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onNodeDrop: EventEmitter<any> = new EventEmitter();\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() contextMenu: any;\n\n @Input() layout: string = 'vertical';\n\n @Input() draggableScope: any;\n\n @Input() droppableScope: any;\n\n @Input() draggableNodes: boolean;\n\n @Input() droppableNodes: boolean;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() propagateSelectionUp: boolean = true;\n\n @Input() propagateSelectionDown: boolean = true;\n\n @Input() loading: boolean;\n\n @Input() loadingIcon: string = 'pi pi-spinner';\n\n @Input() emptyMessage: string = 'No records found';\n\n @Input() ariaLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() validateDrop: boolean;\n\n @Input() filter: boolean;\n\n @Input() filterBy: string = 'label';\n\n @Input() filterMode: string = 'lenient';\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() scrollHeight: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() virtualNodeHeight: string;\n\n @Input() minBufferPx: number;\n\n @Input() maxBufferPx: number;\n\n @Input() indentation: number = 1.5;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onFilter: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild(CdkVirtualScrollViewport) virtualScrollBody: CdkVirtualScrollViewport;\n\n serializedValue: any[];\n\n public templateMap: any;\n\n public nodeTouched: boolean;\n\n public dragNodeTree: Tree;\n\n public dragNode: TreeNode;\n\n public dragNodeSubNodes: TreeNode[];\n\n public dragNodeIndex: number;\n\n public dragNodeScope: any;\n\n public dragHover: boolean;\n\n public dragStartSubscription: Subscription;\n\n public dragStopSubscription: Subscription;\n\n public filteredNodes: TreeNode[];\n\n constructor(public el: ElementRef, @Optional() public dragDropService: TreeDragDropService) {}\n\n ngOnInit() {\n if (this.droppableNodes) {\n this.dragStartSubscription = this.dragDropService.dragStart$.subscribe(\n event => {\n this.dragNodeTree = event.tree;\n this.dragNode = event.node;\n this.dragNodeSubNodes = event.subNodes;\n this.dragNodeIndex = event.index;\n this.dragNodeScope = event.scope;\n });\n\n this.dragStopSubscription = this.dragDropService.dragStop$.subscribe(\n event => {\n this.dragNodeTree = null;\n this.dragNode = null;\n this.dragNodeSubNodes = null;\n this.dragNodeIndex = null;\n this.dragNodeScope = null;\n this.dragHover = false;\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange.value) {\n this.updateSerializedValue();\n }\n\n if (simpleChange.scrollHeight && this.virtualScrollBody) {\n this.virtualScrollBody.ngOnInit();\n }\n }\n\n get horizontal(): boolean {\n return this.layout == 'horizontal';\n }\n\n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n\n this.templates.forEach((item) => {\n this.templateMap[item.name] = item.template;\n });\n }\n\n updateSerializedValue() {\n this.serializedValue = [];\n this.serializeNodes(null, this.getRootNode(), 0, true);\n }\n\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for(let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n\n onNodeClick(event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n\n if (DomHandler.hasClass(eventTarget, 'p-tree-toggler') || DomHandler.hasClass(eventTarget, 'p-tree-toggler-icon')) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n\n if (this.hasFilteredNodes()) {\n node = this.getNodeWithKey(node.key, this.value);\n\n if (!node) {\n return;\n }\n }\n\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (this.isCheckboxSelectionMode()) {\n if (selected) {\n if (this.propagateSelectionDown)\n this.propagateDown(node, false);\n else\n this.selection = this.selection.filter((val,i) => i!=index);\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, false);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.propagateSelectionDown)\n this.propagateDown(node, true);\n else\n this.selection = [...this.selection||[],node];\n\n if (this.propagateSelectionUp && node.parent) {\n this.propagateUp(node.parent, true);\n }\n\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n let metaSelection = this.nodeTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey);\n\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(null);\n }\n else {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n if (this.isSingleSelectionMode()) {\n this.selectionChange.emit(node);\n }\n else if (this.isMultipleSelectionMode()) {\n this.selection = (!metaKey) ? [] : this.selection||[];\n this.selection = [...this.selection,node];\n this.selectionChange.emit(this.selection);\n }\n\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (this.isSingleSelectionMode()) {\n if (selected) {\n this.selection = null;\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = node;\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n else {\n if (selected) {\n this.selection = this.selection.filter((val,i) => i!=index);\n this.onNodeUnselect.emit({originalEvent: event, node: node});\n }\n else {\n this.selection = [...this.selection||[],node];\n this.onNodeSelect.emit({originalEvent: event, node: node});\n }\n }\n\n this.selectionChange.emit(this.selection);\n }\n }\n }\n\n this.nodeTouched = false;\n }\n\n onNodeTouchEnd() {\n this.nodeTouched = true;\n }\n\n onNodeRightClick(event: MouseEvent, node: TreeNode) {\n if (this.contextMenu) {\n let eventTarget = (<Element> event.target);\n\n if (eventTarget.className && eventTarget.className.indexOf('p-tree-toggler') === 0) {\n return;\n }\n else {\n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n\n if (!selected) {\n if (this.isSingleSelectionMode())\n this.selectionChange.emit(node);\n else\n this.selectionChange.emit([node]);\n }\n\n this.contextMenu.show(event);\n this.onNodeContextMenuSelect.emit({originalEvent: event, node: node});\n }\n }\n }\n\n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.isSingleSelectionMode()) {\n let areNodesEqual = (this.selection.key && this.selection.key === node.key) || this.selection == node;\n index = areNodesEqual ? 0 : - 1;\n }\n else {\n for(let i = 0; i < this.selection.length; i++) {\n let selectedNode = this.selection[i];\n let areNodesEqual = (selectedNode.key && selectedNode.key === node.key) || selectedNode == node;\n if (areNodesEqual) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n\n syncNodeOption(node, parentNodes, option, value?: any) {\n // to synchronize the node option between the filtered nodes and the original nodes(this.value)\n const _node = this.hasFilteredNodes() ? this.getNodeWithKey(node.key, parentNodes) : null;\n if (_node) {\n _node[option] = value||node[option];\n }\n }\n\n hasFilteredNodes() {\n return this.filter && this.filteredNodes && this.filteredNodes.length;\n }\n\n getNodeWithKey(key: string, nodes: TreeNode[]) {\n for (let node of nodes) {\n if (node.key === key) {\n return node;\n }\n\n if (node.children) {\n let matchedNode = this.getNodeWithKey(key, node.children);\n if (matchedNode) {\n return matchedNode;\n }\n }\n }\n }\n\n propagateUp(node: TreeNode, select: boolean) {\n if (node.children && node.children.length) {\n let selectedCount: number = 0;\n let childPartialSelected: boolean = false;\n for(let child of node.children) {\n if (this.isSelected(child)) {\n selectedCount++;\n }\n else if (child.partialSelected) {\n childPartialSelected = true;\n }\n }\n\n if (select && selectedCount == node.children.length) {\n this.selection = [...this.selection||[],node];\n node.partialSelected = false;\n }\n else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n }\n\n if (childPartialSelected || selectedCount > 0 && selectedCount != node.children.length)\n node.partialSelected = true;\n else\n node.partialSelected = false;\n }\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n }\n\n let parent = node.parent;\n if (parent) {\n this.propagateUp(parent, select);\n }\n }\n\n propagateDown(node: TreeNode, select: boolean) {\n let index = this.findIndexInSelection(node);\n\n if (select && index == -1) {\n this.selection = [...this.selection||[],node];\n }\n else if (!select && index > -1) {\n this.selection = this.selection.filter((val,i) => i!=index);\n }\n\n node.partialSelected = false;\n\n this.syncNodeOption(node, this.filteredNodes, 'partialSelected');\n\n if (node.children && node.children.length) {\n for(let child of node.children) {\n this.propagateDown(child, select);\n }\n }\n }\n\n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1;\n }\n\n isSingleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'single';\n }\n\n isMultipleSelectionMode() {\n return this.selectionMode && this.selectionMode == 'multiple';\n }\n\n isCheckboxSelectionMode() {\n return this.selectionMode && this.selectionMode == 'checkbox';\n }\n\n isNodeLeaf(node) {\n return node.leaf == false ? false : !(node.children && node.children.length);\n }\n\n getRootNode() {\n return this.filteredNodes ? this.filteredNodes : this.value;\n }\n\n getTemplateForNode(node: TreeNode): TemplateRef<any> {\n if (this.templateMap)\n return node.type ? this.templateMap[node.type] : this.templateMap['default'];\n else\n return null;\n }\n\n onDragOver(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.dataTransfer.dropEffect = 'move';\n event.preventDefault();\n }\n }\n\n onDrop(event) {\n if (this.droppableNodes && (!this.value || this.value.length === 0)) {\n event.preventDefault();\n let dragNode = this.dragNode;\n if (this.allowDrop(dragNode, null, this.dragNodeScope)) {\n let dragNodeIndex = this.dragNodeIndex;\n this.dragNodeSubNodes.splice(dragNodeIndex, 1);\n this.value = this.value||[];\n this.value.push(dragNode);\n\n this.dragDropService.stopDrag({\n node: dragNode\n });\n }\n }\n }\n\n onDragEnter(event) {\n if (this.droppableNodes && this.allowDrop(this.dragNode, null, this.dragNodeScope)) {\n this.dragHover = true;\n }\n }\n\n onDragLeave(event) {\n if (this.droppableNodes) {\n let rect = event.currentTarget.getBoundingClientRect();\n if (event.x > rect.left + rect.width || event.x < rect.left || event.y > rect.top + rect.height || event.y < rect.top) {\n this.dragHover = false;\n }\n }\n }\n\n allowDrop(dragNode: TreeNode, dropNode: TreeNode, dragNodeScope: any): boolean {\n if (!dragNode) {\n //prevent random html elements to be dragged\n return false;\n }\n else if (this.isValidDragScope(dragNodeScope)) {\n let allow: boolean = true;\n if (dropNode) {\n if (dragNode === dropNode) {\n allow = false;\n }\n else {\n let parent = dropNode.parent;\n while(parent != null) {\n if (parent === dragNode) {\n allow = false;\n break;\n }\n parent = parent.parent;\n }\n }\n }\n\n return allow;\n }\n else {\n return false;\n }\n }\n\n isValidDragScope(dragScope: any): boolean {\n let dropScope = this.droppableScope;\n\n if (dropScope) {\n if (typeof dropScope === 'string') {\n if (typeof dragScope === 'string')\n return dropScope === dragScope;\n else if (dragScope instanceof Array)\n return (<Array<any>>dragScope).indexOf(dropScope) != -1;\n }\n else if (dropScope instanceof Array) {\n if (typeof dragScope === 'string') {\n return (<Array<any>>dropScope).indexOf(dragScope) != -1;\n }\n else if (dragScope instanceof Array) {\n for(let s of dropScope) {\n for(let ds of dragScope) {\n if (s === ds) {\n return true;\n }\n }\n }\n }\n }\n return false;\n }\n else {\n return true;\n }\n }\n\n _filter(event) {\n let filterValue = event.target.value;\n if (filterValue === '') {\n this.filteredNodes = null;\n }\n else {\n this.filteredNodes = [];\n const searchFields: string[] = this.filterBy.split(',');\n const filterText = ObjectUtils.removeAccents(filterValue).toLocaleLowerCase(this.filterLocale);\n const isStrictMode = this.filterMode === 'strict';\n for(let node of this.value) {\n let copyNode = {...node};\n let paramsWithoutNode = {searchFields, filterText, isStrictMode};\n if ((isStrictMode && (this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||\n (!isStrictMode && (this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {\n this.filteredNodes.push(copyNode);\n }\n }\n }\n\n this.updateSerializedValue();\n this.onFilter.emit({\n filter: filterValue,\n filteredValue: this.filteredNodes\n });\n }\n\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {...childNode};\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n\n if (matched) {\n node.expanded = true;\n return true;\n }\n }\n }\n\n isFilterMatched(node, {searchFields, filterText, isStrictMode}) {\n let matched = false;\n for(let field of searchFields) {\n let fieldValue = ObjectUtils.removeAccents(String(ObjectUtils.resolveFieldData(node, field))).toLocaleLowerCase(this.filterLocale);\n if (fieldValue.indexOf(filterText) > -1) {\n matched = true;\n }\n }\n\n if (!matched || (isStrictMode && !this.isNodeLeaf(node))) {\n matched = this.findFilteredNodes(node, {searchFields, filterText, isStrictMode}) || matched;\n }\n\n return matched;\n }\n\n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n\n ngOnDestroy() {\n if (this.dragStartSubscription) {\n this.dragStartSubscription.unsubscribe();\n }\n\n if (this.dragStopSubscription) {\n this.dragStopSubscription.unsubscribe();\n }\n }\n}\n@NgModule({\n imports: [CommonModule,ScrollingModule,RippleModule],\n exports: [Tree,SharedModule,ScrollingModule],\n declarations: [Tree,UITreeNode]\n})\nexport class TreeModule { }\n"]}
|
@@ -28,6 +28,8 @@
|
|
28
28
|
return extendStatics(d, b);
|
29
29
|
};
|
30
30
|
function __extends(d, b) {
|
31
|
+
if (typeof b !== "function" && b !== null)
|
32
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
31
33
|
extendStatics(d, b);
|
32
34
|
function __() { this.constructor = d; }
|
33
35
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
@@ -213,11 +215,13 @@
|
|
213
215
|
}
|
214
216
|
return ar;
|
215
217
|
}
|
218
|
+
/** @deprecated */
|
216
219
|
function __spread() {
|
217
220
|
for (var ar = [], i = 0; i < arguments.length; i++)
|
218
221
|
ar = ar.concat(__read(arguments[i]));
|
219
222
|
return ar;
|
220
223
|
}
|
224
|
+
/** @deprecated */
|
221
225
|
function __spreadArrays() {
|
222
226
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
|
223
227
|
s += arguments[i].length;
|
@@ -226,7 +230,11 @@
|
|
226
230
|
r[k] = a[j];
|
227
231
|
return r;
|
228
232
|
}
|
229
|
-
|
233
|
+
function __spreadArray(to, from) {
|
234
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
235
|
+
to[j] = from[i];
|
236
|
+
return to;
|
237
|
+
}
|
230
238
|
function __await(v) {
|
231
239
|
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
232
240
|
}
|
@@ -339,10 +347,11 @@
|
|
339
347
|
{ type: core.Injectable }
|
340
348
|
];
|
341
349
|
var TreeTable = /** @class */ (function () {
|
342
|
-
function TreeTable(el, zone, tableService) {
|
350
|
+
function TreeTable(el, zone, tableService, filterService) {
|
343
351
|
this.el = el;
|
344
352
|
this.zone = zone;
|
345
353
|
this.tableService = tableService;
|
354
|
+
this.filterService = filterService;
|
346
355
|
this.lazy = false;
|
347
356
|
this.lazyLoadOnInit = true;
|
348
357
|
this.first = 0;
|
@@ -922,7 +931,7 @@
|
|
922
931
|
if (newColumnWidth > 15 && nextColumnWidth > parseInt(nextColumnMinWidth)) {
|
923
932
|
if (this.scrollable) {
|
924
933
|
var scrollableView = this.findParentScrollableView(column);
|
925
|
-
var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table');
|
934
|
+
var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || dom.DomHandler.findSingle(scrollableView, '.p-treetable-virtual-scrollable-body table');
|
926
935
|
var scrollableHeaderTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
|
927
936
|
var scrollableFooterTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
|
928
937
|
var resizeColumnIndex = dom.DomHandler.index(column);
|
@@ -942,10 +951,10 @@
|
|
942
951
|
else if (this.columnResizeMode === 'expand') {
|
943
952
|
if (this.scrollable) {
|
944
953
|
var scrollableView = this.findParentScrollableView(column);
|
945
|
-
var scrollableBody_1 = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body');
|
954
|
+
var scrollableBody_1 = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body') || dom.DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport');
|
946
955
|
var scrollableHeader = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-header');
|
947
956
|
var scrollableFooter = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-footer');
|
948
|
-
var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table');
|
957
|
+
var scrollableBodyTable = dom.DomHandler.findSingle(scrollableView, '.p-treetable-scrollable-body table') || dom.DomHandler.findSingle(scrollableView, 'cdk-virtual-scroll-viewport table');
|
949
958
|
var scrollableHeaderTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');
|
950
959
|
var scrollableFooterTable = dom.DomHandler.findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');
|
951
960
|
scrollableBodyTable.style.width = scrollableBodyTable.offsetWidth + delta + 'px';
|
@@ -1455,7 +1464,7 @@
|
|
1455
1464
|
var filterField = prop;
|
1456
1465
|
var filterValue = filterMeta.value;
|
1457
1466
|
var filterMatchMode = filterMeta.matchMode || 'startsWith';
|
1458
|
-
var filterConstraint =
|
1467
|
+
var filterConstraint = this.filterService.filters[filterMatchMode];
|
1459
1468
|
paramsWithoutNode = { filterField: filterField, filterValue: filterValue, filterConstraint: filterConstraint, isStrictMode: isStrictMode };
|
1460
1469
|
if ((isStrictMode && !(this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode))) ||
|
1461
1470
|
(!isStrictMode && !(this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode)))) {
|
@@ -1471,7 +1480,7 @@
|
|
1471
1480
|
var copyNodeForGlobal = Object.assign({}, copyNode);
|
1472
1481
|
var filterField = globalFilterFieldsArray[j].field || globalFilterFieldsArray[j];
|
1473
1482
|
var filterValue = this.filters['global'].value;
|
1474
|
-
var filterConstraint =
|
1483
|
+
var filterConstraint = this.filterService.filters[this.filters['global'].matchMode];
|
1475
1484
|
paramsWithoutNode = { filterField: filterField, filterValue: filterValue, filterConstraint: filterConstraint, isStrictMode: isStrictMode };
|
1476
1485
|
if ((isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||
|
1477
1486
|
(!isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {
|
@@ -1627,13 +1636,14 @@
|
|
1627
1636
|
template: "\n <div #container [ngStyle]=\"style\" [class]=\"styleClass\" data-scrollselectors=\".p-treetable-scrollable-body\"\n [ngClass]=\"{'p-treetable p-component': true,\n 'p-treetable-hoverable-rows': (rowHover||(selectionMode === 'single' || selectionMode === 'multiple')),\n 'p-treetable-auto-layout': autoLayout,\n 'p-treetable-resizable': resizableColumns,\n 'p-treetable-resizable-fit': (resizableColumns && columnResizeMode === 'fit'),\n 'p-treetable-flex-scrollable': (scrollable && scrollHeight === 'flex')}\">\n <div class=\"p-treetable-loading\" *ngIf=\"loading && showLoader\">\n <div class=\"p-treetable-loading-overlay p-component-overlay\">\n <i [class]=\"'p-treetable-loading-icon pi-spin ' + loadingIcon\"></i>\n </div>\n </div>\n <div *ngIf=\"captionTemplate\" class=\"p-treetable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate\"></ng-container>\n </div>\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-top\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n\n <div class=\"p-treetable-wrapper\" *ngIf=\"!scrollable\">\n <table #table [ngClass]=\"tableStyleClass\" [ngStyle]=\"tableStyle\">\n <ng-container *ngTemplateOutlet=\"colGroupTemplate; context {$implicit: columns}\"></ng-container>\n <thead class=\"p-treetable-thead\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: {$implicit: columns}\"></ng-container>\n </thead>\n <tbody class=\"p-treetable-tbody\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"bodyTemplate\"></tbody>\n <tfoot class=\"p-treetable-tfoot\">\n <ng-container *ngTemplateOutlet=\"footerTemplate; context {$implicit: columns}\"></ng-container>\n </tfoot>\n </table>\n </div>\n\n <div class=\"p-treetable-scrollable-wrapper\" *ngIf=\"scrollable\">\n <div class=\"p-treetable-scrollable-view p-treetable-frozen-view\" *ngIf=\"frozenColumns||frozenBodyTemplate\" #scrollableFrozenView [ttScrollableView]=\"frozenColumns\" [frozen]=\"true\" [ngStyle]=\"{width: frozenWidth}\" [scrollHeight]=\"scrollHeight\"></div>\n <div class=\"p-treetable-scrollable-view\" #scrollableView [ttScrollableView]=\"columns\" [frozen]=\"false\" [scrollHeight]=\"scrollHeight\" [ngStyle]=\"{left: frozenWidth, width: 'calc(100% - '+frozenWidth+')'}\"></div>\n </div>\n\n <p-paginator [rows]=\"rows\" [first]=\"first\" [totalRecords]=\"totalRecords\" [pageLinkSize]=\"pageLinks\" styleClass=\"p-paginator-bottom\" [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\" [rowsPerPageOptions]=\"rowsPerPageOptions\" *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition =='both')\"\n [templateLeft]=\"paginatorLeftTemplate\" [templateRight]=\"paginatorRightTemplate\" [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\" [showFirstLastIcon]=\"showFirstLastIcon\" [dropdownItemTemplate]=\"paginatorDropdownItemTemplate\" [showCurrentPageReport]=\"showCurrentPageReport\" [showJumpToPageDropdown]=\"showJumpToPageDropdown\" [showPageLinks]=\"showPageLinks\"></p-paginator>\n <div *ngIf=\"summaryTemplate\" class=\"p-treetable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate\"></ng-container>\n </div>\n\n <div #resizeHelper class=\"p-column-resizer-helper\" style=\"display:none\" *ngIf=\"resizableColumns\"></div>\n\n <span #reorderIndicatorUp class=\"pi pi-arrow-down p-treetable-reorder-indicator-up\" *ngIf=\"reorderableColumns\"></span>\n <span #reorderIndicatorDown class=\"pi pi-arrow-up p-treetable-reorder-indicator-down\" *ngIf=\"reorderableColumns\"></span>\n </div>\n ",
|
1628
1637
|
providers: [TreeTableService],
|
1629
1638
|
encapsulation: core.ViewEncapsulation.None,
|
1630
|
-
styles: [".p-treetable{position:relative}.p-treetable table{border-collapse:collapse;table-layout:fixed;width:100%}.p-treetable .p-sortable-column{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-badge,.p-treetable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{align-items:center;display:inline-flex;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;overflow:hidden;position:relative;user-select:none}.p-treetable-toggler,p-treetabletoggler+p-treetablecheckbox+span,p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-footer,.p-treetable-scrollable-header{overflow:hidden}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-view,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper{display:flex;flex:1;flex-direction:column;height:100%}.p-treetable-flex-scrollable .p-treetable-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-tbody>tr>td,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-thead>tr>th{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .p-column-resizer{border:1px solid transparent;cursor:col-resize;display:block;height:100%;margin:0;padding:0;position:absolute!important;right:0;top:0;width:.5rem}.p-treetable .p-column-resizer-helper{display:none;position:absolute;width:1px;z-index:10}.p-treetable .p-row-editor-cancel,.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-toggler{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-down,.p-treetable-reorder-indicator-up{display:none;position:absolute}.p-treetable .p-treetable-loading-overlay{align-items:center;display:flex;justify-content:center;position:absolute;z-index:2}"]
|
1639
|
+
styles: [".p-treetable{position:relative}.p-treetable table{border-collapse:collapse;table-layout:fixed;width:100%}.p-treetable .p-sortable-column{-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}.p-treetable .p-sortable-column .p-column-title,.p-treetable .p-sortable-column .p-sortable-column-badge,.p-treetable .p-sortable-column .p-sortable-column-icon{vertical-align:middle}.p-treetable .p-sortable-column .p-sortable-column-badge{align-items:center;display:inline-flex;justify-content:center}.p-treetable-auto-layout>.p-treetable-wrapper{overflow-x:auto}.p-treetable-auto-layout>.p-treetable-wrapper>table{table-layout:auto}.p-treetable-hoverable-rows .p-treetable-tbody>tr{cursor:pointer}.p-treetable-toggler{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;overflow:hidden;position:relative;user-select:none}.p-treetable-toggler,p-treetabletoggler+p-treetablecheckbox+span,p-treetabletoggler+p-treetablecheckbox .p-checkbox{vertical-align:middle}.p-treetable-scrollable-wrapper{position:relative}.p-treetable-scrollable-footer,.p-treetable-scrollable-header{overflow:hidden}.p-treetable-scrollable-body{overflow:auto;position:relative}.p-treetable-scrollable-body>table>.p-treetable-tbody>tr:first-child>td{border-top:0}.p-treetable-virtual-table{position:absolute}.p-treetable-frozen-view .p-treetable-scrollable-body{overflow:hidden}.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child{border-right:0}.p-treetable-unfrozen-view{position:absolute;top:0}.p-treetable-flex-scrollable,.p-treetable-flex-scrollable .p-treetable-scrollable-view,.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper{display:flex;flex:1;flex-direction:column;height:100%}.p-treetable-flex-scrollable .p-treetable-scrollable-body{flex:1}.p-treetable-resizable>.p-treetable-wrapper{overflow-x:auto}.p-treetable-resizable .p-treetable-tbody>tr>td,.p-treetable-resizable .p-treetable-tfoot>tr>td,.p-treetable-resizable .p-treetable-thead>tr>th{overflow:hidden}.p-treetable-resizable .p-resizable-column{background-clip:padding-box;position:relative}.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer{display:none}.p-treetable .p-column-resizer{border:1px solid transparent;cursor:col-resize;display:block;height:100%;margin:0;padding:0;position:absolute!important;right:0;top:0;width:.5rem}.p-treetable .p-column-resizer-helper{display:none;position:absolute;width:1px;z-index:10}.p-treetable .p-row-editor-cancel,.p-treetable .p-row-editor-init,.p-treetable .p-row-editor-save,.p-treetable .p-row-toggler{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.p-treetable-reorder-indicator-down,.p-treetable-reorder-indicator-up{display:none;position:absolute}[ttReorderableColumn]{cursor:move}.p-treetable .p-treetable-loading-overlay{align-items:center;display:flex;justify-content:center;position:absolute;z-index:2}"]
|
1631
1640
|
},] }
|
1632
1641
|
];
|
1633
1642
|
TreeTable.ctorParameters = function () { return [
|
1634
1643
|
{ type: core.ElementRef },
|
1635
1644
|
{ type: core.NgZone },
|
1636
|
-
{ type: TreeTableService }
|
1645
|
+
{ type: TreeTableService },
|
1646
|
+
{ type: api.FilterService }
|
1637
1647
|
]; };
|
1638
1648
|
TreeTable.propDecorators = {
|
1639
1649
|
columns: [{ type: core.Input }],
|