@zat-design/sisyphus-react 3.6.5-beta.9 → 3.6.6-beta.1

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.
@@ -11,7 +11,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
11
11
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
12
12
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
13
13
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
14
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
14
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm", "validateTrigger"];
15
15
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  /* eslint-disable prefer-destructuring */
17
17
  /* eslint-disable prefer-const */
@@ -60,6 +60,8 @@ var RenderField = function RenderField(_ref) {
60
60
  className = column.className,
61
61
  trim = column.trim,
62
62
  confirm = column.confirm,
63
+ _column$validateTrigg = column.validateTrigger,
64
+ validateTrigger = _column$validateTrigg === void 0 ? ['onChange', 'onBlur', 'onSumbit'] : _column$validateTrigg,
63
65
  resetProps = _objectWithoutProperties(column, _excluded);
64
66
  // editRender弃用使用component同ProForm
65
67
  var _editRender = component || editRender;
@@ -158,7 +160,9 @@ var RenderField = function RenderField(_ref) {
158
160
  // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
159
161
  var formItemChildProps = _objectSpread({}, _fieldProps);
160
162
  // 允许formItem的属性放在column最外层
161
- var _formItemProps = _objectSpread(_objectSpread({}, resetProps), internalRule);
163
+ var _formItemProps = _objectSpread(_objectSpread(_objectSpread({}, resetProps), internalRule), {}, {
164
+ validateTrigger: validateTrigger
165
+ });
162
166
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
163
167
  _formItemProps.valuePropName = 'checked';
164
168
  valueType = 'switch';
@@ -375,15 +379,17 @@ var RenderField = function RenderField(_ref) {
375
379
  case 29:
376
380
  // 判断属性是否变动
377
381
  form.setFieldValue(rowPath, row);
378
- if (!isEqual(orgRow, row)) {
379
- diff = difference(row, orgRow) || {};
380
- validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
381
- return [].concat(_toConsumableArray(rowPath), [key]);
382
- });
383
- if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
384
- setTimeout(function () {
385
- form.validateFields(validateFieldKeys);
386
- }, 100);
382
+ if (validateTrigger && validateTrigger.includes('onChange')) {
383
+ if (!isEqual(orgRow, row)) {
384
+ diff = difference(row, orgRow) || {};
385
+ validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
386
+ return [].concat(_toConsumableArray(rowPath), [key]);
387
+ });
388
+ if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
389
+ setTimeout(function () {
390
+ form.validateFields(validateFieldKeys);
391
+ }, 100);
392
+ }
387
393
  }
388
394
  }
389
395
  setState({
@@ -447,13 +453,15 @@ var RenderField = function RenderField(_ref) {
447
453
  case 16:
448
454
  // 判断属性是否变动
449
455
  form.setFieldValue(rowPath, row);
450
- if (!isEqual(orgRow, row)) {
451
- diff = difference(row, orgRow) || {};
452
- validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
453
- return [].concat(_toConsumableArray(rowPath), [key]);
454
- });
455
- if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
456
- debounceValidate(validateFieldKeys);
456
+ if (validateTrigger && validateTrigger.includes('onBlur')) {
457
+ if (!isEqual(orgRow, row)) {
458
+ diff = difference(row, orgRow) || {};
459
+ validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
460
+ return [].concat(_toConsumableArray(rowPath), [key]);
461
+ });
462
+ if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
463
+ debounceValidate(validateFieldKeys);
464
+ }
457
465
  }
458
466
  }
459
467
  if (!isCell) {
@@ -100,6 +100,7 @@ export interface ProColumnsProps<Values = any, T = any> extends Omit<FormItemPro
100
100
  hiddenNames?: NamePath[] | NamePath[][];
101
101
  rules?: ProRule[] | RulesFn<T>;
102
102
  confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps | void>;
103
+ validateTrigger?: string | string[];
103
104
  [key: string]: any;
104
105
  }
105
106
  export type ProEditTableColumnsProps<K = any> = ProColumnsProps & ColumnPropsMap<K, 'ProEditTable'>;
