UNPKG

react-datable

Version:

react-datable is a lightweight, fast and extendable datagrid built for React

77 lines (70 loc) 1.93 kB
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; } import React, { Component } from "react"; import PropTypes from "prop-types"; import cx from "classnames"; export default class Page extends Component { handleClick(e) { const { isDisabled, pageNumber } = this.props; e.preventDefault(); if (isDisabled) { return; } this.props.onClick(pageNumber); } render() { let { pageText, pageNumber, activeClass, itemClass, linkClass, activeLinkClass, disabledClass, isActive, isDisabled, href, ariaLabel } = this.props; const css = cx(itemClass, { [activeClass]: isActive, [disabledClass]: isDisabled }); const linkCss = cx(linkClass, { [activeLinkClass]: isActive }); return /*#__PURE__*/React.createElement("li", { className: css, onClick: this.handleClick.bind(this) }, /*#__PURE__*/React.createElement("a", { className: linkCss, href: href, "aria-label": ariaLabel }, pageText)); } } _defineProperty(Page, "propTypes", { pageText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]), pageNumber: PropTypes.number.isRequired, onClick: PropTypes.func.isRequired, isActive: PropTypes.bool.isRequired, isDisabled: PropTypes.bool, activeClass: PropTypes.string, activeLinkClass: PropTypes.string, itemClass: PropTypes.string, linkClass: PropTypes.string, disabledClass: PropTypes.string, href: PropTypes.string }); _defineProperty(Page, "defaultProps", { activeClass: "active", disabledClass: "disabled", itemClass: undefined, linkClass: undefined, activeLinkCLass: undefined, isActive: false, isDisabled: false, href: "#" });