This is an automated email from the ASF dual-hosted git repository.

mattjackson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 68faa6e  TP Remember Pagination on ag-grids (#5490)
68faa6e is described below

commit 68faa6e61b8cf40f578b9adbc3441abe08ce199a
Author: Steve Hamrick <[email protected]>
AuthorDate: Tue Feb 9 15:28:35 2021 -0700

    TP Remember Pagination on ag-grids (#5490)
    
    * Remember page
    
    * Changelog
    
    * Remove debug
    
    * Code review fixes
    
    * More CR fixes
    
    * Add to other pages
---
 CHANGELOG.md                                               |  1 +
 .../modules/table/changeLogs/TableChangeLogsController.js  | 14 ++++++++++++++
 .../TableDeliveryServiceRequestsController.js              | 14 ++++++++++++++
 .../src/common/modules/table/jobs/TableJobsController.js   | 14 ++++++++++++++
 .../common/modules/table/servers/TableServersController.js | 14 ++++++++++++++
 5 files changed, 57 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3cb851f..057f3af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -51,6 +51,7 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
 - [#5405](https://github.com/apache/trafficcontrol/issues/5405) - Prevent 
Tenant update from choosing child as new parent
 - [#5461](https://github.com/apache/trafficcontrol/issues/5461) - Fixed 
steering endpoint to be ordered consistently
 - [#5395](https://github.com/apache/trafficcontrol/issues/5395) - Added 
validation to prevent changing the Type any Cache Group that is in use by a 
Topology
+- [#5384](https://github.com/apache/trafficcontrol/issues/5384) - New grids 
will now properly remember the current page number.
 
 ### Changed
 - Refactored the Traffic Ops Go client internals so that all public methods 
have a consistent behavior/implementation
diff --git 
a/traffic_portal/app/src/common/modules/table/changeLogs/TableChangeLogsController.js
 
b/traffic_portal/app/src/common/modules/table/changeLogs/TableChangeLogsController.js
index 852925b..465c4f3 100644
--- 
a/traffic_portal/app/src/common/modules/table/changeLogs/TableChangeLogsController.js
+++ 
b/traffic_portal/app/src/common/modules/table/changeLogs/TableChangeLogsController.js
@@ -172,6 +172,20 @@ var TableChangeLogsController = function(tableName, 
changeLogs, $scope, $state,
                                console.error("Failure to load stored page 
size:", e);
                        }
 
+                       try {
+                               const page = 
parseInt(localStorage.getItem(tableName + "_table_page"));
+                               const totalPages = 
$scope.gridOptions.api.paginationGetTotalPages();
+                               if (page !== undefined && page > 0 && page <= 
totalPages-1) {
+                                       
$scope.gridOptions.api.paginationGoToPage(page);
+                               }
+                       } catch (e) {
+                               console.error("Failed to load stored page 
number:", e);
+                       }
+                       
+                       
$scope.gridOptions.api.addEventListener("paginationChanged", function() {
+                               localStorage.setItem(tableName + "_table_page", 
$scope.gridOptions.api.paginationGetCurrentPage());
+                       });
+
                        $scope.gridOptions.api.addEventListener("sortChanged", 
function() {
                                localStorage.setItem(tableName + "_table_sort", 
JSON.stringify($scope.gridOptions.api.getSortModel()));
                        });
diff --git 
a/traffic_portal/app/src/common/modules/table/deliveryServiceRequests/TableDeliveryServiceRequestsController.js
 
b/traffic_portal/app/src/common/modules/table/deliveryServiceRequests/TableDeliveryServiceRequestsController.js
index 5bc3ce3..5559c4d 100644
--- 
a/traffic_portal/app/src/common/modules/table/deliveryServiceRequests/TableDeliveryServiceRequestsController.js
+++ 
b/traffic_portal/app/src/common/modules/table/deliveryServiceRequests/TableDeliveryServiceRequestsController.js
@@ -268,6 +268,20 @@ var TableDeliveryServicesRequestsController = function 
(tableName, dsRequests, $
                        } catch (e) {
                                console.error("Failure to load stored page 
size:", e);
                        }
+                       
+                       try {
+                               const page = 
parseInt(localStorage.getItem(tableName + "_table_page"));
+                               const totalPages = 
$scope.gridOptions.api.paginationGetTotalPages();
+                               if (page !== undefined && page > 0 && page <= 
totalPages-1) {
+                                       
$scope.gridOptions.api.paginationGoToPage(page);
+                               }
+                       } catch (e) {
+                               console.error("Failed to load stored page 
number:", e);
+                       }
+                       
+                       
$scope.gridOptions.api.addEventListener("paginationChanged", function() {
+                               localStorage.setItem(tableName + "_table_page", 
$scope.gridOptions.api.paginationGetCurrentPage());
+                       });
 
                        $scope.gridOptions.api.addEventListener("sortChanged", 
function() {
                                localStorage.setItem(tableName + "_table_sort", 
JSON.stringify($scope.gridOptions.api.getSortModel()));
diff --git 
a/traffic_portal/app/src/common/modules/table/jobs/TableJobsController.js 
b/traffic_portal/app/src/common/modules/table/jobs/TableJobsController.js
index 77ed52e..5ce8062 100644
--- a/traffic_portal/app/src/common/modules/table/jobs/TableJobsController.js
+++ b/traffic_portal/app/src/common/modules/table/jobs/TableJobsController.js
@@ -200,6 +200,20 @@ var TableJobsController = function(tableName, jobs, 
$document, $scope, $state, $
                                console.error("Failure to load stored page 
size:", e);
                        }
 
+                       try {
+                               const page = 
parseInt(localStorage.getItem(tableName + "_table_page"));
+                               const totalPages = 
$scope.gridOptions.api.paginationGetTotalPages();
+                               if (page !== undefined && page > 0 && page <= 
totalPages-1) {
+                                       
$scope.gridOptions.api.paginationGoToPage(page);
+                               }
+                       } catch (e) {
+                               console.error("Failed to load stored page 
number:", e);
+                       }
+                       
+                       
$scope.gridOptions.api.addEventListener("paginationChanged", function() {
+                               localStorage.setItem(tableName + "_table_page", 
$scope.gridOptions.api.paginationGetCurrentPage());
+                       });
+
                        $scope.gridOptions.api.addEventListener("sortChanged", 
function() {
                                localStorage.setItem(tableName + "_table_sort", 
JSON.stringify($scope.gridOptions.api.getSortModel()));
                        });
diff --git 
a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js 
b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
index 3ac1fda..c40b1c4 100644
--- 
a/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
+++ 
b/traffic_portal/app/src/common/modules/table/servers/TableServersController.js
@@ -414,6 +414,16 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                        } catch (e) {
                                console.error("Failure to load stored page 
size:", e);
                        }
+                       
+                       try {
+                               const page = 
parseInt(localStorage.getItem(tableName + "_table_page"));
+                               const totalPages = 
$scope.gridOptions.api.paginationGetTotalPages();
+                               if (page !== undefined && page > 0 && page <= 
totalPages-1) {
+                                       
$scope.gridOptions.api.paginationGoToPage(page);
+                               }
+                       } catch (e) {
+                               console.error("Failed to load stored page 
number:", e);
+                       }
 
                        $scope.gridOptions.api.addEventListener("sortChanged", 
function() {
                                localStorage.setItem(tableName + "_table_sort", 
JSON.stringify($scope.gridOptions.api.getSortModel()));
@@ -422,6 +432,10 @@ var TableServersController = function(tableName, servers, 
filter, $scope, $state
                        $scope.gridOptions.api.addEventListener("columnMoved", 
function() {
                                localStorage.setItem(tableName + 
"_table_columns", 
JSON.stringify($scope.gridOptions.columnApi.getColumnState()));
                        });
+                       
+                       
$scope.gridOptions.api.addEventListener("paginationChanged", function() {
+                               localStorage.setItem(tableName + "_table_page", 
$scope.gridOptions.api.paginationGetCurrentPage());     
+                       });
 
                        
$scope.gridOptions.api.addEventListener("columnVisible", function() {
                                $scope.gridOptions.api.sizeColumnsToFit();

Reply via email to