@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
@@ -102,7 +102,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
102
102
  getPopupContainer: function getPopupContainer(trigger) {
103
103
  return scrollFollowParent ? trigger.parentElement : document.body;
104
104
  },
105
- overlayClassName: "original-value-tootip",
105
+ overlayClassName: "original-value-tooltip",
106
106
  placement: "topLeft",
107
107
  autoAdjustOverflow: false,
108
108
  title: _jsxs(_Space, {
@@ -1,6 +1,6 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "clearNotShow", "required", "confirm"];
3
+ var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "onDiff", "clearNotShow", "required", "confirm"];
4
4
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { isBoolean, isFunction, union, isString } from 'lodash';
@@ -69,6 +69,7 @@ var RenderFields = function RenderFields(props) {
69
69
  _column$fieldProps = column.fieldProps,
70
70
  fieldProps = _column$fieldProps === void 0 ? {} : _column$fieldProps,
71
71
  equalWith = column.equalWith,
72
+ onDiff = column.onDiff,
72
73
  _column$clearNotShow = column.clearNotShow,
73
74
  clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
74
75
  columnRequired = column.required,
@@ -208,7 +209,7 @@ var RenderFields = function RenderFields(props) {
208
209
  fieldProps: isFunction(fieldProps) ? fieldProps : null,
209
210
  isSelect: _isSelect,
210
211
  diffConfig: diffConfig,
211
- equalWith: equalWith,
212
+ equalWith: onDiff || equalWith,
212
213
  requiredOnView: requiredOnView,
213
214
  globalControl: globalControl,
214
215
  viewRender: viewRender
@@ -207,6 +207,7 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
207
207
  hiddenNames?: string[] | any[];
208
208
  rules?: ProRule[] | ReactiveFunction<Values, ProRule[]>;
209
209
  equalWith?: DiffOriginalParams['equalWith'];
210
+ onDiff?: DiffOriginalParams['equalWith'];
210
211
  required?: boolean | boolean[] | ReactiveFunction<Values, boolean | boolean[]>;
211
212
  labelRequired?: boolean;
212
213
  toISOString?: boolean;
@@ -385,7 +385,7 @@
385
385
  }
386
386
 
387
387
  // checkbox
388
- .@{ant-prefix}-checkbox-group {
388
+ .@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
389
389
  padding: 5px 0
390
390
  }
391
391
  // switch
@@ -412,7 +412,7 @@
412
412
  background: @zaui-contract-bg-add !important;
413
413
 
414
414
  .@{ant-prefix}-input {
415
- background: @zaui-contract-bg !important;
415
+ background: @zaui-contract-bg-add !important;
416
416
  }
417
417
 
418
418
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
@@ -463,7 +463,7 @@
463
463
  }
464
464
 
465
465
  // checkbox
466
- .@{ant-prefix}-checkbox-group {
466
+ .@{ant-prefix}-checkbox-group,.pro-switch-checkbox {
467
467
  padding: 5px 0
468
468
  }
469
469
  // switch
@@ -485,10 +485,8 @@
485
485
  }
486
486
  }
487
487
 
