@zat-design/sisyphus-react 3.8.3-beta.1 → 3.8.3-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/index.esm.css +16 -0
  2. package/dist/less.esm.css +16 -0
  3. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +21 -7
  4. package/es/ProEditTable/components/RenderField/index.js +8 -1
  5. package/es/ProEditTable/index.js +0 -1
  6. package/es/ProEditTable/propsType.d.ts +0 -1
  7. package/es/ProEditTable/utils/index.js +10 -3
  8. package/es/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  9. package/es/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  10. package/es/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  11. package/es/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  12. package/es/ProForm/components/combination/FormList/index.js +14 -3
  13. package/es/ProForm/components/combination/ProCascader/index.js +20 -13
  14. package/es/ProForm/components/combination/ProModalSelect/index.js +17 -3
  15. package/es/ProForm/components/render/ChangedWrapper.js +14 -2
  16. package/es/ProForm/components/render/Render.js +3 -1
  17. package/es/ProForm/components/render/RenderFields.js +4 -2
  18. package/es/ProForm/propsType.d.ts +1 -0
  19. package/es/ProForm/style/index.less +7 -0
  20. package/es/ProForm/utils/diffOriginal.js +14 -2
  21. package/es/ProForm/utils/useShouldUpdate.js +1 -9
  22. package/es/ProTable/components/FormatColumn/index.d.ts +2 -1
  23. package/es/ProTable/components/FormatColumn/index.js +61 -21
  24. package/es/ProTable/components/RenderColumn/index.d.ts +1 -0
  25. package/es/ProTable/components/RenderColumn/index.js +7 -4
  26. package/es/ProTable/index.js +8 -7
  27. package/es/ProTable/propsType.d.ts +4 -0
  28. package/es/ProTable/style/index.less +14 -0
  29. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +20 -6
  30. package/lib/ProEditTable/components/RenderField/index.js +8 -1
  31. package/lib/ProEditTable/index.js +0 -1
  32. package/lib/ProEditTable/propsType.d.ts +0 -1
  33. package/lib/ProEditTable/utils/index.js +10 -3
  34. package/lib/ProForm/components/combination/FormList/components/BlockFields.d.ts +2 -0
  35. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +4 -2
  36. package/lib/ProForm/components/combination/FormList/components/LineFields.d.ts +2 -0
  37. package/lib/ProForm/components/combination/FormList/components/LineFields.js +4 -2
  38. package/lib/ProForm/components/combination/FormList/index.js +14 -3
  39. package/lib/ProForm/components/combination/ProCascader/index.js +20 -13
  40. package/lib/ProForm/components/combination/ProModalSelect/index.js +17 -3
  41. package/lib/ProForm/components/render/ChangedWrapper.js +14 -2
  42. package/lib/ProForm/components/render/Render.js +3 -1
  43. package/lib/ProForm/components/render/RenderFields.js +4 -2
  44. package/lib/ProForm/propsType.d.ts +1 -0
  45. package/lib/ProForm/style/index.less +7 -0
  46. package/lib/ProForm/utils/diffOriginal.js +13 -1
  47. package/lib/ProForm/utils/useShouldUpdate.js +1 -9
  48. package/lib/ProTable/components/FormatColumn/index.d.ts +2 -1
  49. package/lib/ProTable/components/FormatColumn/index.js +61 -21
  50. package/lib/ProTable/components/RenderColumn/index.d.ts +1 -0
  51. package/lib/ProTable/components/RenderColumn/index.js +6 -3
  52. package/lib/ProTable/index.js +8 -7
  53. package/lib/ProTable/propsType.d.ts +4 -0
  54. package/lib/ProTable/style/index.less +14 -0
  55. package/package.json +1 -1
@@ -50,7 +50,7 @@ var getViewLabel = function getViewLabel(_ref) {
50
50
  return viewLabel;
51
51
  };
