go back one page when deleting all items off last page (orgs/creds)

This commit is contained in:
Keith Grant
2020-02-12 08:53:34 -08:00
parent 5c3fe51982
commit c33cc82d53
2 changed files with 15 additions and 15 deletions

View File

@@ -14,7 +14,7 @@ import PaginatedDataList, {
import { import {
getQSConfig, getQSConfig,
parseQueryString, parseQueryString,
removeParams, replaceParams,
encodeNonDefaultQueryString, encodeNonDefaultQueryString,
} from '@util/qs'; } from '@util/qs';
import { CredentialListItem } from '.'; import { CredentialListItem } from '.';
@@ -105,13 +105,11 @@ function CredentialList({ i18n }) {
const adjustPagination = () => { const adjustPagination = () => {
const params = parseQueryString(QS_CONFIG, location.search); const params = parseQueryString(QS_CONFIG, location.search);
if (params.page > 1 && selected.length === credentials.length) { if (params.page > 1 && selected.length === credentials.length) {
const newParams = removeParams(QS_CONFIG, params, { page: params.page }); const newParams = encodeNonDefaultQueryString(
history.push( QS_CONFIG,
`${location.pathname}?${encodeNonDefaultQueryString( replaceParams(params, { page: params.page - 1 })
QS_CONFIG,
newParams
)}`
); );
history.push(`${location.pathname}?${newParams}`);
} else { } else {
loadCredentials(location); loadCredentials(location);
} }

View File

@@ -16,7 +16,7 @@ import PaginatedDataList, {
import { import {
getQSConfig, getQSConfig,
parseQueryString, parseQueryString,
removeParams, replaceParams,
encodeNonDefaultQueryString, encodeNonDefaultQueryString,
} from '@util/qs'; } from '@util/qs';
@@ -87,17 +87,19 @@ function OrganizationsList({ i18n }) {
const handleOrgDelete = async () => { const handleOrgDelete = async () => {
await deleteOrganizations(); await deleteOrganizations();
await adjustPagination();
};
const adjustPagination = () => {
const params = parseQueryString(QS_CONFIG, location.search); const params = parseQueryString(QS_CONFIG, location.search);
if (params.page > 1 && selected.length === organizations.length) { if (params.page > 1 && selected.length === organizations.length) {
const newParams = removeParams(QS_CONFIG, params, { page: params.page }); const newParams = encodeNonDefaultQueryString(
history.push( QS_CONFIG,
`${location.pathname}?${encodeNonDefaultQueryString( replaceParams(params, { page: params.page - 1 })
QS_CONFIG,
newParams
)}`
); );
history.push(`${location.pathname}?${newParams}`);
} else { } else {
await fetchOrganizations(); fetchOrganizations();
} }
}; };