Skip to content

Commit 45fe07f

Browse files
Replace client-side pagination with API-side pagination for transfers and deployments
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
1 parent 2c962a1 commit 45fe07f

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

src/components/smart/DeploymentsPage/DeploymentsPage.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ class DeploymentsPage extends React.Component<Props, State> {
6767
componentDidMount() {
6868
document.title = "Coriolis Deployments";
6969

70+
deploymentStore.resetDeploymentPagination();
71+
7072
projectStore.getProjects();
7173
endpointStore.getEndpoints({ showLoading: true });
7274
userStore.getAllUsers({
@@ -112,6 +114,7 @@ class DeploymentsPage extends React.Component<Props, State> {
112114
}
113115

114116
handleProjectChange() {
117+
deploymentStore.resetDeploymentPagination();
115118
endpointStore.getEndpoints({ showLoading: true });
116119
deploymentStore.getDeployments({ showLoading: true });
117120
}
@@ -297,6 +300,19 @@ class DeploymentsPage extends React.Component<Props, State> {
297300
this.setState({ selectedDeployments });
298301
}}
299302
dropdownActions={BulkActions}
303+
apiPagination={{
304+
currentPage: deploymentStore.deploymentsPage,
305+
hasNextPage: deploymentStore.deploymentsHasNextPage,
306+
itemsPerPage: deploymentStore.deploymentsItemsPerPage,
307+
onPageChange: page => {
308+
deploymentStore.setDeploymentsPage(page);
309+
},
310+
onItemsPerPageChange: e => {
311+
deploymentStore.setDeploymentsItemsPerPage(
312+
parseInt(e.target.value, 10),
313+
);
314+
},
315+
}}
300316
renderItemComponent={options => (
301317
<TransferListItem
302318
{...options}

src/components/smart/TransfersPage/TransfersPage.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ class TransfersPage extends React.Component<Props, State> {
8989
componentDidMount() {
9090
document.title = "Coriolis Transfers";
9191

92+
transferStore.resetTransferPagination();
93+
9294
projectStore.getProjects();
9395
endpointStore.getEndpoints({ showLoading: true });
9496
userStore.getAllUsers({
@@ -124,6 +126,7 @@ class TransfersPage extends React.Component<Props, State> {
124126
}
125127

126128
handleProjectChange() {
129+
transferStore.resetTransferPagination();
127130
transferStore.getTransfers();
128131
endpointStore.getEndpoints({ showLoading: true });
129132
}
@@ -445,6 +448,19 @@ class TransfersPage extends React.Component<Props, State> {
445448
onPaginatedItemsChange={paginatedTransfers => {
446449
this.handlePaginatedItemsChange(paginatedTransfers);
447450
}}
451+
apiPagination={{
452+
currentPage: transferStore.transfersPage,
453+
hasNextPage: transferStore.transfersHasNextPage,
454+
itemsPerPage: transferStore.transfersItemsPerPage,
455+
onPageChange: page => {
456+
transferStore.setTransfersPage(page);
457+
},
458+
onItemsPerPageChange: e => {
459+
transferStore.setTransfersItemsPerPage(
460+
parseInt(e.target.value, 10),
461+
);
462+
},
463+
}}
448464
renderItemComponent={options => (
449465
<TransferListItem
450466
{...options}

0 commit comments

Comments
 (0)