@zat-design/sisyphus-react 3.3.3 → 3.4.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 (69) hide show
  1. package/dist/index.esm.css +32 -5
  2. package/es/ProConfigProvider/index.d.ts +10 -2
  3. package/es/ProConfigProvider/index.js +13 -7
  4. package/es/ProEditLabel/index.js +2 -3
  5. package/es/ProEditTable/components/ActionButton/index.js +6 -6
  6. package/es/ProEditTable/components/RenderField/index.js +5 -5
  7. package/es/ProEditTable/style/index.less +0 -1
  8. package/es/ProEditTable/utils/index.js +2 -4
  9. package/es/ProForm/components/base/Switch/index.js +0 -1
  10. package/es/ProForm/components/base/TextArea/index.js +1 -3
  11. package/es/ProForm/components/base/TextArea/index.less +7 -0
  12. package/es/ProForm/components/combination/FormList/components/ActionButton.js +2 -2
  13. package/es/ProForm/components/combination/Group/index.js +6 -1
  14. package/es/ProForm/components/combination/Group/style/index.less +2 -1
  15. package/es/ProForm/components/combination/ProCombination/index.js +0 -1
  16. package/es/ProForm/components/combination/ProModalSelect/index.js +2 -2
  17. package/es/ProForm/components/render/Render.js +3 -4
  18. package/es/ProForm/index.js +36 -6
  19. package/es/ProForm/propsType.d.ts +1 -0
  20. package/es/ProForm/utils/index.d.ts +4 -0
  21. package/es/ProForm/utils/index.js +23 -6
  22. package/es/ProForm/utils/useForm.js +48 -75
  23. package/es/ProForm/utils/useRules.js +4 -2
  24. package/es/ProForm/utils/useShouldUpdate.js +11 -7
  25. package/es/ProStep/index.js +0 -1
  26. package/es/ProThemeTools/index.d.ts +1 -1
  27. package/es/ProThemeTools/index.js +10 -2
  28. package/es/ProThemeTools/propsType.d.ts +1 -0
  29. package/es/ProThemeTools/utils/index.js +0 -1
  30. package/es/ProTree/components/Tree.js +0 -1
  31. package/es/ProTreeSelect/index.js +2 -4
  32. package/es/ProUpload/index.js +0 -1
  33. package/es/old/ProEditableTable/index.js +1 -1
  34. package/es/style/theme/antd.less +46 -5
  35. package/lib/ProConfigProvider/index.d.ts +10 -2
  36. package/lib/ProConfigProvider/index.js +14 -7
  37. package/lib/ProEditLabel/index.js +2 -3
  38. package/lib/ProEditTable/components/ActionButton/index.js +6 -6
  39. package/lib/ProEditTable/components/RenderField/index.js +5 -5
  40. package/lib/ProEditTable/style/index.less +0 -1
  41. package/lib/ProEditTable/utils/index.js +2 -4
  42. package/lib/ProForm/components/base/TextArea/index.js +1 -3
  43. package/lib/ProForm/components/base/TextArea/index.less +7 -0
  44. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +2 -2
  45. package/lib/ProForm/components/combination/Group/index.js +6 -1
  46. package/lib/ProForm/components/combination/Group/style/index.less +2 -1
  47. package/lib/ProForm/components/combination/ProCombination/index.js +0 -1
  48. package/lib/ProForm/components/combination/ProModalSelect/index.js +2 -2
  49. package/lib/ProForm/components/old/InputRange/index.js +1 -0
  50. package/lib/ProForm/components/render/Render.js +3 -4
  51. package/lib/ProForm/index.js +35 -5
  52. package/lib/ProForm/propsType.d.ts +1 -0
  53. package/lib/ProForm/utils/index.d.ts +4 -0
  54. package/lib/ProForm/utils/index.js +24 -7
  55. package/lib/ProForm/utils/useForm.js +48 -75
  56. package/lib/ProForm/utils/useRules.js +4 -2
  57. package/lib/ProForm/utils/useShouldUpdate.js +10 -6
  58. package/lib/ProStep/index.js +0 -1
  59. package/lib/ProThemeTools/index.d.ts +1 -1
  60. package/lib/ProThemeTools/index.js +10 -2
  61. package/lib/ProThemeTools/propsType.d.ts +1 -0
  62. package/lib/ProThemeTools/utils/index.js +0 -1
  63. package/lib/ProTree/components/Tree.js +0 -1
  64. package/lib/ProTree/index.js +1 -0
  65. package/lib/ProTreeSelect/index.js +2 -4
  66. package/lib/ProUpload/index.js +0 -1
  67. package/lib/old/ProEditableTable/index.js +1 -1
  68. package/lib/style/theme/antd.less +46 -5
  69. package/package.json +1 -1
