@teamix/pro 1.2.35 → 1.3.0

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 +705 -1062
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/form/Filter/AdvancedFilter.js +4 -4
  6. package/es/form/Filter/LightFilter.js +22 -15
  7. package/es/form/Filter/index.js +83 -109
  8. package/es/form/ProForm/index.scss +8 -8
  9. package/es/form/SchemaForm/initializeRequest.js +1 -2
  10. package/es/form/SchemaForm/reactions.d.ts +2 -2
  11. package/es/form/SchemaForm/reactions.js +11 -13
  12. package/es/form/typing.d.ts +4 -1
  13. package/es/index.d.ts +4 -4
  14. package/es/index.js +4 -4
  15. package/es/nocode/configurators/PageHeader.js +2 -2
  16. package/es/table/components/Layout/index.js +2 -2
  17. package/es/table/components/Pagination/index.js +11 -1
  18. package/es/table/components/ToolBar/Fullscreen.js +6 -6
  19. package/es/table/index.js +3 -4
  20. package/es/timeline/ProTimeLineItem/index.d.ts +5 -0
  21. package/es/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.js +59 -72
  22. package/es/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.scss +34 -86
  23. package/es/timeline/index.d.ts +10 -0
  24. package/es/{step → timeline}/index.js +33 -57
  25. package/es/timeline/index.scss +7 -0
  26. package/es/timeline/typing.d.ts +101 -0
  27. package/es/{step → timeline}/typing.js +0 -0
  28. package/lib/form/Filter/AdvancedFilter.js +4 -4
  29. package/lib/form/Filter/LightFilter.js +21 -15
  30. package/lib/form/Filter/index.js +83 -109
  31. package/lib/form/ProForm/index.scss +8 -8
  32. package/lib/form/SchemaForm/initializeRequest.js +1 -2
  33. package/lib/form/SchemaForm/reactions.d.ts +2 -2
  34. package/lib/form/SchemaForm/reactions.js +10 -12
  35. package/lib/form/typing.d.ts +4 -1
  36. package/lib/index.d.ts +4 -4
  37. package/lib/index.js +10 -10
  38. package/lib/nocode/configurators/PageHeader.js +2 -2
  39. package/lib/table/components/Layout/index.js +2 -2
  40. package/lib/table/components/Pagination/index.js +10 -0
  41. package/lib/table/components/ToolBar/Fullscreen.js +6 -6
  42. package/lib/table/index.js +3 -4
  43. package/lib/timeline/ProTimeLineItem/index.d.ts +5 -0
  44. package/lib/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.js +58 -72
  45. package/lib/{step/ProStepItem/components/VerStepItem → timeline/ProTimeLineItem}/index.scss +34 -86
  46. package/lib/timeline/index.d.ts +10 -0
  47. package/lib/{step → timeline}/index.js +38 -58
  48. package/lib/timeline/index.scss +7 -0
  49. package/lib/timeline/typing.d.ts +101 -0
  50. package/lib/{step → timeline}/typing.js +0 -0
  51. package/package.json +1 -1
  52. package/es/step/ProStepItem/components/HozStepItem/index.d.ts +0 -5
  53. package/es/step/ProStepItem/components/HozStepItem/index.js +0 -235
  54. package/es/step/ProStepItem/components/HozStepItem/index.scss +0 -279
  55. package/es/step/ProStepItem/components/VerStepItem/index.d.ts +0 -5
  56. package/es/step/ProStepItem/index.d.ts +0 -4
  57. package/es/step/ProStepItem/index.js +0 -57
  58. package/es/step/index.d.ts +0 -9
  59. package/es/step/typing.d.ts +0 -96
  60. package/lib/step/ProStepItem/components/HozStepItem/index.d.ts +0 -5
  61. package/lib/step/ProStepItem/components/HozStepItem/index.js +0 -258
  62. package/lib/step/ProStepItem/components/HozStepItem/index.scss +0 -279
  63. package/lib/step/ProStepItem/components/VerStepItem/index.d.ts +0 -5
  64. package/lib/step/ProStepItem/index.d.ts +0 -4
  65. package/lib/step/ProStepItem/index.js +0 -69
  66. package/lib/step/index.d.ts +0 -9
  67. package/lib/step/typing.d.ts +0 -96
@@ -106,12 +106,9 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
106
106
  otherProps = _objectWithoutProperties(props, _excluded);
107
107
 
