From 55aca4740713bf2349fa3651da1474bc48bbee33 Mon Sep 17 00:00:00 2001 From: Teisha McRae Date: Tue, 7 Jul 2026 12:40:26 -0400 Subject: [PATCH 1/3] Add changePerPage pagination handler Add a new method to handle changing the number of items displayed per page. The method adjusts the current page number if necessary to ensure it doesn't exceed the total number of items, and triggers a data fetch with the updated pagination settings. --- resources/js/components/requests/requestModal.vue | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/js/components/requests/requestModal.vue b/resources/js/components/requests/requestModal.vue index 1eb1fd93d1..d483954e0c 100644 --- a/resources/js/components/requests/requestModal.vue +++ b/resources/js/components/requests/requestModal.vue @@ -192,6 +192,18 @@ export default { } this.fetch(); }, + changePerPage(value) { + this.perPage = value; + const pagination = this.$refs.listProcess ? this.$refs.listProcess.tablePagination : null; + const total = pagination && pagination.total ? pagination.total : 0; + if (total > 0 && this.page * value > total) { + this.page = Math.floor(total / value) + 1; + } + if (this.page <= 0) { + this.page = 1; + } + this.fetch(); + }, fetch() { if (!this.loaded) { return; From 57c7ce7a3a685a711a11f2a133b99ac39eb76e97 Mon Sep 17 00:00:00 2001 From: Teisha McRae Date: Fri, 10 Jul 2026 16:43:34 -0400 Subject: [PATCH 2/3] Fix pagination state and calculation logic --- .../js/components/requests/requestModal.vue | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/resources/js/components/requests/requestModal.vue b/resources/js/components/requests/requestModal.vue index d483954e0c..65afba38af 100644 --- a/resources/js/components/requests/requestModal.vue +++ b/resources/js/components/requests/requestModal.vue @@ -171,9 +171,15 @@ export default { }, showModal() { this.loaded = true; - // Perform initial load of requests from backend + this.page = 1; + this.perPage = 15; this.$refs.requestModalAdd.show(); - this.fetch(); + const pagination = this.$refs.listProcess; + if (pagination && String(pagination.perPage) !== "15") { + pagination.perPage = "15"; + } else { + this.fetch(); + } }, // Overwrite handler to change the page based on events fired onPageChange: function onPageChange(page) { @@ -193,11 +199,12 @@ export default { this.fetch(); }, changePerPage(value) { - this.perPage = value; + const perPage = Number(value); + this.perPage = perPage; const pagination = this.$refs.listProcess ? this.$refs.listProcess.tablePagination : null; const total = pagination && pagination.total ? pagination.total : 0; - if (total > 0 && this.page * value > total) { - this.page = Math.floor(total / value) + 1; + if (total > 0 && this.page * perPage > total) { + this.page = Math.ceil(total / perPage); } if (this.page <= 0) { this.page = 1; From 6485c0b400f366ba7333eecbc6905c577d6e1a76 Mon Sep 17 00:00:00 2001 From: Teisha McRae Date: Fri, 10 Jul 2026 17:23:59 -0400 Subject: [PATCH 3/3] Reset modal state on hide; fetch on show --- resources/js/components/requests/requestModal.vue | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/resources/js/components/requests/requestModal.vue b/resources/js/components/requests/requestModal.vue index 65afba38af..ed165c3a98 100644 --- a/resources/js/components/requests/requestModal.vue +++ b/resources/js/components/requests/requestModal.vue @@ -8,6 +8,7 @@ hide-footer :title="$t('New Case')" :size="size" + @hidden="hideModal" >