Files
copilot-toolbox-sdfdsfds/node_modules/@ant-design/pro-field/lib/components/DigitRange/index.js
2026-01-16 01:51:36 +00:00

150 lines
6.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _proProvider = require("@ant-design/pro-provider");
var _antd = require("antd");
var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
var _react = _interopRequireWildcard(require("react"));
require("antd/lib/input-number/style");
var _jsxRuntime = require("react/jsx-runtime");
// 兼容代码-----------
//----------------------
/**
* 数字范围组件
*
* @param FieldDigitRangeProps
*/
var FieldDigitRange = function FieldDigitRange(_ref, ref) {
var text = _ref.text,
type = _ref.mode,
render = _ref.render,
placeholder = _ref.placeholder,
renderFormItem = _ref.renderFormItem,
fieldProps = _ref.fieldProps,
_ref$separator = _ref.separator,
separator = _ref$separator === void 0 ? '~' : _ref$separator,
_ref$separatorWidth = _ref.separatorWidth,
separatorWidth = _ref$separatorWidth === void 0 ? 30 : _ref$separatorWidth;
var value = fieldProps.value,
defaultValue = fieldProps.defaultValue,
onChange = fieldProps.onChange,
id = fieldProps.id;
var intl = (0, _proProvider.useIntl)();
var _proTheme$useToken = _proProvider.proTheme.useToken(),
token = _proTheme$useToken.token;
var _useMergedState = (0, _useMergedState3.default)(function () {
return defaultValue;
}, {
value: value,
onChange: onChange
}),
_useMergedState2 = (0, _slicedToArray2.default)(_useMergedState, 2),
valuePair = _useMergedState2[0],
setValuePair = _useMergedState2[1];
var valuePairRef = (0, _react.useRef)(valuePair);
if (type === 'read') {
var getContent = function getContent(number) {
var _fieldProps$formatter;
var digit = new Intl.NumberFormat(undefined, (0, _objectSpread2.default)({
minimumSignificantDigits: 2
}, (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.intlProps) || {})).format(Number(number));
return (fieldProps === null || fieldProps === void 0 || (_fieldProps$formatter = fieldProps.formatter) === null || _fieldProps$formatter === void 0 ? void 0 : _fieldProps$formatter.call(fieldProps, digit)) || digit;
};
var dom = /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
ref: ref,
children: [getContent(text[0]), " ", separator, " ", getContent(text[1])]
});
if (render) {
return render(text, (0, _objectSpread2.default)({
mode: type
}, fieldProps), dom);
}
return dom;
}
if (type === 'edit' || type === 'update') {
var handleGroupBlur = function handleGroupBlur() {
if (Array.isArray(valuePairRef.current)) {
// 仅在两个值均为数字时才做比较并转换
var _valuePairRef$current = (0, _slicedToArray2.default)(valuePairRef.current, 2),
value0 = _valuePairRef$current[0],
value1 = _valuePairRef$current[1];
if (typeof value0 === 'number' && typeof value1 === 'number' && value0 > value1) {
setValuePair([value1, value0]);
} else if (value0 === undefined && value1 === undefined) {
// 当两个值均为undefined时将值变为undefined方便required处理
setValuePair(undefined);
}
}
};
var handleChange = function handleChange(index, changedValue) {
var newValuePair = (0, _toConsumableArray2.default)(valuePair || []);
newValuePair[index] = changedValue === null ? undefined : changedValue;
valuePairRef.current = newValuePair;
setValuePair(newValuePair);
};
var placeholderValue = (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.placeholder) || placeholder || [intl.getMessage('tableForm.inputPlaceholder', '请输入'), intl.getMessage('tableForm.inputPlaceholder', '请输入')];
var getInputNumberPlaceholder = function getInputNumberPlaceholder(index) {
return Array.isArray(placeholderValue) ? placeholderValue[index] : placeholderValue;
};
var Compact = _antd.Space.Compact || _antd.Input.Group;
var compactProps = !!_antd.Space.Compact ? {} : {
compact: true
};
var _dom = /*#__PURE__*/(0, _jsxRuntime.jsxs)(Compact, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, compactProps), {}, {
onBlur: handleGroupBlur,
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.InputNumber, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, fieldProps), {}, {
placeholder: getInputNumberPlaceholder(0),
id: id !== null && id !== void 0 ? id : "".concat(id, "-0"),
style: {
width: "calc((100% - ".concat(separatorWidth, "px) / 2)")
},
value: valuePair === null || valuePair === void 0 ? void 0 : valuePair[0],
defaultValue: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[0],
onChange: function onChange(changedValue) {
return handleChange(0, changedValue);
}
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Input, {
style: {
width: separatorWidth,
textAlign: 'center',
borderInlineStart: 0,
borderInlineEnd: 0,
pointerEvents: 'none',
backgroundColor: token === null || token === void 0 ? void 0 : token.colorBgContainer
},
placeholder: separator,
disabled: true
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.InputNumber, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, fieldProps), {}, {
placeholder: getInputNumberPlaceholder(1),
id: id !== null && id !== void 0 ? id : "".concat(id, "-1"),
style: {
width: "calc((100% - ".concat(separatorWidth, "px) / 2)"),
borderInlineStart: 0
},
value: valuePair === null || valuePair === void 0 ? void 0 : valuePair[1],
defaultValue: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue[1],
onChange: function onChange(changedValue) {
return handleChange(1, changedValue);
}
}))]
}));
if (renderFormItem) {
return renderFormItem(text, (0, _objectSpread2.default)({
mode: type
}, fieldProps), _dom);
}
return _dom;
}
return null;
};
var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(FieldDigitRange);