108
108
  var _useSpecialProps = (0, _useSpecialProps2.default)(props),
109
- hasDefault = _useSpecialProps.hasDefault,
110
109
  hasChangeDefault = _useSpecialProps.hasChangeDefault,
111
110
  hasRequired = _useSpecialProps.hasRequired;
112
111
 
113
- var hasDefaultOrRequired = hasDefault || hasRequired;
114
-
115
112
  var _useState = (0, _react.useState)(!!expand),
116
113
  _useState2 = _slicedToArray(_useState, 2),
117
114
  panelVisible = _useState2[0],
@@ -123,8 +120,9 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
123
120
  setTagDataSource = _useState4[1];
124
121
 
125
122
  var filterItem = (0, _react.useRef)([]);
126
- var defaultForm = mode === 'panel' ? hasDefaultOrRequired || panelVisible ? 'advanced' : 'light' : 'simple';
123
+ var defaultForm = mode === 'panel' ? 'advanced' : 'simple';
127
124
  var currentForm = (0, _react.useRef)(defaultForm);
125
+ var activeFilterValueRef = (0, _react.useRef)();
128
126
  var prefixCls = (0, _utils.usePrefixCls)('', {
129
127
  prefix: 'teamix-pro-form-query-filter'
130
128
  });
@@ -139,7 +137,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
139
137
  initialValues = _ref.initialValues;
140
138
 
141
139
  if (!form.mounted) {
142
- // form上自定义loading属性使用
140
+ // 借用formloading属性来判断initialValues和initialRequest是否完成
143
141
  form.setState({
144
142
  loading: !!initialRequest || !!initialValues
145
143
  });
@@ -147,24 +145,34 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
147
145
 
148
146
  var loadingField = Object.values(form.fields).filter(function (field) {
149
147
  return !!field.loading;
150
- }); // 等待表单mounted + 字段loading结束 + form的loading结束 => 表单初始化完成
148
+ }); // 等待表单mounted + 字段loading结束 + form默认值初始化 => 表单初始化完成
149
+
150
+ if (form.mounted && !loadingField.length && !form.loading) {
151
+ _onFormInit = function onFormInit() {}; // init后销毁 isFormInit 方法
151
152
 
152
- if (form.mounted && loadingField.length === 0 && !form.loading) {
153
- if (loadingField.length === 0 && !form.loading) {
154
- _onFormInit = function onFormInit() {}; // init后销毁 isFormInit 方法
155
153
 
154
+ var values = (0, _utils.getValidValues)(form.values);
156
155
 
157
- var values = (0, _utils.getValidValues)(form.values);
156
+ if (!(0, _utils.isUsable)(values) || !hasChangeDefault) {
157
+ // 表单无默认值 或 无触发onChange的默认值配置,不会触发onFilter内的onInit,所以主动触发onInit
158
+ filterEnable.current = 'filter';
159
+ setTimeout(function () {
160
+ onInit === null || onInit === void 0 ? void 0 : onInit((0, _reactive.toJS)(form.values));
161
+ }, 0);
158
162
 
159
- if (!(0, _utils.isUsable)(values) || !hasChangeDefault) {
160
- // 表单无默认值 或 无触发onChange的默认值配置,不会触发onFilter内的onInit,所以主动触发onInit
161
- setTimeout(function () {
162
- onInit === null || onInit === void 0 ? void 0 : onInit((0, _reactive.toJS)(form.values));
163
- }, 0);
164
- filterEnable.current = 'filter';
165
- } else {
166
- filterEnable.current = 'initialized';
163
+ if (mode === 'panel') {
164
+ // 移除lightForm的默认值
165
+ // 设置Tag
166
+ configFilterItem(advancedForm);
167
+
168
+ if (!panelVisible) {
169
+ setTimeout(function () {
170
+ configTag();
171
+ }, 0);
172
+ }
167
173
  }
174
+ } else {
175
+ filterEnable.current = 'initialized';
168
176
  }
169
177
  }
170
178
  }; // 配置当前激活的form实例
@@ -177,9 +185,11 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
177
185
  var form = formMap[formName];
178
186
  formRef.current = form;
179
187
 
180
- formRef.current.updateTags = function () {
181
- configFilterItem(form);
182
- };
188
+ if (!formRef.current.updateTags) {
189
+ formRef.current.updateTags = function () {
190
+ configFilterItem(form);
191
+ };
192
+ }
183
193
  }
184
194
  }; // 创建简单筛选表单实例
