@teamix/pro 1.3.1 → 1.3.4

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 (79) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +51673 -47273
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/es/actions/dialog-form.js +8 -5
  6. package/es/actions/dialog.js +2 -4
  7. package/es/form/Components/LightFilter/index.d.ts +1 -0
  8. package/es/form/Components/LightFilter/index.js +9 -6
  9. package/es/form/Components/ProField/mapDateFormat.d.ts +3 -0
  10. package/es/form/Components/ProField/mapDateFormat.js +113 -0
  11. package/es/form/Filter/LightFilter.js +13 -3
  12. package/es/form/Filter/SimpleFilter.js +1 -1
  13. package/es/form/Filter/index.js +44 -10
  14. package/es/form/ProForm/customComponent.js +2 -1
  15. package/es/form/ProForm/useFormDisplayValues.js +2 -2
  16. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  17. package/es/form/SchemaForm/adapterType.js +2 -5
  18. package/es/form/SchemaForm/index.js +29 -14
  19. package/es/form/SchemaForm/initializeDataSource.d.ts +2 -1
  20. package/es/form/SchemaForm/initializeDataSource.js +9 -3
  21. package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  22. package/es/form/SchemaForm/initializeSelectTable.js +38 -0
  23. package/es/form/SchemaForm/reactions.d.ts +2 -2
  24. package/es/form/SchemaForm/reactions.js +42 -38
  25. package/es/form/fieldTypeMap.d.ts +3 -0
  26. package/es/form/fieldTypeMap.js +3 -0
  27. package/es/form/index.d.ts +2 -1
  28. package/es/form/typing.d.ts +6 -1
  29. package/es/form/utils.js +13 -4
  30. package/es/index.d.ts +1 -1
  31. package/es/index.js +1 -1
  32. package/es/info/components/baseInfo/index.scss +3 -0
  33. package/es/page-header/index.d.ts +3 -1
  34. package/es/page-header/index.js +12 -3
  35. package/es/table/components/ToolBar/DensityIcon.js +5 -3
  36. package/es/table/components/ToolBar/FilterColumnIcon.js +12 -3
  37. package/es/table/components/ToolBar/index.scss +3 -3
  38. package/es/table/index.js +8 -4
  39. package/es/table/index.scss +11 -1
  40. package/es/table/typing.d.ts +4 -0
  41. package/es/table/utils/columnRender.js +6 -0
  42. package/lib/actions/dialog-form.js +8 -5
  43. package/lib/actions/dialog.js +1 -3
  44. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  45. package/lib/form/Components/LightFilter/index.js +9 -6
  46. package/lib/form/Components/ProField/mapDateFormat.d.ts +3 -0
  47. package/lib/form/Components/ProField/mapDateFormat.js +125 -0
  48. package/lib/form/Filter/LightFilter.js +13 -3
  49. package/lib/form/Filter/SimpleFilter.js +1 -1
  50. package/lib/form/Filter/index.js +44 -10
  51. package/lib/form/ProForm/customComponent.js +3 -1
  52. package/lib/form/ProForm/useFormDisplayValues.js +1 -1
  53. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  54. package/lib/form/SchemaForm/adapterType.js +2 -5
  55. package/lib/form/SchemaForm/index.js +30 -13
  56. package/lib/form/SchemaForm/initializeDataSource.d.ts +2 -1
  57. package/lib/form/SchemaForm/initializeDataSource.js +9 -3
  58. package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  59. package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
  60. package/lib/form/SchemaForm/reactions.d.ts +2 -2
  61. package/lib/form/SchemaForm/reactions.js +42 -38
  62. package/lib/form/fieldTypeMap.d.ts +3 -0
  63. package/lib/form/fieldTypeMap.js +5 -1
  64. package/lib/form/index.d.ts +2 -1
  65. package/lib/form/typing.d.ts +6 -1
  66. package/lib/form/utils.js +13 -4
  67. package/lib/index.d.ts +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/info/components/baseInfo/index.scss +3 -0
  70. package/lib/page-header/index.d.ts +3 -1
  71. package/lib/page-header/index.js +11 -2
  72. package/lib/table/components/ToolBar/DensityIcon.js +5 -3
  73. package/lib/table/components/ToolBar/FilterColumnIcon.js +11 -2
  74. package/lib/table/components/ToolBar/index.scss +3 -3
  75. package/lib/table/index.js +8 -4
  76. package/lib/table/index.scss +11 -1
  77. package/lib/table/typing.d.ts +4 -0
  78. package/lib/table/utils/columnRender.js +6 -0
  79. package/package.json +4 -4
