@zat-design/sisyphus-react 3.9.0 → 3.9.1-beta.10

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 (77) hide show
  1. package/dist/index.esm.css +71 -37
  2. package/dist/less.esm.css +67 -35
  3. package/es/ProDrawerForm/components/ProDrawer/index.js +3 -1
  4. package/es/ProDrawerForm/components/ProModal/index.js +5 -3
  5. package/es/ProDrawerForm/propsType.d.ts +1 -0
  6. package/es/ProDrawerForm/style/index.less +3 -0
  7. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +7 -3
  8. package/es/ProEditTable/components/RenderField/index.js +3 -2
  9. package/es/ProEditTable/index.js +23 -16
  10. package/es/ProEditTable/style/index.less +22 -3
  11. package/es/ProEnum/index.js +10 -5
  12. package/es/ProEnum/propsType.d.ts +1 -0
  13. package/es/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  14. package/es/ProForm/components/combination/FormList/index.js +1 -1
  15. package/es/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  16. package/es/ProForm/components/combination/Group/component/ComRender.js +12 -1
  17. package/es/ProForm/components/combination/Group/index.js +4 -3
  18. package/es/ProForm/components/combination/ProCascader/index.js +7 -1
  19. package/es/ProForm/components/combination/ProModalSelect/index.js +40 -38
  20. package/es/ProForm/components/render/ChangedWrapper.js +3 -3
  21. package/es/ProForm/components/render/RenderFields.js +3 -2
  22. package/es/ProForm/components/render/propsType.d.ts +1 -0
  23. package/es/ProForm/style/index.less +12 -8
  24. package/es/ProForm/utils/diffOriginal.js +18 -12
  25. package/es/ProTable/components/FormatColumn/index.d.ts +5 -3
  26. package/es/ProTable/components/FormatColumn/index.js +93 -72
  27. package/es/ProTable/components/RenderColumn/index.d.ts +1 -1
  28. package/es/ProTable/components/RenderColumn/index.js +41 -23
  29. package/es/ProTable/components/TableResizable/index.js +1 -5
  30. package/es/ProTable/index.d.ts +6 -5
  31. package/es/ProTable/index.js +4 -6
  32. package/es/ProTable/propsType.d.ts +2 -1
  33. package/es/ProTable/style/index.less +20 -6
  34. package/es/ProTable/utils/index.d.ts +5 -2
  35. package/es/ProTable/utils/index.js +13 -4
  36. package/es/ProTree/components/ProTreeSelect/index.js +32 -13
  37. package/es/style/theme/antd.less +4 -2
  38. package/es/utils/index.d.ts +1 -1
  39. package/es/utils/index.js +4 -1
  40. package/lib/ProDrawerForm/components/ProDrawer/index.js +3 -1
  41. package/lib/ProDrawerForm/components/ProModal/index.js +5 -3
  42. package/lib/ProDrawerForm/propsType.d.ts +1 -0
  43. package/lib/ProDrawerForm/style/index.less +3 -0
  44. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +5 -1
  45. package/lib/ProEditTable/components/RenderField/index.js +3 -2
  46. package/lib/ProEditTable/index.js +23 -16
  47. package/lib/ProEditTable/style/index.less +22 -3
  48. package/lib/ProEnum/index.js +10 -5
  49. package/lib/ProEnum/propsType.d.ts +1 -0
  50. package/lib/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  51. package/lib/ProForm/components/combination/FormList/index.js +1 -1
  52. package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  53. package/lib/ProForm/components/combination/Group/component/ComRender.js +12 -1
  54. package/lib/ProForm/components/combination/Group/index.js +4 -3
  55. package/lib/ProForm/components/combination/ProCascader/index.js +7 -1
  56. package/lib/ProForm/components/combination/ProModalSelect/index.js +39 -37
  57. package/lib/ProForm/components/render/ChangedWrapper.js +3 -3
  58. package/lib/ProForm/components/render/RenderFields.js +3 -2
  59. package/lib/ProForm/components/render/propsType.d.ts +1 -0
  60. package/lib/ProForm/style/index.less +12 -8
  61. package/lib/ProForm/utils/diffOriginal.js +18 -12
  62. package/lib/ProTable/components/FormatColumn/index.d.ts +5 -3
  63. package/lib/ProTable/components/FormatColumn/index.js +92 -71
  64. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -1
  65. package/lib/ProTable/components/RenderColumn/index.js +41 -23
  66. package/lib/ProTable/components/TableResizable/index.js +0 -4
  67. package/lib/ProTable/index.d.ts +6 -5
  68. package/lib/ProTable/index.js +4 -6
  69. package/lib/ProTable/propsType.d.ts +2 -1
  70. package/lib/ProTable/style/index.less +20 -6
  71. package/lib/ProTable/utils/index.d.ts +5 -2
  72. package/lib/ProTable/utils/index.js +13 -4
  73. package/lib/ProTree/components/ProTreeSelect/index.js +31 -12
  74. package/lib/style/theme/antd.less +4 -2
  75. package/lib/utils/index.d.ts +1 -1
  76. package/lib/utils/index.js +4 -1
  77. package/package.json +2 -2
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getParentElement = exports.formatColumn = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  var _react = require("react");
11
12
  var _moment15 = _interopRequireDefault(require("moment"));
