@zat-design/sisyphus-react 3.8.3 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/dist/index.esm.css +38 -3
  3. package/dist/less.esm.css +37 -2
  4. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +83 -20
  5. package/es/ProEditTable/components/RenderField/index.js +6 -2
  6. package/es/ProEditTable/index.js +18 -9
  7. package/es/ProEditTable/propsType.d.ts +3 -6
  8. package/es/ProEditTable/style/index.less +0 -1
  9. package/es/ProEditTable/utils/index.js +10 -3
  10. package/es/ProForm/components/base/InputNumber/index.js +1 -1
  11. package/es/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  12. package/es/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  13. package/es/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  14. package/es/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  15. package/es/ProForm/components/combination/FormList/index.js +14 -3
  16. package/es/ProForm/components/combination/Group/index.js +3 -4
  17. package/es/ProForm/components/combination/ProCascader/index.js +21 -14
  18. package/es/ProForm/components/combination/ProModalSelect/index.js +17 -3
  19. package/es/ProForm/components/render/ChangedWrapper.js +29 -10
  20. package/es/ProForm/components/render/Render.js +3 -1
  21. package/es/ProForm/components/render/RenderFields.js +4 -2
  22. package/es/ProForm/propsType.d.ts +3 -0
  23. package/es/ProForm/style/index.less +35 -9
  24. package/es/ProForm/utils/diffOriginal.js +14 -2
  25. package/es/ProForm/utils/useShouldUpdate.js +1 -9
  26. package/es/ProTable/components/FormatColumn/index.d.ts +2 -1
  27. package/es/ProTable/components/FormatColumn/index.js +107 -29
  28. package/es/ProTable/components/RenderColumn/index.d.ts +1 -0
  29. package/es/ProTable/components/RenderColumn/index.js +23 -6
  30. package/es/ProTable/index.js +8 -7
  31. package/es/ProTable/propsType.d.ts +4 -0
  32. package/es/ProTable/style/index.less +14 -0
  33. package/es/style/theme/antd.less +1 -1
  34. package/es/utils/index.d.ts +1 -0
  35. package/es/utils/index.js +26 -0
  36. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +82 -21
  37. package/lib/ProEditTable/components/RenderField/index.js +6 -2
  38. package/lib/ProEditTable/index.js +18 -9
  39. package/lib/ProEditTable/propsType.d.ts +3 -6
  40. package/lib/ProEditTable/style/index.less +0 -1
  41. package/lib/ProEditTable/utils/index.js +10 -3
  42. package/lib/ProForm/components/base/InputNumber/index.js +1 -1
  43. package/lib/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  44. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  45. package/lib/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  46. package/lib/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  47. package/lib/ProForm/components/combination/FormList/index.js +14 -3
  48. package/lib/ProForm/components/combination/Group/index.js +3 -4
  49. package/lib/ProForm/components/combination/ProCascader/index.js +21 -14
  50. package/lib/ProForm/components/combination/ProModalSelect/index.js +17 -3
  51. package/lib/ProForm/components/render/ChangedWrapper.js +29 -10
  52. package/lib/ProForm/components/render/Render.js +3 -1
  53. package/lib/ProForm/components/render/RenderFields.js +4 -2
  54. package/lib/ProForm/propsType.d.ts +3 -0
  55. package/lib/ProForm/style/index.less +35 -9
  56. package/lib/ProForm/utils/diffOriginal.js +13 -1
  57. package/lib/ProForm/utils/useShouldUpdate.js +1 -9
  58. package/lib/ProTable/components/FormatColumn/index.d.ts +2 -1
  59. package/lib/ProTable/components/FormatColumn/index.js +107 -29
  60. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -0
  61. package/lib/ProTable/components/RenderColumn/index.js +20 -5
  62. package/lib/ProTable/index.js +8 -7
  63. package/lib/ProTable/propsType.d.ts +4 -0
  64. package/lib/ProTable/style/index.less +14 -0
  65. package/lib/style/theme/antd.less +1 -1
  66. package/lib/utils/index.d.ts +1 -0
  67. package/lib/utils/index.js +28 -1
  68. package/package.json +1 -1
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
  var _diffOriginal = require("../../utils/diffOriginal");
