UNPKG

3.67 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var React = _interopRequireWildcard(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _KeyboardArrowLeft = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowLeft"));
21
22var _KeyboardArrowRight = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowRight"));
23
24var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
25
26var _IconButton = _interopRequireDefault(require("../IconButton"));
27
28var _ref = /*#__PURE__*/React.createElement(_KeyboardArrowRight.default, null);
29
30var _ref2 = /*#__PURE__*/React.createElement(_KeyboardArrowLeft.default, null);
31
32var _ref3 = /*#__PURE__*/React.createElement(_KeyboardArrowLeft.default, null);
33
34var _ref4 = /*#__PURE__*/React.createElement(_KeyboardArrowRight.default, null);
35
36/**
37 * @ignore - internal component.
38 */
39var TablePaginationActions = /*#__PURE__*/React.forwardRef(function TablePaginationActions(props, ref) {
40 var backIconButtonProps = props.backIconButtonProps,
41 count = props.count,
42 nextIconButtonProps = props.nextIconButtonProps,
43 onChangePage = props.onChangePage,
44 page = props.page,
45 rowsPerPage = props.rowsPerPage,
46 other = (0, _objectWithoutProperties2.default)(props, ["backIconButtonProps", "count", "nextIconButtonProps", "onChangePage", "page", "rowsPerPage"]);
47 var theme = (0, _useTheme.default)();
48
49 var handleBackButtonClick = function handleBackButtonClick(event) {
50 onChangePage(event, page - 1);
51 };
52
53 var handleNextButtonClick = function handleNextButtonClick(event) {
54 onChangePage(event, page + 1);
55 };
56
57 return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
58 ref: ref
59 }, other), /*#__PURE__*/React.createElement(_IconButton.default, (0, _extends2.default)({
60 onClick: handleBackButtonClick,
61 disabled: page === 0,
62 color: "inherit"
63 }, backIconButtonProps), theme.direction === 'rtl' ? _ref : _ref2), /*#__PURE__*/React.createElement(_IconButton.default, (0, _extends2.default)({
64 onClick: handleNextButtonClick,
65 disabled: count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false,
66 color: "inherit"
67 }, nextIconButtonProps), theme.direction === 'rtl' ? _ref3 : _ref4));
68});
69process.env.NODE_ENV !== "production" ? TablePaginationActions.propTypes = {
70 /**
71 * Props applied to the back arrow [`IconButton`](/api/icon-button/) element.
72 */
73 backIconButtonProps: _propTypes.default.object,
74
75 /**
76 * The total number of rows.
77 */
78 count: _propTypes.default.number.isRequired,
79
80 /**
81 * Props applied to the next arrow [`IconButton`](/api/icon-button/) element.
82 */
83 nextIconButtonProps: _propTypes.default.object,
84
85 /**
86 * Callback fired when the page is changed.
87 *
88 * @param {object} event The event source of the callback.
89 * @param {number} page The page selected.
90 */
91 onChangePage: _propTypes.default.func.isRequired,
92
93 /**
94 * The zero-based index of the current page.
95 */
96 page: _propTypes.default.number.isRequired,
97
98 /**
99 * The number of rows per page.
100 */
101 rowsPerPage: _propTypes.default.number.isRequired
102} : void 0;
103var _default = TablePaginationActions;
104exports.default = _default;
\No newline at end of file