@teamix/pro 1.3.12 → 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.
Files changed (67) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +1520 -929
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/index.js +40 -4
  6. package/es/actions/index.scss +13 -0
  7. package/es/form/Filter/LightFilter.js +7 -5
  8. package/es/form/Filter/index.js +139 -40
  9. package/es/form/ProForm/index.d.ts +2 -3
  10. package/es/form/ProForm/index.js +47 -8
  11. package/es/form/ProForm/index.scss +7 -0
  12. package/es/form/ProForm/useFieldSchema.d.ts +7 -0
  13. package/es/form/ProForm/useFieldSchema.js +88 -0
  14. package/es/form/SchemaForm/index.js +2 -38
  15. package/es/form/SchemaForm/initializeDataSource.d.ts +1 -2
  16. package/es/form/SchemaForm/initializeDataSource.js +14 -19
  17. package/es/form/SchemaForm/initializeRequest.js +25 -26
  18. package/es/form/SchemaForm/initializeRules.d.ts +2 -2
  19. package/es/form/SchemaForm/initializeRules.js +30 -23
  20. package/es/form/SchemaForm/initializeSelectTable.js +80 -6
  21. package/es/form/SchemaForm/reactions.d.ts +4 -4
  22. package/es/form/SchemaForm/reactions.js +22 -21
  23. package/es/form/typing.d.ts +13 -6
  24. package/es/form/utils.d.ts +8 -1
  25. package/es/form/utils.js +45 -2
  26. package/es/index.d.ts +1 -1
  27. package/es/index.js +1 -1
  28. package/es/table/components/ToolBar/Fullscreen.d.ts +1 -1
  29. package/es/table/index.js +5 -3
  30. package/es/table/utils/pureColumnRender.d.ts +9 -0
  31. package/es/table/utils/pureColumnRender.js +201 -0
  32. package/es/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  33. package/es/table/utils/pureGenProColumnToColumn.js +36 -0
  34. package/es/timeline/ProTimeLineItem/index.js +8 -5
  35. package/es/timeline/typing.d.ts +5 -0
  36. package/lib/actions/index.js +40 -4
  37. package/lib/actions/index.scss +13 -0
  38. package/lib/form/Filter/LightFilter.js +7 -6
  39. package/lib/form/Filter/index.js +139 -40
  40. package/lib/form/ProForm/index.d.ts +2 -3
  41. package/lib/form/ProForm/index.js +53 -7
  42. package/lib/form/ProForm/index.scss +7 -0
  43. package/lib/form/ProForm/useFieldSchema.d.ts +7 -0
  44. package/lib/form/ProForm/useFieldSchema.js +97 -0
  45. package/lib/form/SchemaForm/index.js +2 -45
  46. package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -2
  47. package/lib/form/SchemaForm/initializeDataSource.js +14 -19
  48. package/lib/form/SchemaForm/initializeRequest.js +26 -26
  49. package/lib/form/SchemaForm/initializeRules.d.ts +2 -2
  50. package/lib/form/SchemaForm/initializeRules.js +30 -22
  51. package/lib/form/SchemaForm/initializeSelectTable.js +85 -6
  52. package/lib/form/SchemaForm/reactions.d.ts +4 -4
  53. package/lib/form/SchemaForm/reactions.js +22 -21
  54. package/lib/form/typing.d.ts +13 -6
  55. package/lib/form/utils.d.ts +8 -1
  56. package/lib/form/utils.js +47 -2
  57. package/lib/index.d.ts +1 -1
  58. package/lib/index.js +1 -1
  59. package/lib/table/components/ToolBar/Fullscreen.d.ts +1 -1
  60. package/lib/table/index.js +5 -3
  61. package/lib/table/utils/pureColumnRender.d.ts +9 -0
  62. package/lib/table/utils/pureColumnRender.js +215 -0
  63. package/lib/table/utils/pureGenProColumnToColumn.d.ts +7 -0
  64. package/lib/table/utils/pureGenProColumnToColumn.js +43 -0
  65. package/lib/timeline/ProTimeLineItem/index.js +8 -5
  66. package/lib/timeline/typing.d.ts +5 -0
  67. package/package.json +1 -1