52
52
  var ProCascader = function ProCascader(props) {
53
- var _props$otherProps, _value$slice, _ref7, _ref7$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
53
+ var _props$otherProps, _value$slice, _ref5, _ref5$filter, _defaultLabel$filter, _locale$ProAddressBar, _locale$ProAddressBar2;
54
54
  var _ref2 = (0, _ProConfigProvider.useProConfig)('ProAddressBar') || {},
55
55
  configDetailMaxLength = _ref2.detailMaxLength,
56
56
  configEnumCode = _ref2.enumCode,
@@ -90,16 +90,18 @@ var ProCascader = function ProCascader(props) {
90
90
  var realLevel = Math.max(2, level);
91
91
  var detail = value === null || value === void 0 ? void 0 : value[realLevel];
92
92
  var enumData = (0, _useEnum.default)(addressCode);
93
- var _ref4 = Array.isArray(enumData) ? enumData : [],
94
- _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
95
- _ref5$ = _ref5[0],
96
- enumDataSource = _ref5$ === void 0 ? [] : _ref5$;
93
+ var _useProConfig = (0, _ProConfigProvider.useProConfig)('ProEnum'),
94
+ _useProConfig$dics = _useProConfig.dics,
95
+ dics = _useProConfig$dics === void 0 ? {} : _useProConfig$dics;
96
+ var enumDataSource = (0, _react.useMemo)(function () {
97
+ if (!(props === null || props === void 0 ? void 0 : props.mode)) {
98
+ return (dics === null || dics === void 0 ? void 0 : dics[addressCode]) || [];
99
+ }
100
+ return Array.isArray(enumData) ? enumData[0] : [];
101
+ }, [dics === null || dics === void 0 ? void 0 : dics[addressCode], enumData]);
97
102
  var realDataSource = (0, _react.useMemo)(function () {
98
103
  var innerDataSource = dataSource || (addressCode ? enumDataSource : []);
99
104
  var result = (0, _index.transformDataName)(isAddressMode && realLevel === 2 ? _filterDataSource(innerDataSource, level, fieldNames) : innerDataSource, fieldNames);
100
- if (transformResponse) {
101
- return transformResponse(result);
102
- }
103
105
  return result;
104
106
  }, [isAddressMode, addressCode, realLevel, dataSource, enumDataSource === null || enumDataSource === void 0 ? void 0 : enumDataSource.length]);
105
107
  var _useRequest = (0, _objectSpread3.default)({}, useRequest),
@@ -115,7 +117,7 @@ var ProCascader = function ProCascader(props) {
115
117
  defaultLabel = _useState4[0],
116
118
  setDefaultLabel = _useState4[1];
117
119
  var getFirstLevelOptions = /*#__PURE__*/function () {
118
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
120
+ var _ref4 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
119
121
  var _yield$service, data, newData, transFormData, serviceData;
120
122
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
121
123
  while (1) switch (_context.prev = _context.next) {
@@ -143,9 +145,13 @@ var ProCascader = function ProCascader(props) {
143
145
  }, _callee);
144
146
  }));
145
147
  return function getFirstLevelOptions() {
146
- return _ref6.apply(this, arguments);
148
+ return _ref4.apply(this, arguments);
147
149
  };
148
150
  }();
