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();