18
18
  var _ProConfigProvider = require("../../../ProConfigProvider");
19
19
  var _utils = require("../../../utils");
20
- var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName", "normalize", "getValueProps"];
20
+ var _excluded = ["name", "names", "namesStr", "form", "equalWith", "children", "type", "diffConfig", "valuePropName", "normalize", "getValueProps", "viewRender"];
21
21
  var ChangedWrapper = function ChangedWrapper(props) {
22
22
  var _diffConfig$toolTip, _children$props, _children$props2, _children$props3;
23
23
  var name = props.name,
@@ -32,12 +32,16 @@ var ChangedWrapper = function ChangedWrapper(props) {
32
32
  valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
33
33
  normalize = props.normalize,
34
34
  getValueProps = props.getValueProps,
35
+ viewRender = props.viewRender,
35
36
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
37
+ // const contentRef = useRef(null);
36
38
  var _useProConfig = (0, _ProConfigProvider.useProConfig)('ProForm'),
37
39
  isDiffAll = _useProConfig.isDiffAll;
38
40
  var originalValues = diffConfig.originalValues,
39
41
  changeTipColor = diffConfig.changeTipColor,
40
- addTipColor = diffConfig.addTipColor;
42
+ addTipColor = diffConfig.addTipColor,
43
+ _diffConfig$scrollFol = diffConfig.scrollFollowParent,
44
+ scrollFollowParent = _diffConfig$scrollFol === void 0 ? true : _diffConfig$scrollFol;
41
45
  var toolTip = (_diffConfig$toolTip = diffConfig.toolTip) !== null && _diffConfig$toolTip !== void 0 ? _diffConfig$toolTip : true;
42
46
  var isWatch = toolTip && !['FormList', 'ProEditTable'].includes(type);
43
47
  var originalValue = (names === null || names === void 0 ? void 0 : names.length) ? names.map(function (name) {
@@ -57,9 +61,19 @@ var ChangedWrapper = function ChangedWrapper(props) {
57
61
  }, [isWatch, noChange, props[valuePropName], originalValue]);
58
62
  var isAdd = diffType === 'add';
59
63
  var isChanged = diffType === 'changed';
64
+ var viewRenderFun = (0, _react.useMemo)(function () {
65
+ return function (orgValue) {
66
+ return viewRender(orgValue, originalValues, {
67
+ form: form
68
+ });
69
+ };
70
+ }, [form]);
60
71
  var tipContent = (0, _react.useMemo)(function () {
61
72
  if (!isWatch || noChange) return undefined;
62
- var valueProps = getValueProps ? getValueProps(originalValue) : originalValue;
73
+ var valueProps = getValueProps && !names ? getValueProps(originalValue) : {
74
+ value: originalValue
75
+ };
76
+ if (viewRender) return viewRenderFun(valueProps === null || valueProps === void 0 ? void 0 : valueProps.value);
63
77
  return /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, children.props), {}, (0, _defineProperty2.default)({
64
78
  isView: true
65
79
  }, valuePropName, valueProps === null || valueProps === void 0 ? void 0 : valueProps.value))) : undefined;
@@ -71,27 +85,30 @@ var ChangedWrapper = function ChangedWrapper(props) {
71
85
  originalValues: isNestedField ? originalValues : undefined
72
86
  }, children.props), rest));
73
87
  }
88
+ // eslint-disable-next-line react-hooks/rules-of-hooks
89
+ // const isFocus = useFocus(contentRef.current);
74
90
  var tipOpenCalc = function tipOpenCalc() {
75
91
  if (!toolTip) return false;
76
- // 传入undefined 鼠标移入显示移出隐藏
92
+ // 传入undefined 鼠标移入显示移出隐藏 获得焦点时不显示气泡
77
93
  return isChanged ? undefined : false;
78
94
  };
79
95
  var style = {
80
96
  '--zaui-contract-bg': changeTipColor,
81
97
  '--zaui-contract-bg-add': addTipColor
82
98
  };
