UNPKG

test-lib-audits

Version:
212 lines (177 loc) 7.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (function () { var enterModule = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).enterModule; enterModule && enterModule(module); })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { return a; }; var defaultButton = function defaultButton(props) { return _react2.default.createElement( "button", props, props.children ); }; var Pagination = function (_React$Component) { _inherits(Pagination, _React$Component); function Pagination(props) { _classCallCheck(this, Pagination); var _this = _possibleConstructorReturn(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this)); _this.filterPages = function (visiblePages, totalPages) { return visiblePages.filter(function (page) { return page <= totalPages; }); }; _this.getVisiblePages = function (page, total) { if (total < 7) { return _this.filterPages([1, 2, 3, 4, 5, 6], total); } else { if (page % 5 >= 0 && page > 4 && page + 2 < total) { return [1, page - 1, page, page + 1, total]; } else if (page % 5 >= 0 && page > 4 && page + 2 >= total) { return [1, total - 3, total - 2, total - 1, total]; } else { return [1, 2, 3, 4, 5, total]; } } }; _this.changePage = _this.changePage.bind(_this); _this.goto = _this.goto.bind(_this); _this.state = { visiblePages: _this.getVisiblePages(null, props.pages) }; return _this; } _createClass(Pagination, [{ key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { if (this.props.pages !== nextProps.pages) { this.setState({ visiblePages: this.getVisiblePages(null, nextProps.pages) }); } this.changePage(nextProps.page + 1); } }, { key: "changePage", value: function changePage(page) { var activePage = this.props.page + 1; if (page === activePage) { return; } var visiblePages = this.getVisiblePages(page, this.props.pages); this.setState({ visiblePages: this.filterPages(visiblePages, this.props.pages) }); this.props.onPageChange(page - 1); } }, { key: "goto", value: function goto(e) { this.props.onPageChange(e.target.value - 1); } }, { key: "render", value: function render() { var _this2 = this; var _props$PageButtonComp = this.props.PageButtonComponent, PageButtonComponent = _props$PageButtonComp === undefined ? defaultButton : _props$PageButtonComp; var visiblePages = this.state.visiblePages; var activePage = this.props.page + 1; return _react2.default.createElement( "div", { className: "Table__pagination" }, _react2.default.createElement( "div", { className: "Table__prevPageWrapper" }, _react2.default.createElement( PageButtonComponent, { className: "Table__pageButton", onClick: function onClick() { if (activePage === 1) return; _this2.changePage(activePage - 1); }, disabled: activePage === 1 }, "<" ) ), _react2.default.createElement( "div", { className: "Table__visiblePagesWrapper" }, visiblePages.map(function (page, index, array) { return _react2.default.createElement( PageButtonComponent, { key: page, className: activePage === page ? "Table__pageButton Table__pageButton--active" : "Table__pageButton", onClick: _this2.changePage.bind(null, page) }, array[index - 1] + 2 < page ? "..." + page : page ); }) ), _react2.default.createElement( "div", { className: "Table__nextPageWrapper" }, _react2.default.createElement( PageButtonComponent, { className: "Table__pageButton", onClick: function onClick() { if (activePage === _this2.props.pages) return; _this2.changePage(activePage + 1); }, disabled: activePage === this.props.pages }, ">" ) ) ); } }, { key: "__reactstandin__regenerateByEval", // @ts-ignore value: function __reactstandin__regenerateByEval(key, code) { // @ts-ignore this[key] = eval(code); } }]); return Pagination; }(_react2.default.Component); Pagination.propTypes = { pages: _propTypes2.default.number, page: _propTypes2.default.number, PageButtonComponent: _propTypes2.default.any, onPageChange: _propTypes2.default.func, previousText: _propTypes2.default.string, nextText: _propTypes2.default.string }; var _default = Pagination; exports.default = _default; ; (function () { var reactHotLoader = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).default; if (!reactHotLoader) { return; } reactHotLoader.register(defaultButton, "defaultButton", "src/components/TableContent/Pagination.js"); reactHotLoader.register(Pagination, "Pagination", "src/components/TableContent/Pagination.js"); reactHotLoader.register(_default, "default", "src/components/TableContent/Pagination.js"); })(); ; (function () { var leaveModule = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).leaveModule; leaveModule && leaveModule(module); })();