primevue 2.5.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.common.js +1 -1
- package/accordion/accordion.umd.js +1 -1
- package/accordiontab/accordiontab.common.js +28 -1
- package/accordiontab/accordiontab.umd.js +28 -1
- package/accordiontab/accordiontab.umd.min.js +1 -1
- package/api/Api.d.ts +296 -0
- package/api/Api.js +47 -0
- package/api/FilterMatchMode.js +26 -0
- package/api/FilterOperator.js +12 -0
- package/api/FilterService.js +260 -0
- package/api/PrimeIcons.js +246 -0
- package/api/ToastSeverity.js +14 -0
- package/api/api.common.js +4889 -0
- package/api/api.umd.js +4899 -0
- package/api/api.umd.min.js +1 -0
- package/api/demo.html +8 -0
- package/api/filtermatchmode.common.js +186 -0
- package/api/filtermatchmode.umd.js +196 -0
- package/api/filtermatchmode.umd.min.js +1 -0
- package/api/filteroperator.common.js +172 -0
- package/api/filteroperator.umd.js +182 -0
- package/api/filteroperator.umd.min.js +1 -0
- package/{utils/filterutils.common.js → api/filterservice.common.js} +207 -110
- package/{utils/filterutils.umd.js → api/filterservice.umd.js} +209 -112
- package/api/filterservice.umd.min.js +1 -0
- package/api/index.d.ts +1 -0
- package/api/index.js +2 -0
- package/api/primeicons.common.js +406 -0
- package/api/primeicons.umd.js +416 -0
- package/api/primeicons.umd.min.js +1 -0
- package/{confirmationservice/confirmationeventbus.common.js → api/toastseverity.common.js} +9 -9
- package/{confirmationservice/confirmationeventbus.umd.js → api/toastseverity.umd.js} +11 -11
- package/api/toastseverity.umd.min.js +1 -0
- package/autocomplete/AutoComplete.d.ts +1 -0
- package/autocomplete/AutoComplete.vue +8 -0
- package/autocomplete/autocomplete.common.js +61 -24
- package/autocomplete/autocomplete.umd.js +61 -24
- package/autocomplete/autocomplete.umd.min.js +1 -1
- package/avatar/avatar.common.js +1 -1
- package/avatar/avatar.umd.js +1 -1
- package/avatargroup/avatargroup.common.js +1 -1
- package/avatargroup/avatargroup.umd.js +1 -1
- package/badge/badge.common.js +1 -1
- package/badge/badge.umd.js +1 -1
- package/badgedirective/badgedirective.common.js +27 -0
- package/badgedirective/badgedirective.umd.js +27 -0
- package/badgedirective/badgedirective.umd.min.js +1 -1
- package/blockui/BlockUI.vue +6 -16
- package/blockui/blockui.common.js +38 -16
- package/blockui/blockui.umd.js +38 -16
- package/blockui/blockui.umd.min.js +1 -1
- package/breadcrumb/Breadcrumb.d.ts +1 -0
- package/breadcrumb/Breadcrumb.vue +6 -2
- package/breadcrumb/BreadcrumbItem.vue +30 -11
- package/breadcrumb/breadcrumb.common.js +44 -16
- package/breadcrumb/breadcrumb.umd.js +44 -16
- package/breadcrumb/breadcrumb.umd.min.js +1 -1
- package/breadcrumb/breadcrumbitem.common.js +34 -10
- package/breadcrumb/breadcrumbitem.umd.js +34 -10
- package/breadcrumb/breadcrumbitem.umd.min.js +1 -1
- package/button/button.common.js +28 -1
- package/button/button.umd.js +28 -1
- package/button/button.umd.min.js +1 -1
- package/calendar/Calendar.d.ts +5 -0
- package/calendar/Calendar.vue +339 -70
- package/calendar/calendar.common.js +400 -73
- package/calendar/calendar.umd.js +400 -73
- package/calendar/calendar.umd.min.js +1 -1
- package/card/card.common.js +1 -1
- package/card/card.umd.js +1 -1
- package/carousel/Carousel.vue +2 -2
- package/carousel/carousel.common.js +30 -3
- package/carousel/carousel.umd.js +30 -3
- package/carousel/carousel.umd.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +6 -4
- package/cascadeselect/CascadeSelect.vue +3 -1
- package/cascadeselect/cascadeselect.common.js +53 -21
- package/cascadeselect/cascadeselect.umd.js +53 -21
- package/cascadeselect/cascadeselect.umd.min.js +1 -1
- package/cascadeselect/cascadeselectsub.common.js +48 -18
- package/cascadeselect/cascadeselectsub.umd.js +48 -18
- package/cascadeselect/cascadeselectsub.umd.min.js +1 -1
- package/chart/Chart.vue +27 -11
- package/chart/chart.common.js +30 -12
- package/chart/chart.umd.js +30 -12
- package/chart/chart.umd.min.js +1 -1
- package/checkbox/Checkbox.css +1 -0
- package/checkbox/Checkbox.d.ts +2 -0
- package/checkbox/Checkbox.vue +11 -3
- package/checkbox/checkbox.common.js +38 -22
- package/checkbox/checkbox.umd.js +38 -22
- package/checkbox/checkbox.umd.min.js +1 -1
- package/chip/chip.common.js +1 -1
- package/chip/chip.umd.js +1 -1
- package/chips/chips.common.js +1 -1
- package/chips/chips.umd.js +1 -1
- package/colorpicker/colorpicker.common.js +28 -1
- package/colorpicker/colorpicker.umd.js +28 -1
- package/colorpicker/colorpicker.umd.min.js +1 -1
- package/column/Column.vue +72 -12
- package/column/column.common.js +71 -11
- package/column/column.umd.js +71 -11
- package/column/column.umd.min.js +1 -1
- package/columngroup/columngroup.common.js +1 -1
- package/columngroup/columngroup.umd.js +1 -1
- package/common/Common.css +13 -4
- package/config/PrimeVue.d.ts +24 -2
- package/config/PrimeVue.js +34 -4
- package/config/primevue.common.js +3584 -133
- package/config/primevue.umd.js +3584 -133
- package/config/primevue.umd.min.js +1 -1
- package/{confirmationservice → confirmationeventbus}/ConfirmationEventBus.js +3 -3
- package/confirmationeventbus/confirmationeventbus.common.js +1773 -0
- package/confirmationeventbus/confirmationeventbus.umd.js +1783 -0
- package/confirmationeventbus/confirmationeventbus.umd.min.js +1 -0
- package/confirmationeventbus/demo.html +8 -0
- package/confirmationeventbus/index.d.ts +1 -0
- package/confirmationeventbus/index.js +2 -0
- package/confirmationservice/ConfirmationService.js +1 -1
- package/confirmationservice/confirmationservice.common.js +1605 -6
- package/confirmationservice/confirmationservice.umd.js +1605 -6
- package/confirmationservice/confirmationservice.umd.min.js +1 -1
- package/confirmdialog/ConfirmDialog.vue +9 -3
- package/confirmdialog/confirmdialog.common.js +456 -44
- package/confirmdialog/confirmdialog.umd.js +456 -44
- package/confirmdialog/confirmdialog.umd.min.js +1 -1
- package/confirmpopup/ConfirmPopup.d.ts +4 -1
- package/confirmpopup/ConfirmPopup.vue +9 -6
- package/confirmpopup/confirmpopup.common.js +531 -13
- package/confirmpopup/confirmpopup.umd.js +531 -13
- package/confirmpopup/confirmpopup.umd.min.js +1 -1
- package/contextmenu/ContextMenu.d.ts +1 -0
- package/contextmenu/ContextMenu.vue +5 -1
- package/contextmenu/ContextMenuSub.vue +33 -13
- package/contextmenu/contextmenu.common.js +68 -14
- package/contextmenu/contextmenu.umd.js +68 -14
- package/contextmenu/contextmenu.umd.min.js +1 -1
- package/contextmenu/contextmenusub.common.js +58 -8
- package/contextmenu/contextmenusub.umd.js +58 -8
- package/contextmenu/contextmenusub.umd.min.js +1 -1
- package/datatable/BodyCell.vue +118 -34
- package/datatable/ColumnFilter.vue +558 -0
- package/datatable/ColumnSlot.vue +21 -1
- package/datatable/DataTable.d.ts +41 -15
- package/datatable/DataTable.vue +582 -391
- package/datatable/FooterCell.vue +82 -0
- package/datatable/HeaderCell.vue +246 -0
- package/datatable/TableBody.vue +92 -23
- package/datatable/TableFooter.vue +34 -18
- package/datatable/TableHeader.vue +79 -134
- package/datatable/bodycell.common.js +578 -56
- package/datatable/bodycell.umd.js +578 -56
- package/datatable/bodycell.umd.min.js +1 -1
- package/datatable/columnfilter.common.js +7610 -0
- package/datatable/columnfilter.umd.js +7620 -0
- package/datatable/columnfilter.umd.min.js +1 -0
- package/datatable/columnslot.common.js +21 -1
- package/datatable/columnslot.umd.js +21 -1
- package/datatable/columnslot.umd.min.js +1 -1
- package/datatable/datatable.common.js +4340 -1384
- package/datatable/datatable.umd.js +4340 -1384
- package/datatable/datatable.umd.min.js +1 -1
- package/datatable/demo.html +3 -4
- package/datatable/footercell.common.js +5453 -0
- package/datatable/footercell.umd.js +5463 -0
- package/datatable/footercell.umd.min.js +1 -0
- package/datatable/headercell.common.js +8058 -0
- package/datatable/headercell.umd.js +8068 -0
- package/datatable/headercell.umd.min.js +1 -0
- package/datatable/headercheckbox.common.js +1 -1
- package/datatable/headercheckbox.umd.js +1 -1
- package/datatable/rowcheckbox.common.js +1 -1
- package/datatable/rowcheckbox.umd.js +1 -1
- package/datatable/rowradiobutton.common.js +1 -1
- package/datatable/rowradiobutton.umd.js +1 -1
- package/datatable/tablebody.common.js +1066 -473
- package/datatable/tablebody.umd.js +1066 -473
- package/datatable/tablebody.umd.min.js +1 -1
- package/datatable/tablefooter.common.js +3785 -105
- package/datatable/tablefooter.umd.js +3785 -105
- package/datatable/tablefooter.umd.min.js +1 -1
- package/datatable/tableheader.common.js +6633 -2138
- package/datatable/tableheader.umd.js +6633 -2138
- package/datatable/tableheader.umd.min.js +1 -1
- package/datatable/tableloadingbody.common.js +22 -2
- package/datatable/tableloadingbody.umd.js +22 -2
- package/datatable/tableloadingbody.umd.min.js +1 -1
- package/dataview/DataView.d.ts +2 -2
- package/dataview/DataView.vue +10 -10
- package/dataview/dataview.common.js +1971 -80
- package/dataview/dataview.umd.js +1971 -80
- package/dataview/dataview.umd.min.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.common.js +1 -1
- package/dataviewlayoutoptions/dataviewlayoutoptions.umd.js +1 -1
- package/deferredcontent/deferredcontent.common.js +1 -1
- package/deferredcontent/deferredcontent.umd.js +1 -1
- package/dialog/Dialog.vue +35 -21
- package/dialog/dialog.common.js +62 -24
- package/dialog/dialog.umd.js +62 -24
- package/dialog/dialog.umd.min.js +1 -1
- package/divider/divider.common.js +1 -1
- package/divider/divider.umd.js +1 -1
- package/dock/Dock.d.ts +2 -0
- package/dock/Dock.vue +12 -2
- package/dock/DockSub.vue +45 -21
- package/dock/dock.common.js +44 -15
- package/dock/dock.umd.js +44 -15
- package/dock/dock.umd.min.js +1 -1
- package/dock/docksub.common.js +31 -7
- package/dock/docksub.umd.js +31 -7
- package/dock/docksub.umd.min.js +1 -1
- package/dropdown/Dropdown.d.ts +5 -3
- package/dropdown/Dropdown.vue +33 -5
- package/dropdown/dropdown.common.js +83 -24
- package/dropdown/dropdown.umd.js +83 -24
- package/dropdown/dropdown.umd.min.js +1 -1
- package/editor/editor.common.js +1 -1
- package/editor/editor.umd.js +1 -1
- package/fieldset/fieldset.common.js +28 -1
- package/fieldset/fieldset.umd.js +28 -1
- package/fieldset/fieldset.umd.min.js +1 -1
- package/fileupload/FileUpload.vue +5 -2
- package/fileupload/fileupload.common.js +55 -19
- package/fileupload/fileupload.umd.js +55 -19
- package/fileupload/fileupload.umd.min.js +1 -1
- package/fullcalendar/fullcalendar.common.js +342 -136
- package/fullcalendar/fullcalendar.umd.js +342 -136
- package/fullcalendar/fullcalendar.umd.min.js +4 -4
- package/galleria/Galleria.vue +3 -8
- package/galleria/GalleriaContent.vue +9 -0
- package/galleria/galleria.common.js +49 -17
- package/galleria/galleria.umd.js +49 -17
- package/galleria/galleria.umd.min.js +1 -1
- package/galleria/galleriacontent.common.js +40 -4
- package/galleria/galleriacontent.umd.js +40 -4
- package/galleria/galleriacontent.umd.min.js +1 -1
- package/galleria/galleriaitem.common.js +28 -1
- package/galleria/galleriaitem.umd.js +28 -1
- package/galleria/galleriaitem.umd.min.js +1 -1
- package/galleria/galleriathumbnails.common.js +28 -1
- package/galleria/galleriathumbnails.umd.js +28 -1
- package/galleria/galleriathumbnails.umd.min.js +1 -1
- package/imagepreview/ImagePreview.d.ts +10 -0
- package/imagepreview/ImagePreview.vue +205 -0
- package/imagepreview/demo.html +17 -0
- package/{datatable/scrollableview.common.js → imagepreview/imagepreview.common.js} +570 -463
- package/{datatable/scrollableview.umd.js → imagepreview/imagepreview.umd.js} +572 -465
- package/imagepreview/imagepreview.umd.min.js +1 -0
- package/imagepreview/index.d.ts +1 -0
- package/imagepreview/index.js +2 -0
- package/imagepreview/plugin.js +4 -0
- package/inlinemessage/inlinemessage.common.js +1 -1
- package/inlinemessage/inlinemessage.umd.js +1 -1
- package/inplace/inplace.common.js +29 -2
- package/inplace/inplace.umd.js +29 -2
- package/inplace/inplace.umd.min.js +1 -1
- package/inputmask/InputMask.vue +7 -5
- package/inputmask/inputmask.common.js +39 -12
- package/inputmask/inputmask.umd.js +39 -12
- package/inputmask/inputmask.umd.min.js +1 -1
- package/inputnumber/InputNumber.vue +183 -62
- package/inputnumber/inputnumber.common.js +249 -113
- package/inputnumber/inputnumber.umd.js +249 -113
- package/inputnumber/inputnumber.umd.min.js +1 -1
- package/inputswitch/InputSwitch.d.ts +2 -0
- package/inputswitch/InputSwitch.vue +15 -3
- package/inputswitch/inputswitch.common.js +17 -5
- package/inputswitch/inputswitch.umd.js +17 -5
- package/inputswitch/inputswitch.umd.min.js +1 -1
- package/inputtext/inputtext.common.js +3 -7
- package/inputtext/inputtext.umd.js +3 -7
- package/inputtext/inputtext.umd.min.js +1 -1
- package/knob/knob.common.js +1 -1
- package/knob/knob.umd.js +1 -1
- package/listbox/Listbox.d.ts +3 -3
- package/listbox/listbox.common.js +48 -18
- package/listbox/listbox.umd.js +48 -18
- package/listbox/listbox.umd.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +6 -1
- package/megamenu/MegaMenu.vue +51 -22
- package/megamenu/megamenu.common.js +74 -10
- package/megamenu/megamenu.umd.js +74 -10
- package/megamenu/megamenu.umd.min.js +1 -1
- package/menu/Menu.d.ts +1 -0
- package/menu/Menu.vue +11 -4
- package/menu/Menuitem.vue +25 -11
- package/menu/menu.common.js +68 -17
- package/menu/menu.umd.js +68 -17
- package/menu/menu.umd.min.js +1 -1
- package/menu/menuitem.common.js +55 -11
- package/menu/menuitem.umd.js +55 -11
- package/menu/menuitem.umd.min.js +1 -1
- package/menubar/Menubar.d.ts +1 -0
- package/menubar/Menubar.vue +5 -1
- package/menubar/MenubarSub.vue +34 -14
- package/menubar/menubar.common.js +68 -14
- package/menubar/menubar.umd.js +68 -14
- package/menubar/menubar.umd.min.js +1 -1
- package/menubar/menubarsub.common.js +58 -8
- package/menubar/menubarsub.umd.js +58 -8
- package/menubar/menubarsub.umd.min.js +1 -1
- package/message/Message.d.ts +1 -0
- package/message/Message.vue +5 -1
- package/message/message.common.js +34 -3
- package/message/message.umd.js +34 -3
- package/message/message.umd.min.js +1 -1
- package/multiselect/MultiSelect.d.ts +4 -3
- package/multiselect/MultiSelect.vue +8 -1
- package/multiselect/multiselect.common.js +58 -22
- package/multiselect/multiselect.umd.js +58 -22
- package/multiselect/multiselect.umd.min.js +1 -1
- package/orderlist/OrderList.d.ts +2 -0
- package/orderlist/OrderList.vue +2 -0
- package/orderlist/orderlist.common.js +53 -21
- package/orderlist/orderlist.umd.js +53 -21
- package/orderlist/orderlist.umd.min.js +1 -1
- package/organizationchart/organizationchart.common.js +31 -8
- package/organizationchart/organizationchart.umd.js +31 -8
- package/organizationchart/organizationchart.umd.min.js +1 -1
- package/organizationchart/organizationchartnode.common.js +28 -1
- package/organizationchart/organizationchartnode.umd.js +28 -1
- package/organizationchart/organizationchartnode.umd.min.js +1 -1
- package/overlayeventbus/OverlayEventBus.js +14 -0
- package/overlayeventbus/demo.html +8 -0
- package/overlayeventbus/index.d.ts +1 -0
- package/overlayeventbus/index.js +2 -0
- package/overlayeventbus/overlayeventbus.common.js +1773 -0
- package/overlayeventbus/overlayeventbus.umd.js +1783 -0
- package/overlayeventbus/overlayeventbus.umd.min.js +1 -0
- package/overlaypanel/overlaypanel.common.js +28 -1
- package/overlaypanel/overlaypanel.umd.js +28 -1
- package/overlaypanel/overlaypanel.umd.min.js +1 -1
- package/package.json +5 -1
- package/paginator/CurrentPageReport.vue +6 -2
- package/paginator/JumpToPageDropdown.vue +33 -0
- package/paginator/JumpToPageInput.vue +25 -0
- package/paginator/Paginator.d.ts +2 -2
- package/paginator/Paginator.vue +24 -11
- package/paginator/RowsPerPageDropdown.vue +3 -2
- package/paginator/currentpagereport.common.js +7 -3
- package/paginator/currentpagereport.umd.js +7 -3
- package/paginator/currentpagereport.umd.min.js +1 -1
- package/paginator/demo.html +3 -3
- package/paginator/firstpagelink.common.js +28 -1
- package/paginator/firstpagelink.umd.js +28 -1
- package/paginator/firstpagelink.umd.min.js +1 -1
- package/paginator/jumptopagedropdown.common.js +6501 -0
- package/paginator/jumptopagedropdown.umd.js +6511 -0
- package/paginator/jumptopagedropdown.umd.min.js +1 -0
- package/paginator/jumptopageinput.common.js +7438 -0
- package/paginator/jumptopageinput.umd.js +7448 -0
- package/paginator/jumptopageinput.umd.min.js +1 -0
- package/paginator/lastpagelink.common.js +28 -1
- package/paginator/lastpagelink.umd.js +28 -1
- package/paginator/lastpagelink.umd.min.js +1 -1
- package/paginator/nextpagelink.common.js +28 -1
- package/paginator/nextpagelink.umd.js +28 -1
- package/paginator/nextpagelink.umd.min.js +1 -1
- package/paginator/pagelinks.common.js +28 -1
- package/paginator/pagelinks.umd.js +28 -1
- package/paginator/pagelinks.umd.min.js +1 -1
- package/paginator/paginator.common.js +2277 -119
- package/paginator/paginator.umd.js +2277 -119
- package/paginator/paginator.umd.min.js +1 -1
- package/paginator/prevpagelink.common.js +28 -1
- package/paginator/prevpagelink.umd.js +28 -1
- package/paginator/prevpagelink.umd.min.js +1 -1
- package/paginator/rowsperpagedropdown.common.js +91 -31
- package/paginator/rowsperpagedropdown.umd.js +91 -31
- package/paginator/rowsperpagedropdown.umd.min.js +1 -1
- package/panel/Panel.d.ts +1 -0
- package/panel/Panel.vue +1 -1
- package/panel/panel.common.js +29 -2
- package/panel/panel.umd.js +29 -2
- package/panel/panel.umd.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +1 -0
- package/panelmenu/PanelMenu.vue +32 -6
- package/panelmenu/PanelMenuSub.vue +32 -13
- package/panelmenu/panelmenu.common.js +69 -16
- package/panelmenu/panelmenu.umd.js +69 -16
- package/panelmenu/panelmenu.umd.min.js +1 -1
- package/panelmenu/panelmenusub.common.js +29 -7
- package/panelmenu/panelmenusub.umd.js +29 -7
- package/panelmenu/panelmenusub.umd.min.js +1 -1
- package/password/password.common.js +31 -8
- package/password/password.umd.js +31 -8
- package/password/password.umd.min.js +1 -1
- package/picklist/PickList.d.ts +8 -0
- package/picklist/PickList.vue +10 -4
- package/picklist/picklist.common.js +57 -21
- package/picklist/picklist.umd.js +57 -21
- package/picklist/picklist.umd.min.js +1 -1
- package/progressbar/ProgressBar.vue +18 -14
- package/progressbar/progressbar.common.js +7 -5
- package/progressbar/progressbar.umd.js +7 -5
- package/progressbar/progressbar.umd.min.js +1 -1
- package/progressspinner/progressspinner.common.js +1 -1
- package/progressspinner/progressspinner.umd.js +1 -1
- package/radiobutton/radiobutton.common.js +26 -18
- package/radiobutton/radiobutton.umd.js +26 -18
- package/radiobutton/radiobutton.umd.min.js +1 -1
- package/rating/Rating.vue +1 -1
- package/rating/rating.common.js +3 -3
- package/rating/rating.umd.js +3 -3
- package/rating/rating.umd.min.js +1 -1
- package/resources/primevue.css +15 -4
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +178 -42
- package/resources/themes/arya-green/theme.css +178 -42
- package/resources/themes/arya-orange/theme.css +178 -42
- package/resources/themes/arya-purple/theme.css +178 -42
- package/resources/themes/bootstrap4-dark-blue/theme.css +175 -46
- package/resources/themes/bootstrap4-dark-purple/theme.css +175 -46
- package/resources/themes/bootstrap4-light-blue/theme.css +175 -46
- package/resources/themes/bootstrap4-light-purple/theme.css +175 -46
- package/resources/themes/fluent-light/theme.css +182 -46
- package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-dark-blue/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-dark-blue/theme.css +5418 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-dark-indigo/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-dark-indigo/theme.css +5418 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-dark-purple/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-dark-purple/theme.css +5418 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-dark-teal/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-dark-teal/theme.css +5418 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-light-blue/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-light-blue/theme.css +5418 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-light-indigo/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-light-indigo/theme.css +5418 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-light-purple/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-light-purple/theme.css +5418 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Light.woff +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/lara-light-teal/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/lara-light-teal/theme.css +5418 -0
- package/resources/themes/luna-amber/theme.css +175 -46
- package/resources/themes/luna-blue/theme.css +175 -46
- package/resources/themes/luna-green/theme.css +175 -46
- package/resources/themes/luna-pink/theme.css +175 -46
- package/resources/themes/md-dark-deeppurple/theme.css +379 -87
- package/resources/themes/md-dark-indigo/theme.css +379 -87
- package/resources/themes/md-light-deeppurple/theme.css +379 -87
- package/resources/themes/md-light-indigo/theme.css +379 -87
- package/resources/themes/mdc-dark-deeppurple/theme.css +379 -87
- package/resources/themes/mdc-dark-indigo/theme.css +379 -87
- package/resources/themes/mdc-light-deeppurple/theme.css +379 -87
- package/resources/themes/mdc-light-indigo/theme.css +379 -87
- package/resources/themes/nova/theme.css +175 -46
- package/resources/themes/nova-accent/theme.css +175 -46
- package/resources/themes/nova-alt/theme.css +175 -46
- package/resources/themes/nova-vue/theme.css +175 -46
- package/resources/themes/rhea/theme.css +175 -46
- package/resources/themes/saga-blue/theme.css +178 -42
- package/resources/themes/saga-green/theme.css +178 -42
- package/resources/themes/saga-orange/theme.css +178 -42
- package/resources/themes/saga-purple/theme.css +178 -42
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Bold.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Light.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Medium.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-Regular.woff2 +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff +0 -0
- package/resources/themes/tailwind-light/fonts/Inter-SemiBold.woff2 +0 -0
- package/resources/themes/tailwind-light/theme.css +5493 -0
- package/resources/themes/vela-blue/theme.css +178 -42
- package/resources/themes/vela-green/theme.css +178 -42
- package/resources/themes/vela-orange/theme.css +178 -42
- package/resources/themes/vela-purple/theme.css +178 -42
- package/ripple/ripple.common.js +27 -0
- package/ripple/ripple.umd.js +27 -0
- package/ripple/ripple.umd.min.js +1 -1
- package/row/row.common.js +1 -1
- package/row/row.umd.js +1 -1
- package/scrollpanel/scrollpanel.common.js +28 -1
- package/scrollpanel/scrollpanel.umd.js +28 -1
- package/scrollpanel/scrollpanel.umd.min.js +1 -1
- package/scrolltop/scrolltop.common.js +28 -1
- package/scrolltop/scrolltop.umd.js +28 -1
- package/scrolltop/scrolltop.umd.min.js +1 -1
- package/selectbutton/SelectButton.d.ts +3 -3
- package/selectbutton/SelectButton.vue +6 -1
- package/selectbutton/selectbutton.common.js +55 -20
- package/selectbutton/selectbutton.umd.js +55 -20
- package/selectbutton/selectbutton.umd.min.js +1 -1
- package/sidebar/Sidebar.vue +3 -16
- package/sidebar/sidebar.common.js +37 -15
- package/sidebar/sidebar.umd.js +37 -15
- package/sidebar/sidebar.umd.min.js +1 -1
- package/skeleton/skeleton.common.js +1 -1
- package/skeleton/skeleton.umd.js +1 -1
- package/slider/Slider.vue +20 -12
- package/slider/slider.common.js +41 -9
- package/slider/slider.umd.js +41 -9
- package/slider/slider.umd.min.js +1 -1
- package/speeddial/SpeedDial.d.ts +1 -0
- package/speeddial/SpeedDial.vue +10 -9
- package/speeddial/speeddial.common.js +40 -16
- package/speeddial/speeddial.umd.js +40 -16
- package/speeddial/speeddial.umd.min.js +1 -1
- package/splitbutton/splitbutton.common.js +73 -22
- package/splitbutton/splitbutton.umd.js +73 -22
- package/splitbutton/splitbutton.umd.min.js +1 -1
- package/splitter/splitter.common.js +27 -0
- package/splitter/splitter.umd.js +27 -0
- package/splitter/splitter.umd.min.js +1 -1
- package/steps/Steps.d.ts +1 -0
- package/steps/Steps.vue +30 -8
- package/steps/steps.common.js +33 -6
- package/steps/steps.umd.js +33 -6
- package/steps/steps.umd.min.js +1 -1
- package/styleclass/StyleClass.js +4 -1
- package/styleclass/styleclass.common.js +31 -1
- package/styleclass/styleclass.umd.js +31 -1
- package/styleclass/styleclass.umd.min.js +1 -1
- package/tabmenu/TabMenu.d.ts +1 -0
- package/tabmenu/TabMenu.vue +39 -10
- package/tabmenu/tabmenu.common.js +192 -8
- package/tabmenu/tabmenu.umd.js +192 -8
- package/tabmenu/tabmenu.umd.min.js +1 -1
- package/tabpanel/tabpanel.common.js +1 -1
- package/tabpanel/tabpanel.umd.js +1 -1
- package/tabview/TabView.d.ts +1 -0
- package/tabview/TabView.vue +111 -11
- package/tabview/tabview.common.js +124 -22
- package/tabview/tabview.umd.js +124 -22
- package/tabview/tabview.umd.min.js +1 -1
- package/tag/tag.common.js +1 -1
- package/tag/tag.umd.js +1 -1
- package/terminal/terminal.common.js +1 -1
- package/terminal/terminal.umd.js +1 -1
- package/textarea/textarea.common.js +3 -7
- package/textarea/textarea.umd.js +3 -7
- package/textarea/textarea.umd.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +1 -0
- package/tieredmenu/TieredMenu.vue +5 -1
- package/tieredmenu/TieredMenuSub.vue +30 -14
- package/tieredmenu/demo.html +3 -4
- package/tieredmenu/tieredmenu.common.js +63 -13
- package/tieredmenu/tieredmenu.umd.js +63 -13
- package/tieredmenu/tieredmenu.umd.min.js +1 -1
- package/tieredmenu/tieredmenusub.common.js +53 -7
- package/tieredmenu/tieredmenusub.umd.js +53 -7
- package/tieredmenu/tieredmenusub.umd.min.js +1 -1
- package/timeline/timeline.common.js +26 -18
- package/timeline/timeline.umd.js +26 -18
- package/timeline/timeline.umd.min.js +1 -1
- package/toast/Toast.d.ts +4 -1
- package/toast/Toast.vue +1 -1
- package/toast/toast.common.js +30 -5
- package/toast/toast.umd.js +30 -5
- package/toast/toast.umd.min.js +1 -1
- package/toast/toastmessage.common.js +28 -1
- package/toast/toastmessage.umd.js +28 -1
- package/toast/toastmessage.umd.min.js +1 -1
- package/togglebutton/togglebutton.common.js +28 -1
- package/togglebutton/togglebutton.umd.js +28 -1
- package/togglebutton/togglebutton.umd.min.js +1 -1
- package/toolbar/Toolbar.d.ts +1 -1
- package/toolbar/Toolbar.vue +2 -2
- package/toolbar/toolbar.common.js +3 -3
- package/toolbar/toolbar.umd.js +3 -3
- package/toolbar/toolbar.umd.min.js +1 -1
- package/tooltip/Tooltip.css +1 -0
- package/tooltip/Tooltip.js +37 -2
- package/tooltip/tooltip.common.js +1711 -24
- package/tooltip/tooltip.umd.js +1711 -24
- package/tooltip/tooltip.umd.min.js +1 -1
- package/tree/TreeNode.vue +5 -1
- package/tree/tree.common.js +63 -31
- package/tree/tree.umd.js +63 -31
- package/tree/tree.umd.min.js +1 -1
- package/tree/treenode.common.js +36 -9
- package/tree/treenode.umd.js +36 -9
- package/tree/treenode.umd.min.js +1 -1
- package/treetable/BodyCell.vue +162 -0
- package/treetable/FooterCell.vue +81 -0
- package/treetable/HeaderCell.vue +183 -0
- package/treetable/TreeTable.d.ts +2 -2
- package/treetable/TreeTable.vue +93 -116
- package/treetable/bodycell.common.js +5596 -0
- package/treetable/bodycell.umd.js +5606 -0
- package/treetable/bodycell.umd.min.js +1 -0
- package/treetable/demo.html +3 -3
- package/treetable/footercell.common.js +5300 -0
- package/treetable/footercell.umd.js +5310 -0
- package/treetable/footercell.umd.min.js +1 -0
- package/treetable/headercell.common.js +5529 -0
- package/treetable/headercell.umd.js +5539 -0
- package/treetable/headercell.umd.min.js +1 -0
- package/treetable/treetable.common.js +3801 -1562
- package/treetable/treetable.umd.js +3801 -1562
- package/treetable/treetable.umd.min.js +1 -1
- package/treetable/treetablerow.common.js +50 -21
- package/treetable/treetablerow.umd.js +50 -21
- package/treetable/treetablerow.umd.min.js +1 -1
- package/treetable/treetablerowloader.common.js +52 -24
- package/treetable/treetablerowloader.umd.js +52 -24
- package/treetable/treetablerowloader.umd.min.js +1 -1
- package/tristatecheckbox/tristatecheckbox.common.js +1 -1
- package/tristatecheckbox/tristatecheckbox.umd.js +1 -1
- package/utils/ConnectedOverlayScrollHandler.js +1 -1
- package/utils/DomHandler.js +23 -1
- package/utils/EventBus.js +33 -0
- package/utils/ObjectUtils.js +15 -2
- package/utils/Utils.d.ts +73 -0
- package/utils/Utils.js +47 -0
- package/utils/connectedoverlayscrollhandler.common.js +27 -0
- package/utils/connectedoverlayscrollhandler.umd.js +27 -0
- package/utils/connectedoverlayscrollhandler.umd.min.js +1 -1
- package/utils/demo.html +3 -3
- package/utils/domhandler.common.js +27 -0
- package/utils/domhandler.umd.js +27 -0
- package/utils/domhandler.umd.min.js +1 -1
- package/utils/eventbus.common.js +1770 -0
- package/utils/eventbus.umd.js +1780 -0
- package/utils/eventbus.umd.min.js +1 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +2 -0
- package/utils/objectutils.common.js +25 -17
- package/utils/objectutils.umd.js +25 -17
- package/utils/objectutils.umd.min.js +1 -1
- package/utils/utils.common.js +5481 -0
- package/utils/utils.umd.js +5491 -0
- package/utils/utils.umd.min.js +1 -0
- package/vetur-attributes.json +148 -20
- package/vetur-tags.json +57 -20
- package/web-types.json +477 -33
- package/confirmationservice/confirmationeventbus.umd.min.js +0 -1
- package/datatable/ScrollableView.vue +0 -223
- package/datatable/scrollableview.umd.min.js +0 -1
- package/utils/FilterUtils.js +0 -176
- package/utils/filterutils.umd.min.js +0 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<td :style="containerStyle" :class="containerClass" role="cell"
|
|
3
|
+
:colspan="columnProp('colspan')" :rowspan="columnProp('rowspan')">
|
|
4
|
+
<ColumnSlot :data="column.$scopedSlots.footer" :column="column" type="footer" v-if="column.$scopedSlots && column.$scopedSlots.footer"/>
|
|
5
|
+
{{columnProp('footer')}}
|
|
6
|
+
</td>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
import ColumnSlot from './ColumnSlot';
|
|
11
|
+
import DomHandler from '../utils/DomHandler';
|
|
12
|
+
import ObjectUtils from '../utils/ObjectUtils';
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
props: {
|
|
16
|
+
column: {
|
|
17
|
+
type: null,
|
|
18
|
+
default: null
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
styleObject: {
|
|
24
|
+
left: '',
|
|
25
|
+
right: ''
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
mounted() {
|
|
30
|
+
if (this.columnProp('frozen')) {
|
|
31
|
+
this.updateStickyPosition();
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
updated() {
|
|
35
|
+
if (this.columnProp('frozen')) {
|
|
36
|
+
this.updateStickyPosition();
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
methods: {
|
|
40
|
+
columnProp(prop) {
|
|
41
|
+
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
42
|
+
},
|
|
43
|
+
updateStickyPosition() {
|
|
44
|
+
if (this.columnProp('frozen')) {
|
|
45
|
+
let align = this.columnProp('alignFrozen');
|
|
46
|
+
if (align === 'right') {
|
|
47
|
+
let right = 0;
|
|
48
|
+
let next = this.$el.nextElementSibling;
|
|
49
|
+
if (next) {
|
|
50
|
+
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.left);
|
|
51
|
+
}
|
|
52
|
+
this.styleObject.right = right + 'px';
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
let left = 0;
|
|
56
|
+
let prev = this.$el.previousElementSibling;
|
|
57
|
+
if (prev) {
|
|
58
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left);
|
|
59
|
+
}
|
|
60
|
+
this.styleObject.left = left + 'px';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
computed: {
|
|
66
|
+
containerClass() {
|
|
67
|
+
return [this.columnProp('footerClass'), this.columnProp('className'), {
|
|
68
|
+
'p-frozen-column': this.columnProp('frozen')
|
|
69
|
+
}];
|
|
70
|
+
},
|
|
71
|
+
containerStyle() {
|
|
72
|
+
let bodyStyle = this.columnProp('footerStyle');
|
|
73
|
+
let columnStyle = this.columnProp('styles');
|
|
74
|
+
|
|
75
|
+
return this.columnProp('frozen') ? [columnStyle, bodyStyle, this.styleObject]: [columnStyle, bodyStyle];
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
components: {
|
|
79
|
+
'ColumnSlot': ColumnSlot
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
</script>
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<th :style="containerStyle" :class="containerClass" :tabindex="columnProp('sortable') ? '0' : null" role="cell"
|
|
3
|
+
@click="onClick" @keydown="onKeyDown" @mousedown="onMouseDown"
|
|
4
|
+
@dragstart="onDragStart" @dragover="onDragOver" @dragleave="onDragLeave" @drop="onDrop"
|
|
5
|
+
:colspan="columnProp('colspan')" :rowspan="columnProp('rowspan')" :aria-sort="ariaSort">
|
|
6
|
+
<span class="p-column-resizer" @mousedown="onResizeStart" v-if="resizableColumns && !columnProp('frozen')"></span>
|
|
7
|
+
<div class="p-column-header-content">
|
|
8
|
+
<ColumnSlot :data="column.$scopedSlots.header" :column="column" type="header" v-if="column.$scopedSlots && column.$scopedSlots.header"/>
|
|
9
|
+
<span class="p-column-title" v-if="columnProp('header')">{{columnProp('header')}}</span>
|
|
10
|
+
<span v-if="columnProp('sortable')" :class="sortableColumnIcon"></span>
|
|
11
|
+
<span v-if="isMultiSorted()" class="p-sortable-column-badge">{{getBadgeValue()}}</span>
|
|
12
|
+
<DTHeaderCheckbox :checked="allRowsSelected" @change="onHeaderCheckboxChange" :disabled="empty" v-if="columnProp('selectionMode') ==='multiple' && filterDisplay !== 'row'" />
|
|
13
|
+
<DTColumnFilter v-if="filterDisplay === 'menu' && column.$scopedSlots.filter" :field="columnProp('filterField')||columnProp('field')" :type="columnProp('dataType')" display="menu"
|
|
14
|
+
:showMenu="columnProp('showFilterMenu')" :filterElement="column.$scopedSlots.filter" :templates="column.$scopedSlots"
|
|
15
|
+
:filterHeaderTemplate="column.$scopedSlots.filterheader" :filterFooterTemplate="column.$scopedSlots.filterfooter"
|
|
16
|
+
:filterClearTemplate="column.$scopedSlots.filterclear" :filterApplyTemplate="column.$scopedSlots.filterapply"
|
|
17
|
+
:filters="filters" :filtersStore="filtersStore" @filter-change="$emit('filter-change', $event)" @filter-apply="$emit('filter-apply')" :filterMenuStyle="columnProp('filterMenuStyle')" :filterMenuClass="columnProp('filterMenuClass')"
|
|
18
|
+
:showOperator="columnProp('showFilterOperator')" :showClearButton="columnProp('showClearButton')" :showApplyButton="columnProp('showApplyButton')"
|
|
19
|
+
:showMatchModes="columnProp('showFilterMatchModes')" :showAddButton="columnProp('showAddButton')" :matchModeOptions="columnProp('filterMatchModeOptions')" :maxConstraints="columnProp('maxConstraints')"
|
|
20
|
+
@operator-change="$emit('operator-change',$event)" @matchmode-change="$emit('matchmode-change', $event)" @constraint-add="$emit('constraint-add', $event)" @constraint-remove="$emit('constraint-remove', $event)" @apply-click="$emit('apply-click',$event)"/>
|
|
21
|
+
</div>
|
|
22
|
+
</th>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
import DomHandler from '../utils/DomHandler';
|
|
27
|
+
import ObjectUtils from '../utils/ObjectUtils';
|
|
28
|
+
import ColumnSlot from './ColumnSlot.vue';
|
|
29
|
+
import HeaderCheckbox from './HeaderCheckbox.vue';
|
|
30
|
+
import ColumnFilter from './ColumnFilter.vue';
|
|
31
|
+
|
|
32
|
+
export default {
|
|
33
|
+
props: {
|
|
34
|
+
column: {
|
|
35
|
+
type: Object,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
38
|
+
resizableColumns: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: false
|
|
41
|
+
},
|
|
42
|
+
groupRowsBy: {
|
|
43
|
+
type: [Array,String],
|
|
44
|
+
default: null
|
|
45
|
+
},
|
|
46
|
+
sortMode: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: 'single'
|
|
49
|
+
},
|
|
50
|
+
groupRowSortField: {
|
|
51
|
+
type: [String, Function],
|
|
52
|
+
default: null
|
|
53
|
+
},
|
|
54
|
+
sortField: {
|
|
55
|
+
type: [String, Function],
|
|
56
|
+
default: null
|
|
57
|
+
},
|
|
58
|
+
sortOrder: {
|
|
59
|
+
type: Number,
|
|
60
|
+
default: null
|
|
61
|
+
},
|
|
62
|
+
multiSortMeta: {
|
|
63
|
+
type: Array,
|
|
64
|
+
default: null
|
|
65
|
+
},
|
|
66
|
+
allRowsSelected: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: false
|
|
69
|
+
},
|
|
70
|
+
empty: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: false
|
|
73
|
+
},
|
|
74
|
+
filterDisplay: {
|
|
75
|
+
type: String,
|
|
76
|
+
default: null
|
|
77
|
+
},
|
|
78
|
+
filters: {
|
|
79
|
+
type: Object,
|
|
80
|
+
default: null
|
|
81
|
+
},
|
|
82
|
+
filtersStore: {
|
|
83
|
+
type: Object,
|
|
84
|
+
default: null
|
|
85
|
+
},
|
|
86
|
+
filterColumn: {
|
|
87
|
+
type: Boolean,
|
|
88
|
+
default: false
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
data() {
|
|
92
|
+
return {
|
|
93
|
+
styleObject: {
|
|
94
|
+
left: '',
|
|
95
|
+
right: ''
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
mounted() {
|
|
100
|
+
if (this.columnProp('frozen')) {
|
|
101
|
+
this.updateStickyPosition();
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
updated() {
|
|
105
|
+
if (this.columnProp('frozen')) {
|
|
106
|
+
this.updateStickyPosition();
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
methods: {
|
|
110
|
+
columnProp(prop) {
|
|
111
|
+
return ObjectUtils.getVNodeProp(this.column, prop);
|
|
112
|
+
},
|
|
113
|
+
onClick(event) {
|
|
114
|
+
this.$emit('column-click', {originalEvent: event, column: this.column});
|
|
115
|
+
},
|
|
116
|
+
onKeyDown(event) {
|
|
117
|
+
if (event.which === 13 && event.currentTarget.nodeName === 'TH' && DomHandler.hasClass(event.currentTarget, 'p-sortable-column')) {
|
|
118
|
+
this.$emit('column-click', {originalEvent: event, column: this.column});
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
onMouseDown(event) {
|
|
122
|
+
this.$emit('column-mousedown', {originalEvent: event, column: this.column});
|
|
123
|
+
},
|
|
124
|
+
onDragStart(event) {
|
|
125
|
+
this.$emit('column-dragstart', event);
|
|
126
|
+
},
|
|
127
|
+
onDragOver(event) {
|
|
128
|
+
this.$emit('column-dragover', event);
|
|
129
|
+
},
|
|
130
|
+
onDragLeave(event) {
|
|
131
|
+
this.$emit('column-dragleave', event);
|
|
132
|
+
},
|
|
133
|
+
onDrop(event) {
|
|
134
|
+
this.$emit('column-drop', event);
|
|
135
|
+
},
|
|
136
|
+
onResizeStart(event) {
|
|
137
|
+
this.$emit('column-resizestart', event);
|
|
138
|
+
},
|
|
139
|
+
getMultiSortMetaIndex() {
|
|
140
|
+
return this.multiSortMeta.findIndex(meta => (meta.field === this.columnProp('field') || meta.field === this.columnProp('sortField')));
|
|
141
|
+
},
|
|
142
|
+
getBadgeValue() {
|
|
143
|
+
let index = this.getMultiSortMetaIndex();
|
|
144
|
+
|
|
145
|
+
return (this.groupRowsBy && this.groupRowsBy === this.groupRowSortField) && index > -1 ? index : index + 1;
|
|
146
|
+
},
|
|
147
|
+
isMultiSorted() {
|
|
148
|
+
return this.sortMode === 'multiple' && this.columnProp('sortable') && this.getMultiSortMetaIndex() > -1
|
|
149
|
+
},
|
|
150
|
+
isColumnSorted() {
|
|
151
|
+
return this.sortMode === 'single' ? (this.sortField && (this.sortField === this.columnProp('field') || this.sortField === this.columnProp('sortField'))) : this.isMultiSorted();
|
|
152
|
+
},
|
|
153
|
+
updateStickyPosition() {
|
|
154
|
+
if (this.columnProp('frozen')) {
|
|
155
|
+
let align = this.columnProp('alignFrozen');
|
|
156
|
+
if (align === 'right') {
|
|
157
|
+
let right = 0;
|
|
158
|
+
let next = this.$el.nextElementSibling;
|
|
159
|
+
if (next) {
|
|
160
|
+
right = DomHandler.getOuterWidth(next) + parseFloat(next.style.right || 0);
|
|
161
|
+
}
|
|
162
|
+
this.styleObject.right = right + 'px';
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
let left = 0;
|
|
166
|
+
let prev = this.$el.previousElementSibling;
|
|
167
|
+
if (prev) {
|
|
168
|
+
left = DomHandler.getOuterWidth(prev) + parseFloat(prev.style.left || 0);
|
|
169
|
+
}
|
|
170
|
+
this.styleObject.left = left + 'px';
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
let filterRow = this.$el.parentElement.nextElementSibling;
|
|
174
|
+
if (filterRow) {
|
|
175
|
+
let index = DomHandler.index(this.$el);
|
|
176
|
+
filterRow.children[index].style.left = this.styleObject.left;
|
|
177
|
+
filterRow.children[index].style.right = this.styleObject.right;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
onHeaderCheckboxChange(event) {
|
|
182
|
+
this.$emit('checkbox-change', event);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
computed: {
|
|
186
|
+
containerClass() {
|
|
187
|
+
return [this.filterColumn ? this.columnProp('filterHeaderClass') : this.columnProp('headerClass'), this.columnProp('className'), {
|
|
188
|
+
'p-sortable-column': this.columnProp('sortable'),
|
|
189
|
+
'p-resizable-column': this.resizableColumns,
|
|
190
|
+
'p-highlight': this.isColumnSorted(),
|
|
191
|
+
'p-filter-column': this.filterColumn,
|
|
192
|
+
'p-frozen-column': this.columnProp('frozen')
|
|
193
|
+
}];
|
|
194
|
+
},
|
|
195
|
+
containerStyle() {
|
|
196
|
+
let headerStyle = this.filterColumn ? this.columnProp('filterHeaderStyle'): this.columnProp('headerStyle');
|
|
197
|
+
let columnStyle = this.columnProp('styles');
|
|
198
|
+
|
|
199
|
+
return this.columnProp('frozen') ? [columnStyle, headerStyle, this.styleObject]: [columnStyle, headerStyle];
|
|
200
|
+
},
|
|
201
|
+
sortableColumnIcon() {
|
|
202
|
+
let sorted = false;
|
|
203
|
+
let sortOrder = null;
|
|
204
|
+
|
|
205
|
+
if (this.sortMode === 'single') {
|
|
206
|
+
sorted = this.sortField && (this.sortField === this.columnProp('field') || this.sortField === this.columnProp('sortField'));
|
|
207
|
+
sortOrder = sorted ? this.sortOrder: 0;
|
|
208
|
+
}
|
|
209
|
+
else if (this.sortMode === 'multiple') {
|
|
210
|
+
let metaIndex = this.getMultiSortMetaIndex();
|
|
211
|
+
if (metaIndex > -1) {
|
|
212
|
+
sorted = true;
|
|
213
|
+
sortOrder = this.multiSortMeta[metaIndex].order;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return [
|
|
218
|
+
'p-sortable-column-icon pi pi-fw', {
|
|
219
|
+
'pi-sort-alt': !sorted,
|
|
220
|
+
'pi-sort-amount-up-alt': sorted && sortOrder > 0,
|
|
221
|
+
'pi-sort-amount-down': sorted && sortOrder < 0
|
|
222
|
+
}
|
|
223
|
+
];
|
|
224
|
+
},
|
|
225
|
+
ariaSort() {
|
|
226
|
+
if (this.columnProp('sortable')) {
|
|
227
|
+
const sortIcon = this.sortableColumnIcon;
|
|
228
|
+
if (sortIcon[1]['pi-sort-amount-down'])
|
|
229
|
+
return 'descending';
|
|
230
|
+
else if (sortIcon[1]['pi-sort-amount-up-alt'])
|
|
231
|
+
return 'ascending';
|
|
232
|
+
else
|
|
233
|
+
return 'none';
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
components: {
|
|
241
|
+
'DTHeaderCheckbox': HeaderCheckbox,
|
|
242
|
+
'DTColumnFilter': ColumnFilter,
|
|
243
|
+
'ColumnSlot': ColumnSlot
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
</script>
|
package/datatable/TableBody.vue
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tbody class="p-datatable-tbody">
|
|
2
|
+
<tbody class="p-datatable-tbody" role="rowgroup">
|
|
3
3
|
<template v-if="!empty">
|
|
4
4
|
<template v-for="(rowData, index) of value">
|
|
5
|
-
<tr class="p-rowgroup-header" v-if="templates['groupheader'] && rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, index)" :key="getRowKey(rowData, index) + '_subheader'">
|
|
6
|
-
<td :colspan="
|
|
5
|
+
<tr class="p-rowgroup-header" :style="rowGroupHeaderStyle" v-if="templates['groupheader'] && rowGroupMode === 'subheader' && shouldRenderRowGroupHeader(value, rowData, index)" :key="getRowKey(rowData, index) + '_subheader' + index" role="row">
|
|
6
|
+
<td :colspan="columnsLength - 1">
|
|
7
7
|
<button class="p-row-toggler p-link" @click="onRowGroupToggle($event, rowData)" v-if="expandableRowGroups" type="button">
|
|
8
8
|
<span :class="rowGroupTogglerIcon(rowData)"></span>
|
|
9
9
|
</button>
|
|
10
10
|
<DTRowExpansionTemplate :template="templates['groupheader']" :data="rowData" :index="index" />
|
|
11
11
|
</td>
|
|
12
12
|
</tr>
|
|
13
|
-
<tr :class="getRowClass(rowData)" :key="getRowKey(rowData, index)"
|
|
13
|
+
<tr :class="getRowClass(rowData)" :style="rowStyle" :key="getRowKey(rowData, index)"
|
|
14
14
|
v-if="expandableRowGroups ? isRowGroupExpanded(rowData): true"
|
|
15
|
-
@click="onRowClick($event, rowData, index)" @dblclick="onRowDblClick($event, rowData, index)" @contextmenu="onRowRightClick($event, rowData, index)" @touchend="onRowTouchEnd($event)"
|
|
16
|
-
@
|
|
17
|
-
@mousedown="onRowMouseDown($event)" @dragstart="onRowDragStart($event, index)" @dragover="onRowDragOver($event,index)" @dragleave="onRowDragLeave($event)" @dragend="onRowDragEnd($event)" @drop="onRowDrop($event)">
|
|
15
|
+
@click="onRowClick($event, rowData, index)" @dblclick="onRowDblClick($event, rowData, index)" @contextmenu="onRowRightClick($event, rowData, index)" @touchend="onRowTouchEnd($event)" @keydown="onRowKeyDown($event, rowData, index)" :tabindex="selectionMode || contextMenu ? '0' : null"
|
|
16
|
+
@mousedown="onRowMouseDown($event)" @dragstart="onRowDragStart($event, index)" @dragover="onRowDragOver($event,index)" @dragleave="onRowDragLeave($event)" @dragend="onRowDragEnd($event)" @drop="onRowDrop($event)" role="row">
|
|
18
17
|
<template v-for="(col,i) of columns">
|
|
19
|
-
<DTBodyCell v-if="shouldRenderBodyCell(value, col, index)" :
|
|
20
|
-
:rowTogglerIcon="col
|
|
18
|
+
<DTBodyCell v-if="shouldRenderBodyCell(value, col, index)" :rowData="rowData" :column="col" :rowIndex="index" :index="i" :selected="isSelected(rowData)" :key="columnProp(col,'columnKey')+i||columnProp(col,'field')+i||i"
|
|
19
|
+
:rowTogglerIcon="columnProp(col,'expander') ? rowTogglerIcon(rowData): null" :frozenRow="frozenRow"
|
|
21
20
|
:rowspan="rowGroupMode === 'rowspan' ? calculateRowGroupSize(value, col, index) : null"
|
|
22
|
-
:editMode="editMode" :editing="editMode === 'row' && isRowEditing(rowData)"
|
|
21
|
+
:editMode="editMode" :editing="editMode === 'row' && isRowEditing(rowData)" :responsiveLayout="responsiveLayout"
|
|
23
22
|
@radio-change="onRadioChange($event)" @checkbox-change="onCheckboxChange($event)" @row-toggle="onRowToggle($event)"
|
|
24
23
|
@cell-edit-init="onCellEditInit($event)" @cell-edit-complete="onCellEditComplete($event)" @cell-edit-cancel="onCellEditCancel($event)"
|
|
25
|
-
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
24
|
+
@row-edit-init="onRowEditInit($event)" @row-edit-save="onRowEditSave($event)" @row-edit-cancel="onRowEditCancel($event)"
|
|
25
|
+
:editingMeta="editingMeta" @editing-meta-change="onEditingMetaChange"/>
|
|
26
26
|
</template>
|
|
27
27
|
</tr>
|
|
28
|
-
<tr class="p-datatable-row-expansion" v-if="templates['expansion'] && expandedRows && isRowExpanded(rowData)" :key="getRowKey(rowData, index) + '_expansion'">
|
|
29
|
-
<td :colspan="
|
|
28
|
+
<tr class="p-datatable-row-expansion" v-if="templates['expansion'] && expandedRows && isRowExpanded(rowData)" :key="getRowKey(rowData, index) + '_expansion' + index" role="row">
|
|
29
|
+
<td :colspan="columnsLength">
|
|
30
30
|
<DTRowExpansionTemplate :template="templates['expansion']" :data="rowData" :index="index" />
|
|
31
31
|
</td>
|
|
32
32
|
</tr>
|
|
33
|
-
<tr class="p-rowgroup-footer" v-if="templates['groupfooter'] && rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, index)" :key="getRowKey(rowData, index) + '_subfooter'">
|
|
33
|
+
<tr class="p-rowgroup-footer" v-if="templates['groupfooter'] && rowGroupMode === 'subheader' && shouldRenderRowGroupFooter(value, rowData, index)" :key="getRowKey(rowData, index) + '_subfooter' + index" role="row">
|
|
34
34
|
<DTRowExpansionTemplate :template="templates['groupfooter']" :data="rowData" :index="index" />
|
|
35
35
|
</tr>
|
|
36
36
|
</template>
|
|
37
37
|
</template>
|
|
38
38
|
<tr v-else class="p-datatable-emptymessage">
|
|
39
|
-
<td :colspan="
|
|
39
|
+
<td :colspan="columnsLength">
|
|
40
40
|
<DTSlotTemplate :template="templates.empty" v-if="templates.empty && !loading"/>
|
|
41
41
|
<DTSlotTemplate :template="templates.loading" v-if="templates.loading && loading"/>
|
|
42
42
|
</td>
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
</template>
|
|
46
46
|
|
|
47
47
|
<script>
|
|
48
|
+
import DomHandler from '../utils/DomHandler';
|
|
48
49
|
import ObjectUtils from '../utils/ObjectUtils';
|
|
49
50
|
import BodyCell from './BodyCell.vue';
|
|
50
51
|
|
|
@@ -101,6 +102,10 @@ export default {
|
|
|
101
102
|
type: null,
|
|
102
103
|
default: null
|
|
103
104
|
},
|
|
105
|
+
frozenRow: {
|
|
106
|
+
type: Boolean,
|
|
107
|
+
default: false
|
|
108
|
+
},
|
|
104
109
|
empty: {
|
|
105
110
|
type: Boolean,
|
|
106
111
|
default: false
|
|
@@ -165,6 +170,10 @@ export default {
|
|
|
165
170
|
type: null,
|
|
166
171
|
default: null
|
|
167
172
|
},
|
|
173
|
+
rowStyle: {
|
|
174
|
+
type: null,
|
|
175
|
+
default: null
|
|
176
|
+
},
|
|
168
177
|
editMode: {
|
|
169
178
|
type: String,
|
|
170
179
|
default: null
|
|
@@ -181,6 +190,10 @@ export default {
|
|
|
181
190
|
type: null,
|
|
182
191
|
default: null
|
|
183
192
|
},
|
|
193
|
+
editingMeta: {
|
|
194
|
+
type: Object,
|
|
195
|
+
default: null
|
|
196
|
+
},
|
|
184
197
|
loading: {
|
|
185
198
|
type: Boolean,
|
|
186
199
|
default: false
|
|
@@ -188,9 +201,43 @@ export default {
|
|
|
188
201
|
templates: {
|
|
189
202
|
type: null,
|
|
190
203
|
default: null
|
|
204
|
+
},
|
|
205
|
+
scrollable: {
|
|
206
|
+
type: Boolean,
|
|
207
|
+
default: false
|
|
208
|
+
},
|
|
209
|
+
responsiveLayout: {
|
|
210
|
+
type: String,
|
|
211
|
+
default: 'stack'
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
mounted() {
|
|
215
|
+
if (this.frozenRow) {
|
|
216
|
+
this.updateFrozenRowStickyPosition();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (this.scrollable && this.rowGroupMode === 'subheader') {
|
|
220
|
+
this.updateFrozenRowGroupHeaderStickyPosition();
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
updated() {
|
|
224
|
+
if (this.frozenRow) {
|
|
225
|
+
this.updateFrozenRowStickyPosition();
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (this.scrollable && this.rowGroupMode === 'subheader') {
|
|
229
|
+
this.updateFrozenRowGroupHeaderStickyPosition();
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
data() {
|
|
233
|
+
return {
|
|
234
|
+
rowGroupHeaderStyleObject: {}
|
|
191
235
|
}
|
|
192
236
|
},
|
|
193
237
|
methods: {
|
|
238
|
+
columnProp(col, prop) {
|
|
239
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
240
|
+
},
|
|
194
241
|
shouldRenderRowGroupHeader(value, rowData, i) {
|
|
195
242
|
let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
|
|
196
243
|
let prevRowData = value[i - 1];
|
|
@@ -208,7 +255,7 @@ export default {
|
|
|
208
255
|
getRowClass(rowData) {
|
|
209
256
|
let rowStyleClass = [];
|
|
210
257
|
if (this.selectionMode) {
|
|
211
|
-
|
|
258
|
+
rowStyleClass.push('p-selectable-row');
|
|
212
259
|
}
|
|
213
260
|
|
|
214
261
|
if (this.selection) {
|
|
@@ -252,14 +299,14 @@ export default {
|
|
|
252
299
|
shouldRenderBodyCell(value, column, i) {
|
|
253
300
|
if (this.rowGroupMode) {
|
|
254
301
|
if (this.rowGroupMode === 'subheader') {
|
|
255
|
-
return this.groupRowsBy !== column
|
|
302
|
+
return this.groupRowsBy !== this.columnProp(column, 'field');
|
|
256
303
|
}
|
|
257
304
|
else if (this.rowGroupMode === 'rowspan') {
|
|
258
305
|
if (this.isGrouped(column)) {
|
|
259
306
|
let prevRowData = value[i - 1];
|
|
260
307
|
if (prevRowData) {
|
|
261
|
-
let currentRowFieldData = ObjectUtils.resolveFieldData(value[i], column
|
|
262
|
-
let previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, column
|
|
308
|
+
let currentRowFieldData = ObjectUtils.resolveFieldData(value[i], this.columnProp(column, 'field'));
|
|
309
|
+
let previousRowFieldData = ObjectUtils.resolveFieldData(prevRowData, this.columnProp(column, 'field'));
|
|
263
310
|
return currentRowFieldData !== previousRowFieldData;
|
|
264
311
|
}
|
|
265
312
|
else {
|
|
@@ -272,12 +319,12 @@ export default {
|
|
|
272
319
|
}
|
|
273
320
|
}
|
|
274
321
|
else {
|
|
275
|
-
return
|
|
322
|
+
return !this.columnProp(column, 'hidden');
|
|
276
323
|
}
|
|
277
324
|
},
|
|
278
325
|
calculateRowGroupSize(value, column, index) {
|
|
279
326
|
if (this.isGrouped(column)) {
|
|
280
|
-
let currentRowFieldData = ObjectUtils.resolveFieldData(value[index], column
|
|
327
|
+
let currentRowFieldData = ObjectUtils.resolveFieldData(value[index], this.columnProp(column, 'field'));
|
|
281
328
|
let nextRowFieldData = currentRowFieldData;
|
|
282
329
|
let groupRowSpan = 0;
|
|
283
330
|
|
|
@@ -285,7 +332,7 @@ export default {
|
|
|
285
332
|
groupRowSpan++;
|
|
286
333
|
let nextRowData = value[++index];
|
|
287
334
|
if (nextRowData) {
|
|
288
|
-
nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, column
|
|
335
|
+
nextRowFieldData = ObjectUtils.resolveFieldData(nextRowData, this.columnProp(column, 'field'));
|
|
289
336
|
}
|
|
290
337
|
else {
|
|
291
338
|
break;
|
|
@@ -307,7 +354,7 @@ export default {
|
|
|
307
354
|
return ['p-row-toggler-icon pi', icon];
|
|
308
355
|
},
|
|
309
356
|
isGrouped(column) {
|
|
310
|
-
if (this.groupRowsBy) {
|
|
357
|
+
if (this.groupRowsBy && this.columnProp(column, 'field')) {
|
|
311
358
|
if (Array.isArray(this.groupRowsBy))
|
|
312
359
|
return this.groupRowsBy.indexOf(column.field) > -1;
|
|
313
360
|
else
|
|
@@ -447,6 +494,28 @@ export default {
|
|
|
447
494
|
},
|
|
448
495
|
onRowEditCancel(event) {
|
|
449
496
|
this.$emit('row-edit-cancel', event);
|
|
497
|
+
},
|
|
498
|
+
onEditingMetaChange(event) {
|
|
499
|
+
this.$emit('editing-meta-change', event);
|
|
500
|
+
},
|
|
501
|
+
updateFrozenRowStickyPosition() {
|
|
502
|
+
this.$el.style.top = DomHandler.getOuterHeight(this.$el.previousElementSibling) + 'px';
|
|
503
|
+
},
|
|
504
|
+
updateFrozenRowGroupHeaderStickyPosition() {
|
|
505
|
+
let tableHeaderHeight = DomHandler.getOuterHeight(this.$el.previousElementSibling);
|
|
506
|
+
this.rowGroupHeaderStyleObject.top = tableHeaderHeight + 'px';
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
computed: {
|
|
510
|
+
columnsLength() {
|
|
511
|
+
return this.columns ? this.columns.length : 0;
|
|
512
|
+
},
|
|
513
|
+
rowGroupHeaderStyle() {
|
|
514
|
+
if (this.scrollable) {
|
|
515
|
+
return {top: this.rowGroupHeaderStyleObject.top};
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
return null;
|
|
450
519
|
}
|
|
451
520
|
},
|
|
452
521
|
components: {
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tfoot class="p-datatable-tfoot" v-if="hasFooter">
|
|
3
|
-
<tr v-if="!columnGroup">
|
|
4
|
-
<
|
|
5
|
-
:
|
|
6
|
-
|
|
7
|
-
{{col.footer}}
|
|
8
|
-
</td>
|
|
2
|
+
<tfoot class="p-datatable-tfoot" v-if="hasFooter" role="rowgroup">
|
|
3
|
+
<tr v-if="!columnGroup" role="row">
|
|
4
|
+
<template v-for="(col,i) of columns">
|
|
5
|
+
<DTFooterCell :column="col" v-if="!columnProp(col,'hidden')" :key="columnProp(col,'columnKey')||columnProp(col,'field')||i"/>
|
|
6
|
+
</template>
|
|
9
7
|
</tr>
|
|
10
8
|
<template v-else>
|
|
11
|
-
<tr v-for="(row,i) of columnGroup.
|
|
12
|
-
<
|
|
13
|
-
:
|
|
14
|
-
|
|
15
|
-
{{col.footer}}
|
|
16
|
-
</td>
|
|
9
|
+
<tr v-for="(row,i) of columnGroup.$scopedSlots.default()" role="row" :key="i">
|
|
10
|
+
<template v-for="(col,j) of getFooterColumns(row)">
|
|
11
|
+
<DTFooterCell :column="col.child" v-if="!columnProp(col,'hidden')" :key="columnProp(col,'columnKey')||columnProp(col,'field')||j"/>
|
|
12
|
+
</template>
|
|
17
13
|
</tr>
|
|
18
14
|
</template>
|
|
19
15
|
</tfoot>
|
|
20
16
|
</template>
|
|
21
17
|
|
|
22
18
|
<script>
|
|
23
|
-
import
|
|
19
|
+
import FooterCell from './FooterCell.vue';
|
|
20
|
+
import ObjectUtils from '../utils/ObjectUtils';
|
|
24
21
|
|
|
25
22
|
export default {
|
|
26
23
|
props: {
|
|
@@ -33,6 +30,25 @@ export default {
|
|
|
33
30
|
default: null
|
|
34
31
|
},
|
|
35
32
|
},
|
|
33
|
+
methods: {
|
|
34
|
+
columnProp(col, prop) {
|
|
35
|
+
return ObjectUtils.getVNodeProp(col, prop);
|
|
36
|
+
},
|
|
37
|
+
getFooterColumns(row){
|
|
38
|
+
let cols = [];
|
|
39
|
+
|
|
40
|
+
if (row.child && row.child.$scopedSlots.default) {
|
|
41
|
+
row.child.$scopedSlots.default().forEach(child => {
|
|
42
|
+
if (child.child && child.child.children && child.child.children instanceof Array)
|
|
43
|
+
cols = [...cols, ...child.child.children];
|
|
44
|
+
else if (child.componentOptions.tag === 'Column')
|
|
45
|
+
cols.push(child);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
return cols;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
36
52
|
computed: {
|
|
37
53
|
hasFooter() {
|
|
38
54
|
let hasFooter = false;
|
|
@@ -40,9 +56,9 @@ export default {
|
|
|
40
56
|
if (this.columnGroup) {
|
|
41
57
|
hasFooter = true;
|
|
42
58
|
}
|
|
43
|
-
else {
|
|
59
|
+
else if (this.columns) {
|
|
44
60
|
for (let col of this.columns) {
|
|
45
|
-
if (col
|
|
61
|
+
if (this.columnProp(col, 'footer') || (col.$scopedSlots && col.$scopedSlots.footer)) {
|
|
46
62
|
hasFooter = true;
|
|
47
63
|
break;
|
|
48
64
|
}
|
|
@@ -53,7 +69,7 @@ export default {
|
|
|
53
69
|
}
|
|
54
70
|
},
|
|
55
71
|
components: {
|
|
56
|
-
'
|
|
72
|
+
'DTFooterCell': FooterCell
|
|
57
73
|
}
|
|
58
74
|
}
|
|
59
|
-
</script>
|
|
75
|
+
</script>
|