@@ -17,8 +18,13 @@ var _utils = require("@zat-design/utils");
17
18
  var _TooltipTitle = _interopRequireDefault(require("../TooltipTitle"));
18
19
  var _RenderColumn = _interopRequireDefault(require("../RenderColumn"));
19
20
  var _utils2 = require("../../utils");
21
+ var _utils3 = require("../../../utils");
20
22
  var _getEnumLabel = _interopRequireDefault(require("../../../ProEnum/utils/getEnumLabel"));
21
23
  var _ProForm = _interopRequireDefault(require("../../../ProForm"));
24
+ var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
25
+ /**
26
+ * 调整点:
27
+ */
22
28
  var isReactElement = function isReactElement(element) {
23
29
  return /*#__PURE__*/(0, _react.isValidElement)(element);
24
30
  };
@@ -52,13 +58,12 @@ var calcMinWidth = function calcMinWidth(_ref) {
52
58
  var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
53
59
  var column = _ref2.column,
54
60
  originalObj = _ref2.originalObj,
55
- dataSourceObj = _ref2.dataSourceObj,
56
61
  rowKey = _ref2.rowKey,
57
- diffToolTip = _ref2.diffToolTip,
58
62
  wrapToolTipProps = _ref2.wrapToolTipProps,
59
63
  scroll = _ref2.scroll,
60
64
  onUpdateMinWidth = _ref2.onUpdateMinWidth,
61
- isInNewRow = _ref2.isInNewRow;
65
+ isInNewRow = _ref2.isInNewRow,
66
+ diffConfig = _ref2.diffConfig;
62
67
  var title = column.title,
63
68
  valueType = column.valueType,
64
69
  _column$format = column.format,
@@ -74,12 +79,11 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
74
79
  prefix = column.prefix,
75
80
  suffix = column.suffix,
76
81
  dataIndex = column.dataIndex,
77
- _column$originalDiffT = column.originalDiffTip,
78
- originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
79
82
  _column$toolTipProps = column.toolTipProps,
80
83
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
81
84
  minWidth = column.minWidth,
82
- onDiff = column.onDiff;
85
+ onDiff = column.onDiff,
86
+ otherProps = (0, _objectWithoutProperties2.default)(column, _excluded);
83
87
  // 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
84
88
  var isMaxContentOverFlow = (0, _lodash.isObject)(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
85
89
  calcMinWidth({
@@ -90,7 +94,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
90
94
  callback: onUpdateMinWidth
91
95
  });
92
96
  var _toolTipProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, toolTipProps), wrapToolTipProps);
93
- var _originalDiffTip = diffToolTip !== null && diffToolTip !== void 0 ? diffToolTip : originalDiffTip;
94
97
  // 前缀处理
