@teamias/rex-design 0.0.1 → 0.0.3
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/LICENSE +21 -21
- package/README.md +3 -3
- package/dist/components/action-buttons/action-buttons.d.ts +1 -1
- package/dist/components/action-buttons/action-buttons.js +86 -76
- package/dist/components/action-buttons/demo/index.js +61 -58
- package/dist/components/base-form/base-form.js +218 -215
- package/dist/components/base-form/demo/index.js +147 -135
- package/dist/components/base-form/modules/renderComponentNode.d.ts +2 -2
- package/dist/components/base-form/modules/renderComponentNode.js +135 -130
- package/dist/components/base-form/types.d.ts +1 -1
- package/dist/components/base-form/types.js +0 -9
- package/dist/components/base-list-table/base-list-table.d.ts +2 -2
- package/dist/components/base-list-table/base-list-table.js +156 -135
- package/dist/components/base-list-table/demo/BasicBaseListTable.js +22 -13
- package/dist/components/base-list-table/demo/NoData.js +2 -1
- package/dist/components/base-list-table/demo/TableMaxRowCount.js +1669 -1663
- package/dist/components/base-list-table/demo/VirtualDemo.js +22 -13
- package/dist/components/base-table/base-table.d.ts +2 -2
- package/dist/components/base-table/base-table.js +60 -55
- package/dist/components/base-table/components/BaseTableRow.js +79 -66
- package/dist/components/base-table/demo/BaseTableAll.js +6 -2
- package/dist/components/base-table/demo/BaseTableBasic.js +5 -2
- package/dist/components/base-table/demo/BaseTableIndex.js +48 -50
- package/dist/components/base-table/demo/BaseTableRowSelect.js +2 -1
- package/dist/components/data-cell/data-cell.js +5 -4
- package/dist/components/data-cell/demo/index.js +327 -309
- package/dist/components/data-cell/modules/cellItemMap.d.ts +2 -2
- package/dist/components/data-cell/modules/cellItemMap.js +184 -157
- package/dist/components/data-cell/types.d.ts +9 -9
- package/dist/components/icons/demo/index.js +44 -40
- package/dist/components/icons/icons.d.ts +1 -1
- package/dist/components/icons/icons.js +36 -26
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.js +7 -0
- package/dist/components/media-viewer/demo/index.js +24 -20
- package/dist/components/media-viewer/media-viewer.d.ts +1 -1
- package/dist/components/media-viewer/media-viewer.js +13 -12
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.js +2 -0
- package/dist/{hooks → context}/request-fields-container/demo/index.js +10 -5
- package/dist/{hooks → context}/request-fields-container/index.js +2 -2
- package/dist/{hooks → context}/request-fields-container/request-fields-container-context-provider.js +17 -12
- package/dist/context/request-fields-container/request-fields-container-hoc.d.ts +4 -0
- package/dist/{hooks → context}/request-fields-container/request-fields-container-hoc.js +0 -1
- package/dist/{hooks → context}/request-fields-container/use-request-fields-container.js +2 -2
- package/dist/{hooks → context}/rex-pro-config-provider/demo/index.js +9 -5
- package/dist/{hooks → context}/rex-pro-config-provider/index.js +2 -2
- package/dist/{hooks → context}/rex-pro-config-provider/rex-pro-config-context.js +0 -1
- package/dist/context/rex-pro-config-provider/rex-pro-config-provider.d.ts +5 -0
- package/dist/{hooks → context}/rex-pro-config-provider/rex-pro-config-provider.js +8 -6
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/use-state-data/use-state-data.js +4 -4
- package/dist/index.d.ts +3 -10
- package/dist/index.js +3 -10
- package/dist/{components/base-form/locales → locales}/en-US.json +30 -21
- package/dist/{components/base-form/locales → locales}/zh-CN.json +30 -21
- package/dist/types/svg.d.ts +3 -3
- package/package.json +37 -33
- package/dist/components/base-form/locales.index.d.ts +0 -42
- package/dist/components/base-form/locales.index.js +0 -4
- package/dist/hooks/request-fields-container/request-fields-container-hoc.d.ts +0 -4
- package/dist/hooks/rex-pro-config-provider/rex-pro-config-provider.d.ts +0 -6
- package/dist/utils/locales/en-US.json +0 -13
- package/dist/utils/locales/index.d.ts +0 -26
- package/dist/utils/locales/index.js +0 -4
- package/dist/utils/locales/zh-CN.json +0 -13
- package/dist/{hooks → context}/request-fields-container/demo/index.d.ts +0 -0
- package/dist/{hooks → context}/request-fields-container/index.d.ts +2 -2
- package/dist/{hooks → context}/request-fields-container/request-fields-container-context-provider.d.ts +0 -0
- package/dist/{hooks → context}/request-fields-container/request-fields-container-context.d.ts +0 -0
- package/dist/{hooks → context}/request-fields-container/request-fields-container-context.js +0 -0
- package/dist/{hooks → context}/request-fields-container/use-request-fields-container.d.ts +0 -0
- package/dist/{hooks → context}/rex-pro-config-provider/demo/index.d.ts +0 -0
- package/dist/{hooks → context}/rex-pro-config-provider/index.d.ts +1 -1
- /package/dist/{hooks → context}/rex-pro-config-provider/rex-pro-config-context.d.ts +0 -0
- /package/dist/{hooks → context}/rex-pro-config-provider/use-rex-pro-config-provider.d.ts +0 -0
- /package/dist/{hooks → context}/rex-pro-config-provider/use-rex-pro-config-provider.js +0 -0
|
@@ -10,14 +10,15 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
10
10
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
11
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
12
12
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
13
|
-
|
|
14
|
-
import {
|
|
13
|
+
import { ProForm, ProFormDependency } from '@ant-design/pro-components';
|
|
14
|
+
import { handlerFilter, useRexProConfigProvider } from "../..";
|
|
15
15
|
import { useRef } from 'react';
|
|
16
|
-
import { useRexProConfigProvider, handlerFilter } from "../..";
|
|
17
16
|
import { processDependencyFields } from "./modules/dependencyUtils";
|
|
18
17
|
import { renderComponentNode } from "./modules/renderComponentNode";
|
|
19
18
|
import { BaseFormStyle } from "./style";
|
|
20
|
-
import
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
21
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
22
|
export var BaseForm = function BaseForm(props) {
|
|
22
23
|
var rawAllProps = props;
|
|
23
24
|
var outFields = props.fields,
|
|
@@ -35,226 +36,228 @@ export var BaseForm = function BaseForm(props) {
|
|
|
35
36
|
dependenciesSearchCache = _useRef.current;
|
|
36
37
|
var _useRef2 = useRef({}),
|
|
37
38
|
dependenciesSearchCacheData = _useRef2.current;
|
|
38
|
-
return /*#__PURE__*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
39
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
40
|
+
children: [/*#__PURE__*/_jsx(BaseFormStyle, {}), outFields === null || outFields === void 0 ? void 0 : outFields.map(function (item, index) {
|
|
41
|
+
var _item$field;
|
|
42
|
+
var fields = Array.isArray(item.field) ? item.field : [(_item$field = item.field) !== null && _item$field !== void 0 ? _item$field : "custom-dynamic-".concat(index)];
|
|
43
|
+
var keyStr = fields.join('-');
|
|
44
|
+
var itemProps = outFieldProps === null || outFieldProps === void 0 ? void 0 : outFieldProps[fields.join('-')];
|
|
45
|
+
var mergeItem = _objectSpread(_objectSpread({}, item), itemProps);
|
|
46
|
+
var config = _objectSpread(_objectSpread({
|
|
47
|
+
fields: fields,
|
|
48
|
+
keyStr: keyStr,
|
|
49
|
+
item: mergeItem,
|
|
50
|
+
requestOptions: function () {
|
|
51
|
+
var _requestOptions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
52
|
+
var fn,
|
|
53
|
+
res,
|
|
54
|
+
_args2 = arguments;
|
|
55
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
56
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
57
|
+
case 0:
|
|
58
|
+
fn = outRequestOptions || formItemRequestOptions || apiClient || /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
59
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
60
|
+
while (1) switch (_context.prev = _context.next) {
|
|
61
|
+
case 0:
|
|
62
|
+
return _context.abrupt("return", []);
|
|
63
|
+
case 1:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee);
|
|
68
|
+
}));
|
|
69
|
+
_context2.next = 3;
|
|
70
|
+
return fn.apply(void 0, _args2);
|
|
71
|
+
case 3:
|
|
72
|
+
res = _context2.sent;
|
|
73
|
+
return _context2.abrupt("return", Array.isArray(res) ? res : []);
|
|
74
|
+
case 5:
|
|
75
|
+
case "end":
|
|
76
|
+
return _context2.stop();
|
|
77
|
+
}
|
|
78
|
+
}, _callee2);
|
|
79
|
+
}));
|
|
80
|
+
function requestOptions() {
|
|
81
|
+
return _requestOptions.apply(this, arguments);
|
|
82
|
+
}
|
|
83
|
+
return requestOptions;
|
|
84
|
+
}()
|
|
85
|
+
}, otherProps), {}, {
|
|
86
|
+
rawAllProps: rawAllProps,
|
|
87
|
+
formatMessage: formatMessage
|
|
88
|
+
});
|
|
89
|
+
if (mergeItem.hidden) return;
|
|
90
|
+
if (operationPermission && !operationPermission(mergeItem.permissionKey)) return;
|
|
91
|
+
|
|
92
|
+
// 新扩展的依赖监听, 优先级高于 dependencies
|
|
93
|
+
if (item.dependenciesV2 && item.dependenciesV2.length) {
|
|
94
|
+
/** 字段+操作类型, 作为唯一key, 重复的以后面为准 */
|
|
95
|
+
var dependMap = Object.fromEntries(item.dependenciesV2.map(function (ii) {
|
|
96
|
+
return ["".concat(ii.field, "-").concat(ii.action), ii];
|
|
77
97
|
}));
|
|
78
|
-
function
|
|
79
|
-
return
|
|
80
|
-
}
|
|
81
|
-
return
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
98
|
+
var allFields = Array.from(new Set(item.dependenciesV2.map(function (ii) {
|
|
99
|
+
return ii.field;
|
|
100
|
+
})));
|
|
101
|
+
return /*#__PURE__*/_jsx(ProFormDependency, {
|
|
102
|
+
name: allFields,
|
|
103
|
+
children: function children(data, form) {
|
|
104
|
+
var _config$item;
|
|
105
|
+
// 依赖规则可能有多条,且可能作用于同一类型(如多个 hidden、disabled 等),这里需要全部规则都满足才生效
|
|
106
|
+
var _ref2 = [],
|
|
107
|
+
hidden = _ref2[0],
|
|
108
|
+
disabled = _ref2[1],
|
|
109
|
+
clear = _ref2[2],
|
|
110
|
+
updateData = _ref2[3],
|
|
111
|
+
show = _ref2[4],
|
|
112
|
+
syncValue = _ref2[5];
|
|
89
113
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
key: keyStr
|
|
102
|
-
}, function (data, form) {
|
|
103
|
-
var _config$item;
|
|
104
|
-
// 依赖规则可能有多条,且可能作用于同一类型(如多个 hidden、disabled 等),这里需要全部规则都满足才生效
|
|
105
|
-
var _ref2 = [],
|
|
106
|
-
hidden = _ref2[0],
|
|
107
|
-
disabled = _ref2[1],
|
|
108
|
-
clear = _ref2[2],
|
|
109
|
-
updateData = _ref2[3],
|
|
110
|
-
show = _ref2[4],
|
|
111
|
-
syncValue = _ref2[5];
|
|
114
|
+
/** 条件判断 */
|
|
115
|
+
var judge = function judge(inlineItem) {
|
|
116
|
+
if (inlineItem.op) {
|
|
117
|
+
return handlerFilter(data, [{
|
|
118
|
+
original: inlineItem.field,
|
|
119
|
+
target: inlineItem.target,
|
|
120
|
+
op: inlineItem.op
|
|
121
|
+
}]);
|
|
122
|
+
}
|
|
123
|
+
return true;
|
|
124
|
+
};
|
|
112
125
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
return true;
|
|
123
|
-
};
|
|
126
|
+
/** 判断是否需要用户操作才触发 */
|
|
127
|
+
var isTouchedFn = function isTouchedFn(field) {
|
|
128
|
+
var isTouched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
129
|
+
if (isTouched) {
|
|
130
|
+
return form.isFieldTouched(field);
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
};
|
|
124
134
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
break;
|
|
154
|
-
case 'syncValue':
|
|
155
|
-
if (typeof syncValue === 'undefined' || syncValue) syncValue = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
156
|
-
break;
|
|
157
|
-
default:
|
|
158
|
-
console.error('错误的 dependenciesV2 action 配置');
|
|
159
|
-
break;
|
|
160
|
-
}
|
|
161
|
-
});
|
|
135
|
+
// console.log(data, dependMap)
|
|
136
|
+
Object.values(dependMap).forEach(function (dependItem) {
|
|
137
|
+
var _dependItem$isTouched;
|
|
138
|
+
switch (dependItem.action) {
|
|
139
|
+
case 'hidden':
|
|
140
|
+
// 多条 hidden 规则,只有全部为 true 时才隐藏(即“与”关系)
|
|
141
|
+
if (typeof hidden === 'undefined' || hidden) hidden = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
142
|
+
break;
|
|
143
|
+
case 'show':
|
|
144
|
+
if (typeof show === 'undefined' || show) show = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
145
|
+
break;
|
|
146
|
+
case 'disabled':
|
|
147
|
+
if (typeof disabled === 'undefined' || disabled) disabled = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
148
|
+
break;
|
|
149
|
+
case 'clear':
|
|
150
|
+
if (typeof clear === 'undefined' || clear) clear = isTouchedFn(dependItem.field, (_dependItem$isTouched = dependItem.isTouched) !== null && _dependItem$isTouched !== void 0 ? _dependItem$isTouched : true) && judge(dependItem);
|
|
151
|
+
break;
|
|
152
|
+
case 'updateData':
|
|
153
|
+
if (typeof updateData === 'undefined' || updateData) updateData = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
154
|
+
break;
|
|
155
|
+
case 'syncValue':
|
|
156
|
+
if (typeof syncValue === 'undefined' || syncValue) syncValue = isTouchedFn(dependItem.field, dependItem.isTouched) && judge(dependItem);
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
159
|
+
console.error('错误的 dependenciesV2 action 配置');
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
162
163
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
// 处理冲突:hidden 优先级最高,满足则直接 return null,不渲染
|
|
165
|
+
if (hidden) return null;
|
|
166
|
+
// show 存在时,只有全部 show 规则都为 true 才显示,否则 return null
|
|
167
|
+
if (typeof show === 'boolean' && !show) return null;
|
|
167
168
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
// 实时修改 fieldProps,disabled 联动
|
|
170
|
+
var fieldProps = ((_config$item = config.item) === null || _config$item === void 0 ? void 0 : _config$item.fieldProps) || {};
|
|
171
|
+
config.item.fieldProps = _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
172
|
+
disabled: disabled
|
|
173
|
+
});
|
|
173
174
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
175
|
+
// clear 联动,满足全部 clear 规则时清空当前字段
|
|
176
|
+
if (clear) {
|
|
177
|
+
setTimeout(function () {
|
|
178
|
+
form.setFields([{
|
|
179
|
+
name: keyStr,
|
|
180
|
+
value: undefined,
|
|
181
|
+
touched: false,
|
|
182
|
+
validated: false
|
|
183
|
+
}]);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
185
186
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
// updateData 联动,满足全部 updateData 规则时缓存依赖数据
|
|
188
|
+
if (updateData) {
|
|
189
|
+
dependenciesSearchCacheData[keyStr] = data;
|
|
190
|
+
}
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
192
|
+
// syncValue 联动,满足全部 syncValue 规则时同步指定字段的值
|
|
193
|
+
if (syncValue) {
|
|
194
|
+
// 只取第一个 syncValue 规则对应的字段
|
|
195
|
+
var key = item.dependenciesV2.find(function (ii) {
|
|
196
|
+
return ii.action === 'syncValue';
|
|
197
|
+
}).field;
|
|
198
|
+
setTimeout(function () {
|
|
199
|
+
form.setFields([{
|
|
200
|
+
name: keyStr,
|
|
201
|
+
value: data[key],
|
|
202
|
+
touched: false
|
|
203
|
+
}]);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
205
206
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
207
|
+
// 渲染最终组件,数据优先取 updateData 缓存
|
|
208
|
+
return renderComponentNode(config, dependenciesSearchCacheData[keyStr] || {}, form);
|
|
209
|
+
}
|
|
210
|
+
}, keyStr);
|
|
211
|
+
}
|
|
212
|
+
if (item.dependencies) {
|
|
213
|
+
// 获取依赖字段
|
|
214
|
+
var _processDependencyFie = processDependencyFields(item.dependencies),
|
|
215
|
+
_allFields = _processDependencyFie.allFields,
|
|
216
|
+
visibleFields = _processDependencyFie.visibleFields,
|
|
217
|
+
valueFields = _processDependencyFie.valueFields,
|
|
218
|
+
searchFields = _processDependencyFie.searchFields,
|
|
219
|
+
disabledFields = _processDependencyFie.disabledFields;
|
|
220
|
+
return /*#__PURE__*/_jsx(ProFormDependency, {
|
|
221
|
+
name: _allFields,
|
|
222
|
+
children: function children(values, form) {
|
|
223
|
+
var valueStr = JSON.stringify(values);
|
|
224
|
+
// 禁用联动逻辑
|
|
225
|
+
var shouldDisabled = disabledFields.every(function (field) {
|
|
226
|
+
return values[field] !== undefined && values[field] !== false && values[field].length !== 0;
|
|
227
|
+
});
|
|
228
|
+
if ((disabledFields === null || disabledFields === void 0 ? void 0 : disabledFields.length) > 0 && shouldDisabled) {
|
|
229
|
+
var _config$item2;
|
|
230
|
+
var fieldProps = ((_config$item2 = config.item) === null || _config$item2 === void 0 ? void 0 : _config$item2.fieldProps) || {};
|
|
231
|
+
config.item.fieldProps = _objectSpread(_objectSpread({}, fieldProps), {}, {
|
|
232
|
+
disabled: true
|
|
233
|
+
});
|
|
234
|
+
}
|
|
234
235
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
236
|
+
// 显隐联动逻辑
|
|
237
|
+
var shouldShow = visibleFields.every(function (field) {
|
|
238
|
+
return values[field] !== undefined && values[field] !== false && values[field].length !== 0;
|
|
239
|
+
});
|
|
240
|
+
if (!shouldShow) return null;
|
|
241
|
+
// 赋值联动逻辑 如果只有一个值依赖字段,同步值,多个赋值联动则不触发
|
|
242
|
+
if (valueFields.length === 1) {
|
|
243
|
+
setTimeout(function () {
|
|
244
|
+
form.setFieldValue(keyStr, values[valueFields[0]]);
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
// 数据源联动逻辑
|
|
248
|
+
if (searchFields.length > 0 && dependenciesSearchCache[keyStr] !== valueStr && form.isFieldsTouched(searchFields)
|
|
249
|
+
// searchFields.some(field => form.isFieldTouched(field))
|
|
250
|
+
) {
|
|
251
|
+
dependenciesSearchCache[keyStr] = valueStr;
|
|
252
|
+
setTimeout(function () {
|
|
253
|
+
form.setFieldValue(keyStr, undefined);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
return renderComponentNode(config, values, form);
|
|
257
|
+
}
|
|
258
|
+
}, keyStr);
|
|
259
|
+
}
|
|
260
|
+
return renderComponentNode(config, {}, topForm);
|
|
261
|
+
})]
|
|
262
|
+
});
|
|
260
263
|
};
|