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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/index.esm.css +26 -16
  2. package/dist/less.esm.css +22 -14
  3. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +7 -3
  4. package/es/ProEditTable/components/RenderField/index.js +3 -2
  5. package/es/ProEditTable/index.js +23 -16
  6. package/es/ProEditTable/style/index.less +14 -2
  7. package/es/ProEnum/index.js +5 -3
  8. package/es/ProEnum/propsType.d.ts +1 -0
  9. package/es/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  10. package/es/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  11. package/es/ProForm/components/combination/Group/component/ComRender.js +12 -1
  12. package/es/ProForm/components/combination/ProModalSelect/index.js +28 -28
  13. package/es/ProForm/components/render/ChangedWrapper.js +1 -1
  14. package/es/ProForm/components/render/RenderFields.js +3 -2
  15. package/es/ProForm/components/render/propsType.d.ts +1 -0
  16. package/es/ProForm/style/index.less +10 -6
  17. package/es/ProForm/utils/diffOriginal.js +18 -12
  18. package/es/ProTable/components/FormatColumn/index.d.ts +4 -2
  19. package/es/ProTable/components/FormatColumn/index.js +54 -33
  20. package/es/ProTable/components/RenderColumn/index.d.ts +1 -2
  21. package/es/ProTable/components/RenderColumn/index.js +16 -12
  22. package/es/ProTable/components/TableResizable/index.js +1 -5
  23. package/es/ProTable/index.js +0 -1
  24. package/es/ProTable/propsType.d.ts +1 -2
  25. package/es/ProTable/utils/index.d.ts +5 -2
  26. package/es/ProTable/utils/index.js +13 -4
  27. package/es/style/theme/antd.less +4 -2
  28. package/es/utils/index.d.ts +1 -1
  29. package/es/utils/index.js +4 -1
  30. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +5 -1
  31. package/lib/ProEditTable/components/RenderField/index.js +3 -2
  32. package/lib/ProEditTable/index.js +23 -16
  33. package/lib/ProEditTable/style/index.less +14 -2
  34. package/lib/ProEnum/index.js +5 -3
  35. package/lib/ProEnum/propsType.d.ts +1 -0
  36. package/lib/ProForm/components/base/SwitchCheckbox/index.js +9 -2
  37. package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +1 -0
  38. package/lib/ProForm/components/combination/Group/component/ComRender.js +12 -1
  39. package/lib/ProForm/components/combination/ProModalSelect/index.js +27 -27
  40. package/lib/ProForm/components/render/ChangedWrapper.js +1 -1
  41. package/lib/ProForm/components/render/RenderFields.js +3 -2
  42. package/lib/ProForm/components/render/propsType.d.ts +1 -0
  43. package/lib/ProForm/style/index.less +10 -6
  44. package/lib/ProForm/utils/diffOriginal.js +18 -12
  45. package/lib/ProTable/components/FormatColumn/index.d.ts +4 -2
  46. package/lib/ProTable/components/FormatColumn/index.js +53 -32
  47. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -2
  48. package/lib/ProTable/components/RenderColumn/index.js +16 -12
  49. package/lib/ProTable/components/TableResizable/index.js +0 -4
  50. package/lib/ProTable/index.js +0 -1
  51. package/lib/ProTable/propsType.d.ts +1 -2
  52. package/lib/ProTable/utils/index.d.ts +5 -2
  53. package/lib/ProTable/utils/index.js +13 -4
  54. package/lib/style/theme/antd.less +4 -2
  55. package/lib/utils/index.d.ts +1 -1
  56. package/lib/utils/index.js +4 -1
  57. package/package.json +1 -1
@@ -7,15 +7,17 @@ exports.diffOriginal = void 0;
7
7
  var _lodash = require("lodash");
8
8
  var _utils = require("../../utils");
9
9
  // 过滤对象中undefined字段
