@zat-design/sisyphus-react 3.8.3 → 3.9.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 (68) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/dist/index.esm.css +38 -3
  3. package/dist/less.esm.css +37 -2
  4. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +83 -20
  5. package/es/ProEditTable/components/RenderField/index.js +6 -2
  6. package/es/ProEditTable/index.js +18 -9
  7. package/es/ProEditTable/propsType.d.ts +3 -6
  8. package/es/ProEditTable/style/index.less +0 -1
  9. package/es/ProEditTable/utils/index.js +10 -3
  10. package/es/ProForm/components/base/InputNumber/index.js +1 -1
  11. package/es/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  12. package/es/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  13. package/es/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  14. package/es/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  15. package/es/ProForm/components/combination/FormList/index.js +14 -3
  16. package/es/ProForm/components/combination/Group/index.js +3 -4
  17. package/es/ProForm/components/combination/ProCascader/index.js +21 -14
  18. package/es/ProForm/components/combination/ProModalSelect/index.js +17 -3
  19. package/es/ProForm/components/render/ChangedWrapper.js +29 -10
  20. package/es/ProForm/components/render/Render.js +3 -1
  21. package/es/ProForm/components/render/RenderFields.js +4 -2
  22. package/es/ProForm/propsType.d.ts +3 -0
  23. package/es/ProForm/style/index.less +35 -9
  24. package/es/ProForm/utils/diffOriginal.js +14 -2
  25. package/es/ProForm/utils/useShouldUpdate.js +1 -9
  26. package/es/ProTable/components/FormatColumn/index.d.ts +2 -1
  27. package/es/ProTable/components/FormatColumn/index.js +107 -29
  28. package/es/ProTable/components/RenderColumn/index.d.ts +1 -0
  29. package/es/ProTable/components/RenderColumn/index.js +23 -6
  30. package/es/ProTable/index.js +8 -7
  31. package/es/ProTable/propsType.d.ts +4 -0
  32. package/es/ProTable/style/index.less +14 -0
  33. package/es/style/theme/antd.less +1 -1
  34. package/es/utils/index.d.ts +1 -0
  35. package/es/utils/index.js +26 -0
  36. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +82 -21
  37. package/lib/ProEditTable/components/RenderField/index.js +6 -2
  38. package/lib/ProEditTable/index.js +18 -9
  39. package/lib/ProEditTable/propsType.d.ts +3 -6
  40. package/lib/ProEditTable/style/index.less +0 -1
  41. package/lib/ProEditTable/utils/index.js +10 -3
  42. package/lib/ProForm/components/base/InputNumber/index.js +1 -1
  43. package/lib/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  44. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  45. package/lib/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  46. package/lib/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  47. package/lib/ProForm/components/combination/FormList/index.js +14 -3
  48. package/lib/ProForm/components/combination/Group/index.js +3 -4
  49. package/lib/ProForm/components/combination/ProCascader/index.js +21 -14
  50. package/lib/ProForm/components/combination/ProModalSelect/index.js +17 -3
  51. package/lib/ProForm/components/render/ChangedWrapper.js +29 -10
  52. package/lib/ProForm/components/render/Render.js +3 -1
  53. package/lib/ProForm/components/render/RenderFields.js +4 -2
  54. package/lib/ProForm/propsType.d.ts +3 -0
  55. package/lib/ProForm/style/index.less +35 -9
  56. package/lib/ProForm/utils/diffOriginal.js +13 -1
  57. package/lib/ProForm/utils/useShouldUpdate.js +1 -9
  58. package/lib/ProTable/components/FormatColumn/index.d.ts +2 -1
  59. package/lib/ProTable/components/FormatColumn/index.js +107 -29
  60. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -0
  61. package/lib/ProTable/components/RenderColumn/index.js +20 -5
  62. package/lib/ProTable/index.js +8 -7
  63. package/lib/ProTable/propsType.d.ts +4 -0
  64. package/lib/ProTable/style/index.less +14 -0
  65. package/lib/style/theme/antd.less +1 -1
  66. package/lib/utils/index.d.ts +1 -0
  67. package/lib/utils/index.js +28 -1
  68. package/package.json +1 -1