@@ -150,24 +150,21 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
150
150
  }); // 等待mounted + 字段loading结束 + initialRequest结束 => 表单默认值初始化完成
151
151
 
152
152
  if (!(form.mounted && !loadingField.length && !form.loading)) {
153
- _context.next = 10;
153
+ _context.next = 9;
154
154
  break;
155
155
  }
156
156
 
157
- onFormInit = function onFormInit() {}; // init后销毁 isFormInit 方法
158
-
159
-
160
- filterEnable.current = 'filter';
157
+ onFormInit = undefined; // init后销毁 isFormInit 方法
161
158
 
162
159
  if (!onInit) {
163
- _context.next = 10;
160
+ _context.next = 9;
164
161
  break;
165
162
  }
166
163
 
167
- _context.next = 8;
164
+ _context.next = 7;
168
165
  return form.validate();
169
166
 
170
- case 8:
167
+ case 7:
171
168
  onInit === null || onInit === void 0 ? void 0 : onInit((0, _reactive.toJS)(form.values)); // 设置Tag
172
169
 
173
170
  if (mode === 'panel') {
@@ -175,7 +172,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
175
172
  !panelVisible && configTag();
176
173
  }
177
174
 
178
- case 10:
175
+ case 9:
179
176
  case "end":
180
177
  return _context.stop();
181
178
  }
@@ -194,13 +191,105 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
194
191
 
195
192
  if (formRef) {
196
193
  var form = formMap[formName];
197
- formRef.current = form;
194
+ formRef.current = form; // 自定义updateTags方法
198
195
 
199
196
  if (!formRef.current.updateTags) {
200
197
  formRef.current.updateTags = function () {
201
- configFilterItem(form);
202
- configTag();
198
+ updateTags(form);
203
199
  };
200
+ } // 自定义setAsyncValues方法
201
+
202
+
203
+ if (!formRef.current.setAsyncValues) {
204
+ formRef.current.setAsyncValues = /*#__PURE__*/function () {
205
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
206
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
207
+ while (1) {
208
+ switch (_context2.prev = _context2.next) {
209
+ case 0:
210
+ form.setValues(values);
211
+
212
+ if (!(filterEnable.current === 'filter' && formName === 'advanced')) {
213
+ _context2.next = 6;
214
+ break;
215
+ }
216
+
217
+ _context2.next = 4;
218
+ return form.validate();
219
+
220
+ case 4:
221
+ onFilter === null || onFilter === void 0 ? void 0 : onFilter((0, _reactive.toJS)(form.values));
222
+ updateTags(form);
223
+
224
+ case 6:
225
+ case "end":
226
+ return _context2.stop();
227
+ }
228
+ }
229
+ }, _callee2);
230
+ }));
231
+
232
+ return function (_x2) {
233
+ return _ref2.apply(this, arguments);
234
+ };
235
+ }();
236
+ } // 自定义triggerFilter方法
237
+
238
+
239
+ if (!formRef.current.triggerFilter) {
240
+ formRef.current.triggerFilter = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
241
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
242
+ while (1) {
243
+ switch (_context3.prev = _context3.next) {
244
+ case 0:
245
+ _context3.next = 2;
246
+ return form.validate();
247
+
248
+ case 2:
249
+ onFilter === null || onFilter === void 0 ? void 0 : onFilter((0, _reactive.toJS)(form.values));
250
+
251
+ if (formName === 'advanced') {
252
+ updateTags(form);
253
+ }
254
+
255
+ case 4:
256
+ case "end":
257
+ return _context3.stop();
258
+ }
259
+ }
260
+ }, _callee3);
261
+ }));
262
+ } // 自定义triggerReset方法
263
+
264
+
265
+ if (!formRef.current.triggerReset) {
266
+ formRef.current.triggerReset = /*#__PURE__*/function () {
267
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(config) {
268
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
269
+ while (1) {
270
+ switch (_context4.prev = _context4.next) {
271
+ case 0:
272
+ simpleForm.reset('*', config);
273
+ lightForm.reset('*', config);
274
+ advancedForm.reset('*', config);
275
+
276
+ if (formName === 'advanced') {
277
+ onReset === null || onReset === void 0 ? void 0 : onReset((0, _reactive.toJS)(advancedForm.values));
278
+ updateTags(form);
279
+ }
280
+
281
+ case 4:
282
+ case "end":
283
+ return _context4.stop();
284
+ }
285
+ }
286
+ }, _callee4);
287
+ }));
288
+
289
+ return function (_x3) {
290
+ return _ref4.apply(this, arguments);
291
+ };
292
+ }();
204
293
  }
