From 858bd980f47bb9f08bc1624ce4727c2a03d6573d Mon Sep 17 00:00:00 2001 From: Laury GvR Date: Fri, 8 Mar 2019 17:53:53 -0500 Subject: [PATCH] Fix pagination. Trim paging requests. Fix paging bug. - Fix rare issue where pagination request would interpret a newline; trimming this request from here on. - Add check to see whether the nth member the next page is slated to start at exceeds the maximum number of members, and if so, disable the 'next' button. - Functional pagination; more concise code relying on classes. - Add newlines to pagination file for readability --- models/admin/manageDashboard/members.php | 16 ++++++++++------ .../manageDashboard/adminSearch/pagination.html | 8 ++++++-- views/admin/manageDashboard/index.html | 17 +++-------------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/models/admin/manageDashboard/members.php b/models/admin/manageDashboard/members.php index e6950a1f..2ef5a8a7 100644 --- a/models/admin/manageDashboard/members.php +++ b/models/admin/manageDashboard/members.php @@ -169,7 +169,7 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers $prevStart = false; $nextStart = false; $start = 1; - $limit = 20; // Set to the number of listings per page + $limit = 10; // Set to the number of listings per page $namesList = false; $enable_members = $this->config['settings']['enable_members']; $textSearch = false; @@ -356,11 +356,10 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers // Check if we're doing paging if (isset($_REQUEST['pageSelect'])) { - + // If request is for Next - if ($_REQUEST['pageSelect'][0] == 'N') { + if (trim($_REQUEST['pageSelect'])[0] == 'N') { $newStart = $_REQUEST['nextStart'] - 0; - // $this->write_log("\nNEW START:". $newStart); // Otherwise it must be Previous } else { $newStart = $_REQUEST['prevStart'] - 0; @@ -379,7 +378,7 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers $support->write_log($where); // Get a current list of members $listResult = $this->getSimpleMembersList($where.$alphaWhere, 'name', true, 'id', $start, $limit); - $support->write_log($listResult ); + //$support->write_log($listResult ); // Get paging results $numbDisplayed = $listResult['returned']; $lastDisplayed = $listResult['last']; @@ -393,8 +392,13 @@ class GlmMembersAdmin_manageDashboard_members extends GlmDataMembers } if ($listResult['returned'] == $limit) { $nextStart = $start + $limit; - // $this->write_log("\nYOP"); + + } + if ($nextStart > $memberCount) { + $nextStart = false; } + + //$this->write_log("\nYOP". $memberCount . " mcL: " . $nextStart); // $this->write_log("\nstart: " . $start); // $this->write_log("\nlimit: " . $limit); // $this->write_log("\nNext start: " . $nextStart); diff --git a/views/admin/manageDashboard/adminSearch/pagination.html b/views/admin/manageDashboard/adminSearch/pagination.html index 5c6cb227..93bb9345 100644 --- a/views/admin/manageDashboard/adminSearch/pagination.html +++ b/views/admin/manageDashboard/adminSearch/pagination.html @@ -1,4 +1,8 @@
- Previous {$limit} {$terms.term_member_plur_cap} - Next {$limit} {$terms.term_member_plur_cap} + + Previous {$limit} {$terms.term_member_plur_cap} + + + Next {$limit} {$terms.term_member_plur_cap} +
\ No newline at end of file diff --git a/views/admin/manageDashboard/index.html b/views/admin/manageDashboard/index.html index bed8870b..16603981 100644 --- a/views/admin/manageDashboard/index.html +++ b/views/admin/manageDashboard/index.html @@ -264,7 +264,7 @@ // console.log( $("#nextStart").attr("nextStart")); $(document).on("click", ".pagination", function(e){ - if (!$(this).attr("disabled")) { + if (!$(this).hasClass("disabled")) { listData.pageSelect = $(this).text(); listData.prevStart = $("#pagination-data").attr("data-prevStart"); listData.nextStart = $("#pagination-data").attr("data-nextStart"); @@ -274,23 +274,12 @@ $("#glm-admin-search-overlay").fadeOut('slow'), function(data) { $("#member-results-container").html(data.searchData); - console.log(data.searchData); var newPrevStart = $("#pagination-data").attr("data-prevStart"); - console.log("Newprevstart: " + newPrevStart); - if (newPrevStart) { - $(".pagination.previous-button").removeAttr("disabled"); - } else { - $(".pagination.previous-button").attr("disabled", "disabled"); - } + $(".pagination.previous-button").toggleClass("disabled", newPrevStart); var newNextStart = $("#pagination-data").attr("data-nextStart"); - console.log("Newnextstart: " + newNextStart); - if (newNextStart) { - $(".pagination.next-button").removeAttr("disabled"); - } else { - $(".pagination.next-button").attr("disabled", "disabled"); - } + $(".pagination.next-button").toggleClass("disabled", newNextStart); }, function(error) { console.log(error); -- 2.17.1