@centreon/react-components
Version:
react components used by centreon web frontend
145 lines (114 loc) • 6.14 kB
JavaScript
;
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;