first commit
This commit is contained in:
133
frontend/node_modules/rc-pagination/lib/Options.js
generated
vendored
Normal file
133
frontend/node_modules/rc-pagination/lib/Options.js
generated
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
||||
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
var defaultPageSizeOptions = [10, 20, 50, 100];
|
||||
var Options = function Options(props) {
|
||||
var _props$pageSizeOption = props.pageSizeOptions,
|
||||
pageSizeOptions = _props$pageSizeOption === void 0 ? defaultPageSizeOptions : _props$pageSizeOption,
|
||||
locale = props.locale,
|
||||
changeSize = props.changeSize,
|
||||
pageSize = props.pageSize,
|
||||
goButton = props.goButton,
|
||||
quickGo = props.quickGo,
|
||||
rootPrefixCls = props.rootPrefixCls,
|
||||
disabled = props.disabled,
|
||||
buildOptionText = props.buildOptionText,
|
||||
showSizeChanger = props.showSizeChanger,
|
||||
sizeChangerRender = props.sizeChangerRender;
|
||||
var _React$useState = _react.default.useState(''),
|
||||
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
||||
goInputText = _React$useState2[0],
|
||||
setGoInputText = _React$useState2[1];
|
||||
var getValidValue = function getValidValue() {
|
||||
return !goInputText || Number.isNaN(goInputText) ? undefined : Number(goInputText);
|
||||
};
|
||||
var mergeBuildOptionText = typeof buildOptionText === 'function' ? buildOptionText : function (value) {
|
||||
return "".concat(value, " ").concat(locale.items_per_page);
|
||||
};
|
||||
var handleChange = function handleChange(e) {
|
||||
setGoInputText(e.target.value);
|
||||
};
|
||||
var handleBlur = function handleBlur(e) {
|
||||
if (goButton || goInputText === '') {
|
||||
return;
|
||||
}
|
||||
setGoInputText('');
|
||||
if (e.relatedTarget && (e.relatedTarget.className.indexOf("".concat(rootPrefixCls, "-item-link")) >= 0 || e.relatedTarget.className.indexOf("".concat(rootPrefixCls, "-item")) >= 0)) {
|
||||
return;
|
||||
}
|
||||
quickGo === null || quickGo === void 0 || quickGo(getValidValue());
|
||||
};
|
||||
var go = function go(e) {
|
||||
if (goInputText === '') {
|
||||
return;
|
||||
}
|
||||
if (e.keyCode === _KeyCode.default.ENTER || e.type === 'click') {
|
||||
setGoInputText('');
|
||||
quickGo === null || quickGo === void 0 || quickGo(getValidValue());
|
||||
}
|
||||
};
|
||||
var getPageSizeOptions = function getPageSizeOptions() {
|
||||
if (pageSizeOptions.some(function (option) {
|
||||
return option.toString() === pageSize.toString();
|
||||
})) {
|
||||
return pageSizeOptions;
|
||||
}
|
||||
return pageSizeOptions.concat([pageSize]).sort(function (a, b) {
|
||||
var numberA = Number.isNaN(Number(a)) ? 0 : Number(a);
|
||||
var numberB = Number.isNaN(Number(b)) ? 0 : Number(b);
|
||||
return numberA - numberB;
|
||||
});
|
||||
};
|
||||
// ============== cls ==============
|
||||
var prefixCls = "".concat(rootPrefixCls, "-options");
|
||||
|
||||
// ============== render ==============
|
||||
|
||||
if (!showSizeChanger && !quickGo) {
|
||||
return null;
|
||||
}
|
||||
var changeSelect = null;
|
||||
var goInput = null;
|
||||
var gotoButton = null;
|
||||
|
||||
// >>>>> Size Changer
|
||||
if (showSizeChanger && sizeChangerRender) {
|
||||
changeSelect = sizeChangerRender({
|
||||
disabled: disabled,
|
||||
size: pageSize,
|
||||
onSizeChange: function onSizeChange(nextValue) {
|
||||
changeSize === null || changeSize === void 0 || changeSize(Number(nextValue));
|
||||
},
|
||||
'aria-label': locale.page_size,
|
||||
className: "".concat(prefixCls, "-size-changer"),
|
||||
options: getPageSizeOptions().map(function (opt) {
|
||||
return {
|
||||
label: mergeBuildOptionText(opt),
|
||||
value: opt
|
||||
};
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// >>>>> Quick Go
|
||||
if (quickGo) {
|
||||
if (goButton) {
|
||||
gotoButton = typeof goButton === 'boolean' ? /*#__PURE__*/_react.default.createElement("button", {
|
||||
type: "button",
|
||||
onClick: go,
|
||||
onKeyUp: go,
|
||||
disabled: disabled,
|
||||
className: "".concat(prefixCls, "-quick-jumper-button")
|
||||
}, locale.jump_to_confirm) : /*#__PURE__*/_react.default.createElement("span", {
|
||||
onClick: go,
|
||||
onKeyUp: go
|
||||
}, goButton);
|
||||
}
|
||||
goInput = /*#__PURE__*/_react.default.createElement("div", {
|
||||
className: "".concat(prefixCls, "-quick-jumper")
|
||||
}, locale.jump_to, /*#__PURE__*/_react.default.createElement("input", {
|
||||
disabled: disabled,
|
||||
type: "text",
|
||||
value: goInputText,
|
||||
onChange: handleChange,
|
||||
onKeyUp: go,
|
||||
onBlur: handleBlur,
|
||||
"aria-label": locale.page
|
||||
}), locale.page, gotoButton);
|
||||
}
|
||||
return /*#__PURE__*/_react.default.createElement("li", {
|
||||
className: prefixCls
|
||||
}, changeSelect, goInput);
|
||||
};
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
Options.displayName = 'Options';
|
||||
}
|
||||
var _default = exports.default = Options;
|
||||
Reference in New Issue
Block a user