205
294
  }
206
295
  }; // 创建简单筛选表单实例
@@ -212,7 +301,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
212
301
  effects: function effects() {
213
302
  (0, _core.onFormReact)(function (form) {
214
303
  if (mode === 'inline') {
215
- onFormInit(form);
304
+ var _onFormInit;
305
+
306
+ (_onFormInit = onFormInit) === null || _onFormInit === void 0 ? void 0 : _onFormInit(form).finally(function () {
307
+ return filterEnable.current = 'filter';
308
+ });
216
309
  }
217
310
  });
218
311
  }
@@ -236,7 +329,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
236
329
  effects: function effects() {
237
330
  (0, _core.onFormReact)(function (form) {
238
331
  if (mode === 'panel') {
239
- onFormInit(form);
332
+ var _onFormInit2;
333
+
334
+ (_onFormInit2 = onFormInit) === null || _onFormInit2 === void 0 ? void 0 : _onFormInit2(form).finally(function () {
335
+ return filterEnable.current = 'filter';
336
+ });
240
337
  }
241
338
  });
242
339
  (0, _core.onFormInputChange)(function (form) {
@@ -255,12 +352,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
255
352
  var displayValues = (0, _useFormDisplayValues.getFormDisplayValues)(form);
256
353
  var originalData = Object.entries(displayValues);
257
354
  var filterData = [];
258
- originalData.forEach(function (_ref2) {
355
+ originalData.forEach(function (_ref5) {
259
356
  var _data$displayValue;
260
357
 
261
- var _ref3 = _slicedToArray(_ref2, 2),
262
- key = _ref3[0],
263
- data = _ref3[1];
358
+ var _ref6 = _slicedToArray(_ref5, 2),
359
+ key = _ref6[0],
360
+ data = _ref6[1];
264
361
 
265
362
  var value = (_data$displayValue = data.displayValue) !== null && _data$displayValue !== void 0 ? _data$displayValue : data.value;
266
363
  var component = data.component;
@@ -295,6 +392,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
295
392
 
296
393
  var configTag = (0, _react.useCallback)(function () {
297
394
  setTagDataSource(filterItem.current);
395
+ }, []); // 更新标签数据
396
+
397
+ var updateTags = (0, _react.useCallback)(function (form) {
398
+ configFilterItem(form);
399
+ configTag();
298
400
  }, []); // 展开收起高级筛选
299
401
 
300
402
  var toggleAdvancedFilter = (0, _react.useCallback)(function () {
@@ -317,12 +419,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
317
419
  }, [panelVisible, configTag]); // 简单搜索Filter
318
420
 
319
421
  var onSimpleFilter = (0, _react.useCallback)( /*#__PURE__*/function () {
320
- var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
321
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
422
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(values) {
423
+ return regeneratorRuntime.wrap(function _callee5$(_context5) {
322
424
  while (1) {
323
- switch (_context2.prev = _context2.next) {
425
+ switch (_context5.prev = _context5.next) {
324
426
  case 0:
325
- _context2.next = 2;
427
+ _context5.next = 2;
326
428
  return simpleForm.validate();
327
429
 
328
430
  case 2:
@@ -330,14 +432,14 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
330
432
 
331
433
  case 3:
332
434
  case "end":
333
- return _context2.stop();
435
+ return _context5.stop();
334
436
  }
335
437
  }
336
- }, _callee2);
438
+ }, _callee5);
337
439
  }));
338
440
 
339
- return function (_x2) {
340
- return _ref4.apply(this, arguments);
441
+ return function (_x4) {
442
+ return _ref7.apply(this, arguments);
341
443
  };
342
444
  }(), [onFilter]); // 简单搜索Change
343
445
 
@@ -349,7 +451,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
349
451
  debounceFun(onSimpleFilter, values);
350
452
  }
351
453
  }
352
- }, [onChange]); // 轻量搜索Filter
454
+ }, [onChange, onSimpleFilter]); // 轻量搜索Filter
353
455
 