@@ -8,6 +8,7 @@ import './index.scss';
8
8
  interface ILightFiter {
9
9
  size?: 'small' | 'medium' | 'large';
10
10
  defaultFilterValue?: string;
11
+ filterValues?: string[];
11
12
  onFilterChange?: (schema?: any) => any;
12
13
  filterProps?: SelectProps;
13
14
  buttonProps?: ButtonProps;
@@ -78,14 +78,16 @@ var useMain = function useMain(active) {
78
78
  }; // 筛选项数据
79
79
 
80
80
 
81
- var useFilterItems = function useFilterItems() {
81
+ var useFilterItems = function useFilterItems(filterValues) {
82
82
  var schema = (0, _react2.useFieldSchema)();
83
83
  var filterItems = [];
84
84
  schema.mapProperties(function (schema, name) {
85
- filterItems.push({
86
- label: schema.title,
87
- value: schema.name
88
- });
85
+ if (!filterValues || filterValues && filterValues.includes(schema.name)) {
86
+ filterItems.push({
87
+ label: schema.title,
88
+ value: schema.name
89
+ });
90
+ }
89
91
  });
90
92
  return filterItems;
91
93
  }; // 是否输入框类型的组件
@@ -99,12 +101,13 @@ var isInputCategory = function isInputCategory(currentSchema) {
99
101
  var LightFilter = (0, _react2.observer)(function (props) {
100
102
  var _filterItems$, _main$;
101
103
 
102
- var filterItems = useFilterItems();
103
104
  var size = props.size,
104
105
  defaultFilterValue = props.defaultFilterValue,
106
+ filterValues = props.filterValues,
105
107
  onFilterChange = props.onFilterChange,
106
108
  filterProps = props.filterProps,
107
109
  buttonProps = props.buttonProps;
110
+ var filterItems = useFilterItems(filterValues);
108
111
 
109
112
  var _useState = (0, _react.useState)(defaultFilterValue || ((_filterItems$ = filterItems[0]) === null || _filterItems$ === void 0 ? void 0 : _filterItems$.value)),
110
113
  _useState2 = _slicedToArray(_useState, 2),
@@ -0,0 +1,3 @@
1
+ import { GeneralField } from '@formily/core';
2
+ declare const mapDateFormat: (props: any, field: GeneralField) => {};
3
+ export default mapDateFormat;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _shared = require("@formily/shared");
9
+
10
+ var _utils = require("@teamix/utils");
11
+
12
+ var _moment = _interopRequireDefault(require("moment"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ 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; }
23
+
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ 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; }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ var moment = function moment(date, format) {
35
+ return (0, _moment.default)((date === null || date === void 0 ? void 0 : date.toDate) ? date.toDate() : date, format);
36
+ };
37
+
38
+ var momentable = function momentable(value, format) {
39
+ return Array.isArray(value) ? value.map(function (val) {
40
+ return moment(val, format);
41
+ }) : value ? moment(value, format) : value;
42
+ };
43
+
44
+ var formatMomentValue = function formatMomentValue(value, format, placeholder) {
45
+ var formatDate = function formatDate(date, format) {
46
+ var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
47
+ if (!date) return placeholder;
48
+
49
+ if ((0, _utils.isArr)(format)) {
50
+ var _format = format[i];
51
+
52
+ if ((0, _utils.isFn)(_format)) {
53
+ return _format(date);
54
+ }
55
+
56
+ if ((0, _shared.isEmpty)(_format)) {
57
+ return date;
58
+ }
59
+
60
+ return moment(date).format(_format);
61
+ } else {
62
+ if ((0, _utils.isFn)(format)) {
63
+ return format(date);
64
+ }
65
+
66
+ if ((0, _shared.isEmpty)(format)) {
67
+ return date;
68
+ }
69
+
70
+ return moment(date).format(format);
71
+ }
72
+ };
73
+
74
+ if ((0, _utils.isArr)(value)) {
75
+ return value.map(function (val, index) {
76
+ return formatDate(val, format, index);
77
+ });
78
+ } else {
79
+ return value ? formatDate(value, format) : value || placeholder;
80
+ }
81
+ };
82
+
83
+ var mapDateFormatDatePicker2 = function mapDateFormatDatePicker2(type) {
84
+ var getDefaultFormat = function getDefaultFormat(props) {
85
+ var _type = props['type'] || type;
86
+
87
+ if (_type === 'month') {
88
+ return 'YYYY-MM';
89
+ } else if (_type === 'quarter') {
90
+ return 'YYYY-\\QQ';
91
+ } else if (_type === 'year') {
92
+ return 'YYYY';
93
+ } else if (_type === 'week') {
94
+ return 'YYYY-wo';
95
+ }
96
+
97
+ return props['showTime'] ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD';
98
+ };
99
+
100
+ return function (props) {
101
+ var format = props['format'] || getDefaultFormat(props);
102
+ var _onChange = props.onChange;
103
+ return _objectSpread(_objectSpread({}, props), {}, {
104
+ format: format === 'YYYY-MM-DD HH:mm:ss' ? 'YYYY-MM-DD' : format,
105
+ value: momentable(props.value, format === 'YYYY-wo' ? 'YYYY-w' : format),
106
+ onChange: function onChange(value) {
107
+ if (_onChange) {
108
+ _onChange(formatMomentValue(value, format));
109
+ }
110
+ }
111
+ });
112
+ };
113
+ };
114
+
115
+ var mapDateFormat = function mapDateFormat(props, field) {
116
+ var _ref = field.component || [],
117
+ _ref2 = _slicedToArray(_ref, 1),
118
+ component = _ref2[0];
119
+
120
+ console.log(component);
121
+ return {};
122
+ };
123
+
124
+ var _default = mapDateFormat;
125
+ exports.default = _default;
@@ -15,7 +15,7 @@ var _utils = require("@teamix/utils");
15
15
 
16
16
  var _ProForm = _interopRequireDefault(require("../ProForm"));
17
17
 
18
- var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "activeFilterValueRef"];
18
+ var _excluded = ["form", "schema", "onSubmit", "onChange", "defaultFilterValue", "filterValues", "activeFilterValueRef"];
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -44,6 +44,7 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
44
44
  onSubmit = props.onSubmit,
45
45
  onChange = props.onChange,
46
46
  defaultFilterValue = props.defaultFilterValue,
47
+ filterValues = props.filterValues,
47
48
  activeFilterValueRef = props.activeFilterValueRef,
48
49
  otherProps = _objectWithoutProperties(props, _excluded);
49
50
 
@@ -66,15 +67,24 @@ var LightFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
66
67
  }, [form]); // 实际输出onFilter
67
68
 
68
69
  var onFilter = (0, _react.useCallback)(function () {
70
+ var _Object$keys;
71
+
69
72
  var key = filterValue.current;
70
- var value = form.values[key];
71
- onChange === null || onChange === void 0 ? void 0 : onChange(_defineProperty({}, key, value));
73
+ var value = form.values[key]; // 删除旧值
74
+
75
+ (_Object$keys = Object.keys(form.values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.forEach(function (item) {
76
+ if (item !== key) {
77
+ form.setValuesIn(item, undefined);
78
+ }
79
+ });
80
+ onChange === null || onChange === void 0 ? void 0 : onChange(_defineProperty({}, key, value), value, key);
72
81
  }, [onChange]);
73
82
  var LightSchema = (0, _react.useMemo)(function () {
74
83
  return [{
75
84
  component: 'LightFilter',
76
85
  props: {
77
86
  defaultFilterValue: defaultFilterValue,
87
+ filterValues: filterValues,
78
88
  onFilterChange: onFilterChange,
79
89
  buttonProps: {
80
90
  onClick: onFilter
@@ -103,7 +103,7 @@ var SimpleFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
103
103
  } else {
104
104
  onChange === null || onChange === void 0 ? void 0 : onChange(values, name, value);
105
105
  }
106
- }, [searchName, searchValue.current]);
106
+ }, [onChange, searchName, searchValue.current]);
107
107
  (0, _react.useEffect)(function () {
108
108
  var _props$form$initialVa, _props$form$initialVa2;
109
109
 
@@ -45,7 +45,7 @@ var _useSpecialProps2 = _interopRequireDefault(require("./useSpecialProps"));
45
45
 
46
46
  require("./index.scss");
47
47
 
48
- var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand"];
48
+ var _excluded = ["addonAfter", "addonBefore", "mode", "purePanel", "expand", "formRef", "defaultFilterValue", "filterValues", "filterDebounce", "onFilter", "onInit", "onReset", "onExpand", "onChange"];
49
49
 
50
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
51
 
@@ -98,11 +98,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
98
98
  expand = props.expand,
99
99
  formRef = props.formRef,
100
100
  defaultFilterValue = props.defaultFilterValue,
101
+ filterValues = props.filterValues,
101
102
  filterDebounce = props.filterDebounce,
102
103
  onFilter = props.onFilter,
103
104
  onInit = props.onInit,
104
105
  onReset = props.onReset,
105
106
  onExpand = props.onExpand,
107
+ onChange = props.onChange,
106
108
  otherProps = _objectWithoutProperties(props, _excluded);
107
109
 
108
110
  var _useSpecialProps = (0, _useSpecialProps2.default)(props),
@@ -188,6 +190,7 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
188
190
  if (!formRef.current.updateTags) {
189
191
  formRef.current.updateTags = function () {
190
192
  configFilterItem(form);
193
+ configTag();
191
194
  };
192
195
  }
193
196
  }
@@ -363,7 +366,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
363
366
  return function (_x) {
364
367
  return _ref4.apply(this, arguments);
365
368
  };
366
- }(), [onFilter, hasRequired, onInit]); // 轻量搜索Filter
369
+ }(), [onFilter, hasRequired, onInit]); // 简单搜索Change
370
+
371
+ var onSimpleChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
372
+ if (currentForm.current === 'simple') {
373
+ onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
374
+ }
375
+ }, [onChange]); // 轻量搜索Filter
367
376
 
