@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
@@ -14,7 +14,8 @@ var _lodash = require("lodash");
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _icons = require("@ant-design/icons");
16
16
  var _reactSvg = require("react-svg");
17
- var _utils = require("../../../utils");
17
+ var _utils = require("../../utils");
18
+ var _utils2 = require("../../../utils");
18
19
  var _copy = _interopRequireDefault(require("../../../assets/copy.svg"));
19
20
  var Paragraph = _antd.Typography.Paragraph,
20
21
  Text = _antd.Typography.Text;
@@ -43,6 +44,32 @@ var RenderColumn = function RenderColumn(props) {
43
44
  'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
44
45
  'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
45
46
  });
47
+ var checkEllipsis = function checkEllipsis(box) {
48
+ var range = document.createRange();
49
+ range.setStart(box, 0);
50
+ range.setEnd(box, box.childNodes.length);
51
+ var rangeWidth = range.getBoundingClientRect().width;
52
+ var _getPadding = (0, _utils.getPadding)(box),
53
+ pLeft = _getPadding.pLeft,
54
+ pRight = _getPadding.pRight,
55
+ pTop = _getPadding.pTop,
56
+ pBottom = _getPadding.pBottom;
57
+ var horizontalPadding = pLeft + pRight;
58
+ if (rangeWidth + horizontalPadding > box.clientWidth) {
59
+ return true;
60
+ }
61
+ return false;
62
+ };
63
+ var handleMouseOver = function handleMouseOver(e) {
64
+ setState({
65
+ tooltip: checkEllipsis(e.target)
66
+ });
67
+ };
68
+ var tooltipProps = (0, _objectSpread2.default)({
69
+ getPopupContainer: function getPopupContainer(triggerNode) {
70
+ return triggerNode.parentNode;
71
+ }
72
+ }, toolTipProps);
46
73
  // 比对场景走的逻辑
47
74
  if (!isInNewRowFlag && (0, _lodash.isBoolean)(props === null || props === void 0 ? void 0 : props.isChanged)) {
48
75
  var renderNode = value ? node : '-';
@@ -60,11 +87,36 @@ var RenderColumn = function RenderColumn(props) {
60
87
  }) : (0, _jsxRuntime.jsx)("div", {
61
88
  style: {
62
89
  minWidth: minWidth,
63
- width: width
90
+ width: width,
91
+ overflow: 'hidden',
92
+ textOverflow: 'ellipsis',
93
+ whiteSpace: 'nowrap'
64
94
  },
65
95
  children: ellipsis ? currentValue : renderNode
66
96
  });
67
97
  if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
98
+ if (ellipsis) {
99
+ return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
100
+ title: currentValue,
101
+ onOpenChange: function onOpenChange(open) {
102
+ setState({
103
+ tooltip: false
104
+ });
105
+ },
106
+ open: tooltip
107
+ }, tooltipProps), {}, {
108
+ children: (0, _jsxRuntime.jsx)(Text, {
109
+ style: {
110
+ width: width,
111
+ minWidth: minWidth
112
+ },
113
+ ellipsis: true,
114
+ onMouseOver: handleMouseOver,
115
+ onFocus: handleMouseOver,
116
+ children: renderNode
117
+ })
118
+ }));
119
+ }
68
120
  return renderNode;
69
121
  }
