primeng 11.3.1 → 11.4.2
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/README.md +3 -2
- package/api/primeng-api.metadata.json +1 -1
- package/api/translation.d.ts +2 -0
- package/api/translationkeys.d.ts +2 -0
- package/autocomplete/autocomplete.d.ts +15 -2
- package/autocomplete/primeng-autocomplete.metadata.json +1 -1
- package/bundles/primeng-api.umd.js +19 -12
- 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 +65 -30
- package/bundles/primeng-autocomplete.umd.js.map +1 -1
- package/bundles/primeng-autocomplete.umd.min.js +2 -2
- package/bundles/primeng-autocomplete.umd.min.js.map +1 -1
- package/bundles/primeng-button.umd.js +71 -15
- 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 +25 -14
- package/bundles/primeng-calendar.umd.js.map +1 -1
- package/bundles/primeng-calendar.umd.min.js +2 -2
- package/bundles/primeng-calendar.umd.min.js.map +1 -1
- package/bundles/primeng-carousel.umd.js +24 -13
- 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 +14 -12
- package/bundles/primeng-cascadeselect.umd.js.map +1 -1
- package/bundles/primeng-cascadeselect.umd.min.js +1 -1
- package/bundles/primeng-cascadeselect.umd.min.js.map +1 -1
- package/bundles/primeng-checkbox.umd.js +14 -11
- package/bundles/primeng-checkbox.umd.js.map +1 -1
- package/bundles/primeng-checkbox.umd.min.js.map +1 -1
- package/bundles/primeng-chips.umd.js +14 -11
- package/bundles/primeng-chips.umd.js.map +1 -1
- package/bundles/primeng-chips.umd.min.js.map +1 -1
- package/bundles/primeng-confirmdialog.umd.js +19 -7
- 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-contextmenu.umd.js +15 -12
- package/bundles/primeng-contextmenu.umd.js.map +1 -1
- package/bundles/primeng-contextmenu.umd.min.js +1 -1
- package/bundles/primeng-contextmenu.umd.min.js.map +1 -1
- package/bundles/primeng-dataview.umd.js +25 -4
- 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-dom.umd.js +14 -11
- package/bundles/primeng-dom.umd.js.map +1 -1
- package/bundles/primeng-dom.umd.min.js.map +1 -1
- package/bundles/primeng-dropdown.umd.js +78 -46
- 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-editor.umd.js +1 -1
- 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-fileupload.umd.js +23 -11
- 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-galleria.umd.js +17 -12
- package/bundles/primeng-galleria.umd.js.map +1 -1
- package/bundles/primeng-galleria.umd.min.js +1 -1
- package/bundles/primeng-galleria.umd.min.js.map +1 -1
- package/bundles/primeng-gmap.umd.js +14 -11
- package/bundles/primeng-gmap.umd.js.map +1 -1
- package/bundles/primeng-gmap.umd.min.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.js +15 -12
- package/bundles/primeng-inputnumber.umd.js.map +1 -1
- package/bundles/primeng-inputnumber.umd.min.js +1 -1
- package/bundles/primeng-inputnumber.umd.min.js.map +1 -1
- package/bundles/primeng-keyfilter.umd.js +14 -11
- package/bundles/primeng-keyfilter.umd.js.map +1 -1
- package/bundles/primeng-keyfilter.umd.min.js.map +1 -1
- package/bundles/primeng-listbox.umd.js +69 -28
- 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-menu.umd.js +14 -11
- 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 +1 -1
- package/bundles/primeng-menubar.umd.js.map +1 -1
- package/bundles/primeng-menubar.umd.min.js +1 -1
- package/bundles/primeng-menubar.umd.min.js.map +1 -1
- package/bundles/primeng-messages.umd.js +14 -11
- package/bundles/primeng-messages.umd.js.map +1 -1
- package/bundles/primeng-messages.umd.min.js.map +1 -1
- package/bundles/primeng-multiselect.umd.js +62 -32
- 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 +49 -16
- package/bundles/primeng-orderlist.umd.js.map +1 -1
- package/bundles/primeng-orderlist.umd.min.js +2 -2
- package/bundles/primeng-orderlist.umd.min.js.map +1 -1
- package/bundles/primeng-organizationchart.umd.js +14 -11
- package/bundles/primeng-organizationchart.umd.js.map +1 -1
- package/bundles/primeng-organizationchart.umd.min.js.map +1 -1
- package/bundles/primeng-paginator.umd.js +14 -11
- package/bundles/primeng-paginator.umd.js.map +1 -1
- package/bundles/primeng-paginator.umd.min.js.map +1 -1
- package/bundles/primeng-panelmenu.umd.js +14 -11
- package/bundles/primeng-panelmenu.umd.js.map +1 -1
- package/bundles/primeng-panelmenu.umd.min.js.map +1 -1
- package/bundles/primeng-password.umd.js +48 -38
- package/bundles/primeng-password.umd.js.map +1 -1
- package/bundles/primeng-password.umd.min.js +1 -1
- package/bundles/primeng-password.umd.min.js.map +1 -1
- package/bundles/primeng-picklist.umd.js +109 -48
- 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-radiobutton.umd.js +5 -11
- package/bundles/primeng-radiobutton.umd.js.map +1 -1
- package/bundles/primeng-radiobutton.umd.min.js +1 -1
- package/bundles/primeng-radiobutton.umd.min.js.map +1 -1
- package/bundles/primeng-scrollpanel.umd.js +1 -0
- package/bundles/primeng-scrollpanel.umd.js.map +1 -1
- package/bundles/primeng-scrollpanel.umd.min.js +1 -1
- package/bundles/primeng-scrollpanel.umd.min.js.map +1 -1
- package/bundles/primeng-selectbutton.umd.js +16 -13
- 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 +77 -46
- package/bundles/primeng-sidebar.umd.js.map +1 -1
- package/bundles/primeng-sidebar.umd.min.js +1 -1
- package/bundles/primeng-sidebar.umd.min.js.map +1 -1
- package/bundles/primeng-skeleton.umd.js +1 -1
- package/bundles/primeng-skeleton.umd.js.map +1 -1
- package/bundles/primeng-skeleton.umd.min.js +1 -1
- package/bundles/primeng-skeleton.umd.min.js.map +1 -1
- package/bundles/primeng-splitter.umd.js +53 -22
- package/bundles/primeng-splitter.umd.js.map +1 -1
- package/bundles/primeng-splitter.umd.min.js +1 -1
- package/bundles/primeng-splitter.umd.min.js.map +1 -1
- package/bundles/primeng-table.umd.js +30 -17
- package/bundles/primeng-table.umd.js.map +1 -1
- package/bundles/primeng-table.umd.min.js +2 -2
- package/bundles/primeng-table.umd.min.js.map +1 -1
- package/bundles/primeng-tabmenu.umd.js +1 -1
- package/bundles/primeng-tabmenu.umd.js.map +1 -1
- package/bundles/primeng-tabmenu.umd.min.js +1 -1
- package/bundles/primeng-tabmenu.umd.min.js.map +1 -1
- package/bundles/primeng-tabview.umd.js +1 -0
- 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-tieredmenu.umd.js +1 -1
- package/bundles/primeng-tieredmenu.umd.js.map +1 -1
- package/bundles/primeng-tieredmenu.umd.min.js +1 -1
- package/bundles/primeng-tieredmenu.umd.min.js.map +1 -1
- package/bundles/primeng-timeline.umd.js +1 -1
- package/bundles/primeng-timeline.umd.js.map +1 -1
- package/bundles/primeng-timeline.umd.min.js +1 -1
- package/bundles/primeng-timeline.umd.min.js.map +1 -1
- package/bundles/primeng-toast.umd.js +14 -11
- package/bundles/primeng-toast.umd.js.map +1 -1
- package/bundles/primeng-toast.umd.min.js.map +1 -1
- package/bundles/primeng-togglebutton.umd.js +1 -1
- package/bundles/primeng-togglebutton.umd.min.js +1 -1
- package/bundles/primeng-togglebutton.umd.min.js.map +1 -1
- package/bundles/primeng-tree.umd.js +85 -30
- 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 +18 -11
- 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 +5 -1
- package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
- package/bundles/primeng-tristatecheckbox.umd.min.js +1 -1
- package/bundles/primeng-tristatecheckbox.umd.min.js.map +1 -1
- package/button/button.d.ts +10 -0
- package/button/primeng-button.metadata.json +1 -1
- package/calendar/calendar.d.ts +3 -1
- package/calendar/primeng-calendar.metadata.json +1 -1
- package/carousel/carousel.d.ts +7 -2
- package/carousel/primeng-carousel.metadata.json +1 -1
- package/cascadeselect/primeng-cascadeselect.metadata.json +1 -1
- package/confirmdialog/confirmdialog.d.ts +2 -0
- package/confirmdialog/primeng-confirmdialog.metadata.json +1 -1
- package/contextmenu/primeng-contextmenu.metadata.json +1 -1
- package/dataview/dataview.d.ts +10 -4
- package/dataview/primeng-dataview.metadata.json +1 -1
- package/dropdown/dropdown.d.ts +15 -7
- package/dropdown/primeng-dropdown.metadata.json +1 -1
- package/esm2015/api/primengconfig.js +4 -2
- package/esm2015/api/translation.js +1 -1
- package/esm2015/api/translationkeys.js +3 -1
- package/esm2015/autocomplete/autocomplete.js +70 -22
- package/esm2015/button/button.js +75 -20
- package/esm2015/calendar/calendar.js +18 -11
- package/esm2015/carousel/carousel.js +14 -6
- package/esm2015/cascadeselect/cascadeselect.js +1 -2
- package/esm2015/confirmdialog/confirmdialog.js +22 -7
- package/esm2015/contextmenu/contextmenu.js +5 -6
- package/esm2015/dataview/dataview.js +27 -6
- package/esm2015/dropdown/dropdown.js +69 -34
- package/esm2015/editor/editor.js +2 -2
- package/esm2015/fileupload/fileupload.js +9 -1
- package/esm2015/galleria/galleria.js +4 -2
- package/esm2015/inputnumber/inputnumber.js +2 -2
- package/esm2015/listbox/listbox.js +55 -14
- package/esm2015/menubar/menubar.js +4 -5
- package/esm2015/multiselect/multiselect.js +51 -21
- package/esm2015/orderlist/orderlist.js +48 -9
- package/esm2015/password/password.js +50 -40
- package/esm2015/picklist/picklist.js +140 -70
- package/esm2015/radiobutton/radiobutton.js +6 -12
- package/esm2015/scrollpanel/scrollpanel.js +2 -1
- package/esm2015/selectbutton/selectbutton.js +3 -3
- package/esm2015/sidebar/sidebar.js +77 -53
- package/esm2015/skeleton/skeleton.js +2 -2
- package/esm2015/splitter/splitter.js +40 -13
- package/esm2015/table/table.js +18 -8
- package/esm2015/tabmenu/tabmenu.js +2 -2
- package/esm2015/tabview/tabview.js +2 -1
- package/esm2015/tieredmenu/tieredmenu.js +4 -4
- package/esm2015/timeline/timeline.js +3 -3
- package/esm2015/togglebutton/togglebutton.js +1 -1
- package/esm2015/tree/tree.js +82 -20
- package/esm2015/treetable/treetable.js +5 -1
- package/esm2015/tristatecheckbox/tristatecheckbox.js +6 -2
- package/fesm2015/primeng-api.js +5 -1
- package/fesm2015/primeng-api.js.map +1 -1
- package/fesm2015/primeng-autocomplete.js +69 -21
- package/fesm2015/primeng-autocomplete.js.map +1 -1
- package/fesm2015/primeng-button.js +74 -19
- package/fesm2015/primeng-button.js.map +1 -1
- package/fesm2015/primeng-calendar.js +17 -10
- package/fesm2015/primeng-calendar.js.map +1 -1
- package/fesm2015/primeng-carousel.js +13 -5
- package/fesm2015/primeng-carousel.js.map +1 -1
- package/fesm2015/primeng-cascadeselect.js +0 -1
- package/fesm2015/primeng-cascadeselect.js.map +1 -1
- package/fesm2015/primeng-confirmdialog.js +21 -6
- package/fesm2015/primeng-confirmdialog.js.map +1 -1
- package/fesm2015/primeng-contextmenu.js +4 -5
- package/fesm2015/primeng-contextmenu.js.map +1 -1
- package/fesm2015/primeng-dataview.js +26 -5
- package/fesm2015/primeng-dataview.js.map +1 -1
- package/fesm2015/primeng-dropdown.js +68 -34
- package/fesm2015/primeng-dropdown.js.map +1 -1
- package/fesm2015/primeng-editor.js +1 -1
- package/fesm2015/primeng-editor.js.map +1 -1
- package/fesm2015/primeng-fileupload.js +8 -0
- package/fesm2015/primeng-fileupload.js.map +1 -1
- package/fesm2015/primeng-galleria.js +3 -1
- package/fesm2015/primeng-galleria.js.map +1 -1
- package/fesm2015/primeng-inputnumber.js +1 -1
- package/fesm2015/primeng-inputnumber.js.map +1 -1
- package/fesm2015/primeng-listbox.js +54 -13
- package/fesm2015/primeng-listbox.js.map +1 -1
- package/fesm2015/primeng-menubar.js +3 -4
- package/fesm2015/primeng-menubar.js.map +1 -1
- package/fesm2015/primeng-multiselect.js +50 -20
- package/fesm2015/primeng-multiselect.js.map +1 -1
- package/fesm2015/primeng-orderlist.js +47 -8
- package/fesm2015/primeng-orderlist.js.map +1 -1
- package/fesm2015/primeng-password.js +49 -39
- package/fesm2015/primeng-password.js.map +1 -1
- package/fesm2015/primeng-picklist.js +140 -70
- package/fesm2015/primeng-picklist.js.map +1 -1
- package/fesm2015/primeng-radiobutton.js +5 -11
- package/fesm2015/primeng-radiobutton.js.map +1 -1
- package/fesm2015/primeng-scrollpanel.js +1 -0
- package/fesm2015/primeng-scrollpanel.js.map +1 -1
- package/fesm2015/primeng-selectbutton.js +2 -2
- package/fesm2015/primeng-selectbutton.js.map +1 -1
- package/fesm2015/primeng-sidebar.js +76 -52
- package/fesm2015/primeng-sidebar.js.map +1 -1
- package/fesm2015/primeng-skeleton.js +1 -1
- package/fesm2015/primeng-skeleton.js.map +1 -1
- package/fesm2015/primeng-splitter.js +39 -12
- package/fesm2015/primeng-splitter.js.map +1 -1
- package/fesm2015/primeng-table.js +17 -7
- package/fesm2015/primeng-table.js.map +1 -1
- package/fesm2015/primeng-tabmenu.js +1 -1
- package/fesm2015/primeng-tabmenu.js.map +1 -1
- package/fesm2015/primeng-tabview.js +1 -0
- package/fesm2015/primeng-tabview.js.map +1 -1
- package/fesm2015/primeng-tieredmenu.js +3 -3
- package/fesm2015/primeng-tieredmenu.js.map +1 -1
- package/fesm2015/primeng-timeline.js +2 -2
- package/fesm2015/primeng-timeline.js.map +1 -1
- package/fesm2015/primeng-togglebutton.js +1 -1
- package/fesm2015/primeng-tree.js +81 -20
- package/fesm2015/primeng-tree.js.map +1 -1
- package/fesm2015/primeng-treetable.js +4 -0
- package/fesm2015/primeng-treetable.js.map +1 -1
- package/fesm2015/primeng-tristatecheckbox.js +5 -1
- package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
- package/fileupload/fileupload.d.ts +5 -2
- package/fileupload/primeng-fileupload.metadata.json +1 -1
- package/galleria/galleria.d.ts +3 -2
- package/galleria/primeng-galleria.metadata.json +1 -1
- package/inputnumber/primeng-inputnumber.metadata.json +1 -1
- package/listbox/listbox.d.ts +16 -4
- package/listbox/primeng-listbox.metadata.json +1 -1
- package/menubar/primeng-menubar.metadata.json +1 -1
- package/multiselect/multiselect.d.ts +10 -3
- package/multiselect/primeng-multiselect.metadata.json +1 -1
- package/orderlist/orderlist.d.ts +5 -1
- package/orderlist/primeng-orderlist.metadata.json +1 -1
- package/package.json +1 -1
- package/password/password.d.ts +5 -4
- package/password/primeng-password.metadata.json +1 -1
- package/picklist/picklist.d.ts +16 -7
- package/picklist/primeng-picklist.metadata.json +1 -1
- package/radiobutton/primeng-radiobutton.metadata.json +1 -1
- package/resources/components/button/button.css +4 -0
- package/resources/components/calendar/calendar.css +0 -1
- package/resources/components/orderlist/orderlist.css +1 -0
- package/resources/components/picklist/picklist.css +1 -0
- package/resources/components/sidebar/sidebar.css +12 -26
- package/resources/primeng.css +4 -0
- package/resources/primeng.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +49 -9
- package/resources/themes/arya-green/theme.css +49 -9
- package/resources/themes/arya-orange/theme.css +49 -9
- package/resources/themes/arya-purple/theme.css +49 -9
- package/resources/themes/bootstrap4-dark-blue/theme.css +49 -9
- package/resources/themes/bootstrap4-dark-purple/theme.css +49 -9
- package/resources/themes/bootstrap4-light-blue/theme.css +49 -9
- package/resources/themes/bootstrap4-light-purple/theme.css +49 -9
- package/resources/themes/fluent-light/theme.css +47 -7
- package/resources/themes/luna-amber/theme.css +49 -9
- package/resources/themes/luna-blue/theme.css +49 -9
- package/resources/themes/luna-green/theme.css +49 -9
- package/resources/themes/luna-pink/theme.css +49 -9
- package/resources/themes/md-dark-deeppurple/theme.css +60 -14
- package/resources/themes/md-dark-indigo/theme.css +60 -14
- package/resources/themes/md-light-deeppurple/theme.css +60 -14
- package/resources/themes/md-light-indigo/theme.css +60 -14
- package/resources/themes/mdc-dark-deeppurple/theme.css +60 -14
- package/resources/themes/mdc-dark-indigo/theme.css +60 -14
- package/resources/themes/mdc-light-deeppurple/theme.css +60 -14
- package/resources/themes/mdc-light-indigo/theme.css +60 -14
- package/resources/themes/nova/theme.css +49 -9
- package/resources/themes/nova-accent/theme.css +49 -9
- package/resources/themes/nova-alt/theme.css +49 -9
- package/resources/themes/rhea/theme.css +49 -9
- package/resources/themes/saga-blue/theme.css +49 -9
- package/resources/themes/saga-green/theme.css +49 -9
- package/resources/themes/saga-orange/theme.css +49 -9
- package/resources/themes/saga-purple/theme.css +49 -9
- package/resources/themes/vela-blue/theme.css +49 -9
- package/resources/themes/vela-green/theme.css +49 -9
- package/resources/themes/vela-orange/theme.css +49 -9
- package/resources/themes/vela-purple/theme.css +49 -9
- package/scrollpanel/primeng-scrollpanel.metadata.json +1 -1
- package/selectbutton/primeng-selectbutton.metadata.json +1 -1
- package/sidebar/primeng-sidebar.metadata.json +1 -1
- package/sidebar/sidebar.d.ts +12 -8
- package/skeleton/skeleton.d.ts +1 -1
- package/splitter/primeng-splitter.metadata.json +1 -1
- package/splitter/splitter.d.ts +5 -1
- package/table/primeng-table.metadata.json +1 -1
- package/table/table.d.ts +3 -0
- package/tabmenu/primeng-tabmenu.metadata.json +1 -1
- package/tabview/primeng-tabview.metadata.json +1 -1
- package/tieredmenu/primeng-tieredmenu.metadata.json +1 -1
- package/timeline/primeng-timeline.metadata.json +1 -1
- package/togglebutton/primeng-togglebutton.metadata.json +1 -1
- package/tree/primeng-tree.metadata.json +1 -1
- package/tree/tree.d.ts +12 -4
- package/treetable/primeng-treetable.metadata.json +1 -1
- package/tristatecheckbox/primeng-tristatecheckbox.metadata.json +1 -1
- package/tristatecheckbox/tristatecheckbox.d.ts +2 -0
@@ -2,7 +2,7 @@ import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrollin
|
|
2
2
|
import { forwardRef, EventEmitter, Component, Input, Output, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Renderer2, ChangeDetectorRef, NgZone, ViewChild, ContentChildren, NgModule } from '@angular/core';
|
3
3
|
import { trigger, transition, style, animate } from '@angular/animations';
|
4
4
|
import { CommonModule } from '@angular/common';
|
5
|
-
import { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';
|
5
|
+
import { TranslationKeys, FilterService, PrimeNGConfig, PrimeTemplate, SharedModule } from 'primeng/api';
|
6
6
|
import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
|
7
7
|
import { ObjectUtils } from 'primeng/utils';
|
8
8
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
@@ -50,17 +50,20 @@ DropdownItem.propDecorators = {
|
|
50
50
|
onClick: [{ type: Output }]
|
51
51
|
};
|
52
52
|
class Dropdown {
|
53
|
-
constructor(el, renderer, cd, zone, filterService) {
|
53
|
+
constructor(el, renderer, cd, zone, filterService, config) {
|
54
54
|
this.el = el;
|
55
55
|
this.renderer = renderer;
|
56
56
|
this.cd = cd;
|
57
57
|
this.zone = zone;
|
58
58
|
this.filterService = filterService;
|
59
|
+
this.config = config;
|
59
60
|
this.scrollHeight = '200px';
|
60
61
|
this.resetFilterOnHide = false;
|
61
62
|
this.dropdownIcon = 'pi pi-chevron-down';
|
63
|
+
this.optionGroupChildren = "items";
|
62
64
|
this.autoDisplayFirst = true;
|
63
|
-
this.emptyFilterMessage = '
|
65
|
+
this.emptyFilterMessage = '';
|
66
|
+
this.emptyMessage = '';
|
64
67
|
this.autoZIndex = true;
|
65
68
|
this.baseZIndex = 0;
|
66
69
|
this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';
|
@@ -71,6 +74,7 @@ class Dropdown {
|
|
71
74
|
this.tooltipPositionStyle = 'absolute';
|
72
75
|
this.autofocusFilter = true;
|
73
76
|
this.onChange = new EventEmitter();
|
77
|
+
this.onFilter = new EventEmitter();
|
74
78
|
this.onFocus = new EventEmitter();
|
75
79
|
this.onBlur = new EventEmitter();
|
76
80
|
this.onClick = new EventEmitter();
|
@@ -85,8 +89,11 @@ class Dropdown {
|
|
85
89
|
}
|
86
90
|
;
|
87
91
|
set disabled(_disabled) {
|
88
|
-
if (_disabled)
|
92
|
+
if (_disabled) {
|
89
93
|
this.focused = false;
|
94
|
+
if (this.overlayVisible)
|
95
|
+
this.hide();
|
96
|
+
}
|
90
97
|
this._disabled = _disabled;
|
91
98
|
if (!this.cd.destroyed) {
|
92
99
|
this.cd.detectChanges();
|
@@ -101,6 +108,18 @@ class Dropdown {
|
|
101
108
|
case 'selectedItem':
|
102
109
|
this.selectedItemTemplate = item.template;
|
103
110
|
break;
|
111
|
+
case 'header':
|
112
|
+
this.headerTemplate = item.template;
|
113
|
+
break;
|
114
|
+
case 'footer':
|
115
|
+
this.footerTemplate = item.template;
|
116
|
+
break;
|
117
|
+
case 'emptyfilter':
|
118
|
+
this.emptyFilterTemplate = item.template;
|
119
|
+
break;
|
120
|
+
case 'empty':
|
121
|
+
this.emptyTemplate = item.template;
|
122
|
+
break;
|
104
123
|
case 'group':
|
105
124
|
this.groupTemplate = item.template;
|
106
125
|
break;
|
@@ -122,7 +141,6 @@ class Dropdown {
|
|
122
141
|
this.optionsToDisplay = this._options;
|
123
142
|
this.updateSelectedOption(this.value);
|
124
143
|
this.optionsChanged = true;
|
125
|
-
this.updateFilledState();
|
126
144
|
if (this._filterValue && this._filterValue.length) {
|
127
145
|
this.activateFilter();
|
128
146
|
}
|
@@ -142,6 +160,12 @@ class Dropdown {
|
|
142
160
|
get label() {
|
143
161
|
return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;
|
144
162
|
}
|
163
|
+
get emptyMessageLabel() {
|
164
|
+
return this.emptyMessage || this.config.getTranslation(TranslationKeys.EMPTY_MESSAGE);
|
165
|
+
}
|
166
|
+
get emptyFilterMessageLabel() {
|
167
|
+
return this.emptyFilterMessage || this.config.getTranslation(TranslationKeys.EMPTY_FILTER_MESSAGE);
|
168
|
+
}
|
145
169
|
updateEditableLabel() {
|
146
170
|
if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {
|
147
171
|
this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value || '');
|
@@ -151,7 +175,7 @@ class Dropdown {
|
|
151
175
|
return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);
|
152
176
|
}
|
153
177
|
getOptionValue(option) {
|
154
|
-
return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel ? option : option.value);
|
178
|
+
return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (this.optionLabel || option.value === undefined ? option : option.value);
|
155
179
|
}
|
156
180
|
isOptionDisabled(option) {
|
157
181
|
return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);
|
@@ -169,14 +193,13 @@ class Dropdown {
|
|
169
193
|
this.accessibleViewChild.nativeElement.focus();
|
170
194
|
}
|
171
195
|
setTimeout(() => {
|
172
|
-
this.hide(
|
196
|
+
this.hide();
|
173
197
|
}, 150);
|
174
198
|
}
|
175
199
|
selectItem(event, option) {
|
176
200
|
if (this.selectedOption != option) {
|
177
201
|
this.selectedOption = option;
|
178
202
|
this.value = this.getOptionValue(option);
|
179
|
-
this.filled = true;
|
180
203
|
this.onModelChange(this.value);
|
181
204
|
this.updateEditableLabel();
|
182
205
|
this.onChange.emit({
|
@@ -224,7 +247,6 @@ class Dropdown {
|
|
224
247
|
this.value = value;
|
225
248
|
this.updateSelectedOption(value);
|
226
249
|
this.updateEditableLabel();
|
227
|
-
this.updateFilledState();
|
228
250
|
this.cd.markForCheck();
|
229
251
|
}
|
230
252
|
resetFilter() {
|
@@ -258,7 +280,7 @@ class Dropdown {
|
|
258
280
|
this.onClick.emit(event);
|
259
281
|
this.accessibleViewChild.nativeElement.focus();
|
260
282
|
if (this.overlayVisible)
|
261
|
-
this.hide(
|
283
|
+
this.hide();
|
262
284
|
else
|
263
285
|
this.show();
|
264
286
|
this.cd.detectChanges();
|
@@ -271,12 +293,15 @@ class Dropdown {
|
|
271
293
|
isOutsideClicked(event) {
|
272
294
|
return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains(event.target)));
|
273
295
|
}
|
296
|
+
isEmpty() {
|
297
|
+
return !this.optionsToDisplay || (this.optionsToDisplay && this.optionsToDisplay.length === 0);
|
298
|
+
}
|
274
299
|
onEditableInputClick() {
|
275
300
|
this.bindDocumentClickListener();
|
276
301
|
}
|
277
302
|
onEditableInputFocus(event) {
|
278
303
|
this.focused = true;
|
279
|
-
this.hide(
|
304
|
+
this.hide();
|
280
305
|
this.onFocus.emit(event);
|
281
306
|
}
|
282
307
|
onEditableInputChange(event) {
|
@@ -323,6 +348,7 @@ class Dropdown {
|
|
323
348
|
break;
|
324
349
|
case 'void':
|
325
350
|
this.onOverlayHide();
|
351
|
+
this.onHide.emit(event);
|
326
352
|
break;
|
327
353
|
}
|
328
354
|
}
|
@@ -361,7 +387,7 @@ class Dropdown {
|
|
361
387
|
this.el.nativeElement.appendChild(this.overlay);
|
362
388
|
}
|
363
389
|
}
|
364
|
-
hide(
|
390
|
+
hide() {
|
365
391
|
this.overlayVisible = false;
|
366
392
|
if (this.filter && this.resetFilterOnHide) {
|
367
393
|
this.resetFilter();
|
@@ -370,7 +396,6 @@ class Dropdown {
|
|
370
396
|
this.virtualAutoScrolled = false;
|
371
397
|
}
|
372
398
|
this.cd.markForCheck();
|
373
|
-
this.onHide.emit(event);
|
374
399
|
}
|
375
400
|
alignOverlay() {
|
376
401
|
if (this.overlay) {
|
@@ -527,18 +552,18 @@ class Dropdown {
|
|
527
552
|
//enter
|
528
553
|
case 13:
|
529
554
|
if (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0)) {
|
530
|
-
this.hide(
|
555
|
+
this.hide();
|
531
556
|
}
|
532
557
|
event.preventDefault();
|
533
558
|
break;
|
534
559
|
//escape and tab
|
535
560
|
case 27:
|
536
561
|
case 9:
|
537
|
-
this.hide(
|
562
|
+
this.hide();
|
538
563
|
break;
|
539
564
|
//search item based on keyboard input
|
540
565
|
default:
|
541
|
-
if (search) {
|
566
|
+
if (search && !event.metaKey) {
|
542
567
|
this.search(event);
|
543
568
|
}
|
544
569
|
break;
|
@@ -663,7 +688,7 @@ class Dropdown {
|
|
663
688
|
return (index != -1) ? opts[index] : null;
|
664
689
|
}
|
665
690
|
}
|
666
|
-
|
691
|
+
onFilterInputChange(event) {
|
667
692
|
let inputValue = event.target.value;
|
668
693
|
if (inputValue && inputValue.length) {
|
669
694
|
this._filterValue = inputValue;
|
@@ -674,6 +699,7 @@ class Dropdown {
|
|
674
699
|
this.optionsToDisplay = this.options;
|
675
700
|
}
|
676
701
|
this.optionsChanged = true;
|
702
|
+
this.onFilter.emit({ originalEvent: event, filter: this._filterValue });
|
677
703
|
}
|
678
704
|
activateFilter() {
|
679
705
|
let searchFields = (this.filterBy || this.optionLabel || 'label').split(',');
|
@@ -683,11 +709,7 @@ class Dropdown {
|
|
683
709
|
for (let optgroup of this.options) {
|
684
710
|
let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);
|
685
711
|
if (filteredSubOptions && filteredSubOptions.length) {
|
686
|
-
filteredGroups.push({
|
687
|
-
label: optgroup.label,
|
688
|
-
value: optgroup.value,
|
689
|
-
items: filteredSubOptions
|
690
|
-
});
|
712
|
+
filteredGroups.push(Object.assign(Object.assign({}, optgroup), { [this.optionGroupChildren]: filteredSubOptions }));
|
691
713
|
}
|
692
714
|
}
|
693
715
|
this.optionsToDisplay = filteredGroups;
|
@@ -712,7 +734,7 @@ class Dropdown {
|
|
712
734
|
const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
|
713
735
|
this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {
|
714
736
|
if (this.isOutsideClicked(event)) {
|
715
|
-
this.hide(
|
737
|
+
this.hide();
|
716
738
|
this.unbindDocumentClickListener();
|
717
739
|
}
|
718
740
|
this.cd.markForCheck();
|
@@ -737,14 +759,14 @@ class Dropdown {
|
|
737
759
|
}
|
738
760
|
onWindowResize() {
|
739
761
|
if (!DomHandler.isAndroid()) {
|
740
|
-
this.hide(
|
762
|
+
this.hide();
|
741
763
|
}
|
742
764
|
}
|
743
765
|
bindScrollListener() {
|
744
766
|
if (!this.scrollHandler) {
|
745
767
|
this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event) => {
|
746
768
|
if (this.overlayVisible) {
|
747
|
-
this.hide(
|
769
|
+
this.hide();
|
748
770
|
}
|
749
771
|
});
|
750
772
|
}
|
@@ -755,9 +777,6 @@ class Dropdown {
|
|
755
777
|
this.scrollHandler.unbindScrollListener();
|
756
778
|
}
|
757
779
|
}
|
758
|
-
updateFilledState() {
|
759
|
-
this.filled = (this.selectedOption != null);
|
760
|
-
}
|
761
780
|
clear(event) {
|
762
781
|
this.value = null;
|
763
782
|
this.onModelChange(this.value);
|
@@ -767,7 +786,6 @@ class Dropdown {
|
|
767
786
|
});
|
768
787
|
this.updateSelectedOption(this.value);
|
769
788
|
this.updateEditableLabel();
|
770
|
-
this.updateFilledState();
|
771
789
|
}
|
772
790
|
onOverlayHide() {
|
773
791
|
this.unbindDocumentClickListener();
|
@@ -810,15 +828,16 @@ Dropdown.decorators = [
|
|
810
828
|
<span class="p-dropdown-trigger-icon" [ngClass]="dropdownIcon"></span>
|
811
829
|
</div>
|
812
830
|
<div *ngIf="overlayVisible" [ngClass]="'p-dropdown-panel p-component'" [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onOverlayAnimationStart($event)" [ngStyle]="panelStyle" [class]="panelStyleClass">
|
831
|
+
<ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
|
813
832
|
<div class="p-dropdown-header" *ngIf="filter" >
|
814
833
|
<div class="p-dropdown-filter-container" (click)="$event.stopPropagation()">
|
815
834
|
<input #filter type="text" autocomplete="off" [value]="filterValue||''" class="p-dropdown-filter p-inputtext p-component" [attr.placeholder]="filterPlaceholder"
|
816
|
-
(keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="
|
835
|
+
(keydown.enter)="$event.preventDefault()" (keydown)="onKeydown($event, false)" (input)="onFilterInputChange($event)" [attr.aria-label]="ariaFilterLabel">
|
817
836
|
<span class="p-dropdown-filter-icon pi pi-search"></span>
|
818
837
|
</div>
|
819
838
|
</div>
|
820
839
|
<div class="p-dropdown-items-wrapper" [style.max-height]="virtualScroll ? 'auto' : (scrollHeight||'auto')">
|
821
|
-
<ul class="p-dropdown-items" role="listbox">
|
840
|
+
<ul class="p-dropdown-items" [ngClass]="{'p-dropdown-virtualscroll': virtualScroll}" role="listbox">
|
822
841
|
<ng-container *ngIf="group">
|
823
842
|
<ng-template ngFor let-optgroup [ngForOf]="optionsToDisplay">
|
824
843
|
<li class="p-dropdown-item-group">
|
@@ -849,9 +868,21 @@ Dropdown.decorators = [
|
|
849
868
|
</cdk-virtual-scroll-viewport>
|
850
869
|
</ng-template>
|
851
870
|
</ng-template>
|
852
|
-
<li *ngIf="
|
871
|
+
<li *ngIf="filterValue && isEmpty()" class="p-dropdown-empty-message">
|
872
|
+
<ng-container *ngIf="!emptyFilterTemplate && !emptyTemplate; else emptyFilter">
|
873
|
+
{{emptyFilterMessageLabel}}
|
874
|
+
</ng-container>
|
875
|
+
<ng-container #emptyFilter *ngTemplateOutlet="emptyFilterTemplate || emptyTemplate"></ng-container>
|
876
|
+
</li>
|
877
|
+
<li *ngIf="!filterValue && isEmpty()" class="p-dropdown-empty-message">
|
878
|
+
<ng-container *ngIf="!emptyTemplate; else empty">
|
879
|
+
{{emptyMessageLabel}}
|
880
|
+
</ng-container>
|
881
|
+
<ng-container #empty *ngTemplateOutlet="emptyTemplate"></ng-container>
|
882
|
+
</li>
|
853
883
|
</ul>
|
854
884
|
</div>
|
885
|
+
<ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
|
855
886
|
</div>
|
856
887
|
</div>
|
857
888
|
`,
|
@@ -867,7 +898,7 @@ Dropdown.decorators = [
|
|
867
898
|
])
|
868
899
|
],
|
869
900
|
host: {
|
870
|
-
'[class.p-inputwrapper-filled]': '
|
901
|
+
'[class.p-inputwrapper-filled]': 'value',
|
871
902
|
'[class.p-inputwrapper-focus]': 'focused || overlayVisible'
|
872
903
|
},
|
873
904
|
providers: [DROPDOWN_VALUE_ACCESSOR],
|
@@ -881,7 +912,8 @@ Dropdown.ctorParameters = () => [
|
|
881
912
|
{ type: Renderer2 },
|
882
913
|
{ type: ChangeDetectorRef },
|
883
914
|
{ type: NgZone },
|
884
|
-
{ type: FilterService }
|
915
|
+
{ type: FilterService },
|
916
|
+
{ type: PrimeNGConfig }
|
885
917
|
];
|
886
918
|
Dropdown.propDecorators = {
|
887
919
|
scrollHeight: [{ type: Input }],
|
@@ -915,6 +947,7 @@ Dropdown.propDecorators = {
|
|
915
947
|
group: [{ type: Input }],
|
916
948
|
showClear: [{ type: Input }],
|
917
949
|
emptyFilterMessage: [{ type: Input }],
|
950
|
+
emptyMessage: [{ type: Input }],
|
918
951
|
virtualScroll: [{ type: Input }],
|
919
952
|
itemSize: [{ type: Input }],
|
920
953
|
autoZIndex: [{ type: Input }],
|
@@ -931,6 +964,7 @@ Dropdown.propDecorators = {
|
|
931
964
|
tooltipStyleClass: [{ type: Input }],
|
932
965
|
autofocusFilter: [{ type: Input }],
|
933
966
|
onChange: [{ type: Output }],
|
967
|
+
onFilter: [{ type: Output }],
|
934
968
|
onFocus: [{ type: Output }],
|
935
969
|
onBlur: [{ type: Output }],
|
936
970
|
onClick: [{ type: Output }],
|