Skip to content

Commit 876144e

Browse files
committed
Make page size work for remote data in project enrollment modal
1 parent 52e0a43 commit 876144e

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

src/components/BeneficiaryTable.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
} from '../util/searcher-utils';
2424
import {
2525
MODULE_NAME,
26+
DEFAULT_PAGE_SIZE,
2627
} from '../constants';
2728
import NumberFilter from './MaterialTableNumberFilter';
2829

@@ -146,6 +147,7 @@ function BeneficiaryTable({
146147
actions,
147148
isGroup,
148149
appliedFilters,
150+
appliedPageSize,
149151
}) {
150152
const nameDoBFieldPrefix = isGroup ? 'group.head' : 'individual';
151153
const locationFieldPrefix = isGroup ? 'group' : 'individual';
@@ -300,7 +302,7 @@ function BeneficiaryTable({
300302
search: true,
301303
filtering: true,
302304
paging: true,
303-
pageSize: 10,
305+
pageSize: appliedPageSize || DEFAULT_PAGE_SIZE,
304306
pageSizeOptions: [10, 50, 100],
305307
showSelectAllCheckbox: isSelectable,
306308
headerStyle: {

src/dialogs/ProjectEnrollmentDialog.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
} from '../actions';
2828
import {
2929
MODULE_NAME,
30+
DEFAULT_PAGE_SIZE,
3031
} from '../constants';
3132
import BeneficiaryTable from '../components/BeneficiaryTable';
3233
import { REQUEST } from '../util/action-type';
@@ -80,6 +81,7 @@ function ProjectEnrollmentDialog({
8081
const modulesManager = useModulesManager();
8182
const [selectedIds, setSelectedIds] = useState(new Set());
8283
const [pageData, setPageData] = useState([]);
84+
const [pageSize, setPageSize] = useState(DEFAULT_PAGE_SIZE);
8385
const translate = (key) => formatMessage(intl, MODULE_NAME, key);
8486
const tableTitle = formatMessageWithValues(
8587
intl,
@@ -92,15 +94,19 @@ function ProjectEnrollmentDialog({
9294
const payloadField = isGroup ? 'groupBeneficiary' : 'beneficiary';
9395

9496
const handleQueryChange = async ({
95-
page, pageSize, filters, search, orderBy, orderDirection,
97+
page, pageSize: newPageSize, filters, search, orderBy, orderDirection,
9698
}) => {
99+
if (newPageSize !== pageSize) {
100+
setPageSize(newPageSize);
101+
}
102+
97103
const offset = page * pageSize;
98104
const gqlFilters = [
99105
`benefitPlan_Id: "${project.benefitPlan.id}"`,
100106
'isDeleted: false',
101107
'status: ACTIVE',
102108
`villageOrChildOf: ${decodeId(project.location.id)}`,
103-
`first: ${pageSize}`,
109+
`first: ${newPageSize}`,
104110
`offset: ${offset}`,
105111
];
106112

@@ -216,7 +222,7 @@ function ProjectEnrollmentDialog({
216222
return {
217223
data: rows,
218224
page,
219-
pageSize,
225+
newPageSize,
220226
totalCount: payload.totalCount || 0,
221227
};
222228
};
@@ -339,6 +345,7 @@ function ProjectEnrollmentDialog({
339345
tableTitle={tableTitle}
340346
isGroup={isGroup}
341347
appliedFilters={filters}
348+
appliedPageSize={pageSize}
342349
/>
343350
</DialogContent>
344351

0 commit comments

Comments
 (0)