glass-app-manager
Version:
Informatica's Glass Framework CLI for bootstrapping
55 lines (49 loc) • 1.99 kB
JavaScript
//@flow
import * as React from "react";
// import Pagination, { usePagination, getPaginationState } from "react-use-pagination/dist-src/index.js";
/**
* TODO:
*
* The above import results in following issues:
* 1. Unit tests fail to import Pagination component:
* Not able to import the Pagination component doe to following errer.
* node_modules/react-use-pagination/dist-src/index.js:6
* import * as React from "react";
* 2. Syntax errors while loading Droplets in IE-11
*/
import Pagination, { usePagination, getPaginationState } from "react-use-pagination";
import PaginationPageLocation from "./PaginationPageLocation";
import PaginationPageSelector from "./PaginationPageSelector";
import PaginationPageSize from "./PaginationPageSize";
Pagination.DefaultLayout = (props: $Call<usePagination>) => {
if (props.totalItems === 0) {
return null;
}
return (
<div className="pagination pagination--default-layout">
<PaginationPageLocation
startIndex={props.startIndex}
endIndex={props.endIndex}
totalItems={props.totalItems}
/>
<PaginationPageSelector
currentPage={props.currentPage + 1}
totalPages={props.totalPages}
onChange={page => props.setPage(page - 1)}
previousEnabled={props.previousEnabled}
nextEnabled={props.nextEnabled}
/>
<PaginationPageSize
value={props.pageSize}
onChange={props.setPageSize}
pageSizeChoices={props.pageSizeChoices}
/>
</div>
);
};
Pagination.PageSize = PaginationPageSize;
Pagination.PageSelector = PaginationPageSelector;
Pagination.PageLocation = PaginationPageLocation;
Pagination.usePagination = usePagination;
Pagination.getPaginationState = getPaginationState;
export default Pagination;