@teamix/pro 1.3.14 → 1.3.15
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/pro.css +1 -1
- package/dist/pro.js +267 -126
- package/dist/pro.min.css +1 -1
- package/dist/pro.min.js +1 -1
- package/es/actions/index.scss +13 -0
- package/es/form/Filter/index.js +137 -38
- package/es/form/SchemaForm/initializeDataSource.d.ts +1 -2
- package/es/form/SchemaForm/initializeDataSource.js +14 -19
- package/es/form/SchemaForm/initializeRequest.js +25 -26
- package/es/form/SchemaForm/initializeRules.d.ts +2 -2
- package/es/form/SchemaForm/initializeRules.js +30 -23
- package/es/form/SchemaForm/reactions.d.ts +4 -4
- package/es/form/SchemaForm/reactions.js +22 -21
- package/es/form/typing.d.ts +9 -5
- package/es/form/utils.d.ts +8 -1
- package/es/form/utils.js +45 -2
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/actions/index.scss +13 -0
- package/lib/form/Filter/index.js +137 -38
- package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -2
- package/lib/form/SchemaForm/initializeDataSource.js +14 -19
- package/lib/form/SchemaForm/initializeRequest.js +26 -26
- package/lib/form/SchemaForm/initializeRules.d.ts +2 -2
- package/lib/form/SchemaForm/initializeRules.js +30 -22
- package/lib/form/SchemaForm/reactions.d.ts +4 -4
- package/lib/form/SchemaForm/reactions.js +22 -21
- package/lib/form/typing.d.ts +9 -5
- package/lib/form/utils.d.ts +8 -1
- package/lib/form/utils.js +47 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/es/actions/index.scss
CHANGED
@@ -121,3 +121,16 @@
|
|
121
121
|
}
|
122
122
|
}
|
123
123
|
}
|
124
|
+
|
125
|
+
// 针对弹层内的 table 在暗色模式下适配
|
126
|
+
.next-dialog-body {
|
127
|
+
.teamix-pro-table, .next-table-empty {
|
128
|
+
background: var(--dialog-bg);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
.next-drawer-body {
|
133
|
+
.teamix-pro-table, .next-table-empty {
|
134
|
+
background: var(--drawer-bg);
|
135
|
+
}
|
136
|
+
}
|
package/es/form/Filter/index.js
CHANGED
@@ -114,24 +114,21 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
114
114
|
}); // 等待mounted + 字段loading结束 + initialRequest结束 => 表单默认值初始化完成
|
115
115
|
|
116
116
|
if (!(form.mounted && !loadingField.length && !form.loading)) {
|
117
|
-
_context.next =
|
117
|
+
_context.next = 9;
|
118
118
|
break;
|
119
119
|
}
|
120
120
|
|
121
|
-
onFormInit =
|
122
|
-
|
123
|
-
|
124
|
-
filterEnable.current = 'filter';
|
121
|
+
onFormInit = undefined; // init后销毁 isFormInit 方法
|
125
122
|
|
126
123
|
if (!onInit) {
|
127
|
-
_context.next =
|
124
|
+
_context.next = 9;
|
128
125
|
break;
|
129
126
|
}
|
130
127
|
|
131
|
-
_context.next =
|
128
|
+
_context.next = 7;
|
132
129
|
return form.validate();
|
133
130
|
|
134
|
-
case
|
131
|
+
case 7:
|
135
132
|
onInit === null || onInit === void 0 ? void 0 : onInit(toJS(form.values)); // 设置Tag
|
136
133
|
|
137
134
|
if (mode === 'panel') {
|
@@ -139,7 +136,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
139
136
|
!panelVisible && configTag();
|
140
137
|
}
|
141
138
|
|
142
|
-
case
|
139
|
+
case 9:
|
143
140
|
case "end":
|
144
141
|
return _context.stop();
|
145
142
|
}
|
@@ -158,13 +155,105 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
158
155
|
|
159
156
|
if (formRef) {
|
160
157
|
var form = formMap[formName];
|
161
|
-
formRef.current = form;
|
158
|
+
formRef.current = form; // 自定义updateTags方法
|
162
159
|
|
163
160
|
if (!formRef.current.updateTags) {
|
164
161
|
formRef.current.updateTags = function () {
|
165
|
-
|
166
|
-
configTag();
|
162
|
+
updateTags(form);
|
167
163
|
};
|
164
|
+
} // 自定义setAsyncValues方法
|
165
|
+
|
166
|
+
|
167
|
+
if (!formRef.current.setAsyncValues) {
|
168
|
+
formRef.current.setAsyncValues = /*#__PURE__*/function () {
|
169
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
170
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
171
|
+
while (1) {
|
172
|
+
switch (_context2.prev = _context2.next) {
|
173
|
+
case 0:
|
174
|
+
form.setValues(values);
|
175
|
+
|
176
|
+
if (!(filterEnable.current === 'filter' && formName === 'advanced')) {
|
177
|
+
_context2.next = 6;
|
178
|
+
break;
|
179
|
+
}
|
180
|
+
|
181
|
+
_context2.next = 4;
|
182
|
+
return form.validate();
|
183
|
+
|
184
|
+
case 4:
|
185
|
+
onFilter === null || onFilter === void 0 ? void 0 : onFilter(toJS(form.values));
|
186
|
+
updateTags(form);
|
187
|
+
|
188
|
+
case 6:
|
189
|
+
case "end":
|
190
|
+
return _context2.stop();
|
191
|
+
}
|
192
|
+
}
|
193
|
+
}, _callee2);
|
194
|
+
}));
|
195
|
+
|
196
|
+
return function (_x2) {
|
197
|
+
return _ref2.apply(this, arguments);
|
198
|
+
};
|
199
|
+
}();
|
200
|
+
} // 自定义triggerFilter方法
|
201
|
+
|
202
|
+
|
203
|
+
if (!formRef.current.triggerFilter) {
|
204
|
+
formRef.current.triggerFilter = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
205
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
206
|
+
while (1) {
|
207
|
+
switch (_context3.prev = _context3.next) {
|
208
|
+
case 0:
|
209
|
+
_context3.next = 2;
|
210
|
+
return form.validate();
|
211
|
+
|
212
|
+
case 2:
|
213
|
+
onFilter === null || onFilter === void 0 ? void 0 : onFilter(toJS(form.values));
|
214
|
+
|
215
|
+
if (formName === 'advanced') {
|
216
|
+
updateTags(form);
|
217
|
+
}
|
218
|
+
|
219
|
+
case 4:
|
220
|
+
case "end":
|
221
|
+
return _context3.stop();
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}, _callee3);
|
225
|
+
}));
|
226
|
+
} // 自定义triggerReset方法
|
227
|
+
|
228
|
+
|
229
|
+
if (!formRef.current.triggerReset) {
|
230
|
+
formRef.current.triggerReset = /*#__PURE__*/function () {
|
231
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(config) {
|
232
|
+
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
233
|
+
while (1) {
|
234
|
+
switch (_context4.prev = _context4.next) {
|
235
|
+
case 0:
|
236
|
+
simpleForm.reset('*', config);
|
237
|
+
lightForm.reset('*', config);
|
238
|
+
advancedForm.reset('*', config);
|
239
|
+
|
240
|
+
if (formName === 'advanced') {
|
241
|
+
onReset === null || onReset === void 0 ? void 0 : onReset(toJS(advancedForm.values));
|
242
|
+
updateTags(form);
|
243
|
+
}
|
244
|
+
|
245
|
+
case 4:
|
246
|
+
case "end":
|
247
|
+
return _context4.stop();
|
248
|
+
}
|
249
|
+
}
|
250
|
+
}, _callee4);
|
251
|
+
}));
|
252
|
+
|
253
|
+
return function (_x3) {
|
254
|
+
return _ref4.apply(this, arguments);
|
255
|
+
};
|
256
|
+
}();
|
168
257
|
}
|
169
258
|
}
|
170
259
|
}; // 创建简单筛选表单实例
|
@@ -176,7 +265,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
176
265
|
effects: function effects() {
|
177
266
|
onFormReact(function (form) {
|
178
267
|
if (mode === 'inline') {
|
179
|
-
|
268
|
+
var _onFormInit;
|
269
|
+
|
270
|
+
(_onFormInit = onFormInit) === null || _onFormInit === void 0 ? void 0 : _onFormInit(form).finally(function () {
|
271
|
+
return filterEnable.current = 'filter';
|
272
|
+
});
|
180
273
|
}
|
181
274
|
});
|
182
275
|
}
|
@@ -200,7 +293,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
200
293
|
effects: function effects() {
|
201
294
|
onFormReact(function (form) {
|
202
295
|
if (mode === 'panel') {
|
203
|
-
|
296
|
+
var _onFormInit2;
|
297
|
+
|
298
|
+
(_onFormInit2 = onFormInit) === null || _onFormInit2 === void 0 ? void 0 : _onFormInit2(form).finally(function () {
|
299
|
+
return filterEnable.current = 'filter';
|
300
|
+
});
|
204
301
|
}
|
205
302
|
});
|
206
303
|
onFormInputChange(function (form) {
|
@@ -219,12 +316,12 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
219
316
|
var displayValues = getFormDisplayValues(form);
|
220
317
|
var originalData = Object.entries(displayValues);
|
221
318
|
var filterData = [];
|
222
|
-
originalData.forEach(function (
|
319
|
+
originalData.forEach(function (_ref5) {
|
223
320
|
var _data$displayValue;
|
224
321
|
|
225
|
-
var
|
226
|
-
key =
|
227
|
-
data =
|
322
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
323
|
+
key = _ref6[0],
|
324
|
+
data = _ref6[1];
|
228
325
|
|
229
326
|
var value = (_data$displayValue = data.displayValue) !== null && _data$displayValue !== void 0 ? _data$displayValue : data.value;
|
230
327
|
var component = data.component;
|
@@ -259,6 +356,11 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
259
356
|
|
260
357
|
var configTag = useCallback(function () {
|
261
358
|
setTagDataSource(filterItem.current);
|
359
|
+
}, []); // 更新标签数据
|
360
|
+
|
361
|
+
var updateTags = useCallback(function (form) {
|
362
|
+
configFilterItem(form);
|
363
|
+
configTag();
|
262
364
|
}, []); // 展开收起高级筛选
|
263
365
|
|
264
366
|
var toggleAdvancedFilter = useCallback(function () {
|
@@ -281,12 +383,12 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
281
383
|
}, [panelVisible, configTag]); // 简单搜索Filter
|
282
384
|
|
283
385
|
var onSimpleFilter = useCallback( /*#__PURE__*/function () {
|
284
|
-
var
|
285
|
-
return regeneratorRuntime.wrap(function
|
386
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(values) {
|
387
|
+
return regeneratorRuntime.wrap(function _callee5$(_context5) {
|
286
388
|
while (1) {
|
287
|
-
switch (
|
389
|
+
switch (_context5.prev = _context5.next) {
|
288
390
|
case 0:
|
289
|
-
|
391
|
+
_context5.next = 2;
|
290
392
|
return simpleForm.validate();
|
291
393
|
|
292
394
|
case 2:
|
@@ -294,14 +396,14 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
294
396
|
|
295
397
|
case 3:
|
296
398
|
case "end":
|
297
|
-
return
|
399
|
+
return _context5.stop();
|
298
400
|
}
|
299
401
|
}
|
300
|
-
},
|
402
|
+
}, _callee5);
|
301
403
|
}));
|
302
404
|
|
303
|
-
return function (
|
304
|
-
return
|
405
|
+
return function (_x4) {
|
406
|
+
return _ref7.apply(this, arguments);
|
305
407
|
};
|
306
408
|
}(), [onFilter]); // 简单搜索Change
|
307
409
|
|
@@ -324,10 +426,8 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
324
426
|
(_Object$keys = Object.keys(advancedForm.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (key) {
|
325
427
|
clearKeys[key] = undefined;
|
326
428
|
});
|
327
|
-
advancedForm.setValues(clearKeys);
|
328
|
-
|
329
|
-
configFilterItem(advancedForm);
|
330
|
-
configTag();
|
429
|
+
advancedForm.setValues(clearKeys);
|
430
|
+
updateTags(advancedForm);
|
331
431
|
}, [onFilter]); // 轻量搜索Change
|
332
432
|
|
333
433
|
var onLightChange = useCallback(function (values, fieldValue, fieldName) {
|
@@ -375,8 +475,7 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
375
475
|
}
|
376
476
|
|
377
477
|
advancedForm.setValuesIn(key, newValue);
|
378
|
-
|
379
|
-
configTag();
|
478
|
+
updateTags(advancedForm);
|
380
479
|
onFilter === null || onFilter === void 0 ? void 0 : onFilter(toJS(advancedForm.values));
|
381
480
|
}, [onFilter]); // initialRequest 的回调
|
382
481
|
|
@@ -420,12 +519,12 @@ var QueryFilter = /*#__PURE__*/memo(function (props) {
|
|
420
519
|
onReset: onAdvancedReset,
|
421
520
|
onInitialComplete: onInitialComplete
|
422
521
|
})) : null
|
423
|
-
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (
|
424
|
-
var key =
|
425
|
-
label =
|
426
|
-
value =
|
427
|
-
type =
|
428
|
-
index =
|
522
|
+
}, mode === 'panel' && !panelVisible ? /*#__PURE__*/React.createElement(Tag.Group, null, tagDataSource.map(function (_ref8) {
|
523
|
+
var key = _ref8.key,
|
524
|
+
label = _ref8.label,
|
525
|
+
value = _ref8.value,
|
526
|
+
type = _ref8.type,
|
527
|
+
index = _ref8.index;
|
429
528
|
return /*#__PURE__*/React.createElement(Tag.Closeable, {
|
430
529
|
key: isNum(index) ? key + label : key,
|
431
530
|
afterClose: function afterClose() {
|
@@ -1,27 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
import { isPlainObj } from '@teamix/utils';
|
1
|
+
import { initializeRequestExpression } from '../utils';
|
4
2
|
|
5
3
|
var initializeDataSource = function initializeDataSource(dataSource, suffix) {
|
6
|
-
|
7
|
-
var _requestConfig$extraC;
|
4
|
+
var _dataSource$extraConf;
|
8
5
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
reactions: ["{{$dataSource($request,".concat(requestConfigName, ",context)}}")],
|
13
|
-
scope: _defineProperty({}, requestConfigName, requestConfig),
|
14
|
-
// dataSource请求时,默认配置字段为只读
|
15
|
-
data: {
|
16
|
-
readOnlyOnLoading: (requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$extraC = requestConfig.extraConfig) === null || _requestConfig$extraC === void 0 ? void 0 : _requestConfig$extraC.readOnly) !== false
|
17
|
-
}
|
18
|
-
};
|
19
|
-
}
|
6
|
+
var _initializeRequestExp = initializeRequestExpression(dataSource, '$dataSource', suffix),
|
7
|
+
expression = _initializeRequestExp.expression,
|
8
|
+
scope = _initializeRequestExp.scope;
|
20
9
|
|
21
|
-
return {
|
22
|
-
|
10
|
+
return expression ? {
|
11
|
+
reactions: [expression],
|
12
|
+
scope: scope,
|
13
|
+
data: {
|
14
|
+
readOnlyOnLoading: (dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$extraConf = dataSource.extraConfig) === null || _dataSource$extraConf === void 0 ? void 0 : _dataSource$extraConf.readOnly) !== false
|
15
|
+
}
|
16
|
+
} : {
|
23
17
|
reactions: [],
|
24
|
-
scope: {}
|
18
|
+
scope: {},
|
19
|
+
dataSource: dataSource
|
25
20
|
};
|
26
21
|
};
|
27
22
|
|
@@ -17,37 +17,36 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
|
|
17
17
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
18
18
|
|
19
19
|
import { isArr } from '@teamix/utils';
|
20
|
+
import { initializeRequestExpression } from '../utils';
|
20
21
|
|
21
|
-
var
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
var scopeMap = {};
|
26
|
-
requestConfig.forEach(function (item, index) {
|
27
|
-
var _initializeRequest = initializeRequest(item, "".concat(suffix).concat(index)),
|
28
|
-
reactions = _initializeRequest.reactions,
|
29
|
-
scope = _initializeRequest.scope;
|
30
|
-
|
31
|
-
reactionsMap = [].concat(_toConsumableArray(reactionsMap), _toConsumableArray(reactions));
|
32
|
-
scopeMap = _objectSpread(_objectSpread({}, scopeMap), scope);
|
33
|
-
});
|
34
|
-
return {
|
35
|
-
reactions: reactionsMap,
|
36
|
-
scope: scopeMap
|
37
|
-
};
|
38
|
-
} else {
|
39
|
-
var requestConfigName = "$requestConfig_".concat(suffix);
|
40
|
-
return {
|
41
|
-
reactions: ["{{$common($request,".concat(requestConfigName, ",context)}}")],
|
42
|
-
scope: _defineProperty({}, requestConfigName, requestConfig)
|
43
|
-
};
|
44
|
-
}
|
45
|
-
}
|
22
|
+
var initializeItem = function initializeItem(request, suffix) {
|
23
|
+
var _initializeRequestExp = initializeRequestExpression(request, '$common', suffix),
|
24
|
+
expression = _initializeRequestExp.expression,
|
25
|
+
scope = _initializeRequestExp.scope;
|
46
26
|
|
47
|
-
return {
|
27
|
+
return expression ? {
|
28
|
+
reactions: [expression],
|
29
|
+
scope: scope
|
30
|
+
} : {
|
48
31
|
reactions: [],
|
49
32
|
scope: {}
|
50
33
|
};
|
51
34
|
};
|
52
35
|
|
36
|
+
var initializeRequest = function initializeRequest(request, suffix) {
|
37
|
+
if (isArr(request)) {
|
38
|
+
return request.reduce(function (prev, current, index) {
|
39
|
+
var result = initializeItem(current, "".concat(suffix, "_").concat(index));
|
40
|
+
prev.reactions = [].concat(_toConsumableArray(prev.reactions), _toConsumableArray(result.reactions));
|
41
|
+
prev.scope = _objectSpread(_objectSpread({}, prev.scope), result.scope);
|
42
|
+
return prev;
|
43
|
+
}, {
|
44
|
+
reactions: [],
|
45
|
+
scope: {}
|
46
|
+
});
|
47
|
+
}
|
48
|
+
|
49
|
+
return initializeItem(request, suffix);
|
50
|
+
};
|
51
|
+
|
53
52
|
export default initializeRequest;
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var _excluded = ["validator"];
|
2
|
+
|
1
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
4
|
|
3
5
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -16,32 +18,37 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
16
18
|
|
17
19
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
18
20
|
|
19
|
-
|
21
|
+
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; }
|
20
22
|
|
21
|
-
var
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
}
|
23
|
+
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; }
|
24
|
+
|
25
|
+
import { isArr } from '@teamix/utils';
|
26
|
+
import { initializeRequestExpression } from '../utils';
|
27
|
+
|
28
|
+
var initializeRule = function initializeRule(rule, suffix) {
|
29
|
+
var _ref = rule || {},
|
30
|
+
validator = _ref.validator,
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
32
|
+
|
33
|
+
var _initializeRequestExp = initializeRequestExpression(validator, '$validator', suffix),
|
34
|
+
expression = _initializeRequestExp.expression,
|
35
|
+
scope = _initializeRequestExp.scope;
|
36
|
+
|
37
|
+
return expression ? {
|
38
|
+
scope: scope,
|
39
|
+
rules: _objectSpread({
|
40
|
+
validator: expression
|
41
|
+
}, rest)
|
42
|
+
} : {
|
43
|
+
scope: {},
|
44
|
+
rules: rule
|
40
45
|
};
|
46
|
+
};
|
41
47
|
|
48
|
+
var initializeRules = function initializeRules(rules, suffix) {
|
42
49
|
if (isArr(rules)) {
|
43
|
-
return rules.reduce(function (prev, current,
|
44
|
-
var result =
|
50
|
+
return rules.reduce(function (prev, current, index) {
|
51
|
+
var result = initializeRule(current, "".concat(suffix, "_").concat(index));
|
45
52
|
prev.rules = [].concat(_toConsumableArray(prev.rules), [result.rules]);
|
46
53
|
prev.scope = _objectSpread(_objectSpread({}, prev.scope), result.scope);
|
47
54
|
return prev;
|
@@ -51,7 +58,7 @@ var initializeRules = function initializeRules(rules, suffix) {
|
|
51
58
|
});
|
52
59
|
}
|
53
60
|
|
54
|
-
return
|
61
|
+
return initializeRule(rules, suffix);
|
55
62
|
};
|
56
63
|
|
57
64
|
export default initializeRules;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { ProFormRequestConfig } from '../typing';
|
2
|
-
declare const $request: (field: any, { extraConfig, ...
|
3
|
-
declare const $common: (services: any,
|
4
|
-
declare const $validator: (services: any,
|
5
|
-
declare const $dataSource: (services: any,
|
2
|
+
declare const $request: (field: any, context: any, { extraConfig, onComplete, ...rest }: ProFormRequestConfig, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
|
3
|
+
declare const $common: (services: any, context: any, requestConfig: ProFormRequestConfig) => (field: any) => any;
|
4
|
+
declare const $validator: (services: any, context: any, requestConfig: ProFormRequestConfig) => (value: any, rules: any, { field }: any) => any;
|
5
|
+
declare const $dataSource: (services: any, context: any, requestConfig: ProFormRequestConfig) => (field: any) => any;
|
6
6
|
export { $request, $common, $dataSource, $validator };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
var _excluded = ["extraConfig"];
|
1
|
+
var _excluded = ["extraConfig", "onComplete"];
|
2
2
|
|
3
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
4
4
|
|
@@ -12,24 +12,23 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
12
12
|
|
13
13
|
import { isFn, isPlainObj, doCommonRequest, getValueByValue } from '@teamix/utils'; // 配置请求
|
14
14
|
|
15
|
-
var $request = function $request(field,
|
15
|
+
var $request = function $request(field, context, _ref, type) {
|
16
16
|
var _field$data;
|
17
17
|
|
18
18
|
var extraConfig = _ref.extraConfig,
|
19
|
-
|
19
|
+
onComplete = _ref.onComplete,
|
20
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
20
21
|
|
22
|
+
var requestConfig = rest;
|
21
23
|
var params = requestConfig.params,
|
22
24
|
beforeRequest = requestConfig.beforeRequest,
|
23
25
|
formatResult = requestConfig.formatResult,
|
24
26
|
onSuccess = requestConfig.onSuccess;
|
25
|
-
var beforeRequestResult = isFn(beforeRequest) ? beforeRequest(field, context) : {};
|
26
|
-
/**
|
27
|
-
* 主动触发的请求刷新
|
28
|
-
*/
|
29
|
-
// 触发所有配置的请求
|
27
|
+
var beforeRequestResult = isFn(beforeRequest) ? beforeRequest(field, context) : {}; // 通过字段 data 的 refresh 主动触发的请求刷新
|
30
28
|
|
31
29
|
var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
|
32
|
-
var refreshResult = isPlainObj(refresh) ? refresh : {};
|
30
|
+
var refreshResult = isPlainObj(refresh) ? refresh : {}; // 执行通用数据请求
|
31
|
+
|
33
32
|
return doCommonRequest(_objectSpread(_objectSpread({}, requestConfig), {}, {
|
34
33
|
params: _objectSpread(_objectSpread(_objectSpread({}, params), beforeRequestResult), refreshResult),
|
35
34
|
beforeRequest: function beforeRequest() {
|
@@ -45,36 +44,38 @@ var $request = function $request(field, _ref, context, type) {
|
|
45
44
|
}; // 通用请求配置上下文
|
46
45
|
|
47
46
|
|
48
|
-
var $common = function $common(services,
|
47
|
+
var $common = function $common(services, context, requestConfig) {
|
49
48
|
return function (field) {
|
50
|
-
return services(field,
|
49
|
+
return services(field, context, requestConfig, 'request').then(function (res) {
|
51
50
|
var _requestConfig$onComp;
|
52
51
|
|
53
|
-
return (_requestConfig$onComp = requestConfig.onComplete) === null || _requestConfig$onComp === void 0 ? void 0 : _requestConfig$onComp.call(requestConfig, res, field, context);
|
52
|
+
return requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$onComp = requestConfig.onComplete) === null || _requestConfig$onComp === void 0 ? void 0 : _requestConfig$onComp.call(requestConfig, res, field, context);
|
54
53
|
});
|
55
54
|
};
|
56
55
|
}; // 配置校验
|
57
56
|
|
58
57
|
|
59
|
-
var $validator = function $validator(services,
|
58
|
+
var $validator = function $validator(services, context, requestConfig) {
|
60
59
|
return function (value, rules, _ref2) {
|
61
60
|
var field = _ref2.field;
|
62
|
-
return services(field,
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
return services(field, context, requestConfig, 'validator').then(function (res) {
|
62
|
+
if (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.onComplete) {
|
63
|
+
return requestConfig.onComplete(res, field, context);
|
64
|
+
} else {
|
65
|
+
return res;
|
66
|
+
}
|
66
67
|
});
|
67
68
|
};
|
68
69
|
}; // 配置DataSource
|
69
70
|
|
70
71
|
|
71
|
-
var $dataSource = function $dataSource(services,
|
72
|
+
var $dataSource = function $dataSource(services, context, requestConfig) {
|
72
73
|
return function (field) {
|
73
74
|
field.setState({
|
74
75
|
loading: true
|
75
76
|
});
|
76
|
-
return services(field,
|
77
|
-
var _requestConfig$extraC, _requestConfig$
|
77
|
+
return services(field, context, requestConfig, 'dataSource').then(function (res) {
|
78
|
+
var _requestConfig$extraC, _requestConfig$onComp2;
|
78
79
|
|
79
80
|
var isValueInDataSource = getValueByValue(res, field.value);
|
80
81
|
var clearResult = !isValueInDataSource && (requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$extraC = requestConfig.extraConfig) === null || _requestConfig$extraC === void 0 ? void 0 : _requestConfig$extraC.clearInvalidValue) !== false ? {
|
@@ -84,7 +85,7 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
|
|
84
85
|
dataSource: res,
|
85
86
|
loading: false
|
86
87
|
}, clearResult));
|
87
|
-
return (_requestConfig$
|
88
|
+
return requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$onComp2 = requestConfig.onComplete) === null || _requestConfig$onComp2 === void 0 ? void 0 : _requestConfig$onComp2.call(requestConfig, res, field, context);
|
88
89
|
}).catch(function () {
|
89
90
|
field.setState({
|
90
91
|
loading: false
|
package/es/form/typing.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { ReactNode } from 'react';
|
2
2
|
import type { IFormFeedback, Form as FormType, FieldPatternTypes } from '@formily/core';
|
3
3
|
import type { IFormLayoutProps } from '@teamix/formily';
|
4
|
-
import { CommonRequestConfig } from '@teamix/utils';
|
4
|
+
import type { CommonRequestConfig } from '@teamix/utils';
|
5
5
|
import React from 'react';
|
6
6
|
interface AnyObject {
|
7
7
|
[propName: string]: any;
|
@@ -18,12 +18,16 @@ declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker'
|
|
18
18
|
declare type IButtonComponent = 'Submit' | 'Reset';
|
19
19
|
declare type IComboComponent = 'ArrayCards' | 'ArrayCards.Addition' | 'ArrayCards.Remove' | 'ArrayCards.MoveUp' | 'ArrayCards.MoveDown' | 'ArrayCards.Index' | 'ArrayCollapse' | 'ArrayCollapse.CollapsePanel' | 'ArrayCollapse.Addition' | 'ArrayCollapse.Remove' | 'ArrayCollapse.MoveUp' | 'ArrayCollapse.MoveDown' | 'ArrayCollapse.Index' | 'ArrayTable' | 'ArrayTable.Column' | 'ArrayTable.SortHandle' | 'ArrayTable.Addition' | 'ArrayTable.Remove' | 'ArrayTable.MoveDown' | 'ArrayTable.MoveUp' | 'ArrayTable.Index' | 'ArrayItems' | 'ArrayItems.Item' | 'ArrayItems.SortHandle' | 'ArrayItems.Addition' | 'ArrayItems.Remove' | 'ArrayItems.MoveDown' | 'ArrayItems.MoveUp' | 'ArrayItems.Index' | 'Editable' | 'Editable.Popover' | 'Editable.Dialog' | 'Editable.Drawer';
|
20
20
|
declare type ILayoutComponent = 'FormFlex' | 'FormGrid' | 'FormGroup' | 'FormGroup.GroupPanel' | 'Search' | 'Search.SearchPanel' | 'FormTab' | 'FormTab.TabPane' | 'FormStep' | 'FormStep.StepPane' | 'FormCollapse' | 'FormCollapse.CollapsePanel' | 'FormButtonGroup' | 'FormDialog' | 'FormDrawer' | 'FormDialog.Footer' | 'FormDrawer.Footer';
|
21
|
-
export interface
|
21
|
+
export interface ProFormCommonRequestConfig extends CommonRequestConfig {
|
22
22
|
beforeRequest?: (field?: any, context?: any) => any;
|
23
23
|
formatResult?: (res?: any, field?: any, context?: any) => any;
|
24
24
|
onSuccess?: (res?: any, field?: any, context?: any) => any;
|
25
|
-
|
25
|
+
}
|
26
|
+
export interface ProFormRequestConfig extends Omit<ProFormCommonRequestConfig, 'url'> {
|
27
|
+
url?: string;
|
28
|
+
customRequest?: (field?: any, context?: any) => Promise<any>;
|
26
29
|
extraConfig?: AnyObject;
|
30
|
+
onComplete?: (res?: any, field?: any, context?: any) => any;
|
27
31
|
}
|
28
32
|
export interface ProFormSchemaItem {
|
29
33
|
type?: string;
|
@@ -64,7 +68,7 @@ export interface ProFormProps extends IFormLayoutProps {
|
|
64
68
|
};
|
65
69
|
children?: React.ReactNode;
|
66
70
|
initialValues?: AnyObject;
|
67
|
-
initialRequest?:
|
71
|
+
initialRequest?: ProFormCommonRequestConfig;
|
68
72
|
previewTextPlaceholder?: ReactNode;
|
69
73
|
validateFirst?: boolean;
|
70
74
|
onChangeType?: 'form';
|
@@ -121,7 +125,7 @@ export interface QueryFilterProps extends ProFormProps {
|
|
121
125
|
/** onChange事件的防抖时间 */
|
122
126
|
filterDebounce?: number;
|
123
127
|
/** 表单初始化(含异步默认值)后回调函数 */
|
124
|
-
onInit?: (values: any) =>
|
128
|
+
onInit?: (values: any) => void;
|
125
129
|
/** 表单筛选回调函数 */
|
126
130
|
onFilter?: (values: any) => void;
|
127
131
|
/** 表单重置回调函数 */
|