10
- // 防止{a: '1'} {a: '1', b: undefined}被认为不相等
11
- var filterUndefined = function filterUndefined(data) {
10
+ // 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
11
+ var filterObject = function filterObject(data) {
12
12
  if (!(0, _lodash.isObject)(data) || Array.isArray(data) || data === null) return data;
13
13
  var resData = {};
14
14
  Object.keys(data).forEach(function (key) {
15
- if (data[key] !== undefined) {
15
+ if (!(0, _utils.isEmpty)(data[key])) {
16
16
  resData[key] = data[key];
17
17
  }
18
18
  });
19
+ // 空对象视为null 比较时 null undefined {} [] '' 视为相等
20
+ if (!Object.keys(resData).length) return null;
19
21
  return resData;
20
22
  };
21
23
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
@@ -26,18 +28,22 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
26
28
  // 支持传入自定义比较事件
27
29
  if ((0, _lodash.isFunction)(equalWith)) {
28
30
  var diffRes = equalWith(originalValue, value);
29
- if (diffRes === undefined) return 'same';
30
- if (typeof diffRes === 'boolean') {
31
- return diffRes ? 'same' : 'changed';
31
+ // 如果返回undefined走内置比较逻辑
32
+ if (diffRes !== undefined) {
33
+ if (typeof diffRes === 'boolean') {
34
+ return diffRes ? 'same' : 'changed';
35
+ }
36
+ return diffRes;
32
37
  }
33
- return diffRes;
34
38
  }
39
+ var _value = filterObject(value);
40
+ var _originalValue = filterObject(originalValue);
35
41
  // 如果原始值为空 且当前有值的话 认为变更类型是新增
36
- if ((0, _utils.isEmpty)(originalValue) && !(0, _utils.isEmpty)(value)) {
42
+ if ((0, _utils.isEmpty)(_originalValue) && !(0, _utils.isEmpty)(_value)) {
37
43
  return 'add';
38
44
  }
39
- if (Array.isArray(originalValue)) {
40
- var isSame = originalValue.every(function (valueItem, index) {
45
+ if (Array.isArray(_originalValue)) {
46
+ var isSame = _originalValue.every(function (valueItem, index) {
41
47
  // 如果两个值有一个不是空值, 则进行深比较
42
48
  if (!(0, _utils.isEmpty)(value === null || value === void 0 ? void 0 : value[index]) || !(0, _utils.isEmpty)(valueItem)) {
43
49
  return (0, _lodash.isEqual)(value === null || value === void 0 ? void 0 : value[index], valueItem);
@@ -46,8 +52,8 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
46
52
  });
47
53
  return isSame ? 'same' : 'changed';
48
54
  }
49
- if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
50
- return (0, _lodash.isEqual)(filterUndefined(value), filterUndefined(originalValue)) ? 'same' : 'changed';
55
+ if (!(0, _utils.isEmpty)(_originalValue) || !(0, _utils.isEmpty)(_value)) {
56
+ return (0, _lodash.isEqual)(_value, _originalValue) ? 'same' : 'changed';
51
57
  }
52
58
  return 'same';
53
59
  };
@@ -1,10 +1,12 @@
1
+ /**
2
+ * 调整点:
3
+ */
1
4
  import React from 'react';
2
5
  import { ProTableColumn } from '../../propsType';
3
- export declare const formatColumn: ({ column, originalObj, rowKey, diffToolTip, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, diffConfig, }: {
6
+ export declare const formatColumn: ({ column, originalObj, rowKey, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, diffConfig, }: {
4
7
  column: ProTableColumn;
5
8
  originalObj: any;
6
9
  rowKey: any;
7
- diffToolTip?: boolean;
8
10
  wrapToolTipProps?: any;
9
11
  scroll?: any;
10
12
  onUpdateMinWidth?: any;
@@ -21,7 +21,10 @@ var _utils2 = require("../../utils");
21
21
  var _utils3 = require("../../../utils");
22
22
  var _getEnumLabel = _interopRequireDefault(require("../../../ProEnum/utils/getEnumLabel"));
23
23
  var _ProForm = _interopRequireDefault(require("../../../ProForm"));
24
- var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "originalDiffTip", "toolTipProps", "minWidth", "onDiff"];
24
+ var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
25
+ /**
26
+ * 调整点:
27
+ */
25
28
  var isReactElement = function isReactElement(element) {
26
29
  return /*#__PURE__*/(0, _react.isValidElement)(element);
27
30
  };
@@ -56,7 +59,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
56
59
  var column = _ref2.column,
57
60
  originalObj = _ref2.originalObj,
58
61
  rowKey = _ref2.rowKey,
59
- diffToolTip = _ref2.diffToolTip,
60
62
  wrapToolTipProps = _ref2.wrapToolTipProps,
61
63
  scroll = _ref2.scroll,
62
64
  onUpdateMinWidth = _ref2.onUpdateMinWidth,
@@ -77,7 +79,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
77
79
  prefix = column.prefix,
78
80
  suffix = column.suffix,
79
81
  dataIndex = column.dataIndex,
80
- originalDiffTip = column.originalDiffTip,
81
82
  _column$toolTipProps = column.toolTipProps,
82
83
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
83
84
  minWidth = column.minWidth,
@@ -93,7 +94,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
93
94
  callback: onUpdateMinWidth
94
95
  });
95
96
  var _toolTipProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, toolTipProps), wrapToolTipProps);
96
- var _originalDiffTip = (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource) || (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.toolTip);
97
97
  // 前缀处理
98
98
  var prefixNode = function prefixNode(value, record, index) {
99
99
  if (!prefix) {
@@ -127,10 +127,13 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
127
127
  column.render = function (value, record, index) {
128
128
  var isFn = (0, _lodash.isFunction)(originalRender);
129
129
  var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
130
- var originalValue = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
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;
131
133
  var isInNewRowFlag = isInNewRow(record);
134
+ otherProps.isChanged = isChanged;
132
135
  // 存在比对
133
- if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender)) {
136
+ if ((0, _lodash.isFunction)(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
134
137
  var _originalObj$record$r;
135
138
  var diffResult = otherProps.viewRender({
136
139
  originalValue: originalValue,
@@ -139,8 +142,11 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
139
142
  record: record,
140
143
  index: index
141
144
  });
145
+ // viewRender 返回值为 false 时,不显示对比
146
+ if ((0, _lodash.isBoolean)(diffResult)) {
147
+ otherProps.isChanged = false;
148
+ }
142
149
  originalValue = diffResult;
143
- otherProps.diffChange = diffResult;
144
150
  }
145
151
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
146
152
  valueType: valueType,
@@ -150,7 +156,6 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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
@@ -177,7 +182,10 @@ 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
191
  if ((0, _utils3.isEmpty)(originalValue)) {
@@ -198,13 +206,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
198
206
  var isInNewRowFlag = isInNewRow(record);
199
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
@@ -215,7 +222,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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
231
  if ((0, _utils3.isEmpty)(originalValue)) {
@@ -236,13 +246,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
236
246
  var isInNewRowFlag = isInNewRow(record);
237
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
@@ -252,7 +261,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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':
@@ -297,13 +309,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
297
309
  var isInNewRowFlag = isInNewRow(record);
298
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
@@ -313,7 +324,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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;
@@ -338,13 +352,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
338
352
  var isInNewRowFlag = isInNewRow(record);
339
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
@@ -353,7 +366,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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,
@@ -373,13 +389,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
373
389
  var isInNewRowFlag = isInNewRow(record);
374
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
@@ -389,7 +404,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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;
@@ -428,13 +446,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
428
446
  var isInNewRowFlag = isInNewRow(record);
429
447
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), {}, {
430
448
  valueType: valueType,
431
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
449
+ originalValue: originalValue === null ? null : originalRenderValue,
432
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
@@ -461,7 +478,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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: {
@@ -475,13 +495,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
475
495
  size: 8,
476
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
@@ -490,7 +509,10 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
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)]
@@ -506,13 +528,12 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
506
528
  var isInNewRowFlag = isInNewRow(record);
507
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
@@ -6,14 +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;
16
- diffChange?: boolean;
15
+ isChanged?: boolean;
17
16
  }
18
17
  declare const RenderColumn: FC<Props>;
19
18
  export default RenderColumn;
@@ -10,6 +10,7 @@ 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");
13
14
  var _classnames = _interopRequireDefault(require("classnames"));
14
15
  var _icons = require("@ant-design/icons");
15
16
  var _reactSvg = require("react-svg");
@@ -27,7 +28,6 @@ var RenderColumn = function RenderColumn(props) {
27
28
  ellipsis = props.ellipsis,
28
29
  width = props.width,
29
30
  originalValue = props.originalValue,
30
- originalDiffTip = props.originalDiffTip,
31
31
  _props$toolTipProps = props.toolTipProps,
32
32
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
33
33
  minWidth = props.minWidth,
@@ -39,11 +39,12 @@ var RenderColumn = function RenderColumn(props) {
39
39
  tooltip = _useSetState2[0].tooltip,
40
40
  setState = _useSetState2[1];
41
41
  var cellDiffCls = (0, _classnames.default)({
42
- 'varied-cell': originalDiffTip
42
+ 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
43
43
  });
44
- if (!(0, _utils.isEmpty)(originalValue) && !isInNewRowFlag) {
44
+ // 比对场景走的逻辑
45
+ if (!isInNewRowFlag && (0, _lodash.isBoolean)(props === null || props === void 0 ? void 0 : props.isChanged)) {
45
46
  var renderNode = value ? node : '-';
46
- if (ellipsis || originalDiffTip) {
47
+ if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
47
48
  renderNode = (0, _jsxRuntime.jsx)(Text, {
48
49
  style: {
49
50
  width: currentValue === '-' ? 32.5 : width,
@@ -54,29 +55,35 @@ var RenderColumn = function RenderColumn(props) {
54
55
  },
55
56
  children: ellipsis ? currentValue : renderNode
56
57
  });
57
- if ((props === null || props === void 0 ? void 0 : props.diffChange) === false) {
58
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
58
59
  return renderNode;
59
60
  }
60
61
  if (Array.isArray(originalValue)) {
61
62
  console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
62
63
  }
64
+ var originalValueCalc = function originalValueCalc() {
65
+ if (Array.isArray(originalValue)) {
66
+ return null;
67
+ }
68
+ return !(0, _utils.isEmpty)(originalValue) ? originalValue : '-';
69
+ };
63
70
  return (0, _jsxRuntime.jsx)(_antd.Tooltip, (0, _objectSpread2.default)((0, _objectSpread2.default)({
64
71
  className: cellDiffCls,
65
72
  style: {
66
73
  width: width,
67
74
  minWidth: minWidth
68
75
  },
69
- overlayClassName: "original-value-tootip",
76
+ overlayClassName: "original-value-tooltip",
70
77
  placement: "topLeft",
71
78
  autoAdjustOverflow: false,
72
79
  title: (0, _jsxRuntime.jsx)(_antd.Space, {
73
80
  direction: "vertical",
74
81
  className: "changed-tooltip",
75
- children: originalDiffTip ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
82
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
76
83
  children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
77
84
  align: "start",
78
85
  className: "original-value-container",
79
- children: ["\u521D\u59CB\u503C\uFF1A", !Array.isArray(originalValue) ? originalValue : null]
86
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
80
87
  }), (0, _jsxRuntime.jsx)(_antd.Space, {
81
88
  className: "current-value-container",
82
89
  children: ellipsis ? (0, _jsxRuntime.jsxs)(_antd.Space, {
@@ -92,7 +99,7 @@ var RenderColumn = function RenderColumn(props) {
92
99
  children: renderNode
93
100
  }));
94
101
  }
95
- if ((props === null || props === void 0 ? void 0 : props.diffChange) === false) {
102
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
96
103
  return renderNode;
97
104
  }
98
105
  return (0, _jsxRuntime.jsx)("span", {
@@ -145,15 +152,12 @@ var RenderColumn = function RenderColumn(props) {
145
152
  range.setStart(box, 0);
146
153
  range.setEnd(box, box.childNodes.length);
147
154
  var rangeWidth = range.getBoundingClientRect().width;
148
- var rangeHeight = range.getBoundingClientRect().height;
149
- var contentWidth = rangeWidth - Math.floor(rangeWidth);
150
155
  var _getPadding = getPadding(box),
151
156
  pLeft = _getPadding.pLeft,
152
157
  pRight = _getPadding.pRight,
153
158
  pTop = _getPadding.pTop,
154
159
  pBottom = _getPadding.pBottom;
155
160
  var horizontalPadding = pLeft + pRight;
156
- var verticalPadding = pTop + pBottom;
157
161
  if (rangeWidth + horizontalPadding > box.clientWidth) {
158
162
  return true;
159
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),
@@ -221,7 +221,6 @@ var ProTable = function ProTable(props) {
221
221
  originalObj: originalObj,
222
222
  rowKey: props.rowKey,
223
223
  diffConfig: diffConfig,
224
- diffToolTip: toolTip,
225
224
  wrapToolTipProps: wrapToolTipProps,
226
225
  scroll: _scroll,
227
226
  onUpdateMinWidth: function onUpdateMinWidth(w) {
@@ -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 | {
@@ -46,7 +45,7 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
46
45
  originValue: any;
47
46
  }) => boolean;
48
47
  viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
49
- diffChange?: boolean;
48
+ isChanged?: boolean | null;
50
49
  }
51
50
  export interface CreateTreeFromArrayOptions {
52
51
  itemKey?: string;
@@ -11,9 +11,12 @@ export declare const getDecimalDigits: (num?: number) => number;
11
11
  * @param any value
12
12
  * @param any originalObj
13
13
  * @param {any} dataIndex
14
- * @return {any}
14
+ * @return {any} isChanged 返回bool值,表示存在比对
15
15
  */
16
- export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => any;
16
+ export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => {
17
+ originalValue: any;
18
+ isChanged: boolean;
19
+ };
17
20
  export declare const getColumnDataIndex: (dataIndex: string | string[]) => string;
18
21
  /**
19
22
  * 判断数据是否为Response<List<any>>结构
@@ -22,18 +22,27 @@ var getDecimalDigits = exports.getDecimalDigits = function getDecimalDigits() {
22
22
  * @param any value
23
23
  * @param any originalObj
24
24
  * @param {any} dataIndex
25
- * @return {any}
25
+ * @return {any} isChanged 返回bool值,表示存在比对
26
26
  */
27
27
  var getOriginalValue = exports.getOriginalValue = function getOriginalValue(value, record, originalObj, rowKey, dataIndex) {
28
28
  if (!originalObj) {
29
- return null;
29
+ return {
30
+ originalValue: null,
31
+ isChanged: null
32
+ };
30
33
  }
31
34
  var originalRecord = (0, _lodash.get)(originalObj, (0, _lodash.get)(record, rowKey));
32
35
  var originalValue = (0, _lodash.get)(originalRecord, dataIndex);
33
36
  if (!(0, _lodash.isEqual)(originalValue, value)) {
34
- return originalValue;
37
+ return {
38
+ originalValue: originalValue,
39
+ isChanged: true
40
+ };
35
41
  }
36
- return null;
42
+ return {
43
+ originalValue: null,
44
+ isChanged: false
45
+ };
37
46
  };
38
47
  var getColumnDataIndex = exports.getColumnDataIndex = function getColumnDataIndex(dataIndex) {
39
48
  return typeof dataIndex === 'string' ? dataIndex : dataIndex === null || dataIndex === void 0 ? void 0 : dataIndex.join('-');
@@ -280,8 +280,10 @@
280
280
  table {
281
281
  .@{ant-prefix}-table-tbody {
282
282
  .@{ant-prefix}-table-row:nth-child(even) {
283
- &:hover td {
284
- background-color: @zaui-table-hover-bg;
283
+ &:hover td,
284
+ &:hover td.@{ant-prefix}-table-cell-fix-right,
285
+ &:hover td.@{ant-prefix}-table-cell-fix-left {
286
+ background-color: @zaui-table-hover-bg !important;
285
287
  }
286
288
 
287
289
  & td,
@@ -1,3 +1,3 @@
1
1
  /** 判断一个值是否是空值 */
2
- export declare const isEmpty: (value: any) => boolean;
2
+ export declare const isEmpty: (value: any, emptyValue?: string) => boolean;
3
3
  export declare const useFocus: (element: Element) => boolean;
@@ -9,7 +9,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
9
9
  var _react = require("react");
10
10
  var EMPTY_VALUE = [undefined, null, ''];
11
11
  /** 判断一个值是否是空值 */
12
- var isEmpty = exports.isEmpty = function isEmpty(value) {
12
+ var isEmpty = exports.isEmpty = function isEmpty(value, emptyValue) {
13
+ if (emptyValue) {
14
+ EMPTY_VALUE.push(emptyValue);
15
+ }
13
16
  if (EMPTY_VALUE.includes(value)) {
14
17
  return true;
15
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.9.0-beta.9",
3
+ "version": "3.9.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",