Files
2026-01-09 14:52:46 +00:00

106 lines
5.6 KiB
JavaScript
Raw Permalink 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 _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").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 _proField = _interopRequireDefault(require("@ant-design/pro-field"));
var _proUtils = require("@ant-design/pro-utils");
var _react = _interopRequireWildcard(require("react"));
var _EditOrReadOnlyContext = require("../../BaseForm/EditOrReadOnlyContext");
var _createField = require("../../BaseForm/createField");
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["fieldProps", "children", "labelCol", "label", "autoFocus", "isDefaultDom", "render", "proFieldProps", "renderFormItem", "valueType", "initialValue", "onChange", "valueEnum", "params", "name", "dependenciesValues", "cacheForSwr", "valuePropName"];
var BaseProFormField = function BaseProFormField(props) {
var fieldProps = props.fieldProps,
children = props.children,
labelCol = props.labelCol,
label = props.label,
autoFocus = props.autoFocus,
isDefaultDom = props.isDefaultDom,
render = props.render,
proFieldProps = props.proFieldProps,
renderFormItem = props.renderFormItem,
valueType = props.valueType,
initialValue = props.initialValue,
_onChange = props.onChange,
valueEnum = props.valueEnum,
params = props.params,
name = props.name,
dependenciesValues = props.dependenciesValues,
_props$cacheForSwr = props.cacheForSwr,
cacheForSwr = _props$cacheForSwr === void 0 ? false : _props$cacheForSwr,
_props$valuePropName = props.valuePropName,
valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
var modeContext = (0, _react.useContext)(_EditOrReadOnlyContext.EditOrReadOnlyContext);
var propsParams = (0, _react.useMemo)(function () {
// 使用dependencies时 dependenciesValues是有值的
// 此时如果存在request注入dependenciesValues
return dependenciesValues && restProps.request ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), dependenciesValues || {}) : params;
}, [dependenciesValues, params, restProps.request]);
var memoUnChange = (0, _proUtils.useRefFunction)(function () {
if (fieldProps !== null && fieldProps !== void 0 && fieldProps.onChange) {
var _fieldProps$onChange;
for (var _len = arguments.length, restParams = new Array(_len), _key = 0; _key < _len; _key++) {
restParams[_key] = arguments[_key];
}
fieldProps === null || fieldProps === void 0 || (_fieldProps$onChange = fieldProps.onChange) === null || _fieldProps$onChange === void 0 || _fieldProps$onChange.call.apply(_fieldProps$onChange, [fieldProps].concat(restParams));
return;
}
});
var memoFieldProps = (0, _react.useMemo)(function () {
return (0, _objectSpread2.default)((0, _objectSpread2.default)({
autoFocus: autoFocus
}, fieldProps), {}, {
onChange: memoUnChange
});
}, [autoFocus, fieldProps, memoUnChange]);
var childrenRender = (0, _react.useMemo)(function () {
// 防止 formItem 的值被吃掉
if (children) {
if ( /*#__PURE__*/_react.default.isValidElement(children)) {
return /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, restProps), {}, {
onChange: function onChange() {
for (var _len2 = arguments.length, restParams = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
restParams[_key2] = arguments[_key2];
}
if (fieldProps !== null && fieldProps !== void 0 && fieldProps.onChange) {
var _fieldProps$onChange2;
fieldProps === null || fieldProps === void 0 || (_fieldProps$onChange2 = fieldProps.onChange) === null || _fieldProps$onChange2 === void 0 || _fieldProps$onChange2.call.apply(_fieldProps$onChange2, [fieldProps].concat(restParams));
return;
}
_onChange === null || _onChange === void 0 || _onChange.apply(void 0, restParams);
}
}, (children === null || children === void 0 ? void 0 : children.props) || {}));
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: children
});
}
return;
}, [children, fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.onChange, _onChange, restProps]);
if (childrenRender) {
return childrenRender;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_proField.default, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
text: fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps[valuePropName],
render: render,
renderFormItem: renderFormItem,
valueType: valueType || 'text',
cacheForSwr: cacheForSwr,
fieldProps: memoFieldProps,
valueEnum: (0, _proUtils.runFunction)(valueEnum)
}, proFieldProps), restProps), {}, {
mode: (proFieldProps === null || proFieldProps === void 0 ? void 0 : proFieldProps.mode) || modeContext.mode || 'edit',
params: propsParams
}));
};
var ProFormField = (0, _createField.createField)( /*#__PURE__*/(0, _react.memo)(BaseProFormField, function (prevProps, nextProps) {
return (0, _proUtils.isDeepEqualReact)(nextProps, prevProps, ['onChange', 'onBlur']);
}));
var _default = exports.default = ProFormField;