106 lines
5.6 KiB
JavaScript
106 lines
5.6 KiB
JavaScript
"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; |