From c33cc82d53c4eeb77a138cd111b1c37e0153e694 Mon Sep 17 00:00:00 2001 From: Keith Grant Date: Wed, 12 Feb 2020 08:53:34 -0800 Subject: [PATCH] go back one page when deleting all items off last page (orgs/creds) --- .../CredentialList/CredentialList.jsx | 12 +++++------- .../OrganizationList/OrganizationList.jsx | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/awx/ui_next/src/screens/Credential/CredentialList/CredentialList.jsx b/awx/ui_next/src/screens/Credential/CredentialList/CredentialList.jsx index 67ef629e31..c3ef0ebff5 100644 --- a/awx/ui_next/src/screens/Credential/CredentialList/CredentialList.jsx +++ b/awx/ui_next/src/screens/Credential/CredentialList/CredentialList.jsx @@ -14,7 +14,7 @@ import PaginatedDataList, { import { getQSConfig, parseQueryString, - removeParams, + replaceParams, encodeNonDefaultQueryString, } from '@util/qs'; import { CredentialListItem } from '.'; @@ -105,13 +105,11 @@ function CredentialList({ i18n }) { const adjustPagination = () => { const params = parseQueryString(QS_CONFIG, location.search); if (params.page > 1 && selected.length === credentials.length) { - const newParams = removeParams(QS_CONFIG, params, { page: params.page }); - history.push( - `${location.pathname}?${encodeNonDefaultQueryString( - QS_CONFIG, - newParams - )}` + const newParams = encodeNonDefaultQueryString( + QS_CONFIG, + replaceParams(params, { page: params.page - 1 }) ); + history.push(`${location.pathname}?${newParams}`); } else { loadCredentials(location); } diff --git a/awx/ui_next/src/screens/Organization/OrganizationList/OrganizationList.jsx b/awx/ui_next/src/screens/Organization/OrganizationList/OrganizationList.jsx index e97d0b439e..f30d0cfd8c 100644 --- a/awx/ui_next/src/screens/Organization/OrganizationList/OrganizationList.jsx +++ b/awx/ui_next/src/screens/Organization/OrganizationList/OrganizationList.jsx @@ -16,7 +16,7 @@ import PaginatedDataList, { import { getQSConfig, parseQueryString, - removeParams, + replaceParams, encodeNonDefaultQueryString, } from '@util/qs'; @@ -87,17 +87,19 @@ function OrganizationsList({ i18n }) { const handleOrgDelete = async () => { await deleteOrganizations(); + await adjustPagination(); + }; + + const adjustPagination = () => { const params = parseQueryString(QS_CONFIG, location.search); if (params.page > 1 && selected.length === organizations.length) { - const newParams = removeParams(QS_CONFIG, params, { page: params.page }); - history.push( - `${location.pathname}?${encodeNonDefaultQueryString( - QS_CONFIG, - newParams - )}` + const newParams = encodeNonDefaultQueryString( + QS_CONFIG, + replaceParams(params, { page: params.page - 1 }) ); + history.push(`${location.pathname}?${newParams}`); } else { - await fetchOrganizations(); + fetchOrganizations(); } };