95
98
  var prefixNode = function prefixNode(value, record, index) {
96
99
  if (!prefix) {
@@ -122,39 +125,41 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
122
125
  var originalRender = column.render; // 保存原始的 render 方法
123
126
  // 自定义render 手动重载下
124
127
  column.render = function (value, record, index) {
125
- var _originalObj$record$r;
126
128
  var isFn = (0, _lodash.isFunction)(originalRender);
127
129
  var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
128
- var originalValue = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
129
- 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;
130
+ var originalResult = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
131
+ var originalValue = originalResult.originalValue;
132
+ var isChanged = originalResult.isChanged;
130
133
  var isInNewRowFlag = isInNewRow(record);
131
- var extraDiffFlag = false;
132
- // 把比对结果告诉我
133
- if (onDiff) {
134
- var isDiff = onDiff({
135
- value: record,
136
- originValue: originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]
134
+ otherProps.isChanged = isChanged;
135
+ // 存在比对
136
+ if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
137
+ var _originalObj$record$r;
138
+ var diffResult = otherProps.viewRender({
139
+ originalValue: originalValue,
140
+ originalRecord: (_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 : {},
141
+ value: value,
142
+ record: record,
143
+ index: index
137
144
  });
138
- if (!isDiff) {
139
- originalValue = null;
140
- } else {
141
- originalValue = true;
142
- extraDiffFlag = true;
145
+ // viewRender 返回值为 false 时,不显示对比
146
+ if ((0, _lodash.isBoolean)(diffResult)) {
147
+ otherProps.isChanged = false;
143
148
  }
149
+ originalValue = diffResult;
144
150
  }
145
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
151
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
146
152
  valueType: valueType,
147
- originalValue: !originalValue && originalValue !== 0 ? null : extraDiffFlag ? originalRenderValue !== null && originalRenderValue !== void 0 ? originalRenderValue : originalValue : originalRenderValue,
153
+ originalValue: (0, _utils3.isEmpty)(originalValue) ? null : originalValue,
148
154
  ellipsis: ellipsis,
149
155
  width: width,
150
156
  value: _value,
151
157
  node: _value,
152
158
  currentValue: _value,
153
- originalDiffTip: _originalDiffTip,
154
159
  toolTipProps: _toolTipProps,
155
160
  minWidth: minWidth,
156
161
  isInNewRowFlag: isInNewRowFlag
157
- });
162
+ }));
158
163
  };
159
164
  return;
160
165
  }
@@ -177,10 +182,13 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
177
182
  var multiple = valueType === 'percentage' ? 100 : 1000;
178
183
  var realValue = _utils.tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
179
184
  var renderValue = (0, _utils2.getDecimalDigits)(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
180
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
185
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
186
+ var originalValue = originalResult.originalValue;
187
+ var isChanged = originalResult.isChanged;
188
+ otherProps.isChanged = isChanged;
181
189
  var originalRealValue = _utils.tools.calc(Number(originalValue || null), '*', multiple);
182
190
  var originalRenderValue = (0, _utils2.getDecimalDigits)(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
183
- if (!originalValue && originalValue !== 0) {
191
+ if ((0, _utils3.isEmpty)(originalValue)) {
184
192
  originalRenderValue = '-';
185
193
  }
186
194
  if (!value && value !== 0 && renderValue === originalRenderValue) {
@@ -196,29 +204,31 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
196
204
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
197
205
  });
198
206
  var isInNewRowFlag = isInNewRow(record);
199
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
207
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
200
208
  valueType: valueType,
201
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
209
+ originalValue: originalValue === null ? null : originalRenderValue,
202
210
  ellipsis: ellipsis,
203
211
  width: width,
204
212
  node: node,
205
213
  value: value,
206
214
  currentValue: renderValue,
207
- originalDiffTip: _originalDiffTip,
208
215
  toolTipProps: _toolTipProps,
209
216
  minWidth: minWidth,
210
217
  isInNewRowFlag: isInNewRowFlag
211
- });
218
+ }));
212
219
  };