185
195
 
@@ -189,7 +199,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
189
199
  validateFirst: true,
190
200
  effects: function effects() {
191
201
  (0, _core.onFormReact)(function (form) {
192
- if (defaultForm === 'simple') {
202
+ if (mode === 'inline') {
193
203
  _onFormInit(form, props);
194
204
  }
195
205
  });
@@ -201,11 +211,6 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
201
211
  return (0, _core.createForm)({
202
212
  validateFirst: true,
203
213
  effects: function effects() {
204
- (0, _core.onFormReact)(function (form) {
205
- if (defaultForm === 'light') {
206
- _onFormInit(form, props);
207
- }
208
- });
209
214
  (0, _core.onFormInputChange)(function () {
210
215
  setCurrentForm('light'); // 主动修改轻量筛选值
211
216
  });
@@ -218,7 +223,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
218
223
  validateFirst: true,
219
224
  effects: function effects() {
220
225
  (0, _core.onFormReact)(function (form) {
221
- if (defaultForm === 'advanced') {
226
+ if (mode === 'panel') {
222
227
  _onFormInit(form, props);
223
228
  }
224
229
  });
@@ -286,14 +291,9 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
286
291
  if (result) {
287
292
  // 展开高级筛选,Light回填Advanced
288
293
  if (currentForm.current === 'light') {
289
- Object.entries(lightForm.values || {}).map(function (_ref4) {
290
- var _ref5 = _slicedToArray(_ref4, 2),
291
- key = _ref5[0],
292
- value = _ref5[1];
293
-
294
- // 有效值值回填,防止全部值回填改变,触发不必要的 reactions
295
- advancedForm.setValuesIn(key, value);
296
- });
294
+ var key = activeFilterValueRef.current;
295
+ var value = lightForm.values[key];
296
+ advancedForm.setValuesIn(key, value);
297
297
  }
298
298
  } else {
299
299
  // 收起高级筛选,配置标签数据
@@ -305,7 +305,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
305
305
  }, [panelVisible, configTag]); // 简单搜索Filter
306
306
 
307
307
  var onSimpleFilter = (0, _react.useCallback)( /*#__PURE__*/function () {
308
- var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
308
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
309
309
  return regeneratorRuntime.wrap(function _callee$(_context) {
310
310
  while (1) {
311
311
  switch (_context.prev = _context.next) {
@@ -361,99 +361,72 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
361
361
  }));
362
362
 
363
363
  return function (_x) {
364
- return _ref6.apply(this, arguments);
364
+ return _ref4.apply(this, arguments);
365
365
  };
366
366
  }(), [onFilter, hasRequired, onInit]); // 轻量搜索Filter
367
367
 
368
- var onLightFilter = (0, _react.useCallback)( /*#__PURE__*/function () {
369
- var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
370
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
371
- while (1) {
372
- switch (_context2.prev = _context2.next) {
373
- case 0:
374
- if (!(currentForm.current === 'light')) {
375
- _context2.next = 14;
376
- break;
377
- }
378
-
379
- if (!(filterEnable.current === 'initialized')) {
380
- _context2.next = 8;
381
- break;
382
- }
383
-
384
- filterEnable.current = 'filter';
385
- onInit === null || onInit === void 0 ? void 0 : onInit(values);
386
- configFilterItem(advancedForm);
387
- configTag();
388
- _context2.next = 14;
389
- break;
390
-
391
- case 8:
392
- if (!(filterEnable.current === 'filter')) {
393
- _context2.next = 14;
394
- break;
395
- }
396
-
397
- onFilter === null || onFilter === void 0 ? void 0 : onFilter(values);
398
- _context2.next = 12;
399
- return advancedForm.reset();
368
+ var onLightFilter = (0, _react.useCallback)(function (values) {
369
+ if (currentForm.current === 'light') {
370
+ if (filterEnable.current === 'filter') {
371
+ var _Object$keys;
400
372
 
401
- case 12:
402
- // 不会触发高级筛选的onReset回调函数
403
- configFilterItem(advancedForm);
404
- configTag();
373
+ onFilter === null || onFilter === void 0 ? void 0 : onFilter(values); // 清空advancedForm的值,配置Tag
405
374
 
406
- case 14:
407
- case "end":
408
- return _context2.stop();
409
- }
410
- }
411
- }, _callee2);
412
- }));
413
-
414
- return function (_x2) {
415
- return _ref7.apply(this, arguments);
416
- };
417
- }(), [onFilter, onInit]); // 高级搜索Filter by Submit
375
+ var clearKeys = {};
376
+ (_Object$keys = Object.keys(advancedForm.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (key) {
377
+ clearKeys[key] = undefined;
378
+ });
379
+ advancedForm.setValues(clearKeys);
380
+ configFilterItem(advancedForm);
381
+ configTag();
382
+ }
383
+ }
384
+ }, [onFilter]); // 高级搜索Filter by Submit
418
385
 
419
386
  var onAdvancedFilter = (0, _react.useCallback)(function (values) {
420
387
  setCurrentForm('advanced');
421
388
  onFilter === null || onFilter === void 0 ? void 0 : onFilter(values);
422
- configFilterItem(advancedForm);
423
- lightForm.reset();
389
+ configFilterItem(advancedForm); // 清空lightForm的值
390
+
391
+ lightForm.reset('*', {
392
+ forceClear: true
393
+ });
424
394
  }, [onFilter]); // 高级搜索Reset
425
395
 
426
396
  var onAdvancedReset = (0, _react.useCallback)(function () {
427
397
  setCurrentForm('advanced');
428
398
  onReset === null || onReset === void 0 ? void 0 : onReset((0, _reactive.toJS)(advancedForm.values));
429
- configFilterItem(advancedForm);
430
- lightForm.reset();
399
+ configFilterItem(advancedForm); // 清空lightForm的值
400
+
401
+ lightForm.reset('*', {
402
+ forceClear: true
403
+ });
431
404
  }, [onReset]); // 高级搜索Filter by Change
432
405
 
433
406
  var onAdvancedChange = (0, _react.useCallback)( /*#__PURE__*/function () {
434
- var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(values) {
435
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
407
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
408
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
436
409
  while (1) {
437
- switch (_context3.prev = _context3.next) {
410
+ switch (_context2.prev = _context2.next) {
438
411
  case 0:
439
412
  if (!(currentForm.current === 'advanced')) {
440
- _context3.next = 9;
413
+ _context2.next = 9;
441
414
  break;
442
415
  }
443
416
 
444
417
  if (!(filterEnable.current === 'initialized')) {
445
- _context3.next = 9;
418
+ _context2.next = 9;
446
419
  break;
447
420
  }
448
421
 
449
422
  filterEnable.current = 'filter';
450
423
 
451
424
  if (!hasRequired) {
452
- _context3.next = 6;
425
+ _context2.next = 6;
453
426
  break;
454
427
  }
455
428
 
456
- _context3.next = 6;
429
+ _context2.next = 6;
457
430
  return advancedForm.validate();
458
431
 
459
432
  case 6:
@@ -466,14 +439,14 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
466
439
 
467
440
  case 9:
468
441
  case "end":
469
- return _context3.stop();
442
+ return _context2.stop();
470
443
  }
471
444
  }
472
- }, _callee3);
445
+ }, _callee2);
473
446
  }));
