@zat-design/sisyphus-react 3.10.2 → 3.10.3-beta.3

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 (72) hide show
  1. package/dist/index.esm.css +47 -34
  2. package/dist/less.esm.css +47 -34
  3. package/es/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
  4. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +4 -4
  5. package/es/ProEditTable/components/RenderField/index.js +2 -1
  6. package/es/ProEditTable/index.js +39 -11
  7. package/es/ProEditTable/propsType.d.ts +1 -1
  8. package/es/ProEditTable/style/index.less +3 -1
  9. package/es/ProEditTable/utils/config.d.ts +1 -1
  10. package/es/ProEditTable/utils/config.js +11 -3
  11. package/es/ProEditTable/utils/diffOriginal.d.ts +1 -1
  12. package/es/ProEditTable/utils/diffOriginal.js +3 -3
  13. package/es/ProForm/components/combination/ProModalSelect/index.js +2 -2
  14. package/es/ProForm/components/render/ChangedWrapper.d.ts +1 -1
  15. package/es/ProForm/components/render/ChangedWrapper.js +5 -6
  16. package/es/ProForm/components/render/ConfirmWrapper.js +41 -21
  17. package/es/ProForm/components/render/Render.js +3 -2
  18. package/es/ProForm/components/render/RenderFields.js +2 -3
  19. package/es/ProForm/components/render/propsType.d.ts +1 -2
  20. package/es/ProForm/utils/_useChanged.d.ts +2 -2
  21. package/es/ProForm/utils/_useChanged.js +3 -3
  22. package/es/ProForm/utils/_useListChanged.d.ts +1 -1
  23. package/es/ProForm/utils/_useListChanged.js +3 -3
  24. package/es/ProForm/utils/diffOriginal.d.ts +1 -1
  25. package/es/ProForm/utils/diffOriginal.js +3 -3
  26. package/es/ProForm/utils/transformValue.js +9 -7
  27. package/es/ProStep/components/Anchor/index.js +12 -10
  28. package/es/ProStep/components/Listener/index.js +25 -0
  29. package/es/ProStep/components/Step/index.js +2 -2
  30. package/es/ProStep/style/index.less +28 -16
  31. package/es/ProTable/components/FormatColumn/index.js +0 -5
  32. package/es/ProTable/components/RenderColumn/index.js +55 -42
  33. package/es/ProTable/hooks/useAntdTable.js +45 -46
  34. package/es/ProTable/style/index.less +3 -1
  35. package/es/ProTable/utils/index.d.ts +8 -0
  36. package/es/ProTable/utils/index.js +19 -0
  37. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.d.ts +1 -1
  38. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +4 -4
  39. package/lib/ProEditTable/components/RenderField/index.js +2 -1
  40. package/lib/ProEditTable/index.js +38 -10
  41. package/lib/ProEditTable/propsType.d.ts +1 -1
  42. package/lib/ProEditTable/style/index.less +3 -1
  43. package/lib/ProEditTable/utils/config.d.ts +1 -1
  44. package/lib/ProEditTable/utils/config.js +11 -3
  45. package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -1
  46. package/lib/ProEditTable/utils/diffOriginal.js +3 -3
  47. package/lib/ProForm/components/combination/ProModalSelect/index.js +1 -1
  48. package/lib/ProForm/components/render/ChangedWrapper.d.ts +1 -1
  49. package/lib/ProForm/components/render/ChangedWrapper.js +5 -6
  50. package/lib/ProForm/components/render/ConfirmWrapper.js +41 -21
  51. package/lib/ProForm/components/render/Render.js +3 -2
  52. package/lib/ProForm/components/render/RenderFields.js +2 -3
  53. package/lib/ProForm/components/render/propsType.d.ts +1 -2
  54. package/lib/ProForm/utils/_useChanged.d.ts +2 -2
  55. package/lib/ProForm/utils/_useChanged.js +3 -3
  56. package/lib/ProForm/utils/_useListChanged.d.ts +1 -1
  57. package/lib/ProForm/utils/_useListChanged.js +3 -3
  58. package/lib/ProForm/utils/diffOriginal.d.ts +1 -1
  59. package/lib/ProForm/utils/diffOriginal.js +3 -3
  60. package/lib/ProForm/utils/transformValue.js +9 -7
  61. package/lib/ProStep/components/Anchor/index.js +11 -10
  62. package/lib/ProStep/components/Listener/index.js +25 -0
  63. package/lib/ProStep/components/Step/index.js +2 -2
  64. package/lib/ProStep/style/index.less +28 -16
  65. package/lib/ProTable/components/FormatColumn/index.js +0 -5
  66. package/lib/ProTable/components/RenderColumn/index.js +56 -43
  67. package/lib/ProTable/hooks/useAntdTable.js +42 -43
  68. package/lib/ProTable/style/index.less +3 -1
  69. package/lib/ProTable/utils/index.d.ts +8 -0
  70. package/lib/ProTable/utils/index.js +20 -1
  71. package/package.json +1 -1
  72. package/.vscode/extensions.json +0 -5
