@teamix/pro 1.3.2 → 1.3.5

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 (126) hide show
  1. package/dist/pro.css +1 -1
  2. package/dist/pro.js +13959 -2353
  3. package/dist/pro.min.css +1 -1
  4. package/dist/pro.min.js +1 -1
  5. package/dist/pro.min.js.LICENSE.txt +9 -0
  6. package/es/actions/dialog-form.js +8 -5
  7. package/es/actions/dialog.js +2 -4
  8. package/es/form/Components/LightFilter/index.d.ts +1 -0
  9. package/es/form/Components/LightFilter/index.js +9 -6
  10. package/es/form/Filter/LightFilter.js +13 -3
  11. package/es/form/Filter/SimpleFilter.js +1 -1
  12. package/es/form/Filter/index.js +44 -10
  13. package/es/form/ProForm/useFormDisplayValues.js +2 -2
  14. package/es/form/SchemaForm/adapterDecorator.js +1 -1
  15. package/es/form/SchemaForm/adapterType.js +2 -5
  16. package/es/form/SchemaForm/index.js +27 -12
  17. package/es/form/SchemaForm/initializeDataSource.d.ts +1 -0
  18. package/es/form/SchemaForm/initializeDataSource.js +7 -1
  19. package/es/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  20. package/es/form/SchemaForm/initializeSelectTable.js +38 -0
  21. package/es/form/SchemaForm/reactions.d.ts +1 -1
  22. package/es/form/SchemaForm/reactions.js +20 -16
  23. package/es/form/docs/ActionResponse.d.ts +7 -0
  24. package/es/form/docs/ActionResponse.js +11 -0
  25. package/es/form/docs/ActionResponse.less +25 -0
  26. package/es/form/index.d.ts +1 -0
  27. package/es/form/typing.d.ts +6 -1
  28. package/es/form/utils.js +13 -4
  29. package/es/index.d.ts +4 -2
  30. package/es/index.js +5 -5
  31. package/es/info/components/ProInfoItem/index.js +6 -2
  32. package/es/info/components/ProInfoItem/index.scss +3 -0
  33. package/es/info/components/baseInfo/index.js +2 -1
  34. package/es/info/typing.d.ts +2 -0
  35. package/es/info/utils/index.d.ts +8 -0
  36. package/es/info/utils/index.js +28 -1
  37. package/es/page-header/index.d.ts +3 -1
  38. package/es/page-header/index.js +12 -3
  39. package/es/sidebar/components/sidebar-container/index.js +114 -9
  40. package/es/sidebar/components/sidebar-container/index.scss +53 -5
  41. package/es/sidebar/components/tree/index.d.ts +2 -0
  42. package/es/sidebar/components/tree/index.js +222 -76
  43. package/es/sidebar/components/tree/index.scss +10 -0
  44. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  45. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.js +62 -0
  46. package/es/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  47. package/es/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  48. package/es/sidebar/components/tree-node/componnets/IconAction/index.js +105 -0
  49. package/es/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  50. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  51. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.js +73 -0
  52. package/es/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  53. package/es/sidebar/components/tree-node/index.d.ts +7 -0
  54. package/es/sidebar/components/tree-node/index.js +225 -0
  55. package/es/sidebar/components/tree-node/index.scss +58 -0
  56. package/es/sidebar/index.d.ts +2 -0
  57. package/es/sidebar/index.js +147 -12
  58. package/es/sidebar/index.scss +24 -1
  59. package/es/sidebar/typing.d.ts +83 -13
  60. package/es/sidebar/utils/action-ref.d.ts +3 -0
  61. package/es/sidebar/utils/action-ref.js +15 -0
  62. package/es/sidebar/utils/index.d.ts +71 -0
  63. package/es/sidebar/utils/index.js +228 -0
  64. package/es/table/components/ToolBar/index.scss +1 -1
  65. package/es/table/index.scss +10 -0
  66. package/lib/actions/dialog-form.js +8 -5
  67. package/lib/actions/dialog.js +1 -3
  68. package/lib/form/Components/LightFilter/index.d.ts +1 -0
  69. package/lib/form/Components/LightFilter/index.js +9 -6
  70. package/lib/form/Filter/LightFilter.js +13 -3
  71. package/lib/form/Filter/SimpleFilter.js +1 -1
  72. package/lib/form/Filter/index.js +44 -10
  73. package/lib/form/ProForm/useFormDisplayValues.js +1 -1
  74. package/lib/form/SchemaForm/adapterDecorator.js +1 -1
  75. package/lib/form/SchemaForm/adapterType.js +2 -5
  76. package/lib/form/SchemaForm/index.js +28 -11
  77. package/lib/form/SchemaForm/initializeDataSource.d.ts +1 -0
  78. package/lib/form/SchemaForm/initializeDataSource.js +7 -1
  79. package/lib/form/SchemaForm/initializeSelectTable.d.ts +3 -0
  80. package/lib/form/SchemaForm/initializeSelectTable.js +45 -0
  81. package/lib/form/SchemaForm/reactions.d.ts +1 -1
  82. package/lib/form/SchemaForm/reactions.js +20 -16
  83. package/lib/form/docs/ActionResponse.d.ts +7 -0
  84. package/lib/form/docs/ActionResponse.js +24 -0
  85. package/lib/form/docs/ActionResponse.less +25 -0
  86. package/lib/form/index.d.ts +1 -0
  87. package/lib/form/typing.d.ts +6 -1
  88. package/lib/form/utils.js +13 -4
  89. package/lib/index.d.ts +4 -2
  90. package/lib/index.js +22 -2
  91. package/lib/info/components/ProInfoItem/index.js +6 -2
  92. package/lib/info/components/ProInfoItem/index.scss +3 -0
  93. package/lib/info/components/baseInfo/index.js +1 -0
  94. package/lib/info/typing.d.ts +2 -0
  95. package/lib/info/utils/index.d.ts +8 -0
  96. package/lib/info/utils/index.js +32 -1
  97. package/lib/page-header/index.d.ts +3 -1
  98. package/lib/page-header/index.js +11 -2
  99. package/lib/sidebar/components/sidebar-container/index.js +120 -8
  100. package/lib/sidebar/components/sidebar-container/index.scss +53 -5
  101. package/lib/sidebar/components/tree/index.d.ts +2 -0
  102. package/lib/sidebar/components/tree/index.js +230 -76
  103. package/lib/sidebar/components/tree/index.scss +10 -0
  104. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.d.ts +15 -0
  105. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.js +80 -0
  106. package/lib/sidebar/components/tree-node/componnets/HoverTooltip/index.scss +7 -0
  107. package/lib/sidebar/components/tree-node/componnets/IconAction/index.d.ts +12 -0
  108. package/lib/sidebar/components/tree-node/componnets/IconAction/index.js +127 -0
  109. package/lib/sidebar/components/tree-node/componnets/IconAction/index.scss +7 -0
  110. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.d.ts +23 -0
  111. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.js +94 -0
  112. package/lib/sidebar/components/tree-node/componnets/IconSwitch/index.scss +7 -0
  113. package/lib/sidebar/components/tree-node/index.d.ts +7 -0
  114. package/lib/sidebar/components/tree-node/index.js +252 -0
  115. package/lib/sidebar/components/tree-node/index.scss +58 -0
  116. package/lib/sidebar/index.d.ts +2 -0
  117. package/lib/sidebar/index.js +173 -10
  118. package/lib/sidebar/index.scss +24 -1
  119. package/lib/sidebar/typing.d.ts +83 -13
  120. package/lib/sidebar/utils/action-ref.d.ts +3 -0
  121. package/lib/sidebar/utils/action-ref.js +22 -0
  122. package/lib/sidebar/utils/index.d.ts +71 -0
  123. package/lib/sidebar/utils/index.js +247 -0
  124. package/lib/table/components/ToolBar/index.scss +1 -1
  125. package/lib/table/index.scss +10 -0
  126. package/package.json +4 -4