474
447
 
475
- return function (_x3) {
476
- return _ref8.apply(this, arguments);
448
+ return function (_x2) {
449
+ return _ref5.apply(this, arguments);
477
450
  };
478
451
  }(), [hasRequired, onInit]); // 关闭标签清空表单字段值
479
452
 
@@ -489,7 +462,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
489
462
  configFilterItem(advancedForm);
490
463
  configTag();
491
464
  onFilter === null || onFilter === void 0 ? void 0 : onFilter((0, _reactive.toJS)(advancedForm.values));
492
- }, []); // initialValues和initialRequest的回调
465
+ }, [onFilter]); // initialValues和initialRequest的回调
493
466
 
494
467
  var onInitialComplete = (0, _react.useCallback)(function (form) {
495
468
  form.setState({
@@ -508,9 +481,10 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
508
481
  onExpand: toggleAdvancedFilter,
509
482
  count: tagDataSource.length,
510
483
  inlineContent: mode === 'panel' ? /*#__PURE__*/_react.default.createElement("div", {
511
- className: (0, _classnames.default)("".concat(prefixCls, "-inline"), purePanel || hasDefaultOrRequired ? "".concat(prefixCls, "-inline-hidden") : '')
484
+ className: (0, _classnames.default)("".concat(prefixCls, "-inline"), purePanel || hasRequired ? "".concat(prefixCls, "-inline-hidden") : '')
512
485
  }, /*#__PURE__*/_react.default.createElement(_LightFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
513
486
  defaultFilterValue: defaultFilterValue,
487
+ activeFilterValueRef: activeFilterValueRef,
514
488
  form: lightForm,
515
489
  onChange: (0, _lodash.default)(onLightFilter, filterDebounce)
516
490
  }))) : /*#__PURE__*/_react.default.createElement("div", {
@@ -528,12 +502,12 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
528
502
  onReset: onAdvancedReset,
529
503
  onInitialComplete: onInitialComplete
530
504
  })) : null
531
- }, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref9) {
532
- var key = _ref9.key,
533
- label = _ref9.label,
534
- value = _ref9.value,
535
- type = _ref9.type,
536
- index = _ref9.index;
505
+ }, mode === 'panel' && !panelVisible ? /*#__PURE__*/_react.default.createElement(_components.Tag.Group, null, tagDataSource.map(function (_ref6) {
506
+ var key = _ref6.key,
507
+ label = _ref6.label,
508
+ value = _ref6.value,
509
+ type = _ref6.type,
510
+ index = _ref6.index;
537
511
  return /*#__PURE__*/_react.default.createElement(_components.Tag.Closeable, {
538
512
  key: (0, _utils.isNum)(index) ? key + label : key,
539
513
  afterClose: function afterClose() {
@@ -197,14 +197,14 @@
197
197
  margin-right: 4px;
198
198
  }
199
199
  }
200
- // 数组类ArrayItem Icon 居中
201
- .#{$form-array}-items-item-inner {
202
- .#{$css-prefix}space-item {
203
- > .#{$css-prefix}formily-icon {
204
- margin-top: 9px;
205
- }
206
- }
207
- }
200
+ // 数组类ArrayItem Icon 居中(移除,通过align:center配置)
201
+ // .#{$form-array}-items-item-inner {
202
+ // .#{$css-prefix}space-item {
203
+ // > .#{$css-prefix}formily-icon {
204
+ // margin-top: 9px;
205
+ // }
206
+ // }
207
+ // }
208
208
 
209
209
  // Editable预览态行高
210
210
  .#{$css-prefix}formily-editable-content {
@@ -44,9 +44,8 @@ var initializeRequest = function initializeRequest(requestConfig, suffix) {
44
44
  };
45
45
  } else {
46
46
  var requestConfigName = "$requestConfig_".concat(suffix);
47
- var requestIndex = (/\d{1,}\w(\d{0,})/g.exec(suffix) || [])[1];
48
47
  return {
49
- reactions: ["{{$common($request,".concat(requestConfigName, ",context,").concat(requestIndex, ")}}")],
48
+ reactions: ["{{$common($request,".concat(requestConfigName, ",context)}}")],
50
49
  scope: _defineProperty({}, requestConfigName, requestConfig)
51
50
  };
52
51
  }