@@ -1,9 +1,6 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
2
  import { debounce } from 'lodash';
5
3
  import { HOOK_MARK } from 'rc-field-form/es/FieldContext';
6
- import get from 'rc-util/lib/utils/get';
7
4
  import warning from 'rc-util/lib/warning';
8
5
  import { useState, useEffect, useRef, useMemo } from 'react';
9
6
  export function toArray(value) {
@@ -29,7 +26,8 @@ var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath
29
26
  warning(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');
30
27
  } : function () {};
31
28
  function useWatch(dependencies, form, wait) {
32
- var _useState = useState(typeof dependencies === 'string' ? undefined : []),
29
+ var isSingle = typeof dependencies === 'string';
30
+ var _useState = useState({}),
33
31
  _useState2 = _slicedToArray(_useState, 2),
34
32
  value = _useState2[0],
35
33
  setValue = _useState2[1];
@@ -40,7 +38,7 @@ function useWatch(dependencies, form, wait) {
40
38
  valueStrRef.current = valueStr;
41
39
  var formInstance = form;
42
40
  var isValidForm = formInstance && formInstance._init;
43
- var _dependencies = typeof dependencies === 'string' ? [dependencies] : dependencies;
41
+ var _dependencies = isSingle ? [dependencies] : dependencies;
44
42
  var namePaths = _dependencies === null || _dependencies === void 0 ? void 0 : _dependencies.map(function (item) {
45
43
  return getNamePath(item);
46
44
  });
@@ -53,17 +51,13 @@ function useWatch(dependencies, form, wait) {
53
51
  getInternalHooks = formInstance.getInternalHooks;
54
52
  var _getInternalHooks = getInternalHooks(HOOK_MARK),
55
53
  registerWatch = _getInternalHooks.registerWatch;
56
- var callback = function callback(store) {
57
- var newValue = namePathsRef.current.map(function (namePath) {
58
- return get(store, namePath);
59
- });
54
+ var callback = function callback() {
55
+ var newValue = getFieldsValue(_dependencies);
60
56
  var nextValueStr = stringify(newValue);
61
57
  // Compare stringify in case it's nest object
62
58
  if (valueStrRef.current !== nextValueStr) {
63
59
  valueStrRef.current = nextValueStr;
64
- setValue(_dependencies.reduce(function (acc, key, index) {
65
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, newValue[index]));
66
- }, {}));
60
+ setValue(getFieldsValue(_dependencies));
67
61
  }
68
62
  };
69
63
  // 增加防抖
@@ -71,12 +65,8 @@ function useWatch(dependencies, form, wait) {
71
65
  callback = debounce(callback, wait);
72
66
  }
73
67
  var cancelRegister = registerWatch(callback);
74
- var initialValue = namePathsRef.current.map(function (namePath) {
75
- return get(getFieldsValue(), namePath);
76
- });
77
- setValue(_dependencies.reduce(function (acc, key, index) {
78
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, initialValue[index]));
79
- }, {}));
68
+ var initialValue = getFieldsValue(_dependencies);
69
+ setValue(initialValue);
80
70
  return cancelRegister;
81
71
  },
82
72
  // We do not need re-register since namePath content is the same
@@ -30,7 +30,7 @@ var _useListChanged3 = require("../../../ProForm/utils/useListChanged");
30
30
  var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
31
31
  var _utils = require("../../../ProForm/utils");
32
32
  var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
33
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm"];
33
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm", "validateTrigger"];
34
34
  /* eslint-disable prefer-destructuring */
35
35
  /* eslint-disable prefer-const */
