mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
79 lines (78 loc) • 4.69 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _ut = require("ut2");
var _classnames = _interopRequireDefault(require("classnames"));
var _antdMobile = require("antd-mobile");
var _config = require("../../../config");
require("./index.css");
var _BizConfigProvider = require("../../BizConfigProvider");
var _excluded = ["current", "total", "prevText", "nextText", "submitText", "onPrev", "onNext", "onSubmit", "prevButtonProps", "nextButtonProps", "submitButtonProps", "className"];
var prefixCls = "".concat(_config.prefixClass, "-steps-form-submitter");
var Submitter = function Submitter(props) {
var _useConfig = (0, _BizConfigProvider.useConfig)(),
locale = _useConfig.locale;
var _props$current = props.current,
outCurrent = _props$current === void 0 ? 1 : _props$current,
outTotal = props.total,
_props$prevText = props.prevText,
prevText = _props$prevText === void 0 ? locale.form.common.prev : _props$prevText,
_props$nextText = props.nextText,
nextText = _props$nextText === void 0 ? locale.form.common.next : _props$nextText,
_props$submitText = props.submitText,
submitText = _props$submitText === void 0 ? locale.form.common.submit : _props$submitText,
onPrev = props.onPrev,
onNext = props.onNext,
onSubmit = props.onSubmit,
prevButtonProps = props.prevButtonProps,
nextButtonProps = props.nextButtonProps,
submitButtonProps = props.submitButtonProps,
className = props.className,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var current = (0, _ut.toInteger)(outCurrent < 1 ? 1 : outCurrent);
var total = (0, _ut.toInteger)(outTotal < 1 ? 1 : outTotal);
var isFirst = current === 1;
var isLast = current === total;
var handlePrev = function handlePrev(e) {
var _prevButtonProps$onCl;
onPrev === null || onPrev === void 0 ? void 0 : onPrev();
prevButtonProps === null || prevButtonProps === void 0 ? void 0 : (_prevButtonProps$onCl = prevButtonProps.onClick) === null || _prevButtonProps$onCl === void 0 ? void 0 : _prevButtonProps$onCl.call(prevButtonProps, e);
};
var handleNext = function handleNext(e) {
var _nextButtonProps$onCl;
onNext === null || onNext === void 0 ? void 0 : onNext();
nextButtonProps === null || nextButtonProps === void 0 ? void 0 : (_nextButtonProps$onCl = nextButtonProps.onClick) === null || _nextButtonProps$onCl === void 0 ? void 0 : _nextButtonProps$onCl.call(nextButtonProps, e);
};
var handleSubmit = function handleSubmit(e) {
var _submitButtonProps$on;
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit();
submitButtonProps === null || submitButtonProps === void 0 ? void 0 : (_submitButtonProps$on = submitButtonProps.onClick) === null || _submitButtonProps$on === void 0 ? void 0 : _submitButtonProps$on.call(submitButtonProps, e);
};
return /*#__PURE__*/_react.default.createElement("div", (0, _objectSpread2.default)({
className: (0, _classnames.default)(prefixCls, className)
}, restProps), !isFirst && (/*#__PURE__*/_react.default.createElement(_antdMobile.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({
size: "large"
}, prevButtonProps), {}, {
className: (0, _classnames.default)("".concat(prefixCls, "-prev"), prevButtonProps === null || prevButtonProps === void 0 ? void 0 : prevButtonProps.className),
onClick: handlePrev
}), prevText)), !isLast ? (/*#__PURE__*/_react.default.createElement(_antdMobile.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({
size: "large",
color: "primary"
}, nextButtonProps), {}, {
className: (0, _classnames.default)("".concat(prefixCls, "-next"), nextButtonProps === null || nextButtonProps === void 0 ? void 0 : nextButtonProps.className),
onClick: handleNext
}), nextText)) : (/*#__PURE__*/_react.default.createElement(_antdMobile.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({
size: "large",
color: "primary"
}, submitButtonProps), {}, {
className: (0, _classnames.default)("".concat(prefixCls, "-submit"), submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.className),
onClick: handleSubmit
}), submitText)));
};
var _default = exports.default = Submitter;