@@ -1,6 +1,6 @@
1
1
  import type { ProFormRequestConfig } from '../typing';
2
- declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type: string | number) => Promise<unknown>;
3
- declare const $common: (services: any, requestConfig: ProFormRequestConfig, context: any, index: string) => (field: any) => any;
2
+ declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
3
+ declare const $common: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
4
4
  declare const $validator: (services: any, requestConfig: ProFormRequestConfig, context: any) => (value: any, rules: any, { field }: any) => any;
5
5
  declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any, readPretty: any) => (field: any) => any;
6
6
  export { $request, $common, $dataSource, $validator };
@@ -17,18 +17,16 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
17
17
  var $request = function $request(field, requestConfig, context, type) {
18
18
  var _field$data;
19
19
 
20
- // let refresh
21
- // if(isStr(type)){
22
- // refresh = field.data?.refreshMap?.[type]
23
- // }else if(isNum(type)){
24
- // }else{
25
- // refresh = field.data?.refresh;
26
- // }
27
- var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
28
20
  var beforeRequest = requestConfig.beforeRequest,
29
21
  onSuccess = requestConfig.onSuccess;
30
- var refreshResult = (0, _utils.isPlainObj)(refresh) ? refresh : {};
31
22
  var beforeRequestResult = (0, _utils.isFn)(beforeRequest) ? beforeRequest(field, context) : {};
23
+ /**
24
+ * // 主动触发的请求刷新
25
+ */
26
+ // 触发所有配置的请求
27
+
28
+ var refresh = (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.refresh;
29
+ var refreshResult = (0, _utils.isPureObj)(refresh) ? refresh : {};
32
30
  return (0, _utils.doCommonRequest)(_objectSpread(_objectSpread({}, requestConfig), {}, {
33
31
  params: _objectSpread(_objectSpread(_objectSpread({}, requestConfig.params), beforeRequestResult), refreshResult),
34
32
  beforeRequest: function beforeRequest() {
@@ -43,9 +41,9 @@ var $request = function $request(field, requestConfig, context, type) {
43
41
 
44
42
  exports.$request = $request;
45
43
 
46
- var $common = function $common(services, requestConfig, context, index) {
44
+ var $common = function $common(services, requestConfig, context) {
47
45
  return function (field) {
48
- return services(field, requestConfig, context, index || 'common').then(function (res) {
46
+ return services(field, requestConfig, context, 'request').then(function (res) {
49
47
  return requestConfig.onComplete && requestConfig.onComplete(res, field, context);
50
48
  });
51
49
  };
@@ -75,7 +73,7 @@ var $dataSource = function $dataSource(services, requestConfig, context, readPre
75
73
  });
76
74
  }
77
75
 
78
- return services(field, requestConfig, context).then(function (res) {
76
+ return services(field, requestConfig, context, 'dataSource').then(function (res) {
79
77
  var isValueInDataSource = (0, _utils.getValueByValue)(res, field.value);
80
78
  var clearValue = isValueInDataSource ? {} : {
81
79
  value: undefined
@@ -68,8 +68,9 @@ export interface ProFormProps extends IFormLayoutProps {
68
68
  export interface FilterProps extends ProFormProps {
69
69
  form: FormType;
70
70
  defaultFilterValue?: string;
71
+ activeFilterValueRef?: React.MutableRefObject<any>;
72
+ forceClear?: boolean;
71
73
  onReset?: (payload?: any) => void;
72
- onResetClick?: () => void;
73
74
  }
74
75
  export interface QueryFilterLayoutProps {
75
76
  prefixCls?: string;
@@ -93,6 +94,8 @@ export interface QueryFilterProps extends ProFormProps {
93
94
  purePanel?: boolean;
94
95
  /** 面板是否默认展开,仅在 mode='panel' 时生效 */
95
96
  expand?: boolean;
97
+ /** 是否强制清除 */
98
+ forceClear?: boolean;
96
99
  /** 顶部筛选区前缀 */
97
100
  addonBefore?: ReactNode;
98
101
  /** 顶部筛选区后缀 */
package/lib/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import ProPageHeader from './page-header';
9
9
  import ProTable from './table';
10
10
  import ProSkeleton from './skeleton';
11
11
  import utils from './utils';
12
- import { ProStep } from './step';
12
+ import { ProTimeline } from './timeline';
13
13
  import * as nocode from './nocode';
14
14
  import * as templates from './templates';
15
15
  export * from './actions';
@@ -23,6 +23,6 @@ export * from './page-header';
23
23
  export * from './skeleton';
24
24
  export * from './table';
25
25
  export * from './utils';
26
- export * from './step';
27
- declare const version = "1.2.35";
28
- export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProStep, hooks, nocode, templates, utils, };
26
+ export * from './timeline';
27
+ declare const version = "1.3.0";
28
+ export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProTimeline, hooks, nocode, templates, utils, };
package/lib/index.js CHANGED
@@ -18,7 +18,7 @@ var _exportNames = {
18
18
  ProTable: true,
19
19
  ProSkeleton: true,
20
20
  utils: true,
21
- ProStep: true,
21
+ ProTimeline: true,
22
22
  nocode: true,
23
23
  templates: true
24
24
  };
@@ -70,16 +70,16 @@ Object.defineProperty(exports, "ProSkeleton", {
70
70
  return _skeleton.default;
71
71
  }
72
72
  });
73
- Object.defineProperty(exports, "ProStep", {
73
+ Object.defineProperty(exports, "ProTable", {
74
74
  enumerable: true,
75
75
  get: function get() {
76
- return _step.ProStep;
76
+ return _table.default;
77
77
  }
78
78
  });
79
- Object.defineProperty(exports, "ProTable", {
79
+ Object.defineProperty(exports, "ProTimeline", {
80
80
  enumerable: true,
81
81
  get: function get() {
82
- return _table.default;
82
+ return _timeline.ProTimeline;
83
83
  }
84
84
  });
85
85
  Object.defineProperty(exports, "hooks", {
@@ -239,16 +239,16 @@ Object.keys(_utils).forEach(function (key) {
239
239
  });
240
240
  });
241
241
 
242
- var _step = require("./step");
242
+ var _timeline = require("./timeline");
243
243
 
244
- Object.keys(_step).forEach(function (key) {
244
+ Object.keys(_timeline).forEach(function (key) {
245
245
  if (key === "default" || key === "__esModule") return;
246
246
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
247
- if (key in exports && exports[key] === _step[key]) return;
247
+ if (key in exports && exports[key] === _timeline[key]) return;
248
248
  Object.defineProperty(exports, key, {
249
249
  enumerable: true,
250
250
  get: function get() {
251
- return _step[key];
251
+ return _timeline[key];
252
252
  }
253
253
  });
254
254
  });
@@ -285,5 +285,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
285
285
  // 设置图标源
286
286
  _icon.default.setConfig(_utils.default.getTeamixIconConfig());
287
287
 
288
- var version = '1.2.35';
288
+ var version = '1.3.0';
289
289
  exports.version = version;
@@ -88,11 +88,11 @@ var schema = [{
88
88
  }, {
89
89
  name: 'iconColor',
90
90
  title: '图标颜色',
91
- component: 'ColorSwatches'
91
+ component: 'ColorPicker'
92
92
  }, {
93
93
  name: 'iconBackgroundColor',
94
94
  title: '图标背景颜色',
95
- component: 'ColorSwatches'
95
+ component: 'ColorPicker'
96
96
  }, {
97
97
  name: 'iconBackgroundType',
98
98
  title: '图标背景形状',
@@ -172,13 +172,13 @@ var Layout = function Layout(props) {
172
172
  className: cls('wrapper')
173
173
  }, /*#__PURE__*/_react.default.createElement("div", {
174
174
  className: cls('left')
175
- }, header && /*#__PURE__*/_react.default.createElement(_utils.Header, _objectSpread({}, header)), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter()), /*#__PURE__*/_react.default.createElement("div", {
175
+ }, header && /*#__PURE__*/_react.default.createElement(_utils.Header, _objectSpread({}, header))), /*#__PURE__*/_react.default.createElement("div", {
176
176
  className: cls('right')
177
177
  }, extra && /*#__PURE__*/_react.default.createElement(_QuickAction.default, {
178
178
  actionRef: actionRef,
179
179
  quickAction: extra,
180
180
  rowSelection: rowSelection
181
- }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter())));
181
+ }), !(dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema3 = dataFilter.schema) === null || _dataFilter$schema3 === void 0 ? void 0 : _dataFilter$schema3.length) && renderQueryFilter())), (dataFilter === null || dataFilter === void 0 ? void 0 : (_dataFilter$schema4 = dataFilter.schema) === null || _dataFilter$schema4 === void 0 ? void 0 : _dataFilter$schema4.length) && renderQueryFilter());
182
182
  } else if (!header && mainAction) {
183
183
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderQueryFilter());
184
184
  } else if (!header && !mainAction) {
@@ -64,6 +64,13 @@ var _default = function _default(props) {
64
64
  responsiveProps = _useResponsiveProps.responsiveProps,
65
65
  paginationWrapperRef = _useResponsiveProps.ref;
66
66
 
67
+ (0, _react.useEffect)(function () {
68
+ // size='mini' 模式下 current 受控
69
+ if (responsiveProps === 'mini') {
70
+ setCurrentPage(current);
71
+ }
72
+ }, [current]);
73
+
67
74
  var _useState = (0, _react.useState)(false),
68
75
  _useState2 = _slicedToArray(_useState, 2),
69
76
  visible = _useState2[0],
@@ -100,6 +107,9 @@ var _default = function _default(props) {
100
107
  text: true,
101
108
  onMouseEnter: function onMouseEnter() {
102
109
  return setVisible(true);
110
+ },
111
+ style: {
112
+ lineHeight: '18px'
103
113
  }
104
114
  }, (0, _utils.getMessage)('total', {
105
115
  total: total
@@ -46,15 +46,15 @@ var FullScreen = function FullScreen(props) {
46
46
 
47
47
  var afterClose = function afterClose() {
48
48
  // 判断全屏前后筛选表单值是否有改变
49
- var n = JSON.stringify((0, _utils.getValidValues)(normalDataFilterForm.values));
50
- var f = JSON.stringify((0, _utils.getValidValues)(fullscreenDataFilterForm.values));
49
+ var n = JSON.stringify((0, _utils.getValidValues)(normalDataFilterForm === null || normalDataFilterForm === void 0 ? void 0 : normalDataFilterForm.values));
50
+ var f = JSON.stringify((0, _utils.getValidValues)(fullscreenDataFilterForm === null || fullscreenDataFilterForm === void 0 ? void 0 : fullscreenDataFilterForm.values));
51
51
 
52
52
  if (n === f) {
53
53
  // 关闭全屏后,表单值未变化,开启普通表单onFilter
54
54
  filterEnableRef.current.normal = true;
55
55
  } else {
56
56
  // 关闭全屏后,表单值有变化,修改表单值
57
- normalDataFilterForm === null || normalDataFilterForm === void 0 ? void 0 : normalDataFilterForm.setValues(fullscreenDataFilterForm.values);
57
+ normalDataFilterForm === null || normalDataFilterForm === void 0 ? void 0 : normalDataFilterForm.setValues(fullscreenDataFilterForm === null || fullscreenDataFilterForm === void 0 ? void 0 : fullscreenDataFilterForm.values);
58
58
  } // 关闭全屏后,关闭全屏表单onFilter
59
59
 
60
60
 
@@ -64,15 +64,15 @@ var FullScreen = function FullScreen(props) {
64
64
 
65
65
  var afterOpen = function afterOpen() {
66
66
  // 判断全屏前后筛选表单值是否有改变
67
- var n = JSON.stringify((0, _utils.getValidValues)(normalDataFilterForm.values));
68
- var f = JSON.stringify((0, _utils.getValidValues)(fullscreenDataFilterForm.values));
67
+ var n = JSON.stringify((0, _utils.getValidValues)(normalDataFilterForm === null || normalDataFilterForm === void 0 ? void 0 : normalDataFilterForm.values));
68
+ var f = JSON.stringify((0, _utils.getValidValues)(fullscreenDataFilterForm === null || fullscreenDataFilterForm === void 0 ? void 0 : fullscreenDataFilterForm.values));
69
69
 
70
70
  if (n === f) {
71
71
  // 全屏后,表单值未变化,开启全屏表单onFilter
72
72
  filterEnableRef.current.fullscreen = true;
73
73
  } else {
74
74
  // 全屏后,表单值变化,修改表单值
75
- fullscreenDataFilterForm === null || fullscreenDataFilterForm === void 0 ? void 0 : fullscreenDataFilterForm.setValues(normalDataFilterForm.values);
75
+ fullscreenDataFilterForm === null || fullscreenDataFilterForm === void 0 ? void 0 : fullscreenDataFilterForm.setValues(normalDataFilterForm === null || normalDataFilterForm === void 0 ? void 0 : normalDataFilterForm.values);
76
76
  } // 全屏后,关闭普通表单onFilter
77
77
 
78
78
 
@@ -782,11 +782,11 @@ var ProTable = function ProTable(props) {
782
782
 
783
783
 
784
784
  var dataFilter = _objectSpread(_objectSpread({
785
- mode: 'inline'
785
+ mode: 'inline',
786
+ forceClear: true
786
787
  }, propsDataFilter), {}, {
787
788
  onInit: function onInit(values) {
788
789
  // 表单初始化请求处理
789
- console.log('onInit');
790
790
  (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit) && (propsDataFilter === null || propsDataFilter === void 0 ? void 0 : propsDataFilter.onInit(values));
791
791
  !fullscreenState && _request({}, false, values);
792
792
  return true;
@@ -794,8 +794,7 @@ var ProTable = function ProTable(props) {
794
794
  onFilter: function onFilter(values) {
795
795
  var _actionRef$current6, _actionRef$current6$c;
796
796
 
797
- console.log('onFilter'); // 全屏状态,判断全屏表单onFilter是否禁用
798
-
797
+ // 全屏状态,判断全屏表单onFilter是否禁用
799
798
  if (fullscreenState && !filterEnableRef.current.fullscreen) {
800
799
  filterEnableRef.current.fullscreen = true;
801
800
  return;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ProTimeLineItemProps } from '../typing';
3
+ import './index.scss';
4
+ declare const ProTimeLineItem: React.FC<ProTimeLineItemProps>;
5
+ export default ProTimeLineItem;