36
36
  var RenderField = function RenderField(_ref) {
@@ -63,6 +63,8 @@ var RenderField = function RenderField(_ref) {
63
63
  className = column.className,
64
64
  trim = column.trim,
65
65
  confirm = column.confirm,
66
+ _column$validateTrigg = column.validateTrigger,
67
+ validateTrigger = _column$validateTrigg === void 0 ? ['onChange', 'onBlur', 'onSumbit'] : _column$validateTrigg,
66
68
  resetProps = (0, _objectWithoutProperties2.default)(column, _excluded);
67
69
  // editRender弃用使用component同ProForm
68
70
  var _editRender = component || editRender;
@@ -161,7 +163,9 @@ var RenderField = function RenderField(_ref) {
161
163
  // 分离form item参数,防止对于参数透传(如onChange,防止重复触发)并优先级高于 _fieldProps 内部参数
162
164
  var formItemChildProps = (0, _objectSpread2.default)({}, _fieldProps);
163
165
  // 允许formItem的属性放在column最外层
164
- var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps), internalRule);
166
+ var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps), internalRule), {}, {
167
+ validateTrigger: validateTrigger
168
+ });
165
169
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
166
170
  _formItemProps.valuePropName = 'checked';
167
171
  valueType = 'switch';
@@ -378,15 +382,17 @@ var RenderField = function RenderField(_ref) {
378
382
  case 29:
379
383
  // 判断属性是否变动
380
384
  form.setFieldValue(rowPath, row);
381
- if (!(0, _lodash.isEqual)(orgRow, row)) {
382
- diff = (0, _tools.difference)(row, orgRow) || {};
383
- validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
384
- return [].concat((0, _toConsumableArray2.default)(rowPath), [key]);
385
- });
386
- if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
387
- setTimeout(function () {
388
- form.validateFields(validateFieldKeys);
389
- }, 100);
385
+ if (validateTrigger && validateTrigger.includes('onChange')) {
386
+ if (!(0, _lodash.isEqual)(orgRow, row)) {
387
+ diff = (0, _tools.difference)(row, orgRow) || {};
388
+ validateFieldKeys = (_Object$keys = Object.keys(diff)) === null || _Object$keys === void 0 ? void 0 : (_Object$keys$map = _Object$keys.map) === null || _Object$keys$map === void 0 ? void 0 : _Object$keys$map.call(_Object$keys, function (key) {
389
+ return [].concat((0, _toConsumableArray2.default)(rowPath), [key]);
390
+ });
391
+ if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
392
+ setTimeout(function () {
393
+ form.validateFields(validateFieldKeys);
394
+ }, 100);
395
+ }
390
396
  }
391
397
  }
