Change p. to page and reverse id and pagination info

This commit is contained in:
Yana De Pauw
2021-04-01 16:28:20 +02:00
parent a4076ed1fd
commit 824ee029b3
7 changed files with 49 additions and 49 deletions

View File

@@ -20,16 +20,16 @@ describe('PaginationService', () => {
routeService = {
getQueryParameterValue: (param) => {
let value;
if (param.startsWith('p.')) {
if (param.endsWith('.page')) {
value = 5;
}
if (param.startsWith('rpp.')) {
if (param.endsWith('.rpp')) {
value = 10;
}
if (param.startsWith('sd.')) {
if (param.endsWith('.sd')) {
value = 'ASC';
}
if (param.startsWith('sf.')) {
if (param.endsWith('.sf')) {
value = 'score';
}
return observableOf(value);
@@ -83,10 +83,10 @@ describe('PaginationService', () => {
service.updateRoute('test', {page: 2, pageSize: 5, sortField: 'title', sortDirection: SortDirection.DESC});
const navigateParams = {};
navigateParams[`p.test`] = `2`;
navigateParams[`rpp.test`] = `5`;
navigateParams[`sf.test`] = `title`;
navigateParams[`sd.test`] = `DESC`;
navigateParams[`test.page`] = `2`;
navigateParams[`test.rpp`] = `5`;
navigateParams[`test.sf`] = `title`;
navigateParams[`test.sd`] = `DESC`;
expect(router.navigate).toHaveBeenCalledWith([], {queryParams: navigateParams, queryParamsHandling: 'merge'});
});
@@ -94,10 +94,10 @@ describe('PaginationService', () => {
service.updateRoute('test', {page: 2});
const navigateParams = {};
navigateParams[`p.test`] = `2`;
navigateParams[`rpp.test`] = `10`;
navigateParams[`sf.test`] = `score`;
navigateParams[`sd.test`] = `ASC`;
navigateParams[`test.page`] = `2`;
navigateParams[`test.rpp`] = `10`;
navigateParams[`test.sf`] = `score`;
navigateParams[`test.sd`] = `ASC`;
expect(router.navigate).toHaveBeenCalledWith([], {queryParams: navigateParams, queryParamsHandling: 'merge'});
});
@@ -107,10 +107,10 @@ describe('PaginationService', () => {
service.updateRouteWithUrl('test', ['someUrl'], {page: 2, pageSize: 5, sortField: 'title', sortDirection: SortDirection.DESC});
const navigateParams = {};
navigateParams[`p.test`] = `2`;
navigateParams[`rpp.test`] = `5`;
navigateParams[`sf.test`] = `title`;
navigateParams[`sd.test`] = `DESC`;
navigateParams[`test.page`] = `2`;
navigateParams[`test.rpp`] = `5`;
navigateParams[`test.sf`] = `title`;
navigateParams[`test.sd`] = `DESC`;
expect(router.navigate).toHaveBeenCalledWith(['someUrl'], {queryParams: navigateParams, queryParamsHandling: 'merge'});
});
@@ -118,10 +118,10 @@ describe('PaginationService', () => {
service.updateRouteWithUrl('test',['someUrl'], {page: 2});
const navigateParams = {};
navigateParams[`p.test`] = `2`;
navigateParams[`rpp.test`] = `10`;
navigateParams[`sf.test`] = `score`;
navigateParams[`sd.test`] = `ASC`;
navigateParams[`test.page`] = `2`;
navigateParams[`test.rpp`] = `10`;
navigateParams[`test.sf`] = `score`;
navigateParams[`test.sd`] = `ASC`;
expect(router.navigate).toHaveBeenCalledWith(['someUrl'], {queryParams: navigateParams, queryParamsHandling: 'merge'});
});
@@ -132,17 +132,17 @@ describe('PaginationService', () => {
service.clearPagination('test');
const resetParams = {};
resetParams[`p.test`] = null;
resetParams[`rpp.test`] = null;
resetParams[`sf.test`] = null;
resetParams[`sd.test`] = null;
resetParams[`test.page`] = null;
resetParams[`test.rpp`] = null;
resetParams[`test.sf`] = null;
resetParams[`test.sd`] = null;
const navigateParams = {};
navigateParams[`p.another-id`] = `5`;
navigateParams[`rpp.another-id`] = `10`;
navigateParams[`sf.another-id`] = `score`;
navigateParams[`sd.another-id`] = `ASC`;
navigateParams[`another-id.page`] = `5`;
navigateParams[`another-id.rpp`] = `10`;
navigateParams[`another-id.sf`] = `score`;
navigateParams[`another-id.sd`] = `ASC`;
service.updateRoute('another-id', {});
@@ -152,7 +152,7 @@ describe('PaginationService', () => {
describe('getPageParam', () => {
it('should return the name of the page param', () => {
const pageParam = service.getPageParam('test');
expect(pageParam).toEqual('p.test');
expect(pageParam).toEqual('test.page');
});
});
});

View File

@@ -41,8 +41,8 @@ export class PaginationService {
* @returns {Observable<PaginationComponentOptions>} Retrieves the current pagination settings based on the router params
*/
getCurrentPagination(paginationId: string, defaultPagination: PaginationComponentOptions): Observable<PaginationComponentOptions> {
const page$ = this.routeService.getQueryParameterValue(`p.${paginationId}`);
const size$ = this.routeService.getQueryParameterValue(`rpp.${paginationId}`);
const page$ = this.routeService.getQueryParameterValue(`${paginationId}.page`);
const size$ = this.routeService.getQueryParameterValue(`${paginationId}.rpp`);
return observableCombineLatest([page$, size$]).pipe(
map(([page, size]) => {
return Object.assign(new PaginationComponentOptions(), defaultPagination, {
@@ -64,8 +64,8 @@ export class PaginationService {
if (!ignoreDefault && (isEmpty(defaultSort) || !hasValue(defaultSort))) {
defaultSort = this.defaultSortOptions;
}
const sortDirection$ = this.routeService.getQueryParameterValue(`sd.${paginationId}`);
const sortField$ = this.routeService.getQueryParameterValue(`sf.${paginationId}`);
const sortDirection$ = this.routeService.getQueryParameterValue(`${paginationId}.sd`);
const sortField$ = this.routeService.getQueryParameterValue(`${paginationId}.sf`);
return observableCombineLatest([sortDirection$, sortField$]).pipe(map(([sortDirection, sortField]) => {
const field = sortField || defaultSort?.field;
const direction = SortDirection[sortDirection] || defaultSort?.direction;
@@ -171,10 +171,10 @@ export class PaginationService {
*/
clearPagination(paginationId: string) {
const params = {};
params[`p.${paginationId}`] = null;
params[`rpp.${paginationId}`] = null;
params[`sf.${paginationId}`] = null;
params[`sd.${paginationId}`] = null;
params[`${paginationId}.page`] = null;
params[`${paginationId}.rpp`] = null;
params[`${paginationId}.sf`] = null;
params[`${paginationId}.sd`] = null;
Object.assign(this.clearParams, params);
}
@@ -184,7 +184,7 @@ export class PaginationService {
* @param paginationId - The ID for which to retrieve the page param
*/
getPageParam(paginationId: string) {
return `p.${paginationId}`;
return `${paginationId}.page`;
}
private getCurrentRouting(paginationId: string) {
@@ -209,16 +209,16 @@ export class PaginationService {
}) {
const paramsWithIdName = {};
if (hasValue(params.page)) {
paramsWithIdName[`p.${paginationId}`] = `${params.page}`;
paramsWithIdName[`${paginationId}.page`] = `${params.page}`;
}
if (hasValue(params.pageSize)) {
paramsWithIdName[`rpp.${paginationId}`] = `${params.pageSize}`;
paramsWithIdName[`${paginationId}.rpp`] = `${params.pageSize}`;
}
if (hasValue(params.sortField)) {
paramsWithIdName[`sf.${paginationId}`] = `${params.sortField}`;
paramsWithIdName[`${paginationId}.sf`] = `${params.sortField}`;
}
if (hasValue(params.sortDirection)) {
paramsWithIdName[`sd.${paginationId}`] = `${params.sortDirection}`;
paramsWithIdName[`${paginationId}.sd`] = `${params.sortDirection}`;
}
return paramsWithIdName;
}

View File

@@ -91,7 +91,7 @@ export class SearchFormComponent {
*/
updateSearch(data: any) {
const queryParams = Object.assign({}, data);
queryParams[`p.${this.searchConfig.paginationID}`] = 1;
queryParams[`page.${this.searchConfig.paginationID}`] = 1;
this.router.navigate(this.getSearchLinkParts(), {
queryParams: queryParams,

View File

@@ -140,7 +140,7 @@ describe('SearchFacetOptionComponent', () => {
(comp as any).updateAddParams(selectedValues);
expect(comp.addQueryParams).toEqual({
[mockFilterConfig.paramName]: [`${value1},${operator}`, value.value + ',equals'],
['p.page-id']: 1
['page.page-id']: 1
});
});
});
@@ -155,7 +155,7 @@ describe('SearchFacetOptionComponent', () => {
(comp as any).updateAddParams(selectedValues);
expect(comp.addQueryParams).toEqual({
[mockAuthorityFilterConfig.paramName]: [value1 + ',equals', `${value2},${operator}`],
['p.page-id']: 1
['page.page-id']: 1
});
});
});

View File

@@ -126,7 +126,7 @@ describe('SearchFacetRangeOptionComponent', () => {
expect(comp.changeQueryParams).toEqual({
[mockFilterConfig.paramName + RANGE_FILTER_MIN_SUFFIX]: ['50'],
[mockFilterConfig.paramName + RANGE_FILTER_MAX_SUFFIX]: ['60'],
['p.page-id']: 1
['page.page-id']: 1
});
});
});

View File

@@ -165,7 +165,7 @@ describe('SearchFacetSelectedOptionComponent', () => {
(comp as any).updateRemoveParams(selectedValues);
expect(comp.removeQueryParams).toEqual({
[mockFilterConfig.paramName]: [value1],
['p.page-id']: 1
['page.page-id']: 1
});
});
});
@@ -181,7 +181,7 @@ describe('SearchFacetSelectedOptionComponent', () => {
(comp as any).updateRemoveParams(selectedAuthorityValues);
expect(comp.removeQueryParams).toEqual({
[mockAuthorityFilterConfig.paramName]: [`${value1},${operator}`],
['p.page-id']: 1
['page.page-id']: 1
});
});
});

View File

@@ -20,6 +20,6 @@ export class PaginationServiceStub {
updateRouteWithUrl = jasmine.createSpy('updateRouteWithUrl');
clearPagination = jasmine.createSpy('clearPagination');
getRouteParameterValue = jasmine.createSpy('getRouteParameterValue').and.returnValue(observableOf(''));
getPageParam = jasmine.createSpy('getPageParam').and.returnValue(`p.${this.pagination.id}`);
getPageParam = jasmine.createSpy('getPageParam').and.returnValue(`page.${this.pagination.id}`);
}