368
377
  var onLightFilter = (0, _react.useCallback)(function (values) {
369
378
  if (currentForm.current === 'light') {
@@ -381,7 +390,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
381
390
  configTag();
382
391
  }
383
392
  }
384
- }, [onFilter]); // 高级搜索Filter by Submit
393
+ }, [onFilter]); // 轻量搜索Change
394
+
395
+ var onLightChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
396
+ if (currentForm.current === 'light') {
397
+ onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
398
+ }
399
+ }, [onChange]); // 高级搜索Filter
385
400
 
386
401
  var onAdvancedFilter = (0, _react.useCallback)(function (values) {
387
402
  setCurrentForm('advanced');
@@ -401,9 +416,9 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
401
416
  lightForm.reset('*', {
402
417
  forceClear: true
403
418
  });
404
- }, [onReset]); // 高级搜索Filter by Change
419
+ }, [onReset]); // 高级搜索Init
405
420
 
406
- var onAdvancedChange = (0, _react.useCallback)( /*#__PURE__*/function () {
421
+ var onAdvancedInit = (0, _react.useCallback)( /*#__PURE__*/function () {
407
422
  var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
408
423
  return regeneratorRuntime.wrap(function _callee2$(_context2) {
409
424
  while (1) {
@@ -448,7 +463,13 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
448
463
  return function (_x2) {
449
464
  return _ref5.apply(this, arguments);
450
465
  };
451
- }(), [hasRequired, onInit]); // 关闭标签清空表单字段值
466
+ }(), [hasRequired, onInit]); // 高级搜索Change
467
+
468
+ var onAdvancedChange = (0, _react.useCallback)(function (values, fieldValue, fieldName) {
469
+ if (currentForm.current === 'advanced') {
470
+ onChange === null || onChange === void 0 ? void 0 : onChange(values, fieldValue, fieldName);
471
+ }
472
+ }, [onChange]); // 关闭标签清空表单字段值
452
473
 
453
474
  var onTagClose = (0, _react.useCallback)(function (key, index) {
454
475
  var newValue = undefined;
@@ -468,7 +489,10 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
468
489
  form.setState({
469
490
  loading: false
470
491
  });
471
- }, []); // 组件挂载
492
+ }, []);
493
+ var debounceFun = (0, _lodash.default)(function (fun, props) {
494
+ return fun(props);
495
+ }, filterDebounce); // 组件挂载
472
496
 
473
497
  (0, _react.useEffect)(function () {
474
498
  setCurrentForm(currentForm.current);
@@ -484,20 +508,30 @@ var QueryFilter = /*#__PURE__*/(0, _react.memo)(function (props) {
484
508
  className: (0, _classnames.default)("".concat(prefixCls, "-inline"), purePanel || hasRequired ? "".concat(prefixCls, "-inline-hidden") : '')
485
509
  }, /*#__PURE__*/_react.default.createElement(_LightFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
486
510
  defaultFilterValue: defaultFilterValue,
511
+ filterValues: filterValues,
487
512
  activeFilterValueRef: activeFilterValueRef,
488
513
  form: lightForm,
489
- onChange: (0, _lodash.default)(onLightFilter, filterDebounce)
514
+ onChange: function onChange(values, fieldValue, fieldName) {
515
+ debounceFun(onLightFilter, values);
516
+ onLightChange(values, fieldValue, fieldName);
517
+ }
490
518
  }))) : /*#__PURE__*/_react.default.createElement("div", {
491
519
  className: "".concat(prefixCls, "-inline")
492
520
  }, /*#__PURE__*/_react.default.createElement(_SimpleFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
493
521
  form: simpleForm,
494
- onChange: (0, _lodash.default)(onSimpleFilter, filterDebounce),
522
+ onChange: function onChange(values, fieldValue, fieldName) {
523
+ debounceFun(onSimpleFilter, values);
524
+ onSimpleChange(values, fieldValue, fieldName);
525
+ },
495
526
  onSubmit: onSimpleFilter,
496
527
  onInitialComplete: onInitialComplete
497
528
  }))),