@@ -51,7 +51,8 @@ export var formatColumn = function formatColumn(_ref2) {
51
51
  diffToolTip = _ref2.diffToolTip,
52
52
  wrapToolTipProps = _ref2.wrapToolTipProps,
53
53
  scroll = _ref2.scroll,
54
- onUpdateMinWidth = _ref2.onUpdateMinWidth;
54
+ onUpdateMinWidth = _ref2.onUpdateMinWidth,
55
+ isInNewRow = _ref2.isInNewRow;
55
56
  var title = column.title,
56
57
  valueType = column.valueType,
57
58
  _column$format = column.format,
@@ -71,7 +72,8 @@ export var formatColumn = function formatColumn(_ref2) {
71
72
  originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
72
73
  _column$toolTipProps = column.toolTipProps,
73
74
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
74
- minWidth = column.minWidth;
75
+ minWidth = column.minWidth,
76
+ onDiff = column.onDiff;
75
77
  // 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
76
78
  var isMaxContentOverFlow = isObject(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
77
79
  calcMinWidth({
@@ -108,7 +110,7 @@ export var formatColumn = function formatColumn(_ref2) {
108
110
  }
109
111
  };
110
112
  if (column === null || column === void 0 ? void 0 : column.render) {
111
- if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0) {
113
+ if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0 && !onDiff) {
112
114
  return;
113
115
  }
114
116
  var originalRender = column.render; // 保存原始的 render 方法
@@ -116,12 +118,27 @@ export var formatColumn = function formatColumn(_ref2) {
116
118
  column.render = function (value, record, index) {
117
119
  var _originalObj$record$r;
118
120
  var isFn = isFunction(originalRender);
119
- var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : undefined;
121
+ var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
120
122
  var originalValue = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
121
- var originalRenderValue = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(originalValue, (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {}, index) : undefined;
123
+ var originalRenderValue = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(originalValue, (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {}, index) : null;
124
+ var isInNewRowFlag = isInNewRow(record);
125
+ var extraDiffFlag = false;
126
+ // 把比对结果告诉我
127
+ if (onDiff) {
128
+ var isDiff = onDiff({
129
+ value: record,
130
+ originValue: originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]
131
+ });
132
+ if (!isDiff) {
133
+ originalValue = null;
134
+ } else {
135
+ originalValue = true;
136
+ extraDiffFlag = true;
137
+ }
138
+ }
122
139
  return _jsx(RenderColumn, {
123
140
  valueType: valueType,
124
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
141
+ originalValue: !originalValue && originalValue !== 0 ? null : extraDiffFlag ? originalRenderValue !== null && originalRenderValue !== void 0 ? originalRenderValue : originalValue : originalRenderValue,
125
142
  ellipsis: ellipsis,
126
143
  width: width,
127
144
  value: _value,
@@ -129,7 +146,8 @@ export var formatColumn = function formatColumn(_ref2) {
129
146
  currentValue: _value,
130
147
  originalDiffTip: _originalDiffTip,
131
148
  toolTipProps: _toolTipProps,
132
- minWidth: minWidth
149
+ minWidth: minWidth,
150
+ isInNewRowFlag: isInNewRowFlag
133
151
  });
134
152
  };
135
153
  return;
@@ -160,12 +178,18 @@ export var formatColumn = function formatColumn(_ref2) {
160
178
  originalRenderValue = '-';
161
179
  }
162
180
  if (!value && value !== 0 && renderValue === originalRenderValue) {
163
- return '-';
181
+ return _jsx("div", {
182
+ style: {
183
+ minWidth: minWidth
184
+ },
185
+ children: "-"
186
+ });
164
187
  }
165
188
  var node = _jsxs(_Space, {
166
189
  size: 8,
167
190
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
168
191
  });
192
+ var isInNewRowFlag = isInNewRow(record);
169
193
  return _jsx(RenderColumn, {
170
194
  valueType: valueType,
171
195
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -176,7 +200,8 @@ export var formatColumn = function formatColumn(_ref2) {
176
200
  currentValue: renderValue,
177
201
  originalDiffTip: _originalDiffTip,
178
202
  toolTipProps: _toolTipProps,
179
- minWidth: minWidth
203
+ minWidth: minWidth,
204
+ isInNewRowFlag: isInNewRowFlag
180
205
  });
181
206
  };
182
207
  // 千分位, 千分位带CNY前缀
@@ -195,8 +220,14 @@ export var formatColumn = function formatColumn(_ref2) {
195
220
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
196
221
  });
197
222
  if (!value && value !== 0 && renderValue === originalRenderValue) {
198
- return '-';
223
+ _jsx("div", {
224
+ style: {
225
+ minWidth: minWidth
226
+ },
227
+ children: "-"
228
+ });
199
229
  }
230
+ var isInNewRowFlag = isInNewRow(record);
200
231
  return _jsx(RenderColumn, {
201
232
  valueType: valueType,
202
233
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -207,7 +238,8 @@ export var formatColumn = function formatColumn(_ref2) {
207
238
  currentValue: renderValue,
208
239
  originalDiffTip: _originalDiffTip,
209
240
  toolTipProps: _toolTipProps,
210
- minWidth: minWidth
241
+ minWidth: minWidth,
242
+ isInNewRowFlag: isInNewRowFlag
211
243
  });
212
244
  };
213
245
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
@@ -249,8 +281,14 @@ export var formatColumn = function formatColumn(_ref2) {
249
281
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
250
282
  });
251
283
  if (!value && renderValue === originalRenderValue) {
252
- return '-';
284
+ _jsx("div", {
285
+ style: {
286
+ minWidth: minWidth
287
+ },
288
+ children: "-"
289
+ });
253
290
  }
291
+ var isInNewRowFlag = isInNewRow(record);
254
292
  return _jsx(RenderColumn, {
255
293
  valueType: valueType,
256
294
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -261,7 +299,8 @@ export var formatColumn = function formatColumn(_ref2) {
261
299
  currentValue: renderValue,
262
300
  originalDiffTip: _originalDiffTip,
263
301
  toolTipProps: _toolTipProps,
264
- minWidth: minWidth
302
+ minWidth: minWidth,
303
+ isInNewRowFlag: isInNewRowFlag
265
304
  });
266
305
  };
267
306
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
@@ -290,6 +329,7 @@ export var formatColumn = function formatColumn(_ref2) {
290
329
  size: 8,
291
330
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
292
331
  });
332
+ var isInNewRowFlag = isInNewRow(record);
293
333
  return _jsx(RenderColumn, {
294
334
  valueType: valueType,
295
335
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -300,7 +340,8 @@ export var formatColumn = function formatColumn(_ref2) {
300
340
  currentValue: renderValue,
301
341
  originalDiffTip: _originalDiffTip,
302
342
  toolTipProps: _toolTipProps,
303
- minWidth: minWidth
343
+ minWidth: minWidth,
344
+ isInNewRowFlag: isInNewRowFlag
304
345
  });
305
346
  };
306
347
  } else if (precision || prefix || suffix) {
@@ -316,8 +357,14 @@ export var formatColumn = function formatColumn(_ref2) {
316
357
  originalRenderValue = '-';
317
358
  }
318
359
  if (!value && value !== 0 && renderValue === originalRenderValue) {
319
- return '-';
360
+ _jsx("div", {
361
+ style: {
362
+ minWidth: minWidth
363
+ },
364
+ children: "-"
365
+ });
320
366
  }
367
+ var isInNewRowFlag = isInNewRow(record);
321
368
  return _jsx(RenderColumn, {
322
369
  valueType: valueType,
323
370
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -328,7 +375,8 @@ export var formatColumn = function formatColumn(_ref2) {
328
375
  currentValue: renderValue,
329
376
  originalDiffTip: _originalDiffTip,
330
377
  toolTipProps: _toolTipProps,
331
- minWidth: minWidth
378
+ minWidth: minWidth,
379
+ isInNewRowFlag: isInNewRowFlag
332
380
  });
333
381
  };
334
382
  } else if (valueType === 'address') {
@@ -341,10 +389,14 @@ export var formatColumn = function formatColumn(_ref2) {
341
389
  return !!item;
342
390
  })) === null || _realValue$filter === void 0 ? void 0 : _realValue$filter.length) === 0;
343
391
  if (isEqual(value, originalValue) && isEmpty) {
344
- return '-';
392
+ _jsx("div", {
393
+ style: {
394
+ minWidth: minWidth
395
+ },
396
+ children: "-"
397
+ });
345
398
  }
346
399
  var className = classnames({
347
- 'varied-cell': originalValue !== undefined,
348
400
  'empty-cell': isEmpty
349
401
  });
350
402
  var renderValue = _jsx(ProForm.ProCascader, {
@@ -359,21 +411,32 @@ export var formatColumn = function formatColumn(_ref2) {
359
411
  code: code,
360
412
  value: originalRealValue
361
413
  });
362
- return _jsx(ProForm.ProCascader, {
414
+ var renderNode = _jsx(ProForm.ProCascader, {
363
415
  className: className,
364
416
  isView: true,
365
417
  mode: "address",
366
418
  code: code,
367
419
  value: realValue,
368
- tooltip: originalValue !== undefined ? _jsxs(_Fragment, {
369
- children: ["\u521D\u59CB\u503C\uFF1A", originalRenderValue, _jsx("br", {}), ellipsis ? _jsxs(_Fragment, {
370
- children: ["\u5F53\u524D\u503C\uFF1A", renderValue]
371
- }) : undefined]
372
- }) : ellipsis
420
+ tooltip: false
421
+ });
422
+ var isInNewRowFlag = isInNewRow(record);
423
+ return _jsx(RenderColumn, {
424
+ valueType: valueType,
425
+ originalValue: originalValue === undefined ? undefined : originalRenderValue,
426
+ ellipsis: ellipsis !== null && ellipsis !== void 0 ? ellipsis : true,
427
+ width: width,
428
+ node: renderNode,
429
+ value: renderValue,
430
+ currentValue: renderValue,
431
+ originalDiffTip: _originalDiffTip,
432
+ toolTipProps: _toolTipProps,
433
+ minWidth: minWidth,
434
+ isInNewRowFlag: isInNewRowFlag
373
435
  });
374
436
  };
375
437
  } else if (copyable) {
376
438
  column.render = function (value, record, index) {
439
+ var isInNewRowFlag = isInNewRow(record);
377
440
  return _jsxs(_Space, {
378
441
  size: 8,
379
442
  children: [prefixNode(value, record, index), _jsx(RenderColumn, {
@@ -385,7 +448,8 @@ export var formatColumn = function formatColumn(_ref2) {
385
448
  value: value,
386
449
  currentValue: value,
387
450
  toolTipProps: _toolTipProps,
388
- minWidth: minWidth
451
+ minWidth: minWidth,
452
+ isInNewRowFlag: isInNewRowFlag
389
453
  }), suffixNode(value, record, index)]
390
454
  });
391
455
  };
@@ -393,8 +457,14 @@ export var formatColumn = function formatColumn(_ref2) {
393
457
  column.render = function (value, record, index) {
394
458
  var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
395
459
  if (!value && value !== 0 && value === originalValue) {
396
- return '-';
460
+ _jsx("div", {
461
+ style: {
462
+ minWidth: minWidth
463
+ },
464
+ children: "-"
465
+ });
397
466
  }
467
+ var isInNewRowFlag = isInNewRow(record);
398
468
  return _jsxs(_Space, {
399
469
  size: 8,
400
470
  children: [prefixNode(value, record, index), _jsx(RenderColumn, {
@@ -407,7 +477,8 @@ export var formatColumn = function formatColumn(_ref2) {
407
477
  currentValue: value || '-',
408
478
  originalDiffTip: _originalDiffTip,
409
479
  toolTipProps: _toolTipProps,
410
- minWidth: minWidth
480
+ minWidth: minWidth,
481
+ isInNewRowFlag: isInNewRowFlag
411
482
  }), suffixNode(value, record, index)]
412
483
  });
413
484
  };
@@ -419,8 +490,14 @@ export var formatColumn = function formatColumn(_ref2) {
419
490
  children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
420
491
  });
421
492
  if (!value && value !== 0 && value === originalValue) {
422
- return '-';
493
+ _jsx("div", {
494
+ style: {
495
+ minWidth: minWidth
496
+ },
497
+ children: "-"
498
+ });
423
499
  }
500
+ var isInNewRowFlag = isInNewRow(record);
424
501
  return _jsx(RenderColumn, {
425
502
  valueType: valueType,
426
503
  originalValue: originalValue === undefined ? undefined : originalValue || '-',
@@ -431,7 +508,8 @@ export var formatColumn = function formatColumn(_ref2) {
431
508
  currentValue: value || '-',
432
509
  originalDiffTip: _originalDiffTip,
433
510
  toolTipProps: _toolTipProps,
434
- minWidth: minWidth
511
+ minWidth: minWidth,
512
+ isInNewRowFlag: isInNewRowFlag
435
513
  });
436
514
  };
437
515
  }
@@ -12,6 +12,7 @@ interface Props {
12
12
  originalValue?: any;
13
13
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
14
14
  minWidth?: number;
15
+ isInNewRowFlag?: boolean;
15
16
  }
16
17
  declare const RenderColumn: FC<Props>;
17
18
  export default RenderColumn;
@@ -1,10 +1,12 @@
1
+ import "antd/es/space/style";
2
+ import _Space from "antd/es/space";
1
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
4
  import "antd/es/tooltip/style";
3
5
  import _Tooltip from "antd/es/tooltip";
4
6
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
7
  import "antd/es/typography/style";
6
8
  import _Typography from "antd/es/typography";
7
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
10
  import { useSetState } from 'ahooks';
9
11
  import { CheckOutlined } from '@ant-design/icons';
10
12
  import { ReactSVG } from 'react-svg';
@@ -24,14 +26,15 @@ var RenderColumn = function RenderColumn(props) {
24
26
  originalDiffTip = props.originalDiffTip,
25
27
  _props$toolTipProps = props.toolTipProps,
26
28
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
27
- minWidth = props.minWidth;
29
+ minWidth = props.minWidth,
30
+ isInNewRowFlag = props.isInNewRowFlag;
28
31
  var _useSetState = useSetState({
29
32
  tooltip: false
30
33
  }),
31
34
  _useSetState2 = _slicedToArray(_useSetState, 2),
32
35
  tooltip = _useSetState2[0].tooltip,
33
36
  setState = _useSetState2[1];
34
- if (originalValue !== undefined) {
37
+ if ((originalValue || originalValue === 0) && !isInNewRowFlag) {
35
38
  var renderNode = value ? node : '-';
36
39
  if (ellipsis || originalDiffTip) {
37
40
  if (ellipsis) {
@@ -52,9 +55,23 @@ var RenderColumn = function RenderColumn(props) {
52
55
  width: width,
53
56
  minWidth: minWidth
54
57
  },
55
- title: originalDiffTip ? _jsxs(_Fragment, {
56
- children: ["\u521D\u59CB\u503C\uFF1A", originalValue, _jsx("br", {}), ellipsis ? "\u5F53\u524D\u503C\uFF1A".concat(currentValue) : undefined]
57
- }) : node,
58
+ overlayClassName: "original-value-tootip",
59
+ title: _jsx(_Space, {
60
+ direction: "vertical",
61
+ className: "changed-tooltip",
62
+ children: originalDiffTip ? _jsxs(_Fragment, {
63
+ children: [_jsxs(_Space, {
64
+ align: "start",
65
+ className: "original-value-container",
66
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValue]
67
+ }), _jsx(_Space, {
68
+ className: "current-value-container",
69
+ children: ellipsis ? _jsxs("span", {
70
+ children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
71
+ }) : null
72
+ })]
73
+ }) : node
74
+ }),
58
75
  getPopupContainer: function getPopupContainer(triggerNode) {
59
76
  return triggerNode.parentNode;
60
77
  }
@@ -183,6 +183,11 @@ function ProTable(props) {
183
183
  setCurColumns(nextColumns);
184
184
  };
185
185
  };
186
+ var _rowClassName = function _rowClassName(record, index) {
187
+ if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
188
+ return 'new-cell';
189
+ }
190
+ };
186
191
  var columns = useMemo(function () {
187
192
  var newColumns = curColumns.map(function (item, index) {
188
193
  var _propsColumnObj$getCo2;
@@ -215,11 +220,12 @@ function ProTable(props) {
215
220
  scroll: _scroll,
216
221
  onUpdateMinWidth: function onUpdateMinWidth(w) {
217
222
  curColumns[index].minWidth = w;
218
- }
223
+ },
224
+ isInNewRow: _rowClassName
219
225
  });
220
226
  });
221
227
  return newColumns;
222
- }, [curColumns, handleResize, _scroll]);
228
+ }, [curColumns, handleResize, _scroll, originalDataSource, originalObj, _rowClassName]);
223
229
  var _columns = useMemo(function () {
224
230
  return columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
225
231
  var show = item.show;
@@ -368,11 +374,6 @@ function ProTable(props) {
368
374
  return _ref7.apply(this, arguments);
369
375
  };
370
376
  }();
371
- var _rowClassName = function _rowClassName(record, index) {
372
- if (originalDataSource && !originalObj.hasOwnProperty(get(record, 'rowKey'))) {
373
- return 'new-cell';
374
- }
375
- };
376
377
  var TableComponent = draggable ? DraggableTable : BaseTable;
377
378
  // 标记样式
378
379
  var tagStyle = {
@@ -41,6 +41,10 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
41
41
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
42
42
  transform?: (value: any, record?: any) => string[];
43
43
  show?: boolean | (() => boolean);
44
+ onDiff?: ({ value, originValue }: {
45
+ value: any;
46
+ originValue: any;
47
+ }) => boolean;
44
48
  }
45
49
  export interface CreateTreeFromArrayOptions {
46
50
  itemKey?: string;
@@ -272,8 +272,22 @@
272
272
  .@{ant-prefix}-table-cell .varied-cell {
273
273
  margin-left: -8px;
274
274
  padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
275
+
275
276
  background: var(--zaui-contract-bg; #fffaa1) !important;
276
277
  border-radius: var(--zaui-border-radius, 8px);
278
+ .pro-form-view-container {
279
+ overflow: hidden;
280
+ white-space: nowrap;
281
+ text-overflow: ellipsis;
282
+ }
283
+ }
284
+
285
+ .@{ant-prefix}-table-cell .@{ant-prefix}-typography-ellipsis {
286
+ .pro-form-view-container {
287
+ overflow: hidden;
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ }
277
291
  }
278
292
 
279
293
  .varied-cell.empty-cell {
@@ -323,7 +323,7 @@
323
323
  .@{ant-prefix}-table-tbody {
324
324
  .@{ant-prefix}-table-row:nth-child(even) {
325
325
  td {
326
- background: #ffffff !important;
326
+ background: #ffffff;
327
327
  }
328
328
  }
329
329
 
@@ -1,2 +1,3 @@
1
1
  /** 判断一个值是否是空值 */
2
2
  export declare const isEmpty: (value: any) => boolean;
3
+ export declare const useFocus: (element: Element) => boolean;
package/es/utils/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import { useEffect, useState } from 'react';
1
3
  var EMPTY_VALUE = [undefined, null, ''];
2
4
  /** 判断一个值是否是空值 */
3
5
  export var isEmpty = function isEmpty(value) {
@@ -10,4 +12,28 @@ export var isEmpty = function isEmpty(value) {
10
12
  });
11
13
  }
12
14
  return false;
15
+ };
16
+ export var useFocus = function useFocus(element) {
17
+ var _useState = useState(false),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ focus = _useState2[0],
20
+ setFocus = _useState2[1];
21
+ useEffect(function () {
22
+ if (!element) return;
23
+ element.addEventListener('focus', function () {
24
+ setFocus(true);
25
+ }, true);
26
+ element.addEventListener('blur', function () {
27
+ setFocus(false);
28
+ }, true);
29
+ return function () {
30
+ element.removeEventListener('focus', function () {
31
+ setFocus(true);
32
+ }, true);
33
+ element.removeEventListener('blur', function () {
34
+ setFocus(false);
35
+ }, true);
36
+ };
37
+ }, [element]);
38
+ return focus;
13
39
  };