@@ -1,8 +1,8 @@
1
1
  import "antd/es/space/style";
2
2
  import _Space from "antd/es/space";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
3
  import "antd/es/tooltip/style";
5
4
  import _Tooltip from "antd/es/tooltip";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
6
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
7
  import "antd/es/typography/style";
8
8
  import _Typography from "antd/es/typography";
@@ -12,6 +12,7 @@ import { isBoolean } from 'lodash';
12
12
  import classNames from 'classnames';
13
13
  import { CheckOutlined } from '@ant-design/icons';
14
14
  import { ReactSVG } from 'react-svg';
15
+ import { getPadding } from '../../utils';
15
16
  import { isEmpty } from '../../../utils';
16
17
  import copySvg from '../../../assets/copy.svg';
17
18
  var Paragraph = _Typography.Paragraph,
@@ -41,6 +42,32 @@ var RenderColumn = function RenderColumn(props) {
41
42
  'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
42
43
  'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
43
44
  });
45
+ var checkEllipsis = function checkEllipsis(box) {
46
+ var range = document.createRange();
47
+ range.setStart(box, 0);
48
+ range.setEnd(box, box.childNodes.length);
49
+ var rangeWidth = range.getBoundingClientRect().width;
50
+ var _getPadding = getPadding(box),
51
+ pLeft = _getPadding.pLeft,
52
+ pRight = _getPadding.pRight,
53
+ pTop = _getPadding.pTop,
54
+ pBottom = _getPadding.pBottom;
55
+ var horizontalPadding = pLeft + pRight;
56
+ if (rangeWidth + horizontalPadding > box.clientWidth) {
57
+ return true;
58
+ }
59
+ return false;
60
+ };
61
+ var handleMouseOver = function handleMouseOver(e) {
62
+ setState({
63
+ tooltip: checkEllipsis(e.target)
64
+ });
65
+ };
66
+ var tooltipProps = _objectSpread({
67
+ getPopupContainer: function getPopupContainer(triggerNode) {
68
+ return triggerNode.parentNode;
69
+ }
70
+ }, toolTipProps);
44
71
  // 比对场景走的逻辑
45
72
  if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
46
73
  var renderNode = value ? node : '-';
@@ -58,11 +85,36 @@ var RenderColumn = function RenderColumn(props) {
58
85
  }) : _jsx("div", {
59
86
  style: {
60
87
  minWidth: minWidth,
61
- width: width
88
+ width: width,
89
+ overflow: 'hidden',
90
+ textOverflow: 'ellipsis',
91
+ whiteSpace: 'nowrap'
62
92
  },
63
93
  children: ellipsis ? currentValue : renderNode
64
94
  });
65
95
  if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
96
+ if (ellipsis) {
97
+ return _jsx(_Tooltip, _objectSpread(_objectSpread({
98
+ title: currentValue,
99
+ onOpenChange: function onOpenChange(open) {
100
+ setState({
101
+ tooltip: false
102
+ });
103
+ },
104
+ open: tooltip
105
+ }, tooltipProps), {}, {
106
+ children: _jsx(Text, {
107
+ style: {
108
+ width: width,
109
+ minWidth: minWidth
110
+ },
111
+ ellipsis: true,
112
+ onMouseOver: handleMouseOver,
113
+ onFocus: handleMouseOver,
114
+ children: renderNode
115
+ })
116
+ }));
117
+ }
66
118
  return renderNode;
