From e835475e001008316e66e71a3d262c765e00babd Mon Sep 17 00:00:00 2001 From: grnd-alt Date: Mon, 8 Apr 2024 17:37:45 +0200 Subject: [PATCH] add Pagination component Signed-off-by: grnd-alt --- .../ncTable/sections/CustomTable.vue | 50 +++++--------- .../components/ncTable/sections/Paginator.vue | 69 +++++++++++++++++++ 2 files changed, 85 insertions(+), 34 deletions(-) create mode 100644 src/shared/components/ncTable/sections/Paginator.vue diff --git a/src/shared/components/ncTable/sections/CustomTable.vue b/src/shared/components/ncTable/sections/CustomTable.vue index cca8466bc..7e9a42f0b 100644 --- a/src/shared/components/ncTable/sections/CustomTable.vue +++ b/src/shared/components/ncTable/sections/CustomTable.vue @@ -18,27 +18,19 @@ - - - - - - PREV - - {{ pageNumber + ' ' + lastRowIndex }} - - NEXT - - + + + @@ -48,7 +40,7 @@ import TableHeader from '../partials/TableHeader.vue' import TableRow from '../partials/TableRow.vue' import { subscribe, unsubscribe } from '@nextcloud/event-bus' import { MagicFields } from '../mixins/magicFields.js' -import { NcButton } from '@nextcloud/vue' +import Paginator from './Paginator.vue' export default { name: 'CustomTable', @@ -56,7 +48,7 @@ export default { components: { TableRow, TableHeader, - NcButton, + Paginator, }, props: { @@ -91,8 +83,7 @@ export default { selectedRows: [], searchTerm: null, localViewSetting: this.viewSetting, - pageNumber: 0, - rowsPerPage: 100, + rowsPerPage: 50, } }, @@ -100,9 +91,6 @@ export default { sorting() { return this.viewSetting?.sorting }, - lastRowIndex() { - return this.pageNumber * this.rowsPerPage + this.rowsPerPage - }, getSearchedAndFilteredRows() { const debug = false // if we don't have to search and/or filter @@ -246,12 +234,6 @@ export default { }, methods: { - nextPage() { - this.pageNumber++ - }, - prevPage() { - this.pageNumber-- - }, addMagicFieldsValues(filter) { Object.values(MagicFields).forEach(field => { const newFilterValue = filter.value.replace('@' + field.id, field.replace) diff --git a/src/shared/components/ncTable/sections/Paginator.vue b/src/shared/components/ncTable/sections/Paginator.vue new file mode 100644 index 000000000..692994099 --- /dev/null +++ b/src/shared/components/ncTable/sections/Paginator.vue @@ -0,0 +1,69 @@ + + + +