99
+ // @ts-ignore
100
+ var _showEllipse = ((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.showEllipse) || ((_children$props2 = children.props) === null || _children$props2 === void 0 ? void 0 : _children$props2.tooltip);
83
101
  var diffClassName = (0, _classnames.default)({
84
102
  'pro-form-item-changed': isChanged,
85
103
  'pro-form-item-add': isAdd
86
104
  });
87
- // @ts-ignore
88
- var _showEllipse = ((_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.showEllipse) || ((_children$props2 = children.props) === null || _children$props2 === void 0 ? void 0 : _children$props2.tooltip);
105
+ var open = tipOpenCalc();
89
106
  return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
90
- open: tipOpenCalc(),
91
- // mouseEnterDelay={1}
92
- getPopupContainer: function getPopupContainer(target) {
93
- return target.parentElement;
107
+ open: open,
108
+ getPopupContainer: function getPopupContainer(trigger) {
109
+ return scrollFollowParent ? trigger.parentElement : document.body;
94
110
  },
111
+ overlayClassName: "original-value-tootip",
95
112
  title: (0, _jsxRuntime.jsxs)(_antd.Space, {
96
113
  direction: "vertical",
97
114
  className: "changed-tooltip",
@@ -102,6 +119,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
102
119
  }), _showEllipse && (0, _jsxRuntime.jsxs)(_antd.Space, {
103
120
  className: "current-value-container",
104
121
  children: ["\u5F53\u524D\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, children.props), rest), {}, {
122
+ scrollFollowParent: scrollFollowParent,
105
123
  isView: true
106
124
  })) : undefined]
107
125
  })]
@@ -111,6 +129,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
111
129
  className: diffClassName,
112
130
  style: style,
113
131
  children: /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, children.props), rest), {}, {
132
+ scrollFollowParent: scrollFollowParent,
114
133
  otherProps: (0, _objectSpread3.default)((0, _objectSpread3.default)({}, (_children$props3 = children.props) === null || _children$props3 === void 0 ? void 0 : _children$props3.otherProps), {}, {
115
134
  isDiffChange: isChanged
116
135
  })
@@ -50,7 +50,8 @@ var Render = function Render(props) {
50
50
  requiredOnView = props.requiredOnView,
51
51
  confirm = props.confirm,
52
52
  globalControl = props.globalControl,
53
- diffConfig = props.diffConfig;
53
+ diffConfig = props.diffConfig,
54
+ viewRender = props.viewRender;
54
55
  var colProps = props.colProps;
55
56
  // 剔除一些不是FormItem的属性, 防止控制台报warning
56
57
  var labelWidth = formItemProps.labelWidth,
@@ -439,6 +440,7 @@ var Render = function Render(props) {
439
440
  valuePropName: _otherFormItemProps.valuePropName,
440
441
  normalize: _otherFormItemProps.normalize,
441
442
  getValueProps: _otherFormItemProps.getValueProps,
443
+ viewRender: viewRender,
442
444
  children: child
443
445
  });
444
446
  }
@@ -194,7 +194,8 @@ var RenderFields = function RenderFields(props) {
194
194
  namePath: column.namePath,
195
195
  listName: column.listName,
196
196
  globalControl: globalControl,
197
- formDisabled: formDisabled
197
+ formDisabled: formDisabled,
198
+ diffConfig: diffConfig
198
199
  };
199
200
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
200
201
  value: otherProps,
@@ -217,7 +218,8 @@ var RenderFields = function RenderFields(props) {
217
218
  diffConfig: diffConfig,
218
219
  equalWith: equalWith,
219
220
  requiredOnView: requiredOnView,
220
- globalControl: globalControl
221
+ globalControl: globalControl,
222
+ viewRender: viewRender
221
223
  })
222
224
  }, "".concat(_formItemProps.name || _formItemProps.label).concat(index));
223
225
  });
@@ -45,6 +45,7 @@ export interface ProFormOtherProps {
45
45
  globalControl?: boolean;
46
46
  formDisabled?: boolean;
47
47
  isDiffChange?: boolean;
48
+ diffConfig?: DiffConfigProps;
48
49
  }
