@zat-design/sisyphus-react 3.4.10-beta.17 → 3.4.10-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/ProEditTable/components/RenderField/index.js +1 -0
- package/es/ProForm/components/combination/Group/component/ComRender.js +1 -62
- package/es/ProForm/components/combination/Group/utils.js +19 -2
- package/es/ProForm/utils/useForm.js +2 -6
- package/es/ProForm/utils/useShouldUpdate.js +7 -1
- package/lib/ProEditTable/components/RenderField/index.js +1 -0
- package/lib/ProForm/components/combination/Group/component/ComRender.js +1 -62
- package/lib/ProForm/components/combination/Group/utils.js +18 -1
- package/lib/ProForm/utils/useForm.js +2 -6
- package/lib/ProForm/utils/useShouldUpdate.js +7 -1
- package/package.json +1 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
3
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
5
4
|
var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after"];
|
|
6
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
/* eslint-disable prefer-destructuring */
|
|
8
6
|
import React from 'react';
|
|
9
7
|
import ConfirmWrapper from '../../../../components/render/ConfirmWrapper';
|
|
10
8
|
import { FieldProvider } from '../../../../utils/useFieldProps';
|
|
@@ -42,66 +40,7 @@ var ComRender = function ComRender(props) {
|
|
|
42
40
|
rest = _objectWithoutProperties(props, _excluded);
|
|
43
41
|
var TypeComponent = componentMap[type];
|
|
44
42
|
var componentProps = _objectSpread(_objectSpread({}, fieldProps), rest);
|
|
45
|
-
|
|
46
|
-
* 函数新参数组装
|
|
47
|
-
*/
|
|
48
|
-
var functionArgs = function functionArgs(args, form, name, valueType) {
|
|
49
|
-
var _args = _toConsumableArray(args);
|
|
50
|
-
_args[1] = form.getFieldsValue();
|
|
51
|
-
_args[2] = {
|
|
52
|
-
form: form
|
|
53
|
-
};
|
|
54
|
-
// 优先处理FormList场景
|
|
55
|
-
if (Array.isArray(name) && (name === null || name === void 0 ? void 0 : name.some(function (item) {
|
|
56
|
-
return typeof item === 'number';
|
|
57
|
-
}))) {
|
|
58
|
-
var namePath = (name === null || name === void 0 ? void 0 : name.slice(0, -1)) || [];
|
|
59
|
-
_args[1] = form.getFieldValue(name === null || name === void 0 ? void 0 : name.slice(0, -1));
|
|
60
|
-
_args[2].namePath = namePath;
|
|
61
|
-
_args[2].index = namePath[namePath.length - 1];
|
|
62
|
-
}
|
|
63
|
-
// 返回表单元素默认值
|
|
64
|
-
_args[2].extra = args;
|
|
65
|
-
// 当设置valueType后返回转换后的值
|
|
66
|
-
if (valueType) {
|
|
67
|
-
_args[2].transformValue = form.getFieldValue(name) || undefined;
|
|
68
|
-
}
|
|
69
|
-
_args[2].option = args[1];
|
|
70
|
-
switch (type) {
|
|
71
|
-
case 'ProCascader':
|
|
72
|
-
_args[2].selectedOptions = args[1];
|
|
73
|
-
break;
|
|
74
|
-
case 'DatePicker':
|
|
75
|
-
case 'RangePicker':
|
|
76
|
-
_args[2].dateString = args[1];
|
|
77
|
-
break;
|
|
78
|
-
default:
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
return _args;
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* onChange参数重置 (value, record, { form, index, namePath, option }) => void
|
|
85
|
-
*/
|
|
86
|
-
var handleChange = function handleChange() {
|
|
87
|
-
var _componentProps$chang;
|
|
88
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
89
|
-
args[_key] = arguments[_key];
|
|
90
|
-
}
|
|
91
|
-
var _args = [].concat(args);
|
|
92
|
-
// 优先使用onFieldChange
|
|
93
|
-
var changeKey = Object.keys(componentProps).includes('onFieldChange') ? 'onFieldChange' : 'onChange';
|
|
94
|
-
if (changeKey === 'onChange') {
|
|
95
|
-
_args[2] = contextProps.form;
|
|
96
|
-
}
|
|
97
|
-
if (changeKey === 'onFieldChange') {
|
|
98
|
-
_args = functionArgs([].concat(args), contextProps.form, props === null || props === void 0 ? void 0 : props.name, props === null || props === void 0 ? void 0 : props.valueType);
|
|
99
|
-
}
|
|
100
|
-
(_componentProps$chang = componentProps[changeKey]) === null || _componentProps$chang === void 0 ? void 0 : _componentProps$chang.call.apply(_componentProps$chang, [componentProps].concat(_toConsumableArray(_args)));
|
|
101
|
-
};
|
|
102
|
-
var Component = component ? ( /*#__PURE__*/React.cloneElement(component, _objectSpread({}, componentProps))) : _jsx(TypeComponent, _objectSpread(_objectSpread({}, componentProps), {}, {
|
|
103
|
-
onChange: handleChange
|
|
104
|
-
}));
|
|
43
|
+
var Component = component ? ( /*#__PURE__*/React.cloneElement(component, _objectSpread({}, componentProps))) : _jsx(TypeComponent, _objectSpread({}, componentProps));
|
|
105
44
|
var Com = getComRender(Component, props, componentProps);
|
|
106
45
|
return _jsx(FieldProvider, {
|
|
107
46
|
value: _objectSpread(_objectSpread({}, contextProps), {}, {
|
|
@@ -5,9 +5,10 @@ import "antd/es/button/style";
|
|
|
5
5
|
import _Button from "antd/es/button";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
import { useRef } from 'react';
|
|
8
|
-
import { isFunction } from 'lodash';
|
|
8
|
+
import { cloneDeep, isEqual, isFunction } from 'lodash';
|
|
9
9
|
import valueTypeMap from '../../../utils/valueType';
|
|
10
10
|
import { useDeepCompareMemo } from '../../../utils/useDeepCompareMemo';
|
|
11
|
+
import { difference } from '../../../../ProEditTable/utils/tools';
|
|
11
12
|
/**
|
|
12
13
|
* 插入间隔符
|
|
13
14
|
* @param columns 表单配置数组
|
|
@@ -234,13 +235,29 @@ export var useTransformColumns = function useTransformColumns(params) {
|
|
|
234
235
|
newValue = ((_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue)) || (normalize === null || normalize === void 0 ? void 0 : normalize(newValue));
|
|
235
236
|
}
|
|
236
237
|
internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
|
|
238
|
+
var values = form.getFieldValue(namePath);
|
|
239
|
+
var originRow = (namePath === null || namePath === void 0 ? void 0 : namePath.length) ? cloneDeep(values) : undefined;
|
|
237
240
|
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, args);
|
|
238
|
-
onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(newValue,
|
|
241
|
+
onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(newValue, values, {
|
|
239
242
|
index: outerIndex,
|
|
240
243
|
namePath: namePath,
|
|
241
244
|
form: form,
|
|
242
245
|
option: args === null || args === void 0 ? void 0 : args[1]
|
|
243
246
|
});
|
|
247
|
+
// 如果是在可编辑表格或formList内部, 储存当前行的值, 并在变更后更新到表单里
|
|
248
|
+
if ((namePath === null || namePath === void 0 ? void 0 : namePath.length) && !isEqual(originRow, values)) {
|
|
249
|
+
var _Object$keys, _Object$keys$map;
|
|
250
|
+
form.setFieldValue(namePath, values);
|
|
251
|
+
var diff = difference(originRow, values) || {};
|
|
252
|
+
var validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
|
|
253
|
+
return [].concat(_toConsumableArray(namePath), [key]);
|
|
254
|
+
});
|
|
255
|
+
if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
|
|
256
|
+
setTimeout(function () {
|
|
257
|
+
form.validateFields([name].concat(_toConsumableArray(validateFieldKeys)));
|
|
258
|
+
}, 100);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
244
261
|
};
|
|
245
262
|
return _objectSpread(_objectSpread(_objectSpread({}, column), {}, {
|
|
246
263
|
name: columnName
|
|
@@ -13,15 +13,11 @@ export var useForm = function useForm(originForm) {
|
|
|
13
13
|
setFieldsValue = form.setFieldsValue;
|
|
14
14
|
// @ts-ignore
|
|
15
15
|
var _getFieldsValue = function _getFieldsValue(nameList, filterFunc) {
|
|
16
|
-
//
|
|
17
|
-
if (nameList
|
|
16
|
+
// 全部查询
|
|
17
|
+
if (nameList !== true) {
|
|
18
18
|
var values = getFieldsValue(nameList || true, filterFunc);
|
|
19
19
|
return filterInternalFields(values);
|
|
20
20
|
}
|
|
21
|
-
// @ts-ignore 特殊处理 传入false不过滤
|
|
22
|
-
if (nameList === false) {
|
|
23
|
-
return getFieldsValue();
|
|
24
|
-
}
|
|
25
21
|
return getFieldsValue(nameList, filterFunc);
|
|
26
22
|
};
|
|
27
23
|
// const _setFieldsValue: FormInstance<T>['setFieldsValue'] = (data) => {
|
|
@@ -122,7 +122,13 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
|
122
122
|
return {
|
|
123
123
|
shouldUpdate: function shouldUpdate(prevValues, currentValues) {
|
|
124
124
|
// @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
|
|
125
|
-
var _currentValues
|
|
125
|
+
var _currentValues;
|
|
126
|
+
if (namePath) {
|
|
127
|
+
// formList场景values取当前行数据
|
|
128
|
+
_currentValues = form.getFieldValue(namePath) || {};
|
|
129
|
+
} else {
|
|
130
|
+
_currentValues = form.getFieldsValue(true);
|
|
131
|
+
}
|
|
126
132
|
var _show = isFunction(show) ? Boolean(show(_currentValues, {
|
|
127
133
|
form: form,
|
|
128
134
|
index: index,
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
11
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -17,7 +16,6 @@ var _useFieldProps = require("../../../../utils/useFieldProps");
|
|
|
17
16
|
var componentMap = _interopRequireWildcard(require("../../../../../index"));
|
|
18
17
|
var _AddonWrapper = _interopRequireDefault(require("./AddonWrapper"));
|
|
19
18
|
var _excluded = ["type", "confirm", "component", "fieldProps", "contextProps", "before", "after"];
|
|
20
|
-
/* eslint-disable prefer-destructuring */
|
|
21
19
|
// 这里的key与组件内参数一致, 决定使用哪个包裹组件
|
|
22
20
|
var wrapperMap = {
|
|
23
21
|
confirm: _ConfirmWrapper.default,
|
|
@@ -50,66 +48,7 @@ var ComRender = function ComRender(props) {
|
|
|
50
48
|
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
51
49
|
var TypeComponent = componentMap[type];
|
|
52
50
|
var componentProps = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, fieldProps), rest);
|
|
53
|
-
|
|
54
|
-
* 函数新参数组装
|
|
55
|
-
*/
|
|
56
|
-
var functionArgs = function functionArgs(args, form, name, valueType) {
|
|
57
|
-
var _args = (0, _toConsumableArray2.default)(args);
|
|
58
|
-
_args[1] = form.getFieldsValue();
|
|
59
|
-
_args[2] = {
|
|
60
|
-
form: form
|
|
61
|
-
};
|
|
62
|
-
// 优先处理FormList场景
|
|
63
|
-
if (Array.isArray(name) && (name === null || name === void 0 ? void 0 : name.some(function (item) {
|
|
64
|
-
return typeof item === 'number';
|
|
65
|
-
}))) {
|
|
66
|
-
var namePath = (name === null || name === void 0 ? void 0 : name.slice(0, -1)) || [];
|
|
67
|
-
_args[1] = form.getFieldValue(name === null || name === void 0 ? void 0 : name.slice(0, -1));
|
|
68
|
-
_args[2].namePath = namePath;
|
|
69
|
-
_args[2].index = namePath[namePath.length - 1];
|
|
70
|
-
}
|
|
71
|
-
// 返回表单元素默认值
|
|
72
|
-
_args[2].extra = args;
|
|
73
|
-
// 当设置valueType后返回转换后的值
|
|
74
|
-
if (valueType) {
|
|
75
|
-
_args[2].transformValue = form.getFieldValue(name) || undefined;
|
|
76
|
-
}
|
|
77
|
-
_args[2].option = args[1];
|
|
78
|
-
switch (type) {
|
|
79
|
-
case 'ProCascader':
|
|
80
|
-
_args[2].selectedOptions = args[1];
|
|
81
|
-
break;
|
|
82
|
-
case 'DatePicker':
|
|
83
|
-
case 'RangePicker':
|
|
84
|
-
_args[2].dateString = args[1];
|
|
85
|
-
break;
|
|
86
|
-
default:
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
return _args;
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* onChange参数重置 (value, record, { form, index, namePath, option }) => void
|
|
93
|
-
*/
|
|
94
|
-
var handleChange = function handleChange() {
|
|
95
|
-
var _componentProps$chang;
|
|
96
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
97
|
-
args[_key] = arguments[_key];
|
|
98
|
-
}
|
|
99
|
-
var _args = [].concat(args);
|
|
100
|
-
// 优先使用onFieldChange
|
|
101
|
-
var changeKey = Object.keys(componentProps).includes('onFieldChange') ? 'onFieldChange' : 'onChange';
|
|
102
|
-
if (changeKey === 'onChange') {
|
|
103
|
-
_args[2] = contextProps.form;
|
|
104
|
-
}
|
|
105
|
-
if (changeKey === 'onFieldChange') {
|
|
106
|
-
_args = functionArgs([].concat(args), contextProps.form, props === null || props === void 0 ? void 0 : props.name, props === null || props === void 0 ? void 0 : props.valueType);
|
|
107
|
-
}
|
|
108
|
-
(_componentProps$chang = componentProps[changeKey]) === null || _componentProps$chang === void 0 ? void 0 : _componentProps$chang.call.apply(_componentProps$chang, [componentProps].concat((0, _toConsumableArray2.default)(_args)));
|
|
109
|
-
};
|
|
110
|
-
var Component = component ? ( /*#__PURE__*/_react.default.cloneElement(component, (0, _objectSpread3.default)({}, componentProps))) : (0, _jsxRuntime.jsx)(TypeComponent, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, componentProps), {}, {
|
|
111
|
-
onChange: handleChange
|
|
112
|
-
}));
|
|
51
|
+
var Component = component ? ( /*#__PURE__*/_react.default.cloneElement(component, (0, _objectSpread3.default)({}, componentProps))) : (0, _jsxRuntime.jsx)(TypeComponent, (0, _objectSpread3.default)({}, componentProps));
|
|
113
52
|
var Com = getComRender(Component, props, componentProps);
|
|
114
53
|
return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
|
|
115
54
|
value: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, contextProps), {}, {
|
|
@@ -15,6 +15,7 @@ var _lodash = require("lodash");
|
|
|
15
15
|
var _antd = require("antd");
|
|
16
16
|
var _valueType = _interopRequireDefault(require("../../../utils/valueType"));
|
|
17
17
|
var _useDeepCompareMemo = require("../../../utils/useDeepCompareMemo");
|
|
18
|
+
var _tools = require("../../../../ProEditTable/utils/tools");
|
|
18
19
|
/**
|
|
19
20
|
* 插入间隔符
|
|
20
21
|
* @param columns 表单配置数组
|
|
@@ -241,13 +242,29 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
|
|
|
241
242
|
newValue = ((_transform$normalize = transform.normalize) === null || _transform$normalize === void 0 ? void 0 : _transform$normalize.call(transform, newValue)) || (normalize === null || normalize === void 0 ? void 0 : normalize(newValue));
|
|
242
243
|
}
|
|
243
244
|
internalChange === null || internalChange === void 0 ? void 0 : internalChange(newValue, args[1], index);
|
|
245
|
+
var values = form.getFieldValue(namePath);
|
|
246
|
+
var originRow = (namePath === null || namePath === void 0 ? void 0 : namePath.length) ? (0, _lodash.cloneDeep)(values) : undefined;
|
|
244
247
|
onChange === null || onChange === void 0 ? void 0 : onChange.apply(void 0, args);
|
|
245
|
-
onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(newValue,
|
|
248
|
+
onFieldChange === null || onFieldChange === void 0 ? void 0 : onFieldChange(newValue, values, {
|
|
246
249
|
index: outerIndex,
|
|
247
250
|
namePath: namePath,
|
|
248
251
|
form: form,
|
|
249
252
|
option: args === null || args === void 0 ? void 0 : args[1]
|
|
250
253
|
});
|
|
254
|
+
// 如果是在可编辑表格或formList内部, 储存当前行的值, 并在变更后更新到表单里
|
|
255
|
+
if ((namePath === null || namePath === void 0 ? void 0 : namePath.length) && !(0, _lodash.isEqual)(originRow, values)) {
|
|
256
|
+
var _Object$keys, _Object$keys$map;
|
|
257
|
+
form.setFieldValue(namePath, values);
|
|
258
|
+
var diff = (0, _tools.difference)(originRow, values) || {};
|
|
259
|
+
var validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
|
|
260
|
+
return [].concat((0, _toConsumableArray2.default)(namePath), [key]);
|
|
261
|
+
});
|
|
262
|
+
if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
|
|
263
|
+
setTimeout(function () {
|
|
264
|
+
form.validateFields([name].concat((0, _toConsumableArray2.default)(validateFieldKeys)));
|
|
265
|
+
}, 100);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
251
268
|
};
|
|
252
269
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
|
|
253
270
|
name: columnName
|
|
@@ -19,15 +19,11 @@ var useForm = exports.useForm = function useForm(originForm) {
|
|
|
19
19
|
setFieldsValue = form.setFieldsValue;
|
|
20
20
|
// @ts-ignore
|
|
21
21
|
var _getFieldsValue = function _getFieldsValue(nameList, filterFunc) {
|
|
22
|
-
//
|
|
23
|
-
if (nameList
|
|
22
|
+
// 全部查询
|
|
23
|
+
if (nameList !== true) {
|
|
24
24
|
var values = getFieldsValue(nameList || true, filterFunc);
|
|
25
25
|
return (0, _index.filterInternalFields)(values);
|
|
26
26
|
}
|
|
27
|
-
// @ts-ignore 特殊处理 传入false不过滤
|
|
28
|
-
if (nameList === false) {
|
|
29
|
-
return getFieldsValue();
|
|
30
|
-
}
|
|
31
27
|
return getFieldsValue(nameList, filterFunc);
|
|
32
28
|
};
|
|
33
29
|
// const _setFieldsValue: FormInstance<T>['setFieldsValue'] = (data) => {
|
|
@@ -129,7 +129,13 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
|
129
129
|
return {
|
|
130
130
|
shouldUpdate: function shouldUpdate(prevValues, currentValues) {
|
|
131
131
|
// @ts-ignore formList场景取当前行数据,不取shouldUpdate变更后值
|
|
132
|
-
var _currentValues
|
|
132
|
+
var _currentValues;
|
|
133
|
+
if (namePath) {
|
|
134
|
+
// formList场景values取当前行数据
|
|
135
|
+
_currentValues = form.getFieldValue(namePath) || {};
|
|
136
|
+
} else {
|
|
137
|
+
_currentValues = form.getFieldsValue(true);
|
|
138
|
+
}
|
|
133
139
|
var _show = (0, _lodash.isFunction)(show) ? Boolean(show(_currentValues, {
|
|
134
140
|
form: form,
|
|
135
141
|
index: index,
|