primevue 3.30.1 → 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/basecomponent/BaseComponent.vue +1 -1
- package/basecomponent/basecomponent.cjs.js +1 -1
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +1 -1
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +1 -1
- package/basecomponent/basecomponent.min.js +1 -1
- package/basedirective/basedirective.cjs.js +1 -1
- package/basedirective/basedirective.cjs.min.js +1 -1
- package/basedirective/basedirective.esm.js +1 -1
- package/basedirective/basedirective.esm.min.js +1 -1
- package/basedirective/basedirective.js +1 -1
- package/basedirective/basedirective.min.js +1 -1
- package/column/Column.d.ts +48 -0
- package/columngroup/ColumnGroup.d.ts +5 -0
- package/core/core.js +19 -13
- package/core/core.min.js +5 -5
- package/datatable/BaseDataTable.vue +7 -1
- package/datatable/BodyCell.vue +5 -3
- package/datatable/ColumnFilter.vue +43 -8
- package/datatable/DataTable.d.ts +30 -0
- package/datatable/FooterCell.vue +3 -1
- package/datatable/HeaderCell.vue +6 -2
- 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 +10 -2
- package/datatable/TableHeader.vue +12 -2
- package/datatable/datatable.cjs.js +149 -43
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +149 -43
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +150 -44
- package/datatable/datatable.min.js +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/dock/Dock.d.ts +4 -0
- 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/galleria/Galleria.d.ts +4 -0
- 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/message/BaseMessage.vue +2 -2
- package/message/Message.d.ts +10 -0
- 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.vue +2 -1
- package/multiselect/multiselect.cjs.js +4 -4
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +5 -5
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +4 -4
- package/multiselect/multiselect.min.js +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/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/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/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/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/tabview/TabView.vue +2 -0
- package/tabview/tabview.cjs.js +6 -2
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +6 -2
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +6 -2
- package/tabview/tabview.min.js +1 -1
- package/toast/BaseToast.vue +2 -2
- package/toast/Toast.d.ts +10 -0
- 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/tree/Tree.d.ts +9 -0
- 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/treetable/BaseTreeTable.vue +7 -1
- package/treetable/BodyCell.vue +14 -4
- package/treetable/FooterCell.vue +3 -1
- package/treetable/HeaderCell.vue +9 -2
- package/treetable/TreeTable.d.ts +30 -8
- package/treetable/TreeTable.vue +9 -2
- package/treetable/TreeTableRow.vue +10 -1
- package/treetable/treetable.cjs.js +58 -13
- package/treetable/treetable.cjs.min.js +1 -1
- package/treetable/treetable.esm.js +59 -14
- package/treetable/treetable.esm.min.js +1 -1
- package/treetable/treetable.js +58 -13
- package/treetable/treetable.min.js +1 -1
- package/vetur-attributes.json +8 -0
- package/vetur-tags.json +2 -0
- 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')">
|
|
@@ -214,7 +214,9 @@ export default {
|
|
|
214
214
|
state: this.$data
|
|
215
215
|
},
|
|
216
216
|
context: {
|
|
217
|
-
index: this.index
|
|
217
|
+
index: this.index,
|
|
218
|
+
size: this.$parentInstance?.$parentInstance?.size,
|
|
219
|
+
showGridlines: this.$parentInstance?.$parentInstance?.showGridlines
|
|
218
220
|
}
|
|
219
221
|
};
|
|
220
222
|
|
|
@@ -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
|
@@ -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
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
|
|
@@ -214,7 +214,11 @@ export default {
|
|
|
214
214
|
state: this.$data
|
|
215
215
|
},
|
|
216
216
|
context: {
|
|
217
|
-
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
|
|
218
222
|
}
|
|
219
223
|
};
|
|
220
224
|
|
|
@@ -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" />
|
|
@@ -47,7 +47,8 @@ export default {
|
|
|
47
47
|
state: this.$data
|
|
48
48
|
},
|
|
49
49
|
context: {
|
|
50
|
-
type: '
|
|
50
|
+
type: 'footer',
|
|
51
|
+
scrollable: this.ptmTFootOptions.context.scrollable
|
|
51
52
|
}
|
|
52
53
|
};
|
|
53
54
|
|
|
@@ -119,6 +120,13 @@ export default {
|
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
return hasFooter;
|
|
123
|
+
},
|
|
124
|
+
ptmTFootOptions() {
|
|
125
|
+
return {
|
|
126
|
+
context: {
|
|
127
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
128
|
+
}
|
|
129
|
+
};
|
|
122
130
|
}
|
|
123
131
|
},
|
|
124
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">
|
|
@@ -244,7 +244,8 @@ export default {
|
|
|
244
244
|
state: this.$data
|
|
245
245
|
},
|
|
246
246
|
context: {
|
|
247
|
-
type: 'header'
|
|
247
|
+
type: 'header',
|
|
248
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
248
249
|
}
|
|
249
250
|
};
|
|
250
251
|
|
|
@@ -323,6 +324,15 @@ export default {
|
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
},
|
|
327
|
+
computed: {
|
|
328
|
+
ptmTHeadOptions() {
|
|
329
|
+
return {
|
|
330
|
+
context: {
|
|
331
|
+
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
},
|
|
326
336
|
components: {
|
|
327
337
|
DTHeaderCell: HeaderCell,
|
|
328
338
|
DTHeaderCheckbox: HeaderCheckbox,
|