213
220
  // 千分位, 千分位带CNY前缀
214
221
  } else if (['thousandth', 'thousandthCNY'].includes(valueType)) {
215
222
  column.render = function (value, record, index) {
216
223
  var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
217
224
  var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
218
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
225
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
226
+ var originalValue = originalResult.originalValue;
227
+ var isChanged = originalResult.isChanged;
228
+ otherProps.isChanged = isChanged;
219
229
  var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
220
230
  var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
221
- if (!originalValue && originalValue !== 0) {
231
+ if ((0, _utils3.isEmpty)(originalValue)) {
222
232
  originalRenderValue = '-';
223
233
  }
224
234
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -234,25 +244,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
234
244
  });
235
245
  }
236
246
  var isInNewRowFlag = isInNewRow(record);
237
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
247
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
238
248
  valueType: valueType,
239
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
249
+ originalValue: originalValue === null ? null : originalRenderValue,
240
250
  ellipsis: ellipsis,
241
251
  width: width,
242
252
  node: node,
243
253
  value: value,
244
254
  currentValue: renderValue,
245
- originalDiffTip: _originalDiffTip,
246
255
  toolTipProps: _toolTipProps,
247
256
  minWidth: minWidth,
248
257
  isInNewRowFlag: isInNewRowFlag
249
- });
258
+ }));
250
259
  };
251
260
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
252
261
  column.render = function (value, record, index) {
253
262
  var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
254
263
  var renderValue = (_moment = (0, _moment15.default)(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
255
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
264
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
265
+ var originalValue = originalResult.originalValue;
266
+ var isChanged = originalResult.isChanged;
267
+ otherProps.isChanged = isChanged;
256
268
  var originalRenderValue = (_moment2 = (0, _moment15.default)(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
257
269
  switch (valueType) {
258
270
  case 'date':
@@ -295,25 +307,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
295
307
  });
296
308
  }
297
309
  var isInNewRowFlag = isInNewRow(record);
298
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
310
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
299
311
  valueType: valueType,
300
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
312
+ originalValue: originalValue === null ? null : originalRenderValue,
301
313
  ellipsis: ellipsis,
302
314
  width: width,
303
315
  node: node,
304
316
  value: value,
305
317
  currentValue: renderValue,
306
- originalDiffTip: _originalDiffTip,
307
318
  toolTipProps: _toolTipProps,
308
319
  minWidth: minWidth,
309
320
  isInNewRowFlag: isInNewRowFlag
310
- });
321
+ }));
311
322
  };
312
323
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
313
324
  column.render = function (value, record, index) {
314
325
  var realCode = typeof code === 'function' ? code(value, record) : code;
315
326
  var renderValue = (0, _getEnumLabel.default)(realCode, value, valueType === 'enumCodeName');
316
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
327
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
328
+ var originalValue = originalResult.originalValue;
329
+ var isChanged = originalResult.isChanged;
330
+ otherProps.isChanged = isChanged;
317
331
  var originalRenderValue = (0, _getEnumLabel.default)(realCode, originalValue, valueType === 'enumCodeName');
318
332
  if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
319
333
  var _column$codeValues$fi;
@@ -336,30 +350,32 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
336
350
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
337
351
  });
338
352
  var isInNewRowFlag = isInNewRow(record);
339
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
353
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
340
354
  valueType: valueType,
341
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
355
+ originalValue: originalValue === null ? null : originalRenderValue,
342
356
  ellipsis: ellipsis,
343
357
  width: width,
344
358
  node: node,
345
359
  value: value,
346
360
  currentValue: renderValue,
347
- originalDiffTip: _originalDiffTip,
348
361
  toolTipProps: _toolTipProps,
349
362
  minWidth: minWidth,
350
363
  isInNewRowFlag: isInNewRowFlag
351
- });
364
+ }));
352
365
  };
