Merge pull request #6678 from nixocio/ui_issue_5983

Fix List Navigation Pagination

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
softwarefactory-project-zuul[bot] 2020-04-17 16:08:55 +00:00 committed by GitHub
commit 7c3c1f5a29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View File

@ -43,11 +43,13 @@ class PaginatedDataList extends React.Component {
this.pushHistoryState(replaceParams(oldParams, { page: pageNumber }));
}
handleSetPageSize(event, pageSize) {
handleSetPageSize(event, pageSize, page) {
const { history, qsConfig } = this.props;
const { search } = history.location;
const oldParams = parseQueryString(qsConfig, search);
this.pushHistoryState(replaceParams(oldParams, { page_size: pageSize }));
this.pushHistoryState(
replaceParams(oldParams, { page_size: pageSize, page })
);
}
pushHistoryState(params) {

View File

@ -22,7 +22,7 @@ describe('<PaginatedDataList />', () => {
jest.restoreAllMocks();
});
test('initially renders succesfully', () => {
test('initially renders successfully', () => {
mountWithContexts(
<PaginatedDataList
items={mockData}
@ -83,11 +83,11 @@ describe('<PaginatedDataList />', () => {
);
const pagination = wrapper.find('Pagination');
pagination.prop('onPerPageSelect')(null, 25);
expect(history.location.search).toEqual('?item.page_size=25');
pagination.prop('onPerPageSelect')(null, 25, 2);
expect(history.location.search).toEqual('?item.page=2&item.page_size=25');
wrapper.update();
// since page_size = 5 is the default, that should be strip out of the search
pagination.prop('onPerPageSelect')(null, 5);
expect(history.location.search).toEqual('');
pagination.prop('onPerPageSelect')(null, 5, 2);
expect(history.location.search).toEqual('?item.page=2');
});
});