498
529
  panelContent: mode === 'panel' ? /*#__PURE__*/_react.default.createElement(_AdvancedFilter.default, _objectSpread(_objectSpread({}, otherProps), {}, {
499
530
  form: advancedForm,
500
- onChange: (0, _lodash.default)(onAdvancedChange, filterDebounce),
531
+ onChange: function onChange(values, fieldValue, fieldName) {
532
+ debounceFun(onAdvancedInit, values);
533
+ onAdvancedChange(values, fieldValue, fieldName);
534
+ },
501
535
  onSubmit: onAdvancedFilter,
502
536
  onReset: onAdvancedReset,
503
537
  onInitialComplete: onInitialComplete
@@ -9,6 +9,8 @@ var _react = require("@formily/react");
9
9
 
10
10
  var _reactive = require("@formily/reactive");
11
11
 
12
+ var _utils = require("../utils");
13
+
12
14
  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; }
13
15
 
14
16
  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; }
@@ -22,7 +24,7 @@ var customComponent = function customComponent(component) {
22
24
  form: field.form,
23
25
  values: (0, _reactive.toJS)(field.form.values)
24
26
  });
25
- }));
27
+ }, _utils.mapSize, _utils.mapStatus, _utils.mapDataSource));
26
28
  };
27
29
 