151
+ // 提取出来默认每次都执行
152
+ if (transformResponse) {
153
+ realDataSource = transformResponse(realDataSource);
154
+ }
149
155
  (0, _react.useEffect)(function () {
150
156
  if (service) {
151
157
  // 传入useRequest时,初次加载级联第一级数据源
@@ -154,13 +160,14 @@ var ProCascader = function ProCascader(props) {
154
160
  }, [service]);
155
161
  (0, _react.useEffect)(function () {
156
162
  if (realIsView && value) {
163
+ var _realDataSource;
157
164
  // 传入dataSource + 查看时初始化展示
158
165
  if (service) {
159
166
  setDefaultLabel(getViewLabel({
160
167
  dataSource: serviceData,
161
168
  value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
162
169
  }));
163
- } else if ((realDataSource === null || realDataSource === void 0 ? void 0 : realDataSource.length) > 0) {
170
+ } else if (((_realDataSource = realDataSource) === null || _realDataSource === void 0 ? void 0 : _realDataSource.length) > 0) {
164
171
  setDefaultLabel(getViewLabel({
165
172
  dataSource: realDataSource,
166
173
  value: isAddressMode && hasDetail ? value === null || value === void 0 ? void 0 : value.slice(0, realLevel) : value
@@ -194,9 +201,9 @@ var ProCascader = function ProCascader(props) {
194
201
  var addressValue = isAddressMode ? value && ((_value$slice = value.slice(0, realLevel)) === null || _value$slice === void 0 ? void 0 : _value$slice.some(function (item) {
195
202
  return !!item;
196
203
  })) ? value.slice(0, realLevel) : undefined : value;
197
- var viewValue = isAddressMode ? ((_ref7 = [].concat((0, _toConsumableArray2.default)(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref7 === void 0 ? void 0 : (_ref7$filter = _ref7.filter(function (item) {
204
+ var viewValue = isAddressMode ? ((_ref5 = [].concat((0, _toConsumableArray2.default)(defaultLabel), [value === null || value === void 0 ? void 0 : value[realLevel]])) === null || _ref5 === void 0 ? void 0 : (_ref5$filter = _ref5.filter(function (item) {
198
205
  return !!item;
199
- })) === null || _ref7$filter === void 0 ? void 0 : _ref7$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
206
+ })) === null || _ref5$filter === void 0 ? void 0 : _ref5$filter.join(separator)) || '-' : (defaultLabel === null || defaultLabel === void 0 ? void 0 : (_defaultLabel$filter = defaultLabel.filter(function (item) {
200
207
  return !!item;
201
208
  })) === null || _defaultLabel$filter === void 0 ? void 0 : _defaultLabel$filter.join(separator)) || '-';
202
209
  var _findSelectedOptions = function findSelectedOptions(options, value) {
@@ -190,11 +190,25 @@ var ProModalSelect = function ProModalSelect(props, ref) {
190
190
  value: item[valueKey],
191
191
  label: item[labelKey]
192
192
  }));
193
- })) === null || _data$map === void 0 ? void 0 : _data$map.join(',') : undefined;
193
+ })) === null || _data$map === void 0 ? void 0 : _data$map.join(',') : '';
194
194
  };
195
195
  var viewText = (0, _react.useMemo)(function () {
196
- return formatValue(labelInValue ? value : _value);
197
- }, [value, _value]);
196
+ var nextValue = labelInValue ? value : _value;
197
+ if (labelInValue) {
198
+ nextValue = value;
199
+ } else {
200
+ var _options$find;
201
+ var optionDTO = options === null || options === void 0 ? void 0 : (_options$find = options.find) === null || _options$find === void 0 ? void 0 : _options$find.call(options, function (item) {
202
+ return item[valueKey] === value;
203
+ });
204
+ if (optionDTO) {
205
+ nextValue = optionDTO;
206
+ } else {
207
+ nextValue = _value;
208
+ }
209
+ }
210
+ return formatValue(nextValue);
211
+ }, [value, _value, options]);
198
212
  /**
199
213
  * 获取表格的rowKey,支持函数、字符串
200
214
  * @date 2023-02-16
@@ -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,6 +32,7 @@ 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);
36
37
  var _useProConfig = (0, _ProConfigProvider.useProConfig)('ProForm'),
37
38
  isDiffAll = _useProConfig.isDiffAll;
@@ -57,9 +58,20 @@ var ChangedWrapper = function ChangedWrapper(props) {
57
58
  }, [isWatch, noChange, props[valuePropName], originalValue]);
58
59
  var isAdd = diffType === 'add';
59
60
  var isChanged = diffType === 'changed';
61
+ var viewRenderFun = (0, _react.useMemo)(function () {
62
+ var record = form.getFieldsValue();
63
+ return function (orgValue) {
64
+ return viewRender(orgValue, record, {
65
+ form: form
66
+ });
67
+ };
68
+ }, [form]);
60
69
  var tipContent = (0, _react.useMemo)(function () {
61
70
  if (!isWatch || noChange) return undefined;
62
- var valueProps = getValueProps ? getValueProps(originalValue) : originalValue;
71
+ var valueProps = getValueProps && !names ? getValueProps(originalValue) : {
72
+ value: originalValue
73
+ };
74
+ if (viewRender) return viewRenderFun(valueProps === null || valueProps === void 0 ? void 0 : valueProps.value);
63
75
  return /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread3.default)((0, _objectSpread3.default)({}, children.props), {}, (0, _defineProperty2.default)({
64
76
  isView: true
65
77
  }, valuePropName, valueProps === null || valueProps === void 0 ? void 0 : valueProps.value))) : undefined;
@@ -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
  /** 比对原始数据源 */
@@ -329,6 +329,9 @@
329
329
  border-radius: 4px;
330
330
  background: @zaui-contract-bg !important;
331
331
 
332
+ .@{ant-prefix}-input {
333
+ background: @zaui-contract-bg !important;
334
+ }
332
335
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
333
336
  background: @zaui-contract-bg !important;
334
337
  }
@@ -403,6 +406,10 @@
403
406
  border-radius: 4px;
404
407
  background: @zaui-contract-bg-add !important;
405
408
 
409
+ .@{ant-prefix}-input {
410
+ background: @zaui-contract-bg !important;
411
+ }
412
+
406
413
  .@{ant-prefix}-select.@{ant-prefix}-select-disabled .@{ant-prefix}-select-selector{
407
414
  background: @zaui-contract-bg-add !important;
408
415
  }
@@ -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,23 @@ 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
+ // 把比对结果告诉我
132
+ if (onDiff) {
133
+ var isDiff = onDiff({
134
+ value: record,
135
+ originValue: originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]
136
+ });
137
+ if (!isDiff) {
138
+ originalValue = null;
139
+ }
140
+ }
128
141
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
129
142
  valueType: valueType,
130
- originalValue: originalValue === undefined ? undefined : originalRenderValue,
143
+ originalValue: !originalValue && originalValue !== 0 ? null : originalRenderValue,
131
144
  ellipsis: ellipsis,
132
145
  width: width,
133
146
  value: _value,
@@ -135,7 +148,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
135
148
  currentValue: _value,
136
149
  originalDiffTip: _originalDiffTip,
137
150
  toolTipProps: _toolTipProps,
138
- minWidth: minWidth
151
+ minWidth: minWidth,
152
+ isInNewRowFlag: isInNewRowFlag
139
153
  });