354
456
  var onLightFilter = (0, _react.useCallback)(function (values) {
355
457
  var _Object$keys;
@@ -360,10 +462,8 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
360
462
  (_Object$keys = Object.keys(advancedForm.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (key) {
361
463
  clearKeys[key] = undefined;
362
464
  });
363
- advancedForm.setValues(clearKeys); // 配置Tag
364
-
365
- configFilterItem(advancedForm);
366
- configTag();
465
+ advancedForm.setValues(clearKeys);
466
+ updateTags(advancedForm);
367
467
  }, [onFilter]); // 轻量搜索Change
368
468
 
369
469
  var onLightChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
@@ -374,7 +474,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
374
474
  debounceFun(onLightFilter, values);
375
475
  }
376
476
  }
377
- }, [onChange]); // 高级搜索Filter
477
+ }, [onChange, onLightFilter]); // 高级搜索Filter
378
478
 
379
479
  var onAdvancedFilter = (0, _react.useCallback)(function (values) {
380
480
  setCurrentForm('advanced');
@@ -411,8 +511,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
411
511
  }
412
512
 
413
513
  advancedForm.setValuesIn(key, newValue);
414
- configFilterItem(advancedForm);
415
- configTag();
514
+ updateTags(advancedForm);
416
515
  onFilter === null || onFilter === void 0 ? void 0 : onFilter((0, _reactive.toJS)(advancedForm.values));
417
516
  }, [onFilter]); // initialRequest 的回调
418
517
 
@@ -456,12 +555,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
456
555
  onReset: onAdvancedReset,
457
556
  onInitialComplete: onInitialComplete
458
557
  })) : null
