|
- {"ast":null,"code":"import _classCallCheck from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass\";\nimport _possibleConstructorReturn from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _inherits from \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits\";\nvar _jsxFileName = \"/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/shared/components/pagination/Pagination.tsx\";\nimport range from 'lodash.range';\nimport ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\nimport ChevronRightIcon from 'mdi-react/ChevronRightIcon';\nimport React, { Component } from 'react';\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\n;\n\nvar CustPag = /*#__PURE__*/function (_Component) {\n _inherits(CustPag, _Component);\n\n function CustPag(props, context) {\n var _this;\n\n _classCallCheck(this, CustPag);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(CustPag).call(this, props, context));\n\n _this.setPage = function (page) {\n var _this$props = _this.props,\n itemsCount = _this$props.itemsCount,\n itemsToShow = _this$props.itemsToShow,\n onChangePage = _this$props.onChangePage; // calculate total pages\n\n var totalPages = Math.ceil(itemsCount / itemsToShow);\n\n if (page < 1 || page > totalPages) {\n return;\n } // call change page function in parent component\n\n\n onChangePage(page);\n };\n\n _this.setRowCt = function (rowCt) {\n var onChangeRowCt = _this.props.onChangeRowCt;\n var itemsPerPage = parseInt(rowCt);\n onChangeRowCt(itemsPerPage);\n };\n\n _this.getPager = function (totalItems, curPage, pSize) {\n // default to first page\n var currentPage = curPage || 1; // default page size is 10\n\n var pageSize = pSize || 10; // calculate total pages\n\n var totalPages = Math.ceil(totalItems / pageSize);\n var startPage;\n var endPage;\n\n if (totalPages <= 5) {\n // less than 10 total pages so show all\n startPage = 1;\n endPage = totalPages;\n } else if (currentPage <= 2) {\n // more than 5 total pages so calculate start and end pages\n startPage = 1;\n endPage = totalPages >= 5 ? 5 : totalPages;\n } else if (currentPage + 2 >= totalPages) {\n startPage = totalPages - 4;\n endPage = totalPages;\n } else {\n startPage = currentPage - 2;\n endPage = currentPage + 2;\n } // calculate start and end item indexes\n\n\n var startIndex = startPage - 1;\n var endIndex = endPage - 1;\n var prevPage = curPage - 1 < 1 ? 1 : curPage - 1;\n var nextPage = curPage + 1 > totalPages ? totalPages : curPage + 1; // create an array of pages to ng-repeat in the pager control\n\n var pages = range(startPage, endPage + 1); // return object with all pager properties required by the view\n\n return {\n totalItems: totalItems,\n currentPage: currentPage,\n pageSize: pageSize,\n totalPages: totalPages,\n startPage: startPage,\n endPage: endPage,\n startIndex: startIndex,\n endIndex: endIndex,\n pages: pages,\n prevPage: prevPage,\n nextPage: nextPage\n };\n };\n\n var _itemsPerPage = props.itemsToShow;\n return _this;\n }\n\n _createClass(CustPag, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n itemsCount = _this$props2.itemsCount,\n itemsToShow = _this$props2.itemsToShow,\n pageOfItems = _this$props2.pageOfItems;\n var paginfo = this.getPager(itemsCount, pageOfItems, itemsToShow);\n var pages = paginfo.pages;\n return itemsCount ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"pagination__wrap\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 7\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"pagination-info bold\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 9\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 11\n }\n }, \"Displaying records \", \"\".concat(itemsToShow * (pageOfItems - 1) + 1, \" \"), \"to \", itemsToShow * pageOfItems > itemsCount ? itemsCount : itemsToShow * pageOfItems, \" of \", itemsCount)), itemsCount <= 1 ? '' : /*#__PURE__*/React.createElement(Pagination, {\n className: \"pagination\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 115,\n columnNumber: 13\n }\n }, /*#__PURE__*/React.createElement(\"select\", {\n id: \"rowsPerPage\",\n onChange: function onChange(e) {\n return _this2.setRowCt(e.target.value);\n },\n value: itemsToShow,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 116,\n columnNumber: 15\n }\n }, /*#__PURE__*/React.createElement(\"option\", {\n value: 10,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 17\n }\n }, \"10\"), /*#__PURE__*/React.createElement(\"option\", {\n value: 25,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 118,\n columnNumber: 17\n }\n }, \"25\"), /*#__PURE__*/React.createElement(\"option\", {\n value: 50,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 17\n }\n }, \"50\"), /*#__PURE__*/React.createElement(\"option\", {\n value: 100,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 17\n }\n }, \"100\")), /*#__PURE__*/React.createElement(PaginationItem, {\n className: \"pagination__item\",\n disabled: pageOfItems === 1,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 15\n }\n }, /*#__PURE__*/React.createElement(PaginationLink, {\n className: \"pagination__link pagination__link--arrow\",\n type: \"button\",\n onClick: function onClick() {\n return _this2.setPage(paginfo.prevPage);\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 123,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(ChevronLeftIcon, {\n className: \"pagination__link-icon\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 128,\n columnNumber: 19\n }\n }))), pages.map(function (page) {\n return /*#__PURE__*/React.createElement(PaginationItem, {\n className: \"pagination__item\",\n key: page,\n active: pageOfItems === page,\n __self: _this2,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(PaginationLink, {\n className: \"pagination__link\",\n type: \"button\",\n onClick: function onClick() {\n return _this2.setPage(page);\n },\n __self: _this2,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 19\n }\n }, page));\n }), /*#__PURE__*/React.createElement(PaginationItem, {\n className: \"pagination__item\",\n disabled: pageOfItems === paginfo.endPage,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 15\n }\n }, /*#__PURE__*/React.createElement(PaginationLink, {\n className: \"pagination__link pagination__link--arrow\",\n type: \"button\",\n onClick: function onClick() {\n return _this2.setPage(paginfo.nextPage);\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 148,\n columnNumber: 17\n }\n }, /*#__PURE__*/React.createElement(ChevronRightIcon, {\n className: \"pagination__link-icon\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 153,\n columnNumber: 19\n }\n }))))) : /*#__PURE__*/React.createElement(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 160,\n columnNumber: 9\n }\n });\n }\n }]);\n\n return CustPag;\n}(Component); // import range from 'lodash.range';\n// import ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\n// import ChevronRightIcon from 'mdi-react/ChevronRightIcon';\n// import React, { Component } from 'react';\n// import { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\n// interface CustPagProps {\n// onChangePage: (value: any) => void,\n// onChangeRowCt: (value: any) => void,\n// itemsCount: number,\n// itemsToShow: number,\n// pageOfItems: number,\n// };\n// interface CustPagState {\n// itemsPerPage: number,\n// }\n// export default class CustPag extends Component<CustPagProps, CustPagState> {\n// constructor(props: CustPagProps, context: any) {\n// super(props, context);\n// const itemsPerPage = props.itemsToShow;\n// this.state = { itemsPerPage };\n// }\n// setPage = (page: any) => {\n// const { itemsCount, itemsToShow, onChangePage } = this.props;\n// // calculate total pages\n// const totalPages = Math.ceil(itemsCount / itemsToShow);\n// if (page < 1 || page > totalPages) {\n// return;\n// }\n// // call change page function in parent component\n// onChangePage(page);\n// };\n// setRowCt = ( rowCt: any ) => {\n// const { onChangeRowCt } = this.props;\n// const itemsPerPage = parseInt(rowCt);\n// this.setState({ itemsPerPage });\n// onChangeRowCt(parseInt(rowCt));\n// }\n// getPager = (totalItems: number, curPage: number, pSize: number) => {\n// // default to first page\n// const currentPage = curPage || 1;\n// // default page size is 10\n// const pageSize = pSize || 10;\n// // calculate total pages\n// const totalPages = Math.ceil(totalItems / pageSize);\n// let startPage;\n// let endPage;\n// if (totalPages <= 5) {\n// // less than 10 total pages so show all\n// startPage = 1;\n// endPage = totalPages;\n// } \n// else if (currentPage <= 2) {\n// // more than 5 total pages so calculate start and end pages\n// startPage = 1;\n// endPage = totalPages >= 5 ? 5 : totalPages;\n// } \n// else if (currentPage + 2 >= totalPages) {\n// startPage = totalPages - 4;\n// endPage = totalPages;\n// } \n// else {\n// startPage = currentPage - 2;\n// endPage = currentPage + 2;\n// }\n// // calculate start and end item indexes\n// const startIndex = startPage - 1;\n// const endIndex = endPage - 1;\n// const prevPage = curPage - 5 < 1 ? 1 : curPage - 5;\n// const nextPage = curPage + 5 > totalPages ? totalPages : curPage + 5;\n// // create an array of pages to ng-repeat in the pager control\n// const pages = range(startPage, endPage + 1);\n// // return object with all pager properties required by the view\n// return {\n// totalItems,\n// currentPage,\n// pageSize,\n// totalPages,\n// startPage,\n// endPage,\n// startIndex,\n// endIndex,\n// pages,\n// prevPage,\n// nextPage\n// };\n// };\n// render() {\n// const { itemsCount, itemsToShow, pageOfItems } = this.props;\n// const { itemsPerPage } = this.state;\n// const paginfo = this.getPager(itemsCount, pageOfItems, itemsToShow); \n// const pages = paginfo.pages;\n// return itemsCount ? (\n// <div className=\"pagination__wrap\">\n// <div className=\"pagination-info bold\">\n// <span>Displaying records {`${(itemsToShow * (pageOfItems - 1)) + 1} `}\n// to {itemsToShow * pageOfItems > itemsCount ? itemsCount\n// : itemsToShow * pageOfItems} of {itemsCount}\n// </span>\n// </div>\n// {(itemsCount <= 1) ? ''\n// : (\n// <Pagination className=\"pagination\">\n// <select id=\"rowsPerPage\" onChange={(e) => this.setRowCt(e.target.value)} value={itemsPerPage}>\n// <option value={10}>10</option>\n// <option value={25}>25</option>\n// <option value={50}>50</option>\n// <option value={100}>100</option>\n// </select>\n// <PaginationItem className=\"pagination__item\" disabled={pageOfItems === 1}>\n// <PaginationLink\n// className=\"pagination__link pagination__link--arrow\"\n// type=\"button\"\n// onClick={() => this.setPage(paginfo.prevPage)}\n// >\n// <ChevronLeftIcon className=\"pagination__link-icon\" />\n// </PaginationLink>\n// </PaginationItem>\n// {pages.map(page => (\n// <PaginationItem\n// className=\"pagination__item\"\n// key={page}\n// active={pageOfItems === page}\n// >\n// <PaginationLink\n// className=\"pagination__link\"\n// type=\"button\"\n// onClick={() => this.setPage(page)}\n// >\n// {page}\n// </PaginationLink>\n// </PaginationItem>\n// ))\n// }\n// <PaginationItem className=\"pagination__item\" disabled={pageOfItems === pages.length}>\n// <PaginationLink\n// className=\"pagination__link pagination__link--arrow\"\n// type=\"button\"\n// onClick={() => this.setPage(paginfo.nextPage)}\n// >\n// <ChevronRightIcon className=\"pagination__link-icon\" />\n// </PaginationLink>\n// </PaginationItem>\n// </Pagination>\n// )\n// }\n// </div>\n// ) : <div />;\n// }\n// }\n\n/* eslint-enable */\n\n\nexport { CustPag as default };","map":{"version":3,"sources":["/Users/michielcarman/Server Code/Repository/clients-rpm-kit-manager/code/RPM.KitManager/RPM.KitManager.Web/ClientApp/src/shared/components/pagination/Pagination.tsx"],"names":["range","ChevronLeftIcon","ChevronRightIcon","React","Component","Pagination","PaginationItem","PaginationLink","CustPag","props","context","setPage","page","itemsCount","itemsToShow","onChangePage","totalPages","Math","ceil","setRowCt","rowCt","onChangeRowCt","itemsPerPage","parseInt","getPager","totalItems","curPage","pSize","currentPage","pageSize","startPage","endPage","startIndex","endIndex","prevPage","nextPage","pages","pageOfItems","paginfo","e","target","value","map"],"mappings":"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A;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;SAnUqBI,O","sourcesContent":["import range from 'lodash.range';\nimport ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\nimport ChevronRightIcon from 'mdi-react/ChevronRightIcon';\nimport React, { Component } from 'react';\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\n\ninterface CustPagProps {\n onChangePage: (value: any) => void,\n onChangeRowCt: (value: any) => void,\n itemsCount: number,\n itemsToShow: number,\n pageOfItems: number,\n};\n\nexport default class CustPag extends Component<CustPagProps> {\n\n constructor(props: CustPagProps, context: any) {\n super(props, context);\n const itemsPerPage = props.itemsToShow;\n }\n\n setPage = (page: any) => {\n const { itemsCount, itemsToShow, onChangePage } = this.props;\n\n // calculate total pages\n const totalPages = Math.ceil(itemsCount / itemsToShow);\n\n if (page < 1 || page > totalPages) {\n return;\n }\n\n // call change page function in parent component\n onChangePage(page);\n };\n\n setRowCt = (rowCt: any) => {\n const { onChangeRowCt } = this.props;\n const itemsPerPage = parseInt(rowCt);\n onChangeRowCt(itemsPerPage);\n }\n\n getPager = (totalItems: number, curPage: number, pSize: number) => {\n // default to first page\n const currentPage = curPage || 1;\n\n // default page size is 10\n const pageSize = pSize || 10;\n\n // calculate total pages\n const totalPages = Math.ceil(totalItems / pageSize);\n\n let startPage;\n let endPage;\n\n if (totalPages <= 5) {\n // less than 10 total pages so show all\n startPage = 1;\n endPage = totalPages;\n }\n else if (currentPage <= 2) {\n // more than 5 total pages so calculate start and end pages\n startPage = 1;\n endPage = totalPages >= 5 ? 5 : totalPages;\n }\n else if (currentPage + 2 >= totalPages) {\n startPage = totalPages - 4;\n endPage = totalPages;\n }\n else {\n startPage = currentPage - 2;\n endPage = currentPage + 2;\n }\n\n // calculate start and end item indexes\n const startIndex = startPage - 1;\n const endIndex = endPage - 1;\n const prevPage = curPage - 1 < 1 ? 1 : curPage - 1;\n const nextPage = curPage + 1 > totalPages ? totalPages : curPage + 1;\n\n // create an array of pages to ng-repeat in the pager control\n const pages = range(startPage, endPage + 1);\n\n // return object with all pager properties required by the view\n return {\n totalItems,\n currentPage,\n pageSize,\n totalPages,\n startPage,\n endPage,\n startIndex,\n endIndex,\n pages,\n prevPage,\n nextPage\n };\n };\n\n render() {\n const { itemsCount, itemsToShow, pageOfItems } = this.props;\n const paginfo = this.getPager(itemsCount, pageOfItems, itemsToShow);\n const pages = paginfo.pages;\n\n\n return itemsCount ? (\n <div className=\"pagination__wrap\">\n <div className=\"pagination-info bold\">\n <span>Displaying records {`${(itemsToShow * (pageOfItems - 1)) + 1} `}\n to {itemsToShow * pageOfItems > itemsCount ? itemsCount\n : itemsToShow * pageOfItems} of {itemsCount}\n </span>\n </div>\n {(itemsCount <= 1) ? ''\n : (\n <Pagination className=\"pagination\">\n <select id=\"rowsPerPage\" onChange={(e) => this.setRowCt(e.target.value)} value={itemsToShow}>\n <option value={10}>10</option>\n <option value={25}>25</option>\n <option value={50}>50</option>\n <option value={100}>100</option>\n </select>\n <PaginationItem className=\"pagination__item\" disabled={pageOfItems === 1}>\n <PaginationLink\n className=\"pagination__link pagination__link--arrow\"\n type=\"button\"\n onClick={() => this.setPage(paginfo.prevPage)}\n >\n <ChevronLeftIcon className=\"pagination__link-icon\" />\n </PaginationLink>\n </PaginationItem>\n {pages.map(page => (\n <PaginationItem\n className=\"pagination__item\"\n key={page}\n active={pageOfItems === page}\n >\n <PaginationLink\n className=\"pagination__link\"\n type=\"button\"\n onClick={() => this.setPage(page)}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n ))\n }\n <PaginationItem className=\"pagination__item\" disabled={pageOfItems === paginfo.endPage}>\n <PaginationLink\n className=\"pagination__link pagination__link--arrow\"\n type=\"button\"\n onClick={() => this.setPage(paginfo.nextPage)}\n >\n <ChevronRightIcon className=\"pagination__link-icon\" />\n </PaginationLink>\n </PaginationItem>\n </Pagination>\n )\n }\n </div>\n ) : <div />;\n }\n}\n\n\n\n\n// import range from 'lodash.range';\n// import ChevronLeftIcon from 'mdi-react/ChevronLeftIcon';\n// import ChevronRightIcon from 'mdi-react/ChevronRightIcon';\n// import React, { Component } from 'react';\n// import { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\n\n// interface CustPagProps {\n// onChangePage: (value: any) => void,\n// onChangeRowCt: (value: any) => void,\n// itemsCount: number,\n// itemsToShow: number,\n// pageOfItems: number,\n// };\n\n// interface CustPagState {\n// itemsPerPage: number,\n// }\n\n// export default class CustPag extends Component<CustPagProps, CustPagState> {\n\n// constructor(props: CustPagProps, context: any) {\n// super(props, context);\n// const itemsPerPage = props.itemsToShow;\n// this.state = { itemsPerPage };\n// }\n\n// setPage = (page: any) => {\n// const { itemsCount, itemsToShow, onChangePage } = this.props;\n\n// // calculate total pages\n// const totalPages = Math.ceil(itemsCount / itemsToShow);\n\n// if (page < 1 || page > totalPages) {\n// return;\n// }\n\n// // call change page function in parent component\n// onChangePage(page);\n// };\n\n// setRowCt = ( rowCt: any ) => {\n// const { onChangeRowCt } = this.props;\n// const itemsPerPage = parseInt(rowCt);\n// this.setState({ itemsPerPage });\n// onChangeRowCt(parseInt(rowCt));\n// }\n\n// getPager = (totalItems: number, curPage: number, pSize: number) => {\n// // default to first page\n// const currentPage = curPage || 1;\n\n// // default page size is 10\n// const pageSize = pSize || 10;\n\n// // calculate total pages\n// const totalPages = Math.ceil(totalItems / pageSize);\n\n// let startPage;\n// let endPage;\n\n// if (totalPages <= 5) {\n// // less than 10 total pages so show all\n// startPage = 1;\n// endPage = totalPages;\n// } \n// else if (currentPage <= 2) {\n// // more than 5 total pages so calculate start and end pages\n// startPage = 1;\n// endPage = totalPages >= 5 ? 5 : totalPages;\n// } \n// else if (currentPage + 2 >= totalPages) {\n// startPage = totalPages - 4;\n// endPage = totalPages;\n// } \n// else {\n// startPage = currentPage - 2;\n// endPage = currentPage + 2;\n// }\n\n// // calculate start and end item indexes\n// const startIndex = startPage - 1;\n// const endIndex = endPage - 1;\n// const prevPage = curPage - 5 < 1 ? 1 : curPage - 5;\n// const nextPage = curPage + 5 > totalPages ? totalPages : curPage + 5;\n\n// // create an array of pages to ng-repeat in the pager control\n// const pages = range(startPage, endPage + 1);\n\n// // return object with all pager properties required by the view\n// return {\n// totalItems,\n// currentPage,\n// pageSize,\n// totalPages,\n// startPage,\n// endPage,\n// startIndex,\n// endIndex,\n// pages,\n// prevPage,\n// nextPage\n// };\n// };\n\n// render() {\n// const { itemsCount, itemsToShow, pageOfItems } = this.props;\n// const { itemsPerPage } = this.state;\n\n// const paginfo = this.getPager(itemsCount, pageOfItems, itemsToShow); \n// const pages = paginfo.pages;\n\n\n// return itemsCount ? (\n// <div className=\"pagination__wrap\">\n// <div className=\"pagination-info bold\">\n// <span>Displaying records {`${(itemsToShow * (pageOfItems - 1)) + 1} `}\n// to {itemsToShow * pageOfItems > itemsCount ? itemsCount\n// : itemsToShow * pageOfItems} of {itemsCount}\n// </span>\n// </div>\n// {(itemsCount <= 1) ? ''\n// : (\n// <Pagination className=\"pagination\">\n// <select id=\"rowsPerPage\" onChange={(e) => this.setRowCt(e.target.value)} value={itemsPerPage}>\n// <option value={10}>10</option>\n// <option value={25}>25</option>\n// <option value={50}>50</option>\n// <option value={100}>100</option>\n// </select>\n// <PaginationItem className=\"pagination__item\" disabled={pageOfItems === 1}>\n// <PaginationLink\n// className=\"pagination__link pagination__link--arrow\"\n// type=\"button\"\n// onClick={() => this.setPage(paginfo.prevPage)}\n// >\n// <ChevronLeftIcon className=\"pagination__link-icon\" />\n// </PaginationLink>\n// </PaginationItem>\n// {pages.map(page => (\n// <PaginationItem\n// className=\"pagination__item\"\n// key={page}\n// active={pageOfItems === page}\n// >\n// <PaginationLink\n// className=\"pagination__link\"\n// type=\"button\"\n// onClick={() => this.setPage(page)}\n// >\n// {page}\n// </PaginationLink>\n// </PaginationItem>\n// ))\n// }\n// <PaginationItem className=\"pagination__item\" disabled={pageOfItems === pages.length}>\n// <PaginationLink\n// className=\"pagination__link pagination__link--arrow\"\n// type=\"button\"\n// onClick={() => this.setPage(paginfo.nextPage)}\n// >\n// <ChevronRightIcon className=\"pagination__link-icon\" />\n// </PaginationLink>\n// </PaginationItem>\n// </Pagination>\n// )\n// }\n// </div>\n// ) : <div />;\n// }\n// }\n\n/* eslint-enable */\n"]},"metadata":{},"sourceType":"module"}
|