primevue 3.30.0 → 3.30.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 +4 -2
- package/accordion/Accordion.d.ts +6 -1
- package/accordion/Accordion.vue +2 -1
- package/accordion/accordion.cjs.js +5 -9
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +5 -9
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +6 -10
- package/accordion/accordion.min.js +1 -1
- package/accordiontab/AccordionTab.d.ts +1 -1
- package/autocomplete/AutoComplete.d.ts +1 -1
- package/avatar/Avatar.d.ts +1 -1
- package/badge/Badge.d.ts +1 -1
- package/basecomponent/BaseComponent.vue +12 -16
- package/basecomponent/basecomponent.cjs.js +18 -6
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +18 -6
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +18 -6
- package/basecomponent/basecomponent.min.js +1 -1
- package/basedirective/basedirective.cjs.js +8 -2
- package/basedirective/basedirective.cjs.min.js +1 -1
- package/basedirective/basedirective.esm.js +8 -2
- package/basedirective/basedirective.esm.min.js +1 -1
- package/basedirective/basedirective.js +8 -2
- package/basedirective/basedirective.min.js +1 -1
- package/blockui/BlockUI.d.ts +1 -1
- package/breadcrumb/Breadcrumb.d.ts +1 -1
- package/button/Button.d.ts +1 -1
- package/calendar/Calendar.d.ts +1 -1
- package/carousel/Carousel.d.ts +1 -1
- package/cascadeselect/CascadeSelect.d.ts +1 -1
- package/chart/Chart.d.ts +1 -1
- package/checkbox/Checkbox.d.ts +1 -1
- package/chip/Chip.d.ts +1 -1
- package/chips/Chips.d.ts +1 -1
- package/colorpicker/ColorPicker.d.ts +1 -1
- package/column/Column.d.ts +49 -1
- package/columngroup/ColumnGroup.d.ts +6 -1
- package/config/PrimeVue.d.ts +13 -6
- package/confirmdialog/ConfirmDialog.d.ts +1 -1
- package/confirmpopup/ConfirmPopup.d.ts +1 -1
- package/contextmenu/ContextMenu.d.ts +1 -1
- package/core/core.js +144 -103
- package/core/core.min.js +10 -10
- package/datatable/BaseDataTable.vue +7 -1
- package/datatable/BodyCell.vue +7 -4
- package/datatable/ColumnFilter.vue +43 -8
- package/datatable/DataTable.d.ts +31 -1
- package/datatable/FooterCell.vue +5 -2
- package/datatable/HeaderCell.vue +8 -3
- package/datatable/HeaderCheckbox.vue +5 -2
- package/datatable/RowCheckbox.vue +5 -2
- package/datatable/RowRadioButton.vue +5 -2
- package/datatable/TableBody.vue +33 -13
- package/datatable/TableFooter.vue +13 -4
- package/datatable/TableHeader.vue +16 -5
- package/datatable/datatable.cjs.js +221 -145
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +221 -145
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +222 -146
- package/datatable/datatable.min.js +1 -1
- package/dataview/BaseDataView.vue +1 -2
- package/dataview/DataView.d.ts +1 -1
- package/dataview/DataView.vue +3 -3
- package/dataview/dataview.cjs.js +5 -13
- package/dataview/dataview.cjs.min.js +1 -1
- package/dataview/dataview.esm.js +5 -13
- package/dataview/dataview.esm.min.js +1 -1
- package/dataview/dataview.js +5 -13
- package/dataview/dataview.min.js +1 -1
- package/dataviewlayoutoptions/DataViewLayoutOptions.d.ts +6 -1
- package/deferredcontent/DeferredContent.d.ts +1 -1
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.vue +13 -1
- package/dialog/dialog.cjs.js +6 -2
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +6 -2
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +6 -2
- package/dialog/dialog.min.js +1 -1
- package/divider/Divider.d.ts +1 -1
- package/dock/Dock.d.ts +5 -1
- package/dock/DockSub.vue +9 -8
- package/dock/dock.cjs.js +9 -8
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +9 -8
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +9 -8
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.d.ts +1 -1
- package/editor/Editor.d.ts +1 -1
- package/fieldset/Fieldset.d.ts +1 -1
- package/fileupload/FileUpload.d.ts +1 -1
- package/galleria/Galleria.d.ts +5 -1
- package/galleria/GalleriaContent.vue +16 -6
- package/galleria/GalleriaItem.vue +2 -1
- package/galleria/GalleriaThumbnails.vue +1 -0
- package/galleria/galleria.cjs.js +34 -17
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +35 -18
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +34 -17
- package/galleria/galleria.min.js +1 -1
- package/image/Image.d.ts +1 -1
- package/inlinemessage/InlineMessage.d.ts +1 -1
- package/inplace/Inplace.d.ts +1 -1
- package/inputnumber/InputNumber.d.ts +1 -1
- package/inputswitch/InputSwitch.d.ts +1 -1
- package/inputtext/InputText.d.ts +26 -1
- package/inputtext/InputText.vue +2 -1
- package/inputtext/inputtext.cjs.js +2 -1
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +2 -1
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +2 -1
- package/inputtext/inputtext.min.js +1 -1
- package/knob/Knob.d.ts +1 -1
- package/listbox/Listbox.d.ts +1 -1
- package/megamenu/MegaMenu.d.ts +1 -1
- package/menu/Menu.d.ts +1 -1
- package/menubar/Menubar.d.ts +1 -1
- package/message/BaseMessage.vue +2 -2
- package/message/Message.d.ts +11 -1
- package/message/Message.vue +3 -3
- package/message/message.cjs.js +8 -8
- package/message/message.cjs.min.js +1 -1
- package/message/message.esm.js +8 -8
- package/message/message.esm.min.js +1 -1
- package/message/message.js +8 -8
- package/message/message.min.js +1 -1
- package/multiselect/MultiSelect.d.ts +1 -1
- package/multiselect/MultiSelect.vue +3 -2
- package/multiselect/multiselect.cjs.js +5 -5
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +6 -6
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +5 -5
- package/multiselect/multiselect.min.js +1 -1
- package/orderlist/OrderList.d.ts +18 -1
- package/orderlist/OrderList.vue +7 -7
- package/orderlist/orderlist.cjs.js +19 -15
- package/orderlist/orderlist.cjs.min.js +1 -1
- package/orderlist/orderlist.esm.js +19 -15
- package/orderlist/orderlist.esm.min.js +1 -1
- package/orderlist/orderlist.js +19 -15
- package/orderlist/orderlist.min.js +1 -1
- package/organizationchart/OrganizationChart.d.ts +1 -1
- package/overlaypanel/OverlayPanel.d.ts +1 -1
- package/overlaypanel/OverlayPanel.vue +4 -2
- package/overlaypanel/overlaypanel.cjs.js +4 -2
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +4 -2
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +4 -2
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/paginator/JumpToPageDropdown.vue +1 -1
- package/paginator/Paginator.d.ts +1 -26
- package/paginator/paginator.cjs.js +1 -1
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +1 -1
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +1 -1
- package/paginator/paginator.min.js +1 -1
- package/panel/Panel.d.ts +2 -2
- package/panelmenu/PanelMenu.d.ts +1 -1
- package/password/Password.d.ts +1 -1
- package/picklist/BasePickList.vue +4 -4
- package/picklist/PickList.d.ts +22 -1
- package/picklist/PickList.vue +19 -19
- package/picklist/picklist.cjs.js +59 -47
- package/picklist/picklist.cjs.min.js +1 -1
- package/picklist/picklist.esm.js +59 -47
- package/picklist/picklist.esm.min.js +1 -1
- package/picklist/picklist.js +59 -47
- package/picklist/picklist.min.js +1 -1
- package/progressbar/ProgressBar.d.ts +1 -1
- package/progressspinner/ProgressSpinner.d.ts +1 -1
- package/radiobutton/RadioButton.d.ts +1 -1
- package/rating/Rating.d.ts +1 -1
- package/row/Row.d.ts +1 -1
- package/scrollpanel/ScrollPanel.d.ts +1 -1
- package/scrollpanel/ScrollPanel.vue +2 -0
- package/scrollpanel/scrollpanel.cjs.js +6 -2
- package/scrollpanel/scrollpanel.cjs.min.js +1 -1
- package/scrollpanel/scrollpanel.esm.js +6 -2
- package/scrollpanel/scrollpanel.esm.min.js +1 -1
- package/scrollpanel/scrollpanel.js +6 -2
- package/scrollpanel/scrollpanel.min.js +1 -1
- package/scrolltop/ScrollTop.d.ts +1 -1
- package/selectbutton/SelectButton.d.ts +1 -1
- package/sidebar/Sidebar.d.ts +1 -1
- package/sidebar/Sidebar.vue +1 -1
- package/sidebar/sidebar.cjs.js +3 -1
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +3 -1
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +3 -1
- package/sidebar/sidebar.min.js +1 -1
- package/skeleton/Skeleton.d.ts +1 -1
- package/slider/Slider.d.ts +1 -1
- package/speeddial/SpeedDial.d.ts +1 -1
- package/splitbutton/SplitButton.d.ts +1 -1
- package/splitbutton/SplitButton.vue +2 -1
- package/splitbutton/splitbutton.cjs.js +4 -2
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +4 -2
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +4 -2
- package/splitbutton/splitbutton.min.js +1 -1
- package/splitter/Splitter.d.ts +1 -1
- package/splitterpanel/SplitterPanel.d.ts +1 -1
- package/steps/Steps.d.ts +1 -1
- package/tabmenu/TabMenu.d.ts +1 -1
- package/tabmenu/TabMenu.vue +71 -72
- package/tabmenu/tabmenu.cjs.js +67 -75
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +67 -75
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +67 -75
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabpanel/TabPanel.d.ts +17 -1
- package/tabview/TabView.d.ts +6 -1
- package/tabview/TabView.vue +12 -4
- package/tabview/tabview.cjs.js +23 -16
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +23 -16
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +24 -17
- package/tabview/tabview.min.js +1 -1
- package/tag/Tag.d.ts +1 -1
- package/terminal/Terminal.d.ts +1 -1
- package/textarea/Textarea.d.ts +18 -1
- package/textarea/Textarea.vue +8 -1
- package/textarea/textarea.cjs.js +8 -1
- package/textarea/textarea.cjs.min.js +1 -1
- package/textarea/textarea.esm.js +8 -1
- package/textarea/textarea.esm.min.js +1 -1
- package/textarea/textarea.js +8 -1
- package/textarea/textarea.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +1 -1
- package/timeline/Timeline.d.ts +20 -1
- package/timeline/Timeline.vue +14 -6
- package/timeline/timeline.cjs.js +17 -7
- package/timeline/timeline.cjs.min.js +1 -1
- package/timeline/timeline.esm.js +17 -7
- package/timeline/timeline.esm.min.js +1 -1
- package/timeline/timeline.js +17 -7
- package/timeline/timeline.min.js +1 -1
- package/toast/BaseToast.vue +2 -2
- package/toast/Toast.d.ts +11 -1
- package/toast/ToastMessage.vue +3 -2
- package/toast/toast.cjs.js +7 -6
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +7 -6
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +7 -6
- package/toast/toast.min.js +1 -1
- package/togglebutton/ToggleButton.d.ts +1 -1
- package/toolbar/Toolbar.d.ts +1 -1
- package/tree/Tree.d.ts +10 -1
- package/tree/TreeNode.vue +3 -1
- package/tree/tree.cjs.js +3 -1
- package/tree/tree.cjs.min.js +1 -1
- package/tree/tree.esm.js +3 -1
- package/tree/tree.esm.min.js +1 -1
- package/tree/tree.js +3 -1
- package/tree/tree.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +1 -1
- package/treetable/BaseTreeTable.vue +9 -3
- package/treetable/BodyCell.vue +16 -5
- package/treetable/FooterCell.vue +5 -2
- package/treetable/HeaderCell.vue +11 -3
- package/treetable/TreeTable.d.ts +31 -9
- package/treetable/TreeTable.vue +13 -5
- package/treetable/TreeTableRow.vue +11 -2
- package/treetable/treetable.cjs.js +84 -55
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +85 -56
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +84 -55
- package/treetable/treetable.min.js +1 -1
- package/tristatecheckbox/TriStateCheckbox.d.ts +1 -1
- package/usestyle/UseStyle.d.ts +1 -0
- package/usestyle/usestyle.cjs.js +12 -10
- package/usestyle/usestyle.cjs.min.js +1 -1
- package/usestyle/usestyle.esm.js +12 -10
- package/usestyle/usestyle.esm.min.js +1 -1
- package/usestyle/usestyle.js +12 -10
- package/usestyle/usestyle.min.js +1 -1
- package/utils/Utils.d.ts +4 -3
- package/utils/utils.cjs.js +19 -5
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +19 -5
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +19 -5
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +8 -0
- package/vetur-tags.json +2 -0
- package/virtualscroller/VirtualScroller.d.ts +1 -1
- package/web-types.json +21 -1
|
@@ -259,7 +259,9 @@ const classes = {
|
|
|
259
259
|
'p-datatable-striped': props.stripedRows,
|
|
260
260
|
'p-datatable-gridlines': props.showGridlines,
|
|
261
261
|
'p-datatable-grouped-header': instance.headerColumnGroup != null,
|
|
262
|
-
'p-datatable-grouped-footer': instance.footerColumnGroup != null
|
|
262
|
+
'p-datatable-grouped-footer': instance.footerColumnGroup != null,
|
|
263
|
+
'p-datatable-sm': props.size === 'small',
|
|
264
|
+
'p-datatable-lg': props.size === 'large'
|
|
263
265
|
}
|
|
264
266
|
],
|
|
265
267
|
loadingOverlay: 'p-datatable-loading-overlay p-component-overlay',
|
|
@@ -709,6 +711,10 @@ export default {
|
|
|
709
711
|
type: Boolean,
|
|
710
712
|
default: false
|
|
711
713
|
},
|
|
714
|
+
size: {
|
|
715
|
+
type: String,
|
|
716
|
+
default: null
|
|
717
|
+
},
|
|
712
718
|
tableStyle: {
|
|
713
719
|
type: null,
|
|
714
720
|
default: null
|
package/datatable/BodyCell.vue
CHANGED
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
</template>
|
|
47
47
|
<template v-else-if="columnProp('rowReorder')">
|
|
48
48
|
<component v-if="column.children && column.children.rowreordericon" :is="column.children.rowreordericon" :class="cx('rowReorderIcon')" />
|
|
49
|
-
<i v-else-if="columnProp('rowReorderIcon')" :class="[cx('rowReorderIcon'), columnProp('rowReorderIcon')]" />
|
|
50
|
-
<BarsIcon v-else :class="cx('rowReorderIcon')"
|
|
49
|
+
<i v-else-if="columnProp('rowReorderIcon')" :class="[cx('rowReorderIcon'), columnProp('rowReorderIcon')]" v-bind="getColumnPT('rowReorderIcon')" />
|
|
50
|
+
<BarsIcon v-else :class="cx('rowReorderIcon')" v-bind="getColumnPT('rowReorderIcon')" />
|
|
51
51
|
</template>
|
|
52
52
|
<template v-else-if="columnProp('expander')">
|
|
53
53
|
<button v-ripple :class="cx('rowToggler')" type="button" :aria-expanded="isRowExpanded" :aria-controls="ariaControls" :aria-label="expandButtonAriaLabel" @click="toggleRow" v-bind="getColumnPT('rowToggler')">
|
|
@@ -86,6 +86,7 @@ import TimesIcon from 'primevue/icons/times';
|
|
|
86
86
|
import OverlayEventBus from 'primevue/overlayeventbus';
|
|
87
87
|
import Ripple from 'primevue/ripple';
|
|
88
88
|
import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
89
|
+
import { mergeProps } from 'vue';
|
|
89
90
|
import RowCheckbox from './RowCheckbox.vue';
|
|
90
91
|
import RowRadioButton from './RowRadioButton.vue';
|
|
91
92
|
|
|
@@ -213,11 +214,13 @@ export default {
|
|
|
213
214
|
state: this.$data
|
|
214
215
|
},
|
|
215
216
|
context: {
|
|
216
|
-
index: this.index
|
|
217
|
+
index: this.index,
|
|
218
|
+
size: this.$parentInstance?.$parentInstance?.size,
|
|
219
|
+
showGridlines: this.$parentInstance?.$parentInstance?.showGridlines
|
|
217
220
|
}
|
|
218
221
|
};
|
|
219
222
|
|
|
220
|
-
return
|
|
223
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
221
224
|
},
|
|
222
225
|
getColumnProp() {
|
|
223
226
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined;
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
:class="cx('filterMenuButton')"
|
|
15
15
|
@click="toggleMenu($event)"
|
|
16
16
|
@keydown="onToggleButtonKeyDown($event)"
|
|
17
|
-
v-bind="getColumnPT('filterMenuButton')"
|
|
17
|
+
v-bind="getColumnPT('filterMenuButton', ptmFilterMenuParams)"
|
|
18
18
|
>
|
|
19
|
-
<component :is="filterIconTemplate || 'FilterIcon'" />
|
|
19
|
+
<component :is="filterIconTemplate || 'FilterIcon'" v-bind="getColumnPT('filterMenuIcon')" />
|
|
20
20
|
</button>
|
|
21
|
-
<button v-if="showClearButton && display === 'row'" :class="cx('headerFilterClearButton')" type="button" @click="clearFilter()" v-bind="getColumnPT('headerFilterClearButton')">
|
|
21
|
+
<button v-if="showClearButton && display === 'row'" :class="cx('headerFilterClearButton')" type="button" @click="clearFilter()" v-bind="getColumnPT('headerFilterClearButton', ptmHeaderFilterClearParams)">
|
|
22
22
|
<component :is="filterClearIconTemplate || 'FilterSlashIcon'" v-bind="getColumnPT('filterClearIcon')" />
|
|
23
23
|
</button>
|
|
24
24
|
<Portal>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
@keydown="onRowMatchModeKeyDown($event)"
|
|
48
48
|
@keydown.enter.prevent="onRowMatchModeChange(matchMode.value)"
|
|
49
49
|
:tabindex="i === 0 ? '0' : null"
|
|
50
|
-
v-bind="getColumnPT('filterRowItem')"
|
|
50
|
+
v-bind="getColumnPT('filterRowItem', ptmFilterRowItemOptions(matchMode))"
|
|
51
51
|
>
|
|
52
52
|
{{ matchMode.label }}
|
|
53
53
|
</li>
|
|
@@ -96,6 +96,9 @@
|
|
|
96
96
|
@click="removeConstraint(i)"
|
|
97
97
|
:label="removeRuleButtonLabel"
|
|
98
98
|
:unstyled="unstyled"
|
|
99
|
+
text
|
|
100
|
+
severity="danger"
|
|
101
|
+
size="small"
|
|
99
102
|
:pt="getColumnPT('filterRemoveButton')"
|
|
100
103
|
data-pc-section="filterremovebutton"
|
|
101
104
|
>
|
|
@@ -114,6 +117,9 @@
|
|
|
114
117
|
:class="cx('filterAddRuleButton')"
|
|
115
118
|
@click="addConstraint()"
|
|
116
119
|
:unstyled="unstyled"
|
|
120
|
+
text
|
|
121
|
+
severity="info"
|
|
122
|
+
size="small"
|
|
117
123
|
:pt="getColumnPT('filterAddRuleButton')"
|
|
118
124
|
data-pc-section="filteraddrulebutton"
|
|
119
125
|
>
|
|
@@ -130,6 +136,8 @@
|
|
|
130
136
|
:label="clearButtonLabel"
|
|
131
137
|
@click="clearFilter"
|
|
132
138
|
:unstyled="unstyled"
|
|
139
|
+
size="small"
|
|
140
|
+
outlined
|
|
133
141
|
:pt="getColumnPT('filterClearButton')"
|
|
134
142
|
data-pc-section="filterclearbutton"
|
|
135
143
|
></CFButton>
|
|
@@ -142,6 +150,7 @@
|
|
|
142
150
|
:label="applyButtonLabel"
|
|
143
151
|
@click="applyFilter()"
|
|
144
152
|
:unstyled="unstyled"
|
|
153
|
+
size="small"
|
|
145
154
|
:pt="getColumnPT('filterApplyButton')"
|
|
146
155
|
data-pc-section="filterapplybutton"
|
|
147
156
|
></CFButton>
|
|
@@ -169,6 +178,7 @@ import TrashIcon from 'primevue/icons/trash';
|
|
|
169
178
|
import OverlayEventBus from 'primevue/overlayeventbus';
|
|
170
179
|
import Portal from 'primevue/portal';
|
|
171
180
|
import { ConnectedOverlayScrollHandler, DomHandler, UniqueComponentId, ZIndexUtils } from 'primevue/utils';
|
|
181
|
+
import { mergeProps } from 'vue';
|
|
172
182
|
|
|
173
183
|
export default {
|
|
174
184
|
name: 'ColumnFilter',
|
|
@@ -316,18 +326,28 @@ export default {
|
|
|
316
326
|
}
|
|
317
327
|
},
|
|
318
328
|
methods: {
|
|
319
|
-
getColumnPT(key) {
|
|
320
|
-
|
|
329
|
+
getColumnPT(key, params) {
|
|
330
|
+
const columnMetaData = {
|
|
321
331
|
props: this.column.props,
|
|
322
332
|
parent: {
|
|
323
333
|
props: this.$props,
|
|
324
334
|
state: this.$data
|
|
325
|
-
}
|
|
326
|
-
|
|
335
|
+
},
|
|
336
|
+
...params
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
327
340
|
},
|
|
328
341
|
getColumnProp() {
|
|
329
342
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined;
|
|
330
343
|
},
|
|
344
|
+
ptmFilterRowItemOptions(matchMode) {
|
|
345
|
+
return {
|
|
346
|
+
context: {
|
|
347
|
+
highlighted: matchMode && this.isRowMatchModeSelected(matchMode.value)
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
},
|
|
331
351
|
clearFilter() {
|
|
332
352
|
let _filters = { ...this.filters };
|
|
333
353
|
|
|
@@ -667,6 +687,21 @@ export default {
|
|
|
667
687
|
},
|
|
668
688
|
filterConstraintAriaLabel() {
|
|
669
689
|
return this.$primevue.config.locale ? this.$primevue.config.locale.filterConstraint : undefined;
|
|
690
|
+
},
|
|
691
|
+
ptmHeaderFilterClearParams() {
|
|
692
|
+
return {
|
|
693
|
+
context: {
|
|
694
|
+
hidden: this.hasRowFilter()
|
|
695
|
+
}
|
|
696
|
+
};
|
|
697
|
+
},
|
|
698
|
+
ptmFilterMenuParams() {
|
|
699
|
+
return {
|
|
700
|
+
context: {
|
|
701
|
+
overlayVisible: this.overlayVisible,
|
|
702
|
+
active: this.hasFilter()
|
|
703
|
+
}
|
|
704
|
+
};
|
|
670
705
|
}
|
|
671
706
|
},
|
|
672
707
|
components: {
|
package/datatable/DataTable.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { RowPassThroughOptionType } from '../row';
|
|
|
16
16
|
import { ClassComponent, GlobalComponentConstructor, Nullable } from '../ts-helpers';
|
|
17
17
|
import { VirtualScrollerPassThroughOptionType, VirtualScrollerProps } from '../virtualscroller';
|
|
18
18
|
|
|
19
|
-
export declare type DataTablePassThroughOptionType = DataTablePassThroughAttributes | ((options: DataTablePassThroughMethodOptions) => DataTablePassThroughAttributes) | null | undefined;
|
|
19
|
+
export declare type DataTablePassThroughOptionType = DataTablePassThroughAttributes | ((options: DataTablePassThroughMethodOptions) => DataTablePassThroughAttributes | string) | string | null | undefined;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Custom passthrough(pt) option method.
|
|
@@ -25,6 +25,7 @@ export interface DataTablePassThroughMethodOptions {
|
|
|
25
25
|
instance: any;
|
|
26
26
|
props: DataTableProps;
|
|
27
27
|
state: DataTableState;
|
|
28
|
+
context: DataTableContext;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
/**
|
|
@@ -721,6 +722,31 @@ export interface DataTableState {
|
|
|
721
722
|
d_editing: boolean;
|
|
722
723
|
}
|
|
723
724
|
|
|
725
|
+
/**
|
|
726
|
+
* Defines current options in DataTable component.
|
|
727
|
+
*/
|
|
728
|
+
export interface DataTableContext {
|
|
729
|
+
/**
|
|
730
|
+
* Current index of the row.
|
|
731
|
+
*/
|
|
732
|
+
index: number;
|
|
733
|
+
/**
|
|
734
|
+
* Current selectable state of row as a boolean.
|
|
735
|
+
* @defaultValue false
|
|
736
|
+
*/
|
|
737
|
+
selectable: boolean;
|
|
738
|
+
/**
|
|
739
|
+
* Current selected state of row as a boolean.
|
|
740
|
+
* @defaultValue false
|
|
741
|
+
*/
|
|
742
|
+
selected: boolean;
|
|
743
|
+
/**
|
|
744
|
+
* Current stripedRows state of row as a boolean.
|
|
745
|
+
* @defaultValue false
|
|
746
|
+
*/
|
|
747
|
+
stripedRows: boolean;
|
|
748
|
+
}
|
|
749
|
+
|
|
724
750
|
/**
|
|
725
751
|
* Defines valid properties in DataTable component.
|
|
726
752
|
*/
|
|
@@ -1013,6 +1039,10 @@ export interface DataTableProps {
|
|
|
1013
1039
|
* @defaultValue false
|
|
1014
1040
|
*/
|
|
1015
1041
|
stripedRows?: boolean | undefined;
|
|
1042
|
+
/**
|
|
1043
|
+
* Defines the size of the table.
|
|
1044
|
+
*/
|
|
1045
|
+
size?: 'small' | 'large' | undefined;
|
|
1016
1046
|
/**
|
|
1017
1047
|
* Inline style of the table element.
|
|
1018
1048
|
*/
|
package/datatable/FooterCell.vue
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
<script>
|
|
9
9
|
import BaseComponent from 'primevue/basecomponent';
|
|
10
10
|
import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
11
|
+
import { mergeProps } from 'vue';
|
|
11
12
|
|
|
12
13
|
export default {
|
|
13
14
|
name: 'FooterCell',
|
|
@@ -50,11 +51,13 @@ export default {
|
|
|
50
51
|
state: this.$data
|
|
51
52
|
},
|
|
52
53
|
context: {
|
|
53
|
-
index: this.index
|
|
54
|
+
index: this.index,
|
|
55
|
+
size: this.$parentInstance?.$parentInstance?.size,
|
|
56
|
+
showGridlines: this.$parentInstance?.$parentInstance?.showGridlines || false
|
|
54
57
|
}
|
|
55
58
|
};
|
|
56
59
|
|
|
57
|
-
return
|
|
60
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
58
61
|
},
|
|
59
62
|
getColumnProp() {
|
|
60
63
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined;
|
package/datatable/HeaderCell.vue
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<component v-if="column.children && column.children.header" :is="column.children.header" :column="column" />
|
|
28
28
|
<span v-if="columnProp('header')" :class="cx('headerTitle')" v-bind="getColumnPT('headerTitle')">{{ columnProp('header') }}</span>
|
|
29
29
|
<span v-if="columnProp('sortable')" v-bind="getColumnPT('sort')">
|
|
30
|
-
<component :is="(column.children && column.children.sorticon) || sortableColumnIcon" :sorted="sortState.sorted" :sortOrder="sortState.sortOrder" data-pc-section="sorticon" :class="cx('sortIcon')" />
|
|
30
|
+
<component :is="(column.children && column.children.sorticon) || sortableColumnIcon" :sorted="sortState.sorted" :sortOrder="sortState.sortOrder" data-pc-section="sorticon" :class="cx('sortIcon')" v-bind="getColumnPT('sorticon')" />
|
|
31
31
|
</span>
|
|
32
32
|
<span v-if="isMultiSorted()" :class="cx('sortBadge')" v-bind="getColumnPT('sortBadge')">{{ getBadgeValue() }}</span>
|
|
33
33
|
<DTHeaderCheckbox
|
|
@@ -87,6 +87,7 @@ import SortAltIcon from 'primevue/icons/sortalt';
|
|
|
87
87
|
import SortAmountDownIcon from 'primevue/icons/sortamountdown';
|
|
88
88
|
import SortAmountUpAltIcon from 'primevue/icons/sortamountupalt';
|
|
89
89
|
import { DomHandler, ObjectUtils } from 'primevue/utils';
|
|
90
|
+
import { mergeProps } from 'vue';
|
|
90
91
|
import ColumnFilter from './ColumnFilter.vue';
|
|
91
92
|
import HeaderCheckbox from './HeaderCheckbox.vue';
|
|
92
93
|
|
|
@@ -213,11 +214,15 @@ export default {
|
|
|
213
214
|
state: this.$data
|
|
214
215
|
},
|
|
215
216
|
context: {
|
|
216
|
-
index: this.index
|
|
217
|
+
index: this.index,
|
|
218
|
+
sorted: this.isColumnSorted(),
|
|
219
|
+
resizable: this.resizableColumns,
|
|
220
|
+
size: this.$parentInstance?.$parentInstance?.size,
|
|
221
|
+
showGridlines: this.$parentInstance?.$parentInstance?.showGridlines || false
|
|
217
222
|
}
|
|
218
223
|
};
|
|
219
224
|
|
|
220
|
-
return
|
|
225
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
221
226
|
},
|
|
222
227
|
getColumnProp() {
|
|
223
228
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
import BaseComponent from 'primevue/basecomponent';
|
|
25
25
|
import CheckIcon from 'primevue/icons/check';
|
|
26
26
|
import { DomHandler } from 'primevue/utils';
|
|
27
|
+
import { mergeProps } from 'vue';
|
|
27
28
|
|
|
28
29
|
export default {
|
|
29
30
|
name: 'HeaderCheckbox',
|
|
@@ -46,7 +47,7 @@ export default {
|
|
|
46
47
|
},
|
|
47
48
|
methods: {
|
|
48
49
|
getColumnPT(key) {
|
|
49
|
-
|
|
50
|
+
const columnMetaData = {
|
|
50
51
|
props: this.column.props,
|
|
51
52
|
parent: {
|
|
52
53
|
props: this.$props,
|
|
@@ -57,7 +58,9 @@ export default {
|
|
|
57
58
|
focused: this.focused,
|
|
58
59
|
disabled: this.disabled
|
|
59
60
|
}
|
|
60
|
-
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
61
64
|
},
|
|
62
65
|
getColumnProp() {
|
|
63
66
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
import BaseComponent from 'primevue/basecomponent';
|
|
26
26
|
import CheckIcon from 'primevue/icons/check';
|
|
27
27
|
import { DomHandler } from 'primevue/utils';
|
|
28
|
+
import { mergeProps } from 'vue';
|
|
28
29
|
|
|
29
30
|
export default {
|
|
30
31
|
name: 'RowCheckbox',
|
|
@@ -51,7 +52,7 @@ export default {
|
|
|
51
52
|
},
|
|
52
53
|
methods: {
|
|
53
54
|
getColumnPT(key) {
|
|
54
|
-
|
|
55
|
+
const columnMetaData = {
|
|
55
56
|
props: this.column.props,
|
|
56
57
|
parent: {
|
|
57
58
|
props: this.$props,
|
|
@@ -63,7 +64,9 @@ export default {
|
|
|
63
64
|
focused: this.focused,
|
|
64
65
|
disabled: this.$attrs.disabled
|
|
65
66
|
}
|
|
66
|
-
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
67
70
|
},
|
|
68
71
|
getColumnProp() {
|
|
69
72
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
<script>
|
|
13
13
|
import BaseComponent from 'primevue/basecomponent';
|
|
14
14
|
import { DomHandler } from 'primevue/utils';
|
|
15
|
+
import { mergeProps } from 'vue';
|
|
15
16
|
|
|
16
17
|
export default {
|
|
17
18
|
name: 'RowRadioButton',
|
|
@@ -36,7 +37,7 @@ export default {
|
|
|
36
37
|
},
|
|
37
38
|
methods: {
|
|
38
39
|
getColumnPT(key) {
|
|
39
|
-
|
|
40
|
+
const columnMetaData = {
|
|
40
41
|
props: this.column.props,
|
|
41
42
|
parent: {
|
|
42
43
|
props: this.$props,
|
|
@@ -48,7 +49,9 @@ export default {
|
|
|
48
49
|
focused: this.focused,
|
|
49
50
|
disabled: this.$attrs.disabled
|
|
50
51
|
}
|
|
51
|
-
}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(), key, columnMetaData));
|
|
52
55
|
},
|
|
53
56
|
getColumnProp() {
|
|
54
57
|
return this.column.props && this.column.props.pt ? this.column.props.pt : undefined; //@todo:
|
package/datatable/TableBody.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tbody :ref="bodyRef" :class="cx('tbody')" role="rowgroup" :style="bodyStyle" v-bind="ptm('tbody')">
|
|
2
|
+
<tbody :ref="bodyRef" :class="cx('tbody')" role="rowgroup" :style="bodyStyle" v-bind="ptm('tbody', ptmTBodyOptions)">
|
|
3
3
|
<template v-if="!empty">
|
|
4
4
|
<template v-for="(rowData, index) of value">
|
|
5
5
|
<tr
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
role="row"
|
|
11
11
|
v-bind="ptm('rowGroupHeader')"
|
|
12
12
|
>
|
|
13
|
-
<td :colspan="columnsLength - 1" v-bind="{ ...
|
|
14
|
-
<button v-if="expandableRowGroups" :class="cx('rowGroupToggler')" @click="onRowGroupToggle($event, rowData)" type="button" v-bind="
|
|
13
|
+
<td :colspan="columnsLength - 1" v-bind="{ ...ptm('column.root'), ...ptm('column.bodyCell') }" data-pc-section="bodycell">
|
|
14
|
+
<button v-if="expandableRowGroups" :class="cx('rowGroupToggler')" @click="onRowGroupToggle($event, rowData)" type="button" v-bind="ptm('rowGroupToggler')">
|
|
15
15
|
<component v-if="templates['rowgrouptogglericon']" :is="templates['rowgrouptogglericon']" :expanded="isRowGroupExpanded(rowData)" />
|
|
16
16
|
<template v-else>
|
|
17
|
-
<span v-if="isRowGroupExpanded(rowData) && expandedRowIcon" :class="[cx('rowGroupTogglerIcon'), expandedRowIcon]" v-bind="
|
|
18
|
-
<ChevronDownIcon v-else-if="isRowGroupExpanded(rowData) && !expandedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="
|
|
19
|
-
<span v-else-if="!isRowGroupExpanded(rowData) && collapsedRowIcon" :class="[cx('rowGroupTogglerIcon'), collapsedRowIcon]" v-bind="
|
|
20
|
-
<ChevronRightIcon v-else-if="!isRowGroupExpanded(rowData) && !collapsedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="
|
|
17
|
+
<span v-if="isRowGroupExpanded(rowData) && expandedRowIcon" :class="[cx('rowGroupTogglerIcon'), expandedRowIcon]" v-bind="ptm('rowGroupTogglerIcon')" />
|
|
18
|
+
<ChevronDownIcon v-else-if="isRowGroupExpanded(rowData) && !expandedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="ptm('rowGroupTogglerIcon')" />
|
|
19
|
+
<span v-else-if="!isRowGroupExpanded(rowData) && collapsedRowIcon" :class="[cx('rowGroupTogglerIcon'), collapsedRowIcon]" v-bind="ptm('rowGroupTogglerIcon')" />
|
|
20
|
+
<ChevronRightIcon v-else-if="!isRowGroupExpanded(rowData) && !collapsedRowIcon" :class="cx('rowGroupTogglerIcon')" v-bind="ptm('rowGroupTogglerIcon')" />
|
|
21
21
|
</template>
|
|
22
22
|
</button>
|
|
23
23
|
<component :is="templates['groupheader']" :data="rowData" :index="getRowIndex(index)" />
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
@dragleave="onRowDragLeave($event)"
|
|
43
43
|
@dragend="onRowDragEnd($event)"
|
|
44
44
|
@drop="onRowDrop($event)"
|
|
45
|
-
v-bind="
|
|
45
|
+
v-bind="getBodyRowPTOptions('bodyRow', rowData, index)"
|
|
46
46
|
:data-p-selectable-row="selectionMode ? true : false"
|
|
47
47
|
:data-p-highlight="selection && isSelected(rowData)"
|
|
48
48
|
:data-p-highlight-contextmenu="contextMenuSelection && isSelectedWithContextMenu(rowData)"
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
role="row"
|
|
103
103
|
v-bind="ptm('rowGroupFooter')"
|
|
104
104
|
>
|
|
105
|
-
<td :colspan="columnsLength - 1" v-bind="{ ...
|
|
105
|
+
<td :colspan="columnsLength - 1" v-bind="{ ...ptm('column.root'), ...ptm('column.footerCell') }" data-pc-section="footercell">
|
|
106
106
|
<component :is="templates['groupfooter']" :data="rowData" :index="getRowIndex(index)" />
|
|
107
107
|
</td>
|
|
108
108
|
</tr>
|
|
@@ -121,6 +121,7 @@ import BaseComponent from 'primevue/basecomponent';
|
|
|
121
121
|
import ChevronDownIcon from 'primevue/icons/chevrondown';
|
|
122
122
|
import ChevronRightIcon from 'primevue/icons/chevronright';
|
|
123
123
|
import { DomHandler, ObjectUtils, UniqueComponentId } from 'primevue/utils';
|
|
124
|
+
import { mergeProps } from 'vue';
|
|
124
125
|
import BodyCell from './BodyCell.vue';
|
|
125
126
|
|
|
126
127
|
export default {
|
|
@@ -306,18 +307,30 @@ export default {
|
|
|
306
307
|
columnProp(col, prop) {
|
|
307
308
|
return ObjectUtils.getVNodeProp(col, prop);
|
|
308
309
|
},
|
|
309
|
-
getColumnPT(
|
|
310
|
-
|
|
311
|
-
props:
|
|
310
|
+
getColumnPT(currentColumn, key) {
|
|
311
|
+
const columnMetaData = {
|
|
312
|
+
props: currentColumn.props,
|
|
312
313
|
parent: {
|
|
313
314
|
props: this.$props,
|
|
314
315
|
state: this.$data
|
|
315
316
|
}
|
|
316
|
-
}
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(currentColumn), key, columnMetaData));
|
|
317
320
|
},
|
|
318
321
|
getColumnProp(column) {
|
|
319
322
|
return column.props && column.props.pt ? column.props.pt : undefined; //@todo
|
|
320
323
|
},
|
|
324
|
+
getBodyRowPTOptions(key, rowdata, index) {
|
|
325
|
+
return this.ptm(key, {
|
|
326
|
+
context: {
|
|
327
|
+
index,
|
|
328
|
+
selectable: this.$parentInstance?.$parentInstance?.rowHover || this.$parentInstance?.$parentInstance?.selectionMode,
|
|
329
|
+
selected: this.isSelected(rowdata),
|
|
330
|
+
stripedRows: this.$parentInstance?.$parentInstance?.stripedRows || false
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
},
|
|
321
334
|
shouldRenderRowGroupHeader(value, rowData, i) {
|
|
322
335
|
let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
|
|
323
336
|
let prevRowData = value[i - 1];
|
|
@@ -609,6 +622,13 @@ export default {
|
|
|
609
622
|
},
|
|
610
623
|
nameAttributeSelector() {
|
|
611
624
|
return UniqueComponentId();
|
|
625
|
+
},
|
|
626
|
+
ptmTBodyOptions() {
|
|
627
|
+
return {
|
|
628
|
+
context: {
|
|
629
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
630
|
+
}
|
|
631
|
+
};
|
|
612
632
|
}
|
|
613
633
|
},
|
|
614
634
|
components: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tfoot v-if="hasFooter" :class="cx('tfoot')" :style="sx('tfoot')" role="rowgroup" v-bind="columnGroup ? { ...ptm('tfoot'), ...getColumnGroupPT('root') } : ptm('tfoot')" data-pc-section="tfoot">
|
|
2
|
+
<tfoot v-if="hasFooter" :class="cx('tfoot')" :style="sx('tfoot')" role="rowgroup" v-bind="columnGroup ? { ...ptm('tfoot', ptmTFootOptions), ...getColumnGroupPT('root') } : ptm('tfoot', ptmTFootOptions)" data-pc-section="tfoot">
|
|
3
3
|
<tr v-if="!columnGroup" role="row" v-bind="ptm('footerRow')">
|
|
4
4
|
<template v-for="(col, i) of columns" :key="columnProp(col, 'columnKey') || columnProp(col, 'field') || i">
|
|
5
5
|
<DTFooterCell v-if="!columnProp(col, 'hidden')" :column="col" :pt="pt" />
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
<script>
|
|
19
19
|
import BaseComponent from 'primevue/basecomponent';
|
|
20
20
|
import { ObjectUtils } from 'primevue/utils';
|
|
21
|
+
import { mergeProps } from 'vue';
|
|
21
22
|
import FooterCell from './FooterCell.vue';
|
|
22
23
|
|
|
23
24
|
export default {
|
|
@@ -46,11 +47,12 @@ export default {
|
|
|
46
47
|
state: this.$data
|
|
47
48
|
},
|
|
48
49
|
context: {
|
|
49
|
-
type: '
|
|
50
|
+
type: 'footer',
|
|
51
|
+
scrollable: this.ptmTFootOptions.context.scrollable
|
|
50
52
|
}
|
|
51
53
|
};
|
|
52
54
|
|
|
53
|
-
return
|
|
55
|
+
return mergeProps(this.ptm(`columnGroup.${key}`, { columnGroup: columnGroupMetaData }), this.ptm(`columnGroup.${key}`, columnGroupMetaData), this.ptmo(this.getColumnGroupProps(), key, columnGroupMetaData));
|
|
54
56
|
},
|
|
55
57
|
getColumnGroupProps() {
|
|
56
58
|
return this.columnGroup && this.columnGroup.props && this.columnGroup.props.pt ? this.columnGroup.props.pt : undefined; //@todo
|
|
@@ -67,7 +69,7 @@ export default {
|
|
|
67
69
|
}
|
|
68
70
|
};
|
|
69
71
|
|
|
70
|
-
return
|
|
72
|
+
return mergeProps(this.ptm(`row.${key}`, { row: rowMetaData }), this.ptm(`row.${key}`, rowMetaData), this.ptmo(this.getRowProp(row), key, rowMetaData));
|
|
71
73
|
},
|
|
72
74
|
getRowProp(row) {
|
|
73
75
|
return row.props && row.props.pt ? row.props.pt : undefined; //@todo
|
|
@@ -118,6 +120,13 @@ export default {
|
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
return hasFooter;
|
|
123
|
+
},
|
|
124
|
+
ptmTFootOptions() {
|
|
125
|
+
return {
|
|
126
|
+
context: {
|
|
127
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
128
|
+
}
|
|
129
|
+
};
|
|
121
130
|
}
|
|
122
131
|
},
|
|
123
132
|
components: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<thead :class="cx('thead')" :style="sx('thead')" role="rowgroup" v-bind="columnGroup ? { ...ptm('thead'), ...getColumnGroupPT('root') } : ptm('thead')" data-pc-section="thead">
|
|
2
|
+
<thead :class="cx('thead')" :style="sx('thead')" role="rowgroup" v-bind="columnGroup ? { ...ptm('thead', ptmTHeadOptions), ...getColumnGroupPT('root') } : ptm('thead', ptmTHeadOptions)" data-pc-section="thead">
|
|
3
3
|
<template v-if="!columnGroup">
|
|
4
4
|
<tr role="row" v-bind="ptm('headerRow')">
|
|
5
5
|
<template v-for="(col, i) of columns" :key="columnProp(col, 'columnKey') || columnProp(col, 'field') || i">
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
<script>
|
|
132
132
|
import BaseComponent from 'primevue/basecomponent';
|
|
133
133
|
import { ObjectUtils } from 'primevue/utils';
|
|
134
|
+
import { mergeProps } from 'vue';
|
|
134
135
|
import ColumnFilter from './ColumnFilter.vue';
|
|
135
136
|
import HeaderCell from './HeaderCell.vue';
|
|
136
137
|
import HeaderCheckbox from './HeaderCheckbox.vue';
|
|
@@ -243,11 +244,12 @@ export default {
|
|
|
243
244
|
state: this.$data
|
|
244
245
|
},
|
|
245
246
|
context: {
|
|
246
|
-
type: 'header'
|
|
247
|
+
type: 'header',
|
|
248
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
247
249
|
}
|
|
248
250
|
};
|
|
249
251
|
|
|
250
|
-
return
|
|
252
|
+
return mergeProps(this.ptm(`columnGroup.${key}`, { columnGroup: columnGroupMetaData }), this.ptm(`columnGroup.${key}`, columnGroupMetaData), this.ptmo(this.getColumnGroupProps(), key, columnGroupMetaData));
|
|
251
253
|
},
|
|
252
254
|
getColumnGroupProps() {
|
|
253
255
|
return this.columnGroup && this.columnGroup.props && this.columnGroup.props.pt ? this.columnGroup.props.pt : undefined; //@todo
|
|
@@ -264,7 +266,7 @@ export default {
|
|
|
264
266
|
}
|
|
265
267
|
};
|
|
266
268
|
|
|
267
|
-
return
|
|
269
|
+
return mergeProps(this.ptm(`row.${key}`, { row: rowMetaData }), this.ptm(`row.${key}`, rowMetaData), this.ptmo(this.getRowProp(row), key, rowMetaData));
|
|
268
270
|
},
|
|
269
271
|
getRowProp(row) {
|
|
270
272
|
return row.props && row.props.pt ? row.props.pt : undefined; //@todo
|
|
@@ -281,7 +283,7 @@ export default {
|
|
|
281
283
|
}
|
|
282
284
|
};
|
|
283
285
|
|
|
284
|
-
return
|
|
286
|
+
return mergeProps(this.ptm(`column.${key}`, { column: columnMetaData }), this.ptm(`column.${key}`, columnMetaData), this.ptmo(this.getColumnProp(column), key, columnMetaData));
|
|
285
287
|
},
|
|
286
288
|
getColumnProp(column) {
|
|
287
289
|
return column.props && column.props.pt ? column.props.pt : undefined; //@todo
|
|
@@ -322,6 +324,15 @@ export default {
|
|
|
322
324
|
}
|
|
323
325
|
}
|
|
324
326
|
},
|
|
327
|
+
computed: {
|
|
328
|
+
ptmTHeadOptions() {
|
|
329
|
+
return {
|
|
330
|
+
context: {
|
|
331
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
},
|
|
325
336
|
components: {
|
|
326
337
|
DTHeaderCell: HeaderCell,
|
|
327
338
|
DTHeaderCheckbox: HeaderCheckbox,
|