353
366
  } else if (precision || prefix || suffix) {
354
367
  column.render = function (value, record, index) {
355
368
  var renderValue = value === 'number' ? value.toFixed(precision) : value;
356
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
369
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
370
+ var originalValue = originalResult.originalValue;
371
+ var isChanged = originalResult.isChanged;
372
+ otherProps.isChanged = isChanged;
357
373
  var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
358
374
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
359
375
  size: 8,
360
376
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
361
377
  });
362
- if (!originalValue && originalValue !== 0) {
378
+ if ((0, _utils3.isEmpty)(originalValue)) {
363
379
  originalRenderValue = '-';
364
380
  }
365
381
  if (!value && value !== 0 && renderValue === originalRenderValue) {
@@ -371,25 +387,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
371
387
  });
372
388
  }
373
389
  var isInNewRowFlag = isInNewRow(record);
374
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
390
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
375
391
  valueType: valueType,
376
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
392
+ originalValue: originalValue === null ? null : originalRenderValue,
377
393
  ellipsis: ellipsis,
378
394
  width: width,
379
395
  node: node,
380
396
  value: value,
381
397
  currentValue: renderValue,
382
- originalDiffTip: _originalDiffTip,
383
398
  toolTipProps: _toolTipProps,
384
399
  minWidth: minWidth,
385
400
  isInNewRowFlag: isInNewRowFlag
386
- });
401
+ }));
387
402
  };
388
403
  } else if (valueType === 'address') {
389
404
  column.render = function (value, record, index) {
390
405
  var _realValue$filter;
391
406
  var realValue = transform ? transform(value, record) : value;
392
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
407
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
408
+ var originalValue = originalResult.originalValue;
409
+ var isChanged = originalResult.isChanged;
410
+ otherProps.isChanged = isChanged;
393
411
  var originalRealValue = transform ? transform(originalValue, record) : originalValue;
394
412
  var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
395
413
  return !!item;
@@ -426,26 +444,25 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
426
444
  tooltip: false
427
445
  });
428
446
  var isInNewRowFlag = isInNewRow(record);
429
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
447
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
430
448
  valueType: valueType,
431
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
432
- ellipsis: ellipsis !== null && ellipsis !== void 0 ? ellipsis : true,
449
+ originalValue: originalValue === null ? null : originalRenderValue,
450
+ ellipsis: ellipsis,
433
451
  width: width,
434
452
  node: renderNode,
435
453
  value: renderValue,
436
454
  currentValue: renderValue,
437
- originalDiffTip: _originalDiffTip,
438
455
  toolTipProps: _toolTipProps,
439
456
  minWidth: minWidth,
440
457
  isInNewRowFlag: isInNewRowFlag
441
- });
458
+ }));
442
459
  };
443
460
  } else if (copyable) {
444
461
  column.render = function (value, record, index) {
445
462
  var isInNewRowFlag = isInNewRow(record);
446
463
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
447
464
  size: 8,
448
- children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
465
+ children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
449
466
  valueType: valueType,
450
467
  copyable: copyable,
451
468
  ellipsis: ellipsis,
@@ -456,12 +473,15 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
456
473
  toolTipProps: _toolTipProps,
457
474
  minWidth: minWidth,
458
475
  isInNewRowFlag: isInNewRowFlag
459
- }), suffixNode(value, record, index)]
476
+ })), suffixNode(value, record, index)]
460
477
  });
461
478
  };
462
479
  } else if (ellipsis) {
463
480
  column.render = function (value, record, index) {
464
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
481
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
482
+ var originalValue = originalResult.originalValue;
483
+ var isChanged = originalResult.isChanged;
484
+ otherProps.isChanged = isChanged;
465
485
  if (!value && value !== 0 && value === originalValue) {
466
486
  (0, _jsxRuntime.jsx)("div", {
467
487
  style: {
@@ -473,24 +493,26 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
473
493
  var isInNewRowFlag = isInNewRow(record);
474
494
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
475
495
  size: 8,
476
- children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
496
+ children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
477
497
  valueType: valueType,
478
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
498
+ originalValue: originalValue === null ? null : originalValue || '-',
479
499
  ellipsis: ellipsis,
480
500
  width: width,
481
501
  node: value,
482
502
  value: value,
483
503
  currentValue: value || '-',
484
- originalDiffTip: _originalDiffTip,
485
504
  toolTipProps: _toolTipProps,
486
505
  minWidth: minWidth,
487
506
  isInNewRowFlag: isInNewRowFlag
488
- }), suffixNode(value, record, index)]
507
+ })), suffixNode(value, record, index)]
489
508
  });