140
154
  };
141
155
  return;
@@ -177,6 +191,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
177
191
  size: 8,
178
192
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
179
193
  });
194
+ var isInNewRowFlag = isInNewRow(record);
180
195
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
181
196
  valueType: valueType,
182
197
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -187,7 +202,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
187
202
  currentValue: renderValue,
188
203
  originalDiffTip: _originalDiffTip,
189
204
  toolTipProps: _toolTipProps,
190
- minWidth: minWidth
205
+ minWidth: minWidth,
206
+ isInNewRowFlag: isInNewRowFlag
191
207
  });
192
208
  };
193
209
  // 千分位, 千分位带CNY前缀
@@ -213,6 +229,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
213
229
  children: "-"
214
230
  });
215
231
  }
232
+ var isInNewRowFlag = isInNewRow(record);
216
233
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
217
234
  valueType: valueType,
218
235
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -223,7 +240,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
223
240
  currentValue: renderValue,
224
241
  originalDiffTip: _originalDiffTip,
225
242
  toolTipProps: _toolTipProps,
226
- minWidth: minWidth
243
+ minWidth: minWidth,
244
+ isInNewRowFlag: isInNewRowFlag
227
245
  });
228
246
  };
229
247
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
@@ -272,6 +290,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
272
290
  children: "-"
273
291
  });
274
292
  }
293
+ var isInNewRowFlag = isInNewRow(record);
275
294
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
276
295
  valueType: valueType,
277
296
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -282,7 +301,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
282
301
  currentValue: renderValue,
283
302
  originalDiffTip: _originalDiffTip,
284
303
  toolTipProps: _toolTipProps,
285
- minWidth: minWidth
304
+ minWidth: minWidth,
305
+ isInNewRowFlag: isInNewRowFlag
286
306
  });
287
307
  };
288
308
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
@@ -311,6 +331,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
311
331
  size: 8,
312
332
  children: [prefixNode(value, record, index), renderValue, suffixNode(value, record, index)]
313
333
  });
334
+ var isInNewRowFlag = isInNewRow(record);
314
335
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
315
336
  valueType: valueType,
316
337
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -321,7 +342,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
321
342
  currentValue: renderValue,
322
343
  originalDiffTip: _originalDiffTip,
