choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
197 lines (151 loc) • 5.96 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _enum = require("../_util/enum");
var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver"));
var _select = _interopRequireDefault(require("../select"));
var _MiniSelect = _interopRequireDefault(require("./MiniSelect"));
var _LargeSelect = _interopRequireDefault(require("./LargeSelect"));
var _pagination = _interopRequireDefault(require("../rc-components/pagination"));
var _en_US = _interopRequireDefault(require("../rc-components/pagination/locale/en_US"));
var _Button = _interopRequireDefault(require("../button/Button"));
var _ConfigContext = _interopRequireDefault(require("../config-provider/ConfigContext"));
function _createSuper(Derived) {
function isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
return true;
} catch (e) {
return false;
}
}
return function () {
var Super = (0, _getPrototypeOf2["default"])(Derived),
result;
if (isNativeReflectConstruct()) {
var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
result = Reflect.construct(Super, arguments, NewTarget);
} else {
result = Super.apply(this, arguments);
}
return (0, _possibleConstructorReturn2["default"])(this, result);
};
}
function getSelect(size) {
switch (size) {
case _enum.Size.small:
return _MiniSelect["default"];
case _enum.Size.large:
return _LargeSelect["default"];
default:
return _select["default"];
}
}
function getIcon(type) {
switch (type) {
case 'first':
return 'first_page';
case 'last':
return 'last_page';
case 'prev':
return 'navigate_before';
case 'next':
return 'navigate_next';
default:
}
}
function itemRender(page, type, item, disabled, size) {
if (page !== undefined) {
if (type === 'page' || type === 'jump-prev' || type === 'jump-next') {
return _react["default"].createElement(_Button["default"], {
size: size,
shape: "circle"
}, item);
}
return _react["default"].createElement(_Button["default"], {
size: size,
shape: "circle",
icon: getIcon(type),
disabled: disabled
});
}
}
var Pagination =
/*#__PURE__*/
function (_Component) {
(0, _inherits2["default"])(Pagination, _Component);
var _super = _createSuper(Pagination);
function Pagination() {
var _this;
(0, _classCallCheck2["default"])(this, Pagination);
_this = _super.apply(this, arguments);
_this.renderPagination = function (locale) {
var _this$props = _this.props,
className = _this$props.className,
size = _this$props.size,
customizePrefixCls = _this$props.prefixCls,
customizeSelectPrefixCls = _this$props.selectPrefixCls,
restProps = (0, _objectWithoutProperties2["default"])(_this$props, ["className", "size", "prefixCls", "selectPrefixCls"]);
var getPrefixCls = _this.context.getPrefixCls;
var prefixCls = getPrefixCls('pagination', customizePrefixCls);
var selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);
return _react["default"].createElement(_pagination["default"], (0, _extends2["default"])({}, restProps, {
selectPrefixCls: selectPrefixCls,
prefixCls: prefixCls,
size: size,
className: (0, _classnames["default"])(className, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-").concat(size), size)),
selectComponentClass: getSelect(size),
locale: locale
}));
};
return _this;
}
(0, _createClass2["default"])(Pagination, [{
key: "render",
value: function render() {
return _react["default"].createElement(_LocaleReceiver["default"], {
componentName: "Pagination",
defaultLocale: _en_US["default"]
}, this.renderPagination);
}
}], [{
key: "contextType",
get: function get() {
return _ConfigContext["default"];
}
}]);
return Pagination;
}(_react.Component);
exports["default"] = Pagination;
Pagination.displayName = 'Pagination';
Pagination.defaultProps = {
showSizeChanger: true,
showSizeChangerLabel: true,
tiny: true,
pageSizeOptions: ['10', '30', '50', '100', '200'],
showTotal: function showTotal(total, range) {
return "".concat(range[0], " - ").concat(range[1], " / ").concat(total);
},
sizeChangerOptionText: function sizeChangerOptionText(value) {
return value;
},
itemRender: itemRender
};
//# sourceMappingURL=Pagination.js.map