mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-21 07:43:50 +02:00
feat: custom table page size setting
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<el-pagination
|
||||
size="small"
|
||||
:current-page="internalCurrentPage"
|
||||
:page-size="internalPageSize"
|
||||
:page-size="effectivePageSize"
|
||||
:total="filteredData.length"
|
||||
v-bind="mergedPaginationProps"
|
||||
@size-change="handleSizeChange"
|
||||
@@ -104,10 +104,14 @@
|
||||
|
||||
const mergedPaginationProps = computed(() => ({
|
||||
layout: 'sizes, prev, pager, next, total',
|
||||
pageSizes: [10, 15, 20, 25, 50, 100],
|
||||
...paginationProps.value
|
||||
...paginationProps.value,
|
||||
pageSizes: paginationProps.value?.pageSizes ?? appearanceSettingsStore.tablePageSizes
|
||||
}));
|
||||
|
||||
const effectivePageSize = computed(() => {
|
||||
return props.pageSizeLinked ? appearanceSettingsStore.tablePageSize : internalPageSize.value;
|
||||
});
|
||||
|
||||
const applyFilter = function (row, filter) {
|
||||
if (Array.isArray(filter.prop)) {
|
||||
return filter.prop.some((propItem) => applyFilter(row, { prop: propItem, value: filter.value }));
|
||||
@@ -175,8 +179,8 @@
|
||||
return filteredData.value;
|
||||
}
|
||||
|
||||
const start = (internalCurrentPage.value - 1) * internalPageSize.value;
|
||||
const end = start + internalPageSize.value;
|
||||
const start = (internalCurrentPage.value - 1) * effectivePageSize.value;
|
||||
const end = start + effectivePageSize.value;
|
||||
return filteredData.value.slice(start, end);
|
||||
});
|
||||
|
||||
@@ -202,6 +206,7 @@
|
||||
const handleSizeChange = (size) => {
|
||||
if (props.pageSizeLinked) {
|
||||
appearanceSettingsStore.setTablePageSize(size);
|
||||
return;
|
||||
}
|
||||
internalPageSize.value = size;
|
||||
};
|
||||
@@ -234,6 +239,7 @@
|
||||
return {
|
||||
internalCurrentPage,
|
||||
internalPageSize,
|
||||
effectivePageSize,
|
||||
showPagination,
|
||||
mergedTableProps,
|
||||
mergedPaginationProps,
|
||||
|
||||
Reference in New Issue
Block a user