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,"file":"primeng-multiselect.js","sources":["../../../src/app/components/multiselect/multiselect.ts","../../../src/app/components/multiselect/primeng-multiselect.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, OnDestroy, Input, Output, Renderer2, EventEmitter,\n forwardRef, ViewChild, ChangeDetectorRef, TemplateRef, ContentChildren, QueryList, ContentChild, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { SharedModule, PrimeTemplate, Footer, Header } from 'primeng/api';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { FilterUtils } from 'primeng/utils';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { RippleModule } from 'primeng/ripple';\n\nexport const MULTISELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelect),\n multi: true\n};\n\n@Component({\n selector: 'p-multiSelectItem',\n template: `\n <li class=\"p-multiselect-item\" (click)=\"onOptionClick($event)\" (keydown)=\"onOptionKeydown($event)\" [attr.aria-label]=\"label\" \n [attr.tabindex]=\"disabled ? null : '0'\" [ngStyle]=\"{'height': itemSize + 'px'}\"\n [ngClass]=\"{'p-highlight': selected, 'p-disabled': disabled}\" pRipple>\n <div class=\"p-checkbox p-component\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': selected}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check': selected}\"></span>\n </div>\n </div>\n <span *ngIf=\"!template\">{{label}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class MultiSelectItem {\n\n @Input() option: any;\n\n @Input() selected: boolean;\n\n @Input() label: any;\n\n @Input() disabled: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef<any>;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeydown: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n\n onOptionKeydown(event: Event) {\n this.onKeydown.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n@Component({\n selector: 'p-multiSelect',\n template: `\n <div #container [ngClass]=\"{'p-multiselect p-component':true,\n 'p-multiselect-open':overlayVisible,\n 'p-multiselect-chip': display === 'chip',\n 'p-focus':focus,\n 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\"\n (click)=\"onMouseclick($event,in)\">\n <div class=\"p-hidden-accessible\">\n <input #in type=\"text\" readonly=\"readonly\" [attr.id]=\"inputId\" [attr.name]=\"name\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeydown($event)\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\" role=\"listbox\">\n </div>\n <div class=\"p-multiselect-label-container\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <div class=\"p-multiselect-label\" [ngClass]=\"{'p-placeholder': valuesAsString === (defaultLabel || placeholder), 'p-multiselect-label-empty': ((valuesAsString == null || valuesAsString.length === 0) && (placeholder == null || placeholder.length === 0))}\">\n <ng-container *ngIf=\"!selectedItemsTemplate\">\n <ng-container *ngIf=\"display === 'comma'\">{{valuesAsString || 'empty'}}</ng-container>\n <ng-container *ngIf=\"display === 'chip'\">\n <div #token *ngFor=\"let item of value; let i = index;\" class=\"p-multiselect-token\">\n <span class=\"p-multiselect-token-label\">{{findLabelByValue(item)}}</span>\n <span *ngIf=\"!disabled\" class=\"p-multiselect-token-icon pi pi-times-circle\" (click)=\"removeChip(item)\"></span>\n </div>\n <ng-container *ngIf=\"!value || value.length === 0\">{{placeholder || defaultLabel || 'empty'}}</ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: {$implicit: value}\"></ng-container>\n </div>\n </div>\n <div [ngClass]=\"{'p-multiselect-trigger':true}\">\n <span class=\"p-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"['p-multiselect-panel p-component']\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\" (keydown)=\"onKeydown($event)\">\n <div class=\"p-multiselect-header\" *ngIf=\"showHeader\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-checkbox p-component\" *ngIf=\"showToggleAll && !selectionLimit\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div class=\"p-checkbox-box\" role=\"checkbox\" [attr.aria-checked]=\"allChecked\" [ngClass]=\"{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-multiselect-filter-container\" *ngIf=\"filter\">\n <input #filterInput type=\"text\" role=\"textbox\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-multiselect-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-multiselect-filter-icon pi pi-search\"></span>\n </div>\n <button class=\"p-multiselect-close p-link\" type=\"button\" (click)=\"close($event)\" pRipple>\n <span class=\"p-multiselect-close-icon pi pi-times\"></span>\n </button>\n </div>\n <div class=\"p-multiselect-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-multiselect-items p-component\" role=\"listbox\" aria-multiselectable=\"true\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"optionsToRender\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\"></p-multiSelectItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !emptyOptions\">\n <ng-container *cdkVirtualFor=\"let option of optionsToRender; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\" [itemSize]=\"itemSize\"></p-multiSelectItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"emptyOptions\" class=\"p-multiselect-empty-message\">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n <div class=\"p-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focus'\n },\n providers: [MULTISELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./multiselect.css']\n})\nexport class MultiSelect implements OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,ControlValueAccessor {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyle: any;\n\n @Input() panelStyleClass: string;\n\n @Input() inputId: string;\n\n @Input() disabled: boolean;\n\n @Input() readonly: boolean;\n\n @Input() filter: boolean = true;\n\n @Input() filterPlaceHolder: string;\n\n @Input() filterLocale: string;\n\n @Input() overlayVisible: boolean;\n\n @Input() tabindex: number;\n\n @Input() appendTo: any;\n\n @Input() dataKey: string;\n\n @Input() name: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() displaySelectedLabel: boolean = true;\n\n @Input() maxSelectedLabels: number = 3;\n\n @Input() selectionLimit: number;\n\n @Input() selectedItemsLabel: string = '{0} items selected';\n\n @Input() showToggleAll: boolean = true;\n\n @Input() emptyFilterMessage: string = 'No results found';\n\n @Input() resetFilterOnHide: boolean = false;\n\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() showHeader: boolean = true;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() filterBy: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Input() tooltip: string = '';\n\n @Input() tooltipPosition: string = 'right';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Input() autofocusFilter: boolean = true;\n\n @Input() display: string = 'comma';\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('filterInput') filterInputChild: ElementRef;\n\n @ViewChild('in') accessibleViewChild: ElementRef;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onPanelShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onPanelHide: EventEmitter<any> = new EventEmitter();\n\n @Input() scrollHeight: string = '200px';\n\n _defaultLabel: string;\n\n @Input() set defaultLabel(val: string) {\n this._defaultLabel = val;\n this.updateLabel();\n }\n\n get defaultLabel(): string {\n return this._defaultLabel;\n }\n\n _placeholder: string;\n\n @Input() set placeholder(val: string) {\n this._placeholder = val;\n this.updateLabel();\n }\n\n get placeholder(): string {\n return this._placeholder;\n }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.filterOptions();\n }\n\n public value: any[];\n\n public _filteredOptions: any[];\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n overlay: HTMLDivElement;\n\n public valuesAsString: string;\n\n public focus: boolean;\n\n filled: boolean;\n\n public documentClickListener: any;\n\n public _filterValue: string;\n\n public filtered: boolean;\n\n public itemTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public selectedItemsTemplate: TemplateRef<any>;\n\n public headerCheckboxFocus: boolean;\n\n _options: any[];\n\n maxSelectionLimitReached: boolean;\n\n scrollHandler: any;\n\n documentResizeListener: any;\n\n preventModelTouched: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n ngOnInit() {\n this.updateLabel();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'selectedItems':\n this.selectedItemsTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.overlayVisible) {\n this.show();\n }\n }\n\n ngAfterViewChecked() {\n if (this.filtered) {\n this.alignOverlay();\n\n this.filtered = false;\n }\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (option.value !== undefined ? option.value : option);\n }\n\n isOptionDisabled(option: any) {\n let disabled = this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n return (disabled || (this.maxSelectionLimitReached && !this.isSelected(option)));\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.updateLabel();\n this.updateFilledState();\n this.checkSelectionLimit();\n\n this.cd.markForCheck();\n }\n\n checkSelectionLimit() {\n if (this.selectionLimit && (this.value && this.value.length === this.selectionLimit)) {\n this.maxSelectionLimitReached = true;\n }\n else {\n this.maxSelectionLimitReached = false;\n }\n }\n\n updateFilledState() {\n this.filled = (this.value && this.value.length > 0);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionClick(event) {\n let option = event.option;\n if (this.isOptionDisabled(option)) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let selectionIndex = this.findSelectionIndex(optionValue);\n if (selectionIndex != -1) {\n this.value = this.value.filter((val,i) => i != selectionIndex);\n\n if (this.selectionLimit) {\n this.maxSelectionLimitReached = false;\n }\n }\n else {\n if (!this.selectionLimit || (!this.value || this.value.length < this.selectionLimit)) {\n this.value = [...this.value || [], optionValue];\n }\n\n this.checkSelectionLimit();\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({originalEvent: event.originalEvent, value: this.value, itemValue: optionValue});\n this.updateLabel();\n this.updateFilledState();\n }\n\n isSelected(value) {\n return this.findSelectionIndex(value) != -1;\n }\n\n findSelectionIndex(val: any): number {\n let index = -1;\n\n if (this.value) {\n for (let i = 0; i < this.value.length; i++) {\n if (ObjectUtils.equals(this.value[i], val, this.dataKey)) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n \n let allChecked = this.allChecked; \n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value }); \n this.updateFilledState();\n this.updateLabel();\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n show() {\n if (!this.overlayVisible){\n this.overlayVisible = true;\n }\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterInputChild.nativeElement.focus();\n }\n }\n\n this.onPanelShow.emit();\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n hide() {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n if (this.resetFilterOnHide){\n this.filterInputChild.nativeElement.value = '';\n this._filterValue = null;\n this._filteredOptions = null;\n }\n this.onPanelHide.emit();\n this.cd.markForCheck();\n }\n\n close(event) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n\n onMouseclick(event: MouseEvent, input) {\n if (this.disabled || this.readonly || (<Node> event.target).isSameNode(this.accessibleViewChild.nativeElement)) {\n return;\n }\n\n this.onClick.emit(event);\n\n if (!this.isOverlayClick(event) && !DomHandler.hasClass(event.target, 'p-multiselect-token-icon')) {\n if (this.overlayVisible) {\n this.hide();\n }\n else {\n input.focus();\n this.show();\n }\n }\n }\n\n removeChip(chip: any) {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, chip, this.dataKey));\n this.updateFilledState();\n }\n\n isOverlayClick(event: MouseEvent) {\n let targetNode = <Node> event.target;\n return this.overlay ? (this.overlay.isSameNode(targetNode) || this.overlay.contains(targetNode)) : false;\n }\n\n isOutsideClicked(event: MouseEvent): boolean {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || this.isOverlayClick(event));\n }\n\n onInputFocus(event) {\n this.focus = true;\n this.onFocus.emit({originalEvent: event});\n }\n\n onInputBlur(event) {\n this.focus = false;\n this.onBlur.emit({originalEvent: event});\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onOptionKeydown(event) {\n if (this.readonly) {\n return;\n }\n\n switch(event.originalEvent.which) {\n\n //down\n case 40:\n var nextItem = this.findNextItem(event.originalEvent.target.parentElement);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.originalEvent.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(event.originalEvent.target.parentElement);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.originalEvent.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event);\n event.originalEvent.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem.children[0], 'p-disabled') || DomHandler.isHidden(nextItem.children[0]) ? this.findNextItem(nextItem) : nextItem.children[0];\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem.children[0], 'p-disabled') || DomHandler.isHidden(prevItem.children[0]) ? this.findPrevItem(prevItem) : prevItem.children[0];\n else\n return null;\n }\n\n onKeydown(event: KeyboardEvent){\n switch(event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n event.preventDefault();\n }\n break;\n\n //space\n case 32:\n if (!this.overlayVisible){\n this.show();\n event.preventDefault();\n }\n break;\n\n //escape\n case 27:\n this.hide();\n break;\n }\n }\n\n updateLabel() {\n if (this.value && this.options && this.value.length && this.displaySelectedLabel) {\n let label = '';\n for (let i = 0; i < this.value.length; i++) {\n let itemLabel = this.findLabelByValue(this.value[i]);\n if (itemLabel) {\n if (label.length > 0) {\n label = label + ', ';\n }\n label = label + itemLabel;\n }\n }\n\n if (this.value.length <= this.maxSelectedLabels) {\n this.valuesAsString = label;\n }\n else {\n let pattern = /{(.*?)}/;\n if (pattern.test(this.selectedItemsLabel)) {\n this.valuesAsString = this.selectedItemsLabel.replace(this.selectedItemsLabel.match(pattern)[0], this.value.length + '');\n } else {\n this.valuesAsString = this.selectedItemsLabel;\n }\n }\n }\n else {\n this.valuesAsString = this.placeholder || this.defaultLabel;\n }\n }\n\n findLabelByValue(val: any): string {\n let label = null;\n for (let i = 0; i < this.options.length; i++) {\n let option = this.options[i];\n let optionValue = this.getOptionValue(option);\n\n if (val == null && optionValue == null || ObjectUtils.equals(val, optionValue, this.dataKey)) {\n label = this.getOptionLabel(option);\n break;\n }\n }\n return label;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n\n for (let option of optionsToRender) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else \n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n\n return (optionsToRender.length === selectedDisabledItemsLength \n || optionsToRender.length === selectedEnabledItemsLength \n || selectedEnabledItemsLength && optionsToRender.length === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n get emptyOptions(): boolean {\n let optionsToRender = this.optionsToRender;\n return !optionsToRender || optionsToRender.length === 0;\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0; \n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.filterOptions();\n }\n\n filterOptions() {\n if (this.hasFilter() && this._options) {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n this._filteredOptions = FilterUtils.filter(this.options, searchFields, this._filterValue, this.filterMatchMode, this.filterLocale); \n }\n else {\n this._filteredOptions = null;\n }\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (!DomHandler.isAndroid()) {\n this.hide();\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n}\n\n@NgModule({\n imports: [CommonModule,SharedModule,ScrollingModule,TooltipModule,RippleModule],\n exports: [MultiSelect,SharedModule,ScrollingModule],\n declarations: [MultiSelect,MultiSelectItem]\n})\nexport class MultiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-multiselect.js","sources":["../../src/app/components/multiselect/multiselect.ts","../../src/app/components/multiselect/primeng-multiselect.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, OnInit, AfterViewInit, AfterContentInit, AfterViewChecked, OnDestroy, Input, Output, Renderer2, EventEmitter,\n forwardRef, ViewChild, ChangeDetectorRef, TemplateRef, ContentChildren, QueryList, ContentChild, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { ObjectUtils } from 'primeng/utils';\nimport { SharedModule, PrimeTemplate, Footer, Header, FilterService } from 'primeng/api';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { RippleModule } from 'primeng/ripple';\n\nexport const MULTISELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MultiSelect),\n multi: true\n};\n\n@Component({\n selector: 'p-multiSelectItem',\n template: `\n <li class=\"p-multiselect-item\" (click)=\"onOptionClick($event)\" (keydown)=\"onOptionKeydown($event)\" [attr.aria-label]=\"label\" \n [attr.tabindex]=\"disabled ? null : '0'\" [ngStyle]=\"{'height': itemSize + 'px'}\"\n [ngClass]=\"{'p-highlight': selected, 'p-disabled': disabled}\" pRipple>\n <div class=\"p-checkbox p-component\">\n <div class=\"p-checkbox-box\" [ngClass]=\"{'p-highlight': selected}\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check': selected}\"></span>\n </div>\n </div>\n <span *ngIf=\"!template\">{{label}}</span>\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: option}\"></ng-container>\n </li>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class MultiSelectItem {\n\n @Input() option: any;\n\n @Input() selected: boolean;\n\n @Input() label: any;\n\n @Input() disabled: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef<any>;\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onKeydown: EventEmitter<any> = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n\n onOptionKeydown(event: Event) {\n this.onKeydown.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n@Component({\n selector: 'p-multiSelect',\n template: `\n <div #container [ngClass]=\"{'p-multiselect p-component':true,\n 'p-multiselect-open':overlayVisible,\n 'p-multiselect-chip': display === 'chip',\n 'p-focus':focus,\n 'p-disabled': disabled}\" [ngStyle]=\"style\" [class]=\"styleClass\"\n (click)=\"onMouseclick($event,in)\">\n <div class=\"p-hidden-accessible\">\n <input #in type=\"text\" readonly=\"readonly\" [attr.id]=\"inputId\" [attr.name]=\"name\" (focus)=\"onInputFocus($event)\" (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled\" [attr.tabindex]=\"tabindex\" (keydown)=\"onKeydown($event)\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"overlayVisible\"\n [attr.aria-labelledby]=\"ariaLabelledBy\" role=\"listbox\">\n </div>\n <div class=\"p-multiselect-label-container\" [pTooltip]=\"tooltip\" [tooltipPosition]=\"tooltipPosition\" [positionStyle]=\"tooltipPositionStyle\" [tooltipStyleClass]=\"tooltipStyleClass\">\n <div class=\"p-multiselect-label\" [ngClass]=\"{'p-placeholder': valuesAsString === (defaultLabel || placeholder), 'p-multiselect-label-empty': ((valuesAsString == null || valuesAsString.length === 0) && (placeholder == null || placeholder.length === 0))}\">\n <ng-container *ngIf=\"!selectedItemsTemplate\">\n <ng-container *ngIf=\"display === 'comma'\">{{valuesAsString || 'empty'}}</ng-container>\n <ng-container *ngIf=\"display === 'chip'\">\n <div #token *ngFor=\"let item of value; let i = index;\" class=\"p-multiselect-token\">\n <span class=\"p-multiselect-token-label\">{{findLabelByValue(item)}}</span>\n <span *ngIf=\"!disabled\" class=\"p-multiselect-token-icon pi pi-times-circle\" (click)=\"removeChip(item, $event)\"></span>\n </div>\n <ng-container *ngIf=\"!value || value.length === 0\">{{placeholder || defaultLabel || 'empty'}}</ng-container>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"selectedItemsTemplate; context: {$implicit: value}\"></ng-container>\n </div>\n </div>\n <div [ngClass]=\"{'p-multiselect-trigger':true}\">\n <span class=\"p-multiselect-trigger-icon\" [ngClass]=\"dropdownIcon\"></span>\n </div>\n <div *ngIf=\"overlayVisible\" [ngClass]=\"['p-multiselect-panel p-component']\" [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\" (keydown)=\"onKeydown($event)\">\n <div class=\"p-multiselect-header\" *ngIf=\"showHeader\">\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-checkbox p-component\" *ngIf=\"showToggleAll && !selectionLimit\" [ngClass]=\"{'p-checkbox-disabled': disabled || toggleAllDisabled}\">\n <div class=\"p-hidden-accessible\">\n <input type=\"checkbox\" readonly=\"readonly\" [checked]=\"allChecked\" (focus)=\"onHeaderCheckboxFocus()\" (blur)=\"onHeaderCheckboxBlur()\" (keydown.space)=\"toggleAll($event)\" [attr.disabled]=\"disabled || toggleAllDisabled\">\n </div>\n <div class=\"p-checkbox-box\" role=\"checkbox\" [attr.aria-checked]=\"allChecked\" [ngClass]=\"{'p-highlight':allChecked, 'p-focus': headerCheckboxFocus, 'p-disabled': disabled || toggleAllDisabled}\" (click)=\"toggleAll($event)\">\n <span class=\"p-checkbox-icon\" [ngClass]=\"{'pi pi-check':allChecked}\"></span>\n </div>\n </div>\n <div class=\"p-multiselect-filter-container\" *ngIf=\"filter\">\n <input #filterInput type=\"text\" role=\"textbox\" [value]=\"filterValue||''\" (input)=\"onFilter($event)\" class=\"p-multiselect-filter p-inputtext p-component\" [disabled]=\"disabled\" [attr.placeholder]=\"filterPlaceHolder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-multiselect-filter-icon pi pi-search\"></span>\n </div>\n <button class=\"p-multiselect-close p-link\" type=\"button\" (click)=\"close($event)\" pRipple>\n <span class=\"p-multiselect-close-icon pi pi-times\"></span>\n </button>\n </div>\n <div class=\"p-multiselect-items-wrapper\" [style.max-height]=\"virtualScroll ? 'auto' : (scrollHeight||'auto')\">\n <ul class=\"p-multiselect-items p-component\" role=\"listbox\" aria-multiselectable=\"true\">\n <ng-container *ngIf=\"!virtualScroll; else virtualScrollList\">\n <ng-template ngFor let-option let-i=\"index\" [ngForOf]=\"optionsToRender\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\"></p-multiSelectItem>\n </ng-template>\n </ng-container>\n <ng-template #virtualScrollList>\n <cdk-virtual-scroll-viewport #viewport [ngStyle]=\"{'height': scrollHeight}\" [itemSize]=\"itemSize\" *ngIf=\"virtualScroll && !emptyOptions\">\n <ng-container *cdkVirtualFor=\"let option of optionsToRender; let i = index; let c = count; let f = first; let l = last; let e = even; let o = odd\">\n <p-multiSelectItem [option]=\"option\" [selected]=\"isSelected(option)\" [label]=\"getOptionLabel(option)\" [disabled]=\"isOptionDisabled(option)\" (onClick)=\"onOptionClick($event)\" (onKeydown)=\"onOptionKeydown($event)\"\n [template]=\"itemTemplate\" [itemSize]=\"itemSize\"></p-multiSelectItem>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </ng-template>\n <li *ngIf=\"emptyOptions\" class=\"p-multiselect-empty-message\">{{emptyFilterMessage}}</li>\n </ul>\n </div>\n <div class=\"p-multiselect-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focus'\n },\n providers: [MULTISELECT_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./multiselect.css']\n})\nexport class MultiSelect implements OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,ControlValueAccessor {\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyle: any;\n\n @Input() panelStyleClass: string;\n\n @Input() inputId: string;\n\n @Input() disabled: boolean;\n\n @Input() readonly: boolean;\n\n @Input() filter: boolean = true;\n\n @Input() filterPlaceHolder: string;\n\n @Input() filterLocale: string;\n\n @Input() overlayVisible: boolean;\n\n @Input() tabindex: number;\n\n @Input() appendTo: any;\n\n @Input() dataKey: string;\n\n @Input() name: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() displaySelectedLabel: boolean = true;\n\n @Input() maxSelectedLabels: number = 3;\n\n @Input() selectionLimit: number;\n\n @Input() selectedItemsLabel: string = '{0} items selected';\n\n @Input() showToggleAll: boolean = true;\n\n @Input() emptyFilterMessage: string = 'No results found';\n\n @Input() resetFilterOnHide: boolean = false;\n\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() showHeader: boolean = true;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() filterBy: string;\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Input() tooltip: string = '';\n\n @Input() tooltipPosition: string = 'right';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Input() autofocusFilter: boolean = true;\n\n @Input() display: string = 'comma';\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('filterInput') filterInputChild: ElementRef;\n\n @ViewChild('in') accessibleViewChild: ElementRef;\n\n @ContentChild(Footer) footerFacet;\n\n @ContentChild(Header) headerFacet;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output() onBlur: EventEmitter<any> = new EventEmitter();\n\n @Output() onClick: EventEmitter<any> = new EventEmitter();\n\n @Output() onPanelShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onPanelHide: EventEmitter<any> = new EventEmitter();\n\n @Input() scrollHeight: string = '200px';\n\n _defaultLabel: string;\n\n @Input() set defaultLabel(val: string) {\n this._defaultLabel = val;\n this.updateLabel();\n }\n\n get defaultLabel(): string {\n return this._defaultLabel;\n }\n\n _placeholder: string;\n\n @Input() set placeholder(val: string) {\n this._placeholder = val;\n this.updateLabel();\n }\n\n get placeholder(): string {\n return this._placeholder;\n }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.filterOptions();\n }\n\n public value: any[];\n\n public _filteredOptions: any[];\n\n public onModelChange: Function = () => {};\n\n public onModelTouched: Function = () => {};\n\n overlay: HTMLDivElement;\n\n public valuesAsString: string;\n\n public focus: boolean;\n\n filled: boolean;\n\n public documentClickListener: any;\n\n public _filterValue: string;\n\n public filtered: boolean;\n\n public itemTemplate: TemplateRef<any>;\n\n public headerTemplate: TemplateRef<any>;\n\n public footerTemplate: TemplateRef<any>;\n\n public selectedItemsTemplate: TemplateRef<any>;\n\n public headerCheckboxFocus: boolean;\n\n _options: any[];\n\n maxSelectionLimitReached: boolean;\n\n scrollHandler: any;\n\n documentResizeListener: any;\n\n preventModelTouched: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public filterService: FilterService) {}\n\n ngOnInit() {\n this.updateLabel();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'selectedItems':\n this.selectedItemsTemplate = item.template;\n break;\n\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.overlayVisible) {\n this.show();\n }\n }\n\n ngAfterViewChecked() {\n if (this.filtered) {\n this.alignOverlay();\n\n this.filtered = false;\n }\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);\n }\n\n isOptionDisabled(option: any) {\n let disabled = this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n return (disabled || (this.maxSelectionLimitReached && !this.isSelected(option)));\n }\n\n writeValue(value: any) : void {\n this.value = value;\n this.updateLabel();\n this.updateFilledState();\n this.checkSelectionLimit();\n\n this.cd.markForCheck();\n }\n\n checkSelectionLimit() {\n if (this.selectionLimit && (this.value && this.value.length === this.selectionLimit)) {\n this.maxSelectionLimitReached = true;\n }\n else {\n this.maxSelectionLimitReached = false;\n }\n }\n\n updateFilledState() {\n this.filled = (this.value && this.value.length > 0);\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOptionClick(event) {\n let option = event.option;\n if (this.isOptionDisabled(option)) {\n return;\n }\n\n let optionValue = this.getOptionValue(option);\n let selectionIndex = this.findSelectionIndex(optionValue);\n if (selectionIndex != -1) {\n this.value = this.value.filter((val,i) => i != selectionIndex);\n\n if (this.selectionLimit) {\n this.maxSelectionLimitReached = false;\n }\n }\n else {\n if (!this.selectionLimit || (!this.value || this.value.length < this.selectionLimit)) {\n this.value = [...this.value || [], optionValue];\n }\n\n this.checkSelectionLimit();\n }\n\n this.onModelChange(this.value);\n this.onChange.emit({originalEvent: event.originalEvent, value: this.value, itemValue: optionValue});\n this.updateLabel();\n this.updateFilledState();\n }\n\n isSelected(option) {\n return this.findSelectionIndex(this.getOptionValue(option)) != -1;\n }\n\n findSelectionIndex(val: any): number {\n let index = -1;\n\n if (this.value) {\n for (let i = 0; i < this.value.length; i++) {\n if (ObjectUtils.equals(this.value[i], val, this.dataKey)) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n get toggleAllDisabled(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return true;\n }\n else {\n for (let option of optionsToRender) {\n if (!this.isOptionDisabled(option))\n return false;\n }\n\n return true;\n }\n }\n\n toggleAll(event) {\n if (this.disabled || this.toggleAllDisabled || this.readonly) {\n return;\n }\n \n let allChecked = this.allChecked; \n\n if (allChecked)\n this.uncheckAll();\n else\n this.checkAll();\n\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value }); \n this.updateFilledState();\n this.updateLabel();\n event.preventDefault();\n }\n\n checkAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (!optionDisabled || (optionDisabled && this.isSelected(opt))) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n uncheckAll() {\n let optionsToRender = this.optionsToRender;\n let val: any[] = [];\n\n optionsToRender.forEach(opt => {\n let optionDisabled = this.isOptionDisabled(opt); \n if (optionDisabled && this.isSelected(opt)) {\n val.push(this.getOptionValue(opt));\n }\n });\n\n this.value = val;\n }\n\n show() {\n if (!this.overlayVisible){\n this.overlayVisible = true;\n }\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.filterInputChild && this.filterInputChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterInputChild.nativeElement.focus();\n }\n }\n\n this.onPanelShow.emit();\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n hide() {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n if (this.resetFilterOnHide){\n this.filterInputChild.nativeElement.value = '';\n this._filterValue = null;\n this._filteredOptions = null;\n }\n this.onPanelHide.emit();\n this.cd.markForCheck();\n }\n\n close(event) {\n this.hide();\n event.preventDefault();\n event.stopPropagation();\n }\n\n onMouseclick(event: MouseEvent, input) {\n if (this.disabled || this.readonly || (<Node> event.target).isSameNode(this.accessibleViewChild.nativeElement)) {\n return;\n }\n\n this.onClick.emit(event);\n\n if (!this.isOverlayClick(event) && !DomHandler.hasClass(event.target, 'p-multiselect-token-icon')) {\n if (this.overlayVisible) {\n this.hide();\n }\n else {\n input.focus();\n this.show();\n }\n }\n }\n\n removeChip(chip: any, event: MouseEvent) {\n this.value = this.value.filter(val => !ObjectUtils.equals(val, chip, this.dataKey));\n this.onModelChange(this.value);\n this.onChange.emit({ originalEvent: event, value: this.value });\n this.updateLabel();\n this.updateFilledState();\n }\n\n isOverlayClick(event: MouseEvent) {\n let targetNode = <Node> event.target;\n return this.overlay ? (this.overlay.isSameNode(targetNode) || this.overlay.contains(targetNode)) : false;\n }\n\n isOutsideClicked(event: MouseEvent): boolean {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || this.isOverlayClick(event));\n }\n\n onInputFocus(event) {\n this.focus = true;\n this.onFocus.emit({originalEvent: event});\n }\n\n onInputBlur(event) {\n this.focus = false;\n this.onBlur.emit({originalEvent: event});\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n onOptionKeydown(event) {\n if (this.readonly) {\n return;\n }\n\n switch(event.originalEvent.which) {\n\n //down\n case 40:\n var nextItem = this.findNextItem(event.originalEvent.target.parentElement);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.originalEvent.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(event.originalEvent.target.parentElement);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.originalEvent.preventDefault();\n break;\n\n //enter\n case 13:\n this.onOptionClick(event);\n event.originalEvent.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem.children[0], 'p-disabled') || DomHandler.isHidden(nextItem.children[0]) ? this.findNextItem(nextItem) : nextItem.children[0];\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return DomHandler.hasClass(prevItem.children[0], 'p-disabled') || DomHandler.isHidden(prevItem.children[0]) ? this.findPrevItem(prevItem) : prevItem.children[0];\n else\n return null;\n }\n\n onKeydown(event: KeyboardEvent){\n switch(event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n event.preventDefault();\n }\n break;\n\n //space\n case 32:\n if (!this.overlayVisible){\n this.show();\n event.preventDefault();\n }\n break;\n\n //escape\n case 27:\n this.hide();\n break;\n }\n }\n\n updateLabel() {\n if (this.value && this.options && this.value.length && this.displaySelectedLabel) {\n let label = '';\n for (let i = 0; i < this.value.length; i++) {\n let itemLabel = this.findLabelByValue(this.value[i]);\n if (itemLabel) {\n if (label.length > 0) {\n label = label + ', ';\n }\n label = label + itemLabel;\n }\n }\n\n if (this.value.length <= this.maxSelectedLabels) {\n this.valuesAsString = label;\n }\n else {\n let pattern = /{(.*?)}/;\n if (pattern.test(this.selectedItemsLabel)) {\n this.valuesAsString = this.selectedItemsLabel.replace(this.selectedItemsLabel.match(pattern)[0], this.value.length + '');\n } else {\n this.valuesAsString = this.selectedItemsLabel;\n }\n }\n }\n else {\n this.valuesAsString = this.placeholder || this.defaultLabel;\n }\n }\n\n findLabelByValue(val: any): string {\n let label = null;\n for (let i = 0; i < this.options.length; i++) {\n let option = this.options[i];\n let optionValue = this.getOptionValue(option);\n\n if (val == null && optionValue == null || ObjectUtils.equals(val, optionValue, this.dataKey)) {\n label = this.getOptionLabel(option);\n break;\n }\n }\n return label;\n }\n\n get allChecked(): boolean {\n let optionsToRender = this.optionsToRender;\n if (!optionsToRender || optionsToRender.length === 0) {\n return false;\n }\n else {\n let selectedDisabledItemsLength = 0;\n let unselectedDisabledItemsLength = 0;\n let selectedEnabledItemsLength = 0;\n\n for (let option of optionsToRender) {\n let disabled = this.isOptionDisabled(option);\n let selected = this.isSelected(option);\n\n if (disabled) {\n if (selected)\n selectedDisabledItemsLength++;\n else \n unselectedDisabledItemsLength++;\n }\n else {\n if (selected)\n selectedEnabledItemsLength++;\n else\n return false;\n }\n }\n\n return (optionsToRender.length === selectedDisabledItemsLength \n || optionsToRender.length === selectedEnabledItemsLength \n || selectedEnabledItemsLength && optionsToRender.length === (selectedEnabledItemsLength + unselectedDisabledItemsLength + selectedDisabledItemsLength));\n }\n }\n\n get optionsToRender(): any[] {\n return this._filteredOptions || this.options;\n }\n\n get emptyOptions(): boolean {\n let optionsToRender = this.optionsToRender;\n return !optionsToRender || optionsToRender.length === 0;\n }\n\n hasFilter() {\n return this._filterValue && this._filterValue.trim().length > 0; \n }\n\n onFilter(event: KeyboardEvent) {\n this._filterValue = (<HTMLInputElement> event.target).value;\n this.filterOptions();\n }\n\n filterOptions() {\n if (this.hasFilter() && this._options) {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n this._filteredOptions = this.filterService.filter(this.options, searchFields, this._filterValue, this.filterMatchMode, this.filterLocale); \n }\n else {\n this._filteredOptions = null;\n }\n }\n\n onHeaderCheckboxFocus() {\n this.headerCheckboxFocus = true;\n }\n\n onHeaderCheckboxBlur() {\n this.headerCheckboxFocus = false;\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide();\n }\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (!DomHandler.isAndroid()) {\n this.hide();\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n}\n\n@NgModule({\n imports: [CommonModule,SharedModule,ScrollingModule,TooltipModule,RippleModule],\n exports: [MultiSelect,SharedModule,ScrollingModule],\n declarations: [MultiSelect,MultiSelectItem]\n})\nexport class MultiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import { EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input, Output, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
3
|
import { ButtonModule } from 'primeng/button';
|
4
|
-
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
4
|
+
import { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';
|
5
5
|
import { DomHandler } from 'primeng/dom';
|
6
|
-
import { ObjectUtils
|
6
|
+
import { ObjectUtils } from 'primeng/utils';
|
7
7
|
import { RippleModule } from 'primeng/ripple';
|
8
8
|
|
9
9
|
class OrderList {
|
10
|
-
constructor(el, cd) {
|
10
|
+
constructor(el, cd, filterService) {
|
11
11
|
this.el = el;
|
12
12
|
this.cd = cd;
|
13
|
+
this.filterService = filterService;
|
13
14
|
this.metaKeySelection = true;
|
14
15
|
this.controlsPosition = 'left';
|
15
16
|
this.filterMatchMode = "contains";
|
@@ -100,7 +101,7 @@ class OrderList {
|
|
100
101
|
}
|
101
102
|
filter() {
|
102
103
|
let searchFields = this.filterBy.split(',');
|
103
|
-
this.visibleOptions =
|
104
|
+
this.visibleOptions = this.filterService.filter(this.value, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
|
104
105
|
}
|
105
106
|
isItemVisible(item) {
|
106
107
|
if (this.filterValue && this.filterValue.trim().length) {
|
@@ -310,12 +311,13 @@ OrderList.decorators = [
|
|
310
311
|
`,
|
311
312
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
312
313
|
encapsulation: ViewEncapsulation.None,
|
313
|
-
styles: [".p-orderlist{display:flex}.p-orderlist-controls{display:flex;flex-direction:column;justify-content:center}.p-orderlist-list-container{flex:1 1 auto}.p-orderlist-list{list-style-type:none;margin:0;max-height:24rem;min-height:12rem;overflow:auto;padding:0}.p-orderlist-item{cursor:pointer;overflow:hidden;position:relative}.p-orderlist.p-state-disabled .p-button,.p-orderlist.p-state-disabled .p-orderlist-item{cursor:default}.p-orderlist.p-state-disabled .p-orderlist-list{overflow:hidden}.p-orderlist-filter{position:relative}.p-orderlist-filter-icon{margin-top:-.5rem;position:absolute;top:50%}.p-orderlist-filter-input{width:100%}.p-orderlist-controls-right .p-orderlist-controls{order:2}.p-orderlist-controls-right .p-orderlist-list-container{order:1}.p-orderlist-droppoint{height:6px}"]
|
314
|
+
styles: [".p-orderlist{display:flex}.p-orderlist-controls{display:flex;flex-direction:column;justify-content:center}.p-orderlist-list-container{flex:1 1 auto}.p-orderlist-list{list-style-type:none;margin:0;max-height:24rem;min-height:12rem;overflow:auto;padding:0}.p-orderlist-item{cursor:pointer;overflow:hidden;position:relative}.p-orderlist-item[draggable=true]{cursor:move}.p-orderlist.p-state-disabled .p-button,.p-orderlist.p-state-disabled .p-orderlist-item{cursor:default}.p-orderlist.p-state-disabled .p-orderlist-list{overflow:hidden}.p-orderlist-filter{position:relative}.p-orderlist-filter-icon{margin-top:-.5rem;position:absolute;top:50%}.p-orderlist-filter-input{width:100%}.p-orderlist-controls-right .p-orderlist-controls{order:2}.p-orderlist-controls-right .p-orderlist-list-container{order:1}.p-orderlist-droppoint{height:6px}"]
|
314
315
|
},] }
|
315
316
|
];
|
316
317
|
OrderList.ctorParameters = () => [
|
317
318
|
{ type: ElementRef },
|
318
|
-
{ type: ChangeDetectorRef }
|
319
|
+
{ type: ChangeDetectorRef },
|
320
|
+
{ type: FilterService }
|
319
321
|
];
|
320
322
|
OrderList.propDecorators = {
|
321
323
|
header: [{ type: Input }],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-orderlist.js","sources":["../../../src/app/components/orderlist/orderlist.ts","../../../src/app/components/orderlist/primeng-orderlist.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,AfterViewChecked,AfterContentInit,Input,Output,ContentChildren,QueryList,TemplateRef,EventEmitter,ViewChild,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule} from 'primeng/button';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\nimport {ObjectUtils} from 'primeng/utils';\nimport {FilterUtils} from 'primeng/utils';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-orderList',\n template: `\n <div [ngClass]=\"{'p-orderlist p-component': true, 'p-orderlist-controls-left': controlsPosition === 'left',\n 'p-orderlist-controls-right': controlsPosition === 'right'}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-orderlist-controls\">\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-up\" (click)=\"moveUp($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-double-up\" (click)=\"moveTop($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-down\" (click)=\"moveDown($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-double-down\" (click)=\"moveBottom($event)\"></button>\n </div>\n <div class=\"p-orderlist-list-container\">\n <div class=\"p-orderlist-header\" *ngIf=\"header\">\n <div class=\"p-orderlist-title\">{{header}}</div>\n </div>\n <div class=\"p-orderlist-filter-container\" *ngIf=\"filterBy\">\n <div class=\"p-orderlist-filter\">\n <input type=\"text\" role=\"textbox\" (keyup)=\"onFilterKeyup($event)\" class=\"p-orderlist-filter-input p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-orderlist-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <ul #listelement class=\"p-orderlist-list\" [ngStyle]=\"listStyle\" (dragover)=\"onListMouseMove($event)\">\n <ng-template ngFor [ngForTrackBy]=\"trackBy\" let-item [ngForOf]=\"value\" let-i=\"index\" let-l=\"last\">\n <li class=\"p-orderlist-droppoint\" *ngIf=\"dragdrop && isItemVisible(item)\" (dragover)=\"onDragOver($event, i)\" (drop)=\"onDrop($event, i)\" (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{'p-orderlist-droppoint-highlight': (i === dragOverItemIndex)}\"></li>\n <li class=\"p-orderlist-item\" tabindex=\"0\" [ngClass]=\"{'p-highlight':isSelected(item)}\" pRipple\n (click)=\"onItemClick($event,item,i)\" (touchend)=\"onItemTouchEnd($event)\" (keydown)=\"onItemKeydown($event,item,i)\"\n [style.display]=\"isItemVisible(item) ? 'block' : 'none'\" role=\"option\" [attr.aria-selected]=\"isSelected(item)\"\n [attr.draggable]=\"dragdrop\" (dragstart)=\"onDragStart($event, i)\" (dragend)=\"onDragEnd($event)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </li>\n <li class=\"p-orderlist-droppoint\" *ngIf=\"dragdrop && l\" (dragover)=\"onDragOver($event, i + 1)\" (drop)=\"onDrop($event, i + 1)\" (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{'p-orderlist-droppoint-highlight': (i + 1 === dragOverItemIndex)}\"></li>\n </ng-template>\n </ul>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./orderlist.css']\n})\nexport class OrderList implements AfterViewChecked,AfterContentInit {\n\n @Input() header: string;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() responsive: boolean;\n\n @Input() filterBy: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dragdrop: boolean;\n\n @Input() controlsPosition: string = 'left';\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFilterEvent: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('listelement') listViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public itemTemplate: TemplateRef<any>;\n\n _selection: any[];\n\n movedUp: boolean;\n\n movedDown: boolean;\n\n itemTouched: boolean;\n\n draggedItemIndex: number;\n\n dragOverItemIndex: number;\n\n dragging: boolean;\n\n public filterValue: string;\n\n public visibleOptions: any[];\n\n public _value: any[];\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n\n get selection(): any[] {\n return this._selection;\n }\n\n @Input() set selection(val:any[]) {\n this._selection = val;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n if (this.movedUp||this.movedDown) {\n let listItems = DomHandler.find(this.listViewChild.nativeElement, 'li.p-highlight');\n let listItem;\n\n if (listItems.length > 0) {\n if (this.movedUp)\n listItem = listItems[0];\n else\n listItem = listItems[listItems.length - 1];\n\n DomHandler.scrollInView(this.listViewChild.nativeElement, listItem);\n }\n this.movedUp = false;\n this.movedDown = false;\n }\n }\n\n get value(): any[] {\n return this._value;\n }\n\n @Input() set value(val:any[]) {\n this._value = val;\n if (this.filterValue) {\n this.filter();\n }\n }\n\n onItemClick(event, item, index) {\n this.itemTouched = false;\n let selectedIndex = ObjectUtils.findIndexInList(item, this.selection);\n let selected = (selectedIndex != -1);\n let metaSelection = this.itemTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey||event.shiftKey);\n\n if (selected && metaKey) {\n this._selection = this._selection.filter((val, index) => index !== selectedIndex);\n }\n else {\n this._selection = (metaKey) ? this._selection ? [...this._selection] : [] : [];\n ObjectUtils.insertIntoOrderedArray(item, index, this._selection, this.value);\n }\n }\n else {\n if (selected) {\n this._selection = this._selection.filter((val, index) => index !== selectedIndex);\n }\n else {\n this._selection = this._selection ? [...this._selection] : [];\n ObjectUtils.insertIntoOrderedArray(item, index, this._selection, this.value);\n }\n }\n\n //binding\n this.selectionChange.emit(this._selection);\n\n //event\n this.onSelectionChange.emit({originalEvent:event, value: this._selection});\n }\n\n onFilterKeyup(event) {\n this.filterValue = event.target.value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter();\n\n this.onFilterEvent.emit({\n originalEvent: event,\n value: this.visibleOptions\n });\n }\n\n filter() {\n let searchFields: string[] = this.filterBy.split(',');\n this.visibleOptions = FilterUtils.filter(this.value, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n isItemVisible(item: any): boolean {\n if (this.filterValue && this.filterValue.trim().length) {\n for (let i = 0; i < this.visibleOptions.length; i++) {\n if (item == this.visibleOptions[i]) {\n return true;\n }\n }\n }\n else {\n return true;\n }\n }\n\n onItemTouchEnd(event) {\n this.itemTouched = true;\n }\n\n isSelected(item: any) {\n return ObjectUtils.findIndexInList(item, this.selection) != -1;\n }\n\n moveUp(event) {\n if (this.selection) {\n for (let i = 0; i < this.selection.length; i++) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != 0) {\n let movedItem = this.value[selectedItemIndex];\n let temp = this.value[selectedItemIndex-1];\n this.value[selectedItemIndex-1] = movedItem;\n this.value[selectedItemIndex] = temp;\n }\n else {\n break;\n }\n }\n\n this.movedUp = true;\n this.onReorder.emit(event);\n }\n }\n\n moveTop(event) {\n if (this.selection) {\n for (let i = this.selection.length - 1; i >= 0; i--) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != 0) {\n let movedItem = this.value.splice(selectedItemIndex,1)[0];\n this.value.unshift(movedItem);\n }\n else {\n break;\n }\n }\n\n this.onReorder.emit(event);\n this.listViewChild.nativeElement.scrollTop = 0;\n }\n }\n\n moveDown(event) {\n if (this.selection) {\n for (let i = this.selection.length - 1; i >= 0; i--) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != (this.value.length - 1)) {\n let movedItem = this.value[selectedItemIndex];\n let temp = this.value[selectedItemIndex+1];\n this.value[selectedItemIndex+1] = movedItem;\n this.value[selectedItemIndex] = temp;\n }\n else {\n break;\n }\n }\n\n this.movedDown = true;\n this.onReorder.emit(event);\n }\n }\n\n moveBottom(event) {\n if (this.selection) {\n for (let i = 0; i < this.selection.length; i++) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != (this.value.length - 1)) {\n let movedItem = this.value.splice(selectedItemIndex,1)[0];\n this.value.push(movedItem);\n }\n else {\n break;\n }\n }\n\n this.onReorder.emit(event);\n this.listViewChild.nativeElement.scrollTop = this.listViewChild.nativeElement.scrollHeight;\n }\n }\n\n onDragStart(event: DragEvent, index: number) {\n event.dataTransfer.setData('text', 'b'); // For firefox\n (<HTMLLIElement> event.target).blur();\n this.dragging = true;\n this.draggedItemIndex = index;\n }\n\n onDragOver(event: DragEvent, index: number) {\n if (this.dragging && this.draggedItemIndex !== index && this.draggedItemIndex + 1 !== index) {\n this.dragOverItemIndex = index;\n event.preventDefault();\n }\n }\n\n onDragLeave(event: DragEvent) {\n this.dragOverItemIndex = null;\n }\n\n onDrop(event: DragEvent, index: number) {\n let dropIndex = (this.draggedItemIndex > index) ? index : (index === 0) ? 0 : index - 1;\n ObjectUtils.reorderArray(this.value, this.draggedItemIndex, dropIndex);\n this.dragOverItemIndex = null;\n this.onReorder.emit(event);\n event.preventDefault();\n }\n\n onDragEnd(event: DragEvent) {\n this.dragging = false;\n }\n\n onListMouseMove(event: MouseEvent) {\n if (this.dragging) {\n let offsetY = this.listViewChild.nativeElement.getBoundingClientRect().top + document.body.scrollTop;\n let bottomDiff = (offsetY + this.listViewChild.nativeElement.clientHeight) - event.pageY;\n let topDiff = (event.pageY - offsetY);\n if (bottomDiff < 25 && bottomDiff > 0)\n this.listViewChild.nativeElement.scrollTop += 15;\n else if (topDiff < 25 && topDiff > 0)\n this.listViewChild.nativeElement.scrollTop -= 15;\n }\n }\n\n onItemKeydown(event: KeyboardEvent, item, index: Number) {\n let listItem = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onItemClick(event, item, index);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return !DomHandler.hasClass(nextItem, 'p-orderlist-item') || DomHandler.isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return !DomHandler.hasClass(prevItem, 'p-orderlist-item') || DomHandler.isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n}\n\n@NgModule({\n imports: [CommonModule,ButtonModule,SharedModule,RippleModule],\n exports: [OrderList,SharedModule],\n declarations: [OrderList]\n})\nexport class OrderListModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-orderlist.js","sources":["../../src/app/components/orderlist/orderlist.ts","../../src/app/components/orderlist/primeng-orderlist.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,AfterViewChecked,AfterContentInit,Input,Output,ContentChildren,QueryList,TemplateRef,EventEmitter,ViewChild,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule} from 'primeng/button';\nimport {SharedModule,PrimeTemplate,FilterService} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\nimport {ObjectUtils} from 'primeng/utils';\nimport {RippleModule} from 'primeng/ripple';\n\n@Component({\n selector: 'p-orderList',\n template: `\n <div [ngClass]=\"{'p-orderlist p-component': true, 'p-orderlist-controls-left': controlsPosition === 'left',\n 'p-orderlist-controls-right': controlsPosition === 'right'}\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <div class=\"p-orderlist-controls\">\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-up\" (click)=\"moveUp($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-double-up\" (click)=\"moveTop($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-down\" (click)=\"moveDown($event)\"></button>\n <button type=\"button\" pButton pRipple icon=\"pi pi-angle-double-down\" (click)=\"moveBottom($event)\"></button>\n </div>\n <div class=\"p-orderlist-list-container\">\n <div class=\"p-orderlist-header\" *ngIf=\"header\">\n <div class=\"p-orderlist-title\">{{header}}</div>\n </div>\n <div class=\"p-orderlist-filter-container\" *ngIf=\"filterBy\">\n <div class=\"p-orderlist-filter\">\n <input type=\"text\" role=\"textbox\" (keyup)=\"onFilterKeyup($event)\" class=\"p-orderlist-filter-input p-inputtext p-component\" [attr.placeholder]=\"filterPlaceholder\" [attr.aria-label]=\"ariaFilterLabel\">\n <span class=\"p-orderlist-filter-icon pi pi-search\"></span>\n </div>\n </div>\n <ul #listelement class=\"p-orderlist-list\" [ngStyle]=\"listStyle\" (dragover)=\"onListMouseMove($event)\">\n <ng-template ngFor [ngForTrackBy]=\"trackBy\" let-item [ngForOf]=\"value\" let-i=\"index\" let-l=\"last\">\n <li class=\"p-orderlist-droppoint\" *ngIf=\"dragdrop && isItemVisible(item)\" (dragover)=\"onDragOver($event, i)\" (drop)=\"onDrop($event, i)\" (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{'p-orderlist-droppoint-highlight': (i === dragOverItemIndex)}\"></li>\n <li class=\"p-orderlist-item\" tabindex=\"0\" [ngClass]=\"{'p-highlight':isSelected(item)}\" pRipple\n (click)=\"onItemClick($event,item,i)\" (touchend)=\"onItemTouchEnd($event)\" (keydown)=\"onItemKeydown($event,item,i)\"\n [style.display]=\"isItemVisible(item) ? 'block' : 'none'\" role=\"option\" [attr.aria-selected]=\"isSelected(item)\"\n [attr.draggable]=\"dragdrop\" (dragstart)=\"onDragStart($event, i)\" (dragend)=\"onDragEnd($event)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </li>\n <li class=\"p-orderlist-droppoint\" *ngIf=\"dragdrop && l\" (dragover)=\"onDragOver($event, i + 1)\" (drop)=\"onDrop($event, i + 1)\" (dragleave)=\"onDragLeave($event)\"\n [ngClass]=\"{'p-orderlist-droppoint-highlight': (i + 1 === dragOverItemIndex)}\"></li>\n </ng-template>\n </ul>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./orderlist.css']\n})\nexport class OrderList implements AfterViewChecked,AfterContentInit {\n\n @Input() header: string;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() listStyle: any;\n\n @Input() responsive: boolean;\n\n @Input() filterBy: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dragdrop: boolean;\n\n @Input() controlsPosition: string = 'left';\n\n @Input() ariaFilterLabel: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Output() selectionChange: EventEmitter<any> = new EventEmitter();\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Output() onReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onFilterEvent: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('listelement') listViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public itemTemplate: TemplateRef<any>;\n\n _selection: any[];\n\n movedUp: boolean;\n\n movedDown: boolean;\n\n itemTouched: boolean;\n\n draggedItemIndex: number;\n\n dragOverItemIndex: number;\n\n dragging: boolean;\n\n public filterValue: string;\n\n public visibleOptions: any[];\n\n public _value: any[];\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService) {}\n\n get selection(): any[] {\n return this._selection;\n }\n\n @Input() set selection(val:any[]) {\n this._selection = val;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n if (this.movedUp||this.movedDown) {\n let listItems = DomHandler.find(this.listViewChild.nativeElement, 'li.p-highlight');\n let listItem;\n\n if (listItems.length > 0) {\n if (this.movedUp)\n listItem = listItems[0];\n else\n listItem = listItems[listItems.length - 1];\n\n DomHandler.scrollInView(this.listViewChild.nativeElement, listItem);\n }\n this.movedUp = false;\n this.movedDown = false;\n }\n }\n\n get value(): any[] {\n return this._value;\n }\n\n @Input() set value(val:any[]) {\n this._value = val;\n if (this.filterValue) {\n this.filter();\n }\n }\n\n onItemClick(event, item, index) {\n this.itemTouched = false;\n let selectedIndex = ObjectUtils.findIndexInList(item, this.selection);\n let selected = (selectedIndex != -1);\n let metaSelection = this.itemTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = (event.metaKey||event.ctrlKey||event.shiftKey);\n\n if (selected && metaKey) {\n this._selection = this._selection.filter((val, index) => index !== selectedIndex);\n }\n else {\n this._selection = (metaKey) ? this._selection ? [...this._selection] : [] : [];\n ObjectUtils.insertIntoOrderedArray(item, index, this._selection, this.value);\n }\n }\n else {\n if (selected) {\n this._selection = this._selection.filter((val, index) => index !== selectedIndex);\n }\n else {\n this._selection = this._selection ? [...this._selection] : [];\n ObjectUtils.insertIntoOrderedArray(item, index, this._selection, this.value);\n }\n }\n\n //binding\n this.selectionChange.emit(this._selection);\n\n //event\n this.onSelectionChange.emit({originalEvent:event, value: this._selection});\n }\n\n onFilterKeyup(event) {\n this.filterValue = event.target.value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter();\n\n this.onFilterEvent.emit({\n originalEvent: event,\n value: this.visibleOptions\n });\n }\n\n filter() {\n let searchFields: string[] = this.filterBy.split(',');\n this.visibleOptions = this.filterService.filter(this.value, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n isItemVisible(item: any): boolean {\n if (this.filterValue && this.filterValue.trim().length) {\n for (let i = 0; i < this.visibleOptions.length; i++) {\n if (item == this.visibleOptions[i]) {\n return true;\n }\n }\n }\n else {\n return true;\n }\n }\n\n onItemTouchEnd(event) {\n this.itemTouched = true;\n }\n\n isSelected(item: any) {\n return ObjectUtils.findIndexInList(item, this.selection) != -1;\n }\n\n moveUp(event) {\n if (this.selection) {\n for (let i = 0; i < this.selection.length; i++) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != 0) {\n let movedItem = this.value[selectedItemIndex];\n let temp = this.value[selectedItemIndex-1];\n this.value[selectedItemIndex-1] = movedItem;\n this.value[selectedItemIndex] = temp;\n }\n else {\n break;\n }\n }\n\n this.movedUp = true;\n this.onReorder.emit(event);\n }\n }\n\n moveTop(event) {\n if (this.selection) {\n for (let i = this.selection.length - 1; i >= 0; i--) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != 0) {\n let movedItem = this.value.splice(selectedItemIndex,1)[0];\n this.value.unshift(movedItem);\n }\n else {\n break;\n }\n }\n\n this.onReorder.emit(event);\n this.listViewChild.nativeElement.scrollTop = 0;\n }\n }\n\n moveDown(event) {\n if (this.selection) {\n for (let i = this.selection.length - 1; i >= 0; i--) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != (this.value.length - 1)) {\n let movedItem = this.value[selectedItemIndex];\n let temp = this.value[selectedItemIndex+1];\n this.value[selectedItemIndex+1] = movedItem;\n this.value[selectedItemIndex] = temp;\n }\n else {\n break;\n }\n }\n\n this.movedDown = true;\n this.onReorder.emit(event);\n }\n }\n\n moveBottom(event) {\n if (this.selection) {\n for (let i = 0; i < this.selection.length; i++) {\n let selectedItem = this.selection[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, this.value);\n\n if (selectedItemIndex != (this.value.length - 1)) {\n let movedItem = this.value.splice(selectedItemIndex,1)[0];\n this.value.push(movedItem);\n }\n else {\n break;\n }\n }\n\n this.onReorder.emit(event);\n this.listViewChild.nativeElement.scrollTop = this.listViewChild.nativeElement.scrollHeight;\n }\n }\n\n onDragStart(event: DragEvent, index: number) {\n event.dataTransfer.setData('text', 'b'); // For firefox\n (<HTMLLIElement> event.target).blur();\n this.dragging = true;\n this.draggedItemIndex = index;\n }\n\n onDragOver(event: DragEvent, index: number) {\n if (this.dragging && this.draggedItemIndex !== index && this.draggedItemIndex + 1 !== index) {\n this.dragOverItemIndex = index;\n event.preventDefault();\n }\n }\n\n onDragLeave(event: DragEvent) {\n this.dragOverItemIndex = null;\n }\n\n onDrop(event: DragEvent, index: number) {\n let dropIndex = (this.draggedItemIndex > index) ? index : (index === 0) ? 0 : index - 1;\n ObjectUtils.reorderArray(this.value, this.draggedItemIndex, dropIndex);\n this.dragOverItemIndex = null;\n this.onReorder.emit(event);\n event.preventDefault();\n }\n\n onDragEnd(event: DragEvent) {\n this.dragging = false;\n }\n\n onListMouseMove(event: MouseEvent) {\n if (this.dragging) {\n let offsetY = this.listViewChild.nativeElement.getBoundingClientRect().top + document.body.scrollTop;\n let bottomDiff = (offsetY + this.listViewChild.nativeElement.clientHeight) - event.pageY;\n let topDiff = (event.pageY - offsetY);\n if (bottomDiff < 25 && bottomDiff > 0)\n this.listViewChild.nativeElement.scrollTop += 15;\n else if (topDiff < 25 && topDiff > 0)\n this.listViewChild.nativeElement.scrollTop -= 15;\n }\n }\n\n onItemKeydown(event: KeyboardEvent, item, index: Number) {\n let listItem = <HTMLLIElement> event.currentTarget;\n\n switch(event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onItemClick(event, item, index);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return !DomHandler.hasClass(nextItem, 'p-orderlist-item') || DomHandler.isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;\n else\n return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem)\n return !DomHandler.hasClass(prevItem, 'p-orderlist-item') || DomHandler.isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n}\n\n@NgModule({\n imports: [CommonModule,ButtonModule,SharedModule,RippleModule],\n exports: [OrderList,SharedModule],\n declarations: [OrderList]\n})\nexport class OrderListModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-organizationchart.js","sources":["../../../src/app/components/organizationchart/organizationchart.ts","../../../src/app/components/organizationchart/primeng-organizationchart.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,Input,Output,AfterContentInit,EventEmitter,TemplateRef,\n Inject,forwardRef,ContentChildren,QueryList,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, OnDestroy} from '@angular/core';\nimport {trigger,state,style,transition,animate} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from 'primeng/api';\nimport {TreeNode} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n selector: '[pOrganizationChartNode]',\n template: `\n <tbody *ngIf=\"node\">\n <tr>\n <td [attr.colspan]=\"colspan\">\n <div [class]=\"node.styleClass\" [ngClass]=\"{'p-organizationchart-node-content': true, 'p-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false,'p-highlight':isSelected()}\"\n (click)=\"onNodeClick($event,node)\">\n <div *ngIf=\"!chart.getTemplateForNode(node)\">{{node.label}}</div>\n <div *ngIf=\"chart.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"chart.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </div>\n <a *ngIf=\"!leaf\" tabindex=\"0\" class=\"p-node-toggler\" (click)=\"toggleNode($event, node)\" (keydown.enter)=\"toggleNode($event, node)\">\n <i class=\"p-node-toggler-icon pi\" [ngClass]=\"{'pi-chevron-down': node.expanded, 'pi-chevron-up': !node.expanded}\"></i>\n </a>\n </div>\n </td>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"p-organizationchart-line-down\"></div>\n </td>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n <ng-container *ngIf=\"node.children && node.children.length === 1\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"p-organizationchart-line-down\"></div>\n </td>\n </ng-container>\n <ng-container *ngIf=\"node.children && node.children.length > 1\">\n <ng-template ngFor let-child [ngForOf]=\"node.children\" let-first=\"first\" let-last=\"last\">\n <td class=\"p-organizationchart-line-left\" [ngClass]=\"{'p-organizationchart-line-top':!first}\"> </td>\n <td class=\"p-organizationchart-line-right\" [ngClass]=\"{'p-organizationchart-line-top':!last}\"> </td>\n </ng-template>\n </ng-container>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-nodes\" [@childState]=\"'in'\">\n <td *ngFor=\"let child of node.children\" colspan=\"2\">\n <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"child\"></table>\n </td>\n </tr>\n </tbody>\n `,\n animations: [\n trigger('childState', [\n state('in', style({opacity: 1})),\n transition('void => *', [\n style({opacity: 0}),\n animate(150)\n ]),\n transition('* => void', [\n animate(150, style({opacity:0}))\n ])\n ])\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./organizationchart.css']\n})\nexport class OrganizationChartNode implements OnDestroy{\n\n @Input() node: TreeNode;\n \n @Input() root: boolean;\n \n @Input() first: boolean;\n \n @Input() last: boolean;\n\n chart: OrganizationChart;\n\n subscription: Subscription;\n \n constructor(@Inject(forwardRef(() => OrganizationChart)) chart, public cd: ChangeDetectorRef) {\n this.chart = chart as OrganizationChart;\n this.subscription = this.chart.selectionSource$.subscribe(() =>{\n this.cd.markForCheck();\n })\n }\n \n get leaf(): boolean {\n return this.node.leaf == false ? false : !(this.node.children&&this.node.children.length);\n }\n \n get colspan() {\n return (this.node.children && this.node.children.length) ? this.node.children.length * 2: null;\n }\n \n onNodeClick(event: Event, node: TreeNode) {\n this.chart.onNodeClick(event, node)\n }\n \n toggleNode(event: Event, node: TreeNode) {\n node.expanded = !node.expanded;\n if (node.expanded)\n this.chart.onNodeExpand.emit({originalEvent: event, node: this.node});\n else\n this.chart.onNodeCollapse.emit({originalEvent: event, node: this.node});\n \n event.preventDefault();\n }\n \n isSelected() {\n return this.chart.isSelected(this.node);\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n\n@Component({\n selector: 'p-organizationChart',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-organizationchart p-component': true, 'p-organizationchart-preservespace': preserveSpace}\">\n <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"root\" *ngIf=\"root\"></table>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OrganizationChart implements AfterContentInit {\n \n @Input() value: TreeNode[]; \n\n @Input() style: any;\n\n @Input() styleClass: string;\n \n @Input() selectionMode: string;\n \n @Input() preserveSpace: boolean = true;\n \n @Input() get selection(): any {\n return this._selection;\n }\n\n set selection(val:any) {\n this._selection = val;\n \n if (this.initialized)\n this.selectionSource.next();\n }\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 @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n public templateMap: any;\n\n private selectionSource = new Subject<any>();\n\n _selection: any;\n\n initialized: boolean;\n\n selectionSource$ = this.selectionSource.asObservable();\n \n constructor(public el: ElementRef, public cd:ChangeDetectorRef) {}\n \n get root(): TreeNode {\n return this.value && this.value.length ? this.value[0] : null;\n }\n \n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n \n this.templates.forEach((item) => {\n this.templateMap[item.getType()] = item.template;\n });\n\n this.initialized = true;\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 onNodeClick(event: Event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n \n if (eventTarget.className && (eventTarget.className.indexOf('p-node-toggler') !== -1 || eventTarget.className.indexOf('p-node-toggler-icon') !== -1)) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n \n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n \n if (this.selectionMode === 'single') {\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 if (this.selectionMode === 'multiple') {\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 this.selectionSource.next();\n }\n }\n \n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.selectionMode === 'single') {\n index = (this.selection == node) ? 0 : - 1;\n }\n else if (this.selectionMode === 'multiple') {\n for(let i = 0; i < this.selection.length; i++) {\n if (this.selection[i] == node) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n \n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1; \n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [OrganizationChart,SharedModule],\n declarations: [OrganizationChart,OrganizationChartNode]\n})\nexport class OrganizationChartModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-organizationchart.js","sources":["../../src/app/components/organizationchart/organizationchart.ts","../../src/app/components/organizationchart/primeng-organizationchart.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,Input,Output,AfterContentInit,EventEmitter,TemplateRef,\n Inject,forwardRef,ContentChildren,QueryList,ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, OnDestroy} from '@angular/core';\nimport {trigger,state,style,transition,animate} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from 'primeng/api';\nimport {TreeNode} from 'primeng/api';\nimport {PrimeTemplate} from 'primeng/api';\nimport { Subject, Subscription } from 'rxjs';\n\n@Component({\n selector: '[pOrganizationChartNode]',\n template: `\n <tbody *ngIf=\"node\">\n <tr>\n <td [attr.colspan]=\"colspan\">\n <div [class]=\"node.styleClass\" [ngClass]=\"{'p-organizationchart-node-content': true, 'p-organizationchart-selectable-node': chart.selectionMode && node.selectable !== false,'p-highlight':isSelected()}\"\n (click)=\"onNodeClick($event,node)\">\n <div *ngIf=\"!chart.getTemplateForNode(node)\">{{node.label}}</div>\n <div *ngIf=\"chart.getTemplateForNode(node)\">\n <ng-container *ngTemplateOutlet=\"chart.getTemplateForNode(node); context: {$implicit: node}\"></ng-container>\n </div>\n <a *ngIf=\"!leaf\" tabindex=\"0\" class=\"p-node-toggler\" (click)=\"toggleNode($event, node)\" (keydown.enter)=\"toggleNode($event, node)\">\n <i class=\"p-node-toggler-icon pi\" [ngClass]=\"{'pi-chevron-down': node.expanded, 'pi-chevron-up': !node.expanded}\"></i>\n </a>\n </div>\n </td>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"p-organizationchart-line-down\"></div>\n </td>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-lines\" [@childState]=\"'in'\">\n <ng-container *ngIf=\"node.children && node.children.length === 1\">\n <td [attr.colspan]=\"colspan\">\n <div class=\"p-organizationchart-line-down\"></div>\n </td>\n </ng-container>\n <ng-container *ngIf=\"node.children && node.children.length > 1\">\n <ng-template ngFor let-child [ngForOf]=\"node.children\" let-first=\"first\" let-last=\"last\">\n <td class=\"p-organizationchart-line-left\" [ngClass]=\"{'p-organizationchart-line-top':!first}\"> </td>\n <td class=\"p-organizationchart-line-right\" [ngClass]=\"{'p-organizationchart-line-top':!last}\"> </td>\n </ng-template>\n </ng-container>\n </tr>\n <tr [ngClass]=\"!leaf&&node.expanded ? 'p-organizationchart-node-visible' : 'p-organizationchart-node-hidden'\" class=\"p-organizationchart-nodes\" [@childState]=\"'in'\">\n <td *ngFor=\"let child of node.children\" colspan=\"2\">\n <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"child\"></table>\n </td>\n </tr>\n </tbody>\n `,\n animations: [\n trigger('childState', [\n state('in', style({opacity: 1})),\n transition('void => *', [\n style({opacity: 0}),\n animate(150)\n ]),\n transition('* => void', [\n animate(150, style({opacity:0}))\n ])\n ])\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./organizationchart.css']\n})\nexport class OrganizationChartNode implements OnDestroy{\n\n @Input() node: TreeNode;\n \n @Input() root: boolean;\n \n @Input() first: boolean;\n \n @Input() last: boolean;\n\n chart: OrganizationChart;\n\n subscription: Subscription;\n \n constructor(@Inject(forwardRef(() => OrganizationChart)) chart, public cd: ChangeDetectorRef) {\n this.chart = chart as OrganizationChart;\n this.subscription = this.chart.selectionSource$.subscribe(() =>{\n this.cd.markForCheck();\n })\n }\n \n get leaf(): boolean {\n return this.node.leaf == false ? false : !(this.node.children&&this.node.children.length);\n }\n \n get colspan() {\n return (this.node.children && this.node.children.length) ? this.node.children.length * 2: null;\n }\n \n onNodeClick(event: Event, node: TreeNode) {\n this.chart.onNodeClick(event, node)\n }\n \n toggleNode(event: Event, node: TreeNode) {\n node.expanded = !node.expanded;\n if (node.expanded)\n this.chart.onNodeExpand.emit({originalEvent: event, node: this.node});\n else\n this.chart.onNodeCollapse.emit({originalEvent: event, node: this.node});\n \n event.preventDefault();\n }\n \n isSelected() {\n return this.chart.isSelected(this.node);\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n}\n\n@Component({\n selector: 'p-organizationChart',\n template: `\n <div [ngStyle]=\"style\" [class]=\"styleClass\" [ngClass]=\"{'p-organizationchart p-component': true, 'p-organizationchart-preservespace': preserveSpace}\">\n <table class=\"p-organizationchart-table\" pOrganizationChartNode [node]=\"root\" *ngIf=\"root\"></table>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class OrganizationChart implements AfterContentInit {\n \n @Input() value: TreeNode[]; \n\n @Input() style: any;\n\n @Input() styleClass: string;\n \n @Input() selectionMode: string;\n \n @Input() preserveSpace: boolean = true;\n \n @Input() get selection(): any {\n return this._selection;\n }\n\n set selection(val:any) {\n this._selection = val;\n \n if (this.initialized)\n this.selectionSource.next();\n }\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 @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n public templateMap: any;\n\n private selectionSource = new Subject<any>();\n\n _selection: any;\n\n initialized: boolean;\n\n selectionSource$ = this.selectionSource.asObservable();\n \n constructor(public el: ElementRef, public cd:ChangeDetectorRef) {}\n \n get root(): TreeNode {\n return this.value && this.value.length ? this.value[0] : null;\n }\n \n ngAfterContentInit() {\n if (this.templates.length) {\n this.templateMap = {};\n }\n \n this.templates.forEach((item) => {\n this.templateMap[item.getType()] = item.template;\n });\n\n this.initialized = true;\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 onNodeClick(event: Event, node: TreeNode) {\n let eventTarget = (<Element> event.target);\n \n if (eventTarget.className && (eventTarget.className.indexOf('p-node-toggler') !== -1 || eventTarget.className.indexOf('p-node-toggler-icon') !== -1)) {\n return;\n }\n else if (this.selectionMode) {\n if (node.selectable === false) {\n return;\n }\n \n let index = this.findIndexInSelection(node);\n let selected = (index >= 0);\n \n if (this.selectionMode === 'single') {\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 if (this.selectionMode === 'multiple') {\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 this.selectionSource.next();\n }\n }\n \n findIndexInSelection(node: TreeNode) {\n let index: number = -1;\n\n if (this.selectionMode && this.selection) {\n if (this.selectionMode === 'single') {\n index = (this.selection == node) ? 0 : - 1;\n }\n else if (this.selectionMode === 'multiple') {\n for(let i = 0; i < this.selection.length; i++) {\n if (this.selection[i] == node) {\n index = i;\n break;\n }\n }\n }\n }\n\n return index;\n }\n \n isSelected(node: TreeNode) {\n return this.findIndexInSelection(node) != -1; \n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [OrganizationChart,SharedModule],\n declarations: [OrganizationChart,OrganizationChartNode]\n})\nexport class OrganizationChartModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -102,12 +102,15 @@ class OverlayPanel {
|
|
102
102
|
this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));
|
103
103
|
}
|
104
104
|
DomHandler.absolutePosition(this.container, this.target);
|
105
|
-
|
106
|
-
|
105
|
+
const containerOffset = DomHandler.getOffset(this.container);
|
106
|
+
const targetOffset = DomHandler.getOffset(this.target);
|
107
|
+
let arrowLeft = 0;
|
108
|
+
if (containerOffset.left < targetOffset.left) {
|
109
|
+
arrowLeft = targetOffset.left - containerOffset.left;
|
107
110
|
}
|
108
|
-
|
109
|
-
|
110
|
-
DomHandler.addClass(this.container, 'p-overlaypanel-
|
111
|
+
this.container.style.setProperty('--overlayArrowLeft', `${arrowLeft}px`);
|
112
|
+
if (containerOffset.top < targetOffset.top) {
|
113
|
+
DomHandler.addClass(this.container, 'p-overlaypanel-flipped');
|
111
114
|
}
|
112
115
|
}
|
113
116
|
onAnimationStart(event) {
|
@@ -237,7 +240,7 @@ OverlayPanel.decorators = [
|
|
237
240
|
],
|
238
241
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
239
242
|
encapsulation: ViewEncapsulation.None,
|
240
|
-
styles: [".p-overlaypanel{margin-top:10px;position:absolute}.p-overlaypanel-flipped{margin-bottom:10px;margin-top:0}.p-overlaypanel-close{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;content:\" \";height:0;left:1.25rem;pointer-events:none;position:absolute;width:0}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;margin-left:auto;right:1.25em}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after,.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}"]
|
243
|
+
styles: [".p-overlaypanel{margin-top:10px;position:absolute}.p-overlaypanel-flipped{margin-bottom:10px;margin-top:0}.p-overlaypanel-close{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;content:\" \";height:0;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);pointer-events:none;position:absolute;width:0}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;margin-left:auto;right:1.25em}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after,.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}"]
|
241
244
|
},] }
|
242
245
|
];
|
243
246
|
OverlayPanel.ctorParameters = () => [
|