392
398
  setState({
@@ -450,13 +456,15 @@ var RenderField = function RenderField(_ref) {
450
456
  case 16:
451
457
  // 判断属性是否变动
452
458
  form.setFieldValue(rowPath, row);
453
- if (!(0, _lodash.isEqual)(orgRow, row)) {
454
- diff = (0, _tools.difference)(row, orgRow) || {};
455
- validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
456
- return [].concat((0, _toConsumableArray2.default)(rowPath), [key]);
457
- });
458
- if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
459
- debounceValidate(validateFieldKeys);
459
+ if (validateTrigger && validateTrigger.includes('onBlur')) {
460
+ if (!(0, _lodash.isEqual)(orgRow, row)) {
461
+ diff = (0, _tools.difference)(row, orgRow) || {};
462
+ validateFieldKeys = (_Object$keys2 = Object.keys(diff)) === null || _Object$keys2 === void 0 ? void 0 : (_Object$keys2$map = _Object$keys2.map) === null || _Object$keys2$map === void 0 ? void 0 : _Object$keys2$map.call(_Object$keys2, function (key) {
463
+ return [].concat((0, _toConsumableArray2.default)(rowPath), [key]);
464
+ });
465
+ if (validateFieldKeys === null || validateFieldKeys === void 0 ? void 0 : validateFieldKeys.length) {
466
+ debounceValidate(validateFieldKeys);
467
+ }
460
468
  }
461
469
  }
462
470
  if (!isCell) {
@@ -100,6 +100,7 @@ export interface ProColumnsProps<Values = any, T = any> extends Omit<FormItemPro
100
100
  hiddenNames?: NamePath[] | NamePath[][];
101
101
  rules?: ProRule[] | RulesFn<T>;
102
102
  confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps | void>;
103
+ validateTrigger?: string | string[];
103
104
  [key: string]: any;
104
105
  }
105
106
  export type ProEditTableColumnsProps<K = any> = ProColumnsProps & ColumnPropsMap<K, 'ProEditTable'>;
@@ -8,12 +8,9 @@ exports.default = void 0;
8
8
  exports.getNamePath = getNamePath;
9
9
  exports.stringify = stringify;
10
10
  exports.toArray = toArray;
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
12
  var _lodash = require("lodash");
15
13
  var _FieldContext = require("rc-field-form/es/FieldContext");
16
- var _get = _interopRequireDefault(require("rc-util/lib/utils/get"));
17
14
  var _warning = _interopRequireDefault(require("rc-util/lib/warning"));
18
15
  var _react = require("react");
19
16
  function toArray(value) {
@@ -39,7 +36,8 @@ var useWatchWarning = process.env.NODE_ENV !== 'production' ? function (namePath
39
36
  (0, _warning.default)(nameStrRef.current === fullyStr, '`useWatch` is not support dynamic `namePath`. Please provide static instead.');
40
37
  } : function () {};
41
38
  function useWatch(dependencies, form, wait) {
42
- var _useState = (0, _react.useState)(typeof dependencies === 'string' ? undefined : []),
39
+ var isSingle = typeof dependencies === 'string';
40
+ var _useState = (0, _react.useState)({}),
43
41
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
42
  value = _useState2[0],
45
43
  setValue = _useState2[1];
@@ -50,7 +48,7 @@ function useWatch(dependencies, form, wait) {
50
48
  valueStrRef.current = valueStr;
51
49
  var formInstance = form;
52
50
  var isValidForm = formInstance && formInstance._init;
53
- var _dependencies = typeof dependencies === 'string' ? [dependencies] : dependencies;
51
+ var _dependencies = isSingle ? [dependencies] : dependencies;
54
52
  var namePaths = _dependencies === null || _dependencies === void 0 ? void 0 : _dependencies.map(function (item) {
55
53
  return getNamePath(item);
56
54
  });
@@ -63,17 +61,13 @@ function useWatch(dependencies, form, wait) {
63
61
  getInternalHooks = formInstance.getInternalHooks;
64
62
  var _getInternalHooks = getInternalHooks(_FieldContext.HOOK_MARK),
65
63
  registerWatch = _getInternalHooks.registerWatch;
66
- var callback = function callback(store) {
67
- var newValue = namePathsRef.current.map(function (namePath) {
68
- return (0, _get.default)(store, namePath);
69
- });
64
+ var callback = function callback() {
65
+ var newValue = getFieldsValue(_dependencies);
70
66
  var nextValueStr = stringify(newValue);
71
67
  // Compare stringify in case it's nest object
72
68
  if (valueStrRef.current !== nextValueStr) {
73
69
  valueStrRef.current = nextValueStr;
74
- setValue(_dependencies.reduce(function (acc, key, index) {
75
- return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, acc), {}, (0, _defineProperty2.default)({}, key, newValue[index]));
76
- }, {}));
70
+ setValue(getFieldsValue(_dependencies));
77
71
  }
78
72
  };
79
73
  // 增加防抖
@@ -81,12 +75,8 @@ function useWatch(dependencies, form, wait) {
81
75
  callback = (0, _lodash.debounce)(callback, wait);
82
76
  }
83
77
  var cancelRegister = registerWatch(callback);
84
- var initialValue = namePathsRef.current.map(function (namePath) {
85
- return (0, _get.default)(getFieldsValue(), namePath);
86
- });
87
- setValue(_dependencies.reduce(function (acc, key, index) {
88
- return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, acc), {}, (0, _defineProperty2.default)({}, key, initialValue[index]));
89
- }, {}));
78
+ var initialValue = getFieldsValue(_dependencies);
79
+ setValue(initialValue);
90
80
  return cancelRegister;
91
81
  },
92
82
  // We do not need re-register since namePath content is the same
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.6.5-beta.9",
3
+ "version": "3.6.6-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",