49
50
  export interface DiffConfigProps<Values = any> {
50
51
  /** 比对原始数据源 */
@@ -55,6 +56,8 @@ export interface DiffConfigProps<Values = any> {
55
56
  changeTipColor?: string;
56
57
  /** 新增提示颜色 */
57
58
  addTipColor?: string;
59
+ /** 是否跟随父组件滚动 */
60
+ scrollFollowParent?: string;
58
61
  }
59
62
  export interface ProFormProps<Values = any> extends FormProps<Values> {
60
63
  disabled?: boolean;
@@ -53,6 +53,11 @@
53
53
  }
54
54
 
55
55
  &.pro-form-view {
56
+ .pro-group{
57
+ .@{ant-prefix}-space-item, .pro-form-view-container{
58
+ width: max-content;
59
+ }
60
+ }
56
61
  .@{ant-prefix}-form-item-label {
57
62
  label {
58
63
  color: var(--zaui-aide-text, #939599);
@@ -329,6 +334,9 @@
329
334
  border-radius: 4px;
330
335
  background: @zaui-contract-bg !important;
331
336
 
337
+ .@{ant-prefix}-input {
338
+ background: @zaui-contract-bg !important;
339
+ }
332
340
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
333
341
  background: @zaui-contract-bg !important;
334
342
  }
@@ -403,6 +411,10 @@
403
411
  border-radius: 4px;
404
412
  background: @zaui-contract-bg-add !important;
405
413
 
414
+ .@{ant-prefix}-input {
415
+ background: @zaui-contract-bg !important;
416
+ }
417
+
406
418
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
407
419
  background: @zaui-contract-bg-add !important;
408
420
  }
@@ -473,15 +485,29 @@
473
485
  }
474
486
  }
475
487
 
476
- .changed-tooltip {
477
- .original-value-container {
478
- .ant-space-item:nth-child(1) {
479
- white-space: nowrap;
488
+ .original-value-tootip{
489
+ max-width: 100%;
490
+ width: max-content;
491
+ z-index: 99;
492
+ .changed-tooltip {
493
+ .original-value-container {
494
+ .ant-space-item:nth-child(1) {
495
+ white-space: nowrap;
496
+ }
497
+ .pro-group{
498
+ .ant-space-compact{
499
+ display: block;
500
+ }
501
+ .pro-form-view-container{
502
+ word-break: keep-all;
503
+ }
504
+ }
480
505
  }
481
- }
482
- .current-value-container {
483
- .ant-space-item:nth-child(1) {
484
- white-space: nowrap;
506
+ .current-value-container {
507
+ .ant-space-item:nth-child(1) {
508
+ white-space: nowrap;
509
+ }
485
510
  }
486
511
  }
487
- }
512
+ }
513
+
@@ -6,6 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.diffOriginal = void 0;
7
7
  var _lodash = require("lodash");
8
8
  var _utils = require("../../utils");
9
+ // 过滤对象中undefined字段
10
+ // 防止{a: '1'} {a: '1', b: undefined}被认为不相等
11
+ var filterUndefined = function filterUndefined(data) {
12
+ if (!(0, _lodash.isObject)(data) || Array.isArray(data) || data === null) return data;
13
+ var resData = {};
14
+ Object.keys(data).forEach(function (key) {
15
+ if (data[key] !== undefined) {
16
+ resData[key] = data[key];
17
+ }
18
+ });
19
+ return resData;
20
+ };
9
21
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
10
22
  var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
11
23
  var originalValue = params.originalValue,
@@ -35,7 +47,7 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
35
47
  return isSame ? 'same' : 'changed';
36
48
  }
37
49
  if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
38
- return (0, _lodash.isEqual)(value, originalValue) ? 'same' : 'changed';
50
+ return (0, _lodash.isEqual)(filterUndefined(value), filterUndefined(originalValue)) ? 'same' : 'changed';
39
51
  }
40
52
  return 'same';
41
53
  };
@@ -170,9 +170,6 @@ var useShouldUpdate = function useShouldUpdate(props) {
170
170
  index: index,
171
171
  namePath: namePath
172
172
  }) : rules;