490
509
  };
491
510
  } else {
492
511
  column.render = function (value, record, index) {
493
- var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
512
+ var originalResult = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
513
+ var originalValue = originalResult.originalValue;
514
+ var isChanged = originalResult.isChanged;
515
+ otherProps.isChanged = isChanged;
494
516
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
495
517
  size: 8,
496
518
  children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
@@ -504,19 +526,18 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
504
526
  });
505
527
  }
506
528
  var isInNewRowFlag = isInNewRow(record);
507
- return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
529
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
508
530
  valueType: valueType,
509
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
531
+ originalValue: originalValue === null ? null : originalValue || '-',
510
532
  ellipsis: ellipsis,
511
533
  width: width,
512
534
  node: node,
513
535
  value: value,
514
536
  currentValue: value || '-',
515
- originalDiffTip: _originalDiffTip,
516
537
  toolTipProps: _toolTipProps,
517
538
  minWidth: minWidth,
518
539
  isInNewRowFlag: isInNewRowFlag
519
- });
540
+ }));
520
541
  };
521
542
  }
522
543
  };
@@ -6,13 +6,13 @@ interface Props {
6
6
  value?: any;
7
7
  currentValue?: any;
8
8
  copyable?: boolean;
9
- originalDiffTip?: boolean;
10
9
  ellipsis?: any;
11
10
  width?: number | string;
12
11
  originalValue?: any;
13
12
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
14
13
  minWidth?: number;
15
14
  isInNewRowFlag?: boolean;
15
+ isChanged?: boolean;
16
16
  }
17
17
  declare const RenderColumn: FC<Props>;
18
18
  export default RenderColumn;
@@ -10,8 +10,11 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
11
  var _antd = require("antd");
12
12
  var _ahooks = require("ahooks");
13
+ var _lodash = require("lodash");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
13
15
  var _icons = require("@ant-design/icons");
14
16
  var _reactSvg = require("react-svg");
17
+ var _utils = require("../../../utils");
15
18
  var _copy = _interopRequireDefault(require("../../../assets/copy.svg"));
16
19
  var Paragraph = _antd.Typography.Paragraph,
17
20
  Text = _antd.Typography.Text;