67
119
  }
68
120
  if (Array.isArray(originalValue)) {
@@ -86,7 +138,7 @@ var RenderColumn = function RenderColumn(props) {
86
138
  title: _jsx(_Space, {
87
139
  direction: "vertical",
88
140
  className: "changed-tooltip",
89
- children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
141
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) && !(props === null || props === void 0 ? void 0 : props.isAddCell) ? _jsxs(_Fragment, {
90
142
  children: [_jsxs(_Space, {
91
143
  align: "start",
92
144
  className: "original-value-container",
@@ -138,45 +190,6 @@ var RenderColumn = function RenderColumn(props) {
138
190
  });
139
191
  }
140
192
  if (ellipsis) {
141
- var getPadding = function getPadding(el) {
142
- var style = window.getComputedStyle(el, null);
143
- var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
144
- var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
145
- var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
146
- var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
147
- return {
148
- pLeft: paddingLeft,
149
- pRight: paddingRight,
150
- pTop: paddingTop,
151
- pBottom: paddingBottom
152
- };
153
- };
154
- var checkEllipsis = function checkEllipsis(box) {
155
- var range = document.createRange();
156
- range.setStart(box, 0);
157
- range.setEnd(box, box.childNodes.length);
158
- var rangeWidth = range.getBoundingClientRect().width;
159
- var _getPadding = getPadding(box),
160
- pLeft = _getPadding.pLeft,
161
- pRight = _getPadding.pRight,
162
- pTop = _getPadding.pTop,
163
- pBottom = _getPadding.pBottom;
164
- var horizontalPadding = pLeft + pRight;
165
- if (rangeWidth + horizontalPadding > box.clientWidth) {
166
- return true;
167
- }
168
- return false;
169
- };
170
- var handleMouseOver = function handleMouseOver(e) {
171
- setState({
172
- tooltip: checkEllipsis(e.target)
173
- });
174
- };
175
- var tooltipProps = _objectSpread({
176
- getPopupContainer: function getPopupContainer(triggerNode) {
177
- return triggerNode.parentNode;
178
- }
179
- }, toolTipProps);
180
193
  if (!value) {
181
194
  return _jsx("div", {
182
195
  style: {
@@ -7,11 +7,11 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
7
7
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
8
8
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  var _excluded = ["page", "filters", "sorter"];
10
- import { useCallback, useMemo, useState } from 'react';
11
- import { useRequest, useSetState, useDeepCompareEffect } from 'ahooks';
10
+ import { useCallback, useEffect, useMemo, useState } from 'react';
11
+ import { useRequest, useSetState, useDeepCompareEffect, usePrevious } from 'ahooks';
12
12
  import { pickBy, isObject, merge, set, isEqual } from 'lodash';
13
13
  import { defaultPage } from '../index';
14
- import { isListResult, removeEmptyKeys } from '../utils';
14
+ import { isListResult, removeEmptyKeys, isNonEmptyObject } from '../utils';
15
15
  import locale, { formatMessage } from '../../locale';
16
16
  var useDefaultOptions = function useDefaultOptions(options) {
17
17
  var _useState = useState((options === null || options === void 0 ? void 0 : options.page) || defaultPage),
@@ -24,6 +24,7 @@ var useDefaultOptions = function useDefaultOptions(options) {
24
24
  onPageChange: (options === null || options === void 0 ? void 0 : options.onPageChange) || onPageChange
25
25
  });
26
26
  };
27
+ var previousSearchValues = null;
27
28
  function useAntdTable(service, options, useRequestOptions) {
28
29
  var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5;
29
30
  var _useSetState = useSetState({
@@ -32,7 +33,10 @@ function useAntdTable(service, options, useRequestOptions) {
32
33
  selectedRecords: [],
33
34
  selectedRowKeys: [],
34
35
  searchValues: undefined,
35
- extraFilter: undefined,
36
+ extraFilter: {
37
+ filters: undefined,
38
+ sorter: undefined
39
+ },
36
40
  allSelected: false
37
41
  }),
38
42
  _useSetState2 = _slicedToArray(_useSetState, 2),
@@ -63,10 +67,10 @@ function useAntdTable(service, options, useRequestOptions) {
63
67
  transformResponse = _useDefaultOptions.transformResponse,
64
68
  disabled = _useDefaultOptions.disabled;
65
69
  var _ref = useRequestOptions || {},
66
- defaultParams = _ref.defaultParams,
67
- manual = _ref.manual;
70
+ defaultParams = _ref.defaultParams;
68
71
  var defaultParam = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
69
72
  var initPage = (options === null || options === void 0 ? void 0 : options.page) || defaultPage;
73
+ var previousPage = usePrevious(page || defaultPage);
70
74
  var getTransformParams = useCallback(function (params) {
71
75
  var _pickBy;
72
76
  var realParams = _objectSpread(_objectSpread(_objectSpread({}, defaultParam), extraParams), params);
@@ -105,9 +109,17 @@ function useAntdTable(service, options, useRequestOptions) {
105
109
  page: page
106
110
  }, newQueryBean));
107
111
  }, [page, searchValues, extraFilter]);
112
+ var curService = useMemo(function () {
113
+ return service.toString();
114
+ }, [service]);
115
+ var curExtraParams = useMemo(function () {
116
+ return extraParams ? JSON.stringify(extraParams) : extraParams;
117
+ }, [extraParams]);
108
118
  // 调接口
109
- var result = useRequest(service, _objectSpread(_objectSpread({}, useRequestOptions), {}, {
110
- debounceWait: 50,
119
+ var result = useRequest(service, _objectSpread(_objectSpread({
120
+ debounceWait: 300,
121
+ refreshDeps: [curService, curExtraParams]
122
+ }, useRequestOptions), {}, {
111
123
  defaultParams: [getTransformParams()],
112
124
  onSuccess: function onSuccess(res, params) {
113
125
  var transformResult = transformResponse ? transformResponse(res) : res || {};
@@ -131,9 +143,6 @@ function useAntdTable(service, options, useRequestOptions) {
131
143
  }));
132
144
  var run = result.run,
133
145
  refreshAsync = result.refreshAsync;
134
- var curService = useMemo(function () {
135
- return service.toString();
136
- }, [service]);
137
146
  // service变化时触发 (禁止掉防止service变更时导致的死循环)
138
147
  var clearSelected = useCallback(function () {
139
148
  setState({
@@ -172,6 +181,12 @@ function useAntdTable(service, options, useRequestOptions) {
172
181
  setState(nextObject);
173
182
  }
174
183
  }, [allSelected, data]);
184
+ // 释放
185
+ useEffect(function () {
186
+ return function () {
187
+ previousSearchValues = null;
188
+ };
189
+ }, []);
175
190
  // 分页变更
176
191
  var handlePageChange = useCallback(function (current, pageSize) {
177
192
  var page = {
@@ -213,26 +228,32 @@ function useAntdTable(service, options, useRequestOptions) {
213
228
  filters: filters,
214
229
  sorter: sorter
215
230
  })));
216
- }, [allSelected, searchValues, run, getTransformParams]);
231
+ }, [allSelected, searchValues, getTransformParams]);
217
232
  var onSearch = useCallback(function (values) {
218
233
  var newPage = {
219
234
  pageNum: 1,
220
235
  pageSize: page.pageSize
221
236
  };
222
237
  var _values = removeEmptyKeys(values);
223
- onPageChange(newPage);
224
- setState({
225
- searchValues: _values,
226
- allSelected: false,
227
- selectedRecords: [],
228
- selectedRowKeys: []
229
- });
238
+ // 如果 previousPage 存在且与 page 不相等,则触发页面变化
239
+ if (previousPage && !isEqual(previousPage, page)) {
240
+ onPageChange(newPage);
241
+ }
242
+ // 减少查询按钮的渲染,只有需要重置值时才需要调用
243
+ if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || isNonEmptyObject(_values) && !isEqual(previousSearchValues, _values)) {
244
+ previousSearchValues = _values;
245
+ setState({
246
+ searchValues: _values,
247
+ allSelected: false,
248
+ selectedRecords: [],
249
+ selectedRowKeys: []
250
+ });
251
+ }
230
252
  run(getTransformParams(_objectSpread(_objectSpread({
231
253
  page: newPage
232
254
  }, extraFilter), _values)));
233
- }, [extraFilter, page.pageSize, run, getTransformParams]);
234
- var resetParams = useCallback(function () {
235
- var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initPage;
255
+ }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
256
+ var resetParams = useCallback(function (page) {
236
257
  setState({
237
258
  searchValues: undefined,
238
259
  allSelected: false,
@@ -302,28 +323,6 @@ function useAntdTable(service, options, useRequestOptions) {
302
323
  return _ref4.apply(this, arguments);
303
324
  };
304
325
  }();
305
- useDeepCompareEffect(function () {
306
- if (!manual && curService) {
307
- // service改变时重新请求
308
- resetParams();
309
- onPageChange(initPage);
310
- run(getTransformParams());
311
- }
312
- }, [curService]);
313
- useDeepCompareEffect(function () {
314
- // extraParams改变时重新请求
315
- if (!manual && extraParams) {
316
- var newPage = {
317
- pageNum: 1,
318
- pageSize: page.pageSize
319
- };
320
- onPageChange(newPage);
321
- resetParams(newPage);
322
- run(getTransformParams({
323
- page: newPage
324
- }));
325
- }
326
- }, [extraParams]);
327
326
  var _rowSelection = {
328
327
  fixed: true,
329
328
  type: rowSelectType,
@@ -449,8 +448,8 @@ function useAntdTable(service, options, useRequestOptions) {
449
448
  });
450
449
  }
451
450
  }
452
- var selectedTip = allSelected || selectedRowKeys.length ? formatMessage(locale === null || locale === void 0 ? void 0 : (_locale$ProTable5 = locale.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
453
- selectedNum: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
451
+ var selectedTip = allSelected && selectedRowKeys.length ? formatMessage(locale === null || locale === void 0 ? void 0 : (_locale$ProTable5 = locale.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
452
+ total: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
454
453
  }) : null;
455
454
  var pagination = {
456
455
  current: page.pageNum,
@@ -585,7 +585,9 @@
585
585
 
586
586
  .@{ant-prefix}-table-summary {
587
587
  background-color: var(--zaui-table-header-bg, #f2f3f5);
588
-
588
+ td{
589
+ padding:calc(4px + var(--zaui-size)* 8px);
590
+ }
589
591
  .@{ant-prefix}-table-cell {
590
592
  font-weight: 500;
591
593
  background-color: var(--zaui-table-header-bg, #f2f3f5);
@@ -33,3 +33,11 @@ export declare const getRowKey: (rowKey: any, record: any) => any;
33
33
  export declare const removeEmptyKeys: (obj: any) => {
34
34
  [k: string]: unknown;
35
35
  };
36
+ export declare const getPadding: (el: HTMLElement) => {
37
+ pLeft: number;
38
+ pRight: number;
39
+ pTop: number;
40
+ pBottom: number;
41
+ };
42
+ /** 判断是有值的对象 */
43
+ export declare const isNonEmptyObject: (obj: any) => obj is Record<string, any>;
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
3
  import { get, isEqual } from 'lodash';
3
4
  import { validate } from '@zat-design/utils';
@@ -85,4 +86,22 @@ export var removeEmptyKeys = function removeEmptyKeys(obj) {
85
86
  });
86
87
  // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
87
88
  return Object.fromEntries(filteredEntries);
89
+ };
90
+ /* 获取边距 */
91
+ export var getPadding = function getPadding(el) {
92
+ var style = window.getComputedStyle(el, null);
93
+ var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
94
+ var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
95
+ var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
96
+ var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
97
+ return {
98
+ pLeft: paddingLeft,
99
+ pRight: paddingRight,
100
+ pTop: paddingTop,
101
+ pBottom: paddingBottom
102
+ };
103
+ };
104
+ /** 判断是有值的对象 */
105
+ export var isNonEmptyObject = function isNonEmptyObject(obj) {
106
+ return obj !== null && _typeof(obj) === 'object' && !Array.isArray(obj) && Object.keys(obj).length > 0;
88
107
  };
@@ -10,7 +10,7 @@ interface Props {
10
10
  namesStr?: NamePath;
11
11
  originalValues?: any;
12
12
  form: FormInstance;
13
- equalWith?: DiffOriginalParams['equalWith'];
13
+ onDiff?: DiffOriginalParams['onDiff'];
14
14
  [name: string]: any;
15
15
  }
16
16
  declare const ListChangedWrapper: React.FC<Props>;
@@ -17,7 +17,7 @@ var _lodash = require("lodash");
17
17
  var _diffOriginal = require("../../utils/diffOriginal");
18
18
  var _ProConfigProvider = require("../../../ProConfigProvider");
19
19
  var _utils = require("../../../utils");
20
- var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender", "diffConfig", "index"];
20
+ var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "onDiff", "rowKeyPath", "children", "type", "normalize", "getValueProps", "valuePropName", "viewRender", "diffConfig", "index"];
21
21
  var toNamePath = function toNamePath(name) {
22
22
  if (Array.isArray(name)) {
23
23
  return name;
@@ -89,7 +89,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
89
89
  originalNames = _props$originalNames === void 0 ? names : _props$originalNames,
90
90
  originalValues = props.originalValues,
91
91
  form = props.form,
92
- equalWith = props.equalWith,
92
+ onDiff = props.onDiff,
93
93
  rowKeyPath = props.rowKeyPath,
94
94
  children = props.children,
95
95
  type = props.type,
@@ -120,7 +120,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
120
120
  form: form
121
121
  });
122
122
  var originalValue = isWatch ? originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originalValue : undefined;
123
- var noChange = !equalWith && (!originalValues || isDiffAll ? false : (0, _utils.isEmpty)(originalValue));
123
+ var noChange = !onDiff && (!originalValues || isDiffAll ? false : (0, _utils.isEmpty)(originalValue));
124
124
  var diffType = (0, _react.useMemo)(function () {
125
125
  if (!isWatch || noChange) return 'same';
126
126
  var _value = normalize ? normalize(props[valuePropName], undefined, undefined, true) // true 代表是值比对时的调用
@@ -135,7 +135,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
135
135
  value: _value,
136
136
  originalValue: _originalValue,
137
137
  form: form,
138
- equalWith: equalWith,
138
+ onDiff: onDiff,
139
139
  originRecord: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.originRecord,
140
140
  record: originalDTO === null || originalDTO === void 0 ? void 0 : originalDTO.record,
141
141
  index: index
@@ -575,9 +575,10 @@ var RenderField = function RenderField(_ref) {
575
575
  originalNames: originalNames,
576
576
  originalValues: originalValues,
577
577
  form: form,
578
- equalWith: onDiff,
578
+ onDiff: onDiff,
579
579
  type: type,
580
580
  onChange: _onChange,
581
+ onBlur: _onblur,
581
582
  valuePropName: _formItemProps.valuePropName,
582
583
  normalize: _formItemProps.normalize,
583
584
  getValueProps: _formItemProps.getValueProps,
@@ -8,6 +8,8 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -163,6 +165,40 @@ var ProEditTable = function ProEditTable(_ref, ref) {
163
165
  return getRowKey(item) === getRowKey(record);
164
166
  }));
165
167
  };
168
+ // 分页变更
169
+ var handlePageChange = (0, _react.useCallback)(/*#__PURE__*/function () {
170
+ var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(current, pageSize) {
171
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
172
+ while (1) switch (_context.prev = _context.next) {
173
+ case 0:
174
+ _context.prev = 0;
175
+ _context.next = 3;
176
+ return form.validateFields([name], {
177
+ recursive: true
178
+ });
179
+ case 3:
180
+ setState({
181
+ page: {
182
+ pageNum: current,
183
+ pageSize: pageSize !== null && pageSize !== void 0 ? pageSize : page.pageSize
184
+ }
185
+ });
186
+ _context.next = 9;
187
+ break;
188
+ case 6:
189
+ _context.prev = 6;
190
+ _context.t0 = _context["catch"](0);
191
+ (0, _tools.handleScrollToError)();
192
+ case 9:
193
+ case "end":
194
+ return _context.stop();
195
+ }
196
+ }, _callee, null, [[0, 6]]);
197
+ }));
198
+ return function (_x, _x2) {
199
+ return _ref4.apply(this, arguments);
200
+ };
201
+ }(), []);
166
202
  var config = (0, _objectSpread2.default)({
167
203
  form: form,
168
204
  mode: mode,
@@ -197,7 +233,8 @@ var ProEditTable = function ProEditTable(_ref, ref) {
197
233
  rowDisabled: rowDisabled,
198
234
  actionDirection: actionDirection,
199
235
  diffConfig: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps === null || resetProps === void 0 ? void 0 : (_resetProps$otherProp = resetProps.otherProps) === null || _resetProps$otherProp === void 0 ? void 0 : _resetProps$otherProp.diffConfig), diffConfig),
200
- getIsNew: getIsNew
236
+ getIsNew: getIsNew,
237
+ handlePageChange: handlePageChange
201
238
  }, resetProps);
202
239
  // 编辑行设置下样式
203
240
  var _rowClassName = function _rowClassName(record) {
@@ -248,15 +285,6 @@ var ProEditTable = function ProEditTable(_ref, ref) {
248
285
  },
249
286
  hideSelectAll: isHideCheckBox
250
287
  }, rowSelection);
251
- // 分页变更
252
- var handlePageChange = (0, _react.useCallback)(function (current, pageSize) {
253
- setState({
254
- page: {
255
- pageNum: current,
256
- pageSize: pageSize
257
- }
258
- });
259
- }, []);
260
288
  // 空列表状态
261
289
  var empty = function empty() {
262
290
  var _toolbarProps$filter;
@@ -110,7 +110,7 @@ export interface ProColumnsProps<Values = any, T = any> extends Omit<FormItemPro
110
110
  rules?: ProRule[] | RulesFn<T>;
111
111
  confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps | void>;
112
112
  dependencies?: NamePath[];
113
- onDiff?: DiffOriginalParams['equalWith'];
113
+ onDiff?: DiffOriginalParams['onDiff'];
114
114
  [key: string]: any;
115
115
  }
116
116
  export type ProEditTableColumnsProps<K = any> = ProColumnsProps & ColumnPropsMap<K, 'ProEditTable'>;
@@ -151,7 +151,9 @@
151
151
  background-color: var(--zaui-table-header-bg, #f2f3f5);
152
152
  color : var(--zaui-text, #343434);
153
153
  font-weight : 600;
154
-
154
+ td{
155
+ padding: 8px 16px;
156
+ }
155
157
  .@{ant-prefix}-table-cell-fix-left,
156
158
  .@{ant-prefix}-table-cell-fix-right {
157
159
  background-color: var(--zaui-table-header-bg, #f2f3f5);
@@ -20,6 +20,6 @@ export declare const actions: {
20
20
  save: ({ record, editingKeys, setState, form, rowName, virtualRowName, result }: any) => Promise<void>;
21
21
  cancel: ({ name, record, editingKeys, setState, form, virtualRowName, virtualKey }: any) => void;
22
22
  delete: ({ name, record, editingKeys, setState, form, virtualKey, onlyOneLineMsg }: any) => boolean;
23
- add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, }: any) => Promise<boolean>;
23
+ add: ({ result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, prefixCls, page, handlePageChange, }: any) => Promise<boolean>;
24
24
  mulDelete: ({ form, name, virtualKey, setState, selectedRowKeys, editingKeys }: any) => void;
25
25
  };
@@ -12,6 +12,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  var _icons = require("@ant-design/icons");
15
+ var _utils = require("@zat-design/utils");
15
16
  var _antd = require("antd");
16
17
  var _lodash = require("lodash");
17
18
  var _tools = require("./tools");
@@ -174,11 +175,11 @@ var actions = exports.actions = {
174
175
  add: function () {
175
176
  var _add = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(_ref5) {
176
177
  var _tableRef$current$que, _tableRef$current$que2;
177
- var result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, _ref5$prefixCls, prefixCls, nextData, rowKey, addData, nextEditingKeys;
178
+ var result, insertType, editingKeys, setState, form, name, virtualName, virtualKey, onlyOneLineMsg, tableRef, _ref5$prefixCls, prefixCls, page, handlePageChange, nextData, rowKey, addData, nextPageNum, nextEditingKeys;
178
179
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
179
180
  while (1) switch (_context2.prev = _context2.next) {
180
181
  case 0:
181
- result = _ref5.result, insertType = _ref5.insertType, editingKeys = _ref5.editingKeys, setState = _ref5.setState, form = _ref5.form, name = _ref5.name, virtualName = _ref5.virtualName, virtualKey = _ref5.virtualKey, onlyOneLineMsg = _ref5.onlyOneLineMsg, tableRef = _ref5.tableRef, _ref5$prefixCls = _ref5.prefixCls, prefixCls = _ref5$prefixCls === void 0 ? 'ant' : _ref5$prefixCls;
182
+ result = _ref5.result, insertType = _ref5.insertType, editingKeys = _ref5.editingKeys, setState = _ref5.setState, form = _ref5.form, name = _ref5.name, virtualName = _ref5.virtualName, virtualKey = _ref5.virtualKey, onlyOneLineMsg = _ref5.onlyOneLineMsg, tableRef = _ref5.tableRef, _ref5$prefixCls = _ref5.prefixCls, prefixCls = _ref5$prefixCls === void 0 ? 'ant' : _ref5$prefixCls, page = _ref5.page, handlePageChange = _ref5.handlePageChange;
182
183
  nextData = (0, _toConsumableArray2.default)(form.getFieldValue(name) || []); // 单行编辑时,需要先保存,才能进行下面的编辑
183
184
  if (!(virtualKey && editingKeys.length >= 1)) {
184
185
  _context2.next = 5;
@@ -195,7 +196,14 @@ var actions = exports.actions = {
195
196
  addData.addFlag = true;
196
197
  addData.isEditing = true;
197
198
  }
198
- insertType === 'before' ? nextData.unshift(addData) : nextData.push(addData);
199
+ if (insertType === 'before') {
200
+ nextData.unshift(addData);
201
+ handlePageChange(1);
202
+ } else {
203
+ nextData.push(addData);
204
+ nextPageNum = Math.ceil(_utils.tools.calc(nextData.length, '/', page.pageSize));
205
+ handlePageChange(nextPageNum);
206
+ }
199
207
  // 当单选情况下,存储正在编辑值
200
208
  if (virtualKey) {
201
209
  nextEditingKeys = (0, _toConsumableArray2.default)(editingKeys); // 开启编辑状态
@@ -4,7 +4,7 @@ export interface DiffOriginalParams {
4
4
  originalValue: any;
5
5
  value: any;
6
6
  form: FormInstance;
7
- equalWith?: ({ originValue, originRecord, value, record, index, }: {
7
+ onDiff?: ({ originValue, originRecord, value, record, index, }: {
8
8
  originValue: any;
9
9
  originRecord: any;
10
10
  value: any;
@@ -37,13 +37,13 @@ var filterObject = function filterObject(data) {
37
37
  var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
38
38
  var originalValue = params.originalValue,
39
39
  value = params.value,
40
- equalWith = params.equalWith,
40
+ onDiff = params.onDiff,
41
41
  originRecord = params.originRecord,
42
42
  record = params.record,
43
43
  index = params.index;
44
44
  // 支持传入自定义比较事件
45
- if ((0, _lodash.isFunction)(equalWith)) {
46
- var diffRes = equalWith({
45
+ if ((0, _lodash.isFunction)(onDiff)) {
46
+ var diffRes = onDiff({
47
47
  originValue: originalValue,
48
48
  originRecord: originRecord,
49
49
  value: value,
@@ -599,7 +599,7 @@ var ProModalSelect = function ProModalSelect(props, ref) {
599
599
  });
600
600
  }
601
601
  });
602
- (0, _ahooks.useDebounceEffect)(function () {
602
+ (0, _react.useEffect)(function () {
603
603
  if (onOff && !visible) {
604
604
  var _useRequest$options6;
605
605
  if ((useRequest === null || useRequest === void 0 ? void 0 : (_useRequest$options6 = useRequest.options) === null || _useRequest$options6 === void 0 ? void 0 : _useRequest$options6.manual) !== true) {
@@ -9,7 +9,7 @@ interface Props {
9
9
  namesStr?: string;
10
10
  diffConfig?: DiffConfigProps;
11
11
  form: FormInstance;
12
- equalWith?: DiffOriginalParams['equalWith'];
12
+ onDiff?: DiffOriginalParams['onDiff'];
13
13
  valuePropName?: string;
14
14
  [name: string]: any;
15
15
  }