488
- .original-value-tootip{
489
- max-width: 100%;
488
+ .original-value-tooltip{
490
489
  width: max-content;
491
- position: fixed;
492
490
  .changed-tooltip {
493
491
  .original-value-container {
494
492
  .ant-space-item:nth-child(1) {
@@ -511,3 +509,9 @@
511
509
  }
512
510
  }
513
511
 
512
+ .original-value-tooltip-fixed {
513
+ position: fixed;
514
+ }
515
+
516
+
517
+
@@ -1,15 +1,17 @@
1
1
  import { isEqual, isFunction, isObject } from 'lodash';
2
2
  import { isEmpty } from '../../utils';
3
3
  // 过滤对象中undefined字段
4
- // 防止{a: '1'} {a: '1', b: undefined}被认为不相等
5
- var filterUndefined = function filterUndefined(data) {
4
+ // 防止{a: '1'} {a: '1', b: undefined | null}被认为不相等
5
+ var filterObject = function filterObject(data) {
6
6
  if (!isObject(data) || Array.isArray(data) || data === null) return data;
7
7
  var resData = {};
8
8
  Object.keys(data).forEach(function (key) {
9
- if (data[key] !== undefined) {
9
+ if (!isEmpty(data[key])) {
10
10
  resData[key] = data[key];
11
11
  }
12
12
  });
13
+ // 空对象视为null 比较时 null undefined {} [] '' 视为相等
14
+ if (!Object.keys(resData).length) return null;
13
15
  return resData;
14
16
  };
15
17
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
@@ -20,18 +22,22 @@ export var diffOriginal = function diffOriginal(params) {
20
22
  // 支持传入自定义比较事件
21
23
  if (isFunction(equalWith)) {
22
24
  var diffRes = equalWith(originalValue, value);
23
- if (diffRes === undefined) return 'same';
24
- if (typeof diffRes === 'boolean') {
25
- return diffRes ? 'same' : 'changed';
25
+ // 如果返回undefined走内置比较逻辑
26
+ if (diffRes !== undefined) {
27
+ if (typeof diffRes === 'boolean') {
28
+ return diffRes ? 'same' : 'changed';
29
+ }
30
+ return diffRes;
26
31
  }
27
- return diffRes;
28
32
  }
33
+ var _value = filterObject(value);
34
+ var _originalValue = filterObject(originalValue);
29
35
  // 如果原始值为空 且当前有值的话 认为变更类型是新增
30
- if (isEmpty(originalValue) && !isEmpty(value)) {
36
+ if (isEmpty(_originalValue) && !isEmpty(_value)) {
31
37
  return 'add';
32
38
  }
33
- if (Array.isArray(originalValue)) {
34
- var isSame = originalValue.every(function (valueItem, index) {
39
+ if (Array.isArray(_originalValue)) {
40
+ var isSame = _originalValue.every(function (valueItem, index) {
35
41
  // 如果两个值有一个不是空值, 则进行深比较
36
42
  if (!isEmpty(value === null || value === void 0 ? void 0 : value[index]) || !isEmpty(valueItem)) {
37
43
  return isEqual(value === null || value === void 0 ? void 0 : value[index], valueItem);
@@ -40,8 +46,8 @@ export var diffOriginal = function diffOriginal(params) {
40
46
  });
41
47
  return isSame ? 'same' : 'changed';
42
48
  }
43
- if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
44
- return isEqual(filterUndefined(value), filterUndefined(originalValue)) ? 'same' : 'changed';
49
+ if (!isEmpty(_originalValue) || !isEmpty(_value)) {
50
+ return isEqual(_value, _originalValue) ? 'same' : 'changed';
45
51
  }
46
52
  return 'same';
47
53
  };
@@ -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;
@@ -2,13 +2,16 @@ import "antd/es/space/style";
2
2
  import _Space from "antd/es/space";
3
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "originalDiffTip", "toolTipProps", "minWidth", "onDiff"];
5
+ var _excluded = ["title", "valueType", "format", "precision", "ellipsis", "code", "copyable", "width", "tooltip", "transform", "prefix", "suffix", "dataIndex", "toolTipProps", "minWidth", "onDiff"];
6
6
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ /**
8
+ * 调整点:
9
+ */
7
10
  import { isValidElement } from 'react';
8
11
  import moment from 'moment';
9
12
  import classnames from 'classnames';
10
13
  import ReactDOM from 'react-dom';
11
- import { isEqual, isFunction, isString, isObject } from 'lodash';
14
+ import { isEqual, isFunction, isString, isObject, isBoolean } from 'lodash';
12
15
  import { tools } from '@zat-design/utils';
13
16
  import TooltipTitle from '../TooltipTitle';
14
17
  import RenderColumn from '../RenderColumn';
@@ -50,7 +53,6 @@ export var formatColumn = function formatColumn(_ref2) {
50
53
  var column = _ref2.column,
51
54
  originalObj = _ref2.originalObj,
52
55
  rowKey = _ref2.rowKey,
53
- diffToolTip = _ref2.diffToolTip,
54
56
  wrapToolTipProps = _ref2.wrapToolTipProps,
55
57
  scroll = _ref2.scroll,
56
58
  onUpdateMinWidth = _ref2.onUpdateMinWidth,
@@ -71,7 +73,6 @@ export var formatColumn = function formatColumn(_ref2) {
71
73
  prefix = column.prefix,
72
74
  suffix = column.suffix,
73
75
  dataIndex = column.dataIndex,
74
- originalDiffTip = column.originalDiffTip,
75
76
  _column$toolTipProps = column.toolTipProps,
76
77
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
77
78
  minWidth = column.minWidth,
@@ -87,7 +88,6 @@ export var formatColumn = function formatColumn(_ref2) {
87
88
  callback: onUpdateMinWidth
88
89
  });
89
90
  var _toolTipProps = _objectSpread(_objectSpread({}, toolTipProps), wrapToolTipProps);
90
- var _originalDiffTip = (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource) || (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.toolTip);
91
91
  // 前缀处理
92
92
  var prefixNode = function prefixNode(value, record, index) {
93
93
  if (!prefix) {
@@ -121,10 +121,13 @@ export var formatColumn = function formatColumn(_ref2) {
121
121
  column.render = function (value, record, index) {
122
122
  var isFn = isFunction(originalRender);
123
123
  var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
124
- var originalValue = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
124
+ var originalResult = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
125
+ var originalValue = originalResult.originalValue;
126
+ var isChanged = originalResult.isChanged;
125
127
  var isInNewRowFlag = isInNewRow(record);
128
+ otherProps.isChanged = isChanged;
126
129
  // 存在比对
127
- if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender)) {
130
+ if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
128
131
  var _originalObj$record$r;
129
132
  var diffResult = otherProps.viewRender({
130
133
  originalValue: originalValue,
@@ -133,8 +136,11 @@ export var formatColumn = function formatColumn(_ref2) {
133
136
  record: record,
134
137
  index: index
135
138
  });
139
+ // viewRender 返回值为 false 时,不显示对比
140
+ if (isBoolean(diffResult)) {
141
+ otherProps.isChanged = false;
142
+ }
136
143
  originalValue = diffResult;
137
- otherProps.diffChange = diffResult;
138
144
  }
139
145
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
140
146
  valueType: valueType,
@@ -144,7 +150,6 @@ export var formatColumn = function formatColumn(_ref2) {
144
150
  value: _value,
145
151
  node: _value,
146
152
  currentValue: _value,
147
- originalDiffTip: _originalDiffTip,
148
153
  toolTipProps: _toolTipProps,
149
154
  minWidth: minWidth,
150
155
  isInNewRowFlag: isInNewRowFlag
@@ -171,7 +176,10 @@ export var formatColumn = function formatColumn(_ref2) {
171
176
  var multiple = valueType === 'percentage' ? 100 : 1000;
172
177
  var realValue = tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
173
178
  var renderValue = getDecimalDigits(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
174
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
179
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
180
+ var originalValue = originalResult.originalValue;
181
+ var isChanged = originalResult.isChanged;
182
+ otherProps.isChanged = isChanged;
175
183
  var originalRealValue = tools.calc(Number(originalValue || null), '*', multiple);
176
184
  var originalRenderValue = getDecimalDigits(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
177
185
  if (isEmpty(originalValue)) {
@@ -192,13 +200,12 @@ export var formatColumn = function formatColumn(_ref2) {
192
200
  var isInNewRowFlag = isInNewRow(record);
193
201
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
194
202
  valueType: valueType,
195
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
203
+ originalValue: originalValue === null ? null : originalRenderValue,
196
204
  ellipsis: ellipsis,
197
205
  width: width,
198
206
  node: node,
199
207
  value: value,
200
208
  currentValue: renderValue,
201
- originalDiffTip: _originalDiffTip,
202
209
  toolTipProps: _toolTipProps,
203
210
  minWidth: minWidth,
204
211
  isInNewRowFlag: isInNewRowFlag
@@ -209,7 +216,10 @@ export var formatColumn = function formatColumn(_ref2) {
209
216
  column.render = function (value, record, index) {
210
217
  var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
211
218
  var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
212
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
219
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
220
+ var originalValue = originalResult.originalValue;
221
+ var isChanged = originalResult.isChanged;
222
+ otherProps.isChanged = isChanged;
213
223
  var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
214
224
  var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
215
225
  if (isEmpty(originalValue)) {
@@ -230,13 +240,12 @@ export var formatColumn = function formatColumn(_ref2) {
230
240
  var isInNewRowFlag = isInNewRow(record);
231
241
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
232
242
  valueType: valueType,
233
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
243
+ originalValue: originalValue === null ? null : originalRenderValue,
234
244
  ellipsis: ellipsis,
235
245
  width: width,
236
246
  node: node,
237
247
  value: value,
238
248
  currentValue: renderValue,
239
- originalDiffTip: _originalDiffTip,
240
249
  toolTipProps: _toolTipProps,
241
250
  minWidth: minWidth,
242
251
  isInNewRowFlag: isInNewRowFlag
@@ -246,7 +255,10 @@ export var formatColumn = function formatColumn(_ref2) {
246
255
  column.render = function (value, record, index) {
247
256
  var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
248
257
  var renderValue = (_moment = moment(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
249
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
258
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
259
+ var originalValue = originalResult.originalValue;
260
+ var isChanged = originalResult.isChanged;
261
+ otherProps.isChanged = isChanged;
250
262
  var originalRenderValue = (_moment2 = moment(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
251
263
  switch (valueType) {
252
264
  case 'date':
@@ -291,13 +303,12 @@ export var formatColumn = function formatColumn(_ref2) {
291
303
  var isInNewRowFlag = isInNewRow(record);
292
304
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
293
305
  valueType: valueType,
294
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
306
+ originalValue: originalValue === null ? null : originalRenderValue,
295
307
  ellipsis: ellipsis,
296
308
  width: width,
297
309
  node: node,
298
310
  value: value,
299
311
  currentValue: renderValue,
300
- originalDiffTip: _originalDiffTip,
301
312
  toolTipProps: _toolTipProps,
302
313
  minWidth: minWidth,
303
314
  isInNewRowFlag: isInNewRowFlag
@@ -307,7 +318,10 @@ export var formatColumn = function formatColumn(_ref2) {
307
318
  column.render = function (value, record, index) {
308
319
  var realCode = typeof code === 'function' ? code(value, record) : code;
309
320
  var renderValue = getEnumLabel(realCode, value, valueType === 'enumCodeName');
310
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
321
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
322
+ var originalValue = originalResult.originalValue;
323
+ var isChanged = originalResult.isChanged;
324
+ otherProps.isChanged = isChanged;
311
325
  var originalRenderValue = getEnumLabel(realCode, originalValue, valueType === 'enumCodeName');
312
326
  if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
313
327
  var _column$codeValues$fi;
@@ -332,13 +346,12 @@ export var formatColumn = function formatColumn(_ref2) {
332
346
  var isInNewRowFlag = isInNewRow(record);
333
347
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
334
348
  valueType: valueType,
335
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
349
+ originalValue: originalValue === null ? null : originalRenderValue,
336
350
  ellipsis: ellipsis,
337
351
  width: width,
338
352
  node: node,
339
353
  value: value,
340
354
  currentValue: renderValue,
341
- originalDiffTip: _originalDiffTip,
342
355
  toolTipProps: _toolTipProps,
343
356
  minWidth: minWidth,
344
357
  isInNewRowFlag: isInNewRowFlag
@@ -347,7 +360,10 @@ export var formatColumn = function formatColumn(_ref2) {
347
360
  } else if (precision || prefix || suffix) {
348
361
  column.render = function (value, record, index) {
349
362
  var renderValue = value === 'number' ? value.toFixed(precision) : value;
350
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
363
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
364
+ var originalValue = originalResult.originalValue;
365
+ var isChanged = originalResult.isChanged;
366
+ otherProps.isChanged = isChanged;
351
367
  var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
352
368
  var node = _jsxs(_Space, {
353
369
  size: 8,
@@ -367,13 +383,12 @@ export var formatColumn = function formatColumn(_ref2) {
367
383
  var isInNewRowFlag = isInNewRow(record);
368
384
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
369
385
  valueType: valueType,
370
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
386
+ originalValue: originalValue === null ? null : originalRenderValue,
371
387
  ellipsis: ellipsis,
372
388
  width: width,
373
389
  node: node,
374
390
  value: value,
375
391
  currentValue: renderValue,
376
- originalDiffTip: _originalDiffTip,
377
392
  toolTipProps: _toolTipProps,
378
393
  minWidth: minWidth,
379
394
  isInNewRowFlag: isInNewRowFlag
@@ -383,7 +398,10 @@ export var formatColumn = function formatColumn(_ref2) {
383
398
  column.render = function (value, record, index) {
384
399
  var _realValue$filter;
385
400
  var realValue = transform ? transform(value, record) : value;
386
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
401
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
402
+ var originalValue = originalResult.originalValue;
403
+ var isChanged = originalResult.isChanged;
404
+ otherProps.isChanged = isChanged;
387
405
  var originalRealValue = transform ? transform(originalValue, record) : originalValue;
388
406
  var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
389
407
  return !!item;
@@ -422,13 +440,12 @@ export var formatColumn = function formatColumn(_ref2) {
422
440
  var isInNewRowFlag = isInNewRow(record);
423
441
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
424
442
  valueType: valueType,
425
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
443
+ originalValue: originalValue === null ? null : originalRenderValue,
426
444
  ellipsis: ellipsis,
427
445
  width: width,
428
446
  node: renderNode,
429
447
  value: renderValue,
430
448
  currentValue: renderValue,
431
- originalDiffTip: _originalDiffTip,
432
449
  toolTipProps: _toolTipProps,
433
450
  minWidth: minWidth,
434
451
  isInNewRowFlag: isInNewRowFlag
@@ -455,7 +472,10 @@ export var formatColumn = function formatColumn(_ref2) {
455
472
  };
456
473
  } else if (ellipsis) {
457
474
  column.render = function (value, record, index) {
458
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
475
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
476
+ var originalValue = originalResult.originalValue;
477
+ var isChanged = originalResult.isChanged;
478
+ otherProps.isChanged = isChanged;
459
479
  if (!value && value !== 0 && value === originalValue) {
460
480
  _jsx("div", {
461
481
  style: {
@@ -469,13 +489,12 @@ export var formatColumn = function formatColumn(_ref2) {
469
489
  size: 8,
470
490
  children: [prefixNode(value, record, index), _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
471
491
  valueType: valueType,
472
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
492
+ originalValue: originalValue === null ? null : originalValue || '-',
473
493
  ellipsis: ellipsis,
474
494
  width: width,
475
495
  node: value,
476
496
  value: value,
477
497
  currentValue: value || '-',
478
- originalDiffTip: _originalDiffTip,
479
498
  toolTipProps: _toolTipProps,
480
499
  minWidth: minWidth,
481
500
  isInNewRowFlag: isInNewRowFlag
@@ -484,7 +503,10 @@ export var formatColumn = function formatColumn(_ref2) {
484
503
  };
485
504
  } else {
486
505
  column.render = function (value, record, index) {
487
- var originalValue = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
506
+ var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
507
+ var originalValue = originalResult.originalValue;
508
+ var isChanged = originalResult.isChanged;
509
+ otherProps.isChanged = isChanged;
488
510
  var node = _jsxs(_Space, {
489
511
  size: 8,
490
512
  children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
@@ -500,13 +522,12 @@ export var formatColumn = function formatColumn(_ref2) {
500
522
  var isInNewRowFlag = isInNewRow(record);
501
523
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
502
524
  valueType: valueType,
503
- originalValue: originalValue === undefined ? undefined : originalValue || '-',
525
+ originalValue: originalValue === null ? null : originalValue || '-',
504
526
  ellipsis: ellipsis,
505
527
  width: width,
506
528
  node: node,
507
529
  value: value,
508
530
  currentValue: value || '-',
509
- originalDiffTip: _originalDiffTip,
510
531
  toolTipProps: _toolTipProps,
511
532
  minWidth: minWidth,
512
533
  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;
@@ -8,6 +8,7 @@ import "antd/es/typography/style";
8
8
  import _Typography from "antd/es/typography";
9
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
10
  import { useSetState } from 'ahooks';
11
+ import { isBoolean } from 'lodash';
11
12
  import classNames from 'classnames';
12
13
  import { CheckOutlined } from '@ant-design/icons';
13
14
  import { ReactSVG } from 'react-svg';
@@ -25,7 +26,6 @@ var RenderColumn = function RenderColumn(props) {
25
26
  ellipsis = props.ellipsis,
26
27
  width = props.width,
27
28
  originalValue = props.originalValue,
28
- originalDiffTip = props.originalDiffTip,
29
29
  _props$toolTipProps = props.toolTipProps,
30
30
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
31
31
  minWidth = props.minWidth,
@@ -37,11 +37,12 @@ var RenderColumn = function RenderColumn(props) {
37
37
  tooltip = _useSetState2[0].tooltip,
38
38
  setState = _useSetState2[1];
39
39
  var cellDiffCls = classNames({
40
- 'varied-cell': originalDiffTip
40
+ 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
41
41
  });
42
- if (!isEmpty(originalValue) && !isInNewRowFlag) {
42
+ // 比对场景走的逻辑
43
+ if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
43
44
  var renderNode = value ? node : '-';
44
- if (ellipsis || originalDiffTip) {
45
+ if (ellipsis || (props === null || props === void 0 ? void 0 : props.isChanged)) {
45
46
  renderNode = _jsx(Text, {
46
47
  style: {
47
48
  width: currentValue === '-' ? 32.5 : width,
@@ -52,29 +53,35 @@ var RenderColumn = function RenderColumn(props) {
52
53
  },
53
54
  children: ellipsis ? currentValue : renderNode
54
55
  });
55
- if ((props === null || props === void 0 ? void 0 : props.diffChange) === false) {
56
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
56
57
  return renderNode;
57
58
  }
58
59
  if (Array.isArray(originalValue)) {
59
60
  console.error('Error: When enabled, dataIndex corresponds to an array, which needs to be converted using viewRender');
60
61
  }
62
+ var originalValueCalc = function originalValueCalc() {
63
+ if (Array.isArray(originalValue)) {
64
+ return null;
65
+ }
66
+ return !isEmpty(originalValue) ? originalValue : '-';
67
+ };
61
68
  return _jsx(_Tooltip, _objectSpread(_objectSpread({
62
69
  className: cellDiffCls,
63
70
  style: {
64
71
  width: width,
65
72
  minWidth: minWidth
66
73
  },
67
- overlayClassName: "original-value-tootip",
74
+ overlayClassName: "original-value-tooltip",
68
75
  placement: "topLeft",
69
76
  autoAdjustOverflow: false,
70
77
  title: _jsx(_Space, {
71
78
  direction: "vertical",
72
79
  className: "changed-tooltip",
73
- children: originalDiffTip ? _jsxs(_Fragment, {
80
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
74
81
  children: [_jsxs(_Space, {
75
82
  align: "start",
76
83
  className: "original-value-container",
77
- children: ["\u521D\u59CB\u503C\uFF1A", !Array.isArray(originalValue) ? originalValue : null]
84
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValueCalc()]
78
85
  }), _jsx(_Space, {
79
86
  className: "current-value-container",
80
87
  children: ellipsis ? _jsxs(_Space, {
@@ -90,7 +97,7 @@ var RenderColumn = function RenderColumn(props) {
90
97
  children: renderNode
91
98
  }));
92
99
  }
93
- if ((props === null || props === void 0 ? void 0 : props.diffChange) === false) {
100
+ if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
94
101
  return renderNode;
95
102
  }
96
103
  return _jsx("span", {
@@ -143,15 +150,12 @@ var RenderColumn = function RenderColumn(props) {
143
150
  range.setStart(box, 0);
144
151
  range.setEnd(box, box.childNodes.length);
145
152
  var rangeWidth = range.getBoundingClientRect().width;
146
- var rangeHeight = range.getBoundingClientRect().height;
147
- var contentWidth = rangeWidth - Math.floor(rangeWidth);
148
153
  var _getPadding = getPadding(box),
149
154
  pLeft = _getPadding.pLeft,
150
155
  pRight = _getPadding.pRight,
151
156
  pTop = _getPadding.pTop,
152
157
  pBottom = _getPadding.pBottom;
153
158
  var horizontalPadding = pLeft + pRight;
154
- var verticalPadding = pTop + pBottom;
155
159
  if (rangeWidth + horizontalPadding > box.clientWidth) {
156
160
  return true;
157
161
  }
@@ -3,10 +3,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
  var _excluded = ["onDrag", "width", "minwidth"];
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
- import { useState, useContext } from 'react';
6
+ import { useState } from 'react';
7
7
  import { Resizable } from 'react-resizable';
8
8
  import classnames from 'classnames';
9
- import { TableContext } from '../../index';
10
9
  import { getParentElement } from '../FormatColumn';
11
10
  var ResizableTitle = function ResizableTitle(props) {
12
11
  var _restProps$className;
@@ -15,9 +14,6 @@ var ResizableTitle = function ResizableTitle(props) {
15
14
  _props$minwidth = props.minwidth,
16
15
  minwidth = _props$minwidth === void 0 ? 50 : _props$minwidth,
17
16
  restProps = _objectWithoutProperties(props, _excluded);
18
- var _useContext = useContext(TableContext),
19
- tableConfig = _useContext.tableConfig,
20
- Storage = _useContext.Storage;
21
17
  // 添加偏移量
22
18
  var _useState = useState(0),
23
19
  _useState2 = _slicedToArray(_useState, 2),
@@ -214,7 +214,6 @@ var ProTable = function ProTable(props) {
214
214
  originalObj: originalObj,
215
215
  rowKey: props.rowKey,
216
216
  diffConfig: diffConfig,
217
- diffToolTip: toolTip,
218
217
  wrapToolTipProps: wrapToolTipProps,
219
218
  scroll: _scroll,
220
219
  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>>结构