323
344
  toolTipProps: _toolTipProps,
324
- minWidth: minWidth
345
+ minWidth: minWidth,
346
+ isInNewRowFlag: isInNewRowFlag
325
347
  });
326
348
  };
327
349
  } else if (precision || prefix || suffix) {
@@ -344,6 +366,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
344
366
  children: "-"
345
367
  });
346
368
  }
369
+ var isInNewRowFlag = isInNewRow(record);
347
370
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
348
371
  valueType: valueType,
349
372
  originalValue: originalValue === undefined ? undefined : originalRenderValue,
@@ -354,7 +377,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
354
377
  currentValue: renderValue,
355
378
  originalDiffTip: _originalDiffTip,
356
379
  toolTipProps: _toolTipProps,
357
- minWidth: minWidth
380
+ minWidth: minWidth,
381
+ isInNewRowFlag: isInNewRowFlag
358
382
  });
359
383
  };
360
384
  } else if (valueType === 'address') {
@@ -390,21 +414,32 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
390
414
  code: code,
391
415
  value: originalRealValue
392
416
  });
393
- return (0, _jsxRuntime.jsx)(_ProForm.default.ProCascader, {
417
+ var renderNode = (0, _jsxRuntime.jsx)(_ProForm.default.ProCascader, {
394
418
  className: className,
395
419
  isView: true,
396
420
  mode: "address",
397
421
  code: code,
398
422
  value: realValue,
399
- tooltip: originalValue !== undefined ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
400
- children: ["\u521D\u59CB\u503C\uFF1A", originalRenderValue, (0, _jsxRuntime.jsx)("br", {}), ellipsis ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
401
- children: ["\u5F53\u524D\u503C\uFF1A", renderValue]
402
- }) : undefined]
403
- }) : ellipsis
423
+ tooltip: false
424
+ });
425
+ var isInNewRowFlag = isInNewRow(record);
426
+ return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
427
+ valueType: valueType,
428
+ originalValue: originalRealValue === undefined ? undefined : originalRenderValue,
429
+ ellipsis: ellipsis !== null && ellipsis !== void 0 ? ellipsis : true,
430
+ width: width,
431
+ node: renderNode,
432
+ value: renderValue,
433
+ currentValue: renderValue,
434
+ originalDiffTip: _originalDiffTip,
435
+ toolTipProps: _toolTipProps,
436
+ minWidth: minWidth,
437
+ isInNewRowFlag: isInNewRowFlag
404
438
  });
405
439
  };
406
440
  } else if (copyable) {
407
441
  column.render = function (value, record, index) {
442
+ var isInNewRowFlag = isInNewRow(record);
408
443
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
409
444
  size: 8,
410
445
  children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
@@ -416,7 +451,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
416
451
  value: value,
417
452
  currentValue: value,
418
453
  toolTipProps: _toolTipProps,
419
- minWidth: minWidth
454
+ minWidth: minWidth,
455
+ isInNewRowFlag: isInNewRowFlag
420
456
  }), suffixNode(value, record, index)]
421
457
  });
422
458
  };
@@ -431,6 +467,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
431
467
  children: "-"
432
468
  });
433
469
  }
470
+ var isInNewRowFlag = isInNewRow(record);
434
471
  return (0, _jsxRuntime.jsxs)(_antd.Space, {
435
472
  size: 8,
436
473
  children: [prefixNode(value, record, index), (0, _jsxRuntime.jsx)(_RenderColumn.default, {
@@ -443,7 +480,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
443
480
  currentValue: value || '-',
444
481
  originalDiffTip: _originalDiffTip,
445
482
  toolTipProps: _toolTipProps,
446
- minWidth: minWidth
483
+ minWidth: minWidth,
484
+ isInNewRowFlag: isInNewRowFlag
447
485
  }), suffixNode(value, record, index)]
448
486
  });
449
487
  };
@@ -462,6 +500,7 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
462
500
  children: "-"
463
501
  });
464
502
  }
