UNPKG

@centreon/react-components

Version:
145 lines (114 loc) 6.14 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styles = require("@material-ui/core/styles"); var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton")); var _FirstPage = _interopRequireDefault(require("@material-ui/icons/FirstPage")); var _KeyboardArrowLeft = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowLeft")); var _KeyboardArrowRight = _interopRequireDefault(require("@material-ui/icons/KeyboardArrowRight")); var _LastPage = _interopRequireDefault(require("@material-ui/icons/LastPage")); /* eslint-disable react/forbid-prop-types */ /* eslint-disable react/jsx-filename-extension */ /* eslint-disable react/prop-types */ var styles = function styles(theme) { return { root: { flexShrink: 0, color: theme.palette.text.secondary, marginLeft: theme.spacing(2.5) } }; }; var TablePaginationActions = /*#__PURE__*/ function (_Component) { (0, _inherits2["default"])(TablePaginationActions, _Component); function TablePaginationActions() { var _getPrototypeOf2; var _this; (0, _classCallCheck2["default"])(this, TablePaginationActions); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(TablePaginationActions)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFirstPageButtonClick", function (event) { var onChangePage = _this.props.onChangePage; onChangePage(event, 0); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleBackButtonClick", function (event) { var _this$props = _this.props, onChangePage = _this$props.onChangePage, page = _this$props.page; onChangePage(event, page - 1); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleNextButtonClick", function (event) { var _this$props2 = _this.props, onChangePage = _this$props2.onChangePage, page = _this$props2.page; onChangePage(event, page + 1); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleLastPageButtonClick", function (event) { var _this$props3 = _this.props, count = _this$props3.count, rowsPerPage = _this$props3.rowsPerPage, onChangePage = _this$props3.onChangePage; onChangePage(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1)); }); return _this; } (0, _createClass2["default"])(TablePaginationActions, [{ key: "render", value: function render() { var _this$props4 = this.props, classes = _this$props4.classes, count = _this$props4.count, page = _this$props4.page, theme = _this$props4.theme, rowsPerPage = _this$props4.rowsPerPage; return _react["default"].createElement("div", { className: classes.root }, _react["default"].createElement(_IconButton["default"], { onClick: this.handleFirstPageButtonClick, disabled: page === 0, "aria-label": "First Page" }, theme.direction === 'rtl' ? _react["default"].createElement(_LastPage["default"], null) : _react["default"].createElement(_FirstPage["default"], null)), _react["default"].createElement(_IconButton["default"], { onClick: this.handleBackButtonClick, disabled: page === 0, "aria-label": "Previous Page" }, theme.direction === 'rtl' ? _react["default"].createElement(_KeyboardArrowRight["default"], null) : _react["default"].createElement(_KeyboardArrowLeft["default"], null)), _react["default"].createElement(_IconButton["default"], { onClick: this.handleNextButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "Next Page" }, theme.direction === 'rtl' ? _react["default"].createElement(_KeyboardArrowLeft["default"], null) : _react["default"].createElement(_KeyboardArrowRight["default"], null)), _react["default"].createElement(_IconButton["default"], { onClick: this.handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "Last Page" }, theme.direction === 'rtl' ? _react["default"].createElement(_FirstPage["default"], null) : _react["default"].createElement(_LastPage["default"], null))); } }]); return TablePaginationActions; }(_react.Component); TablePaginationActions.propTypes = { count: _propTypes["default"].number.isRequired, page: _propTypes["default"].number.isRequired, rowsPerPage: _propTypes["default"].number.isRequired, theme: _propTypes["default"].object.isRequired, classes: _propTypes["default"].object.isRequired }; var _default = (0, _styles.withStyles)(styles, { withTheme: true })(TablePaginationActions); exports["default"] = _default;