70
122
  if (Array.isArray(originalValue)) {
@@ -74,7 +126,7 @@ var RenderColumn = function RenderColumn(props) {
74
126
  if (Array.isArray(originalValue)) {
75
127
  return null;
76
128
  }
77
- return !(0, _utils.isEmpty)(originalValue) ? originalValue : '-';
129
+ return !(0, _utils2.isEmpty)(originalValue) ? originalValue : '-';
78
130
  };
79
131
  return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
80
132
  className: cellDiffCls,
@@ -88,7 +140,7 @@ var RenderColumn = function RenderColumn(props) {
88
140
  title: (0, _jsxRuntime.jsx)(_antd.Space, {
89
141
  direction: "vertical",
90
142
  className: "changed-tooltip",
91
- children: (props === null || props === void 0 ? void 0 : props.isChanged) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
143
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) && !(props === null || props === void 0 ? void 0 : props.isAddCell) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
92
144
  children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
93
145
  align: "start",
94
146
  className: "original-value-container",
@@ -140,45 +192,6 @@ var RenderColumn = function RenderColumn(props) {
140
192
  });
141
193
  }
142
194
  if (ellipsis) {
143
- var getPadding = function getPadding(el) {
144
- var style = window.getComputedStyle(el, null);
145
- var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
146
- var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
147
- var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
148
- var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
149
- return {
150
- pLeft: paddingLeft,
151
- pRight: paddingRight,
152
- pTop: paddingTop,
153
- pBottom: paddingBottom
154
- };
155
- };
156
- var checkEllipsis = function checkEllipsis(box) {
157
- var range = document.createRange();
158
- range.setStart(box, 0);
159
- range.setEnd(box, box.childNodes.length);
160
- var rangeWidth = range.getBoundingClientRect().width;
161
- var _getPadding = getPadding(box),
162
- pLeft = _getPadding.pLeft,
163
- pRight = _getPadding.pRight,
164
- pTop = _getPadding.pTop,
165
- pBottom = _getPadding.pBottom;
166
- var horizontalPadding = pLeft + pRight;
167
- if (rangeWidth + horizontalPadding > box.clientWidth) {
168
- return true;
169
- }
170
- return false;
171
- };
172
- var handleMouseOver = function handleMouseOver(e) {
173
- setState({
174
- tooltip: checkEllipsis(e.target)
175
- });
176
- };
177
- var tooltipProps = (0, _objectSpread2.default)({
178
- getPopupContainer: function getPopupContainer(triggerNode) {
179
- return triggerNode.parentNode;
180
- }
181
- }, toolTipProps);
182
195
  if (!value) {
183
196
  return (0, _jsxRuntime.jsx)("div", {
184
197
  style: {
@@ -31,6 +31,7 @@ var useDefaultOptions = function useDefaultOptions(options) {
31
31
  onPageChange: (options === null || options === void 0 ? void 0 : options.onPageChange) || onPageChange
32
32
  });
33
33
  };
34
+ var previousSearchValues = null;
34
35
  function useAntdTable(service, options, useRequestOptions) {
35
36
  var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5;
36
37
  var _useSetState = (0, _ahooks.useSetState)({
@@ -39,7 +40,10 @@ function useAntdTable(service, options, useRequestOptions) {
39
40
  selectedRecords: [],
40
41
  selectedRowKeys: [],
41
42
  searchValues: undefined,
42
- extraFilter: undefined,
43
+ extraFilter: {
44
+ filters: undefined,
45
+ sorter: undefined
46
+ },
43
47
  allSelected: false
44
48
  }),
45
49
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
@@ -70,10 +74,10 @@ function useAntdTable(service, options, useRequestOptions) {
70
74
  transformResponse = _useDefaultOptions.transformResponse,
71
75
  disabled = _useDefaultOptions.disabled;
72
76
  var _ref = useRequestOptions || {},
73
- defaultParams = _ref.defaultParams,
74
- manual = _ref.manual;
77
+ defaultParams = _ref.defaultParams;
75
78
  var defaultParam = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
76
79
  var initPage = (options === null || options === void 0 ? void 0 : options.page) || _index.defaultPage;
80
+ var previousPage = (0, _ahooks.usePrevious)(page || _index.defaultPage);
77
81
  var getTransformParams = (0, _react.useCallback)(function (params) {
78
82
  var _pickBy;
79
83
  var realParams = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultParam), extraParams), params);
@@ -112,9 +116,17 @@ function useAntdTable(service, options, useRequestOptions) {
112
116
  page: page
113
117
  }, newQueryBean));
114
118
  }, [page, searchValues, extraFilter]);
119
+ var curService = (0, _react.useMemo)(function () {
120
+ return service.toString();
121
+ }, [service]);
122
+ var curExtraParams = (0, _react.useMemo)(function () {
123
+ return extraParams ? JSON.stringify(extraParams) : extraParams;
124
+ }, [extraParams]);
115
125
  // 调接口
116
- var result = (0, _ahooks.useRequest)(service, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, useRequestOptions), {}, {
117
- debounceWait: 50,
126
+ var result = (0, _ahooks.useRequest)(service, (0, _objectSpread2.default)((0, _objectSpread2.default)({
127
+ debounceWait: 300,
128
+ refreshDeps: [curService, curExtraParams]
129
+ }, useRequestOptions), {}, {
118
130
  defaultParams: [getTransformParams()],
119
131
  onSuccess: function onSuccess(res, params) {
120
132
  var transformResult = transformResponse ? transformResponse(res) : res || {};
@@ -138,9 +150,6 @@ function useAntdTable(service, options, useRequestOptions) {
138
150
  }));
139
151
  var run = result.run,
140
152
  refreshAsync = result.refreshAsync;
141
- var curService = (0, _react.useMemo)(function () {
142
- return service.toString();
143
- }, [service]);
144
153
  // service变化时触发 (禁止掉防止service变更时导致的死循环)
145
154
  var clearSelected = (0, _react.useCallback)(function () {
146
155
  setState({
@@ -179,6 +188,12 @@ function useAntdTable(service, options, useRequestOptions) {
179
188
  setState(nextObject);
180
189
  }
181
190
  }, [allSelected, data]);
191
+ // 释放
192
+ (0, _react.useEffect)(function () {
193
+ return function () {
194
+ previousSearchValues = null;
195
+ };
196
+ }, []);
182
197
  // 分页变更
183
198
  var handlePageChange = (0, _react.useCallback)(function (current, pageSize) {
184
199
  var page = {
@@ -220,26 +235,32 @@ function useAntdTable(service, options, useRequestOptions) {
220
235
  filters: filters,
221
236
  sorter: sorter
222
237
  })));
223
- }, [allSelected, searchValues, run, getTransformParams]);
238
+ }, [allSelected, searchValues, getTransformParams]);
224
239
  var onSearch = (0, _react.useCallback)(function (values) {
225
240
  var newPage = {
226
241
  pageNum: 1,
227
242
  pageSize: page.pageSize
228
243
  };
229
244
  var _values = (0, _utils.removeEmptyKeys)(values);
230
- onPageChange(newPage);
231
- setState({
232
- searchValues: _values,
233
- allSelected: false,
234
- selectedRecords: [],
235
- selectedRowKeys: []
236
- });
245
+ // 如果 previousPage 存在且与 page 不相等,则触发页面变化
246
+ if (previousPage && !(0, _lodash.isEqual)(previousPage, page)) {
247
+ onPageChange(newPage);
248
+ }
249
+ // 减少查询按钮的渲染,只有需要重置值时才需要调用
250
+ if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || (0, _utils.isNonEmptyObject)(_values) && !(0, _lodash.isEqual)(previousSearchValues, _values)) {
251
+ previousSearchValues = _values;
252
+ setState({
253
+ searchValues: _values,
254
+ allSelected: false,
255
+ selectedRecords: [],
256
+ selectedRowKeys: []
257
+ });
258
+ }
237
259
  run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
238
260
  page: newPage
239
261
  }, extraFilter), _values)));
