UNPKG

react-router-pagination

Version:
1 lines 13.4 kB
"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}require("core-js/modules/es.object.keys.js");require("core-js/modules/es.symbol.js");require("core-js/modules/es.array.filter.js");require("core-js/modules/es.object.get-own-property-descriptor.js");require("core-js/modules/es.array.for-each.js");require("core-js/modules/web.dom-collections.for-each.js");require("core-js/modules/es.object.get-own-property-descriptors.js");require("core-js/modules/es.object.define-properties.js");require("core-js/modules/es.object.set-prototype-of.js");require("core-js/modules/es.object.get-prototype-of.js");require("core-js/modules/es.reflect.construct.js");require("core-js/modules/es.object.create.js");require("core-js/modules/es.array.iterator.js");require("core-js/modules/es.object.to-string.js");require("core-js/modules/es.string.iterator.js");require("core-js/modules/es.weak-map.js");require("core-js/modules/web.dom-collections.iterator.js");require("core-js/modules/es.symbol.description.js");require("core-js/modules/es.symbol.iterator.js");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"toInteger",{enumerable:true,get:function get(){return _common.toInteger;}});Object.defineProperty(exports,"calculateTotalPages",{enumerable:true,get:function get(){return _common.calculateTotalPages;}});Object.defineProperty(exports,"calculatePageNumber",{enumerable:true,get:function get(){return _common.calculatePageNumber;}});exports.Pagination=exports["default"]=void 0;require("core-js/modules/es.array.concat.js");require("core-js/modules/es.regexp.exec.js");require("core-js/modules/es.string.match.js");require("core-js/modules/es.object.define-property.js");var _react=_interopRequireWildcard(require("react"));var _reactRouter=require("react-router");var _reactRouterDom=require("react-router-dom");var _common=require("./common");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;});}keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};if(i%2){ownKeys(Object(source),true).forEach(function(key){_defineProperty(target,key,source[key]);});}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}}return target;}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}var getListItemClassName=function getListItemClassName(currentPageNumber,pageNumber){return(0,_common.toInteger)(currentPageNumber)===(0,_common.toInteger)(pageNumber)?'currentPage':'page';};var getListItemKey=function getListItemKey(key){return"list-item-".concat(key);};var getLinkTo=function getLinkTo(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref$path=_ref.path,path=_ref$path===void 0?'/:pageNumber':_ref$path,_ref$params=_ref.params,params=_ref$params===void 0?{}:_ref$params;var pageNumber=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return(0,_reactRouter.generatePath)(path,_objectSpread(_objectSpread({},params),{},{pageNumber:pageNumber}));};var AbstractPagination=function(_Component){_inherits(AbstractPagination,_Component);var _super=_createSuper(AbstractPagination);function AbstractPagination(){var _this;_classCallCheck(this,AbstractPagination);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}_this=_super.call.apply(_super,[this].concat(args));_defineProperty(_assertThisInitialized(_this),"handleClick",function(pageNumber){return _this.props.onClick(pageNumber);});return _this;}_createClass(AbstractPagination,[{key:"x",value:function x(){return 0;}},{key:"y",value:function y(){return 0;}},{key:"z",value:function z(){return 0;}},{key:"zeroIndex",value:function zeroIndex(pageNumber,totalPages){return 0;}},{key:"lastIndex",value:function lastIndex(pageNumber,totalPages){return 0;}},{key:"hasReversePageLink",value:function hasReversePageLink(pageNumber,totalPages){return this.zeroIndex(pageNumber,totalPages)-1>0;}},{key:"hasForwardPageLink",value:function hasForwardPageLink(pageNumber,totalPages){return this.lastIndex(pageNumber,totalPages)+1<totalPages;}},{key:"hasZeroPageLink",value:function hasZeroPageLink(pageNumber,totalPages){return this.zeroIndex(pageNumber,totalPages)>0;}},{key:"hasLastPageLink",value:function hasLastPageLink(pageNumber,totalPages){return this.lastIndex(pageNumber,totalPages)<totalPages;}},{key:"reversePageLinkItem",value:function reversePageLinkItem(match,pageNumber,totalPages){var _this2=this;if(this.hasReversePageLink(pageNumber,totalPages)){var n=this.zeroIndex(pageNumber,totalPages);return _react["default"].createElement("li",{key:getListItemKey('reverse'),className:"reversePage"},_react["default"].createElement(_reactRouterDom.Link,{to:getLinkTo(match,n),onClick:function onClick(){return _this2.handleClick(n);}},_react["default"].createElement("span",{className:"reverse"},"\xAB")));}return null;}},{key:"forwardPageLinkItem",value:function forwardPageLinkItem(match,pageNumber,totalPages){var _this3=this;if(this.hasForwardPageLink(pageNumber,totalPages)){var n=this.lastIndex(pageNumber,totalPages)+1;return _react["default"].createElement("li",{key:getListItemKey('forward'),className:"forwardPage"},_react["default"].createElement(_reactRouterDom.Link,{to:getLinkTo(match,n),onClick:function onClick(){return _this3.handleClick(n);}},_react["default"].createElement("span",{className:"forwardPage"},"\xBB")));}return null;}},{key:"zeroPageLinkItem",value:function zeroPageLinkItem(match,pageNumber,totalPages){var _this4=this;if(this.hasZeroPageLink(pageNumber,totalPages)){var n=1;return _react["default"].createElement("li",{key:getListItemKey(n),className:"zeroPage"},_react["default"].createElement(_reactRouterDom.Link,{to:getLinkTo(match,n),onClick:function onClick(){return _this4.handleClick(n);}},_react["default"].createElement("span",{className:"pageNumber"},n)));}return null;}},{key:"lastPageLinkItem",value:function lastPageLinkItem(match,pageNumber,totalPages){var _this5=this;if(this.hasLastPageLink(pageNumber,totalPages)){var n=(0,_common.toInteger)(totalPages);return _react["default"].createElement("li",{key:getListItemKey(n),className:"lastPage"},_react["default"].createElement(_reactRouterDom.Link,{to:getLinkTo(match,n),onClick:function onClick(){return _this5.handleClick(n);}},_react["default"].createElement("span",{className:"pageNumber"},n)));}return null;}},{key:"pageLinkItems",value:function pageLinkItems(match,pageNumber,totalPages){var _this6=this;var i=this.zeroIndex(pageNumber,totalPages);var j=this.lastIndex(pageNumber,totalPages);var a=[];var _loop=function _loop(){var n=i+1;a.push(_react["default"].createElement("li",{key:getListItemKey(n),className:getListItemClassName(pageNumber,n)},_react["default"].createElement(_reactRouterDom.Link,{to:getLinkTo(match,n),onClick:function onClick(){return _this6.handleClick(n);}},_react["default"].createElement("span",{className:"pageNumber"},n))));};for(j;i<j;i=i+1){_loop();}return a;}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(props){return(0,_common.toInteger)(props.pageNumber)!==(0,_common.toInteger)(this.props.pageNumber)||(0,_common.toInteger)(props.totalPages)!==(0,_common.toInteger)(this.props.totalPages)||props.match!==this.props.match;}},{key:"render",value:function render(){var totalPages=this.state.totalPages;if(totalPages>1){var match=this.props.match;var _pageNumber=this.state.pageNumber;var page=(0,_common.calculatePageNumber)(_pageNumber,totalPages);if(totalPages>this.z()){return _react["default"].createElement("ul",{className:"pagination"},this.zeroPageLinkItem(match,page,totalPages),this.reversePageLinkItem(match,page,totalPages),this.pageLinkItems(match,page,totalPages),this.forwardPageLinkItem(match,page,totalPages),this.lastPageLinkItem(match,page,totalPages));}else{return _react["default"].createElement("ul",{className:"pagination"},this.pageLinkItems(match,page,totalPages));}}return null;}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(_ref2){var pageNumber=_ref2.pageNumber,totalPages=_ref2.totalPages;return{pageNumber:(0,_common.toInteger)(pageNumber),totalPages:(0,_common.toInteger)(totalPages)};}}]);return AbstractPagination;}(_react.Component);exports["default"]=AbstractPagination;_defineProperty(AbstractPagination,"defaultProps",{onClick:function onClick(){},pageNumber:0,totalPages:0,match:{}});_defineProperty(AbstractPagination,"calculateTotalPages",_common.calculateTotalPages);_defineProperty(AbstractPagination,"calculatePageNumber",_common.calculatePageNumber);var Pagination=function(_AbstractPagination){_inherits(Pagination,_AbstractPagination);var _super2=_createSuper(Pagination);function Pagination(){var _this7;_classCallCheck(this,Pagination);for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2];}_this7=_super2.call.apply(_super2,[this].concat(args));_defineProperty(_assertThisInitialized(_this7),"state",{pageNumber:(0,_common.toInteger)(_this7.props.pageNumber),totalPages:(0,_common.toInteger)(_this7.props.totalPages)});return _this7;}return Pagination;}(AbstractPagination);exports.Pagination=Pagination;