@@ -46,9 +46,7 @@ var TextAreaDef = function TextAreaDef(props) {
46
46
  showCount: true,
47
47
  autoComplete: "off",
48
48
  placeholder: placeholder || "".concat(_locale.default.ProForm.inputPlaceholder).concat(label || ''),
49
- autoSize: {
50
- minRows: 4
51
- }
49
+ autoSize: true
52
50
  }, (0, _lodash.omit)(initialConfig, ['trim'])), rest), {}, {
53
51
  className: _className
54
52
  }));
@@ -10,3 +10,10 @@ div.pro-textarea-view {
10
10
  padding-bottom: 12px;
11
11
  }
12
12
  }
13
+
14
+ // input-textarea级联选择
15
+ .pro-textarea {
16
+ .@{ant-prefix}-input {
17
+ resize: auto !important;
18
+ }
19
+ }
@@ -226,13 +226,13 @@ var ActionButton = function ActionButton(props) {
226
226
  },
227
227
  children: label
228
228
  }))
229
- }), "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index)) : /*#__PURE__*/(0, _react.createElement)(_antd.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
229
+ }), "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index)) : ( /*#__PURE__*/(0, _react.createElement)(_antd.Button, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
230
230
  key: "".concat(item === null || item === void 0 ? void 0 : item.actionType).concat(index),
231
231
  onClick: function onClick(e) {
232
232
  e.stopPropagation();
233
233
  handleClick(_onClick, index);
234
234
  }
235
- }), label);
235
+ }), label));
236
236
  })
237
237
  });
238
238
  };
@@ -55,6 +55,9 @@ var Group = function Group(props) {
55
55
  'pro-group-diy-width': columns.some(function (item) {
56
56
  var _item$fieldProps, _item$fieldProps$styl;
57
57
  return item === null || item === void 0 ? void 0 : (_item$fieldProps = item.fieldProps) === null || _item$fieldProps === void 0 ? void 0 : (_item$fieldProps$styl = _item$fieldProps.style) === null || _item$fieldProps$styl === void 0 ? void 0 : _item$fieldProps$styl.width;
58
+ }),
59
+ 'pro-group-width-auto': columns.some(function (item) {
60
+ return ['Radio', 'Checkbox', 'Switch'].includes(item.type);
58
61
  })
59
62
  }, "".concat(className), className));
60
63
  return (0, _jsxRuntime.jsx)("div", {
@@ -64,7 +67,9 @@ var Group = function Group(props) {
64
67
  columns: data.columns,
65
68
  form: form
66
69
  }, (0, _lodash.omit)(otherProps, ['colProps'])))