503
+ var isInNewRowFlag = isInNewRow(record);
465
504
  return (0, _jsxRuntime.jsx)(_RenderColumn.default, {
466
505
  valueType: valueType,
467
506
  originalValue: originalValue === undefined ? undefined : originalValue || '-',
@@ -472,7 +511,8 @@ var formatColumn = exports.formatColumn = function formatColumn(_ref2) {
472
511
  currentValue: value || '-',
473
512
  originalDiffTip: _originalDiffTip,
474
513
  toolTipProps: _toolTipProps,
475
- minWidth: minWidth
514
+ minWidth: minWidth,
515
+ isInNewRowFlag: isInNewRowFlag
476
516
  });
477
517
  };
478
518
  }
@@ -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) {
@@ -57,7 +58,9 @@ var RenderColumn = function RenderColumn(props) {
57
58
  minWidth: minWidth
58
59
  },
59
60
  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
+ children: ["\u521D\u59CB\u503C\uFF1A", originalValue, (0, _jsxRuntime.jsx)("br", {}), ellipsis ? (0, _jsxRuntime.jsxs)("span", {
62
+ children: ["\u5F53\u524D\u503C\uFF1A", currentValue]
63
+ }) : null]
61
64
  }) : node,
62
65
  getPopupContainer: function getPopupContainer(triggerNode) {
63
66
  return triggerNode.parentNode;
@@ -190,6 +190,11 @@ function ProTable(props) {
190
190
  setCurColumns(nextColumns);
191
191
  };
192
192
  };
193
+ var _rowClassName = function _rowClassName(record, index) {
194
+ if (originalDataSource && !originalObj.hasOwnProperty((0, _lodash.get)(record, 'rowKey'))) {
195
+ return 'new-cell';
196
+ }
197
+ };
193
198
  var columns = (0, _react.useMemo)(function () {
194
199
  var newColumns = curColumns.map(function (item, index) {
195
200
  var _propsColumnObj$getCo2;
@@ -222,11 +227,12 @@ function ProTable(props) {
222
227
  scroll: _scroll,
223
228
  onUpdateMinWidth: function onUpdateMinWidth(w) {
224
229
  curColumns[index].minWidth = w;
225
- }
230
+ },
231
+ isInNewRow: _rowClassName
226
232
  });
227
233
  });
228
234
  return newColumns;
229
- }, [curColumns, handleResize, _scroll]);
235
+ }, [curColumns, handleResize, _scroll, originalDataSource, originalObj, _rowClassName]);
230
236
  var _columns = (0, _react.useMemo)(function () {
231
237
  return columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
232
238
  var show = item.show;
@@ -375,11 +381,6 @@ function ProTable(props) {
375
381
  return _ref7.apply(this, arguments);
376
382
  };
377
383
  }();
378
- var _rowClassName = function _rowClassName(record, index) {
379
- if (originalDataSource && !originalObj.hasOwnProperty((0, _lodash.get)(record, 'rowKey'))) {
380
- return 'new-cell';
381
- }
382
- };
383
384
  var TableComponent = draggable ? _RcTable.DraggableTable : _RcTable.BaseTable;
384
385
  // 标记样式
385
386
  var tagStyle = {
@@ -41,6 +41,10 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
41
41
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
42
42
  transform?: (value: any, record?: any) => string[];
43
43
  show?: boolean | (() => boolean);
44
+ onDiff?: ({ value, originValue }: {
45
+ value: any;
46
+ originValue: any;
47
+ }) => boolean;
44
48
  }
45
49
  export interface CreateTreeFromArrayOptions {
46
50
  itemKey?: string;
@@ -272,8 +272,22 @@
272
272
  .@{ant-prefix}-table-cell .varied-cell {
273
273
  margin-left: -8px;
274
274
  padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
275
+
275
276
  background: var(--zaui-contract-bg; #fffaa1) !important;
276
277
  border-radius: var(--zaui-border-radius, 8px);
278
+ .pro-form-view-container {
279
+ overflow: hidden;
280
+ white-space: nowrap;
281
+ text-overflow: ellipsis;
282
+ }
283
+ }
284
+
285
+ .@{ant-prefix}-table-cell .@{ant-prefix}-typography-ellipsis {
286
+ .pro-form-view-container {
287
+ overflow: hidden;
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ }
277
291
  }
278
292
 
279
293
  .varied-cell.empty-cell {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.8.3-beta.1",
3
+ "version": "3.8.3-beta.10",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",