459
- }, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref5) {
460
- var key = _ref5.key,
461
- label = _ref5.label,
462
- value = _ref5.value,
463
- type = _ref5.type,
464
- index = _ref5.index;
558
+ }, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref8) {
559
+ var key = _ref8.key,
560
+ label = _ref8.label,
561
+ value = _ref8.value,
562
+ type = _ref8.type,
563
+ index = _ref8.index;
465
564
  return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, {
466
565
  key: (0, _utils.isNum)(index) ? key + label : key,
467
566
  afterClose: function afterClose() {
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- import type { ProFormProps } from '../typing';
1
+ import type { ComposedProForm } from '../typing';
3
2
  import './index.scss';
4
- declare const ProForm: React.FC<ProFormProps>;
3
+ declare const ProForm: ComposedProForm;
5
4
  export default ProForm;
@@ -11,13 +11,25 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
+ var _utils = require("@teamix/utils");
15
+
14
16
  var _core = require("@formily/core");
15
17
 
16
18
  var _reactive = require("@formily/reactive");
17
19
 
18
20
  var _formily = require("@teamix/formily");
19
21
 
20
- var _utils = require("@teamix/utils");
22
+ var _components = require("@alicloudfe/components");
23
+
24
+ var _ProField = _interopRequireDefault(require("../Components/ProField"));
25
+
26
+ var _Editable = require("../Components/Editable");
27
+
28
+ var _FormGroup = _interopRequireDefault(require("../Components/FormGroup"));
29
+
30
+ var _LightFilter = _interopRequireDefault(require("../Components/LightFilter"));
31
+
32
+ var _index = _interopRequireDefault(require("../Components/Text/index"));
21
33
 
22
34
  var _SchemaForm = _interopRequireDefault(require("../SchemaForm"));
23
35
 
@@ -27,11 +39,13 @@ var _useAutoSubmit = _interopRequireDefault(require("./useAutoSubmit"));
27
39
 
28
40
  var _useInitialRequest = _interopRequireDefault(require("./useInitialRequest"));
29
41
 
42
+ var _useFieldSchema = _interopRequireDefault(require("./useFieldSchema"));
43
+
30
44
  var _validate = _interopRequireDefault(require("../locales/validate"));
31
45
 
32
46
  require("./index.scss");
33
47
 
34
- var _excluded = ["form", "initialValues", "initialRequest", "schema", "scope", "context", "components", "children", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "onChange", "onChangeType", "onSubmit", "onSubmitFailed", "onInitialComplete", "className", "validateFirst"];
48
+ var _excluded = ["form", "initialValues", "initialRequest", "scope", "context", "components", "layout", "labelAlign", "wrapperAlign", "labelCol", "wrapperCol", "breakpoints", "onChange", "onChangeType", "onSubmit", "onSubmitFailed", "onInitialComplete", "className", "validateFirst"];
35
49
 
36
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
51
 
@@ -50,15 +64,41 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
50
64
  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; }
51
65
 
52
66
  (0, _core.registerValidateLocale)(_validate.default);
67
+ var formilyComponents = {
68
+ FormLayout: _formily.FormLayout,
69
+ FormItem: _formily.FormItem,
70
+ ArrayCollapse: _formily.ArrayCollapse,
71
+ ArrayCards: _formily.ArrayCards,
72
+ ArrayItems: _formily.ArrayItems,
73
+ ArrayTable: _formily.ArrayTable,
74
+ Space: _formily.Space,
75
+ FormGrid: _formily.FormGrid,
76
+ FormTab: _formily.FormTab,
77
+ FormCollapse: _formily.FormCollapse,
78
+ FormStep: _formily.FormStep,
79
+ Editable: _formily.Editable,
80
+ FormDialogFooter: _formily.FormDialog.Footer,
81
+ FormDrawerFooter: _formily.FormDrawer.Footer,
82
+ FormButtonGroup: _formily.FormButtonGroup,
83
+ Submit: _formily.Submit,
84
+ Reset: _formily.Reset,
85
+ EditableDialog: _Editable.EditableDialog,
86
+ EditableDrawer: _Editable.EditableDrawer,
87
+ EditablePopover: _Editable.EditablePopover,
88
+ FormGroup: _FormGroup.default,
89
+ Upload: _formily.Upload,
90
+ SelectTable: _formily.SelectTable,
91
+ Affix: _components.Affix,
92
+ LightFilter: _LightFilter.default,
93
+ Text: _index.default
94
+ };
53
95
  var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
54
96
  var outerForm = _ref.form,
55
97
  initialValues = _ref.initialValues,
56
98
  initialRequest = _ref.initialRequest,
57
- schema = _ref.schema,
58
99
  scope = _ref.scope,
59
100
  context = _ref.context,
60
101
  components = _ref.components,
61
- children = _ref.children,
62
102
  layout = _ref.layout,
63
103
  labelAlign = _ref.labelAlign,
64
104
  wrapperAlign = _ref.wrapperAlign,
@@ -93,7 +133,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
93
133
  }); // context需要实名不能解构
94
134
 
95
135
 