240
- }, [extraFilter, page.pageSize, run, getTransformParams]);
241
- var resetParams = (0, _react.useCallback)(function () {
242
- var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initPage;
262
+ }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
263
+ var resetParams = (0, _react.useCallback)(function (page) {
243
264
  setState({
244
265
  searchValues: undefined,
245
266
  allSelected: false,
@@ -309,28 +330,6 @@ function useAntdTable(service, options, useRequestOptions) {
309
330
  return _ref4.apply(this, arguments);
310
331
  };
311
332
  }();
312
- (0, _ahooks.useDeepCompareEffect)(function () {
313
- if (!manual && curService) {
314
- // service改变时重新请求
315
- resetParams();
316
- onPageChange(initPage);
317
- run(getTransformParams());
318
- }
319
- }, [curService]);
320
- (0, _ahooks.useDeepCompareEffect)(function () {
321
- // extraParams改变时重新请求
322
- if (!manual && extraParams) {
323
- var newPage = {
324
- pageNum: 1,
325
- pageSize: page.pageSize
326
- };
327
- onPageChange(newPage);
328
- resetParams(newPage);
329
- run(getTransformParams({
330
- page: newPage
331
- }));
332
- }
333
- }, [extraParams]);
334
333
  var _rowSelection = {
335
334
  fixed: true,
336
335
  type: rowSelectType,
@@ -456,8 +455,8 @@ function useAntdTable(service, options, useRequestOptions) {
456
455
  });
457
456
  }
458
457
  }
459
- var selectedTip = allSelected || selectedRowKeys.length ? (0, _locale.formatMessage)(_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProTable5 = _locale.default.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
460
- selectedNum: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
458
+ var selectedTip = allSelected && selectedRowKeys.length ? (0, _locale.formatMessage)(_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProTable5 = _locale.default.ProTable) === null || _locale$ProTable5 === void 0 ? void 0 : _locale$ProTable5.selectAll, {
459
+ total: allSelected ? total : selectedRowKeys === null || selectedRowKeys === void 0 ? void 0 : selectedRowKeys.length
461
460
  }) : null;
462
461
  var pagination = {
463
462
  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>;
@@ -4,7 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.removeEmptyKeys = exports.isListResult = exports.getRowKey = exports.getOriginalValue = exports.getDecimalDigits = exports.getColumnDataIndex = void 0;
7
+ exports.removeEmptyKeys = exports.isNonEmptyObject = exports.isListResult = exports.getRowKey = exports.getPadding = exports.getOriginalValue = exports.getDecimalDigits = exports.getColumnDataIndex = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _lodash = require("lodash");
10
11
  var _utils = require("@zat-design/utils");
@@ -92,4 +93,22 @@ var removeEmptyKeys = exports.removeEmptyKeys = function removeEmptyKeys(obj) {
92
93
  });
93
94
  // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
94
95
  return Object.fromEntries(filteredEntries);
96
+ };
97
+ /* 获取边距 */
98
+ var getPadding = exports.getPadding = function getPadding(el) {
99
+ var style = window.getComputedStyle(el, null);
100
+ var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
101
+ var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
102
+ var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
103
+ var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
104
+ return {
105
+ pLeft: paddingLeft,
106
+ pRight: paddingRight,
107
+ pTop: paddingTop,
108
+ pBottom: paddingBottom
109
+ };
110
+ };
111
+ /** 判断是有值的对象 */
112
+ var isNonEmptyObject = exports.isNonEmptyObject = function isNonEmptyObject(obj) {
113
+ return obj !== null && (0, _typeof2.default)(obj) === 'object' && !Array.isArray(obj) && Object.keys(obj).length > 0;
95
114
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.10.2",
3
+ "version": "3.10.3-beta.3",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -1,5 +0,0 @@
1
- {
2
- "recommendations": [
3
- "kisstkondoros.vscode-codemetrics"
4
- ]
5
- }