67
- }) : (0, _jsxRuntime.jsx)(_antd.Space, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(space, ['separator', 'compact'])), {}, {
70
+ }) : (0, _jsxRuntime.jsx)(_antd.Space, (0, _objectSpread2.default)((0, _objectSpread2.default)({
71
+ align: "start"
72
+ }, (0, _lodash.omit)(space, ['separator', 'compact'])), {}, {
68
73
  children: data.columns.map(function (column, index) {
69
74
  return (0, _jsxRuntime.jsx)(_RenderFields.default, (0, _objectSpread2.default)({
70
75
  columns: [column],
@@ -20,8 +20,9 @@
20
20
 
21
21
  .pro-group {
22
22
  width: unset !important;
23
+
23
24
 
24
- &.pro-group-diy-width {
25
+ &.pro-group-diy-width, &.pro-group-width-auto {
25
26
  .@{ant-prefix}-space .@{ant-prefix}-space-item {
26
27
  width: auto;
27
28
 
@@ -87,7 +87,6 @@ var ProCombination = exports.ProCombination = function ProCombination(props) {
87
87
  _handleChange(_values, rest === null || rest === void 0 ? void 0 : rest[0], form);
88
88
  (_childProps$index = childProps[index]) === null || _childProps$index === void 0 ? void 0 : (_childProps$index$onC = _childProps$index.onChange) === null || _childProps$index$onC === void 0 ? void 0 : _childProps$index$onC.call(_childProps$index, value, rest === null || rest === void 0 ? void 0 : rest[0], form); // 支持子组件分别传入onChange
89
89
  };
90
-
91
90
  var className = (0, _classnames.default)({
92
91
  'pro-combination': true,
93
92
  'pro-combination-view': isView
@@ -549,8 +549,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
549
549
  _value: value
550
550
  });
551
551
  } else if (Object.prototype.toString.call(value) === '[object Object]') {
552
- var _initialValue;
553
- var initialValue = (_initialValue = {}, (0, _defineProperty2.default)(_initialValue, valueKey, value[valueKey]), (0, _defineProperty2.default)(_initialValue, labelKey, value[labelKey]), _initialValue);
552
+ var initialValue = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, valueKey, value[valueKey]), labelKey, value[labelKey]);
554
553
  setState({
555
554
  selectedRowKeys: [value],
556
555
  selectedRows: [initialValue],
@@ -741,6 +740,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
741
740
  visible: visible
742
741
  }, restModalProps), {}, {
743
742
  children: [(0, _jsxRuntime.jsx)(_index.ProForm, {
743
+ submitOnEnter: true,
744
744
  form: form,
745
745
  columns: formColumns,
746
746
  onFinish: handleSearch,
@@ -13,6 +13,7 @@ var _antd = require("antd");
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  /* eslint-disable @typescript-eslint/no-shadow */
15
15
  /* eslint-disable no-param-reassign */
16
+
16
17
  var positiveInteger = {
17
18
  formatter: function formatter(value) {
18
19
  return value.replace(/[^0-9]/g, '');
@@ -31,7 +31,7 @@ var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className",
31
31
  /* eslint-disable prefer-destructuring */
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
33
33
  var Render = function Render(props) {
34
- var _ref2, _classNames, _otherProps$names2;
34
+ var _ref2, _otherProps$names2;
35
35
  var component = props.component,
36
36
  originComponent = props.originComponent,
37
37
  _props$formItemProps = props.formItemProps,
@@ -169,7 +169,7 @@ var Render = function Render(props) {
169
169
  var lastComponentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), _fieldProps), {}, {
170
170
  disabled: lastDisabled
171
171
  });
172
- var _className = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, className, className), (0, _defineProperty2.default)(_classNames, 'pro-form-item-changed', changed), (0, _defineProperty2.default)(_classNames, 'pro-form-item-width-auto', ['Switch'].includes(type)), _classNames));
172
+ var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-changed', changed), 'pro-form-item-width-auto', ['Switch'].includes(type)));
173
173
  if (formItemProps.hidden === true || _show === false) {
174
174
  // 为了监听shouldUpdate 必须存在一个FormItem, 空Input解决 【[antd: Form.Item] `name` is only used for validate React element】
175
175
  return (0, _jsxRuntime.jsx)(_antd.Form.Item, {
@@ -342,7 +342,7 @@ var Render = function Render(props) {
342
342
  if (originComponent) {
343
343
  delete childProps.otherProps;
344
344
  }
345
- var child = /*#__PURE__*/_react.default.isValidElement(AutoComponent) ? /*#__PURE__*/_react.default.cloneElement(AutoComponent, childProps) : (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps, ['onFieldChange', 'disabledStrictly'])), {}, {
345
+ var child = /*#__PURE__*/_react.default.isValidElement(AutoComponent) ? ( /*#__PURE__*/_react.default.cloneElement(AutoComponent, childProps)) : (0, _jsxRuntime.jsx)(AutoComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(lastComponentProps, ['onFieldChange', 'disabledStrictly'])), {}, {
346
346
  otherProps: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
347
347
  show: show,
348
348
  disabled: lastDisabled,
@@ -388,7 +388,6 @@ var Render = function Render(props) {
388
388
  span: 24 // 默认占一行
389
389
  });
390
390
  }
391
-
392
391
  var orgFormItem = (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
393
392
  // @ts-ignore
394
393
  _internalItemRender: internalItemRender,
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
10
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -25,9 +25,9 @@ var _index = require("./utils/index");
25
25
  var _useForm3 = require("./utils/useForm");
26
26
  var _useFieldProps = require("./utils/useFieldProps");
27
27
  var _locale = _interopRequireDefault(require("../locale"));
28
- var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "originalValues", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "originalTip"];
28
+ var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "originalValues", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "originalTip", "formKey"];
29
29
  var ProForm = function ProForm(props, ref) {
30
- var _localStorage;
30
+ var _forms$formKey, _localStorage;
31
31
  var _props$mode = props.mode,
32
32
  mode = _props$mode === void 0 ? 'search' : _props$mode,
33
33
  span = props.span,
@@ -66,8 +66,14 @@ var ProForm = function ProForm(props, ref) {
66
66
  required = props.required,
67
67
  _props$originalTip = props.originalTip,
68
68
  originalTip = _props$originalTip === void 0 ? true : _props$originalTip,
69
+ formKey = props.formKey,
69
70
  otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
70
- var _useForm = (0, _useForm3.useForm)(originForm),
71
+ var _useProConfig = (0, _ProConfigProvider.useProConfig)(),
72
+ state = _useProConfig.state,
73
+ dispatch = _useProConfig.dispatch;
74
+ var config = state.ProForm,
75
+ forms = state.forms;
76
+ var _useForm = (0, _useForm3.useForm)((_forms$formKey = forms[formKey]) !== null && _forms$formKey !== void 0 ? _forms$formKey : originForm),
71
77
  _useForm2 = (0, _slicedToArray2.default)(_useForm, 1),
72
78
  form = _useForm2[0];
73
79
  var _useControlled = (0, _index.useControlled)({
@@ -77,7 +83,30 @@ var ProForm = function ProForm(props, ref) {
77
83
  _useControlled2 = (0, _slicedToArray2.default)(_useControlled, 2),
78
84
  openState = _useControlled2[0],
79
85
  setOpenState = _useControlled2[1];
80
- var config = (0, _ProConfigProvider.useProConfig)('ProForm');
86
+ // 把表单实例存入表单组
87
+ (0, _react.useMemo)(function () {
88
+ if (formKey && forms[formKey] !== form) {
89
+ forms[formKey] = form;
90
+ dispatch({
91
+ type: 'set',
92
+ payload: {
93
+ forms: (0, _objectSpread2.default)({}, forms)
94
+ }
95
+ });
96
+ }
97
+ // 销毁
98
+ return function () {
99
+ if (formKey && forms[formKey]) {
100
+ delete forms[formKey];
101
+ dispatch({
102
+ type: 'set',
103
+ payload: {
104
+ forms: (0, _objectSpread2.default)({}, forms)
105
+ }
106
+ });
107
+ }
108
+ };
109
+ }, [formKey, form]);
81
110
  var _getLayout = (0, _index.getLayout)({
82
111
  span: span,
83
112
  form: form
@@ -282,6 +311,7 @@ var ProFormProvider = function ProFormProvider(props) {
282
311
  };
283
312
  ProFormForward.Provider = ProFormProvider; // 包装Provider
284
313
  ProFormForward.useFieldProps = _useFieldProps.useFieldProps; // 获取每个字段的其他参数 -otherProps
314
+ ProFormForward.useContextForms = _ProConfigProvider.useContextForms; // 获取 ProConfigProvider中的表单实例map
285
315
  // 内置组合
286
316
  ProFormForward.ProAddressBar = _components.ProAddressBar;
287
317
  ProFormForward.ProCombination = _components.ProCombination;
@@ -43,6 +43,7 @@ export interface ProFormOtherProps {
43
43
  export interface ProFormProps<Values = any> extends FormProps<Values> {
44
44
  disabled?: boolean;
45
45
  mode?: ModeEnum;
46
+ formKey?: string;
46
47
  /** 是否查看 */
47
48
  isView?: boolean;
48
49
  span?: number;
@@ -84,4 +84,8 @@ export declare const deleteForPath: (values: any, namePath: string | number | (s
84
84
  * @returns {}
85
85
  */
86
86
  export declare const findOptionByValue: (treeData: any[], value: string | number) => any;
87
+ /**
88
+ * 对比依赖列表中的 值是否变更
89
+ */
90
+ export declare const equalDependencies: (dependencies: any, prevValues: any, currentValues: any) => any;
87
91
  export {};
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getAllNamePath = exports.findOptionByValue = exports.filterInternalFields = exports.deleteForPath = exports.customEqualForFun = exports.contrast = void 0;
8
+ exports.getAllNamePath = exports.findOptionByValue = exports.filterInternalFields = exports.equalDependencies = exports.deleteForPath = exports.customEqualForFun = exports.contrast = void 0;
9
9
  exports.getArrayBeforeNumber = getArrayBeforeNumber;
10
10
  exports.hasRowKey = exports.getLayout = exports.getDecimalDigits = void 0;
11
11
  exports.initialValuesToNames = initialValuesToNames;
@@ -150,18 +150,22 @@ var splitNameStr = exports.splitNameStr = function splitNameStr(name) {
150
150
  // 过滤掉字段名中包含 '-' 的字段
151
151
  var filterInternalFields = exports.filterInternalFields = function filterInternalFields(values) {
152
152
  var nextValues = values;
153
+ // fix: braft-editor对象不可遍历
154
+ if (values === null || values === void 0 ? void 0 : values._immutable) {
155
+ return nextValues;
156
+ }
153
157
  if (Array.isArray(nextValues)) {
154
- nextValues.forEach(function (item) {
155
- filterInternalFields(item);
158
+ return nextValues.map(function (item) {
159
+ return filterInternalFields(item);
156
160
  });
157
161
  }
158
162
  if ((0, _lodash.isObject)(nextValues)) {
163
+ var result = {};
159
164
  Object.keys(nextValues).forEach(function (key) {
160
- if (key.includes('-')) {
161
- delete nextValues[key];
162
- }
163
- filterInternalFields(nextValues[key]);
165
+ if (key.includes('-')) return;
166
+ result[key] = filterInternalFields(nextValues[key]);
164
167
  });
168
+ return result;
165
169
  }
166
170
  return nextValues;
167
171
  };
@@ -419,4 +423,17 @@ var findOptionByValue = exports.findOptionByValue = function findOptionByValue(t
419
423
  }
420
424
  }
421
425
  }
426
+ };
427
+ /**
428
+ * 对比依赖列表中的 值是否变更
429
+ */
430
+ var equalDependencies = exports.equalDependencies = function equalDependencies(dependencies, prevValues, currentValues) {
431
+ if (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) {
432
+ return dependencies.some(function (namePath) {
433
+ var prevValue = (0, _lodash.get)(prevValues, namePath);
434
+ var currentValue = (0, _lodash.get)(currentValues, namePath);
435
+ return prevValue !== currentValue;
436
+ });
437
+ }
438
+ return false;
422
439
  };
@@ -9,86 +9,59 @@ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helper
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _antd = require("antd");
12
- var _react = require("react");
13
- var _lodash = require("lodash");
14
- var _FieldContext = require("rc-field-form/es/FieldContext");
15
- var _ = require(".");
12
+ var _index = require("./index");
16
13
  var useForm = exports.useForm = function useForm(originForm) {
17
14
  var _Form$useForm = _antd.Form.useForm(originForm),
18
15
  _Form$useForm2 = (0, _slicedToArray2.default)(_Form$useForm, 1),
19
16
  form = _Form$useForm2[0];
20
17
  var getFieldsValue = form.getFieldsValue,
21
- validateFields = form.validateFields,
22
- getFieldValue = form.getFieldValue;
23
- (0, _react.useMemo)(function () {
24
- var _getFieldsValue = function _getFieldsValue() {
25
- var firstProps = !(arguments.length <= 0 ? undefined : arguments[0]) ? true : arguments.length <= 0 ? undefined : arguments[0];
26
- var values = getFieldsValue(firstProps, arguments.length <= 1 ? undefined : arguments[1]);
27
- if ((arguments.length <= 0 ? undefined : arguments[0]) === undefined) {
28
- var result = (0, _lodash.merge)({}, values);
29
- // @ts-ignore
30
- var internalHooks = form.getInternalHooks(_FieldContext.HOOK_MARK);
31
- var fields = internalHooks.getFields();
32
- var deletePath = [];
33
- // 找到带'-'的name
34
- fields.forEach(function (field) {
35
- var name = field.name;
36
- if (Array.isArray(name)) {
37
- var index = name.findIndex(function (item) {
38
- return typeof item === 'string' && item.includes('-');
39
- });
40
- if (index !== -1) deletePath.push(name);
41
- }
42
- if (typeof name === 'string' && name.includes('-')) {
43
- deletePath.push(name);
44
- }
45
- });
46
- // 执行删除操作
47
- deletePath.forEach(function (item) {
48
- (0, _.deleteForPath)(result, item);
49
- });
50
- return result;
51
- }
52
- return values;
18
+ validateFields = form.validateFields;
19
+ // @ts-ignore
20
+ var _getFieldsValue = function _getFieldsValue(nameList, filterFunc) {
21
+ // 全部查询
22
+ if (nameList !== true) {
23
+ var values = getFieldsValue(true, filterFunc);
24
+ return (0, _index.filterInternalFields)(values);
25
+ }
26
+ return getFieldsValue(nameList, filterFunc);
27
+ };
28
+ var _validateFields = /*#__PURE__*/function () {
29
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(nameList) {
30
+ var _len,
31
+ rest,
32
+ _key,
33
+ values,
34
+ _values,
35
+ _args = arguments;
36
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ for (_len = _args.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
40
+ rest[_key - 1] = _args[_key];
41
+ }
42
+ _context.next = 3;
43
+ return validateFields.apply(void 0, [nameList].concat(rest));
44
+ case 3:
45
+ values = _context.sent;
46
+ if (!nameList) {
47
+ _context.next = 6;
48
+ break;
49
+ }
50
+ return _context.abrupt("return", values);
51
+ case 6:
52
+ _values = _getFieldsValue();
53
+ return _context.abrupt("return", _values);
54
+ case 8:
55
+ case "end":
56
+ return _context.stop();
57
+ }
58
+ }, _callee);
59
+ }));
60
+ return function _validateFields(_x) {
61
+ return _ref.apply(this, arguments);
53
62
  };
54
- var _validateFields = /*#__PURE__*/function () {
55
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(nameList) {
56
- var _len,
57
- rest,
58
- _key,
59
- values,
60
- _values,
61
- _args = arguments;
62
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
63
- while (1) switch (_context.prev = _context.next) {
64
- case 0:
65
- for (_len = _args.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
66
- rest[_key - 1] = _args[_key];
67
- }
68
- _context.next = 3;
69
- return validateFields.apply(void 0, [nameList].concat(rest));
70
- case 3:
71
- values = _context.sent;
72
- if (!nameList) {
73
- _context.next = 6;
74
- break;
75
- }
76
- return _context.abrupt("return", values);
77
- case 6:
78
- _values = _getFieldsValue();
79
- return _context.abrupt("return", _values);
80
- case 8:
81
- case "end":
82
- return _context.stop();
83
- }
84
- }, _callee);
85
- }));
86
- return function _validateFields(_x) {
87
- return _ref.apply(this, arguments);
88
- };
89
- }();
90
- form.getFieldsValue = _getFieldsValue;
91
- form.validateFields = _validateFields;
92
- }, [form]);
63
+ }();
64
+ form.getFieldsValue = _getFieldsValue;
65
+ form.validateFields = _validateFields;
93
66
  return [form];
94
67
  };
@@ -53,7 +53,7 @@ var useRules = function useRules(props) {
53
53
  internalRule.rules = internalRule.rules && (0, _rulesCreator.rulesCreator)(internalRule.rules, _label, isSelect);
54
54
  (0, _react.useEffect)(function () {
55
55
  // 添加完整性校验
56
- if (names && !(0, _lodash.isBoolean)(labelRequired) || type === 'Group' && Array.isArray(names) && required) {
56
+ if (names && !(0, _lodash.isBoolean)(labelRequired)) {
57
57
  var customRequired = {
58
58
  validator: function validator(rules, value) {
59
59
  // 完整性校验, 空数组不校验, 数组有值且值不完整则校验不通过
@@ -63,7 +63,9 @@ var useRules = function useRules(props) {
63
63
  return Promise.resolve();
64
64
  }
65
65
  };
66
- internalRule.rules.push(customRequired);
66
+ if (!(type === 'Group' && Array.isArray(names) && !required)) {
67
+ internalRule.rules.push(customRequired);
68
+ }
67
69
  }
68
70
  }, [internalRule]);
69
71
  return internalRule;
@@ -27,7 +27,8 @@ var useShouldUpdate = function useShouldUpdate(props) {
27
27
  clearNotShow = formItemProps.clearNotShow,
28
28
  index = formItemProps.index,
29
29
  namePath = formItemProps.namePath,
30
- names = formItemProps.names;
30
+ names = formItemProps.names,
31
+ dependencies = formItemProps.dependencies;
31
32
  var timerRef = (0, _react.useRef)();
32
33
  var showRef = (0, _react.useRef)();
33
34
  var disabledRef = (0, _react.useRef)();
@@ -174,11 +175,14 @@ var useShouldUpdate = function useShouldUpdate(props) {
174
175
  clearInterval(timerRef.current);
175
176
  }
176
177
  }
177
- // 当校验规则改变的时候 重新执行校验
178
- if (_required !== requiredRef.current || !(0, _lodash.isEqualWith)(rulesRef.current, _rules, _index.customEqualForFun)) {
179
- form.validateFields([name]);
180
- }
181
- if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !(0, _lodash.isEqualWith)(rulesRef.current, _rules, _index.customEqualForFun) || !(0, _lodash.isEqualWith)(fieldPropsRef.current, _fieldProps, _index.customEqualForFun) || !(0, _lodash.isEqualWith)(originComponentRef.current, _component, _index.customEqualForFun)) {
178
+ // // 当校验规则改变的时候 重新执行校验 导致: 第一次进页面直接触发校验
179
+ // if (
180
+ // _required !== requiredRef.current ||
181
+ // !isEqualWith(rulesRef.current, _rules, customEqualForFun)
182
+ // ) {
183
+ // form.validateFields([name]);
184
+ // }
185
+ if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !(0, _lodash.isEqualWith)(rulesRef.current, _rules, _index.customEqualForFun) || !(0, _lodash.isEqualWith)(fieldPropsRef.current, _fieldProps, _index.customEqualForFun) || !(0, _lodash.isEqualWith)(originComponentRef.current, _component, _index.customEqualForFun) || (0, _index.equalDependencies)(dependencies, prevValues, _currentValues)) {
182
186
  showRef.current = _show;
183
187
  disabledRef.current = _disabled;
184
188
  requiredRef.current = _required;
@@ -167,7 +167,6 @@ var ProStep = function ProStep(_ref) {
167
167
  subtree: true,
168
168
  childList: true // 是否观察子元素的添加或删除
169
169
  };
170
-
171
170
  observer.observe(targetElement, config);
172
171
  };
173
172
  (0, _ahooks.useDeepCompareEffect)(function () {
@@ -1,6 +1,6 @@
1
1
  import type { ProThemeToolsProps } from './propsType';
2
2
  declare const ProThemeTools: {
3
- ({ size, className, cacheTime, color, mode, iconFollowTheme, prefixCls, tableBorder, tableStripe, theme, ...props }: ProThemeToolsProps): JSX.Element;
3
+ ({ size, className, cacheTime, color, mode, iconFollowTheme, prefixCls, tableBorder, tableStripe, theme, onChange, ...props }: ProThemeToolsProps): JSX.Element;
4
4
  defaultProps: {
5
5
  size: number;
6
6
  mode: string;
@@ -13,11 +13,13 @@ var _jsxRuntime = require("react/jsx-runtime");
13
13
  var _icons = require("@ant-design/icons");
14
14
  var _antd = require("antd");
15
15
  var _react = require("react");
16
+ var _ahooks = require("ahooks");
17
+ var _lodash = require("lodash");
16
18
  var _classnames2 = _interopRequireDefault(require("classnames"));
17
19
  var _index = require("./utils/index");
18
20
  var _component = require("./component");
19
21
  var _locale = _interopRequireDefault(require("../locale"));
20
- var _excluded = ["size", "className", "cacheTime", "color", "mode", "iconFollowTheme", "prefixCls", "tableBorder", "tableStripe", "theme"];
22
+ var _excluded = ["size", "className", "cacheTime", "color", "mode", "iconFollowTheme", "prefixCls", "tableBorder", "tableStripe", "theme", "onChange"];
21
23
  /* eslint-disable prefer-const */
22
24
  var defaultCacheTime = 1; // 配置保存时间为一天
23
25
  var defaultThemeConfig = {
@@ -50,6 +52,7 @@ var ProThemeTools = function ProThemeTools(_ref) {
50
52
  tableStripe = _ref$tableStripe === void 0 ? false : _ref$tableStripe,
51
53
  _ref$theme = _ref.theme,
52
54
  theme = _ref$theme === void 0 ? {} : _ref$theme,
55
+ onChange = _ref.onChange,
53
56
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
54
57
  var _useState = (0, _react.useState)(false),
55
58
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -59,6 +62,7 @@ var ProThemeTools = function ProThemeTools(_ref) {
59
62
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
60
63
  state = _useState4[0],
61
64
  setState = _useState4[1];
65
+ var previousState = (0, _ahooks.usePrevious)(state);
62
66
  var zauiBrand = state.zauiBrand,
63
67
  zauiStripe = state.zauiStripe,
64
68
  zauiTableBorder = state.zauiTableBorder;
@@ -119,7 +123,6 @@ var ProThemeTools = function ProThemeTools(_ref) {
119
123
  return ["".concat((0, _index.getKebabCase)(item === null || item === void 0 ? void 0 : item[0])), ['zauiSize'].includes(item === null || item === void 0 ? void 0 : item[0]) || typeof (item === null || item === void 0 ? void 0 : item[1]) !== 'number' ? item === null || item === void 0 ? void 0 : item[1] : "".concat(item === null || item === void 0 ? void 0 : item[1], "px") // zauiSize取数字
120
124
  ];
121
125
  }));
122
-
123
126
  setState((0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), localThemeConfig));
124
127
  (0, _index.setThemes)(cssVariables);
125
128
  _antd.ConfigProvider.config({
@@ -170,6 +173,11 @@ var ProThemeTools = function ProThemeTools(_ref) {
170
173
  localStorage.setItem('themeConfig', JSON.stringify(newThemeConfig));
171
174
  }
172
175
  }, [state, cacheTime]);
176
+ (0, _ahooks.useUpdateEffect)(function () {
177
+ if (!(0, _lodash.isEqual)(state, previousState) && visible) {
178
+ onChange === null || onChange === void 0 ? void 0 : onChange(state);
179
+ }
180
+ }, [state]);
173
181
  var cls = (0, _classnames2.default)((0, _defineProperty2.default)({
174
182
  'pro-theme-tools': true,
175
183
  'pro-theme-tools-follow': iconFollowTheme
@@ -27,6 +27,7 @@ export interface ProThemeToolsProps {
27
27
  tableStripe?: boolean;
28
28
  /** 统一样式前缀, 默认ant */
29
29
  prefixCls?: string;
30
+ onChange?: (record: any) => void;
30
31
  [key: string]: any;
31
32
  }
32
33
  export interface LocalThemeConfigPropsType {
@@ -55,7 +55,6 @@ var getKebabCase = exports.getKebabCase = function getKebabCase(str) {
55
55
  if (temp.slice(0, 1) === '-') {
56
56
  temp = temp.slice(1); // 如果首字母是大写,执行replace时会多一个-,需要去掉
57
57
  }
58
-
59
58
  return temp;
60
59
  };
61
60
  /** JS实现对象驼峰命名与横线命名的转换 */
@@ -308,7 +308,6 @@ function List(props) {
308
308
  });
309
309
  return treeRow; // .filter((item) => item);
310
310
  };
311
-
312
311
  if ((other === null || other === void 0 ? void 0 : other.mode) === 'view') {
313
312
  return;
314
313
  }
@@ -16,6 +16,7 @@ var _ProTreeSelect = _interopRequireDefault(require("../ProTreeSelect"));
16
16
  *@Author: liudongliang
17
17
  *@Description: ProTree组件,集成了tree和treeSelect
18
18
  */
19
+
19
20
  var ProTreeHandle = function ProTreeHandle(props) {
20
21
  var _props$mode = props.mode,
21
22
  mode = _props$mode === void 0 ? 'tree' : _props$mode;
@@ -21,7 +21,6 @@ var _excluded = ["disabled", "code", "dataSource", "defaultDisableValue", "onCha
21
21
  _excluded2 = ["children"];
22
22
  var SHOW_PARENT = _antd.TreeSelect.SHOW_PARENT;
23
23
  var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
24
- var _classnames2;
25
24
  // 全局属性配置在ConfigProvider
26
25
  var _ref = (0, _ProConfigProvider.useProConfig)('ProTreeSelect') || {},
27
26
  _ref$fieldNames = _ref.fieldNames,
@@ -365,7 +364,6 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
365
364
  // currentAllNodeChild.push(item);
366
365
  // }
367
366
  }
368
-
369
367
  return currentAllNodeChild;
370
368
  };
371
369
  sourceList = filterData(sourceList);
@@ -471,9 +469,9 @@ var ProTreeSelect = exports.ProTreeSelect = function ProTreeSelect(props, ref) {
471
469
  'pro-tree-select': true
472
470
  }, "".concat(className), className));
473
471
  var innerClass = treeCheckable ? 'checkable-tree pro' : "".concat(tenCountClass, " signal-tree");
474
- var dropDownClassName = (0, _classnames3.default)((_classnames2 = {
472
+ var dropDownClassName = (0, _classnames3.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
475
473
  'pro-tree-select-drop-down-container': true
476
- }, (0, _defineProperty2.default)(_classnames2, "".concat(innerClass), true), (0, _defineProperty2.default)(_classnames2, "".concat(popupClassName), popupClassName), _classnames2));
474
+ }, "".concat(innerClass), true), "".concat(popupClassName), popupClassName));
477
475
  var treeProps = (0, _objectSpread2.default)({
478
476
  disabled: disabled,
479
477
  showSearch: showSearch,
@@ -98,7 +98,6 @@ var ProUpload = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
98
98
  response: file === null || file === void 0 ? void 0 : file.response
99
99
  // url: file?.response?.data?.url,
100
100
  };
101
-
102
101
  if (transformResponse) {
103
102
  var data = transformResponse(file.response) || {};
104
103
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, nfile), data);