@zat-design/sisyphus-react 3.9.4 → 3.9.5-beta.2
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 +42 -1
- package/dist/less.esm.css +38 -0
- package/es/ProConfigProvider/FormsContext.d.ts +15 -0
- package/es/ProConfigProvider/FormsContext.js +32 -0
- package/es/ProConfigProvider/index.d.ts +0 -1
- package/es/ProConfigProvider/index.js +5 -7
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +13 -10
- package/es/ProEditTable/components/RenderField/index.js +42 -32
- package/es/ProEditTable/propsType.d.ts +1 -0
- package/es/ProEditTable/style/index.less +41 -0
- package/es/ProEditTable/utils/diffOriginal.d.ts +21 -0
- package/es/ProEditTable/utils/diffOriginal.js +65 -0
- package/es/ProEnum/index.js +1 -1
- package/es/ProForm/components/combination/Group/component/ComRender.js +9 -1
- package/es/ProForm/components/combination/Group/index.js +1 -1
- package/es/ProForm/components/combination/Group/utils.js +1 -1
- package/es/ProForm/index.js +26 -36
- package/es/ProForm/style/index.less +8 -0
- package/es/ProForm/utils/diffOriginal.js +11 -8
- package/es/ProForm/utils/useForm.d.ts +4 -3
- package/es/ProForm/utils/useForm.js +11 -2
- package/es/ProTable/components/FormatColumn/index.js +1 -1
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +36 -32
- package/es/ProTable/index.js +22 -15
- package/es/ProTable/propsType.d.ts +3 -2
- package/es/style/theme/antd.less +4 -1
- package/lib/ProConfigProvider/FormsContext.d.ts +15 -0
- package/lib/ProConfigProvider/FormsContext.js +39 -0
- package/lib/ProConfigProvider/index.d.ts +0 -1
- package/lib/ProConfigProvider/index.js +5 -8
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +13 -10
- package/lib/ProEditTable/components/RenderField/index.js +42 -32
- package/lib/ProEditTable/propsType.d.ts +1 -0
- package/lib/ProEditTable/style/index.less +41 -0
- package/lib/ProEditTable/utils/diffOriginal.d.ts +21 -0
- package/lib/ProEditTable/utils/diffOriginal.js +71 -0
- package/lib/ProEnum/index.js +1 -1
- package/lib/ProForm/components/combination/Group/component/ComRender.js +8 -0
- package/lib/ProForm/components/combination/Group/index.js +1 -1
- package/lib/ProForm/components/combination/Group/utils.js +1 -1
- package/lib/ProForm/index.js +26 -36
- package/lib/ProForm/style/index.less +8 -0
- package/lib/ProForm/utils/diffOriginal.js +11 -8
- package/lib/ProForm/utils/useForm.d.ts +4 -3
- package/lib/ProForm/utils/useForm.js +11 -2
- package/lib/ProTable/components/FormatColumn/index.js +1 -1
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +36 -32
- package/lib/ProTable/index.js +22 -15
- package/lib/ProTable/propsType.d.ts +3 -2
- package/lib/style/theme/antd.less +4 -1
- package/package.json +1 -1
@@ -71,7 +71,7 @@ var Group = function Group(props) {
|
|
71
71
|
children: space.compact || (space === null || space === void 0 ? void 0 : space.separator) ? _jsx(_Space.Compact, {
|
72
72
|
children: columns.map(function (column, index) {
|
73
73
|
column.otherProps = otherProps;
|
74
|
-
//
|
74
|
+
// 自定义间隔移除对应参数
|
75
75
|
if (column === null || column === void 0 ? void 0 : column.separator) {
|
76
76
|
delete column.separator;
|
77
77
|
delete column.otherProps;
|
@@ -329,7 +329,7 @@ export var useTransformColumns = function useTransformColumns(params) {
|
|
329
329
|
}, reactiveProps), {}, {
|
330
330
|
disabled: getLastDisabled(),
|
331
331
|
getValueProps: transform === null || transform === void 0 ? void 0 : transform.getValueProps,
|
332
|
-
fieldProps: _objectSpread(_objectSpread({}, column === null || column === void 0 ? void 0 : column.fieldProps), {}, {
|
332
|
+
fieldProps: _objectSpread(_objectSpread(_objectSpread({}, column === null || column === void 0 ? void 0 : column.fieldProps), reactiveProps === null || reactiveProps === void 0 ? void 0 : reactiveProps.fieldProps), {}, {
|
333
333
|
onChange: handleChange,
|
334
334
|
onBlur: handleBlur,
|
335
335
|
value: value === null || value === void 0 ? void 0 : value[index]
|
package/es/ProForm/index.js
CHANGED
@@ -2,13 +2,13 @@ import "antd/es/row/style";
|
|
2
2
|
import _Row from "antd/es/row";
|
3
3
|
import "antd/es/form/style";
|
4
4
|
import _Form from "antd/es/form";
|
5
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
5
6
|
import "antd/es/col/style";
|
6
7
|
import _Col from "antd/es/col";
|
7
8
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
8
9
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
9
10
|
import "antd/es/space/style";
|
10
11
|
import _Space from "antd/es/space";
|
11
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
12
12
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
13
13
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
14
14
|
var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "diffConfig", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "formKey", "globalControl", "scrollToError", "optimize"];
|
@@ -19,14 +19,15 @@ import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
|
|
19
19
|
import { isObject, merge, omit } from 'lodash';
|
20
20
|
import { FormFooter, InputRange, ProAddress, ProCascader, ProCertNo, ProCertValidity, ProCombination, ProModalSelect, ProNumberRange, ProRangeBox, ProTimeLimit, transferAddressInfoToRegion, ProUpload, ProTreeModal, ProTree, EnumSelect } from './components';
|
21
21
|
import RenderFields from './components/render/RenderFields';
|
22
|
-
import { useProConfig
|
22
|
+
import { useProConfig } from '../ProConfigProvider';
|
23
23
|
import { getLayout, splitNameStr, useControlled, initialValuesToNames, filterInternalFields } from './utils/index';
|
24
24
|
import { useForm } from './utils/useForm';
|
25
25
|
import { useFieldProps } from './utils/useFieldProps';
|
26
26
|
import locale from '../locale';
|
27
27
|
import useWatch from './utils/useWatch';
|
28
|
+
import { useContextForms, useForms } from '../ProConfigProvider/FormsContext';
|
28
29
|
var ProForm = function ProForm(props, ref) {
|
29
|
-
var
|
30
|
+
var _localStorage, _ref;
|
30
31
|
var _props$mode = props.mode,
|
31
32
|
mode = _props$mode === void 0 ? 'search' : _props$mode,
|
32
33
|
span = props.span,
|
@@ -69,17 +70,15 @@ var ProForm = function ProForm(props, ref) {
|
|
69
70
|
_props$optimize = props.optimize,
|
70
71
|
optimize = _props$optimize === void 0 ? false : _props$optimize,
|
71
72
|
otherProps = _objectWithoutProperties(props, _excluded);
|
72
|
-
var
|
73
|
-
|
74
|
-
dispatch = _useProConfig.dispatch;
|
75
|
-
var config = state.ProForm,
|
76
|
-
forms = state.forms;
|
77
|
-
var _useForm = useForm((_forms$formKey = forms[formKey]) !== null && _forms$formKey !== void 0 ? _forms$formKey : originForm, {
|
73
|
+
var config = useProConfig('ProForm');
|
74
|
+
var _useForm = useForm(originForm, {
|
78
75
|
scrollToError: scrollToError,
|
79
|
-
optimize: optimize
|
76
|
+
optimize: optimize,
|
77
|
+
formKey: formKey
|
80
78
|
}),
|
81
79
|
_useForm2 = _slicedToArray(_useForm, 1),
|
82
80
|
form = _useForm2[0];
|
81
|
+
// const form = useForms(formKey, originForm, { scrollToError, optimize, formKey });
|
83
82
|
var _useControlled = useControlled({
|
84
83
|
value: expandOpen,
|
85
84
|
onChange: expandOpenChange
|
@@ -88,32 +87,22 @@ var ProForm = function ProForm(props, ref) {
|
|
88
87
|
openState = _useControlled2[0],
|
89
88
|
setOpenState = _useControlled2[1];
|
90
89
|
// 把表单实例存入表单组
|
91
|
-
useMemo(
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
delete forms[formKey];
|
108
|
-
dispatch({
|
109
|
-
type: 'set',
|
110
|
-
payload: {
|
111
|
-
forms: _objectSpread({}, forms)
|
112
|
-
}
|
113
|
-
});
|
114
|
-
}
|
115
|
-
};
|
116
|
-
}, [formKey, form]);
|
90
|
+
// useMemo(() => {
|
91
|
+
// if (formKey && forms[formKey] !== form) {
|
92
|
+
// forms[formKey] = form;
|
93
|
+
// // fix: Cannot update a component (`ProConfigProvider`) while rendering a different component (`ForwardRef(ProForm)`).
|
94
|
+
// setTimeout(() => {
|
95
|
+
// dispatch({ type: 'set', payload: { forms: { ...forms } } });
|
96
|
+
// }, 300);
|
97
|
+
// }
|
98
|
+
// // 销毁
|
99
|
+
// return () => {
|
100
|
+
// if (formKey && forms[formKey]) {
|
101
|
+
// delete forms[formKey];
|
102
|
+
// dispatch({ type: 'set', payload: { forms: { ...forms } } });
|
103
|
+
// }
|
104
|
+
// };
|
105
|
+
// }, [formKey, form]);
|
117
106
|
var _getLayout = getLayout({
|
118
107
|
span: span,
|
119
108
|
form: form
|
@@ -310,6 +299,7 @@ export var ProFormProvider = function ProFormProvider(props) {
|
|
310
299
|
};
|
311
300
|
ProFormForward.Provider = ProFormProvider; // 包装Provider
|
312
301
|
ProFormForward.useFieldProps = useFieldProps; // 获取每个字段的其他参数 -otherProps
|
302
|
+
ProFormForward.useForms = useForms; // 获取上下文中的指定表单实例 如果不存在则会创建
|
313
303
|
ProFormForward.useContextForms = useContextForms; // 获取 ProConfigProvider中的表单实例map
|
314
304
|
// 内置组合
|
315
305
|
ProFormForward.ProCascader = ProCascader;
|
@@ -341,6 +341,10 @@
|
|
341
341
|
background: @zaui-contract-bg !important;
|
342
342
|
}
|
343
343
|
|
344
|
+
.ant-picker-clear {
|
345
|
+
background: @zaui-contract-bg;
|
346
|
+
}
|
347
|
+
|
344
348
|
span.@{ant-prefix}-input-affix-wrapper,
|
345
349
|
.@{ant-prefix}-select .@{ant-prefix}-select-selector,
|
346
350
|
.@{ant-prefix}-picker,
|
@@ -419,6 +423,10 @@
|
|
419
423
|
background: @zaui-contract-bg-add !important;
|
420
424
|
}
|
421
425
|
|
426
|
+
.ant-picker-clear {
|
427
|
+
background: @zaui-contract-bg-add;
|
428
|
+
}
|
429
|
+
|
422
430
|
span.@{ant-prefix}-input-affix-wrapper,
|
423
431
|
.@{ant-prefix}-select .@{ant-prefix}-select-selector,
|
424
432
|
.@{ant-prefix}-picker,
|
@@ -36,14 +36,17 @@ export var diffOriginal = function diffOriginal(params) {
|
|
36
36
|
return 'add';
|
37
37
|
}
|
38
38
|
if (Array.isArray(_originalValue)) {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
39
|
+
if ((_originalValue === null || _originalValue === void 0 ? void 0 : _originalValue.length) === (_value === null || _value === void 0 ? void 0 : _value.length)) {
|
40
|
+
var isSame = _originalValue.every(function (valueItem, index) {
|
41
|
+
// 如果两个值有一个不是空值, 则进行深比较
|
42
|
+
if (!isEmpty(value === null || value === void 0 ? void 0 : value[index]) || !isEmpty(valueItem)) {
|
43
|
+
return isEqual(value === null || value === void 0 ? void 0 : value[index], valueItem);
|
44
|
+
}
|
45
|
+
return true;
|
46
|
+
});
|
47
|
+
return isSame ? 'same' : 'changed';
|
48
|
+
}
|
49
|
+
return 'changed';
|
47
50
|
}
|
48
51
|
if (!isEmpty(_originalValue) || !isEmpty(_value)) {
|
49
52
|
return isEqual(_value, _originalValue) ? 'same' : 'changed';
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import { FormInstance } from 'antd';
|
2
2
|
import { NamePath } from 'antd/es/form/interface';
|
3
3
|
import { ValuedNotifyInfo } from 'rc-field-form/es/interface';
|
4
|
-
type ModifiedFormInstance<T> = FormInstance<T> & {
|
4
|
+
export type ModifiedFormInstance<T> = FormInstance<T> & {
|
5
5
|
isModified?: boolean;
|
6
6
|
/** 默认清空设置值的报错状态 */
|
7
7
|
setFieldValue: (name: NamePath, value: any, info?: ValuedNotifyInfo) => void;
|
8
|
+
formKey?: string;
|
8
9
|
_init?: boolean;
|
9
10
|
};
|
10
|
-
interface FormInstanceOption {
|
11
|
+
export interface FormInstanceOption {
|
11
12
|
scrollToError?: boolean;
|
12
13
|
optimize?: boolean;
|
14
|
+
formKey?: string;
|
13
15
|
}
|
14
16
|
export declare const useForm: <T>(originForm?: FormInstanceOption | ModifiedFormInstance<T>, options?: FormInstanceOption) => [ModifiedFormInstance<T>];
|
15
|
-
export {};
|
@@ -5,8 +5,10 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
5
5
|
import "antd/es/form/style";
|
6
6
|
import _Form from "antd/es/form";
|
7
7
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
8
|
+
import { useContext } from 'react';
|
8
9
|
import { filterInternalFields } from './index';
|
9
10
|
import { handleScrollToError } from '../../ProEditTable/utils/tools';
|
11
|
+
import { FormsContext } from '../../ProConfigProvider/FormsContext';
|
10
12
|
export var useForm = function useForm(originForm, options) {
|
11
13
|
// 如果没有form实例可以直接把options放在第一个参数位置
|
12
14
|
// @ts-ignore
|
@@ -17,10 +19,17 @@ export var useForm = function useForm(originForm, options) {
|
|
17
19
|
var _ref = _options || {},
|
18
20
|
_ref$scrollToError = _ref.scrollToError,
|
19
21
|
scrollToError = _ref$scrollToError === void 0 ? true : _ref$scrollToError,
|
20
|
-
optimize = _ref.optimize
|
21
|
-
|
22
|
+
optimize = _ref.optimize,
|
23
|
+
formKey = _ref.formKey;
|
24
|
+
// formKey全局共享逻辑
|
25
|
+
var forms = useContext(FormsContext);
|
26
|
+
var _Form$useForm = _Form.useForm(forms[formKey] || _originForm),
|
22
27
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
23
28
|
form = _Form$useForm2[0];
|
29
|
+
if (formKey && forms[formKey] !== form) {
|
30
|
+
forms[formKey] = form;
|
31
|
+
form.formKey = formKey;
|
32
|
+
}
|
24
33
|
var getFieldsValue = form.getFieldsValue,
|
25
34
|
validateFields = form.validateFields,
|
26
35
|
isModified = form.isModified,
|
@@ -139,7 +139,7 @@ export var formatColumn = function formatColumn(_ref2) {
|
|
139
139
|
index: index
|
140
140
|
});
|
141
141
|
// viewRender 返回值为 false 时,不显示对比
|
142
|
-
if (isBoolean(diffResult)) {
|
142
|
+
if (isBoolean(diffResult) && !diffResult) {
|
143
143
|
otherProps.isChanged = false;
|
144
144
|
}
|
145
145
|
originalValue = diffResult;
|
package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js
CHANGED
@@ -106,7 +106,7 @@ var DndWrapper = function DndWrapper(_ref2) {
|
|
106
106
|
}();
|
107
107
|
var onDragEnd = /*#__PURE__*/function () {
|
108
108
|
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref5) {
|
109
|
-
var active, over, transformedValue, activeObject, overObject, activeLevel, activeParentId, overLevel, overParentId, nextDataSource, _flatTree, activeIndex, overIndex, nextValue;
|
109
|
+
var active, over, transformedValue, activeObject, overObject, activeLevel, activeParentId, overLevel, overParentId, nextDataSource, _nextDataSource, _flatTree, activeIndex, overIndex, nextValue;
|
110
110
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
111
111
|
while (1) switch (_context2.prev = _context2.next) {
|
112
112
|
case 0:
|
@@ -114,7 +114,7 @@ var DndWrapper = function DndWrapper(_ref2) {
|
|
114
114
|
// 为数据源划分层级及parentId
|
115
115
|
transformedValue = addLevelAndParentId(value, rowKey); // 同一level层级的且parentId相同的,可以互相之间拖拽替换
|
116
116
|
if (!(active.id !== (over === null || over === void 0 ? void 0 : over.id))) {
|
117
|
-
_context2.next =
|
117
|
+
_context2.next = 20;
|
118
118
|
break;
|
119
119
|
}
|
120
120
|
activeObject = treeNodeFind(transformedValue, function (t) {
|
@@ -124,47 +124,51 @@ var DndWrapper = function DndWrapper(_ref2) {
|
|
124
124
|
return t.rowKey === (over === null || over === void 0 ? void 0 : over.id);
|
125
125
|
});
|
126
126
|
if (!(activeObject && overObject)) {
|
127
|
-
_context2.next =
|
127
|
+
_context2.next = 20;
|
128
128
|
break;
|
129
129
|
}
|
130
130
|
activeLevel = activeObject.level, activeParentId = activeObject.parentId;
|
131
|
-
overLevel = overObject.level, overParentId = overObject.parentId;
|
131
|
+
overLevel = overObject.level, overParentId = overObject.parentId;
|
132
|
+
nextDataSource = value;
|
133
|
+
if (!(activeLevel === overLevel && activeParentId === overParentId)) {
|
134
|
+
_context2.next = 20;
|
135
|
+
break;
|
136
|
+
}
|
137
|
+
// 将树平铺
|
138
|
+
_flatTree = transformTreeToArray(transformedValue).map(function (item) {
|
139
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
140
|
+
children: undefined
|
141
|
+
});
|
142
|
+
});
|
143
|
+
activeIndex = _flatTree.findIndex(function (i) {
|
144
|
+
return i.rowKey === active.id;
|
145
|
+
});
|
146
|
+
overIndex = _flatTree.findIndex(function (i) {
|
147
|
+
return i.rowKey === (over === null || over === void 0 ? void 0 : over.id);
|
148
|
+
});
|
149
|
+
nextValue = arrayMove(_flatTree, activeIndex, overIndex);
|
150
|
+
nextDataSource = createTreeFromArray(nextValue, {
|
151
|
+
itemKey: 'rowKey',
|
152
|
+
parentKey: 'parentId',
|
153
|
+
childrenKey: 'children'
|
154
|
+
});
|
155
|
+
// 如果传了onDragEndGuard 则视为外部业务逻辑自处理
|
132
156
|
if (!(onDragEndGuard && isFunction(onDragEndGuard))) {
|
133
|
-
_context2.next =
|
157
|
+
_context2.next = 19;
|
134
158
|
break;
|
135
159
|
}
|
136
|
-
_context2.next =
|
160
|
+
_context2.next = 18;
|
137
161
|
return onDragEndGuard({
|
138
162
|
activeObject: activeObject,
|
139
163
|
overObject: overObject,
|
140
|
-
|
164
|
+
originDataSource: value,
|
165
|
+
currentDataSource: nextDataSource
|
141
166
|
});
|
142
|
-
case
|
167
|
+
case 18:
|
143
168
|
nextDataSource = _context2.sent;
|
144
|
-
|
145
|
-
|
146
|
-
case
|
147
|
-
if (activeLevel === overLevel && activeParentId === overParentId) {
|
148
|
-
// 将树平铺
|
149
|
-
_flatTree = transformTreeToArray(transformedValue).map(function (item) {
|
150
|
-
return _objectSpread(_objectSpread({}, item), {}, {
|
151
|
-
children: undefined
|
152
|
-
});
|
153
|
-
});
|
154
|
-
activeIndex = _flatTree.findIndex(function (i) {
|
155
|
-
return i.rowKey === active.id;
|
156
|
-
});
|
157
|
-
overIndex = _flatTree.findIndex(function (i) {
|
158
|
-
return i.rowKey === (over === null || over === void 0 ? void 0 : over.id);
|
159
|
-
});
|
160
|
-
nextValue = arrayMove(_flatTree, activeIndex, overIndex);
|
161
|
-
onChange(createTreeFromArray(nextValue, {
|
162
|
-
itemKey: 'rowKey',
|
163
|
-
parentKey: 'parentId',
|
164
|
-
childrenKey: 'children'
|
165
|
-
}));
|
166
|
-
}
|
167
|
-
case 15:
|
169
|
+
case 19:
|
170
|
+
onChange((_nextDataSource = nextDataSource) !== null && _nextDataSource !== void 0 ? _nextDataSource : []);
|
171
|
+
case 20:
|
168
172
|
case "end":
|
169
173
|
return _context2.stop();
|
170
174
|
}
|
package/es/ProTable/index.js
CHANGED
@@ -187,6 +187,26 @@ var ProTable = function ProTable(props) {
|
|
187
187
|
return 'new-cell';
|
188
188
|
}
|
189
189
|
};
|
190
|
+
var _formatColumns = function formatColumns(nextColumns) {
|
191
|
+
nextColumns === null || nextColumns === void 0 ? void 0 : nextColumns.forEach(function (item, index) {
|
192
|
+
formatColumn({
|
193
|
+
column: item,
|
194
|
+
originalObj: originalObj,
|
195
|
+
rowKey: props.rowKey,
|
196
|
+
diffConfig: diffConfig,
|
197
|
+
wrapToolTipProps: wrapToolTipProps,
|
198
|
+
scroll: _scroll,
|
199
|
+
onUpdateMinWidth: function onUpdateMinWidth(w) {
|
200
|
+
curColumns[index].minWidth = w;
|
201
|
+
},
|
202
|
+
isInNewRow: _rowClassName
|
203
|
+
});
|
204
|
+
if (item.children && Array.isArray(item.children)) {
|
205
|
+
_formatColumns(item.children);
|
206
|
+
}
|
207
|
+
});
|
208
|
+
return nextColumns;
|
209
|
+
};
|
190
210
|
var columns = useMemo(function () {
|
191
211
|
var newColumns = curColumns.map(function (item, index) {
|
192
212
|
var _propsColumnObj$getCo2;
|
@@ -208,21 +228,8 @@ var ProTable = function ProTable(props) {
|
|
208
228
|
}).filter(function (item) {
|
209
229
|
return !(item === null || item === void 0 ? void 0 : item.delete);
|
210
230
|
});
|
211
|
-
|
212
|
-
|
213
|
-
column: item,
|
214
|
-
originalObj: originalObj,
|
215
|
-
rowKey: props.rowKey,
|
216
|
-
diffConfig: diffConfig,
|
217
|
-
wrapToolTipProps: wrapToolTipProps,
|
218
|
-
scroll: _scroll,
|
219
|
-
onUpdateMinWidth: function onUpdateMinWidth(w) {
|
220
|
-
curColumns[index].minWidth = w;
|
221
|
-
},
|
222
|
-
isInNewRow: _rowClassName
|
223
|
-
});
|
224
|
-
});
|
225
|
-
return newColumns;
|
231
|
+
var nextColumns = _formatColumns(newColumns);
|
232
|
+
return nextColumns;
|
226
233
|
}, [curColumns, handleResize, _scroll, originalDataSource, originalObj, _rowClassName]);
|
227
234
|
var _columns = useMemo(function () {
|
228
235
|
return columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
|
@@ -19,7 +19,7 @@ export interface ProTableSummaryProps {
|
|
19
19
|
fixed?: boolean;
|
20
20
|
}
|
21
21
|
export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
22
|
-
dataIndex
|
22
|
+
dataIndex?: string | string[];
|
23
23
|
width?: number | string;
|
24
24
|
minWidth?: number;
|
25
25
|
valueType?: ProTableValueType;
|
@@ -43,8 +43,9 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
|
|
43
43
|
/** 自定义比对函数, 触发条件必须写render */
|
44
44
|
onDiff?: ({ value, record, index, originalValue, originalRecord }: any) => any;
|
45
45
|
/** 自定义提示render, 触发条件必须写render */
|
46
|
-
viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => 'same' | 'changed' | 'add' | undefined;
|
46
|
+
viewRender?: ({ value, record, index, originalValue, originalRecord, }: any) => 'same' | 'changed' | 'add' | undefined;
|
47
47
|
isChanged?: boolean | null;
|
48
|
+
children?: ProTableColumn[];
|
48
49
|
}
|
49
50
|
export interface CreateTreeFromArrayOptions {
|
50
51
|
itemKey?: string;
|
package/es/style/theme/antd.less
CHANGED
@@ -753,6 +753,9 @@
|
|
753
753
|
}
|
754
754
|
|
755
755
|
.@{ant-prefix}-picker.@{ant-prefix}-picker-disabled {
|
756
|
-
background: var(--zaui-disabled-bg);
|
756
|
+
background: var(--zaui-disabled-bg) !important;
|
757
757
|
}
|
758
758
|
|
759
|
+
.@{ant-prefix}-input-affix-wrapper-disabled {
|
760
|
+
background: var(--zaui-disabled-bg) !important;
|
761
|
+
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ModifiedFormInstance } from '../ProForm/utils/useForm';
|
3
|
+
type Forms = Record<string, ModifiedFormInstance<any>>;
|
4
|
+
export declare const FormsContext: React.Context<Forms>;
|
5
|
+
/**
|
6
|
+
* @param formKey 表单实例key
|
7
|
+
* @param formIst form实例, 如果传了会把传入的实例存入全局
|
8
|
+
* @returns 没有入参: 返回表单实例但是不存入全局
|
9
|
+
* 有formKey: 取全局中的表单实例返回, 如果不存在则创建后返回
|
10
|
+
*/
|
11
|
+
export declare const useForms: () => Forms;
|
12
|
+
/** 获取所有表单实例 */
|
13
|
+
export declare const useContextForms: () => Forms;
|
14
|
+
declare const FormsProvider: React.FC;
|
15
|
+
export default FormsProvider;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.useForms = exports.useContextForms = exports.default = exports.FormsContext = void 0;
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
10
|
+
var FormsContext = exports.FormsContext = /*#__PURE__*/_react.default.createContext({});
|
11
|
+
/**
|
12
|
+
* @param formKey 表单实例key
|
13
|
+
* @param formIst form实例, 如果传了会把传入的实例存入全局
|
14
|
+
* @returns 没有入参: 返回表单实例但是不存入全局
|
15
|
+
* 有formKey: 取全局中的表单实例返回, 如果不存在则创建后返回
|
16
|
+
*/
|
17
|
+
var useForms = exports.useForms = function useForms() {
|
18
|
+
var forms = (0, _react.useContext)(FormsContext);
|
19
|
+
return forms;
|
20
|
+
};
|
21
|
+
/** 获取所有表单实例 */
|
22
|
+
var useContextForms = exports.useContextForms = function useContextForms() {
|
23
|
+
var forms = (0, _react.useContext)(FormsContext);
|
24
|
+
return forms;
|
25
|
+
};
|
26
|
+
var FormsProvider = function FormsProvider(props) {
|
27
|
+
var formsRef = (0, _react.useRef)({});
|
28
|
+
(0, _react.useEffect)(function () {
|
29
|
+
// 销毁
|
30
|
+
return function () {
|
31
|
+
formsRef.current = {};
|
32
|
+
};
|
33
|
+
}, []);
|
34
|
+
return (0, _jsxRuntime.jsx)(FormsContext.Provider, {
|
35
|
+
value: formsRef.current,
|
36
|
+
children: props.children
|
37
|
+
});
|
38
|
+
};
|
39
|
+
var _default = exports.default = FormsProvider;
|
@@ -20,7 +20,6 @@ interface ConfigContext {
|
|
20
20
|
export declare const ProConfigContext: React.Context<ConfigContext>;
|
21
21
|
export declare function useProConfig(): ConfigContext;
|
22
22
|
export declare function useProConfig(name: keyof ConfigContext['state']): ConfigContext['state'][keyof ConfigContext['state']];
|
23
|
-
export declare function useContextForms(): Record<string, FormInstance<any>>;
|
24
23
|
type ActionsType = 'set' | 'setProEnum' | 'setProEnumDic' | 'setWithLocal';
|
25
24
|
interface Actions {
|
26
25
|
type: ActionsType;
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
7
7
|
});
|
8
8
|
exports.default = exports.ProConfigProvider = exports.ProConfigContext = void 0;
|
9
|
-
exports.useContextForms = useContextForms;
|
10
9
|
exports.useProConfig = useProConfig;
|
11
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12
11
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
@@ -18,6 +17,7 @@ var _en_US = _interopRequireDefault(require("antd/es/locale/en_US"));
|
|
18
17
|
var _merge = _interopRequireDefault(require("lodash/merge"));
|
19
18
|
var _useEnumRequest = _interopRequireDefault(require("../ProEnum/hooks/useEnumRequest"));
|
20
19
|
var _locale = require("../locale");
|
20
|
+
var _FormsContext = _interopRequireDefault(require("./FormsContext"));
|
21
21
|
var initialState = {
|
22
22
|
ProEnum: {
|
23
23
|
dics: {}
|
@@ -44,11 +44,6 @@ function useProConfig(name) {
|
|
44
44
|
var config = (0, _react.useContext)(ProConfigContext);
|
45
45
|
return name ? config.state[name] : config;
|
46
46
|
}
|
47
|
-
function useContextForms() {
|
48
|
-
var _config$state;
|
49
|
-
var config = (0, _react.useContext)(ProConfigContext);
|
50
|
-
return (_config$state = config.state) === null || _config$state === void 0 ? void 0 : _config$state.forms;
|
51
|
-
}
|
52
47
|
var antdLangMap = {
|
53
48
|
'zh-CN': _zh_CN.default,
|
54
49
|
'en-US': _en_US.default // en-US
|
@@ -114,8 +109,10 @@ var ProConfigProvider = exports.ProConfigProvider = function ProConfigProvider(p
|
|
114
109
|
},
|
115
110
|
children: (0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
|
116
111
|
locale: antdLangMap[lang],
|
117
|
-
children: (0, _jsxRuntime.jsx)(
|
118
|
-
children:
|
112
|
+
children: (0, _jsxRuntime.jsx)(_FormsContext.default, {
|
113
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
114
|
+
children: props.children
|
115
|
+
})
|
119
116
|
})
|
120
117
|
})
|
121
118
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { FormInstance } from 'antd';
|
3
3
|
import { NamePath } from 'antd/lib/form/interface';
|
4
|
-
import { DiffOriginalParams } from '
|
4
|
+
import { DiffOriginalParams } from '../../utils/diffOriginal';
|
5
5
|
interface Props {
|
6
6
|
name?: NamePath;
|
7
7
|
names?: NamePath[];
|
@@ -14,7 +14,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _antd = require("antd");
|
15
15
|
var _classnames = _interopRequireDefault(require("classnames"));
|
16
16
|
var _lodash = require("lodash");
|
17
|
-
var _diffOriginal = require("
|
17
|
+
var _diffOriginal = require("../../utils/diffOriginal");
|
18
18
|
var _ProConfigProvider = require("../../../ProConfigProvider");
|
19
19
|
var _utils = require("../../../utils");
|
20
20
|
var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender", "diffConfig", "index"];
|
@@ -39,7 +39,7 @@ var getOriginalValue = function getOriginalValue(_ref) {
|
|
39
39
|
if (!originalValues) {
|
40
40
|
return undefined;
|
41
41
|
}
|
42
|
-
var
|
42
|
+
var originRecord;
|
43
43
|
if (rowKeyPath) {
|
44
44
|
var rowValueNamePath = namePath.slice(0, rowKeyPath.length - 1); // 表单中变动值所在行
|
45
45
|
var rowKeyName = rowKeyPath[rowKeyPath.length - 1]; // rowKey在行内的name
|
@@ -48,13 +48,13 @@ var getOriginalValue = function getOriginalValue(_ref) {
|
|
48
48
|
var keyValue = rowValue[rowKeyName]; // 获取表单中rowKey值
|
49
49
|
if (!keyValue) return undefined;
|
50
50
|
var originalValueList = (0, _lodash.get)(originalValues, originalName.slice(0, rowKeyPath.length - 2));
|
51
|
-
|
51
|
+
originRecord = originalValueList === null || originalValueList === void 0 ? void 0 : originalValueList.find(function (item) {
|
52
52
|
return item[rowKeyPath[rowKeyPath.length - 1]] === keyValue;
|
53
53
|
});
|
54
54
|
var originalValue;
|
55
55
|
if (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) {
|
56
56
|
var originalNamesValue = originalNames.map(function (originalName) {
|
57
|
-
return (0, _lodash.get)(
|
57
|
+
return (0, _lodash.get)(originRecord, originalName.slice(rowKeyPath.length - 1));
|
58
58
|
});
|
59
59
|
// 有可能出现数组中全是undefined的情况 视为没有值
|
60
60
|
var fillUndefined = originalNamesValue.every(function (valItem) {
|
@@ -62,11 +62,12 @@ var getOriginalValue = function getOriginalValue(_ref) {
|
|
62
62
|
});
|
63
63
|
originalValue = fillUndefined ? undefined : originalNamesValue;
|
64
64
|
} else {
|
65
|
-
originalValue = (0, _lodash.get)(
|
65
|
+
originalValue = (0, _lodash.get)(originRecord, originalName.slice(rowKeyPath.length - 1));
|
66
66
|
}
|
67
67
|
return {
|
68
68
|
originalValue: originalValue,
|
69
|
-
|
69
|
+
originRecord: originRecord,
|
70
|
+
record: rowValue
|
70
71
|
};
|
71
72
|
}
|
72
73
|
// 这个方法是给editTable专用的 暂时不存在不传rowKey的情况
|
@@ -74,7 +75,7 @@ var getOriginalValue = function getOriginalValue(_ref) {
|
|
74
75
|
originalValue: (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) ? originalNames.map(function (originalName) {
|
75
76
|
return (0, _lodash.get)(originalValues, originalName);
|
76
77
|
}) : (0, _lodash.get)(originalValues, originalName),
|
77
|
-
|
78
|
+
originRecord: originRecord
|
78
79
|
};
|
79
80
|
};
|
80
81
|
var ListChangedWrapper = function ListChangedWrapper(props) {
|
@@ -135,8 +136,10 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
135
136
|
value: _value,
|
136
137
|
originalValue: _originalValue,
|
137
138
|
form: form,
|
138
|
-
equalWith: equalWith
|
139
|
-
|
139
|
+
equalWith: equalWith,
|
140
|
+
originRecord: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originRecord,
|
141
|
+
record: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.record,
|
142
|
+
index: index
|
140
143
|
});
|
141
144
|
}, [props[valuePropName], originalValue]);
|
142
145
|
var isAdd = diffType === 'add';
|
@@ -149,7 +152,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
|
|
149
152
|
var _children = children;
|
150
153
|
if (viewRender) {
|
151
154
|
if (! /*#__PURE__*/_react.default.isValidElement(viewRender)) {
|
152
|
-
return viewRender(orgValue, (originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.
|
155
|
+
return viewRender(orgValue, (originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originRecord) || {}, {
|
153
156
|
form: form,
|
154
157
|
name: name,
|
155
158
|
index: index
|