96
- var mergedComponents = _objectSpread(_objectSpread({}, globalComponents), components);
136
+ var mergedComponents = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, globalComponents), components), formilyComponents), _ProField.default);
97
137
 
98
138
  var onAutoSubmit = (0, _useAutoSubmit.default)(onSubmit); // todo 需要formily支持断点下的属性更新
99
139
 
@@ -114,6 +154,7 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
114
154
  wrapperCol: (0, _utils2.mergeArrayValue)([24], wrapperCol)
115
155
  };
116
156
  }, [breakpoints, layout, labelAlign, wrapperAlign, labelCol, wrapperCol]);
157
+ var schema = (0, _useFieldSchema.default)(otherProps);
117
158
  (0, _react.useMemo)(function () {
118
159
  // 配置表单默认值
119
160
  if (initialValues) {
@@ -157,12 +198,17 @@ var ProForm = /*#__PURE__*/(0, _react.memo)(function (_ref) {
157
198
  form: form,
158
199
  onAutoSubmit: onAutoSubmit,
159
200
  onAutoSubmitFailed: onSubmitFailed
160
- }), /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
201
+ }), schema ? /*#__PURE__*/_react.default.createElement(_SchemaForm.default, {
161
202
  schema: schema,
162
203
  scope: mergedScope,
163
204
  components: mergedComponents
164
- }), children);
205
+ }) : null, otherProps === null || otherProps === void 0 ? void 0 : otherProps.children);
165
206
  });
207
+
208
+ ProForm.Field = function () {
209
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
210
+ };
211
+
166
212
  ProForm.defaultProps = {
167
213
  colon: false,
168
214
  labelAlign: 'left',
@@ -317,6 +317,13 @@
317
317
  }
318
318
  }
319
319
 
320
+ // SelectTable
321
+ .#{$teamix-pro-form}-select-table-column-tree
322
+ > .#{$css-prefix}table-cell-wrapper {
323
+ display: flex;
324
+ align-items: center;
325
+ }
326
+
320
327
  /* hack todo remove */
321
328
  .#{$form-item-cls}-control-content-component {
322
329
  .#{$teamix-pro-field}-tooltip.#{$teamix-pro-field}-checkbox {