173
- // const _component = isFunction(originComponent)
174
- // ? originComponent(_currentValues, { form, index, namePath })
175
- // : newComponent;
176
173
  var _fieldProps = (0, _lodash.isFunction)(fieldProps) ? fieldProps(_currentValues, {
177
174
  form: form,
178
175
  index: index,
@@ -203,17 +200,12 @@ var useShouldUpdate = function useShouldUpdate(props) {
203
200
  }
204
201
  var equalRes = (0, _lodash.isEqualWith)(rulesRef.current, _rules, _index.customEqualForFun);
205
202
  var proEqualRes = (0, _lodash.isEqualWith)(fieldPropsRef.current, _fieldProps, _index.customEqualForFun);
206
- if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes
207
- // 值变更,需要同步更新函数式的fieldProps
208
- // (isEqualWith(fieldPropsRef.current, _fieldProps, customEqualForFun) && !isEqual(prevValues, currentValues)) ||
209
- // !isEqualWith(originComponentRef.current, _component, customEqualForFun) ||
210
- // equalDependencies(dependencies, prevValues, _currentValues)
203
+ if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || (_fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.transformResponse) // 防止fieldProps变更时,transformResponse根据fieldProps新值无法触发更新
211
204
  ) {
212
205
  showRef.current = _show;
213
206
  disabledRef.current = _disabled;
214
207
  requiredRef.current = _required;
215
208
  rulesRef.current = _rules;
216
- // originComponentRef.current = _component;
217
209
  fieldPropsRef.current = _fieldProps;
218
210
  reRender({});
219
211
  return false;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ProTableColumn } from '../../propsType';
3
- export declare const formatColumn: ({ column, originalObj, dataSourceObj, rowKey, diffToolTip, wrapToolTipProps, scroll, onUpdateMinWidth, }: {
3
+ export declare const formatColumn: ({ column, originalObj, dataSourceObj, rowKey, diffToolTip, wrapToolTipProps, scroll, onUpdateMinWidth, isInNewRow, }: {
4
4
  column: ProTableColumn;
5
5
  originalObj: any;
6
6
  dataSourceObj: any;
@@ -9,6 +9,7 @@ export declare const formatColumn: ({ column, originalObj, dataSourceObj, rowKey
9
9
  wrapToolTipProps?: any;
10
10
  scroll?: any;
11
11
  onUpdateMinWidth?: any;
12
+ isInNewRow?: any;
12
13
  }) => void;
13
14
  /**
14
15
  * 查找最近的父级className
@@ -57,7 +57,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
57
57
  diffToolTip = _ref2.diffToolTip,
58
58
  wrapToolTipProps = _ref2.wrapToolTipProps,
59
59
  scroll = _ref2.scroll,
60
- onUpdateMinWidth = _ref2.onUpdateMinWidth;
60
+ onUpdateMinWidth = _ref2.onUpdateMinWidth,
61
+ isInNewRow = _ref2.isInNewRow;
61
62
  var title = column.title,
62
63
  valueType = column.valueType,
63
64
  _column$format = column.format,
@@ -77,7 +78,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
77
78
  originalDiffTip = _column$originalDiffT === void 0 ? true : _column$originalDiffT,
78
79
  _column$toolTipProps = column.toolTipProps,
79
80
  toolTipProps = _column$toolTipProps === void 0 ? {} : _column$toolTipProps,
80
- minWidth = column.minWidth;
81
+ minWidth = column.minWidth,
82
+ onDiff = column.onDiff;
81
83
  // 仅在 {x: 'max-content', y: 300 } 且 column无指定 width minWidth 情况下 才开启 minWidth的自动计算
82
84
  var isMaxContentOverFlow = (0, _lodash.isObject)(scroll) ? (scroll === null || scroll === void 0 ? void 0 : scroll.x) === 'max-content' && Reflect.ownKeys(scroll).includes('y') : false;
83
85
  calcMinWidth({
@@ -114,7 +116,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
114
116
  }
115
117
  };
116
118
  if (column === null || column === void 0 ? void 0 : column.render) {
117
- if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0) {
119
+ if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0 && !onDiff) {
118
120
  return;
119
121
  }
120
122
  var originalRender = column.render; // 保存原始的 render 方法
@@ -122,12 +124,27 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
122
124
  column.render = function (value, record, index) {
123
125
  var _originalObj$record$r;
124
126
  var isFn = (0, _lodash.isFunction)(originalRender);
125
- var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : undefined;
127
+ var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
126
128
  var originalValue = (0, _utils2.getOriginalValue)(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
127
- var originalRenderValue = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(originalValue, (_originalObj$record$r = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r !== void 0 ? _originalObj$record$r : {}, index) : undefined;
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 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]]
137
+ });
138
+ if (!isDiff) {
139
+ originalValue = null;
140
+ } else {
141
+ originalValue = true;
142
+ extraDiffFlag = true;
143
+ }
144
+ }
128
145
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
129
146
  valueType: valueType,
130
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
147
+ originalValue: !originalValue && originalValue !== 0 ? null : extraDiffFlag ? originalRenderValue !== null && originalRenderValue !== void 0 ? originalRenderValue : originalValue : originalRenderValue,
131
148
  ellipsis: ellipsis,
132
149
  width: width,
133
150
  value: _value,
@@ -135,7 +152,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
135
152
  currentValue: _value,
136
153
  originalDiffTip: _originalDiffTip,
137
154
  toolTipProps: _toolTipProps,
138
- minWidth: minWidth
155
+ minWidth: minWidth,
156
+ isInNewRowFlag: isInNewRowFlag
139
157
  });
140
158
  };
141
159
  return;
@@ -166,12 +184,18 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
166
184
  originalRenderValue = '-';
167
185
  }
168
186
  if (!value && value !== 0 && renderValue === originalRenderValue) {
169
- return '-';
187
+ return (0, _jsxRuntime.jsx)("div", {
188
+ style: {
189
+ minWidth: minWidth
190
+ },
191
+ children: "-"
192
+ });
170
193
  }
171
194
  var node = (0, _jsxRuntime.jsxs)(_antd.Space, {
172
195
  size: 8,
173
196
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
174
197
  });
198
+ var isInNewRowFlag = isInNewRow(record);
175
199
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
176
200
  valueType: valueType,
177
201
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -182,7 +206,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
182
206
  currentValue: renderValue,
183
207
  originalDiffTip: _originalDiffTip,
184
208
  toolTipProps: _toolTipProps,
185
- minWidth: minWidth
209
+ minWidth: minWidth,
210
+ isInNewRowFlag: isInNewRowFlag
186
211
  });
187
212
  };
188
213
  // 千分位, 千分位带CNY前缀
@@ -201,8 +226,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
201
226
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
202
227
  });
203
228
  if (!value && value !== 0 && renderValue === originalRenderValue) {
204
- return '-';
229
+ (0, _jsxRuntime.jsx)("div", {
230
+ style: {
231
+ minWidth: minWidth
232
+ },
233
+ children: "-"
234
+ });
205
235
  }
236
+ var isInNewRowFlag = isInNewRow(record);
206
237
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
207
238
  valueType: valueType,
208
239
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -213,7 +244,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
213
244
  currentValue: renderValue,
214
245
  originalDiffTip: _originalDiffTip,
215
246
  toolTipProps: _toolTipProps,
216
- minWidth: minWidth
247
+ minWidth: minWidth,
248
+ isInNewRowFlag: isInNewRowFlag
217
249
  });
218
250
  };
219
251
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
@@ -255,8 +287,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
255
287
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
256
288
  });
257
289
  if (!value && renderValue === originalRenderValue) {
258
- return '-';
290
+ (0, _jsxRuntime.jsx)("div", {
291
+ style: {
292
+ minWidth: minWidth
293
+ },
294
+ children: "-"
295
+ });
259
296
  }
297
+ var isInNewRowFlag = isInNewRow(record);
260
298
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
261
299
  valueType: valueType,
262
300
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -267,7 +305,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
267
305
  currentValue: renderValue,
268
306
  originalDiffTip: _originalDiffTip,
269
307
  toolTipProps: _toolTipProps,
270
- minWidth: minWidth
308
+ minWidth: minWidth,
309
+ isInNewRowFlag: isInNewRowFlag
271
310
  });
272
311
  };
273
312
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
@@ -296,6 +335,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
296
335
  size: 8,
297
336
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
298
337
  });
338
+ var isInNewRowFlag = isInNewRow(record);
299
339
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
300
340
  valueType: valueType,
301
341
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -306,7 +346,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
306
346
  currentValue: renderValue,
307
347
  originalDiffTip: _originalDiffTip,
308
348
  toolTipProps: _toolTipProps,
309
- minWidth: minWidth
349
+ minWidth: minWidth,
350
+ isInNewRowFlag: isInNewRowFlag
310
351
  });
311
352
  };
312
353
  } else if (precision || prefix || suffix) {
@@ -322,8 +363,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
322
363
  originalRenderValue = '-';
323
364
  }
324
365
  if (!value && value !== 0 && renderValue === originalRenderValue) {
325
- return '-';
366
+ (0, _jsxRuntime.jsx)("div", {
367
+ style: {
368
+ minWidth: minWidth
369
+ },
370
+ children: "-"
371
+ });
326
372
  }
373
+ var isInNewRowFlag = isInNewRow(record);
327
374
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
328
375
  valueType: valueType,
329
376
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -334,7 +381,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
334
381
  currentValue: renderValue,
335
382
  originalDiffTip: _originalDiffTip,
336
383
  toolTipProps: _toolTipProps,
337
- minWidth: minWidth
384
+ minWidth: minWidth,
385
+ isInNewRowFlag: isInNewRowFlag
338
386
  });
339
387
  };
340
388
  } else if (valueType === 'address') {
@@ -347,10 +395,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
347
395
  return !!item;
348
396
  })) === null || _realValue$filter === void 0 ? void 0 : _realValue$filter.length) === 0;
349
397
  if ((0, _lodash.isEqual)(value, originalValue) && isEmpty) {
350
- return '-';
398
+ (0, _jsxRuntime.jsx)("div", {
399
+ style: {
400
+ minWidth: minWidth
401
+ },
402
+ children: "-"
403
+ });
351
404
  }
352
405
  var className = (0, _classnames.default)({
353
- 'varied-cell': originalValue !== undefined,
354
406
  'empty-cell': isEmpty
355
407
  });
356
408
  var renderValue = (0, _jsxRuntime.jsx)(_ProForm.default.ProCascader, {
@@ -365,21 +417,32 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
365
417
  code: code,
366
418
  value: originalRealValue
367
419
  });
368
- return (0, _jsxRuntime.jsx)(_ProForm.default.ProCascader, {
420
+ var renderNode = (0, _jsxRuntime.jsx)(_ProForm.default.ProCascader, {
369
421
  className: className,
370
422
  isView: true,
371
423
  mode: "address",
372
424
  code: code,
373
425
  value: realValue,
374
- tooltip: originalValue !== undefined ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
375
- children: ["\u521D\u59CB\u503C\uFF1A", originalRenderValue, (0, _jsxRuntime.jsx)("br", {}), ellipsis ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
376
- children: ["\u5F53\u524D\u503C\uFF1A", renderValue]
377
- }) : undefined]
378
- }) : ellipsis
426
+ tooltip: false
427
+ });
428
+ var isInNewRowFlag = isInNewRow(record);
429
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
430
+ valueType: valueType,
431
+ originalValue: originalValue === undefined ? undefined : originalRenderValue,
432
+ ellipsis: ellipsis !== null && ellipsis !== void 0 ? ellipsis : true,
433
+ width: width,
434
+ node: renderNode,
435
+ value: renderValue,
436
+ currentValue: renderValue,
437
+ originalDiffTip: _originalDiffTip,
438
+ toolTipProps: _toolTipProps,
439
+ minWidth: minWidth,
440
+ isInNewRowFlag: isInNewRowFlag
379
441
  });
380
442
  };
381
443
  } else if (copyable) {
382
444
  column.render = function (value, record, index) {
445
+ var isInNewRowFlag = isInNewRow(record);
383
446
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
384
447
  size: 8,
385
448
  children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
@@ -391,7 +454,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
391
454
  value: value,
392
455
  currentValue: value,
393
456
  toolTipProps: _toolTipProps,
394
- minWidth: minWidth
457
+ minWidth: minWidth,
458
+ isInNewRowFlag: isInNewRowFlag
395
459
  }), suffixNode(value, record, index)]
396
460
  });
397
461
  };
@@ -399,8 +463,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
399
463
  column.render = function (value, record, index) {
400
464
  var originalValue = (0, _utils2.getOriginalValue)(value, record, originalObj, rowKey, dataIndex);
401
465
  if (!value && value !== 0 && value === originalValue) {
402
- return '-';
466
+ (0, _jsxRuntime.jsx)("div", {
467
+ style: {
468
+ minWidth: minWidth
469
+ },
470
+ children: "-"
471
+ });
403
472
  }
473
+ var isInNewRowFlag = isInNewRow(record);
404
474
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
405
475
  size: 8,
406
476
  children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
@@ -413,7 +483,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
413
483
  currentValue: value || '-',
414
484
  originalDiffTip: _originalDiffTip,
415
485
  toolTipProps: _toolTipProps,
416
- minWidth: minWidth
486
+ minWidth: minWidth,
487
+ isInNewRowFlag: isInNewRowFlag
417
488
  }), suffixNode(value, record, index)]
418
489
  });
419
490
  };
@@ -425,8 +496,14 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
425
496
  children: [prefixNode(value, record, index), value, suffixNode(value, record, index)]
426
497
  });
427
498
  if (!value && value !== 0 && value === originalValue) {
428
- return '-';
499
+ (0, _jsxRuntime.jsx)("div", {
500
+ style: {
501
+ minWidth: minWidth
502
+ },
503
+ children: "-"
504
+ });
429
505
  }
506
+ var isInNewRowFlag = isInNewRow(record);
430
507
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
431
508
  valueType: valueType,
432
509
  originalValue: originalValue === undefined ? undefined : originalValue || '-',
@@ -437,7 +514,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
437
514
  currentValue: value || '-',
438
515
  originalDiffTip: _originalDiffTip,
439
516
  toolTipProps: _toolTipProps,
440
- minWidth: minWidth
517
+ minWidth: minWidth,
518
+ isInNewRowFlag: isInNewRowFlag
441
519
  });
442
520
  };
443
521
  }
@@ -12,6 +12,7 @@ interface Props {
12
12
  originalValue?: any;
13
13
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
14
14
  minWidth?: number;
15
+ isInNewRowFlag?: boolean;
15
16
  }
16
17
  declare const RenderColumn: FC<Props>;
17
18
  export default RenderColumn;
@@ -28,14 +28,15 @@ var RenderColumn = function RenderColumn(props) {
28
28
  originalDiffTip = props.originalDiffTip,
29
29
  _props$toolTipProps = props.toolTipProps,
30
30
  toolTipProps = _props$toolTipProps === void 0 ? {} : _props$toolTipProps,
31
- minWidth = props.minWidth;
31
+ minWidth = props.minWidth,
32
+ isInNewRowFlag = props.isInNewRowFlag;
32
33
  var _useSetState = (0, _ahooks.useSetState)({
33
34
  tooltip: false
34
35
  }),
35
36
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
36
37
  tooltip = _useSetState2[0].tooltip,
37
38
  setState = _useSetState2[1];
38
- if (originalValue !== undefined) {
39
+ if ((originalValue || originalValue === 0) && !isInNewRowFlag) {
39
40
  var renderNode = value ? node : '-';
40
41
  if (ellipsis || originalDiffTip) {
41
42
  if (ellipsis) {
@@ -56,9 +57,23 @@ var RenderColumn = function RenderColumn(props) {
56
57
  width: width,
57
58
  minWidth: minWidth
58
59
  },
59
- title: originalDiffTip ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
60
- children: ["\u521D\u59CB\u503C\uFF1A", originalValue, (0, _jsxRuntime.jsx)("br", {}), ellipsis ? "\u5F53\u524D\u503C\uFF1A".concat(currentValue) : undefined]
61
- }) : node,
60
+ overlayClassName: "original-value-tootip",
61
+ title: (0, _jsxRuntime.jsx)(_antd.Space, {
62
+ direction: "vertical",
63
+ className: "changed-tooltip",
64
+ children: originalDiffTip ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
65
+ children: [(0, _jsxRuntime.jsxs)(_antd.Space, {
66
+ align: "start",
67
+ className: "original-value-container",
68
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValue]
69
+ }), (0, _jsxRuntime.jsx)(_antd.Space, {
70
+ className: "current-value-container",
71
+ children: ellipsis ? (0, _jsxRuntime.jsxs)("span", {
72
+ children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
73
+ }) : null
74
+ })]
75
+ }) : node
76
+ }),
62
77
  getPopupContainer: function getPopupContainer(triggerNode) {
63
78
  return triggerNode.parentNode;
64
79
  }