UNPKG

react-reactstrap-pagination

Version:
5 lines 5.92 kB
(function(a,b){if("function"==typeof define&&define.amd)define(["exports","react","reactstrap","prop-types","memoize-one"],b);else if("undefined"!=typeof exports)b(exports,require("react"),require("reactstrap"),require("prop-types"),require("memoize-one"));else{var c={exports:{}};b(c.exports,a.react,a.reactstrap,a.propTypes,a.memoizeOne),a.PaginationComponent=c.exports}})("undefined"==typeof globalThis?"undefined"==typeof self?this:self:globalThis,function(a,b,c,d,e){"use strict";function f(a){return a&&a.__esModule?a:{default:a}}function g(){if("function"!=typeof WeakMap)return null;var a=new WeakMap;return g=function(){return a},a}function h(a){if(a&&a.__esModule)return a;if(null===a||"object"!==i(a)&&"function"!=typeof a)return{default:a};var b=g();if(b&&b.has(a))return b.get(a);var c={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in a)if(Object.prototype.hasOwnProperty.call(a,e)){var f=d?Object.getOwnPropertyDescriptor(a,e):null;f&&(f.get||f.set)?Object.defineProperty(c,e,f):c[e]=a[e]}return c["default"]=a,b&&b.set(a,c),c}function i(a){"@babel/helpers - typeof";return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},i(a)}function j(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function k(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function l(a,b,c){return b&&k(a.prototype,b),c&&k(a,c),a}function m(a,b){return b&&("object"===i(b)||"function"==typeof b)?b:o(a)}function n(a){return n=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)},n(a)}function o(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function p(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),b&&q(a,b)}function q(a,b){return q=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a},q(a,b)}function r(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}Object.defineProperty(a,"__esModule",{value:!0}),a["default"]=void 0,b=h(b),d=f(d),e=f(e);var s=/*#__PURE__*/function(a){function d(a){var f;return j(this,d),f=m(this,n(d).call(this,a)),r(o(f),"getNumberOfPages",(0,e["default"])(function(a){var b=a.totalItems/a.pageSize,c=parseInt(b,10);return c+=c===b?0:1,c})),r(o(f),"paginationItems",function(){f.props.defaultActivePage!==f.defaultActivePage&&(f.defaultActivePage=f.props.defaultActivePage,f.activePage=f.defaultActivePage);var a=f.getNumberOfPages(f.props),b=[],c=o(f),d=c.activePage,e=f.props,g=e.firstPageText,h=e.previousPageText,j=e.nextPageText,k=e.lastPageText,l=f.getFirstPaginationNumber(d,a),m=f.getLastPaginationNumber(l,a);b.push(f.firstOrLastPagItem(g,1)),b.push(f.nextOrPreviousPagItem(h,1,"l"));// Page numbers for(var n=l;n<=m;n++)b.push(f.numberedPagItem(n,d));// Elements next and last return b.push(f.nextOrPreviousPagItem(j,a,"r")),b.push(f.firstOrLastPagItem(k,a)),b}),r(o(f),"getFirstPaginationNumber",function(a,b){var c=Math.floor,d=c(f.props.maxPaginationNumbers/2),e=a-d,g=a+d,h=1;return e<=d?h=1:g<=b?h=e:g>=b&&(h=b-f.props.maxPaginationNumbers+1),h}),r(o(f),"getLastPaginationNumber",function(a,b){var c=Math.min,d=c(b,f.props.maxPaginationNumbers);return a+d-1}),r(o(f),"numberedPagItem",function(a,d){var e="43.5px";return"lg"===f.props.size?e="71px":"sm"===f.props.size&&(e="33px"),b["default"].createElement(c.PaginationItem,{key:a,id:"pagebutton".concat(a),active:d===a,onClick:f.handleClick},b["default"].createElement(c.PaginationLink,{style:{minWidth:e}},a))}),r(o(f),"nextOrPreviousPagItem",function(a,d,e){return b["default"].createElement(c.PaginationItem,{key:a,disabled:f.activePage===d,onClick:function onClick(){return f.handleSelectNextOrPrevious(e)}},b["default"].createElement(c.PaginationLink,null,a))}),r(o(f),"firstOrLastPagItem",function(a,d){var e={currentTarget:{getAttribute:function getAttribute(){return"pagebutton".concat(d)}}};return b["default"].createElement(c.PaginationItem,{key:a,disabled:f.activePage===d,onClick:function onClick(){return f.handleClick(e)}},b["default"].createElement(c.PaginationLink,null,a))}),r(o(f),"handleClick",function(a){var b=parseInt(a.currentTarget.getAttribute("id").split("pagebutton").pop(),10);f.changePaginationState(b)}),r(o(f),"handleSelectNextOrPrevious",function(a){var b=o(f),c=b.activePage,d=b.props,e=f.getNumberOfPages(d);if(("r"!==a||c!==e)&&("l"!==a||1!==c)){var g="r"===a?c+1:c-1;f.changePaginationState(g)}}),r(o(f),"changePaginationState",function(a){f.activePage=a,f.setState({activePage:a}),f.props.onSelect(a)}),f.state={activePage:f.props.defaultActivePage},f}// Since we want to not have to worry about when this changes and since it won't change much // Memoize will remember the last parameter and only execute when they change return p(d,a),l(d,[{key:"render",value:function render(){return b["default"].createElement(c.Pagination,{size:this.props.size},this.paginationItems())}}]),d}(b.PureComponent);s.propTypes={totalItems:d["default"].number.isRequired,pageSize:d["default"].number.isRequired,onSelect:d["default"].func.isRequired,maxPaginationNumbers:d["default"].number,defaultActivePage:d["default"].number,firstPageText:d["default"].string,previousPageText:d["default"].string,nextPageText:d["default"].string,lastPageText:d["default"].string,size:d["default"].string},s.defaultProps={maxPaginationNumbers:5,defaultActivePage:1,firstPageText:"First",previousPageText:"Previous",nextPageText:"Next",lastPageText:"Last"};a["default"]=s});