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
@@ -55,7 +55,7 @@
|
|
55
55
|
TabMenu.decorators = [
|
56
56
|
{ type: core.Component, args: [{
|
57
57
|
selector: 'p-tabMenu',
|
58
|
-
template: "\n <div [ngClass]=\"'p-tabmenu p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li *ngFor=\"let item of model; let i = index\" role=\"tab\" [attr.aria-selected]=\"activeItem==item\" [attr.aria-expanded]=\"activeItem==item\"\n [ngClass]=\"{'p-tabmenuitem':true,'p-disabled':item.disabled,'p-highlight':activeItem==item,'p-hidden': item.visible === false}\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"p-menuitem-link\" role=\"presentation\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{item.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\"\n role=\"presentation\" class=\"p-menuitem-link\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\"></li>\n </ul>\n </div>\n ",
|
58
|
+
template: "\n <div [ngClass]=\"'p-tabmenu p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li *ngFor=\"let item of model; let i = index\" role=\"tab\" [ngStyle]=\"item.style\" [class]=\"item.styleClass\" [attr.aria-selected]=\"activeItem==item\" [attr.aria-expanded]=\"activeItem==item\"\n [ngClass]=\"{'p-tabmenuitem':true,'p-disabled':item.disabled,'p-highlight':activeItem==item,'p-hidden': item.visible === false}\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"p-menuitem-link\" role=\"presentation\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{item.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\"\n role=\"presentation\" class=\"p-menuitem-link\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\"></li>\n </ul>\n </div>\n ",
|
59
59
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
60
60
|
encapsulation: core.ViewEncapsulation.None,
|
61
61
|
styles: [".p-tabmenu-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.p-tabmenu-nav a{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;overflow:hidden;position:relative;text-decoration:none;user-select:none}.p-tabmenu-nav a:focus{z-index:1}.p-tabmenu-nav .p-menuitem-text{line-height:1}.p-tabmenu-ink-bar{display:none;z-index:1}"]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-tabmenu.umd.js","sources":["../../src/app/components/tabmenu/tabmenu.ts","../../src/app/components/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import {NgModule,Component,Input,ContentChildren,QueryList,AfterContentInit,AfterViewInit,AfterViewChecked,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ElementRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MenuItem} from 'primeng/api';\nimport {RippleModule} from 'primeng/ripple';\nimport {PrimeTemplate, SharedModule} from 'primeng/api';\nimport {RouterModule} from '@angular/router';\nimport {DomHandler} from 'primeng/dom';\n\n@Component({\n selector: 'p-tabMenu',\n template: `\n <div [ngClass]=\"'p-tabmenu p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li *ngFor=\"let item of model; let i = index\" role=\"tab\" [attr.aria-selected]=\"activeItem==item\" [attr.aria-expanded]=\"activeItem==item\"\n [ngClass]=\"{'p-tabmenuitem':true,'p-disabled':item.disabled,'p-highlight':activeItem==item,'p-hidden': item.visible === false}\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"p-menuitem-link\" role=\"presentation\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{item.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\"\n role=\"presentation\" class=\"p-menuitem-link\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\"></li>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabmenu.css']\n})\nexport class TabMenu implements AfterContentInit,AfterViewInit,AfterViewChecked {\n\n @Input() model: MenuItem[];\n\n @Input() activeItem: MenuItem;\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n itemTemplate: TemplateRef<any>;\n\n tabChanged: boolean;\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 ngAfterViewInit() {\n this.updateInkBar();\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = item;\n this.tabChanged = true;\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,RouterModule,SharedModule,RippleModule],\n exports: [TabMenu,RouterModule,SharedModule],\n declarations: [TabMenu]\n})\nexport class TabMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DomHandler","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","ViewChild","ContentChildren","PrimeTemplate","NgModule","CommonModule","RouterModule","SharedModule","RippleModule"],"mappings":";;;;;;;QA4CA;;QAsBI,oCAAkB,GAAlB;YAAA,iBAYC;YAXG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI;gBACxB,QAAO,IAAI,CAAC,OAAO,EAAE;oBACjB,KAAK,MAAM;wBACP,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACtC,MAAM;oBAEN;wBACI,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACtC,MAAM;iBACT;aACJ,CAAC,CAAC;SACN;QAED,iCAAe,GAAf;YACI,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAED,oCAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;SACJ;QAED,2BAAS,GAAT,UAAU,KAAY,EAAE,IAAc;YAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACV;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC;oBACT,aAAa,EAAE,KAAK;oBACpB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;QAED,8BAAY,GAAZ;YACI,IAAI,SAAS,GAAGA,cAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YACnF,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAGA,cAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAGA,cAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,GAAGA,cAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;aAC7I;SACJ;;;;gBA1GJC,cAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"primeng-tabmenu.umd.js","sources":["../../src/app/components/tabmenu/tabmenu.ts","../../src/app/components/tabmenu/primeng-tabmenu.ts"],"sourcesContent":["import {NgModule,Component,Input,ContentChildren,QueryList,AfterContentInit,AfterViewInit,AfterViewChecked,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ElementRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MenuItem} from 'primeng/api';\nimport {RippleModule} from 'primeng/ripple';\nimport {PrimeTemplate, SharedModule} from 'primeng/api';\nimport {RouterModule} from '@angular/router';\nimport {DomHandler} from 'primeng/dom';\n\n@Component({\n selector: 'p-tabMenu',\n template: `\n <div [ngClass]=\"'p-tabmenu p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li *ngFor=\"let item of model; let i = index\" role=\"tab\" [ngStyle]=\"item.style\" [class]=\"item.styleClass\" [attr.aria-selected]=\"activeItem==item\" [attr.aria-expanded]=\"activeItem==item\"\n [ngClass]=\"{'p-tabmenuitem':true,'p-disabled':item.disabled,'p-highlight':activeItem==item,'p-hidden': item.visible === false}\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"p-menuitem-link\" role=\"presentation\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{item.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\"\n role=\"presentation\" class=\"p-menuitem-link\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\"></li>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabmenu.css']\n})\nexport class TabMenu implements AfterContentInit,AfterViewInit,AfterViewChecked {\n\n @Input() model: MenuItem[];\n\n @Input() activeItem: MenuItem;\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n itemTemplate: TemplateRef<any>;\n\n tabChanged: boolean;\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 ngAfterViewInit() {\n this.updateInkBar();\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = item;\n this.tabChanged = true;\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,RouterModule,SharedModule,RippleModule],\n exports: [TabMenu,RouterModule,SharedModule],\n declarations: [TabMenu]\n})\nexport class TabMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DomHandler","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","ViewChild","ContentChildren","PrimeTemplate","NgModule","CommonModule","RouterModule","SharedModule","RippleModule"],"mappings":";;;;;;;QA4CA;;QAsBI,oCAAkB,GAAlB;YAAA,iBAYC;YAXG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI;gBACxB,QAAO,IAAI,CAAC,OAAO,EAAE;oBACjB,KAAK,MAAM;wBACP,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACtC,MAAM;oBAEN;wBACI,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACtC,MAAM;iBACT;aACJ,CAAC,CAAC;SACN;QAED,iCAAe,GAAf;YACI,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAED,oCAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;SACJ;QAED,2BAAS,GAAT,UAAU,KAAY,EAAE,IAAc;YAClC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACV;YAED,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC;oBACT,aAAa,EAAE,KAAK;oBACpB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;aACN;YAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;QAED,8BAAY,GAAZ;YACI,IAAI,SAAS,GAAGA,cAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YACnF,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAGA,cAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;gBAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAGA,cAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,GAAGA,cAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;aAC7I;SACJ;;;;gBA1GJC,cAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,ijGA6BT;oBACD,eAAe,EAAEC,4BAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;;iBAExC;;;wBAGIC,UAAK;6BAELA,UAAK;wBAELA,UAAK;wBAELA,UAAK;6BAELA,UAAK;yBAELC,cAAS,SAAC,QAAQ;yBAElBA,cAAS,SAAC,QAAQ;4BAElBC,oBAAe,SAACC,iBAAa;;;QA8DlC;;;;;gBALCC,aAAQ,SAAC;oBACN,OAAO,EAAE,CAACC,mBAAY,EAACC,mBAAY,EAACC,gBAAY,EAACC,mBAAY,CAAC;oBAC9D,OAAO,EAAE,CAAC,OAAO,EAACF,mBAAY,EAACC,gBAAY,CAAC;oBAC5C,YAAY,EAAE,CAAC,OAAO,CAAC;iBAC1B;;;ICzHD;;;;;;;;;;;;;"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/ripple"),require("primeng/api"),require("@angular/router"),require("primeng/dom")):"function"==typeof define&&define.amd?define("primeng/tabmenu",["exports","@angular/core","@angular/common","primeng/ripple","primeng/api","@angular/router","primeng/dom"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.tabmenu={}),e.ng.core,e.ng.common,e.primeng.ripple,e.primeng.api,e.ng.router,e.primeng.dom)}(this,(function(e,t,n,i,a,r,l){"use strict";var m=function(){function e(){}return e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"item":default:e.itemTemplate=t.template}}))},e.prototype.ngAfterViewInit=function(){this.updateInkBar()},e.prototype.ngAfterViewChecked=function(){this.tabChanged&&(this.updateInkBar(),this.tabChanged=!1)},e.prototype.itemClick=function(e,t){t.disabled?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),this.activeItem=t,this.tabChanged=!0)},e.prototype.updateInkBar=function(){var e=l.DomHandler.findSingle(this.navbar.nativeElement,"li.p-highlight");e&&(this.inkbar.nativeElement.style.width=l.DomHandler.getWidth(e)+"px",this.inkbar.nativeElement.style.left=l.DomHandler.getOffset(e).left-l.DomHandler.getOffset(this.navbar.nativeElement).left+"px")},e}();m.decorators=[{type:t.Component,args:[{selector:"p-tabMenu",template:'\n <div [ngClass]="\'p-tabmenu p-component\'" [ngStyle]="style" [class]="styleClass">\n <ul #navbar class="p-tabmenu-nav p-reset" role="tablist">\n <li *ngFor="let item of model; let i = index" role="tab" [attr.aria-selected]="activeItem==item" [attr.aria-expanded]="activeItem==item"\n [ngClass]="{\'p-tabmenuitem\':true,\'p-disabled\':item.disabled,\'p-highlight\':activeItem==item,\'p-hidden\': item.visible === false}">\n <a *ngIf="!item.routerLink" [attr.href]="item.url" class="p-menuitem-link" role="presentation" (click)="itemClick($event,item)" (keydown.enter)="itemClick($event,item)" [attr.tabindex]="item.disabled ? null : \'0\'"\n [attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id" pRipple>\n <ng-container *ngIf="!itemTemplate">\n <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon"></span>\n <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlLabel">{{item.label}}</span>\n <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="item.label"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>\n </a>\n <a *ngIf="item.routerLink" [routerLink]="item.routerLink" [queryParams]="item.queryParams" [routerLinkActive]="\'p-menuitem-link-active\'" [routerLinkActiveOptions]="item.routerLinkActiveOptions||{exact:false}"\n role="presentation" class="p-menuitem-link" (click)="itemClick($event,item)" (keydown.enter)="itemClick($event,item)" [attr.tabindex]="item.disabled ? null : \'0\'"\n [attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id"\n [fragment]="item.fragment" [queryParamsHandling]="item.queryParamsHandling" [preserveFragment]="item.preserveFragment" [skipLocationChange]="item.skipLocationChange" [replaceUrl]="item.replaceUrl" [state]="item.state" pRipple>\n <ng-container *ngIf="!itemTemplate">\n <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon"></span>\n <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlRouteLabel">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="item.label"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>\n </a>\n </li>\n <li #inkbar class="p-tabmenu-ink-bar"></li>\n </ul>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-tabmenu-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.p-tabmenu-nav a{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;overflow:hidden;position:relative;text-decoration:none;user-select:none}.p-tabmenu-nav a:focus{z-index:1}.p-tabmenu-nav .p-menuitem-text{line-height:1}.p-tabmenu-ink-bar{display:none;z-index:1}"]}]}],m.propDecorators={model:[{type:t.Input}],activeItem:[{type:t.Input}],popup:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],navbar:[{type:t.ViewChild,args:["navbar"]}],inkbar:[{type:t.ViewChild,args:["inkbar"]}],templates:[{type:t.ContentChildren,args:[a.PrimeTemplate]}]};var p=function(){};p.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.RouterModule,a.SharedModule,i.RippleModule],exports:[m,r.RouterModule,a.SharedModule],declarations:[m]}]}],e.TabMenu=m,e.TabMenuModule=p,Object.defineProperty(e,"__esModule",{value:!0})}));
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/ripple"),require("primeng/api"),require("@angular/router"),require("primeng/dom")):"function"==typeof define&&define.amd?define("primeng/tabmenu",["exports","@angular/core","@angular/common","primeng/ripple","primeng/api","@angular/router","primeng/dom"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.tabmenu={}),e.ng.core,e.ng.common,e.primeng.ripple,e.primeng.api,e.ng.router,e.primeng.dom)}(this,(function(e,t,n,i,a,r,l){"use strict";var m=function(){function e(){}return e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"item":default:e.itemTemplate=t.template}}))},e.prototype.ngAfterViewInit=function(){this.updateInkBar()},e.prototype.ngAfterViewChecked=function(){this.tabChanged&&(this.updateInkBar(),this.tabChanged=!1)},e.prototype.itemClick=function(e,t){t.disabled?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),this.activeItem=t,this.tabChanged=!0)},e.prototype.updateInkBar=function(){var e=l.DomHandler.findSingle(this.navbar.nativeElement,"li.p-highlight");e&&(this.inkbar.nativeElement.style.width=l.DomHandler.getWidth(e)+"px",this.inkbar.nativeElement.style.left=l.DomHandler.getOffset(e).left-l.DomHandler.getOffset(this.navbar.nativeElement).left+"px")},e}();m.decorators=[{type:t.Component,args:[{selector:"p-tabMenu",template:'\n <div [ngClass]="\'p-tabmenu p-component\'" [ngStyle]="style" [class]="styleClass">\n <ul #navbar class="p-tabmenu-nav p-reset" role="tablist">\n <li *ngFor="let item of model; let i = index" role="tab" [ngStyle]="item.style" [class]="item.styleClass" [attr.aria-selected]="activeItem==item" [attr.aria-expanded]="activeItem==item"\n [ngClass]="{\'p-tabmenuitem\':true,\'p-disabled\':item.disabled,\'p-highlight\':activeItem==item,\'p-hidden\': item.visible === false}">\n <a *ngIf="!item.routerLink" [attr.href]="item.url" class="p-menuitem-link" role="presentation" (click)="itemClick($event,item)" (keydown.enter)="itemClick($event,item)" [attr.tabindex]="item.disabled ? null : \'0\'"\n [attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id" pRipple>\n <ng-container *ngIf="!itemTemplate">\n <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon"></span>\n <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlLabel">{{item.label}}</span>\n <ng-template #htmlLabel><span class="p-menuitem-text" [innerHTML]="item.label"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>\n </a>\n <a *ngIf="item.routerLink" [routerLink]="item.routerLink" [queryParams]="item.queryParams" [routerLinkActive]="\'p-menuitem-link-active\'" [routerLinkActiveOptions]="item.routerLinkActiveOptions||{exact:false}"\n role="presentation" class="p-menuitem-link" (click)="itemClick($event,item)" (keydown.enter)="itemClick($event,item)" [attr.tabindex]="item.disabled ? null : \'0\'"\n [attr.target]="item.target" [attr.title]="item.title" [attr.id]="item.id"\n [fragment]="item.fragment" [queryParamsHandling]="item.queryParamsHandling" [preserveFragment]="item.preserveFragment" [skipLocationChange]="item.skipLocationChange" [replaceUrl]="item.replaceUrl" [state]="item.state" pRipple>\n <ng-container *ngIf="!itemTemplate">\n <span class="p-menuitem-icon" [ngClass]="item.icon" *ngIf="item.icon"></span>\n <span class="p-menuitem-text" *ngIf="item.escape !== false; else htmlRouteLabel">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class="p-menuitem-text" [innerHTML]="item.label"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet="itemTemplate; context: {$implicit: item, index: i}"></ng-container>\n </a>\n </li>\n <li #inkbar class="p-tabmenu-ink-bar"></li>\n </ul>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-tabmenu-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.p-tabmenu-nav a{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;overflow:hidden;position:relative;text-decoration:none;user-select:none}.p-tabmenu-nav a:focus{z-index:1}.p-tabmenu-nav .p-menuitem-text{line-height:1}.p-tabmenu-ink-bar{display:none;z-index:1}"]}]}],m.propDecorators={model:[{type:t.Input}],activeItem:[{type:t.Input}],popup:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],navbar:[{type:t.ViewChild,args:["navbar"]}],inkbar:[{type:t.ViewChild,args:["inkbar"]}],templates:[{type:t.ContentChildren,args:[a.PrimeTemplate]}]};var p=function(){};p.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,r.RouterModule,a.SharedModule,i.RippleModule],exports:[m,r.RouterModule,a.SharedModule],declarations:[m]}]}],e.TabMenu=m,e.TabMenuModule=p,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
2
|
//# sourceMappingURL=primeng-tabmenu.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/app/components/tabmenu/tabmenu.ts"],"names":["TabMenu","prototype","ngAfterContentInit","_this","this","templates","forEach","item","getType","itemTemplate","template","ngAfterViewInit","updateInkBar","ngAfterViewChecked","tabChanged","itemClick","event","disabled","preventDefault","command","originalEvent","activeItem","tabHeader","DomHandler","findSingle","navbar","nativeElement","inkbar","style","width","getWidth","left","getOffset","Component","args","selector","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","Input","ViewChild","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","RouterModule","SharedModule","RippleModule","exports","declarations"],"mappings":"uoBA4CA,SAAAA,YAsBIA,EAAAC,UAAAC,mBAAA,WAAA,IAAAC,EAAAC,KACIA,KAAKC,UAAUC,SAAQ,SAACC,GACpB,OAAOA,EAAKC,WACR,IAAK,OAIL,QACIL,EAAKM,aAAeF,EAAKG,cAMzCV,EAAAC,UAAAU,gBAAA,WACIP,KAAKQ,gBAGTZ,EAAAC,UAAAY,mBAAA,WACQT,KAAKU,aACLV,KAAKQ,eACLR,KAAKU,YAAa,IAI1Bd,EAAAC,UAAAc,UAAA,SAAUC,EAAcT,GAChBA,EAAKU,SACLD,EAAME,kBAINX,EAAKY,SACLZ,EAAKY,QAAQ,CACTC,cAAeJ,EACfT,KAAMA,IAIdH,KAAKiB,WAAad,EAClBH,KAAKU,YAAa,IAGtBd,EAAAC,UAAAW,aAAA,WACI,IAAIU,EAAYC,EAAAA,WAAWC,WAAWpB,KAAKqB,OAAOC,cAAe,kBAC7DJ,IACAlB,KAAKuB,OAAOD,cAAcE,MAAMC,MAAQN,EAAAA,WAAWO,SAASR,GAAa,KACzElB,KAAKuB,OAAOD,cAAcE,MAAMG,KAAOR,EAAAA,WAAWS,UAAUV,GAAWS,KAAOR,EAAAA,WAAWS,UAAU5B,KAAKqB,OAAOC,eAAeK,KAAO,gCAxGhJE,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,YACVzB,SAAU,
|
1
|
+
{"version":3,"sources":["../../src/app/components/tabmenu/tabmenu.ts"],"names":["TabMenu","prototype","ngAfterContentInit","_this","this","templates","forEach","item","getType","itemTemplate","template","ngAfterViewInit","updateInkBar","ngAfterViewChecked","tabChanged","itemClick","event","disabled","preventDefault","command","originalEvent","activeItem","tabHeader","DomHandler","findSingle","navbar","nativeElement","inkbar","style","width","getWidth","left","getOffset","Component","args","selector","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","Input","ViewChild","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","RouterModule","SharedModule","RippleModule","exports","declarations"],"mappings":"uoBA4CA,SAAAA,YAsBIA,EAAAC,UAAAC,mBAAA,WAAA,IAAAC,EAAAC,KACIA,KAAKC,UAAUC,SAAQ,SAACC,GACpB,OAAOA,EAAKC,WACR,IAAK,OAIL,QACIL,EAAKM,aAAeF,EAAKG,cAMzCV,EAAAC,UAAAU,gBAAA,WACIP,KAAKQ,gBAGTZ,EAAAC,UAAAY,mBAAA,WACQT,KAAKU,aACLV,KAAKQ,eACLR,KAAKU,YAAa,IAI1Bd,EAAAC,UAAAc,UAAA,SAAUC,EAAcT,GAChBA,EAAKU,SACLD,EAAME,kBAINX,EAAKY,SACLZ,EAAKY,QAAQ,CACTC,cAAeJ,EACfT,KAAMA,IAIdH,KAAKiB,WAAad,EAClBH,KAAKU,YAAa,IAGtBd,EAAAC,UAAAW,aAAA,WACI,IAAIU,EAAYC,EAAAA,WAAWC,WAAWpB,KAAKqB,OAAOC,cAAe,kBAC7DJ,IACAlB,KAAKuB,OAAOD,cAAcE,MAAMC,MAAQN,EAAAA,WAAWO,SAASR,GAAa,KACzElB,KAAKuB,OAAOD,cAAcE,MAAMG,KAAOR,EAAAA,WAAWS,UAAUV,GAAWS,KAAOR,EAAAA,WAAWS,UAAU5B,KAAKqB,OAAOC,eAAeK,KAAO,gCAxGhJE,EAAAA,UAASC,KAAA,CAAC,CACPC,SAAU,YACVzB,SAAU,08FA8BV0B,gBAAiBC,EAAAA,wBAAwBC,OACzCC,cAAeC,EAAAA,kBAAkBC,sbAKhCC,EAAAA,0BAEAA,EAAAA,qBAEAA,EAAAA,qBAEAA,EAAAA,0BAEAA,EAAAA,sBAEAC,EAAAA,UAAST,KAAA,CAAC,0BAEVS,EAAAA,UAAST,KAAA,CAAC,6BAEVU,EAAAA,gBAAeV,KAAA,CAACW,EAAAA,wBA8DrB,iCALCC,EAAAA,SAAQZ,KAAA,CAAC,CACNa,QAAS,CAACC,EAAAA,aAAaC,EAAAA,aAAaC,EAAAA,aAAaC,EAAAA,cACjDC,QAAS,CAACpD,EAAQiD,EAAAA,aAAaC,EAAAA,cAC/BG,aAAc,CAACrD","sourcesContent":["import {NgModule,Component,Input,ContentChildren,QueryList,AfterContentInit,AfterViewInit,AfterViewChecked,TemplateRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ElementRef} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {MenuItem} from 'primeng/api';\nimport {RippleModule} from 'primeng/ripple';\nimport {PrimeTemplate, SharedModule} from 'primeng/api';\nimport {RouterModule} from '@angular/router';\nimport {DomHandler} from 'primeng/dom';\n\n@Component({\n selector: 'p-tabMenu',\n template: `\n <div [ngClass]=\"'p-tabmenu p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabmenu-nav p-reset\" role=\"tablist\">\n <li *ngFor=\"let item of model; let i = index\" role=\"tab\" [ngStyle]=\"item.style\" [class]=\"item.styleClass\" [attr.aria-selected]=\"activeItem==item\" [attr.aria-expanded]=\"activeItem==item\"\n [ngClass]=\"{'p-tabmenuitem':true,'p-disabled':item.disabled,'p-highlight':activeItem==item,'p-hidden': item.visible === false}\">\n <a *ngIf=\"!item.routerLink\" [attr.href]=\"item.url\" class=\"p-menuitem-link\" role=\"presentation\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{item.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n <a *ngIf=\"item.routerLink\" [routerLink]=\"item.routerLink\" [queryParams]=\"item.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"item.routerLinkActiveOptions||{exact:false}\"\n role=\"presentation\" class=\"p-menuitem-link\" (click)=\"itemClick($event,item)\" (keydown.enter)=\"itemClick($event,item)\" [attr.tabindex]=\"item.disabled ? null : '0'\"\n [attr.target]=\"item.target\" [attr.title]=\"item.title\" [attr.id]=\"item.id\"\n [fragment]=\"item.fragment\" [queryParamsHandling]=\"item.queryParamsHandling\" [preserveFragment]=\"item.preserveFragment\" [skipLocationChange]=\"item.skipLocationChange\" [replaceUrl]=\"item.replaceUrl\" [state]=\"item.state\" pRipple>\n <ng-container *ngIf=\"!itemTemplate\">\n <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{item.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: {$implicit: item, index: i}\"></ng-container>\n </a>\n </li>\n <li #inkbar class=\"p-tabmenu-ink-bar\"></li>\n </ul>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabmenu.css']\n})\nexport class TabMenu implements AfterContentInit,AfterViewInit,AfterViewChecked {\n\n @Input() model: MenuItem[];\n\n @Input() activeItem: MenuItem;\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n itemTemplate: TemplateRef<any>;\n\n tabChanged: boolean;\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 ngAfterViewInit() {\n this.updateInkBar();\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n\n itemClick(event: Event, item: MenuItem) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n this.activeItem = item;\n this.tabChanged = true;\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n if (tabHeader) {\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule,RouterModule,SharedModule,RippleModule],\n exports: [TabMenu,RouterModule,SharedModule],\n declarations: [TabMenu]\n})\nexport class TabMenuModule { }\n"]}
|
@@ -251,6 +251,7 @@
|
|
251
251
|
if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {
|
252
252
|
this.findSelectedTab().selected = false;
|
253
253
|
this.tabs[this._activeIndex].selected = true;
|
254
|
+
this.tabChanged = true;
|
254
255
|
}
|
255
256
|
},
|
256
257
|
enumerable: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-tabview.umd.js","sources":["../../src/app/components/tabview/tabview.ts","../../src/app/components/tabview/primeng-tabview.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,AfterContentInit,\n ContentChildren,QueryList,TemplateRef,EmbeddedViewRef,ViewContainerRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, AfterViewChecked, forwardRef, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {BlockableUI} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\n\nlet idx: number = 0;\n\n@Component({\n selector: 'p-tabPanel',\n template: `\n <div [attr.id]=\"id\" class=\"p-tabview-panel\" [hidden]=\"!selected\"\n role=\"tabpanel\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"id + '-label'\" *ngIf=\"!closed\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n </div>\n `\n})\nexport class TabPanel implements AfterContentInit,OnDestroy {\n \n @Input() closable: boolean;\n \n @Input() headerStyle: any;\n \n @Input() headerStyleClass: string;\n \n @Input() cache: boolean = true;\n\n @Input() tooltip: any;\n \n @Input() tooltipPosition: string = 'top';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n closed: boolean;\n \n view: EmbeddedViewRef<any>;\n \n _selected: boolean;\n\n _disabled: boolean;\n \n _header: string;\n\n _leftIcon: string;\n\n _rightIcon: string;\n \n loaded: boolean;\n \n id: string = `p-tabpanel-${idx++}`;\n \n contentTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n tabView: TabView;\n\n constructor(@Inject(forwardRef(() => TabView)) tabView, public viewContainer: ViewContainerRef, public cd: ChangeDetectorRef) {\n this.tabView = tabView as TabView;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n \n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n \n @Input() get selected(): boolean {\n return this._selected;\n }\n\n set selected(val: boolean) {\n this._selected = val;\n \n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val)\n this.loaded = true;\n }\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n \n @Input() get header(): string {\n return this._header;\n }\n \n set header(header: string) {\n this._header = header;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n\n set leftIcon(leftIcon :string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get rightIcon(): string {\n return this._rightIcon;\n }\n\n set rightIcon(rightIcon :string) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n \n ngOnDestroy() {\n this.view = null;\n }\n}\n\n@Component({\n selector: 'p-tabView',\n template: `\n <div [ngClass]=\"'p-tabview p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabview-nav\" role=\"tablist\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <li role=\"presentation\" [ngClass]=\"{'p-highlight': tab.selected, 'p-disabled': tab.disabled}\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\" *ngIf=\"!tab.closed\">\n <a role=\"tab\" class=\"p-tabview-nav-link\" [attr.id]=\"tab.id + '-label'\" [attr.aria-selected]=\"tab.selected\" [attr.aria-controls]=\"tab.id\" [pTooltip]=\"tab.tooltip\" [tooltipPosition]=\"tab.tooltipPosition\"\n [attr.aria-selected]=\"tab.selected\" [positionStyle]=\"tab.tooltipPositionStyle\" [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n (click)=\"open($event,tab)\" (keydown.enter)=\"open($event,tab)\" pRipple [attr.tabindex]=\"tab.disabled ? null : '0'\">\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"p-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\n <span class=\"p-tabview-title\">{{tab.header}}</span>\n <span class=\"p-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <span *ngIf=\"tab.closable\" class=\"p-tabview-close pi pi-times\" (click)=\"close($event,tab)\"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class=\"p-tabview-ink-bar\"></li>\n </ul>\n <div class=\"p-tabview-panels\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.css']\n})\nexport class TabView implements AfterContentInit,AfterViewChecked,BlockableUI {\n\n @Input() orientation: string = 'top';\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() controlClose: boolean;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n \n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter();\n \n initialized: boolean;\n \n tabs: TabPanel[];\n \n _activeIndex: number;\n \n preventActiveIndexPropagation: boolean;\n\n tabChanged: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n \n ngAfterContentInit() {\n this.initTabs();\n \n this.tabPanels.changes.subscribe(_ => {\n this.initTabs();\n });\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n \n initTabs(): void {\n this.tabs = this.tabPanels.toArray();\n let selectedTab: TabPanel = this.findSelectedTab();\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex)\n this.tabs[this.activeIndex].selected = true;\n else\n this.tabs[0].selected = true;\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n \n open(event: Event, tab: TabPanel) {\n if (tab.disabled) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n \n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab();\n if (selectedTab) {\n selectedTab.selected = false\n }\n \n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({originalEvent: event, index: selectedTabIndex});\n }\n \n if (event) {\n event.preventDefault();\n }\n }\n \n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }}\n );\n }\n else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n \n event.stopPropagation();\n }\n \n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for(let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed&&!tab.disabled) {\n tabPanel.selected = true;\n break;\n }\n }\n }\n \n tab.closed = true;\n }\n \n findSelectedTab() {\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n \n findTabIndex(tab: TabPanel) {\n let index = -1;\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n \n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n \n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(val:number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n this.findSelectedTab().selected = false;\n this.tabs[this._activeIndex].selected = true;\n }\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n}\n\n\n@NgModule({\n imports: [CommonModule,SharedModule,TooltipModule,RippleModule],\n exports: [TabView,TabPanel,SharedModule],\n declarations: [TabView,TabPanel]\n})\nexport class TabViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Component","Inject","forwardRef","ViewContainerRef","ChangeDetectorRef","Input","ContentChildren","PrimeTemplate","EventEmitter","DomHandler","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","ViewChild","Output","NgModule","CommonModule","SharedModule","TooltipModule","RippleModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-tabview.umd.js","sources":["../../src/app/components/tabview/tabview.ts","../../src/app/components/tabview/primeng-tabview.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,AfterContentInit,\n ContentChildren,QueryList,TemplateRef,EmbeddedViewRef,ViewContainerRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, AfterViewChecked, forwardRef, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {BlockableUI} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\n\nlet idx: number = 0;\n\n@Component({\n selector: 'p-tabPanel',\n template: `\n <div [attr.id]=\"id\" class=\"p-tabview-panel\" [hidden]=\"!selected\"\n role=\"tabpanel\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"id + '-label'\" *ngIf=\"!closed\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n </div>\n `\n})\nexport class TabPanel implements AfterContentInit,OnDestroy {\n \n @Input() closable: boolean;\n \n @Input() headerStyle: any;\n \n @Input() headerStyleClass: string;\n \n @Input() cache: boolean = true;\n\n @Input() tooltip: any;\n \n @Input() tooltipPosition: string = 'top';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n closed: boolean;\n \n view: EmbeddedViewRef<any>;\n \n _selected: boolean;\n\n _disabled: boolean;\n \n _header: string;\n\n _leftIcon: string;\n\n _rightIcon: string;\n \n loaded: boolean;\n \n id: string = `p-tabpanel-${idx++}`;\n \n contentTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n tabView: TabView;\n\n constructor(@Inject(forwardRef(() => TabView)) tabView, public viewContainer: ViewContainerRef, public cd: ChangeDetectorRef) {\n this.tabView = tabView as TabView;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n \n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n \n @Input() get selected(): boolean {\n return this._selected;\n }\n\n set selected(val: boolean) {\n this._selected = val;\n \n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val)\n this.loaded = true;\n }\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n \n @Input() get header(): string {\n return this._header;\n }\n \n set header(header: string) {\n this._header = header;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n\n set leftIcon(leftIcon :string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get rightIcon(): string {\n return this._rightIcon;\n }\n\n set rightIcon(rightIcon :string) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n \n ngOnDestroy() {\n this.view = null;\n }\n}\n\n@Component({\n selector: 'p-tabView',\n template: `\n <div [ngClass]=\"'p-tabview p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabview-nav\" role=\"tablist\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <li role=\"presentation\" [ngClass]=\"{'p-highlight': tab.selected, 'p-disabled': tab.disabled}\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\" *ngIf=\"!tab.closed\">\n <a role=\"tab\" class=\"p-tabview-nav-link\" [attr.id]=\"tab.id + '-label'\" [attr.aria-selected]=\"tab.selected\" [attr.aria-controls]=\"tab.id\" [pTooltip]=\"tab.tooltip\" [tooltipPosition]=\"tab.tooltipPosition\"\n [attr.aria-selected]=\"tab.selected\" [positionStyle]=\"tab.tooltipPositionStyle\" [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n (click)=\"open($event,tab)\" (keydown.enter)=\"open($event,tab)\" pRipple [attr.tabindex]=\"tab.disabled ? null : '0'\">\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"p-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\n <span class=\"p-tabview-title\">{{tab.header}}</span>\n <span class=\"p-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <span *ngIf=\"tab.closable\" class=\"p-tabview-close pi pi-times\" (click)=\"close($event,tab)\"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class=\"p-tabview-ink-bar\"></li>\n </ul>\n <div class=\"p-tabview-panels\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.css']\n})\nexport class TabView implements AfterContentInit,AfterViewChecked,BlockableUI {\n\n @Input() orientation: string = 'top';\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() controlClose: boolean;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n \n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter();\n \n initialized: boolean;\n \n tabs: TabPanel[];\n \n _activeIndex: number;\n \n preventActiveIndexPropagation: boolean;\n\n tabChanged: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n \n ngAfterContentInit() {\n this.initTabs();\n \n this.tabPanels.changes.subscribe(_ => {\n this.initTabs();\n });\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n \n initTabs(): void {\n this.tabs = this.tabPanels.toArray();\n let selectedTab: TabPanel = this.findSelectedTab();\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex)\n this.tabs[this.activeIndex].selected = true;\n else\n this.tabs[0].selected = true;\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n \n open(event: Event, tab: TabPanel) {\n if (tab.disabled) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n \n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab();\n if (selectedTab) {\n selectedTab.selected = false\n }\n \n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({originalEvent: event, index: selectedTabIndex});\n }\n \n if (event) {\n event.preventDefault();\n }\n }\n \n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }}\n );\n }\n else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n \n event.stopPropagation();\n }\n \n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for(let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed&&!tab.disabled) {\n tabPanel.selected = true;\n break;\n }\n }\n }\n \n tab.closed = true;\n }\n \n findSelectedTab() {\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n \n findTabIndex(tab: TabPanel) {\n let index = -1;\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n \n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n \n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(val:number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n this.findSelectedTab().selected = false;\n this.tabs[this._activeIndex].selected = true;\n this.tabChanged = true;\n }\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n}\n\n\n@NgModule({\n imports: [CommonModule,SharedModule,TooltipModule,RippleModule],\n exports: [TabView,TabPanel,SharedModule],\n declarations: [TabView,TabPanel]\n})\nexport class TabViewModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Component","Inject","forwardRef","ViewContainerRef","ChangeDetectorRef","Input","ContentChildren","PrimeTemplate","EventEmitter","DomHandler","ChangeDetectionStrategy","ViewEncapsulation","ElementRef","ViewChild","Output","NgModule","CommonModule","SharedModule","TooltipModule","RippleModule"],"mappings":";;;;;;IASA,IAAI,GAAG,GAAW,CAAC,CAAC;;QA0DhB,kBAA+C,OAAO,EAAS,aAA+B,EAAS,EAAqB;YAA7D,kBAAa,GAAb,aAAa,CAAkB;YAAS,OAAE,GAAF,EAAE,CAAmB;YApCnH,UAAK,GAAY,IAAI,CAAC;YAItB,oBAAe,GAAW,KAAK,CAAC;YAEhC,yBAAoB,GAAW,UAAU,CAAC;YAsBnD,OAAE,GAAW,gBAAc,GAAG,EAAI,CAAC;YAS/B,IAAI,CAAC,OAAO,GAAG,OAAkB,CAAC;SACrC;QAED,qCAAkB,GAAlB;YAAA,iBAgBC;YAfG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI;gBACxB,QAAO,IAAI,CAAC,OAAO,EAAE;oBACjB,KAAK,QAAQ;wBACT,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACxC,MAAM;oBAEN,KAAK,SAAS;wBACV,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACzC,MAAM;oBAEN;wBACI,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;wBACzC,MAAM;iBACT;aACJ,CAAC,CAAC;SACN;QAED,sBAAa,8BAAQ;iBAArB;gBACI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBAED,UAAa,GAAY;gBACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBAErB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;iBAC3B;gBAED,IAAI,GAAG;oBACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aAC1B;;;WAXA;QAaD,sBAAa,8BAAQ;iBAArB;gBACI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBAED,UAAa,QAAiB;gBAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAClC;;;WALA;QAAA,CAAC;QAOF,sBAAa,4BAAM;iBAAnB;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC;aACvB;iBAED,UAAW,MAAc;gBACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAClC;;;WALA;QAOD,sBAAa,8BAAQ;iBAArB;gBACI,OAAO,IAAI,CAAC,SAAS,CAAC;aACzB;iBAED,UAAa,QAAgB;gBACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAClC;;;WALA;QAOD,sBAAa,+BAAS;iBAAtB;gBACI,OAAO,IAAI,CAAC,UAAU,CAAC;aAC1B;iBAED,UAAc,SAAiB;gBAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;aAClC;;;WALA;QAOD,8BAAW,GAAX;YACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACpB;;;;gBAnIJA,cAAS,SAAC;oBACP,QAAQ,EAAE,YAAY;oBACtB,QAAQ,EAAE,kdAQT;iBACJ;;;gDA6CgBC,WAAM,SAACC,eAAU,CAAC,cAAM,OAAA,OAAO,GAAA,CAAC;gBAlEaC,qBAAgB;gBAACC,sBAAiB;;;2BAwB3FC,UAAK;8BAELA,UAAK;mCAELA,UAAK;wBAELA,UAAK;0BAELA,UAAK;kCAELA,UAAK;uCAELA,UAAK;oCAELA,UAAK;4BAELC,oBAAe,SAACC,iBAAa;2BAgD7BF,UAAK;2BAeLA,UAAK;yBASLA,UAAK;2BASLA,UAAK;4BASLA,UAAK;;;QA6EN,iBAAmB,EAAc,EAAS,EAAqB;YAA5C,OAAE,GAAF,EAAE,CAAY;YAAS,OAAE,GAAF,EAAE,CAAmB;YA9BtD,gBAAW,GAAW,KAAK,CAAC;YAc3B,aAAQ,GAAsB,IAAIG,iBAAY,EAAE,CAAC;YAEjD,YAAO,GAAsB,IAAIA,iBAAY,EAAE,CAAC;YAEhD,sBAAiB,GAAyB,IAAIA,iBAAY,EAAE,CAAC;SAYJ;QAEnE,oCAAkB,GAAlB;YAAA,iBAMC;YALG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,UAAA,CAAC;gBAC9B,KAAI,CAAC,QAAQ,EAAE,CAAC;aACnB,CAAC,CAAC;SACN;QAED,oCAAkB,GAAlB;YACI,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAC3B;SACJ;QAED,0BAAQ,GAAR;YACI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,WAAW,GAAa,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAClC,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW;oBAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;;oBAE5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aAC1B;YAED,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;SAC1B;QAED,sBAAI,GAAJ,UAAK,KAAY,EAAE,GAAa;YAC5B,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,IAAI,KAAK,EAAE;oBACP,KAAK,CAAC,cAAc,EAAE,CAAC;iBAC1B;gBACD,OAAO;aACV;YAED,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACf,IAAI,WAAW,GAAa,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnD,IAAI,WAAW,EAAE;oBACb,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAA;iBAC/B;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAC,CAAC,CAAC;aACvE;YAED,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;SACJ;QAED,uBAAK,GAAL,UAAM,KAAY,EAAE,GAAa;YAAjC,iBAmBC;YAlBG,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACd,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAC7B,KAAK,EAAE;wBACH,KAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;qBACtB;iBAAC,CACL,CAAC;aACL;iBACI;gBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACd,aAAa,EAAE,KAAK;oBACpB,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;iBAChC,CAAC,CAAC;aACN;YAED,KAAK,CAAC,eAAe,EAAE,CAAC;SAC3B;QAED,0BAAQ,GAAR,UAAS,GAAa;YAClB,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,OAAO;aACV;YACD,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;wBACjC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACzB,MAAM;qBACT;iBACJ;aACJ;YAED,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;SACrB;QAED,iCAAe,GAAf;YACI,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;oBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACvB;aACJ;YACD,OAAO,IAAI,CAAC;SACf;QAED,8BAAY,GAAZ,UAAa,GAAa;YACtB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;oBACrB,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;iBACT;aACJ;YACD,OAAO,KAAK,CAAC;SAChB;QAED,qCAAmB,GAAnB;YACI,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC5C;QAED,sBAAa,gCAAW;iBAAxB;gBACI,OAAO,IAAI,CAAC,YAAY,CAAC;aAC5B;iBAED,UAAgB,GAAU;gBACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,IAAI,IAAI,CAAC,6BAA6B,EAAE;oBACpC,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;oBAC3C,OAAO;iBACV;gBAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;oBACpG,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;iBAC1B;aACJ;;;WAdA;QAgBD,8BAAY,GAAZ;YACI,IAAI,SAAS,GAAGC,cAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;YACnF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAGA,cAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAIA,cAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,GAAGA,cAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;SAC9I;;;;gBAhNJT,cAAS,SAAC;oBACP,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,87DAwBT;oBACF,eAAe,EAAEU,4BAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAEC,sBAAiB,CAAC,IAAI;;iBAEvC;;;gBA/K0BC,eAAU;gBAC0CR,sBAAiB;;;8BAiL3FC,UAAK;wBAELA,UAAK;6BAELA,UAAK;+BAELA,UAAK;yBAELQ,cAAS,SAAC,QAAQ;yBAElBA,cAAS,SAAC,QAAQ;4BAElBP,oBAAe,SAAC,QAAQ;2BAExBQ,WAAM;0BAENA,WAAM;oCAENA,WAAM;8BAuINT,UAAK;;;QA+BV;;;;;gBALCU,aAAQ,SAAC;oBACN,OAAO,EAAE,CAACC,mBAAY,EAACC,gBAAY,EAACC,qBAAa,EAACC,mBAAY,CAAC;oBAC/D,OAAO,EAAE,CAAC,OAAO,EAAC,QAAQ,EAACF,gBAAY,CAAC;oBACxC,YAAY,EAAE,CAAC,OAAO,EAAC,QAAQ,CAAC;iBACnC;;;ICzWD;;;;;;;;;;;;;;"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/tooltip"),require("primeng/ripple"),require("primeng/api"),require("primeng/dom")):"function"==typeof define&&define.amd?define("primeng/tabview",["exports","@angular/core","@angular/common","primeng/tooltip","primeng/ripple","primeng/api","primeng/dom"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.tabview={}),e.ng.core,e.ng.common,e.primeng.tooltip,e.primeng.ripple,e.primeng.api,e.primeng.dom)}(this,(function(e,t,n,i,a,o,s){"use strict";var r=0,l=function(){function e(e,t,n){this.viewContainer=t,this.cd=n,this.cache=!0,this.tooltipPosition="top",this.tooltipPositionStyle="absolute",this.id="p-tabpanel-"+r++,this.tabView=e}return e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"header":e.headerTemplate=t.template;break;case"content":default:e.contentTemplate=t.template}}))},Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,this.loaded||this.cd.detectChanges(),e&&(this.loaded=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"header",{get:function(){return this._header},set:function(e){this._header=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leftIcon",{get:function(){return this._leftIcon},set:function(e){this._leftIcon=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightIcon",{get:function(){return this._rightIcon},set:function(e){this._rightIcon=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.view=null},e}();l.decorators=[{type:t.Component,args:[{selector:"p-tabPanel",template:'\n <div [attr.id]="id" class="p-tabview-panel" [hidden]="!selected"\n role="tabpanel" [attr.aria-hidden]="!selected" [attr.aria-labelledby]="id + \'-label\'" *ngIf="!closed">\n <ng-content></ng-content>\n <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">\n <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>\n </ng-container>\n </div>\n '}]}],l.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return p}))]}]},{type:t.ViewContainerRef},{type:t.ChangeDetectorRef}]},l.propDecorators={closable:[{type:t.Input}],headerStyle:[{type:t.Input}],headerStyleClass:[{type:t.Input}],cache:[{type:t.Input}],tooltip:[{type:t.Input}],tooltipPosition:[{type:t.Input}],tooltipPositionStyle:[{type:t.Input}],tooltipStyleClass:[{type:t.Input}],templates:[{type:t.ContentChildren,args:[o.PrimeTemplate]}],selected:[{type:t.Input}],disabled:[{type:t.Input}],header:[{type:t.Input}],leftIcon:[{type:t.Input}],rightIcon:[{type:t.Input}]};var p=function(){function e(e,n){this.el=e,this.cd=n,this.orientation="top",this.onChange=new t.EventEmitter,this.onClose=new t.EventEmitter,this.activeIndexChange=new t.EventEmitter}return e.prototype.ngAfterContentInit=function(){var e=this;this.initTabs(),this.tabPanels.changes.subscribe((function(t){e.initTabs()}))},e.prototype.ngAfterViewChecked=function(){this.tabChanged&&(this.updateInkBar(),this.tabChanged=!1)},e.prototype.initTabs=function(){this.tabs=this.tabPanels.toArray(),!this.findSelectedTab()&&this.tabs.length&&(null!=this.activeIndex&&this.tabs.length>this.activeIndex?this.tabs[this.activeIndex].selected=!0:this.tabs[0].selected=!0,this.tabChanged=!0),this.cd.markForCheck()},e.prototype.open=function(e,t){if(t.disabled)e&&e.preventDefault();else{if(!t.selected){var n=this.findSelectedTab();n&&(n.selected=!1),this.tabChanged=!0,t.selected=!0;var i=this.findTabIndex(t);this.preventActiveIndexPropagation=!0,this.activeIndexChange.emit(i),this.onChange.emit({originalEvent:e,index:i})}e&&e.preventDefault()}},e.prototype.close=function(e,t){var n=this;this.controlClose?this.onClose.emit({originalEvent:e,index:this.findTabIndex(t),close:function(){n.closeTab(t)}}):(this.closeTab(t),this.onClose.emit({originalEvent:e,index:this.findTabIndex(t)})),e.stopPropagation()},e.prototype.closeTab=function(e){if(!e.disabled){if(e.selected){this.tabChanged=!0,e.selected=!1;for(var t=0;t<this.tabs.length;t++){var n=this.tabs[t];if(!n.closed&&!e.disabled){n.selected=!0;break}}}e.closed=!0}},e.prototype.findSelectedTab=function(){for(var e=0;e<this.tabs.length;e++)if(this.tabs[e].selected)return this.tabs[e];return null},e.prototype.findTabIndex=function(e){for(var t=-1,n=0;n<this.tabs.length;n++)if(this.tabs[n]==e){t=n;break}return t},e.prototype.getBlockableElement=function(){return this.el.nativeElement.children[0]},Object.defineProperty(e.prototype,"activeIndex",{get:function(){return this._activeIndex},set:function(e){this._activeIndex=e,this.preventActiveIndexPropagation?this.preventActiveIndexPropagation=!1:this.tabs&&this.tabs.length&&null!=this._activeIndex&&this.tabs.length>this._activeIndex&&(this.findSelectedTab().selected=!1,this.tabs[this._activeIndex].selected=!0)},enumerable:!1,configurable:!0}),e.prototype.updateInkBar=function(){var e=s.DomHandler.findSingle(this.navbar.nativeElement,"li.p-highlight");this.inkbar.nativeElement.style.width=s.DomHandler.getWidth(e)+"px",this.inkbar.nativeElement.style.left=s.DomHandler.getOffset(e).left-s.DomHandler.getOffset(this.navbar.nativeElement).left+"px"},e}();p.decorators=[{type:t.Component,args:[{selector:"p-tabView",template:'\n <div [ngClass]="\'p-tabview p-component\'" [ngStyle]="style" [class]="styleClass">\n <ul #navbar class="p-tabview-nav" role="tablist">\n <ng-template ngFor let-tab [ngForOf]="tabs">\n <li role="presentation" [ngClass]="{\'p-highlight\': tab.selected, \'p-disabled\': tab.disabled}" [ngStyle]="tab.headerStyle" [class]="tab.headerStyleClass" *ngIf="!tab.closed">\n <a role="tab" class="p-tabview-nav-link" [attr.id]="tab.id + \'-label\'" [attr.aria-selected]="tab.selected" [attr.aria-controls]="tab.id" [pTooltip]="tab.tooltip" [tooltipPosition]="tab.tooltipPosition"\n [attr.aria-selected]="tab.selected" [positionStyle]="tab.tooltipPositionStyle" [tooltipStyleClass]="tab.tooltipStyleClass"\n (click)="open($event,tab)" (keydown.enter)="open($event,tab)" pRipple [attr.tabindex]="tab.disabled ? null : \'0\'">\n <ng-container *ngIf="!tab.headerTemplate">\n <span class="p-tabview-left-icon" [ngClass]="tab.leftIcon" *ngIf="tab.leftIcon"></span>\n <span class="p-tabview-title">{{tab.header}}</span>\n <span class="p-tabview-right-icon" [ngClass]="tab.rightIcon" *ngIf="tab.rightIcon"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet="tab.headerTemplate"></ng-container>\n <span *ngIf="tab.closable" class="p-tabview-close pi pi-times" (click)="close($event,tab)"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class="p-tabview-ink-bar"></li>\n </ul>\n <div class="p-tabview-panels">\n <ng-content></ng-content>\n </div>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-tabview-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.p-tabview-nav-link{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;overflow:hidden;position:relative;text-decoration:none;user-select:none}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1}.p-tabview-close{z-index:1}"]}]}],p.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ChangeDetectorRef}]},p.propDecorators={orientation:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],controlClose:[{type:t.Input}],navbar:[{type:t.ViewChild,args:["navbar"]}],inkbar:[{type:t.ViewChild,args:["inkbar"]}],tabPanels:[{type:t.ContentChildren,args:[l]}],onChange:[{type:t.Output}],onClose:[{type:t.Output}],activeIndexChange:[{type:t.Output}],activeIndex:[{type:t.Input}]};var c=function(){};c.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,o.SharedModule,i.TooltipModule,a.RippleModule],exports:[p,l,o.SharedModule],declarations:[p,l]}]}],e.TabPanel=l,e.TabView=p,e.TabViewModule=c,Object.defineProperty(e,"__esModule",{value:!0})}));
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/tooltip"),require("primeng/ripple"),require("primeng/api"),require("primeng/dom")):"function"==typeof define&&define.amd?define("primeng/tabview",["exports","@angular/core","@angular/common","primeng/tooltip","primeng/ripple","primeng/api","primeng/dom"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).primeng=e.primeng||{},e.primeng.tabview={}),e.ng.core,e.ng.common,e.primeng.tooltip,e.primeng.ripple,e.primeng.api,e.primeng.dom)}(this,(function(e,t,n,i,a,o,s){"use strict";var r=0,l=function(){function e(e,t,n){this.viewContainer=t,this.cd=n,this.cache=!0,this.tooltipPosition="top",this.tooltipPositionStyle="absolute",this.id="p-tabpanel-"+r++,this.tabView=e}return e.prototype.ngAfterContentInit=function(){var e=this;this.templates.forEach((function(t){switch(t.getType()){case"header":e.headerTemplate=t.template;break;case"content":default:e.contentTemplate=t.template}}))},Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,this.loaded||this.cd.detectChanges(),e&&(this.loaded=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"header",{get:function(){return this._header},set:function(e){this._header=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leftIcon",{get:function(){return this._leftIcon},set:function(e){this._leftIcon=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightIcon",{get:function(){return this._rightIcon},set:function(e){this._rightIcon=e,this.tabView.cd.markForCheck()},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){this.view=null},e}();l.decorators=[{type:t.Component,args:[{selector:"p-tabPanel",template:'\n <div [attr.id]="id" class="p-tabview-panel" [hidden]="!selected"\n role="tabpanel" [attr.aria-hidden]="!selected" [attr.aria-labelledby]="id + \'-label\'" *ngIf="!closed">\n <ng-content></ng-content>\n <ng-container *ngIf="contentTemplate && (cache ? loaded : selected)">\n <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>\n </ng-container>\n </div>\n '}]}],l.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[t.forwardRef((function(){return p}))]}]},{type:t.ViewContainerRef},{type:t.ChangeDetectorRef}]},l.propDecorators={closable:[{type:t.Input}],headerStyle:[{type:t.Input}],headerStyleClass:[{type:t.Input}],cache:[{type:t.Input}],tooltip:[{type:t.Input}],tooltipPosition:[{type:t.Input}],tooltipPositionStyle:[{type:t.Input}],tooltipStyleClass:[{type:t.Input}],templates:[{type:t.ContentChildren,args:[o.PrimeTemplate]}],selected:[{type:t.Input}],disabled:[{type:t.Input}],header:[{type:t.Input}],leftIcon:[{type:t.Input}],rightIcon:[{type:t.Input}]};var p=function(){function e(e,n){this.el=e,this.cd=n,this.orientation="top",this.onChange=new t.EventEmitter,this.onClose=new t.EventEmitter,this.activeIndexChange=new t.EventEmitter}return e.prototype.ngAfterContentInit=function(){var e=this;this.initTabs(),this.tabPanels.changes.subscribe((function(t){e.initTabs()}))},e.prototype.ngAfterViewChecked=function(){this.tabChanged&&(this.updateInkBar(),this.tabChanged=!1)},e.prototype.initTabs=function(){this.tabs=this.tabPanels.toArray(),!this.findSelectedTab()&&this.tabs.length&&(null!=this.activeIndex&&this.tabs.length>this.activeIndex?this.tabs[this.activeIndex].selected=!0:this.tabs[0].selected=!0,this.tabChanged=!0),this.cd.markForCheck()},e.prototype.open=function(e,t){if(t.disabled)e&&e.preventDefault();else{if(!t.selected){var n=this.findSelectedTab();n&&(n.selected=!1),this.tabChanged=!0,t.selected=!0;var i=this.findTabIndex(t);this.preventActiveIndexPropagation=!0,this.activeIndexChange.emit(i),this.onChange.emit({originalEvent:e,index:i})}e&&e.preventDefault()}},e.prototype.close=function(e,t){var n=this;this.controlClose?this.onClose.emit({originalEvent:e,index:this.findTabIndex(t),close:function(){n.closeTab(t)}}):(this.closeTab(t),this.onClose.emit({originalEvent:e,index:this.findTabIndex(t)})),e.stopPropagation()},e.prototype.closeTab=function(e){if(!e.disabled){if(e.selected){this.tabChanged=!0,e.selected=!1;for(var t=0;t<this.tabs.length;t++){var n=this.tabs[t];if(!n.closed&&!e.disabled){n.selected=!0;break}}}e.closed=!0}},e.prototype.findSelectedTab=function(){for(var e=0;e<this.tabs.length;e++)if(this.tabs[e].selected)return this.tabs[e];return null},e.prototype.findTabIndex=function(e){for(var t=-1,n=0;n<this.tabs.length;n++)if(this.tabs[n]==e){t=n;break}return t},e.prototype.getBlockableElement=function(){return this.el.nativeElement.children[0]},Object.defineProperty(e.prototype,"activeIndex",{get:function(){return this._activeIndex},set:function(e){this._activeIndex=e,this.preventActiveIndexPropagation?this.preventActiveIndexPropagation=!1:this.tabs&&this.tabs.length&&null!=this._activeIndex&&this.tabs.length>this._activeIndex&&(this.findSelectedTab().selected=!1,this.tabs[this._activeIndex].selected=!0,this.tabChanged=!0)},enumerable:!1,configurable:!0}),e.prototype.updateInkBar=function(){var e=s.DomHandler.findSingle(this.navbar.nativeElement,"li.p-highlight");this.inkbar.nativeElement.style.width=s.DomHandler.getWidth(e)+"px",this.inkbar.nativeElement.style.left=s.DomHandler.getOffset(e).left-s.DomHandler.getOffset(this.navbar.nativeElement).left+"px"},e}();p.decorators=[{type:t.Component,args:[{selector:"p-tabView",template:'\n <div [ngClass]="\'p-tabview p-component\'" [ngStyle]="style" [class]="styleClass">\n <ul #navbar class="p-tabview-nav" role="tablist">\n <ng-template ngFor let-tab [ngForOf]="tabs">\n <li role="presentation" [ngClass]="{\'p-highlight\': tab.selected, \'p-disabled\': tab.disabled}" [ngStyle]="tab.headerStyle" [class]="tab.headerStyleClass" *ngIf="!tab.closed">\n <a role="tab" class="p-tabview-nav-link" [attr.id]="tab.id + \'-label\'" [attr.aria-selected]="tab.selected" [attr.aria-controls]="tab.id" [pTooltip]="tab.tooltip" [tooltipPosition]="tab.tooltipPosition"\n [attr.aria-selected]="tab.selected" [positionStyle]="tab.tooltipPositionStyle" [tooltipStyleClass]="tab.tooltipStyleClass"\n (click)="open($event,tab)" (keydown.enter)="open($event,tab)" pRipple [attr.tabindex]="tab.disabled ? null : \'0\'">\n <ng-container *ngIf="!tab.headerTemplate">\n <span class="p-tabview-left-icon" [ngClass]="tab.leftIcon" *ngIf="tab.leftIcon"></span>\n <span class="p-tabview-title">{{tab.header}}</span>\n <span class="p-tabview-right-icon" [ngClass]="tab.rightIcon" *ngIf="tab.rightIcon"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet="tab.headerTemplate"></ng-container>\n <span *ngIf="tab.closable" class="p-tabview-close pi pi-times" (click)="close($event,tab)"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class="p-tabview-ink-bar"></li>\n </ul>\n <div class="p-tabview-panels">\n <ng-content></ng-content>\n </div>\n </div>\n ',changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,styles:[".p-tabview-nav{display:flex;flex-wrap:wrap;list-style-type:none;margin:0;padding:0}.p-tabview-nav-link{-ms-user-select:none;-webkit-user-select:none;align-items:center;cursor:pointer;display:flex;overflow:hidden;position:relative;text-decoration:none;user-select:none}.p-tabview-ink-bar{display:none;z-index:1}.p-tabview-nav-link:focus{z-index:1}.p-tabview-title{line-height:1}.p-tabview-close{z-index:1}"]}]}],p.ctorParameters=function(){return[{type:t.ElementRef},{type:t.ChangeDetectorRef}]},p.propDecorators={orientation:[{type:t.Input}],style:[{type:t.Input}],styleClass:[{type:t.Input}],controlClose:[{type:t.Input}],navbar:[{type:t.ViewChild,args:["navbar"]}],inkbar:[{type:t.ViewChild,args:["inkbar"]}],tabPanels:[{type:t.ContentChildren,args:[l]}],onChange:[{type:t.Output}],onClose:[{type:t.Output}],activeIndexChange:[{type:t.Output}],activeIndex:[{type:t.Input}]};var c=function(){};c.decorators=[{type:t.NgModule,args:[{imports:[n.CommonModule,o.SharedModule,i.TooltipModule,a.RippleModule],exports:[p,l,o.SharedModule],declarations:[p,l]}]}],e.TabPanel=l,e.TabView=p,e.TabViewModule=c,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
2
|
//# sourceMappingURL=primeng-tabview.umd.min.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/app/components/tabview/tabview.ts"],"names":["idx","TabPanel","tabView","viewContainer","cd","this","cache","tooltipPosition","tooltipPositionStyle","id","prototype","ngAfterContentInit","_this","templates","forEach","item","getType","headerTemplate","template","contentTemplate","Object","defineProperty","_selected","val","loaded","detectChanges","_disabled","disabled","markForCheck","_header","header","_leftIcon","leftIcon","_rightIcon","rightIcon","ngOnDestroy","view","Component","args","selector","Inject","forwardRef","TabView","ViewContainerRef","ChangeDetectorRef","Input","ContentChildren","PrimeTemplate","el","orientation","onChange","EventEmitter","onClose","activeIndexChange","initTabs","tabPanels","changes","subscribe","_","ngAfterViewChecked","tabChanged","updateInkBar","tabs","toArray","findSelectedTab","length","activeIndex","selected","open","event","tab","preventDefault","selectedTab","selectedTabIndex","findTabIndex","preventActiveIndexPropagation","emit","originalEvent","index","close","controlClose","closeTab","stopPropagation","i","tabPanel","closed","getBlockableElement","nativeElement","children","_activeIndex","tabHeader","DomHandler","findSingle","navbar","inkbar","style","width","getWidth","left","getOffset","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","ViewChild","Output","NgModule","imports","CommonModule","SharedModule","TooltipModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,AfterContentInit,\n ContentChildren,QueryList,TemplateRef,EmbeddedViewRef,ViewContainerRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, AfterViewChecked, forwardRef, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {BlockableUI} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\n\nlet idx: number = 0;\n\n@Component({\n selector: 'p-tabPanel',\n template: `\n <div [attr.id]=\"id\" class=\"p-tabview-panel\" [hidden]=\"!selected\"\n role=\"tabpanel\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"id + '-label'\" *ngIf=\"!closed\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n </div>\n `\n})\nexport class TabPanel implements AfterContentInit,OnDestroy {\n \n @Input() closable: boolean;\n \n @Input() headerStyle: any;\n \n @Input() headerStyleClass: string;\n \n @Input() cache: boolean = true;\n\n @Input() tooltip: any;\n \n @Input() tooltipPosition: string = 'top';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n closed: boolean;\n \n view: EmbeddedViewRef<any>;\n \n _selected: boolean;\n\n _disabled: boolean;\n \n _header: string;\n\n _leftIcon: string;\n\n _rightIcon: string;\n \n loaded: boolean;\n \n id: string = `p-tabpanel-${idx++}`;\n \n contentTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n tabView: TabView;\n\n constructor(@Inject(forwardRef(() => TabView)) tabView, public viewContainer: ViewContainerRef, public cd: ChangeDetectorRef) {\n this.tabView = tabView as TabView;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n \n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n \n @Input() get selected(): boolean {\n return this._selected;\n }\n\n set selected(val: boolean) {\n this._selected = val;\n \n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val)\n this.loaded = true;\n }\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n \n @Input() get header(): string {\n return this._header;\n }\n \n set header(header: string) {\n this._header = header;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n\n set leftIcon(leftIcon :string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get rightIcon(): string {\n return this._rightIcon;\n }\n\n set rightIcon(rightIcon :string) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n \n ngOnDestroy() {\n this.view = null;\n }\n}\n\n@Component({\n selector: 'p-tabView',\n template: `\n <div [ngClass]=\"'p-tabview p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabview-nav\" role=\"tablist\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <li role=\"presentation\" [ngClass]=\"{'p-highlight': tab.selected, 'p-disabled': tab.disabled}\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\" *ngIf=\"!tab.closed\">\n <a role=\"tab\" class=\"p-tabview-nav-link\" [attr.id]=\"tab.id + '-label'\" [attr.aria-selected]=\"tab.selected\" [attr.aria-controls]=\"tab.id\" [pTooltip]=\"tab.tooltip\" [tooltipPosition]=\"tab.tooltipPosition\"\n [attr.aria-selected]=\"tab.selected\" [positionStyle]=\"tab.tooltipPositionStyle\" [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n (click)=\"open($event,tab)\" (keydown.enter)=\"open($event,tab)\" pRipple [attr.tabindex]=\"tab.disabled ? null : '0'\">\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"p-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\n <span class=\"p-tabview-title\">{{tab.header}}</span>\n <span class=\"p-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <span *ngIf=\"tab.closable\" class=\"p-tabview-close pi pi-times\" (click)=\"close($event,tab)\"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class=\"p-tabview-ink-bar\"></li>\n </ul>\n <div class=\"p-tabview-panels\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.css']\n})\nexport class TabView implements AfterContentInit,AfterViewChecked,BlockableUI {\n\n @Input() orientation: string = 'top';\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() controlClose: boolean;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n \n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter();\n \n initialized: boolean;\n \n tabs: TabPanel[];\n \n _activeIndex: number;\n \n preventActiveIndexPropagation: boolean;\n\n tabChanged: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n \n ngAfterContentInit() {\n this.initTabs();\n \n this.tabPanels.changes.subscribe(_ => {\n this.initTabs();\n });\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n \n initTabs(): void {\n this.tabs = this.tabPanels.toArray();\n let selectedTab: TabPanel = this.findSelectedTab();\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex)\n this.tabs[this.activeIndex].selected = true;\n else\n this.tabs[0].selected = true;\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n \n open(event: Event, tab: TabPanel) {\n if (tab.disabled) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n \n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab();\n if (selectedTab) {\n selectedTab.selected = false\n }\n \n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({originalEvent: event, index: selectedTabIndex});\n }\n \n if (event) {\n event.preventDefault();\n }\n }\n \n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }}\n );\n }\n else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n \n event.stopPropagation();\n }\n \n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for(let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed&&!tab.disabled) {\n tabPanel.selected = true;\n break;\n }\n }\n }\n \n tab.closed = true;\n }\n \n findSelectedTab() {\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n \n findTabIndex(tab: TabPanel) {\n let index = -1;\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n \n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n \n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(val:number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n this.findSelectedTab().selected = false;\n this.tabs[this._activeIndex].selected = true;\n }\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n}\n\n\n@NgModule({\n imports: [CommonModule,SharedModule,TooltipModule,RippleModule],\n exports: [TabView,TabPanel,SharedModule],\n declarations: [TabView,TabPanel]\n})\nexport class TabViewModule { }\n"]}
|
1
|
+
{"version":3,"sources":["../../src/app/components/tabview/tabview.ts"],"names":["idx","TabPanel","tabView","viewContainer","cd","this","cache","tooltipPosition","tooltipPositionStyle","id","prototype","ngAfterContentInit","_this","templates","forEach","item","getType","headerTemplate","template","contentTemplate","Object","defineProperty","_selected","val","loaded","detectChanges","_disabled","disabled","markForCheck","_header","header","_leftIcon","leftIcon","_rightIcon","rightIcon","ngOnDestroy","view","Component","args","selector","Inject","forwardRef","TabView","ViewContainerRef","ChangeDetectorRef","Input","ContentChildren","PrimeTemplate","el","orientation","onChange","EventEmitter","onClose","activeIndexChange","initTabs","tabPanels","changes","subscribe","_","ngAfterViewChecked","tabChanged","updateInkBar","tabs","toArray","findSelectedTab","length","activeIndex","selected","open","event","tab","preventDefault","selectedTab","selectedTabIndex","findTabIndex","preventActiveIndexPropagation","emit","originalEvent","index","close","controlClose","closeTab","stopPropagation","i","tabPanel","closed","getBlockableElement","nativeElement","children","_activeIndex","tabHeader","DomHandler","findSingle","navbar","inkbar","style","width","getWidth","left","getOffset","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","ViewChild","Output","NgModule","imports","CommonModule","SharedModule","TooltipModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,AfterContentInit,\n ContentChildren,QueryList,TemplateRef,EmbeddedViewRef,ViewContainerRef,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation, ViewChild, AfterViewChecked, forwardRef, Inject} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\nimport {SharedModule,PrimeTemplate} from 'primeng/api';\nimport {BlockableUI} from 'primeng/api';\nimport {DomHandler} from 'primeng/dom';\n\nlet idx: number = 0;\n\n@Component({\n selector: 'p-tabPanel',\n template: `\n <div [attr.id]=\"id\" class=\"p-tabview-panel\" [hidden]=\"!selected\"\n role=\"tabpanel\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"id + '-label'\" *ngIf=\"!closed\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </ng-container>\n </div>\n `\n})\nexport class TabPanel implements AfterContentInit,OnDestroy {\n \n @Input() closable: boolean;\n \n @Input() headerStyle: any;\n \n @Input() headerStyleClass: string;\n \n @Input() cache: boolean = true;\n\n @Input() tooltip: any;\n \n @Input() tooltipPosition: string = 'top';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n \n closed: boolean;\n \n view: EmbeddedViewRef<any>;\n \n _selected: boolean;\n\n _disabled: boolean;\n \n _header: string;\n\n _leftIcon: string;\n\n _rightIcon: string;\n \n loaded: boolean;\n \n id: string = `p-tabpanel-${idx++}`;\n \n contentTemplate: TemplateRef<any>;\n\n headerTemplate: TemplateRef<any>;\n\n tabView: TabView;\n\n constructor(@Inject(forwardRef(() => TabView)) tabView, public viewContainer: ViewContainerRef, public cd: ChangeDetectorRef) {\n this.tabView = tabView as TabView;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n \n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n \n @Input() get selected(): boolean {\n return this._selected;\n }\n\n set selected(val: boolean) {\n this._selected = val;\n \n if (!this.loaded) {\n this.cd.detectChanges();\n }\n\n if (val)\n this.loaded = true;\n }\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n this.tabView.cd.markForCheck();\n }\n \n @Input() get header(): string {\n return this._header;\n }\n \n set header(header: string) {\n this._header = header;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get leftIcon(): string {\n return this._leftIcon;\n }\n\n set leftIcon(leftIcon :string) {\n this._leftIcon = leftIcon;\n this.tabView.cd.markForCheck();\n }\n\n @Input() get rightIcon(): string {\n return this._rightIcon;\n }\n\n set rightIcon(rightIcon :string) {\n this._rightIcon = rightIcon;\n this.tabView.cd.markForCheck();\n }\n \n ngOnDestroy() {\n this.view = null;\n }\n}\n\n@Component({\n selector: 'p-tabView',\n template: `\n <div [ngClass]=\"'p-tabview p-component'\" [ngStyle]=\"style\" [class]=\"styleClass\">\n <ul #navbar class=\"p-tabview-nav\" role=\"tablist\">\n <ng-template ngFor let-tab [ngForOf]=\"tabs\">\n <li role=\"presentation\" [ngClass]=\"{'p-highlight': tab.selected, 'p-disabled': tab.disabled}\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\" *ngIf=\"!tab.closed\">\n <a role=\"tab\" class=\"p-tabview-nav-link\" [attr.id]=\"tab.id + '-label'\" [attr.aria-selected]=\"tab.selected\" [attr.aria-controls]=\"tab.id\" [pTooltip]=\"tab.tooltip\" [tooltipPosition]=\"tab.tooltipPosition\"\n [attr.aria-selected]=\"tab.selected\" [positionStyle]=\"tab.tooltipPositionStyle\" [tooltipStyleClass]=\"tab.tooltipStyleClass\"\n (click)=\"open($event,tab)\" (keydown.enter)=\"open($event,tab)\" pRipple [attr.tabindex]=\"tab.disabled ? null : '0'\">\n <ng-container *ngIf=\"!tab.headerTemplate\">\n <span class=\"p-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon\"></span>\n <span class=\"p-tabview-title\">{{tab.header}}</span>\n <span class=\"p-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon\"></span>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n <span *ngIf=\"tab.closable\" class=\"p-tabview-close pi pi-times\" (click)=\"close($event,tab)\"></span>\n </a>\n </li>\n </ng-template>\n <li #inkbar class=\"p-tabview-ink-bar\"></li>\n </ul>\n <div class=\"p-tabview-panels\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tabview.css']\n})\nexport class TabView implements AfterContentInit,AfterViewChecked,BlockableUI {\n\n @Input() orientation: string = 'top';\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() controlClose: boolean;\n\n @ViewChild('navbar') navbar: ElementRef;\n\n @ViewChild('inkbar') inkbar: ElementRef;\n \n @ContentChildren(TabPanel) tabPanels: QueryList<TabPanel>;\n\n @Output() onChange: EventEmitter<any> = new EventEmitter();\n\n @Output() onClose: EventEmitter<any> = new EventEmitter();\n\n @Output() activeIndexChange: EventEmitter<number> = new EventEmitter();\n \n initialized: boolean;\n \n tabs: TabPanel[];\n \n _activeIndex: number;\n \n preventActiveIndexPropagation: boolean;\n\n tabChanged: boolean;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef) {}\n \n ngAfterContentInit() {\n this.initTabs();\n \n this.tabPanels.changes.subscribe(_ => {\n this.initTabs();\n });\n }\n\n ngAfterViewChecked() {\n if (this.tabChanged) {\n this.updateInkBar();\n this.tabChanged = false;\n }\n }\n \n initTabs(): void {\n this.tabs = this.tabPanels.toArray();\n let selectedTab: TabPanel = this.findSelectedTab();\n if (!selectedTab && this.tabs.length) {\n if (this.activeIndex != null && this.tabs.length > this.activeIndex)\n this.tabs[this.activeIndex].selected = true;\n else\n this.tabs[0].selected = true;\n\n this.tabChanged = true;\n }\n\n this.cd.markForCheck();\n }\n \n open(event: Event, tab: TabPanel) {\n if (tab.disabled) {\n if (event) {\n event.preventDefault();\n }\n return;\n }\n \n if (!tab.selected) {\n let selectedTab: TabPanel = this.findSelectedTab();\n if (selectedTab) {\n selectedTab.selected = false\n }\n \n this.tabChanged = true;\n tab.selected = true;\n let selectedTabIndex = this.findTabIndex(tab);\n this.preventActiveIndexPropagation = true;\n this.activeIndexChange.emit(selectedTabIndex);\n this.onChange.emit({originalEvent: event, index: selectedTabIndex});\n }\n \n if (event) {\n event.preventDefault();\n }\n }\n \n close(event: Event, tab: TabPanel) {\n if (this.controlClose) {\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab),\n close: () => {\n this.closeTab(tab);\n }}\n );\n }\n else {\n this.closeTab(tab);\n this.onClose.emit({\n originalEvent: event,\n index: this.findTabIndex(tab)\n });\n }\n \n event.stopPropagation();\n }\n \n closeTab(tab: TabPanel) {\n if (tab.disabled) {\n return;\n }\n if (tab.selected) {\n this.tabChanged = true;\n tab.selected = false;\n for(let i = 0; i < this.tabs.length; i++) {\n let tabPanel = this.tabs[i];\n if (!tabPanel.closed&&!tab.disabled) {\n tabPanel.selected = true;\n break;\n }\n }\n }\n \n tab.closed = true;\n }\n \n findSelectedTab() {\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i].selected) {\n return this.tabs[i];\n }\n }\n return null;\n }\n \n findTabIndex(tab: TabPanel) {\n let index = -1;\n for(let i = 0; i < this.tabs.length; i++) {\n if (this.tabs[i] == tab) {\n index = i;\n break;\n }\n }\n return index;\n }\n \n getBlockableElement(): HTMLElement {\n return this.el.nativeElement.children[0];\n }\n \n @Input() get activeIndex(): number {\n return this._activeIndex;\n }\n\n set activeIndex(val:number) {\n this._activeIndex = val;\n if (this.preventActiveIndexPropagation) {\n this.preventActiveIndexPropagation = false;\n return;\n }\n\n if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {\n this.findSelectedTab().selected = false;\n this.tabs[this._activeIndex].selected = true;\n this.tabChanged = true;\n }\n }\n\n updateInkBar() {\n let tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.p-highlight');\n this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';\n this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';\n }\n}\n\n\n@NgModule({\n imports: [CommonModule,SharedModule,TooltipModule,RippleModule],\n exports: [TabView,TabPanel,SharedModule],\n declarations: [TabView,TabPanel]\n})\nexport class TabViewModule { }\n"]}
|
@@ -169,7 +169,7 @@
|
|
169
169
|
TieredMenuSub.decorators = [
|
170
170
|
{ type: core.Component, args: [{
|
171
171
|
selector: 'p-tieredMenuSub',
|
172
|
-
template: "\n <ul [ngClass]=\"{'p-submenu-list': !root}\">\n <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n <li *ngIf=\"child.separator\" class=\"p-menu-separator\" [ngClass]=\"{'p-hidden': child.visible === false}\">\n <li *ngIf=\"!child.separator\" #listItem [ngClass]=\"{'p-menuitem':true, 'p-menuitem-active': child === activeItem, 'p-hidden': child.visible === false}\">\n <a *ngIf=\"!child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [attr.href]=\"child.url\" [attr.data-automationid]=\"child.automationId\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" \n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" \n [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\"
|
172
|
+
template: "\n <ul [ngClass]=\"{'p-submenu-list': !root}\">\n <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n <li *ngIf=\"child.separator\" class=\"p-menu-separator\" [ngClass]=\"{'p-hidden': child.visible === false}\">\n <li *ngIf=\"!child.separator\" #listItem [ngClass]=\"{'p-menuitem':true, 'p-menuitem-active': child === activeItem, 'p-hidden': child.visible === false}\" [ngStyle]=\"child.style\" [class]=\"child.styleClass\">\n <a *ngIf=\"!child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [attr.href]=\"child.url\" [attr.data-automationid]=\"child.automationId\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" \n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" \n [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\"\n [attr.tabindex]=\"child.disabled ? null : '0'\" [attr.aria-haspopup]=\"item.items != null\" [attr.aria-expanded]=\"item === activeItem\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlLabel\">{{child.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <a *ngIf=\"child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [routerLink]=\"child.routerLink\" [attr.data-automationid]=\"child.automationId\" [queryParams]=\"child.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"child.routerLinkActiveOptions||{exact:false}\"\n [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.disabled ? null : '0'\" role=\"menuitem\"\n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\"\n [fragment]=\"child.fragment\" [queryParamsHandling]=\"child.queryParamsHandling\" [preserveFragment]=\"child.preserveFragment\" [skipLocationChange]=\"child.skipLocationChange\" [replaceUrl]=\"child.replaceUrl\" [state]=\"child.state\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlRouteLabel\">{{child.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <p-tieredMenuSub (keydownItem)=\"onChildItemKeyDown($event)\" [parentActive]=\"child === activeItem\" [item]=\"child\" *ngIf=\"child.items\" [mobileActive]=\"mobileActive\" [autoDisplay]=\"autoDisplay\" (leafClick)=\"onLeafClick()\" [popup]=\"popup\"></p-tieredMenuSub>\n </li>\n </ng-template>\n </ul>\n ",
|
173
173
|
encapsulation: core.ViewEncapsulation.None
|
174
174
|
},] }
|
175
175
|
];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-tieredmenu.umd.js","sources":["../../src/app/components/tieredmenu/tieredmenu.ts","../../src/app/components/tieredmenu/primeng-tieredmenu.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Renderer2, OnDestroy,ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { MenuItem } from 'primeng/api';\nimport { RouterModule } from '@angular/router';\nimport { RippleModule } from 'primeng/ripple'; \nimport { animate, style, transition, trigger, AnimationEvent } from '@angular/animations';\n\n@Component({\n selector: 'p-tieredMenuSub',\n template: `\n <ul [ngClass]=\"{'p-submenu-list': !root}\">\n <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n <li *ngIf=\"child.separator\" class=\"p-menu-separator\" [ngClass]=\"{'p-hidden': child.visible === false}\">\n <li *ngIf=\"!child.separator\" #listItem [ngClass]=\"{'p-menuitem':true, 'p-menuitem-active': child === activeItem, 'p-hidden': child.visible === false}\">\n <a *ngIf=\"!child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [attr.href]=\"child.url\" [attr.data-automationid]=\"child.automationId\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" \n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" \n [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\" [ngStyle]=\"child.style\" [class]=\"child.styleClass\" \n [attr.tabindex]=\"child.disabled ? null : '0'\" [attr.aria-haspopup]=\"item.items != null\" [attr.aria-expanded]=\"item === activeItem\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlLabel\">{{child.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <a *ngIf=\"child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [routerLink]=\"child.routerLink\" [attr.data-automationid]=\"child.automationId\" [queryParams]=\"child.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"child.routerLinkActiveOptions||{exact:false}\"\n [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.disabled ? null : '0'\" role=\"menuitem\"\n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\" [ngStyle]=\"child.style\" [class]=\"child.styleClass\"\n [fragment]=\"child.fragment\" [queryParamsHandling]=\"child.queryParamsHandling\" [preserveFragment]=\"child.preserveFragment\" [skipLocationChange]=\"child.skipLocationChange\" [replaceUrl]=\"child.replaceUrl\" [state]=\"child.state\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlRouteLabel\">{{child.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <p-tieredMenuSub (keydownItem)=\"onChildItemKeyDown($event)\" [parentActive]=\"child === activeItem\" [item]=\"child\" *ngIf=\"child.items\" [mobileActive]=\"mobileActive\" [autoDisplay]=\"autoDisplay\" (leafClick)=\"onLeafClick()\" [popup]=\"popup\"></p-tieredMenuSub>\n </li>\n </ng-template>\n </ul>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TieredMenuSub implements OnDestroy {\n\n @Input() item: MenuItem;\n\n @Input() root: boolean;\n\n @Input() autoDisplay: boolean;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() mobileActive: boolean;\n\n @Input() popup: boolean;\n\n @Input() get parentActive():boolean \n {\n return this._parentActive;\n }\n set parentActive(value) {\n if (!this.root) {\n this._parentActive = value;\n\n if (!value)\n this.activeItem = null;\n }\n }\n\n @Output() leafClick: EventEmitter<any> = new EventEmitter();\n\n @Output() keydownItem: EventEmitter<any> = new EventEmitter();\n\n _parentActive: boolean;\n\n documentClickListener: any;\n\n menuHoverActive: boolean = false;\n\n activeItem: any;\n\n constructor(public el: ElementRef, public renderer: Renderer2, private cd: ChangeDetectorRef) { }\n\n onItemClick(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (item.items) {\n if (this.activeItem && item === this.activeItem) {\n this.activeItem = null;\n this.unbindDocumentClickListener();\n }\n else {\n this.activeItem = item;\n if (this.root) {\n this.bindDocumentClickListener();\n }\n }\n }\n\n if (!item.items) {\n this.onLeafClick();\n }\n }\n\n onItemMouseEnter(event, item) {\n if (item.disabled || this.mobileActive) {\n event.preventDefault();\n return;\n }\n\n if (this.root) {\n if (this.activeItem || this.autoDisplay || this.popup) {\n this.activeItem = item;\n this.bindDocumentClickListener();\n }\n }\n else {\n this.activeItem = item;\n this.bindDocumentClickListener();\n }\n }\n\n onLeafClick() {\n this.activeItem = null;\n if (this.root) {\n this.unbindDocumentClickListener();\n }\n\n this.leafClick.emit();\n }\n\n onItemKeyDown(event, item) {\n let listItem = event.currentTarget.parentElement;\n\n switch (event.key) {\n case 'ArrowDown':\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.children[0].focus();\n }\n\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.children[0].focus();\n }\n\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n if (item.items) {\n this.activeItem = item;\n\n if (this.root) {\n this.bindDocumentClickListener();\n }\n\n setTimeout(() => {\n listItem.children[1].children[0].children[0].children[0].focus();\n }, 50);\n }\n\n event.preventDefault();\n break;\n\n default:\n break;\n }\n\n this.keydownItem.emit({\n originalEvent: event,\n element: listItem\n });\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? 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-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onChildItemKeyDown(event) {\n if (event.originalEvent.key === 'ArrowLeft') {\n this.activeItem = null;\n\n if (this.root) {\n this.unbindDocumentClickListener();\n }\n\n event.element.parentElement.parentElement.parentElement.children[0].focus();\n }\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = (event) => {\n if (this.el && !this.el.nativeElement.contains(event.target)) {\n this.activeItem = null;\n this.cd.markForCheck();\n this.unbindDocumentClickListener();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n\n ngOnDestroy() {\n this.unbindDocumentClickListener();\n }\n}\n\n@Component({\n selector: 'p-tieredMenu',\n template: `\n <div [ngClass]=\"{'p-tieredmenu p-component':true, 'p-tieredmenu-overlay':popup}\" [class]=\"styleClass\" [ngStyle]=\"style\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"popup !== true\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (click)=\"preventDocumentDefault=true\" *ngIf=\"!popup || visible\">\n <p-tieredMenuSub [item]=\"model\" root=\"root\" [parentActive]=\"parentActive\" [baseZIndex]=\"baseZIndex\" [autoZIndex]=\"autoZIndex\" (leafClick)=\"onLeafClick()\" \n [autoDisplay]=\"autoDisplay\" [popup]=\"popup\"></p-tieredMenuSub>\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tieredmenu.css']\n})\nexport class TieredMenu implements OnDestroy {\n\n @Input() model: MenuItem[];\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() appendTo: any;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() autoDisplay: boolean;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n parentActive: boolean;\n\n container: HTMLDivElement;\n\n documentClickListener: any;\n\n documentResizeListener: any;\n\n preventDocumentDefault: boolean;\n\n scrollHandler: any;\n\n target: any;\n\n visible: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n toggle(event) {\n if (this.visible)\n this.hide();\n else\n this.show(event);\n\n this.preventDocumentDefault = true;\n }\n\n show(event) {\n this.target = event.currentTarget;\n this.visible = true;\n this.parentActive = true;\n this.preventDocumentDefault = true;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (this.popup) {\n this.container = event.element;\n this.moveOnTop();\n this.appendOverlay();\n DomHandler.absolutePosition(this.container, this.target);\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\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.container);\n else\n DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.container && this.appendTo) {\n this.el.nativeElement.appendChild(this.container);\n }\n }\n\n moveOnTop() {\n if (this.autoZIndex) {\n this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n }\n\n hide() {\n this.visible = false;\n this.parentActive = false;\n this.cd.markForCheck();\n }\n\n onWindowResize() {\n this.hide();\n }\n\n onLeafClick() {\n if (this.popup) {\n this.hide();\n }\n\n this.unbindDocumentClickListener();\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', () => {\n if (!this.preventDocumentDefault && this.popup) {\n this.hide();\n }\n\n this.preventDocumentDefault = false;\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 bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\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.preventDocumentDefault = false;\n this.target = null;\n }\n\n ngOnDestroy() {\n if (this.popup) {\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\n@NgModule({\n imports: [CommonModule,RouterModule,RippleModule],\n exports: [TieredMenu,RouterModule],\n declarations: [TieredMenu,TieredMenuSub]\n})\nexport class TieredMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","DomHandler","Component","ViewEncapsulation","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ConnectedOverlayScrollHandler","trigger","transition","style","animate","ChangeDetectionStrategy","NgModule","CommonModule","RouterModule","RippleModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-tieredmenu.umd.js","sources":["../../src/app/components/tieredmenu/tieredmenu.ts","../../src/app/components/tieredmenu/primeng-tieredmenu.ts"],"sourcesContent":["import { NgModule, Component, ElementRef, Input, Renderer2, OnDestroy,ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation, Output, EventEmitter } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { MenuItem } from 'primeng/api';\nimport { RouterModule } from '@angular/router';\nimport { RippleModule } from 'primeng/ripple'; \nimport { animate, style, transition, trigger, AnimationEvent } from '@angular/animations';\n\n@Component({\n selector: 'p-tieredMenuSub',\n template: `\n <ul [ngClass]=\"{'p-submenu-list': !root}\">\n <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n <li *ngIf=\"child.separator\" class=\"p-menu-separator\" [ngClass]=\"{'p-hidden': child.visible === false}\">\n <li *ngIf=\"!child.separator\" #listItem [ngClass]=\"{'p-menuitem':true, 'p-menuitem-active': child === activeItem, 'p-hidden': child.visible === false}\" [ngStyle]=\"child.style\" [class]=\"child.styleClass\">\n <a *ngIf=\"!child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [attr.href]=\"child.url\" [attr.data-automationid]=\"child.automationId\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" \n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" \n [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\"\n [attr.tabindex]=\"child.disabled ? null : '0'\" [attr.aria-haspopup]=\"item.items != null\" [attr.aria-expanded]=\"item === activeItem\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlLabel\">{{child.label}}</span>\n <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <a *ngIf=\"child.routerLink\" (keydown)=\"onItemKeyDown($event, child)\" [routerLink]=\"child.routerLink\" [attr.data-automationid]=\"child.automationId\" [queryParams]=\"child.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\" [routerLinkActiveOptions]=\"child.routerLinkActiveOptions||{exact:false}\"\n [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.disabled ? null : '0'\" role=\"menuitem\"\n (click)=\"onItemClick($event, child)\" (mouseenter)=\"onItemMouseEnter($event,child)\" [ngClass]=\"{'p-menuitem-link':true,'p-disabled':child.disabled}\"\n [fragment]=\"child.fragment\" [queryParamsHandling]=\"child.queryParamsHandling\" [preserveFragment]=\"child.preserveFragment\" [skipLocationChange]=\"child.skipLocationChange\" [replaceUrl]=\"child.replaceUrl\" [state]=\"child.state\" pRipple>\n <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlRouteLabel\">{{child.label}}</span>\n <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n <span class=\"p-submenu-icon pi pi-angle-right\" *ngIf=\"child.items\"></span>\n </a>\n <p-tieredMenuSub (keydownItem)=\"onChildItemKeyDown($event)\" [parentActive]=\"child === activeItem\" [item]=\"child\" *ngIf=\"child.items\" [mobileActive]=\"mobileActive\" [autoDisplay]=\"autoDisplay\" (leafClick)=\"onLeafClick()\" [popup]=\"popup\"></p-tieredMenuSub>\n </li>\n </ng-template>\n </ul>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TieredMenuSub implements OnDestroy {\n\n @Input() item: MenuItem;\n\n @Input() root: boolean;\n\n @Input() autoDisplay: boolean;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() mobileActive: boolean;\n\n @Input() popup: boolean;\n\n @Input() get parentActive():boolean \n {\n return this._parentActive;\n }\n set parentActive(value) {\n if (!this.root) {\n this._parentActive = value;\n\n if (!value)\n this.activeItem = null;\n }\n }\n\n @Output() leafClick: EventEmitter<any> = new EventEmitter();\n\n @Output() keydownItem: EventEmitter<any> = new EventEmitter();\n\n _parentActive: boolean;\n\n documentClickListener: any;\n\n menuHoverActive: boolean = false;\n\n activeItem: any;\n\n constructor(public el: ElementRef, public renderer: Renderer2, private cd: ChangeDetectorRef) { }\n\n onItemClick(event, item) {\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (!item.url && !item.routerLink) {\n event.preventDefault();\n }\n\n if (item.command) {\n item.command({\n originalEvent: event,\n item: item\n });\n }\n\n if (item.items) {\n if (this.activeItem && item === this.activeItem) {\n this.activeItem = null;\n this.unbindDocumentClickListener();\n }\n else {\n this.activeItem = item;\n if (this.root) {\n this.bindDocumentClickListener();\n }\n }\n }\n\n if (!item.items) {\n this.onLeafClick();\n }\n }\n\n onItemMouseEnter(event, item) {\n if (item.disabled || this.mobileActive) {\n event.preventDefault();\n return;\n }\n\n if (this.root) {\n if (this.activeItem || this.autoDisplay || this.popup) {\n this.activeItem = item;\n this.bindDocumentClickListener();\n }\n }\n else {\n this.activeItem = item;\n this.bindDocumentClickListener();\n }\n }\n\n onLeafClick() {\n this.activeItem = null;\n if (this.root) {\n this.unbindDocumentClickListener();\n }\n\n this.leafClick.emit();\n }\n\n onItemKeyDown(event, item) {\n let listItem = event.currentTarget.parentElement;\n\n switch (event.key) {\n case 'ArrowDown':\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.children[0].focus();\n }\n\n event.preventDefault();\n break;\n\n case 'ArrowUp':\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.children[0].focus();\n }\n\n event.preventDefault();\n break;\n\n case 'ArrowRight':\n if (item.items) {\n this.activeItem = item;\n\n if (this.root) {\n this.bindDocumentClickListener();\n }\n\n setTimeout(() => {\n listItem.children[1].children[0].children[0].children[0].focus();\n }, 50);\n }\n\n event.preventDefault();\n break;\n\n default:\n break;\n }\n\n this.keydownItem.emit({\n originalEvent: event,\n element: listItem\n });\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem)\n return DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? 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-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? this.findPrevItem(prevItem) : prevItem;\n else\n return null;\n }\n\n onChildItemKeyDown(event) {\n if (event.originalEvent.key === 'ArrowLeft') {\n this.activeItem = null;\n\n if (this.root) {\n this.unbindDocumentClickListener();\n }\n\n event.element.parentElement.parentElement.parentElement.children[0].focus();\n }\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = (event) => {\n if (this.el && !this.el.nativeElement.contains(event.target)) {\n this.activeItem = null;\n this.cd.markForCheck();\n this.unbindDocumentClickListener();\n }\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n }\n\n ngOnDestroy() {\n this.unbindDocumentClickListener();\n }\n}\n\n@Component({\n selector: 'p-tieredMenu',\n template: `\n <div [ngClass]=\"{'p-tieredmenu p-component':true, 'p-tieredmenu-overlay':popup}\" [class]=\"styleClass\" [ngStyle]=\"style\"\n [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"popup !== true\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" (click)=\"preventDocumentDefault=true\" *ngIf=\"!popup || visible\">\n <p-tieredMenuSub [item]=\"model\" root=\"root\" [parentActive]=\"parentActive\" [baseZIndex]=\"baseZIndex\" [autoZIndex]=\"autoZIndex\" (leafClick)=\"onLeafClick()\" \n [autoDisplay]=\"autoDisplay\" [popup]=\"popup\"></p-tieredMenuSub>\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 changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./tieredmenu.css']\n})\nexport class TieredMenu implements OnDestroy {\n\n @Input() model: MenuItem[];\n\n @Input() popup: boolean;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() appendTo: any;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() autoDisplay: boolean;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n parentActive: boolean;\n\n container: HTMLDivElement;\n\n documentClickListener: any;\n\n documentResizeListener: any;\n\n preventDocumentDefault: boolean;\n\n scrollHandler: any;\n\n target: any;\n\n visible: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n toggle(event) {\n if (this.visible)\n this.hide();\n else\n this.show(event);\n\n this.preventDocumentDefault = true;\n }\n\n show(event) {\n this.target = event.currentTarget;\n this.visible = true;\n this.parentActive = true;\n this.preventDocumentDefault = true;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n if (this.popup) {\n this.container = event.element;\n this.moveOnTop();\n this.appendOverlay();\n DomHandler.absolutePosition(this.container, this.target);\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n }\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.container);\n else\n DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n restoreOverlayAppend() {\n if (this.container && this.appendTo) {\n this.el.nativeElement.appendChild(this.container);\n }\n }\n\n moveOnTop() {\n if (this.autoZIndex) {\n this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n }\n\n hide() {\n this.visible = false;\n this.parentActive = false;\n this.cd.markForCheck();\n }\n\n onWindowResize() {\n this.hide();\n }\n\n onLeafClick() {\n if (this.popup) {\n this.hide();\n }\n\n this.unbindDocumentClickListener();\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', () => {\n if (!this.preventDocumentDefault && this.popup) {\n this.hide();\n }\n\n this.preventDocumentDefault = false;\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 bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n if (this.visible) {\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.preventDocumentDefault = false;\n this.target = null;\n }\n\n ngOnDestroy() {\n if (this.popup) {\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\n@NgModule({\n imports: [CommonModule,RouterModule,RippleModule],\n exports: [TieredMenu,RouterModule],\n declarations: [TieredMenu,TieredMenuSub]\n})\nexport class TieredMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","DomHandler","Component","ViewEncapsulation","ElementRef","Renderer2","ChangeDetectorRef","Input","Output","ConnectedOverlayScrollHandler","trigger","transition","style","animate","ChangeDetectionStrategy","NgModule","CommonModule","RouterModule","RippleModule"],"mappings":"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"}
|