35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
import { isEmpty, pathOr } from 'ramda';
|
|
import formatDateString from './formatDateString';
|
|
|
|
const getQueryParamsForPaginatedEndpoint = (lazyState, statuses) => {
|
|
let sortBy = {
|
|
columnName: 'applicationId',
|
|
sortDesc: true
|
|
};
|
|
|
|
if (lazyState.sortField) {
|
|
sortBy = {
|
|
columnName: lazyState.sortField,
|
|
sortDesc: lazyState.sortOrder === -1
|
|
}
|
|
}
|
|
return {
|
|
globalFilters: {
|
|
page: lazyState.page ? lazyState.page + 1 : 1,
|
|
limit: lazyState.rows,
|
|
sortBy
|
|
},
|
|
status: statuses,
|
|
filters: Object.keys(lazyState.filters).reduce((acc, cur) => {
|
|
const value = pathOr('', ['filters', cur, 'value'], lazyState);
|
|
if (!isEmpty(value)) {
|
|
acc[cur] = typeof value.getMonth === 'function'
|
|
? formatDateString(value)
|
|
: lazyState.filters[cur];
|
|
}
|
|
return acc;
|
|
}, {}),
|
|
}
|
|
}
|
|
|
|
export default getQueryParamsForPaginatedEndpoint; |