primevue 4.3.1 → 4.3.3
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/accordionheader/AccordionHeader.vue +8 -2
- package/accordionheader/index.mjs +8 -1
- package/accordionheader/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +72 -16
- package/autocomplete/index.d.ts +3 -3
- package/autocomplete/index.mjs +84 -37
- package/autocomplete/index.mjs.map +1 -1
- package/avatar/Avatar.vue +13 -4
- package/avatar/index.d.ts +3 -3
- package/avatar/index.mjs +26 -6
- package/avatar/index.mjs.map +1 -1
- package/badge/Badge.vue +13 -2
- package/badge/index.d.ts +1 -1
- package/badge/index.mjs +18 -3
- package/badge/index.mjs.map +1 -1
- package/blockui/BlockUI.vue +15 -4
- package/blockui/index.mjs +13 -4
- package/blockui/index.mjs.map +1 -1
- package/button/Button.vue +30 -3
- package/button/index.d.ts +3 -7
- package/button/index.mjs +28 -9
- package/button/index.mjs.map +1 -1
- package/cascadeselect/CascadeSelect.vue +1 -1
- package/cascadeselect/index.d.ts +2 -2
- package/cascadeselect/index.mjs +1 -2
- package/cascadeselect/index.mjs.map +1 -1
- package/checkbox/Checkbox.vue +15 -5
- package/checkbox/index.d.ts +2 -2
- package/checkbox/index.mjs +29 -7
- package/checkbox/index.mjs.map +1 -1
- package/chip/BaseChip.vue +1 -1
- package/chip/Chip.vue +9 -1
- package/chip/index.d.ts +1 -1
- package/chip/index.mjs +13 -3
- package/chip/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +10 -2
- package/colorpicker/index.d.ts +1 -1
- package/colorpicker/index.mjs +9 -2
- package/colorpicker/index.mjs.map +1 -1
- package/column/index.d.ts +3 -3
- package/columngroup/index.d.ts +2 -2
- package/confirmationoptions/index.d.ts +1 -1
- package/datatable/BodyCell.vue +4 -1
- package/datatable/BodyRow.vue +2 -0
- package/datatable/ColumnFilter.vue +1 -1
- package/datatable/DataTable.vue +103 -44
- package/datatable/HeaderCheckbox.vue +2 -2
- package/datatable/RowCheckbox.vue +1 -1
- package/datatable/TableBody.vue +12 -1
- package/datatable/TableFooter.vue +9 -1
- package/datatable/TableHeader.vue +9 -2
- package/datatable/index.d.ts +45 -37
- package/datatable/index.mjs +170 -101
- package/datatable/index.mjs.map +1 -1
- package/dataview/DataView.vue +4 -0
- package/dataview/index.d.ts +61 -4
- package/dataview/index.mjs +6 -2
- package/dataview/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +370 -234
- package/datepicker/index.d.ts +162 -6
- package/datepicker/index.mjs +644 -384
- package/datepicker/index.mjs.map +1 -1
- package/dialog/Dialog.vue +48 -39
- package/dialog/index.d.ts +26 -1
- package/dialog/index.mjs +73 -50
- package/dialog/index.mjs.map +1 -1
- package/divider/Divider.vue +13 -3
- package/divider/index.d.ts +4 -4
- package/divider/index.mjs +18 -5
- package/divider/index.mjs.map +1 -1
- package/dock/index.d.ts +4 -4
- package/drawer/Drawer.vue +30 -20
- package/drawer/index.d.ts +12 -2
- package/drawer/index.mjs +42 -25
- package/drawer/index.mjs.map +1 -1
- package/fieldset/Fieldset.vue +8 -2
- package/fieldset/index.mjs +20 -10
- package/fieldset/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +1 -1
- package/fileupload/index.d.ts +2 -2
- package/fileupload/index.mjs +2 -2
- package/fileupload/index.mjs.map +1 -1
- package/floatlabel/index.d.ts +2 -2
- package/galleria/Galleria.vue +39 -3
- package/galleria/GalleriaItem.vue +8 -9
- package/galleria/index.d.ts +3 -3
- package/galleria/index.mjs +48 -11
- package/galleria/index.mjs.map +1 -1
- package/inplace/Inplace.vue +1 -1
- package/inplace/index.mjs +3 -2
- package/inplace/index.mjs.map +1 -1
- package/inputchips/index.d.ts +2 -2
- package/inputmask/InputMask.vue +15 -1
- package/inputmask/index.d.ts +3 -3
- package/inputmask/index.mjs +12 -1
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/BaseInputNumber.vue +4 -0
- package/inputnumber/InputNumber.vue +29 -14
- package/inputnumber/index.d.ts +6 -6
- package/inputnumber/index.mjs +47 -25
- package/inputnumber/index.mjs.map +1 -1
- package/inputotp/index.d.ts +3 -3
- package/inputtext/InputText.vue +10 -1
- package/inputtext/index.d.ts +4 -5
- package/inputtext/index.mjs +14 -1
- package/inputtext/index.mjs.map +1 -1
- package/keyfilter/index.mjs +12 -19
- package/keyfilter/index.mjs.map +1 -1
- package/knob/Knob.vue +1 -1
- package/knob/index.mjs +1 -1
- package/knob/index.mjs.map +1 -1
- package/listbox/Listbox.vue +9 -2
- package/listbox/index.mjs +11 -3
- package/listbox/index.mjs.map +1 -1
- package/megamenu/index.d.ts +2 -2
- package/menu/Menu.vue +8 -2
- package/menu/Menuitem.vue +14 -4
- package/menu/index.mjs +36 -16
- package/menu/index.mjs.map +1 -1
- package/message/Message.vue +16 -7
- package/message/index.d.ts +2 -2
- package/message/index.mjs +35 -13
- package/message/index.mjs.map +1 -1
- package/metergroup/MeterGroup.vue +9 -3
- package/metergroup/MeterGroupLabel.vue +10 -1
- package/metergroup/index.mjs +32 -7
- package/metergroup/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +41 -6
- package/multiselect/index.d.ts +3 -3
- package/multiselect/index.mjs +53 -21
- package/multiselect/index.mjs.map +1 -1
- package/organizationchart/index.d.ts +2 -2
- package/overlaybadge/index.d.ts +1 -1
- package/package.json +3 -3
- package/paginator/Paginator.vue +2 -0
- package/paginator/index.d.ts +8 -0
- package/paginator/index.mjs +3 -1
- package/paginator/index.mjs.map +1 -1
- package/panel/Panel.vue +29 -22
- package/panel/index.d.ts +22 -2
- package/panel/index.mjs +55 -31
- package/panel/index.mjs.map +1 -1
- package/panelmenu/PanelMenuList.vue +1 -1
- package/panelmenu/index.mjs +1 -1
- package/panelmenu/index.mjs.map +1 -1
- package/password/Password.vue +21 -3
- package/password/index.d.ts +3 -3
- package/password/index.mjs +32 -10
- package/password/index.mjs.map +1 -1
- package/popover/Popover.vue +3 -3
- package/popover/index.mjs +3 -4
- package/popover/index.mjs.map +1 -1
- package/progressbar/ProgressBar.vue +11 -4
- package/progressbar/index.mjs +21 -7
- package/progressbar/index.mjs.map +1 -1
- package/radiobutton/RadioButton.vue +13 -3
- package/radiobutton/index.d.ts +3 -3
- package/radiobutton/index.mjs +24 -4
- package/radiobutton/index.mjs.map +1 -1
- package/rating/Rating.vue +19 -2
- package/rating/index.mjs +28 -7
- package/rating/index.mjs.map +1 -1
- package/scrolltop/ScrollTop.vue +2 -2
- package/scrolltop/index.d.ts +2 -2
- package/scrolltop/index.mjs +4 -2
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +56 -16
- package/select/index.d.ts +2 -2
- package/select/index.mjs +111 -74
- package/select/index.mjs.map +1 -1
- package/selectbutton/SelectButton.vue +26 -9
- package/selectbutton/index.d.ts +2 -2
- package/selectbutton/index.mjs +30 -10
- package/selectbutton/index.mjs.map +1 -1
- package/skeleton/Skeleton.vue +7 -1
- package/skeleton/index.d.ts +3 -3
- package/skeleton/index.mjs +12 -1
- package/skeleton/index.mjs.map +1 -1
- package/slider/Slider.vue +11 -2
- package/slider/index.d.ts +2 -2
- package/slider/index.mjs +27 -8
- package/slider/index.mjs.map +1 -1
- package/speeddial/index.d.ts +5 -5
- package/splitbutton/index.d.ts +1 -1
- package/splitter/Splitter.vue +10 -2
- package/splitter/index.d.ts +3 -3
- package/splitter/index.mjs +19 -6
- package/splitter/index.mjs.map +1 -1
- package/step/Step.vue +25 -7
- package/step/index.mjs +44 -14
- package/step/index.mjs.map +1 -1
- package/steppanel/StepPanel.vue +9 -3
- package/steppanel/index.d.ts +8 -0
- package/steppanel/index.mjs +23 -8
- package/steppanel/index.mjs.map +1 -1
- package/stepper/StepperSeparator.vue +5 -2
- package/stepper/index.d.ts +4 -0
- package/tab/Tab.vue +12 -6
- package/tab/index.mjs +13 -5
- package/tab/index.mjs.map +1 -1
- package/tablist/TabList.vue +13 -2
- package/tablist/index.mjs +21 -8
- package/tablist/index.mjs.map +1 -1
- package/tabpanel/TabPanel.vue +2 -2
- package/tabpanel/index.mjs +2 -2
- package/tabpanel/index.mjs.map +1 -1
- package/tag/Tag.vue +11 -2
- package/tag/index.mjs +17 -3
- package/tag/index.mjs.map +1 -1
- package/textarea/Textarea.vue +10 -1
- package/textarea/index.d.ts +4 -5
- package/textarea/index.mjs +14 -1
- package/textarea/index.mjs.map +1 -1
- package/tieredmenu/TieredMenu.vue +1 -1
- package/tieredmenu/index.mjs +1 -2
- package/tieredmenu/index.mjs.map +1 -1
- package/timeline/Timeline.vue +16 -7
- package/timeline/index.d.ts +3 -3
- package/timeline/index.mjs +42 -11
- package/timeline/index.mjs.map +1 -1
- package/toast/Toast.vue +10 -1
- package/toast/ToastMessage.vue +29 -19
- package/toast/index.d.ts +2 -2
- package/toast/index.mjs +77 -38
- package/toast/index.mjs.map +1 -1
- package/togglebutton/ToggleButton.vue +10 -1
- package/togglebutton/index.d.ts +3 -3
- package/togglebutton/index.mjs +19 -4
- package/togglebutton/index.mjs.map +1 -1
- package/toggleswitch/ToggleSwitch.vue +11 -3
- package/toggleswitch/index.mjs +20 -5
- package/toggleswitch/index.mjs.map +1 -1
- package/tooltip/index.mjs +22 -22
- package/tooltip/index.mjs.map +1 -1
- package/tree/Tree.vue +14 -2
- package/tree/TreeNode.vue +2 -2
- package/tree/index.d.ts +3 -3
- package/tree/index.mjs +28 -10
- package/tree/index.mjs.map +1 -1
- package/treeselect/TreeSelect.vue +1 -1
- package/treeselect/index.d.ts +6 -6
- package/treeselect/index.mjs +1 -2
- package/treeselect/index.mjs.map +1 -1
- package/treetable/index.d.ts +7 -7
- package/treetable/style/index.mjs +2 -3
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/virtualscroller/VirtualScroller.vue +13 -2
- package/virtualscroller/index.d.ts +2 -2
- package/virtualscroller/index.mjs +14 -4
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs +1 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
package/datatable/DataTable.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="cx('root')" data-scrollselectors=".p-datatable-wrapper" v-bind="ptmi('root')">
|
|
2
|
+
<div :class="cx('root')" data-scrollselectors=".p-datatable-wrapper" :data-p="dataP" v-bind="ptmi('root')">
|
|
3
3
|
<slot></slot>
|
|
4
4
|
<div v-if="loading" :class="cx('mask')" v-bind="ptm('mask')">
|
|
5
5
|
<slot v-if="$slots.loading" name="loading"></slot>
|
|
@@ -25,9 +25,10 @@
|
|
|
25
25
|
@page="onPage($event)"
|
|
26
26
|
:alwaysShow="alwaysShowPaginator"
|
|
27
27
|
:unstyled="unstyled"
|
|
28
|
+
:data-p-top="true"
|
|
28
29
|
:pt="ptm('pcPaginator')"
|
|
29
30
|
>
|
|
30
|
-
<template v-if="$slots.paginatorcontainer" #container>
|
|
31
|
+
<template v-if="$slots.paginatorcontainer" #container="slotProps">
|
|
31
32
|
<slot
|
|
32
33
|
name="paginatorcontainer"
|
|
33
34
|
:first="slotProps.first"
|
|
@@ -35,12 +36,14 @@
|
|
|
35
36
|
:rows="slotProps.rows"
|
|
36
37
|
:page="slotProps.page"
|
|
37
38
|
:pageCount="slotProps.pageCount"
|
|
39
|
+
:pageLinks="slotProps.pageLinks"
|
|
38
40
|
:totalRecords="slotProps.totalRecords"
|
|
39
41
|
:firstPageCallback="slotProps.firstPageCallback"
|
|
40
42
|
:lastPageCallback="slotProps.lastPageCallback"
|
|
41
43
|
:prevPageCallback="slotProps.prevPageCallback"
|
|
42
44
|
:nextPageCallback="slotProps.nextPageCallback"
|
|
43
45
|
:rowChangeCallback="slotProps.rowChangeCallback"
|
|
46
|
+
:changePageCallback="slotProps.changePageCallback"
|
|
44
47
|
></slot>
|
|
45
48
|
</template>
|
|
46
49
|
<template v-if="$slots.paginatorstart" #start>
|
|
@@ -68,7 +71,7 @@
|
|
|
68
71
|
<slot name="paginatorrowsperpagedropdownicon" :class="slotProps.class"></slot>
|
|
69
72
|
</template>
|
|
70
73
|
</DTPaginator>
|
|
71
|
-
<div :class="cx('tableContainer')" :style="[sx('tableContainer'), { maxHeight: virtualScrollerDisabled ? scrollHeight : '' }]" v-bind="ptm('tableContainer')">
|
|
74
|
+
<div :class="cx('tableContainer')" :style="[sx('tableContainer'), { maxHeight: virtualScrollerDisabled ? scrollHeight : '' }]" :data-p="dataP" v-bind="ptm('tableContainer')">
|
|
72
75
|
<DTVirtualScroller
|
|
73
76
|
ref="virtualScroller"
|
|
74
77
|
v-bind="virtualScrollerOptions"
|
|
@@ -130,6 +133,7 @@
|
|
|
130
133
|
:selection="selection"
|
|
131
134
|
:selectionKeys="d_selectionKeys"
|
|
132
135
|
:selectionMode="selectionMode"
|
|
136
|
+
:rowHover="rowHover"
|
|
133
137
|
:contextMenu="contextMenu"
|
|
134
138
|
:contextMenuSelection="contextMenuSelection"
|
|
135
139
|
:rowGroupMode="rowGroupMode"
|
|
@@ -186,6 +190,7 @@
|
|
|
186
190
|
:selection="selection"
|
|
187
191
|
:selectionKeys="d_selectionKeys"
|
|
188
192
|
:selectionMode="selectionMode"
|
|
193
|
+
:rowHover="rowHover"
|
|
189
194
|
:contextMenu="contextMenu"
|
|
190
195
|
:contextMenuSelection="contextMenuSelection"
|
|
191
196
|
:rowGroupMode="rowGroupMode"
|
|
@@ -256,6 +261,7 @@
|
|
|
256
261
|
@page="onPage($event)"
|
|
257
262
|
:alwaysShow="alwaysShowPaginator"
|
|
258
263
|
:unstyled="unstyled"
|
|
264
|
+
:data-p-bottom="true"
|
|
259
265
|
:pt="ptm('pcPaginator')"
|
|
260
266
|
>
|
|
261
267
|
<template v-if="$slots.paginatorcontainer" #container="slotProps">
|
|
@@ -266,12 +272,14 @@
|
|
|
266
272
|
:rows="slotProps.rows"
|
|
267
273
|
:page="slotProps.page"
|
|
268
274
|
:pageCount="slotProps.pageCount"
|
|
275
|
+
:pageLinks="slotProps.pageLinks"
|
|
269
276
|
:totalRecords="slotProps.totalRecords"
|
|
270
277
|
:firstPageCallback="slotProps.firstPageCallback"
|
|
271
278
|
:lastPageCallback="slotProps.lastPageCallback"
|
|
272
279
|
:prevPageCallback="slotProps.prevPageCallback"
|
|
273
280
|
:nextPageCallback="slotProps.nextPageCallback"
|
|
274
281
|
:rowChangeCallback="slotProps.rowChangeCallback"
|
|
282
|
+
:changePageCallback="slotProps.changePageCallback"
|
|
275
283
|
></slot>
|
|
276
284
|
</template>
|
|
277
285
|
<template v-if="$slots.paginatorstart" #start>
|
|
@@ -313,6 +321,7 @@
|
|
|
313
321
|
</template>
|
|
314
322
|
|
|
315
323
|
<script>
|
|
324
|
+
import { cn } from '@primeuix/utils';
|
|
316
325
|
import {
|
|
317
326
|
addClass,
|
|
318
327
|
addStyle,
|
|
@@ -1371,20 +1380,24 @@ export default {
|
|
|
1371
1380
|
},
|
|
1372
1381
|
bindColumnResizeEvents() {
|
|
1373
1382
|
if (!this.documentColumnResizeListener) {
|
|
1374
|
-
this.documentColumnResizeListener =
|
|
1383
|
+
this.documentColumnResizeListener = (event) => {
|
|
1375
1384
|
if (this.columnResizing) {
|
|
1376
1385
|
this.onColumnResize(event);
|
|
1377
1386
|
}
|
|
1378
|
-
}
|
|
1387
|
+
};
|
|
1388
|
+
|
|
1389
|
+
document.addEventListener('mousemove', this.documentColumnResizeListener);
|
|
1379
1390
|
}
|
|
1380
1391
|
|
|
1381
1392
|
if (!this.documentColumnResizeEndListener) {
|
|
1382
|
-
this.documentColumnResizeEndListener =
|
|
1393
|
+
this.documentColumnResizeEndListener = () => {
|
|
1383
1394
|
if (this.columnResizing) {
|
|
1384
1395
|
this.columnResizing = false;
|
|
1385
1396
|
this.onColumnResizeEnd();
|
|
1386
1397
|
}
|
|
1387
|
-
}
|
|
1398
|
+
};
|
|
1399
|
+
|
|
1400
|
+
document.addEventListener('mouseup', this.documentColumnResizeEndListener);
|
|
1388
1401
|
}
|
|
1389
1402
|
},
|
|
1390
1403
|
unbindColumnResizeEvents() {
|
|
@@ -1706,7 +1719,8 @@ export default {
|
|
|
1706
1719
|
}
|
|
1707
1720
|
|
|
1708
1721
|
if (this.d_sortField) {
|
|
1709
|
-
|
|
1722
|
+
// Functions can't be serialized, so don't attempt to save them
|
|
1723
|
+
if (typeof this.d_sortField !== 'function') state.sortField = this.d_sortField;
|
|
1710
1724
|
state.sortOrder = this.d_sortOrder;
|
|
1711
1725
|
}
|
|
1712
1726
|
|
|
@@ -1758,51 +1772,90 @@ export default {
|
|
|
1758
1772
|
return value;
|
|
1759
1773
|
};
|
|
1760
1774
|
|
|
1761
|
-
|
|
1762
|
-
|
|
1775
|
+
let parsedState;
|
|
1776
|
+
try {
|
|
1777
|
+
parsedState = JSON.parse(stateString, reviver);
|
|
1778
|
+
} catch (error) {}
|
|
1779
|
+
if (!parsedState || typeof parsedState !== 'object') {
|
|
1780
|
+
storage.removeItem(this.stateKey);
|
|
1781
|
+
return;
|
|
1782
|
+
}
|
|
1763
1783
|
|
|
1764
|
-
|
|
1765
|
-
this.d_first = restoredState.first;
|
|
1766
|
-
this.d_rows = restoredState.rows;
|
|
1767
|
-
}
|
|
1784
|
+
const restoredState = {};
|
|
1768
1785
|
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
this.
|
|
1786
|
+
if (this.paginator) {
|
|
1787
|
+
if (typeof parsedState.first === 'number') {
|
|
1788
|
+
this.d_first = parsedState.first;
|
|
1789
|
+
this.$emit('update:first', this.d_first);
|
|
1790
|
+
restoredState.first = this.d_first;
|
|
1772
1791
|
}
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
this
|
|
1792
|
+
if (typeof parsedState.rows === 'number') {
|
|
1793
|
+
this.d_rows = parsedState.rows;
|
|
1794
|
+
this.$emit('update:rows', this.d_rows);
|
|
1795
|
+
restoredState.rows = this.d_rows;
|
|
1776
1796
|
}
|
|
1797
|
+
}
|
|
1777
1798
|
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1799
|
+
if (typeof parsedState.sortField === 'string') {
|
|
1800
|
+
this.d_sortField = parsedState.sortField;
|
|
1801
|
+
this.$emit('update:sortField', this.d_sortField);
|
|
1802
|
+
restoredState.sortField = this.d_sortField;
|
|
1803
|
+
}
|
|
1781
1804
|
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1805
|
+
if (typeof parsedState.sortOrder === 'number') {
|
|
1806
|
+
this.d_sortOrder = parsedState.sortOrder;
|
|
1807
|
+
this.$emit('update:sortOrder', this.d_sortOrder);
|
|
1808
|
+
restoredState.sortOrder = this.d_sortOrder;
|
|
1809
|
+
}
|
|
1786
1810
|
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1811
|
+
if (Array.isArray(parsedState.multiSortMeta)) {
|
|
1812
|
+
this.d_multiSortMeta = parsedState.multiSortMeta;
|
|
1813
|
+
this.$emit('update:multiSortMeta', this.d_multiSortMeta);
|
|
1814
|
+
restoredState.multiSortMeta = this.d_multiSortMeta;
|
|
1815
|
+
}
|
|
1790
1816
|
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1817
|
+
if (this.hasFilters && typeof parsedState.filters === 'object' && parsedState.filters !== null) {
|
|
1818
|
+
this.d_filters = this.cloneFilters(parsedState.filters);
|
|
1819
|
+
this.$emit('update:filters', this.d_filters);
|
|
1820
|
+
restoredState.filters = this.d_filters;
|
|
1821
|
+
}
|
|
1794
1822
|
|
|
1795
|
-
|
|
1796
|
-
|
|
1823
|
+
if (this.resizableColumns) {
|
|
1824
|
+
if (typeof parsedState.columnWidths === 'string') {
|
|
1825
|
+
this.columnWidthsState = parsedState.columnWidths;
|
|
1826
|
+
restoredState.columnWidths = this.columnWidthsState;
|
|
1797
1827
|
}
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
this.$emit('update:selection', restoredState.selection);
|
|
1828
|
+
if (typeof parsedState.tableWidth === 'string') {
|
|
1829
|
+
this.tableWidthState = parsedState.tableWidth;
|
|
1830
|
+
restoredState.tableWidth = this.tableWidthState;
|
|
1802
1831
|
}
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
if (this.reorderableColumns && Array.isArray(parsedState.columnOrder)) {
|
|
1835
|
+
this.d_columnOrder = parsedState.columnOrder;
|
|
1836
|
+
restoredState.columnOrder = this.d_columnOrder;
|
|
1837
|
+
}
|
|
1803
1838
|
|
|
1804
|
-
|
|
1839
|
+
if (typeof parsedState.expandedRows === 'object' && parsedState.expandedRows !== null) {
|
|
1840
|
+
this.$emit('update:expandedRows', parsedState.expandedRows);
|
|
1841
|
+
restoredState.expandedRows = parsedState.expandedRows;
|
|
1805
1842
|
}
|
|
1843
|
+
|
|
1844
|
+
if (Array.isArray(parsedState.expandedRowGroups)) {
|
|
1845
|
+
this.$emit('update:expandedRowGroups', parsedState.expandedRowGroups);
|
|
1846
|
+
restoredState.expandedRowGroups = parsedState.expandedRowGroups;
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
if (typeof parsedState.selection === 'object' && parsedState.selection !== null) {
|
|
1850
|
+
if (typeof parsedState.selectionKeys === 'object' && parsedState.selectionKeys !== null) {
|
|
1851
|
+
this.d_selectionKeys = parsedState.selectionKeys;
|
|
1852
|
+
restoredState.selectionKeys = this.d_selectionKeys;
|
|
1853
|
+
}
|
|
1854
|
+
this.$emit('update:selection', parsedState.selection);
|
|
1855
|
+
restoredState.selection = parsedState.selection;
|
|
1856
|
+
}
|
|
1857
|
+
|
|
1858
|
+
this.$emit('state-restore', restoredState);
|
|
1806
1859
|
},
|
|
1807
1860
|
saveColumnWidths(state) {
|
|
1808
1861
|
let widths = [];
|
|
@@ -1926,11 +1979,11 @@ export default {
|
|
|
1926
1979
|
this.$emit('filter', this.createLazyLoadEvent());
|
|
1927
1980
|
}
|
|
1928
1981
|
},
|
|
1929
|
-
cloneFilters() {
|
|
1982
|
+
cloneFilters(filters) {
|
|
1930
1983
|
let cloned = {};
|
|
1931
1984
|
|
|
1932
|
-
if (
|
|
1933
|
-
Object.entries(
|
|
1985
|
+
if (filters) {
|
|
1986
|
+
Object.entries(filters).forEach(([prop, value]) => {
|
|
1934
1987
|
cloned[prop] = value.operator
|
|
1935
1988
|
? {
|
|
1936
1989
|
operator: value.operator,
|
|
@@ -1984,7 +2037,7 @@ export default {
|
|
|
1984
2037
|
columns() {
|
|
1985
2038
|
const cols = this.d_columns.get(this);
|
|
1986
2039
|
|
|
1987
|
-
if (this.reorderableColumns && this.d_columnOrder) {
|
|
2040
|
+
if (cols && this.reorderableColumns && this.d_columnOrder) {
|
|
1988
2041
|
let orderedColumns = [];
|
|
1989
2042
|
|
|
1990
2043
|
for (let columnKey of this.d_columnOrder) {
|
|
@@ -2094,6 +2147,12 @@ export default {
|
|
|
2094
2147
|
},
|
|
2095
2148
|
virtualScrollerDisabled() {
|
|
2096
2149
|
return isEmpty(this.virtualScrollerOptions) || !this.scrollable;
|
|
2150
|
+
},
|
|
2151
|
+
dataP() {
|
|
2152
|
+
return cn({
|
|
2153
|
+
scrollable: this.scrollable,
|
|
2154
|
+
'flex-scrollable': this.scrollable && this.scrollHeight === 'flex'
|
|
2155
|
+
});
|
|
2097
2156
|
}
|
|
2098
2157
|
},
|
|
2099
2158
|
components: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<Checkbox :modelValue="checked" :binary="true" :disabled="disabled" :aria-label="headerCheckboxAriaLabel" @change="onChange" :unstyled="unstyled" :pt="getColumnPT('pcHeaderCheckbox')">
|
|
3
|
-
|
|
3
|
+
<!--<template #icon="slotProps">
|
|
4
4
|
<component v-if="headerCheckboxIconTemplate" :is="headerCheckboxIconTemplate" :checked="slotProps.checked" :class="slotProps.class" />
|
|
5
5
|
<CheckIcon v-else-if="!headerCheckboxIconTemplate && slotProps.checked" :class="slotProps.class" v-bind="getColumnPT('pcHeaderCheckbox')['icon']" />
|
|
6
|
-
</template
|
|
6
|
+
</template>-->
|
|
7
7
|
</Checkbox>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<Checkbox :modelValue="checked" :binary="true" :disabled="$attrs.disabled" :aria-label="checkboxAriaLabel" @change="onChange" :unstyled="unstyled" :pt="getColumnPT('pcRowCheckbox')">
|
|
3
3
|
<template #icon="slotProps">
|
|
4
4
|
<component v-if="rowCheckboxIconTemplate" :is="rowCheckboxIconTemplate" :checked="slotProps.checked" :class="slotProps.class" />
|
|
5
|
-
<CheckIcon v-else-if="!rowCheckboxIconTemplate && slotProps.checked" :class="slotProps.class" v-bind="getColumnPT('pcRowCheckbox')
|
|
5
|
+
<CheckIcon v-else-if="!rowCheckboxIconTemplate && slotProps.checked" :class="slotProps.class" v-bind="getColumnPT('pcRowCheckbox.icon')" />
|
|
6
6
|
</template>
|
|
7
7
|
</Checkbox>
|
|
8
8
|
</template>
|
package/datatable/TableBody.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tbody :ref="bodyRef" :class="cx('tbody')" role="rowgroup" :style="bodyContentStyle" v-bind="ptm('tbody', ptmTBodyOptions)">
|
|
2
|
+
<tbody :ref="bodyRef" :class="cx('tbody')" role="rowgroup" :style="bodyContentStyle" :data-p="dataP" v-bind="ptm('tbody', ptmTBodyOptions)">
|
|
3
3
|
<template v-if="!empty">
|
|
4
4
|
<template v-for="(rowData, rowIndex) of value" :key="getRowKey(rowData, rowIndex)">
|
|
5
5
|
<DTBodyRow
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
</template>
|
|
71
71
|
|
|
72
72
|
<script>
|
|
73
|
+
import { cn } from '@primeuix/utils';
|
|
73
74
|
import { getOuterHeight } from '@primeuix/utils/dom';
|
|
74
75
|
import { resolveFieldData } from '@primeuix/utils/object';
|
|
75
76
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
@@ -168,6 +169,10 @@ export default {
|
|
|
168
169
|
type: String,
|
|
169
170
|
default: null
|
|
170
171
|
},
|
|
172
|
+
rowHover: {
|
|
173
|
+
type: Boolean,
|
|
174
|
+
default: false
|
|
175
|
+
},
|
|
171
176
|
contextMenu: {
|
|
172
177
|
type: Boolean,
|
|
173
178
|
default: false
|
|
@@ -289,6 +294,12 @@ export default {
|
|
|
289
294
|
scrollable: this.$parentInstance?.$parentInstance?.scrollable
|
|
290
295
|
}
|
|
291
296
|
};
|
|
297
|
+
},
|
|
298
|
+
dataP() {
|
|
299
|
+
return cn({
|
|
300
|
+
hoverable: this.rowHover || this.selectionMode,
|
|
301
|
+
frozen: this.frozenRow
|
|
302
|
+
});
|
|
292
303
|
}
|
|
293
304
|
},
|
|
294
305
|
components: {
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<tfoot
|
|
2
|
+
<tfoot
|
|
3
|
+
v-if="hasFooter"
|
|
4
|
+
:class="cx('tfoot')"
|
|
5
|
+
:style="sx('tfoot')"
|
|
6
|
+
role="rowgroup"
|
|
7
|
+
v-bind="columnGroup ? { ...ptm('tfoot', ptmTFootOptions), ...getColumnGroupPT('root') } : ptm('tfoot', ptmTFootOptions)"
|
|
8
|
+
:data-p-scrollable="$parentInstance?.$parentInstance?.scrollable"
|
|
9
|
+
data-pc-section="tfoot"
|
|
10
|
+
>
|
|
3
11
|
<tr v-if="!columnGroup" role="row" v-bind="ptm('footerRow')">
|
|
4
12
|
<template v-for="(col, i) of columns" :key="columnProp(col, 'columnKey') || columnProp(col, 'field') || i">
|
|
5
13
|
<DTFooterCell v-if="!columnProp(col, 'hidden')" :column="col" :pt="pt" />
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<thead
|
|
2
|
+
<thead
|
|
3
|
+
:class="cx('thead')"
|
|
4
|
+
:style="sx('thead')"
|
|
5
|
+
role="rowgroup"
|
|
6
|
+
v-bind="columnGroup ? { ...ptm('thead', ptmTHeadOptions), ...getColumnGroupPT('root') } : ptm('thead', ptmTHeadOptions)"
|
|
7
|
+
:data-p-scrollable="$parentInstance?.$parentInstance?.scrollable"
|
|
8
|
+
data-pc-section="thead"
|
|
9
|
+
>
|
|
3
10
|
<template v-if="!columnGroup">
|
|
4
11
|
<tr role="row" v-bind="ptm('headerRow')">
|
|
5
12
|
<template v-for="(col, i) of columns" :key="columnProp(col, 'columnKey') || columnProp(col, 'field') || i">
|
|
@@ -97,7 +104,7 @@
|
|
|
97
104
|
@constraint-add="$emit('constraint-add', $event)"
|
|
98
105
|
@constraint-remove="$emit('constraint-remove', $event)"
|
|
99
106
|
@apply-click="$emit('apply-click', $event)"
|
|
100
|
-
@change="$emit('checkbox-change', $event)"
|
|
107
|
+
@checkbox-change="$emit('checkbox-change', $event)"
|
|
101
108
|
:unstyled="unstyled"
|
|
102
109
|
:pt="pt"
|
|
103
110
|
/>
|