@@ -0,0 +1,7 @@
1
+ declare const _default: ({ children, schema }: any) => any;
2
+ /**
3
+ * 获取 ProForm 的 schema 配置,通过合并 Field 字段 或者 schema 配置
4
+ * @param props ProForm 组件的 props
5
+ * @returns schema 配置
6
+ */
7
+ export default _default;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _utils = require("@teamix/utils");
9
+
10
+ var _excluded = ["id", "children", "reactions"],
11
+ _excluded2 = ["id", "children", "reactions"];
12
+
13
+ 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; }
14
+
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
+
17
+ 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
+
19
+ 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
+
21
+ 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; }
22
+
23
+ /**
24
+ * 合并 Field 字段 props 和 ProForm schema 配置,生成完整的 Field 字段 schema
25
+ * @param field Field 字段
26
+ * @param extra 额外的 schema 配置(存在递归,可能是子级 schema )
27
+ * @param wholeExtra 完整的额外 schema 配置
28
+ * @returns schema 配置
29
+ */
30
+ var getMergedSchema = function getMergedSchema(field, extra, wholeExtra) {
31
+ return field.reduce(function (prev, curr, index) {
32
+ var _ref = curr.props || {},
33
+ id = _ref.id,
34
+ _ref$children = _ref.children,
35
+ children = _ref$children === void 0 ? [] : _ref$children,
36
+ _ref$reactions = _ref.reactions,
37
+ reactions = _ref$reactions === void 0 ? [] : _ref$reactions,
38
+ rest = _objectWithoutProperties(_ref, _excluded); // 获取字段额外的 schema 配置(From ProForm)
39
+
40
+
41
+ var extraFieldProps = extra[index] || {};
42
+
43
+ if (id !== extraFieldProps.id) {
44
+ // 索引不匹配,通过 id 查找获取
45
+ extraFieldProps = (0, _utils.getValueByValue)(extra, id, {
46
+ inputKey: 'id',
47
+ outputKey: '__whole__'
48
+ }) || (0, _utils.getValueByValue)(wholeExtra, id, {
49
+ inputKey: 'id',
50
+ outputKey: '__whole__'
51
+ });
52
+
53
+ if (extraFieldProps) {
54
+ console.warn("Field id \"".concat(id, "\" is not found by index in ProForm schema props, Please pay attention to the order."));
55
+ }
56
+ }
57
+
58
+ var _ref2 = extraFieldProps || {},
59
+ extraId = _ref2.id,
60
+ _ref2$children = _ref2.children,
61
+ extraChildren = _ref2$children === void 0 ? [] : _ref2$children,
62
+ _ref2$reactions = _ref2.reactions,
63
+ extraReactions = _ref2$reactions === void 0 ? [] : _ref2$reactions,
64
+ extraRest = _objectWithoutProperties(_ref2, _excluded2);
65
+
66
+ prev.push(_objectSpread(_objectSpread({}, (0, _utils.deepMerge)(rest, extraRest)), {}, {
67
+ reactions: [].concat(reactions, extraReactions),
68
+ children: (children === null || children === void 0 ? void 0 : children.length) ? getMergedSchema(children, extraChildren, wholeExtra) : []
69
+ }));
70
+ return prev;
71
+ }, []);
72
+ };
73
+ /**
74
+ * 获取 ProForm 的 schema 配置,通过合并 Field 字段 或者 schema 配置
75
+ * @param props ProForm 组件的 props
76
+ * @returns schema 配置
77
+ */
78
+
79
+
80
+ var _default = function _default(_ref3) {
81
+ var children = _ref3.children,
82
+ schema = _ref3.schema;
83
+ var field = [].concat(children !== null && children !== void 0 ? children : []).filter(function (item) {
84
+ var _item$type, _item$props;
85
+
86
+ return (item === null || item === void 0 ? void 0 : (_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.name) === '' && (item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.component);
87
+ }); // 如果 ProForm 的 children 含有 Field 字段,则优先使用 Field 渲染表单(仅合并 ProForm 的 schema 属性 )
88
+
89
+ if (field.length) {
90
+ return getMergedSchema(field, schema !== null && schema !== void 0 ? schema : [], schema !== null && schema !== void 0 ? schema : []);
91
+ } // 正常使用 ProForm 的 schema 渲染表单
92
+
93
+
94
+ return schema;
95
+ };
96
+
97
+ exports.default = _default;
@@ -11,20 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _react2 = require("@formily/react");
13
13
 
14
- var _components = require("@alicloudfe/components");
15
-
16
- var _formily = require("@teamix/formily");
17
-
18
- var _ProField = _interopRequireDefault(require("../Components/ProField"));
19
-
20
- var _Editable = require("../Components/Editable");
21
-
22
- var _FormGroup = _interopRequireDefault(require("../Components/FormGroup"));
23
-
24
- var _LightFilter = _interopRequireDefault(require("../Components/LightFilter"));
25
-
26
- var _index = _interopRequireDefault(require("../Components/Text/index"));
27
-
28
14
  var _adapterType = _interopRequireDefault(require("./adapterType"));
29
15
 
30
16
  var _adapterComponent = _interopRequireDefault(require("./adapterComponent"));
@@ -109,39 +95,10 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
109
95
  var schema = _ref.schema,
110
96
  scope = _ref.scope,
111
97
  components = _ref.components;
112
- var schemaScopeRef = (0, _react.useRef)({}); // 创建 SchemaField,添加内置组件
98
+ var schemaScopeRef = (0, _react.useRef)({}); // 创建 SchemaField
113
99
 
114
100
  var SchemaField = (0, _react.useMemo)(function () {
115
- return (0, _react2.createSchemaField)({
116
- components: _objectSpread(_objectSpread({}, _ProField.default), {}, {
117
- FormLayout: _formily.FormLayout,
118
- FormItem: _formily.FormItem,
119
- ArrayCollapse: _formily.ArrayCollapse,
120
- ArrayCards: _formily.ArrayCards,
121
- ArrayItems: _formily.ArrayItems,
122
- ArrayTable: _formily.ArrayTable,
123
- Space: _formily.Space,
124
- FormGrid: _formily.FormGrid,
125
- FormTab: _formily.FormTab,
126
- FormCollapse: _formily.FormCollapse,
127
- FormStep: _formily.FormStep,
128
- Editable: _formily.Editable,
129
- FormDialogFooter: _formily.FormDialog.Footer,
130
- FormDrawerFooter: _formily.FormDrawer.Footer,
131
- FormButtonGroup: _formily.FormButtonGroup,
132
- Submit: _formily.Submit,
133
- Reset: _formily.Reset,
134
- EditableDialog: _Editable.EditableDialog,
135
- EditableDrawer: _Editable.EditableDrawer,
136
- EditablePopover: _Editable.EditablePopover,
137
- FormGroup: _FormGroup.default,
138
- Upload: _formily.Upload,
139
- SelectTable: _formily.SelectTable,
140
- Affix: _components.Affix,
141
- LightFilter: _LightFilter.default,
142
- Text: _index.default
143
- })
144
- });
101
+ return (0, _react2.createSchemaField)();
145
102
  }, []); // 格式化 schema
146
103
 
147
104
  var formatSchema = (0, _react.useCallback)(function (schema) {
@@ -1,6 +1,5 @@
1
- import type { ProFormRequestConfig } from '../typing';
2
1
  interface IInitializeDataSource {
3
- (requestConfig?: ProFormRequestConfig | any, suffix?: string): {
2
+ (requestConfig: any, suffix: string): {
4
3
  dataSource?: any[];
5
4
  reactions: any[];
6
5
  scope: {
@@ -5,30 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _utils = require("@teamix/utils");
9
-
10
- 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; }
8
+ var _utils = require("../utils");
11
9
 
12
10
  var initializeDataSource = function initializeDataSource(dataSource, suffix) {
13
- if ((0, _utils.isPlainObj)(dataSource)) {
14
- var _requestConfig$extraC;
11
+ var _dataSource$extraConf;
15
12
 
16
- var requestConfig = dataSource;
17
- var requestConfigName = "$requestConfig_".concat(suffix);
18
- return {
19
- reactions: ["{{$dataSource($request,".concat(requestConfigName, ",context)}}")],
20
- scope: _defineProperty({}, requestConfigName, requestConfig),
21
- // dataSource请求时,默认配置字段为只读
22
- data: {
23
- readOnlyOnLoading: (requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$extraC = requestConfig.extraConfig) === null || _requestConfig$extraC === void 0 ? void 0 : _requestConfig$extraC.readOnly) !== false
24
- }
25
- };
26
- }
13
+ var _initializeRequestExp = (0, _utils.initializeRequestExpression)(dataSource, '$dataSource', suffix),
14
+ expression = _initializeRequestExp.expression,
15
+ scope = _initializeRequestExp.scope;
27
16
 
28
- return {
29
- dataSource: dataSource,
17
+ return expression ? {
18
+ reactions: [expression],
19
+ scope: scope,
20
+ data: {
21
+ readOnlyOnLoading: (dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$extraConf = dataSource.extraConfig) === null || _dataSource$extraConf === void 0 ? void 0 : _dataSource$extraConf.readOnly) !== false
22
+ }
23
+ } : {
30
24
  reactions: [],
31
- scope: {}
25
+ scope: {},
26
+ dataSource: dataSource
32
27
  };
33
28
  };
34
29