@zat-design/sisyphus-react 3.4.1-beta.4 → 3.4.1-beta.6
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/dist/index.esm.css +3 -0
- package/es/ProForm/components/base/InputNumber/index.js +3 -0
- package/es/ProForm/components/combination/Group/index.js +19 -2
- package/es/ProForm/components/combination/Group/propsType.d.ts +13 -0
- package/es/ProForm/components/combination/Group/style/index.less +3 -0
- package/es/ProForm/components/render/Render.js +16 -13
- package/es/ProForm/components/render/propsType.d.ts +1 -1
- package/es/ProForm/utils/index.d.ts +2 -0
- package/es/ProForm/utils/index.js +14 -13
- package/lib/ProForm/components/base/InputNumber/index.js +3 -0
- package/lib/ProForm/components/combination/Group/index.js +18 -1
- package/lib/ProForm/components/combination/Group/propsType.d.ts +13 -0
- package/lib/ProForm/components/combination/Group/style/index.less +3 -0
- package/lib/ProForm/components/render/Render.js +15 -12
- package/lib/ProForm/components/render/propsType.d.ts +1 -1
- package/lib/ProForm/utils/index.d.ts +2 -0
- package/lib/ProForm/utils/index.js +14 -13
- package/package.json +1 -1
package/dist/index.esm.css
CHANGED
|
@@ -2297,6 +2297,9 @@ span.ant-input-group-compact.pro-range-limit .forever-checkbox {
|
|
|
2297
2297
|
margin-inline-start: -1px;
|
|
2298
2298
|
border-start-start-radius: 0;
|
|
2299
2299
|
border-end-start-radius: 0;
|
|
2300
|
+
padding: 0 12px;
|
|
2301
|
+
background-color: #fff;
|
|
2302
|
+
cursor: default;
|
|
2300
2303
|
}
|
|
2301
2304
|
.pro-group .ant-space-compact .pro-modal-select {
|
|
2302
2305
|
margin-left: -1px;
|
|
@@ -73,6 +73,9 @@ var InputNumber = function InputNumber(props) {
|
|
|
73
73
|
},
|
|
74
74
|
parser: function parser(value) {
|
|
75
75
|
var num = Number(value.replace(/[\s,]+/g, ''));
|
|
76
|
+
if (value === '') {
|
|
77
|
+
return value;
|
|
78
|
+
}
|
|
76
79
|
return Number.isNaN(num) ? value : num.toFixed((props === null || props === void 0 ? void 0 : props.precision) || 2);
|
|
77
80
|
}
|
|
78
81
|
};
|
|
@@ -4,9 +4,11 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
|
4
4
|
import "antd/es/button/style";
|
|
5
5
|
import _Button from "antd/es/button";
|
|
6
6
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
7
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
7
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
9
|
import { useMemo } from 'react';
|
|
9
|
-
import { omit } from 'lodash';
|
|
10
|
+
import { omit, isFunction } from 'lodash';
|
|
11
|
+
import { useDeepCompareEffect, useCounter } from 'ahooks';
|
|
10
12
|
import classnames from 'classnames';
|
|
11
13
|
import RenderFields from '../../render/RenderFields';
|
|
12
14
|
import { insertSeparator } from './utils';
|
|
@@ -19,7 +21,13 @@ var Group = function Group(props) {
|
|
|
19
21
|
space = _props$space === void 0 ? {
|
|
20
22
|
size: 12
|
|
21
23
|
} : _props$space,
|
|
22
|
-
id = props.id
|
|
24
|
+
id = props.id,
|
|
25
|
+
value = props.value,
|
|
26
|
+
onFieldChange = props.onFieldChange;
|
|
27
|
+
var _useCounter = useCounter(0),
|
|
28
|
+
_useCounter2 = _slicedToArray(_useCounter, 2),
|
|
29
|
+
num = _useCounter2[0],
|
|
30
|
+
inc = _useCounter2[1].inc;
|
|
23
31
|
var _ref = ProForm.useFieldProps() || {},
|
|
24
32
|
names = _ref.names,
|
|
25
33
|
name = _ref.name,
|
|
@@ -56,6 +64,15 @@ var Group = function Group(props) {
|
|
|
56
64
|
return ['Radio', 'Checkbox', 'Switch'].includes(item.type);
|
|
57
65
|
})
|
|
58
66
|
}, "".concat(className), className));
|
|
67
|
+
useDeepCompareEffect(function () {
|
|
68
|
+
// 模拟change,初始化不执行onFieldChange
|
|
69
|
+
if (isFunction(onFieldChange) && num >= 1) {
|
|
70
|
+
onFieldChange(value, form.getFieldsValue(), {
|
|
71
|
+
form: form
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
inc();
|
|
75
|
+
}, [value]);
|
|
59
76
|
return _jsx("div", {
|
|
60
77
|
className: _className,
|
|
61
78
|
children: space.compact || (space === null || space === void 0 ? void 0 : space.separator) ? _jsx(_Space.Compact, {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RowProps, SpaceProps } from 'antd';
|
|
3
|
+
import { FormInstance } from 'antd/es/form';
|
|
4
|
+
import { NamePath } from 'antd/lib/form/interface';
|
|
3
5
|
import { ProColumnProps, ProFormOtherProps } from '../../../propsType';
|
|
4
6
|
export interface SpaceType extends SpaceProps {
|
|
5
7
|
/**
|
|
@@ -13,6 +15,15 @@ export interface SpaceType extends SpaceProps {
|
|
|
13
15
|
/** 间隔距离 */
|
|
14
16
|
size?: number;
|
|
15
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* 扩展函数的参数
|
|
20
|
+
*/
|
|
21
|
+
type FunctionArgs<Values> = (value: any, record: any, { form, index, namePath, option, selectedOptions, dateString, }: {
|
|
22
|
+
form: FormInstance<Values>;
|
|
23
|
+
index?: number;
|
|
24
|
+
namePath?: NamePath;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}) => any;
|
|
16
27
|
export interface GroupProps {
|
|
17
28
|
children?: ProColumnProps[];
|
|
18
29
|
space?: SpaceType;
|
|
@@ -22,4 +33,6 @@ export interface GroupProps {
|
|
|
22
33
|
value?: any;
|
|
23
34
|
id?: string;
|
|
24
35
|
disabled?: boolean | (() => void);
|
|
36
|
+
onFieldChange?: FunctionArgs<any>;
|
|
25
37
|
}
|
|
38
|
+
export {};
|
|
@@ -24,7 +24,7 @@ import classNames from 'classnames';
|
|
|
24
24
|
import { ReactSVG } from 'react-svg';
|
|
25
25
|
import { isFunction, isString, omit } from 'lodash';
|
|
26
26
|
import useShouldUpdate from '../../utils/useShouldUpdate';
|
|
27
|
-
import { isTrim, isUpperCase, findOptionByValue } from '../../utils/index';
|
|
27
|
+
import { isTrim, isUpperCase, findOptionByValue, parseNamePath } from '../../utils/index';
|
|
28
28
|
import { useProConfig } from '../../../ProConfigProvider';
|
|
29
29
|
import transformNames from '../../utils/transformNames';
|
|
30
30
|
import valueTypeMap from '../../utils/valueType';
|
|
@@ -34,7 +34,7 @@ import useRules from '../../utils/useRules';
|
|
|
34
34
|
import ConfirmWrapper from './ConfirmWrapper';
|
|
35
35
|
// 这个组件只管渲染, 参数的整理在外部处理
|
|
36
36
|
var Render = function Render(props) {
|
|
37
|
-
var _ref2, _otherProps$names2;
|
|
37
|
+
var _ref2, _ref3, _otherProps$names2;
|
|
38
38
|
var component = props.component,
|
|
39
39
|
originComponent = props.originComponent,
|
|
40
40
|
_props$formItemProps = props.formItemProps,
|
|
@@ -169,8 +169,8 @@ var Render = function Render(props) {
|
|
|
169
169
|
}
|
|
170
170
|
/** 移除多余参数,防止透传给formItem报错 */
|
|
171
171
|
var _otherFormItemProps = omit(otherFormItemProps, ['component', 'names', 'format', 'toISOString', 'switchValue', 'precision', 'clearNotShow']);
|
|
172
|
-
// 优先级 column.disabled > fieldProps.disabled > formDisabled
|
|
173
|
-
var lastDisabled = (_ref2 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : formDisabled;
|
|
172
|
+
// 优先级 formitem上【column.disabled】 > 组件上【fieldProps.disabled】 > 全局【formDisabled】
|
|
173
|
+
var lastDisabled = (_ref2 = (_ref3 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref3 !== void 0 ? _ref3 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : formDisabled;
|
|
174
174
|
/**
|
|
175
175
|
* 最新fieldProps: 更新后的组件Props
|
|
176
176
|
*/
|
|
@@ -198,8 +198,8 @@ var Render = function Render(props) {
|
|
|
198
198
|
var functionArgs = function functionArgs(args) {
|
|
199
199
|
var _otherFormItemProps$n;
|
|
200
200
|
var _args = _toConsumableArray(args);
|
|
201
|
-
var
|
|
202
|
-
valueType =
|
|
201
|
+
var _ref4 = otherProps || {},
|
|
202
|
+
valueType = _ref4.valueType;
|
|
203
203
|
_args[1] = form.getFieldsValue();
|
|
204
204
|
_args[2] = {
|
|
205
205
|
form: form
|
|
@@ -260,8 +260,9 @@ var Render = function Render(props) {
|
|
|
260
260
|
// Group默认校验, 延时与重新setFieldValue,为了解决校验值未同步最新的问题,
|
|
261
261
|
if (formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames) {
|
|
262
262
|
setTimeout(function () {
|
|
263
|
-
|
|
264
|
-
form.
|
|
263
|
+
var namePath = parseNamePath(formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames);
|
|
264
|
+
form.setFieldValue(formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames, form.getFieldValue(namePath));
|
|
265
|
+
form.validateFields(namePath);
|
|
265
266
|
}, 60);
|
|
266
267
|
}
|
|
267
268
|
// ProTreeSelect返回option
|
|
@@ -275,7 +276,7 @@ var Render = function Render(props) {
|
|
|
275
276
|
* onBlur参数重置 (value, record, { form, index, namePath, option }) => void
|
|
276
277
|
*/
|
|
277
278
|
var handleBlur = /*#__PURE__*/function () {
|
|
278
|
-
var
|
|
279
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
279
280
|
var _len2,
|
|
280
281
|
args,
|
|
281
282
|
_key2,
|
|
@@ -302,12 +303,14 @@ var Render = function Render(props) {
|
|
|
302
303
|
}, _callee);
|
|
303
304
|
}));
|
|
304
305
|
return function handleBlur() {
|
|
305
|
-
return
|
|
306
|
+
return _ref5.apply(this, arguments);
|
|
306
307
|
};
|
|
307
308
|
}();
|
|
308
309
|
var renderItem = function renderItem() {
|
|
310
|
+
// 移除多余字段,group保留onFieldChange
|
|
311
|
+
var lastComponentPropsFilter = type === 'Group' ? ['disabledStrictly'] : ['onFieldChange', 'disabledStrictly'];
|
|
309
312
|
// 表单渲染 start
|
|
310
|
-
var childProps = _objectSpread(_objectSpread(_objectSpread({}, AutoComponent === null || AutoComponent === void 0 ? void 0 : AutoComponent.props), omit(lastComponentProps,
|
|
313
|
+
var childProps = _objectSpread(_objectSpread(_objectSpread({}, AutoComponent === null || AutoComponent === void 0 ? void 0 : AutoComponent.props), omit(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
311
314
|
// @ts-ignore
|
|
312
315
|
otherProps: otherProps,
|
|
313
316
|
onChange: handleChange,
|
|
@@ -350,7 +353,7 @@ var Render = function Render(props) {
|
|
|
350
353
|
if (originComponent) {
|
|
351
354
|
delete childProps.otherProps;
|
|
352
355
|
}
|
|
353
|
-
var child = /*#__PURE__*/React.isValidElement(AutoComponent) ? ( /*#__PURE__*/React.cloneElement(AutoComponent, childProps)) : _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps,
|
|
356
|
+
var child = /*#__PURE__*/React.isValidElement(AutoComponent) ? ( /*#__PURE__*/React.cloneElement(AutoComponent, childProps)) : _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
354
357
|
otherProps: _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
355
358
|
show: show,
|
|
356
359
|
disabled: lastDisabled,
|
|
@@ -385,7 +388,7 @@ var Render = function Render(props) {
|
|
|
385
388
|
name: _otherFormItemProps.name
|
|
386
389
|
}, omit(_otherFormItemProps, ['rules'])), {}, {
|
|
387
390
|
children: function children(fields, operation, meta) {
|
|
388
|
-
return _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps,
|
|
391
|
+
return _jsx(AutoComponent, _objectSpread(_objectSpread({}, omit(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
389
392
|
otherProps: otherProps,
|
|
390
393
|
fields: fields,
|
|
391
394
|
operation: operation,
|
|
@@ -167,7 +167,7 @@ export type ColumnPropsMap<Values = any, T = 'ProForm'> = {
|
|
|
167
167
|
fieldProps?: FieldProps<ProTreeProps, Values, T>;
|
|
168
168
|
} | {
|
|
169
169
|
type?: 'Group';
|
|
170
|
-
fieldProps?: GroupProps
|
|
170
|
+
fieldProps?: FieldProps<GroupProps, Values, T>;
|
|
171
171
|
} | {
|
|
172
172
|
type?: 'ProCollapse';
|
|
173
173
|
fieldProps?: ProCollapseProps | ReactiveFunction<Values, ProCollapseProps>;
|
|
@@ -88,4 +88,6 @@ export declare const findOptionByValue: (treeData: any[], value: string | number
|
|
|
88
88
|
* 对比依赖列表中的 值是否变更
|
|
89
89
|
*/
|
|
90
90
|
export declare const equalDependencies: (dependencies: any, prevValues: any, currentValues: any) => any;
|
|
91
|
+
/** 解析namePath */
|
|
92
|
+
export declare const parseNamePath: (input: string) => any;
|
|
91
93
|
export {};
|
|
@@ -4,19 +4,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
4
4
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
5
5
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
6
6
|
import { useState } from 'react';
|
|
7
|
-
import _, { isObject, isFunction, cloneDeep, get, set, omit } from 'lodash';
|
|
8
|
-
var colProps = {
|
|
9
|
-
search: {
|
|
10
|
-
span: 8
|
|
11
|
-
},
|
|
12
|
-
drawer: {
|
|
13
|
-
span: 12
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
var footer = {
|
|
17
|
-
search: false,
|
|
18
|
-
drawer: false
|
|
19
|
-
};
|
|
7
|
+
import _, { isObject, isFunction, cloneDeep, get, set, omit, isNaN } from 'lodash';
|
|
20
8
|
export var getLayout = function getLayout(params) {
|
|
21
9
|
var _params$span = params.span,
|
|
22
10
|
span = _params$span === void 0 ? 8 : _params$span,
|
|
@@ -420,4 +408,17 @@ export var equalDependencies = function equalDependencies(dependencies, prevValu
|
|
|
420
408
|
});
|
|
421
409
|
}
|
|
422
410
|
return false;
|
|
411
|
+
};
|
|
412
|
+
/** 解析namePath */
|
|
413
|
+
export var parseNamePath = function parseNamePath(input) {
|
|
414
|
+
var parts = input.split('_');
|
|
415
|
+
if (parts.every(function (item) {
|
|
416
|
+
return isNaN(Number(item));
|
|
417
|
+
})) {
|
|
418
|
+
return [input];
|
|
419
|
+
}
|
|
420
|
+
var result = parts.map(function (item) {
|
|
421
|
+
return isNaN(Number(item)) ? item : Number(item);
|
|
422
|
+
});
|
|
423
|
+
return [result];
|
|
423
424
|
};
|
|
@@ -77,6 +77,9 @@ var InputNumber = function InputNumber(props) {
|
|
|
77
77
|
},
|
|
78
78
|
parser: function parser(value) {
|
|
79
79
|
var num = Number(value.replace(/[\s,]+/g, ''));
|
|
80
|
+
if (value === '') {
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
80
83
|
return Number.isNaN(num) ? value : num.toFixed((props === null || props === void 0 ? void 0 : props.precision) || 2);
|
|
81
84
|
}
|
|
82
85
|
};
|
|
@@ -7,10 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
var _antd = require("antd");
|
|
12
13
|
var _react = require("react");
|
|
13
14
|
var _lodash = require("lodash");
|
|
15
|
+
var _ahooks = require("ahooks");
|
|
14
16
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
15
17
|
var _RenderFields = _interopRequireDefault(require("../../render/RenderFields"));
|
|
16
18
|
var _utils = require("./utils");
|
|
@@ -23,7 +25,13 @@ var Group = function Group(props) {
|
|
|
23
25
|
space = _props$space === void 0 ? {
|
|
24
26
|
size: 12
|
|
25
27
|
} : _props$space,
|
|
26
|
-
id = props.id
|
|
28
|
+
id = props.id,
|
|
29
|
+
value = props.value,
|
|
30
|
+
onFieldChange = props.onFieldChange;
|
|
31
|
+
var _useCounter = (0, _ahooks.useCounter)(0),
|
|
32
|
+
_useCounter2 = (0, _slicedToArray2.default)(_useCounter, 2),
|
|
33
|
+
num = _useCounter2[0],
|
|
34
|
+
inc = _useCounter2[1].inc;
|
|
27
35
|
var _ref = _ProForm.default.useFieldProps() || {},
|
|
28
36
|
names = _ref.names,
|
|
29
37
|
name = _ref.name,
|
|
@@ -60,6 +68,15 @@ var Group = function Group(props) {
|
|
|
60
68
|
return ['Radio', 'Checkbox', 'Switch'].includes(item.type);
|
|
61
69
|
})
|
|
62
70
|
}, "".concat(className), className));
|
|
71
|
+
(0, _ahooks.useDeepCompareEffect)(function () {
|
|
72
|
+
// 模拟change,初始化不执行onFieldChange
|
|
73
|
+
if ((0, _lodash.isFunction)(onFieldChange) && num >= 1) {
|
|
74
|
+
onFieldChange(value, form.getFieldsValue(), {
|
|
75
|
+
form: form
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
inc();
|
|
79
|
+
}, [value]);
|
|
63
80
|
return (0, _jsxRuntime.jsx)("div", {
|
|
64
81
|
className: _className,
|
|
65
82
|
children: space.compact || (space === null || space === void 0 ? void 0 : space.separator) ? (0, _jsxRuntime.jsx)(_antd.Space.Compact, {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RowProps, SpaceProps } from 'antd';
|
|
3
|
+
import { FormInstance } from 'antd/es/form';
|
|
4
|
+
import { NamePath } from 'antd/lib/form/interface';
|
|
3
5
|
import { ProColumnProps, ProFormOtherProps } from '../../../propsType';
|
|
4
6
|
export interface SpaceType extends SpaceProps {
|
|
5
7
|
/**
|
|
@@ -13,6 +15,15 @@ export interface SpaceType extends SpaceProps {
|
|
|
13
15
|
/** 间隔距离 */
|
|
14
16
|
size?: number;
|
|
15
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* 扩展函数的参数
|
|
20
|
+
*/
|
|
21
|
+
type FunctionArgs<Values> = (value: any, record: any, { form, index, namePath, option, selectedOptions, dateString, }: {
|
|
22
|
+
form: FormInstance<Values>;
|
|
23
|
+
index?: number;
|
|
24
|
+
namePath?: NamePath;
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}) => any;
|
|
16
27
|
export interface GroupProps {
|
|
17
28
|
children?: ProColumnProps[];
|
|
18
29
|
space?: SpaceType;
|
|
@@ -22,4 +33,6 @@ export interface GroupProps {
|
|
|
22
33
|
value?: any;
|
|
23
34
|
id?: string;
|
|
24
35
|
disabled?: boolean | (() => void);
|
|
36
|
+
onFieldChange?: FunctionArgs<any>;
|
|
25
37
|
}
|
|
38
|
+
export {};
|
|
@@ -32,7 +32,7 @@ var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className",
|
|
|
32
32
|
/* eslint-disable prefer-destructuring */
|
|
33
33
|
// 这个组件只管渲染, 参数的整理在外部处理
|
|
34
34
|
var Render = function Render(props) {
|
|
35
|
-
var _ref2, _otherProps$names2;
|
|
35
|
+
var _ref2, _ref3, _otherProps$names2;
|
|
36
36
|
var component = props.component,
|
|
37
37
|
originComponent = props.originComponent,
|
|
38
38
|
_props$formItemProps = props.formItemProps,
|
|
@@ -167,8 +167,8 @@ var Render = function Render(props) {
|
|
|
167
167
|
}
|
|
168
168
|
/** 移除多余参数,防止透传给formItem报错 */
|
|
169
169
|
var _otherFormItemProps = (0, _lodash.omit)(otherFormItemProps, ['component', 'names', 'format', 'toISOString', 'switchValue', 'precision', 'clearNotShow']);
|
|
170
|
-
// 优先级 column.disabled > fieldProps.disabled > formDisabled
|
|
171
|
-
var lastDisabled = (_ref2 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : formDisabled;
|
|
170
|
+
// 优先级 formitem上【column.disabled】 > 组件上【fieldProps.disabled】 > 全局【formDisabled】
|
|
171
|
+
var lastDisabled = (_ref2 = (_ref3 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref3 !== void 0 ? _ref3 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : formDisabled;
|
|
172
172
|
/**
|
|
173
173
|
* 最新fieldProps: 更新后的组件Props
|
|
174
174
|
*/
|
|
@@ -196,8 +196,8 @@ var Render = function Render(props) {
|
|
|
196
196
|
var functionArgs = function functionArgs(args) {
|
|
197
197
|
var _otherFormItemProps$n;
|
|
198
198
|
var _args = (0, _toConsumableArray2.default)(args);
|
|
199
|
-
var
|
|
200
|
-
valueType =
|
|
199
|
+
var _ref4 = otherProps || {},
|
|
200
|
+
valueType = _ref4.valueType;
|
|
201
201
|
_args[1] = form.getFieldsValue();
|
|
202
202
|
_args[2] = {
|
|
203
203
|
form: form
|
|
@@ -258,8 +258,9 @@ var Render = function Render(props) {
|
|
|
258
258
|
// Group默认校验, 延时与重新setFieldValue,为了解决校验值未同步最新的问题,
|
|
259
259
|
if (formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames) {
|
|
260
260
|
setTimeout(function () {
|
|
261
|
-
|
|
262
|
-
form.
|
|
261
|
+
var namePath = (0, _index.parseNamePath)(formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames);
|
|
262
|
+
form.setFieldValue(formItemProps === null || formItemProps === void 0 ? void 0 : formItemProps.parentNames, form.getFieldValue(namePath));
|
|
263
|
+
form.validateFields(namePath);
|
|
263
264
|
}, 60);
|
|
264
265
|
}
|
|
265
266
|
// ProTreeSelect返回option
|
|
@@ -273,7 +274,7 @@ var Render = function Render(props) {
|
|
|
273
274
|
* onBlur参数重置 (value, record, { form, index, namePath, option }) => void
|
|
274
275
|
*/
|
|
275
276
|
var handleBlur = /*#__PURE__*/function () {
|
|
276
|
-
var
|
|
277
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
277
278
|
var _len2,
|
|
278
279
|
args,
|
|
279
280
|
_key2,
|
|
@@ -300,12 +301,14 @@ var Render = function Render(props) {
|
|
|
300
301
|
}, _callee);
|
|
301
302
|
}));
|
|
302
303
|
return function handleBlur() {
|
|
303
|
-
return
|
|
304
|
+
return _ref5.apply(this, arguments);
|
|
304
305
|
};
|
|
305
306
|
}();
|
|
306
307
|
var renderItem = function renderItem() {
|
|
308
|
+
// 移除多余字段,group保留onFieldChange
|
|
309
|
+
var lastComponentPropsFilter = type === 'Group' ? ['disabledStrictly'] : ['onFieldChange', 'disabledStrictly'];
|
|
307
310
|
// 表单渲染 start
|
|
308
|
-
var childProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, AutoComponent === null || AutoComponent === void 0 ? void 0 : AutoComponent.props), (0, _lodash.omit)(lastComponentProps,
|
|
311
|
+
var childProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, AutoComponent === null || AutoComponent === void 0 ? void 0 : AutoComponent.props), (0, _lodash.omit)(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
309
312
|
// @ts-ignore
|
|
310
313
|
otherProps: otherProps,
|
|
311
314
|
onChange: handleChange,
|
|
@@ -348,7 +351,7 @@ var Render = function Render(props) {
|
|
|
348
351
|
if (originComponent) {
|
|
349
352
|
delete childProps.otherProps;
|
|
350
353
|
}
|
|
351
|
-
var child = /*#__PURE__*/_react.default.isValidElement(AutoComponent) ? ( /*#__PURE__*/_react.default.cloneElement(AutoComponent, childProps)) : (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps,
|
|
354
|
+
var child = /*#__PURE__*/_react.default.isValidElement(AutoComponent) ? ( /*#__PURE__*/_react.default.cloneElement(AutoComponent, childProps)) : (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
352
355
|
otherProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
|
|
353
356
|
show: show,
|
|
354
357
|
disabled: lastDisabled,
|
|
@@ -383,7 +386,7 @@ var Render = function Render(props) {
|
|
|
383
386
|
name: _otherFormItemProps.name
|
|
384
387
|
}, (0, _lodash.omit)(_otherFormItemProps, ['rules'])), {}, {
|
|
385
388
|
children: function children(fields, operation, meta) {
|
|
386
|
-
return (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps,
|
|
389
|
+
return (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps, lastComponentPropsFilter)), {}, {
|
|
387
390
|
otherProps: otherProps,
|
|
388
391
|
fields: fields,
|
|
389
392
|
operation: operation,
|
|
@@ -167,7 +167,7 @@ export type ColumnPropsMap<Values = any, T = 'ProForm'> = {
|
|
|
167
167
|
fieldProps?: FieldProps<ProTreeProps, Values, T>;
|
|
168
168
|
} | {
|
|
169
169
|
type?: 'Group';
|
|
170
|
-
fieldProps?: GroupProps
|
|
170
|
+
fieldProps?: FieldProps<GroupProps, Values, T>;
|
|
171
171
|
} | {
|
|
172
172
|
type?: 'ProCollapse';
|
|
173
173
|
fieldProps?: ProCollapseProps | ReactiveFunction<Values, ProCollapseProps>;
|
|
@@ -88,4 +88,6 @@ export declare const findOptionByValue: (treeData: any[], value: string | number
|
|
|
88
88
|
* 对比依赖列表中的 值是否变更
|
|
89
89
|
*/
|
|
90
90
|
export declare const equalDependencies: (dependencies: any, prevValues: any, currentValues: any) => any;
|
|
91
|
+
/** 解析namePath */
|
|
92
|
+
export declare const parseNamePath: (input: string) => any;
|
|
91
93
|
export {};
|
|
@@ -9,7 +9,7 @@ exports.getAllNamePath = exports.findOptionByValue = exports.filterInternalField
|
|
|
9
9
|
exports.getArrayBeforeNumber = getArrayBeforeNumber;
|
|
10
10
|
exports.hasRowKey = exports.getLayout = exports.getDecimalDigits = void 0;
|
|
11
11
|
exports.initialValuesToNames = initialValuesToNames;
|
|
12
|
-
exports.isUpperCase = exports.isTrim = exports.isSelect = exports.isNullValue = exports.isNullArray = exports.isNotFullArray = void 0;
|
|
12
|
+
exports.parseNamePath = exports.isUpperCase = exports.isTrim = exports.isSelect = exports.isNullValue = exports.isNullArray = exports.isNotFullArray = void 0;
|
|
13
13
|
exports.processHyphenKeys = processHyphenKeys;
|
|
14
14
|
exports.splitNameStr = void 0;
|
|
15
15
|
exports.toArray = toArray;
|
|
@@ -21,18 +21,6 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
21
21
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
22
22
|
var _react = require("react");
|
|
23
23
|
var _lodash = _interopRequireWildcard(require("lodash"));
|
|
24
|
-
var colProps = {
|
|
25
|
-
search: {
|
|
26
|
-
span: 8
|
|
27
|
-
},
|
|
28
|
-
drawer: {
|
|
29
|
-
span: 12
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
var footer = {
|
|
33
|
-
search: false,
|
|
34
|
-
drawer: false
|
|
35
|
-
};
|
|
36
24
|
var getLayout = exports.getLayout = function getLayout(params) {
|
|
37
25
|
var _params$span = params.span,
|
|
38
26
|
span = _params$span === void 0 ? 8 : _params$span,
|
|
@@ -436,4 +424,17 @@ var equalDependencies = exports.equalDependencies = function equalDependencies(d
|
|
|
436
424
|
});
|
|
437
425
|
}
|
|
438
426
|
return false;
|
|
427
|
+
};
|
|
428
|
+
/** 解析namePath */
|
|
429
|
+
var parseNamePath = exports.parseNamePath = function parseNamePath(input) {
|
|
430
|
+
var parts = input.split('_');
|
|
431
|
+
if (parts.every(function (item) {
|
|
432
|
+
return (0, _lodash.isNaN)(Number(item));
|
|
433
|
+
})) {
|
|
434
|
+
return [input];
|
|
435
|
+
}
|
|
436
|
+
var result = parts.map(function (item) {
|
|
437
|
+
return (0, _lodash.isNaN)(Number(item)) ? item : Number(item);
|
|
438
|
+
});
|
|
439
|
+
return [result];
|
|
439
440
|
};
|