@@ -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
@@ -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
 
@@ -250,7 +266,8 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
250
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) ? {
@@ -6,6 +6,7 @@ interface IInitializeDataSource {
6
6
  scope: {
7
7
  [x: string]: any;
8
8
  };
9
+ data?: any;
9
10
  };
10
11
  }
11
12
  declare const initializeDataSource: IInitializeDataSource;
@@ -11,11 +11,17 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
11
11
 
12
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
19
  reactions: ["{{$dataSource($request,".concat(requestConfigName, ",context)}}")],
18
- scope: _defineProperty({}, requestConfigName, requestConfig)
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,5 +1,5 @@
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
5
  declare const $dataSource: (services: any, requestConfig: ProFormRequestConfig, context: any) => (field: any) => any;
@@ -7,18 +7,28 @@ exports.$validator = exports.$request = exports.$dataSource = exports.$common =
7
7
 
8
8
  var _utils = require("@teamix/utils");
9
9
 
10
+ var _excluded = ["extraConfig"];
11
+
10
12
  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; }
11
13
 
12
14
  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; }
13
15
 
14
16
  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; }
15
17
 
18
+ 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; }
19
+
20
+ 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; }
21
+
16
22
  // 配置请求
17
- var $request = function $request(field, requestConfig, context, type) {
23
+ var $request = function $request(field, _ref, context, type) {
18
24
  var _field$data;
19
25
 
26
+ var extraConfig = _ref.extraConfig,
27
+ requestConfig = _objectWithoutProperties(_ref, _excluded);
28
+
20
29
  var params = requestConfig.params,
21
30
  beforeRequest = requestConfig.beforeRequest,
31
+ formatResult = requestConfig.formatResult,
22
32
  onSuccess = requestConfig.onSuccess;
23
33
  var beforeRequestResult = (0, _utils.isFn)(beforeRequest) ? beforeRequest(field, context) : {};
24
34
  /**
@@ -33,6 +43,9 @@ var $request = function $request(field, requestConfig, context, type) {
33
43
  beforeRequest: function beforeRequest() {
34
44
  return beforeRequestResult;
35
45
  },
46
+ formatResult: (0, _utils.isFn)(formatResult) ? function (res) {
47
+ return formatResult(res, field, context);
48
+ } : formatResult,
36
49
  onSuccess: (0, _utils.isFn)(onSuccess) ? function (res) {
37
50
  return onSuccess(res, field, context);
38
51
  } : onSuccess
@@ -56,8 +69,8 @@ var $common = function $common(services, requestConfig, context) {
56
69
  exports.$common = $common;
57
70
 
58
71
  var $validator = function $validator(services, requestConfig, context) {
59
- return function (value, rules, _ref) {
60
- var field = _ref.field;
72
+ return function (value, rules, _ref2) {
73
+ var field = _ref2.field;
61
74
  return services(field, requestConfig, context, 'validator').then(function (res) {
62
75
  var _requestConfig$onComp2;
63
76
 
@@ -74,31 +87,22 @@ var $dataSource = function $dataSource(services, requestConfig, context) {
74
87
  field.setState({
75
88
  loading: true
76
89
  });
77
- field.setComponentProps({
78
- readOnly: true
79
- });
80
90
  return services(field, requestConfig, context, 'dataSource').then(function (res) {
81
- var _requestConfig$onComp3;
91
+ var _requestConfig$extraC, _requestConfig$onComp3;
82
92
 
83
93
  var isValueInDataSource = (0, _utils.getValueByValue)(res, field.value);
84
- var clearValue = isValueInDataSource ? {} : {
94
+ var clearResult = !isValueInDataSource && (requestConfig === null || requestConfig === void 0 ? void 0 : (_requestConfig$extraC = requestConfig.extraConfig) === null || _requestConfig$extraC === void 0 ? void 0 : _requestConfig$extraC.clearInvalidValue) !== false ? {
85
95
  value: undefined
86
- };
96
+ } : {};
87
97
  field.setState(_objectSpread({
88
98
  dataSource: res,
89
99
  loading: false
90
- }, clearValue));
91
- field.setComponentProps({
92
- readOnly: false
93
- });
100
+ }, clearResult));
94
101
  return (_requestConfig$onComp3 = requestConfig.onComplete) === null || _requestConfig$onComp3 === void 0 ? void 0 : _requestConfig$onComp3.call(requestConfig, res, field, context);
95
102
  }).catch(function () {
96
103
  field.setState({
97
104
  loading: false
98
105
  });
99
- field.setComponentProps({
100
- readOnly: false
101
- });
102
106
  });
103
107
  };
104
108
  };
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './ActionResponse.less';
3
+ declare type ActionResponseProps = {
4
+ response?: React.ReactNode;
5
+ };
6
+ export declare const ActionResponse: React.FC<ActionResponseProps>;
7
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ActionResponse = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ require("./ActionResponse.less");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ var ActionResponse = function ActionResponse(props) {
15
+ return /*#__PURE__*/_react.default.createElement("div", {
16
+ className: "as-wrapper"
17
+ }, /*#__PURE__*/_react.default.createElement("div", {
18
+ className: "as-actions"
19
+ }, props.children), props.response && /*#__PURE__*/_react.default.createElement("div", {
20
+ className: "as-response"
21
+ }, "Response\uFF1A", props.response));
22
+ };
23
+
24
+ exports.ActionResponse = ActionResponse;
@@ -0,0 +1,25 @@
1
+ .as-wrapper {
2
+ .as-actions {
3
+ & button {
4
+ margin-right: 5px;
5
+ background-color: #fff;
6
+ border: 2px solid #d4bbbb;
7
+ border-radius: 6px;
8
+ outline: none;
9
+ padding: 8px 20px;
10
+ cursor: pointer;
11
+ transition: all 0.15s ease-in-out;
12
+ &:hover {
13
+ border: 2px solid #9db8f3;
14
+ }
15
+ }
16
+ }
17
+
18
+ .as-response {
19
+ border: 2px dashed #f0bdbd;
20
+ font-size: 14px;
21
+ border-radius: 6px;
22
+ padding: 8px 20px;
23
+ margin-top: 10px;
24
+ }
25
+ }
@@ -31,6 +31,7 @@ declare const formilyReact: {
31
31
  displayName: string;
32
32
  };
33
33
  RecursionField: import("react").FC<originalFormilyReact.IRecursionFieldProps>;
34
+ ExpressionScope: import("react").FC<originalFormilyReact.IExpressionScopeProps>;
34
35
  createSchemaField<Components extends originalFormilyReact.SchemaReactComponents>(options?: originalFormilyReact.ISchemaFieldReactFactoryOptions<Components> | undefined): {
35
36
  <Decorator extends originalFormilyReact.JSXComponent, Component extends originalFormilyReact.JSXComponent>(props: originalFormilyReact.ISchemaFieldProps<Decorator, Component, import("@formily/core").ObjectField<Decorator, Component>>): JSX.Element;
36
37
  displayName: string;
@@ -14,14 +14,16 @@ export interface ProFormInitializeItem {
14
14
  * ProForm 实例类型
15
15
  */
16
16
  export declare type ProFormType = FormType;
17
- declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput' | 'TagPicker' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup';
17
+ declare type IBaseComponent = 'Input' | 'Password' | 'TextArea' | 'NumberPicker' | 'Percent' | 'Money' | 'Select' | 'MultipleSelect' | 'TreeSelect' | 'Cascader' | 'MultipleCascader' | 'ArbitraryCascader' | 'Radio' | 'Checkbox' | 'Switch' | 'DatePicker' | 'TimePicker' | 'DateTimePicker' | 'WeekPicker' | 'MonthPicker' | 'YearPicker' | 'QuarterPicker' | 'DateRangePicker' | 'TimeRangePicker' | 'DateTimeRangePicker' | 'WeekRangePicker' | 'MonthRangePicker' | 'YearRangePicker' | 'QuarterRangePicker' | 'Transfer' | 'Upload' | 'ColorPicker' | 'ColorRadio' | 'IconPicker' | 'JsonInput' | 'TagPicker' | 'MultipleTagPicker' | 'Range' | 'Search' | 'SelectGroup' | 'SelectTable' | 'SelectTable.Column';
18
18
  declare type IButtonComponent = 'Submit' | 'Reset';
19
19
  declare type IComboComponent = 'ArrayCards' | 'ArrayCards.Addition' | 'ArrayCards.Remove' | 'ArrayCards.MoveUp' | 'ArrayCards.MoveDown' | 'ArrayCards.Index' | 'ArrayCollapse' | 'ArrayCollapse.CollapsePanel' | 'ArrayCollapse.Addition' | 'ArrayCollapse.Remove' | 'ArrayCollapse.MoveUp' | 'ArrayCollapse.MoveDown' | 'ArrayCollapse.Index' | 'ArrayTable' | 'ArrayTable.Column' | 'ArrayTable.SortHandle' | 'ArrayTable.Addition' | 'ArrayTable.Remove' | 'ArrayTable.MoveDown' | 'ArrayTable.MoveUp' | 'ArrayTable.Index' | 'ArrayItems' | 'ArrayItems.Item' | 'ArrayItems.SortHandle' | 'ArrayItems.Addition' | 'ArrayItems.Remove' | 'ArrayItems.MoveDown' | 'ArrayItems.MoveUp' | 'ArrayItems.Index' | 'Editable' | 'Editable.Popover' | 'Editable.Dialog' | 'Editable.Drawer';
20
20
  declare type ILayoutComponent = 'FormFlex' | 'FormGrid' | 'FormGroup' | 'FormGroup.GroupPanel' | 'Search' | 'Search.SearchPanel' | 'FormTab' | 'FormTab.TabPane' | 'FormStep' | 'FormStep.StepPane' | 'FormCollapse' | 'FormCollapse.CollapsePanel' | 'FormButtonGroup' | 'FormDialog' | 'FormDrawer' | 'FormDialog.Footer' | 'FormDrawer.Footer';
21
21
  export interface ProFormRequestConfig extends CommonRequestConfig {
22
22
  beforeRequest?: (field?: any, context?: any) => any;
23
+ formatResult?: (res?: any, field?: any, context?: any) => any;
23
24
  onSuccess?: (res?: any, field?: any, context?: any) => any;
24
25
  onComplete?: (res?: any, field?: any, context?: any) => any;
26
+ extraConfig?: AnyObject;
25
27
  }
26
28
  export interface ProFormSchemaItem {
27
29
  type?: string;
@@ -72,6 +74,7 @@ export interface ProFormProps extends IFormLayoutProps {
72
74
  export interface FilterProps extends ProFormProps {
73
75
  form: FormType;
74
76
  defaultFilterValue?: string;
77
+ filterValues?: string[];
75
78
  activeFilterValueRef?: React.MutableRefObject<any>;
76
79
  forceClear?: boolean;
77
80
  onReset?: (payload?: any) => void;
@@ -106,6 +109,8 @@ export interface QueryFilterProps extends ProFormProps {
106
109
  addonAfter?: ReactNode;
107
110
  /** 顶部筛选区默认筛选项 */
108
111
  defaultFilterValue?: string;
112
+ /** 顶部筛选区筛选项配置 */
113
+ filterValues?: string[];
109
114
  /** 透出内部表单实例 */
110
115
  formRef?: React.MutableRefObject<any>;
111
116
  /** onChange事件的防抖时间 */
package/lib/form/utils.js CHANGED
@@ -69,6 +69,8 @@ var mapSize = function mapSize(props, field) {
69
69
  exports.mapSize = mapSize;
70
70
 
71
71
  var mapStatus = function mapStatus(props, field) {
72
+ var _field$data;
73
+
72
74
  var takeStatus = function takeStatus() {
73
75
  var _field$warnings, _field$decoratorProps, _field$decoratorProps2;
74
76
 
@@ -86,9 +88,16 @@ var mapStatus = function mapStatus(props, field) {
86
88
  return state;
87
89
  };
88
90
 
89
- return _objectSpread(_objectSpread({}, props), {}, {
90
- state: takeState(props.state) || takeStatus()
91
- });
91
+ var state = takeState(props.state) || takeStatus();
92
+ var result = {
93
+ state: state
94
+ }; // 当组件处于loading状态时,仅可读不可写。
95
+
96
+ if (state === 'loading' && ((_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.readOnlyOnLoading)) {
97
+ result.readOnly = true;
98
+ }
99
+
100
+ return _objectSpread(_objectSpread({}, props), result);
92
101
  };
93
102
 
94
103
  exports.mapStatus = mapStatus;
@@ -108,7 +117,7 @@ var patchDataSource = function patchDataSource() {
108
117
  return result;
109
118
  };
110
119
 
111
- return dataSource.map(removeEmptyChildren);
120
+ return (0, _utils.isArr)(dataSource) ? dataSource.map(removeEmptyChildren) : [];
112
121
  };
113
122
 
114
123
  var mapDataSource = function mapDataSource(props, field) {
package/lib/index.d.ts CHANGED
@@ -9,6 +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 ProSidebar from './sidebar';
12
13
  import { ProTimeline } from './timeline';
13
14
  import * as nocode from './nocode';
14
15
  import * as templates from './templates';
@@ -22,7 +23,8 @@ export * from './page-container';
22
23
  export * from './page-header';
23
24
  export * from './skeleton';
24
25
  export * from './table';
26
+ export * from './sidebar';
25
27
  export * from './utils';
26
28
  export * from './timeline';
27
- declare const version = "1.3.2";
28
- export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProTimeline, hooks, nocode, templates, utils, };
29
+ declare const version = "1.3.5";
30
+ export { version, ProAction, ProCard, ProField, ProForm, ProInfo, ProPageContainer, ProPageHeader, ProSkeleton, ProTable, ProSidebar, ProTimeline, hooks, nocode, templates, utils, };