28
30
  exports.customComponent = customComponent;
@@ -56,7 +56,7 @@ var getDisplayValues = function getDisplayValues(form, values) {
56
56
 
57
57
  var isFieldValue = Object.keys(_fieldTypeMap.default).includes(field === null || field === void 0 ? void 0 : field.component[0]); // 判断值的类型,递归获取每个值在该结构中的完整路径
58
58
 
59
- if (!(0, _utils.isSignificative)(values)) {
59
+ if (!(0, _utils.isUsable)(values)) {
60
60
  displayValues = {};
61
61
  } else if ((0, _utils.isPlainObj)(values) && !isFieldValue) {
62
62
  // 如果值是布局对象的值
@@ -26,7 +26,7 @@ var _default = function _default(decorator, component) {
26
26
  return decorator;
27
27
  }
28
28
 
29
- if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
29
+ if ([].concat(_toConsumableArray(Object.keys(_fieldTypeMap.default)), ['Upload', 'SelectTable', 'ArrayCards', 'ArrayCollapse', 'ArrayTable', 'ArrayItems']).includes(component)) {
30
30
  return 'FormItem';
31
31
  }
32
32
 
@@ -54,11 +54,8 @@ var typeMap = (_typeMap = {
54
54
  Range: 'string',
55
55
  Search: 'array',
56
56
  SelectGroup: 'array',
57
- ArrayCollapse: 'array',
58
- ArrayCards: 'array',
59
- ArrayTable: 'array',
60
- ArrayItems: 'array'
61
- }, _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
57
+ SelectTable: 'array'
58
+ }, _defineProperty(_typeMap, 'SelectTable.Column', 'string'), _defineProperty(_typeMap, "ArrayCollapse", 'array'), _defineProperty(_typeMap, "ArrayCards", 'array'), _defineProperty(_typeMap, "ArrayTable", 'array'), _defineProperty(_typeMap, "ArrayItems", 'array'), _defineProperty(_typeMap, 'Editable.Popover', 'object'), _defineProperty(_typeMap, 'Editable.Dialog', 'object'), _defineProperty(_typeMap, 'Editable.Drawer', 'object'), _typeMap);
62
59
 
63
60
  var _default = function _default(type, component) {
64
61
  return type || typeMap[component] || 'void';
@@ -57,12 +57,16 @@ var _initializeFormTab = _interopRequireDefault(require("./initializeFormTab"));
57
57
 
58
58
  var _initializeFormCollapse = _interopRequireDefault(require("./initializeFormCollapse"));
59
59
 
60
+ var _initializeSelectTable = _interopRequireDefault(require("./initializeSelectTable"));
61
+
60
62
  var _reactions = require("./reactions");
61
63
 
62
64
  var _fieldTypeMap = _interopRequireDefault(require("../fieldTypeMap"));
63
65
 
64
66
  var _utils = require("../utils");
65
67
 
68
+ var _utils2 = require("@teamix/utils");
69
+
66
70
  var _warning = _interopRequireDefault(require("../warning"));
67
71
 
68
72
  var _excluded = ["component", "type", "name", "decorator", "decoratorProps", "dataSource", "reactions", "rules", "children", "items", "tooltip", "request", "data"];
@@ -107,10 +111,16 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
107
111
  var schema = _ref.schema,
108
112
  scope = _ref.scope,
109
113
  components = _ref.components;
110
- // 创建 SchemaField
114
+
115
+ // 获取全局配置
116
+ var _ref2 = (0, _utils2.getGlobalConfig)('ProForm') || {},
117
+ globalComponents = _ref2.components,
118
+ globalScope = _ref2.scope; // 创建 SchemaField
119
+
120
+
111
121
  var SchemaField = (0, _react.useMemo)(function () {
112
122
  return (0, _react2.createSchemaField)({
113
- components: _objectSpread(_objectSpread({}, _ProField.default), {}, {
123
+ components: _objectSpread(_objectSpread(_objectSpread({}, globalComponents), _ProField.default), {}, {
114
124
  FormLayout: _formily.FormLayout,
115
125
  FormItem: _formily.FormItem,
116
126
  ArrayCollapse: _formily.ArrayCollapse,
@@ -133,6 +143,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
133
143
  EditablePopover: _Editable.EditablePopover,
134
144
  FormGroup: _FormGroup.default,
135
145
  Upload: _formily.Upload,
146
+ SelectTable: _formily.SelectTable,
136
147
  Affix: _components.Affix,
137
148
  LightFilter: _LightFilter.default,
138
149
  Text: _index.default
@@ -141,7 +152,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
141
152
  }, []); // 合并 schema 中 request 的 scope
142
153
 
143
154
  var mergedScope = (0, _react.useMemo)(function () {
144
- return _objectSpread(_objectSpread({}, scope), {}, {
155
+ return _objectSpread(_objectSpread(_objectSpread({}, globalScope), scope), {}, {
145
156
  $request: _reactions.$request,
146
157
  $common: _reactions.$common,
147
158
  $dataSource: _reactions.$dataSource,
@@ -210,6 +221,11 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
210
221
 
211
222
  if (['FormCollapse'].includes(originalComponent)) {
212
223
  newItem = (0, _initializeFormCollapse.default)(newItem);
224
+ } // 初始化选择表格 - SelectTable
225
+
226
+
227
+ if (['SelectTable'].includes(originalComponent)) {
228
+ newItem = (0, _initializeSelectTable.default)(newItem);
213
229
  }
214
230
  }
215
231
 
@@ -244,13 +260,14 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
244
260
 
245
261
  var _initializeRequest = (0, _initializeRequest2.default)(request, "".concat(suffix, "r")),
246
262
  requestReactions = _initializeRequest.reactions,
247
- requestScope = _initializeRequest.scope; // 初始化dataSource,如果readPretty为字符串表达式将失去loading等状态,仍可配置dataSource
263
+ requestScope = _initializeRequest.scope; // 初始化dataSource
248
264
 
249
265
 
250
- var _initializeDataSource = (0, _initializeDataSource2.default)(dataSource, "".concat(suffix, "d"), newItem.readPretty),
266
+ var _initializeDataSource = (0, _initializeDataSource2.default)(dataSource, "".concat(suffix, "d")),
251
267
  defaultDataSource = _initializeDataSource.dataSource,
252
268
  dataSourceReactions = _initializeDataSource.reactions,
253
- dataSourceScope = _initializeDataSource.scope; // 初始化rules validator
269
+ dataSourceScope = _initializeDataSource.scope,
270
+ dataSourceData = _initializeDataSource.data; // 初始化rules validator
254
271
 
255
272
 
256
273
  var _initializeRules = (0, _initializeRules2.default)(rules, "".concat(suffix, "v")),
@@ -260,10 +277,10 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
260
277
 
261
278
  var defaultReactions = (0, _initializeReactions.default)(reactions, [].concat(_toConsumableArray(requestReactions), _toConsumableArray(dataSourceReactions))); // 合并scope
262
279
 
263
- Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (_ref2) {
264
- var _ref3 = _slicedToArray(_ref2, 2),
265
- k = _ref3[0],
266
- v = _ref3[1];
280
+ Object.entries(_objectSpread(_objectSpread(_objectSpread({}, requestScope), dataSourceScope), rulesScope)).map(function (_ref3) {
281
+ var _ref4 = _slicedToArray(_ref3, 2),
282
+ k = _ref4[0],
283
+ v = _ref4[1];
267
284
 
268
285
  mergedScope[k] = v;
269
286
  });
@@ -275,9 +292,9 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
275
292
  rules: defaultRules,
276
293
  reactions: defaultReactions,
277
294
  dataSource: defaultDataSource,
278
- data: data || {
279
- placeholder: true
280
- }
295
+ data: _objectSpread(_objectSpread(_objectSpread({}, data), dataSourceData), {}, {
296
+ __placeholder: true
297
+ })
281
298
  })); // 递归子组件
282
299
 
283
300
  var recursiveProperties = (children === null || children === void 0 ? void 0 : children.length) ? {
@@ -1,11 +1,12 @@
1
1
  import type { ProFormRequestConfig } from '../typing';
2
2
  interface IInitializeDataSource {
3
- (requestConfig?: ProFormRequestConfig | any, suffix?: string, readPretty?: string | boolean): {
3
+ (requestConfig?: ProFormRequestConfig | any, suffix?: string): {
4
4
  dataSource?: any[];
5
5
  reactions: any[];
6
6
  scope: {
7
7
  [x: string]: any;
8
8
  };
9
+ data?: any;
9
10
  };
10
11
  }
11
12
  declare const initializeDataSource: IInitializeDataSource;
@@ -9,13 +9,19 @@ var _utils = require("@teamix/utils");
9
9
 
10
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; }
11
11
 
12
- var initializeDataSource = function initializeDataSource(dataSource, suffix, readPretty) {
12
+ var initializeDataSource = function initializeDataSource(dataSource, suffix) {
13
13
  if ((0, _utils.isPlainObj)(dataSource)) {
14
+ var _requestConfig$extraC;
15
+
14
16
  var requestConfig = dataSource;
15
17
  var requestConfigName = "$requestConfig_".concat(suffix);
16
18
  return {
17
- reactions: ["{{$dataSource($request,".concat(requestConfigName, ",context,").concat(readPretty, ")}}")],
18
- scope: _defineProperty({}, requestConfigName, requestConfig)
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
+ }
19
25
  };
20
26
  }
21
27
 
@@ -0,0 +1,3 @@
1
+ import type { ProFormInitializeItem } from '../typing';
2
+ declare const initialize: ProFormInitializeItem;
3
+ export default initialize;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _excluded = ["name", "title", "children"];
8
+
9
+ 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; }
10
+
11
+ 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; }
12
+
13
+ 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; }
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ var initializeTableColumn = function initializeTableColumn(item) {
20
+ var name = item.name,
21
+ title = item.title,
22
+ children = item.children,
23
+ otherProps = _objectWithoutProperties(item, _excluded);
24
+
25
+ return {
26
+ name: name,
27
+ title: title,
28
+ component: 'SelectTable.Column',
29
+ children: children,
30
+ props: _objectSpread({}, otherProps)
31
+ };
32
+ };
33
+
34
+ var initialize = function initialize(item) {
35
+ var _item$children = item.children,
36
+ children = _item$children === void 0 ? [] : _item$children;
37
+ return _objectSpread(_objectSpread({}, item), {}, {
38
+ children: children.map(function (item) {
39
+ return initializeTableColumn(item);
40
+ })
41
+ });
42
+ };
43
+
44
+ var _default = initialize;
45
+ exports.default = _default;
@@ -1,6 +1,6 @@
1
1
  import type { ProFormRequestConfig } from '../typing';
2
- declare const $request: (field: any, requestConfig: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
2
+ declare const $request: (field: any, { extraConfig, ...requestConfig }: ProFormRequestConfig, context: any, type: 'request' | 'validator' | 'dataSource') => Promise<unknown>;
3
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
- declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any, readPretty: any) => (field: any) => any;
5
+ declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
6
6
  export { $request, $common, $dataSource, $validator };