@@ -25,7 +28,6 @@ var RenderColumn = function RenderColumn(props) {
25
28
  ellipsis = props.ellipsis,
26
29
  width = props.width,
27
30
  originalValue = props.originalValue,
28
- originalDiffTip = props.originalDiffTip,
29
31
  _props$toolTipProps = props.toolTipProps,
30
32
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
31
33
  minWidth = props.minWidth,
@@ -36,39 +38,55 @@ var RenderColumn = function RenderColumn(props) {
36
38
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
37
39
  tooltip = _useSetState2[0].tooltip,
38
40
  setState = _useSetState2[1];
39
- if ((originalValue || originalValue === 0) && !isInNewRowFlag) {
41
+ var cellDiffCls = (0, _classnames.default)({
42
+ 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
43
+ });
44
+ // 比对场景走的逻辑
45
+ if (!isInNewRowFlag && (0, _lodash.isBoolean)(props === null || props === void 0 ? void 0 : props.isChanged)) {
40
46
  var renderNode = value ? node : '-';
41
- if (ellipsis || originalDiffTip) {
42
- if (ellipsis) {
43
- renderNode = (0, _jsxRuntime.jsx)(Text, {
44
- style: {
45
- width: currentValue === '-' ? 32.5 : width,
46
- minWidth: minWidth
47
- },
48
- ellipsis: {
49
- tooltip: false
50
- },
51
- children: ellipsis ? currentValue : renderNode
52
- });
47
+ if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
48
+ renderNode = (0, _jsxRuntime.jsx)(Text, {
49
+ style: {
50
+ width: currentValue === '-' ? 32.5 : width,
51
+ minWidth: minWidth
52
+ },
53
+ ellipsis: {
54
+ tooltip: false
55
+ },
56
+ children: ellipsis ? currentValue : renderNode
57
+ });
58
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
59
+ return renderNode;
60
+ }
61
+ if (Array.isArray(originalValue)) {
62
+ console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
53
63
  }
64
+ var originalValueCalc = function originalValueCalc() {
65
+ if (Array.isArray(originalValue)) {
66
+ return null;
67
+ }
68
+ return !(0, _utils.isEmpty)(originalValue) ? originalValue : '-';
69
+ };
54
70
  return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
55
- className: "varied-cell",
71
+ className: cellDiffCls,
56
72
  style: {
57
73
  width: width,
58
74
  minWidth: minWidth
59
75
  },
60
- overlayClassName: "original-value-tootip",
76
+ overlayClassName: "original-value-tooltip",
77
+ placement: "topLeft",
78
+ autoAdjustOverflow: false,
61
79
  title: (0, _jsxRuntime.jsx)(_antd.Space, {
62
80
  direction: "vertical",
63
81
  className: "changed-tooltip",
64
- children: originalDiffTip ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
82
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
65
83
  children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
66
84
  align: "start",
67
85
  className: "original-value-container",
68
- children: ["\u521D\u59CB\u503C\uFF1A", originalValue]
86
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
69
87
  }), (0, _jsxRuntime.jsx)(_antd.Space, {
70
88
  className: "current-value-container",
71
- children: ellipsis ? (0, _jsxRuntime.jsxs)("span", {
89
+ children: ellipsis ? (0, _jsxRuntime.jsxs)(_antd.Space, {
72
90
  children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
73
91
  }) : null
74
92
  })]
@@ -81,8 +99,11 @@ var RenderColumn = function RenderColumn(props) {
81
99
  children: renderNode
82
100
  }));
83
101
  }
102
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
103
+ return renderNode;
104
+ }
84
105
  return (0, _jsxRuntime.jsx)("span", {
85
- className: "varied-cell",
106
+ className: cellDiffCls,
86
107
  style: {
87
108
  width: width,
88
109
  minWidth: minWidth
@@ -131,15 +152,12 @@ var RenderColumn = function RenderColumn(props) {
131
152
  range.setStart(box, 0);
132
153
  range.setEnd(box, box.childNodes.length);
133
154
  var rangeWidth = range.getBoundingClientRect().width;
134
- var rangeHeight = range.getBoundingClientRect().height;
135
- var contentWidth = rangeWidth - Math.floor(rangeWidth);
136
155
  var _getPadding = getPadding(box),
137
156
  pLeft = _getPadding.pLeft,
138
157
  pRight = _getPadding.pRight,
139
158
  pTop = _getPadding.pTop,
140
159
  pBottom = _getPadding.pBottom;
141
160
  var horizontalPadding = pLeft + pRight;
142
- var verticalPadding = pTop + pBottom;
143
161
  if (rangeWidth + horizontalPadding > box.clientWidth) {
144
162
  return true;
145
163
  }
@@ -12,7 +12,6 @@ var _jsxRuntime = require("react/jsx-runtime");
12
12
  var _react = require("react");
13
13
  var _reactResizable = require("react-resizable");
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
- var _index = require("../../index");
16
15
  var _FormatColumn = require("../FormatColumn");
17
16
  var _excluded = ["onDrag", "width", "minwidth"];
18
17
  var ResizableTitle = function ResizableTitle(props) {
@@ -22,9 +21,6 @@ var ResizableTitle = function ResizableTitle(props) {
22
21
  _props$minwidth = props.minwidth,
23
22
  minwidth = _props$minwidth === void 0 ? 50 : _props$minwidth,
24
23
  restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
25
- var _useContext = (0, _react.useContext)(_index.TableContext),
26
- tableConfig = _useContext.tableConfig,
27
- Storage = _useContext.Storage;
28
24
  // 添加偏移量
29
25
  var _useState = (0, _react.useState)(0),
30
26
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -1,19 +1,20 @@
1
1
  /// <reference types="react" />
2
2
  import { ProTableProps } from './propsType';
3
+ import useAntdTable from './hooks/useAntdTable';
3
4
  export declare const TableContext: import("react").Context<{}>;
4
5
  export declare const defaultPage: {
5
6
  pageNum: number;
6
7
  pageSize: number;
7
8
  };
8
- declare function ProTable(props: ProTableProps): import("react/jsx-runtime").JSX.Element;
9
- declare namespace ProTable {
10
- var defaultProps: {
9
+ declare const ProTable: {
10
+ (props: ProTableProps): import("react/jsx-runtime").JSX.Element;
11
+ defaultProps: {
11
12
  quickConfig: boolean;
12
13
  stripe: boolean;
13
14
  draggable: boolean;
14
15
  disabled: boolean;
15
16
  isView: boolean;
16
17
  };
17
- var useAntdTable: typeof import("./hooks/useAntdTable").default;
18
- }
18
+ useAntdTable: typeof useAntdTable;
19
+ };
19
20
  export default ProTable;
@@ -36,7 +36,7 @@ var defaultPage = exports.defaultPage = {
36
36
  pageNum: 1,
37
37
  pageSize: 10
38
38
  };
39
- function ProTable(props) {
39
+ var ProTable = function ProTable(props) {
40
40
  var _locale$ProTable, _props$scroll, _curTableConfig$pathK;
41
41
  var _ref = (0, _index.useProConfig)('globalConfig') || {},
42
42
  configStorage = _ref.storage; // 获取全局缓存位置配置
@@ -121,7 +121,6 @@ function ProTable(props) {
121
121
  });
122
122
  });
123
123
  var originalObj = _originalDataSource ? (0, _lodash.keyBy)(_originalDataSource, 'rowKey') : undefined;
124
- var dataSourceObj = _dataSource ? (0, _lodash.keyBy)(_dataSource, 'rowKey') : {};
125
124
  var propsColumnObj = (0, _react.useMemo)(function () {
126
125
  return propsColumns.reduce(function (acc, cur) {
127
126
  // @ts-ignore
@@ -220,9 +219,8 @@ function ProTable(props) {
220
219
  (0, _FormatColumn.formatColumn)({
221
220
  column: item,
222
221
  originalObj: originalObj,
223
- dataSourceObj: dataSourceObj,
224
- rowKey: 'rowKey',
225
- diffToolTip: toolTip,
222
+ rowKey: props.rowKey,
223
+ diffConfig: diffConfig,
226
224
  wrapToolTipProps: wrapToolTipProps,
227
225
  scroll: _scroll,
228
226
  onUpdateMinWidth: function onUpdateMinWidth(w) {
@@ -454,7 +452,7 @@ function ProTable(props) {
454
452
  })]
455
453
  })
456
454
  });
457
- }
455
+ };
458
456
  ProTable.defaultProps = {
459
457
  quickConfig: false,
460
458
  stripe: true,
@@ -31,7 +31,6 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
31
31
  value: string | number;
32
32
  }[];
33
33
  copyable?: boolean;
34
- originalDiffTip?: boolean;
35
34
  prefix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
36
35
  suffix?: string | ReactNode | ((value: any, record?: any, index?: number) => any);
37
36
  tooltip?: ReactNode | {
@@ -45,6 +44,8 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
45
44
  value: any;
46
45
  originValue: any;
47
46
  }) => boolean;
47
+ viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
48
+ isChanged?: boolean | null;
48
49
  }
49
50
  export interface CreateTreeFromArrayOptions {
50
51
  itemKey?: string;