@zat-design/sisyphus-react 3.9.2 → 3.9.3-beta.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 (52) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/dist/index.esm.css +21 -1
  3. package/dist/less.esm.css +21 -1
  4. package/es/ProConfigProvider/index.js +3 -3
  5. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +3 -1
  6. package/es/ProEditTable/components/RenderField/index.js +3 -2
  7. package/es/ProEditTable/index.js +20 -15
  8. package/es/ProEnum/hooks/useEnum.js +2 -0
  9. package/es/ProForm/components/combination/FormList/components/ActionButton.js +10 -7
  10. package/es/ProForm/components/combination/FormList/components/LineFields.js +2 -1
  11. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +6 -3
  12. package/es/ProForm/components/combination/FormList/index.js +1 -1
  13. package/es/ProForm/components/combination/ProCascader/index.js +7 -3
  14. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +2 -0
  15. package/es/ProForm/components/render/ChangedWrapper.js +9 -5
  16. package/es/ProForm/components/render/Render.js +11 -7
  17. package/es/ProForm/index.js +11 -8
  18. package/es/ProForm/utils/diffOriginal.js +0 -1
  19. package/es/ProIcon/index.js +39 -22
  20. package/es/ProIcon/propsTypes.d.ts +2 -0
  21. package/es/ProTable/components/FormatColumn/index.js +69 -29
  22. package/es/ProTable/components/RenderColumn/index.d.ts +2 -0
  23. package/es/ProTable/components/RenderColumn/index.js +3 -5
  24. package/es/ProTable/propsType.d.ts +4 -5
  25. package/es/ProTable/style/index.less +27 -10
  26. package/es/ProTable/utils/index.d.ts +2 -0
  27. package/es/ProTable/utils/index.js +16 -3
  28. package/lib/ProConfigProvider/index.js +2 -2
  29. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +3 -1
  30. package/lib/ProEditTable/components/RenderField/index.js +3 -2
  31. package/lib/ProEditTable/index.js +19 -14
  32. package/lib/ProEnum/hooks/useEnum.js +2 -0
  33. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +9 -6
  34. package/lib/ProForm/components/combination/FormList/components/LineFields.js +2 -1
  35. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +4 -2
  36. package/lib/ProForm/components/combination/FormList/index.js +1 -1
  37. package/lib/ProForm/components/combination/ProCascader/index.js +7 -3
  38. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +2 -0
  39. package/lib/ProForm/components/render/ChangedWrapper.js +9 -5
  40. package/lib/ProForm/components/render/Render.js +11 -7
  41. package/lib/ProForm/index.js +10 -7
  42. package/lib/ProForm/utils/diffOriginal.js +0 -1
  43. package/lib/ProIcon/index.js +37 -22
  44. package/lib/ProIcon/propsTypes.d.ts +2 -0
  45. package/lib/ProTable/components/FormatColumn/index.js +69 -29
  46. package/lib/ProTable/components/RenderColumn/index.d.ts +2 -0
  47. package/lib/ProTable/components/RenderColumn/index.js +3 -5
  48. package/lib/ProTable/propsType.d.ts +4 -5
  49. package/lib/ProTable/style/index.less +27 -10
  50. package/lib/ProTable/utils/index.d.ts +2 -0
  51. package/lib/ProTable/utils/index.js +16 -3
  52. package/package.json +1 -1
@@ -1,3 +1,5 @@
1
+ import "antd/es/space/style";
2
+ import _Space from "antd/es/space";
1
3
  import "antd/es/button/style";
2
4
  import _Button from "antd/es/button";
3
5
  import "antd/es/tooltip/style";
@@ -5,7 +7,7 @@ import _Tooltip from "antd/es/tooltip";
5
7
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
6
8
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
7
9
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
8
- var _excluded = ["type", "onClick", "size", "color", "className", "style", "spin", "rotate", "theme", "disabled", "mode", "buttonProps", "children", "mapList", "src", "actionMap", "tooltip"];
10
+ var _excluded = ["type", "onClick", "size", "color", "className", "style", "spin", "rotate", "theme", "disabled", "mode", "buttonProps", "children", "mapList", "src", "actionMap", "tooltip", "buttonIcon"];
9
11
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
10
12
  import { useLocalStorageState, useSetState, useDeepCompareLayoutEffect } from 'ahooks';
11
13
  import classNames from 'classnames';
@@ -50,6 +52,8 @@ var ProIcon = function ProIcon(props) {
50
52
  src = _config.src,
51
53
  actionMap = _config.actionMap,
52
54
  tooltip = _config.tooltip,
55
+ _config$buttonIcon = _config.buttonIcon,
56
+ buttonIcon = _config$buttonIcon === void 0 ? true : _config$buttonIcon,
53
57
  reset = _objectWithoutProperties(_config, _excluded);
54
58
  var _useSetState = useSetState({
55
59
  IconInstance: _jsx(_Fragment, {})
@@ -130,6 +134,25 @@ var ProIcon = function ProIcon(props) {
130
134
  height: size
131
135
  }, rotateStyle), style)
132
136
  };
137
+ var icon = !src ? _jsx("svg", _objectSpread(_objectSpread({}, svgProps), {}, {
138
+ onClick: onClick,
139
+ "aria-hidden": "true",
140
+ children: _jsx("use", {
141
+ xlinkHref: "#icon-".concat(_type)
142
+ })
143
+ })) : _jsx(ReactSVG, _objectSpread(_objectSpread({}, svgProps), {}, {
144
+ // @ts-ignore
145
+ onClick: onClick,
146
+ "aria-hidden": "true",
147
+ src: src,
148
+ beforeInjection: function beforeInjection(svg) {
149
+ onBeforeInjection({
150
+ svg: svg,
151
+ actionMap: actionMap,
152
+ primaryColor: isQiankun ? qiankunPrimaryColor : primaryColor
153
+ });
154
+ }
155
+ }));
133
156
  var RenderIcon = _jsx("span", _objectSpread(_objectSpread({
134
157
  className: "anticon",
135
158
  style: {
@@ -138,7 +161,7 @@ var ProIcon = function ProIcon(props) {
138
161
  }, reset), {}, {
139
162
  children: _jsx(_Tooltip, {
140
163
  title: iconText,
141
- children: _jsx(_Button, _objectSpread({
164
+ children: buttonIcon ? _jsx(_Button, _objectSpread({
142
165
  style: {
143
166
  width: size,
144
167
  height: size,
@@ -148,26 +171,20 @@ var ProIcon = function ProIcon(props) {
148
171
  verticalAlign: 'baseline'
149
172
  },
150
173
  type: "text",
151
- icon: !src ? _jsx("svg", _objectSpread(_objectSpread({}, svgProps), {}, {
152
- onClick: onClick,
153
- "aria-hidden": "true",
154
- children: _jsx("use", {
155
- xlinkHref: "#icon-".concat(_type)
156
- })
157
- })) : _jsx(ReactSVG, _objectSpread(_objectSpread({}, svgProps), {}, {
158
- // @ts-ignore
159
- onClick: onClick,
160
- "aria-hidden": "true",
161
- src: src,
162
- beforeInjection: function beforeInjection(svg) {
163
- onBeforeInjection({
164
- svg: svg,
165
- actionMap: actionMap,
166
- primaryColor: isQiankun ? qiankunPrimaryColor : primaryColor
167
- });
168
- }
169
- }))
170
- }, buttonProps))
174
+ icon: icon
175
+ }, buttonProps)) : _jsx(_Space, {
176
+ children: _jsx("span", {
177
+ style: {
178
+ width: size,
179
+ height: size,
180
+ border: 'none',
181
+ borderRadius: 0,
182
+ padding: 0,
183
+ verticalAlign: 'baseline'
184
+ },
185
+ children: icon
186
+ })
187
+ })
171
188
  })
172
189
  }));
173
190
  useEffect(function () {
@@ -99,5 +99,7 @@ export interface ProIconProps {
99
99
  * @default
100
100
  */
101
101
  actionMap?: actionMap;
102
+ /** 内部使用 */
103
+ buttonIcon?: boolean;
102
104
  }
103
105
  export {};
@@ -113,9 +113,9 @@ export var formatColumn = function formatColumn(_ref2) {
113
113
  }
114
114
  };
115
115
  if (column === null || column === void 0 ? void 0 : column.render) {
116
- if (!originalObj && Object.keys(originalObj !== null && originalObj !== void 0 ? originalObj : {}).length === 0 && !onDiff) {
117
- return;
118
- }
116
+ // if (!originalObj && Object.keys(originalObj ?? {}).length === 0 && !onDiff) {
117
+ // return;
118
+ // }
119
119
  var originalRender = column.render; // 保存原始的 render 方法
120
120
  // 自定义render 手动重载下
121
121
  column.render = function (value, record, index) {
@@ -123,8 +123,10 @@ export var formatColumn = function formatColumn(_ref2) {
123
123
  var _value = isFn ? originalRender === null || originalRender === void 0 ? void 0 : originalRender(value, record !== null && record !== void 0 ? record : {}, index) : null;
124
124
  var originalResult = getOriginalValue(value, record !== null && record !== void 0 ? record : {}, originalObj, rowKey, dataIndex);
125
125
  var originalValue = originalResult.originalValue;
126
- var isChanged = originalResult.isChanged;
126
+ var isChanged = originalResult.isChanged,
127
+ isAddCell = originalResult.isAddCell;
127
128
  var isInNewRowFlag = isInNewRow(record);
129
+ var _isAddCell = isAddCell;
128
130
  otherProps.isChanged = isChanged;
129
131
  // 存在比对
130
132
  if (isFunction(otherProps === null || otherProps === void 0 ? void 0 : otherProps.viewRender) && (diffConfig === null || diffConfig === void 0 ? void 0 : diffConfig.originalDataSource)) {
@@ -142,6 +144,27 @@ export var formatColumn = function formatColumn(_ref2) {
142
144
  }
143
145
  originalValue = diffResult;
144
146
  }
147
+ // 存在自定义onDiff比对
148
+ if (isFunction(onDiff)) {
149
+ var _originalObj$record$r2;
150
+ var _diffResult = onDiff({
151
+ originalValue: originalValue,
152
+ originalRecord: (_originalObj$record$r2 = originalObj === null || originalObj === void 0 ? void 0 : originalObj[record === null || record === void 0 ? void 0 : record[rowKey]]) !== null && _originalObj$record$r2 !== void 0 ? _originalObj$record$r2 : {},
153
+ value: value,
154
+ record: record,
155
+ index: index
156
+ });
157
+ if (_diffResult === 'changed') {
158
+ otherProps.isChanged = true;
159
+ }
160
+ if (_diffResult === 'same') {
161
+ otherProps.isChanged = false;
162
+ }
163
+ if (_diffResult === 'add') {
164
+ _isAddCell = true;
165
+ otherProps.isChanged = false;
166
+ }
167
+ }
145
168
  return _jsx(RenderColumn, _objectSpread(_objectSpread({}, otherProps), {}, {
146
169
  valueType: valueType,
147
170
  originalValue: isEmpty(originalValue) ? null : originalValue,
@@ -152,7 +175,8 @@ export var formatColumn = function formatColumn(_ref2) {
152
175
  currentValue: _value,
153
176
  toolTipProps: _toolTipProps,
154
177
  minWidth: minWidth,
155
- isInNewRowFlag: isInNewRowFlag
178
+ isInNewRowFlag: isInNewRowFlag,
179
+ isAddCell: _isAddCell
156
180
  }));
157
181
  };
158
182
  return;
@@ -177,8 +201,9 @@ export var formatColumn = function formatColumn(_ref2) {
177
201
  var realValue = tools.calc(Number(value !== null && value !== void 0 ? value : 0), '*', multiple);
178
202
  var renderValue = getDecimalDigits(value) > valueTypePrecision ? realValue : realValue.toFixed(valueTypePrecision);
179
203
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
180
- var originalValue = originalResult.originalValue;
181
- var isChanged = originalResult.isChanged;
204
+ var isChanged = originalResult.isChanged,
205
+ originalValue = originalResult.originalValue,
206
+ isAddCell = originalResult.isAddCell;
182
207
  otherProps.isChanged = isChanged;
183
208
  var originalRealValue = tools.calc(Number(originalValue || null), '*', multiple);
184
209
  var originalRenderValue = getDecimalDigits(originalValue) > valueTypePrecision ? originalRealValue : originalRealValue.toFixed(valueTypePrecision);
@@ -208,7 +233,8 @@ export var formatColumn = function formatColumn(_ref2) {
208
233
  currentValue: renderValue,
209
234
  toolTipProps: _toolTipProps,
210
235
  minWidth: minWidth,
211
- isInNewRowFlag: isInNewRowFlag
236
+ isInNewRowFlag: isInNewRowFlag,
237
+ isAddCell: isAddCell
212
238
  }));
213
239
  };
214
240
  // 千分位, 千分位带CNY前缀
@@ -217,8 +243,9 @@ export var formatColumn = function formatColumn(_ref2) {
217
243
  var valueStr = valueTypePrecision ? "".concat(Number(value).toFixed(valueTypePrecision)) : "".concat(value);
218
244
  var renderValue = valueStr.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
219
245
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
220
- var originalValue = originalResult.originalValue;
221
- var isChanged = originalResult.isChanged;
246
+ var isChanged = originalResult.isChanged,
247
+ originalValue = originalResult.originalValue,
248
+ isAddCell = originalResult.isAddCell;
222
249
  otherProps.isChanged = isChanged;
223
250
  var originalRealValue = valueTypePrecision ? "".concat(Number(originalValue).toFixed(valueTypePrecision)) : "".concat(originalValue);
224
251
  var originalRenderValue = originalRealValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
@@ -248,7 +275,8 @@ export var formatColumn = function formatColumn(_ref2) {
248
275
  currentValue: renderValue,
249
276
  toolTipProps: _toolTipProps,
250
277
  minWidth: minWidth,
251
- isInNewRowFlag: isInNewRowFlag
278
+ isInNewRowFlag: isInNewRowFlag,
279
+ isAddCell: isAddCell
252
280
  }));
253
281
  };
254
282
  } else if (['datePicker', 'date', 'dateTime', 'dateStartTime', 'dateEndTime', 'dateStartEndTime'].includes(valueType)) {
@@ -256,8 +284,9 @@ export var formatColumn = function formatColumn(_ref2) {
256
284
  var _moment, _moment2, _moment3, _moment4, _moment5, _moment6, _moment7, _moment8, _moment9, _moment10, _moment11, _moment12, _moment13, _moment14;
257
285
  var renderValue = (_moment = moment(value)) === null || _moment === void 0 ? void 0 : _moment.format(format);
258
286
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
259
- var originalValue = originalResult.originalValue;
260
- var isChanged = originalResult.isChanged;
287
+ var isChanged = originalResult.isChanged,
288
+ originalValue = originalResult.originalValue,
289
+ isAddCell = originalResult.isAddCell;
261
290
  otherProps.isChanged = isChanged;
262
291
  var originalRenderValue = (_moment2 = moment(originalValue)) === null || _moment2 === void 0 ? void 0 : _moment2.format(format);
263
292
  switch (valueType) {
@@ -311,7 +340,8 @@ export var formatColumn = function formatColumn(_ref2) {
311
340
  currentValue: renderValue,
312
341
  toolTipProps: _toolTipProps,
313
342
  minWidth: minWidth,
314
- isInNewRowFlag: isInNewRowFlag
343
+ isInNewRowFlag: isInNewRowFlag,
344
+ isAddCell: isAddCell
315
345
  }));
316
346
  };
317
347
  } else if (['enumName', 'enumCodeName'].includes(valueType)) {
@@ -319,8 +349,9 @@ export var formatColumn = function formatColumn(_ref2) {
319
349
  var realCode = typeof code === 'function' ? code(value, record) : code;
320
350
  var renderValue = getEnumLabel(realCode, value, valueType === 'enumCodeName');
321
351
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
322
- var originalValue = originalResult.originalValue;
323
- var isChanged = originalResult.isChanged;
352
+ var isChanged = originalResult.isChanged,
353
+ originalValue = originalResult.originalValue,
354
+ isAddCell = originalResult.isAddCell;
324
355
  otherProps.isChanged = isChanged;
325
356
  var originalRenderValue = getEnumLabel(realCode, originalValue, valueType === 'enumCodeName');
326
357
  if (Array.isArray(column === null || column === void 0 ? void 0 : column.codeValues) && !realCode) {
@@ -354,15 +385,17 @@ export var formatColumn = function formatColumn(_ref2) {
354
385
  currentValue: renderValue,
355
386
  toolTipProps: _toolTipProps,
356
387
  minWidth: minWidth,
357
- isInNewRowFlag: isInNewRowFlag
388
+ isInNewRowFlag: isInNewRowFlag,
389
+ isAddCell: isAddCell
358
390
  }));
359
391
  };
360
392
  } else if (precision || prefix || suffix) {
361
393
  column.render = function (value, record, index) {
362
394
  var renderValue = value === 'number' ? value.toFixed(precision) : value;
363
395
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
364
- var originalValue = originalResult.originalValue;
365
- var isChanged = originalResult.isChanged;
396
+ var isChanged = originalResult.isChanged,
397
+ originalValue = originalResult.originalValue,
398
+ isAddCell = originalResult.isAddCell;
366
399
  otherProps.isChanged = isChanged;
367
400
  var originalRenderValue = originalValue === 'number' ? originalValue.toFixed(precision) : originalValue;
368
401
  var node = _jsxs(_Space, {
@@ -391,7 +424,8 @@ export var formatColumn = function formatColumn(_ref2) {
391
424
  currentValue: renderValue,
392
425
  toolTipProps: _toolTipProps,
393
426
  minWidth: minWidth,
394
- isInNewRowFlag: isInNewRowFlag
427
+ isInNewRowFlag: isInNewRowFlag,
428
+ isAddCell: isAddCell
395
429
  }));
396
430
  };
397
431
  } else if (valueType === 'address') {
@@ -399,8 +433,9 @@ export var formatColumn = function formatColumn(_ref2) {
399
433
  var _realValue$filter;
400
434
  var realValue = transform ? transform(value, record) : value;
401
435
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
402
- var originalValue = originalResult.originalValue;
403
- var isChanged = originalResult.isChanged;
436
+ var isChanged = originalResult.isChanged,
437
+ originalValue = originalResult.originalValue,
438
+ isAddCell = originalResult.isAddCell;
404
439
  otherProps.isChanged = isChanged;
405
440
  var originalRealValue = transform ? transform(originalValue, record) : originalValue;
406
441
  var isEmpty = !realValue || Array.isArray(realValue) && (realValue === null || realValue === void 0 ? void 0 : (_realValue$filter = realValue.filter(function (item) {
@@ -448,7 +483,8 @@ export var formatColumn = function formatColumn(_ref2) {
448
483
  currentValue: renderValue,
449
484
  toolTipProps: _toolTipProps,
450
485
  minWidth: minWidth,
451
- isInNewRowFlag: isInNewRowFlag
486
+ isInNewRowFlag: isInNewRowFlag,
487
+ isAddCell: isAddCell
452
488
  }));
453
489
  };
454
490
  } else if (copyable) {
@@ -473,8 +509,9 @@ export var formatColumn = function formatColumn(_ref2) {
473
509
  } else if (ellipsis) {
474
510
  column.render = function (value, record, index) {
475
511
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
476
- var originalValue = originalResult.originalValue;
477
- var isChanged = originalResult.isChanged;
512
+ var isChanged = originalResult.isChanged,
513
+ originalValue = originalResult.originalValue,
514
+ isAddCell = originalResult.isAddCell;
478
515
  otherProps.isChanged = isChanged;
479
516
  if (!value && value !== 0 && value === originalValue) {
480
517
  _jsx("div", {
@@ -497,15 +534,17 @@ export var formatColumn = function formatColumn(_ref2) {
497
534
  currentValue: value || '-',
498
535
  toolTipProps: _toolTipProps,
499
536
  minWidth: minWidth,
500
- isInNewRowFlag: isInNewRowFlag
537
+ isInNewRowFlag: isInNewRowFlag,
538
+ isAddCell: isAddCell
501
539
  })), suffixNode(value, record, index)]
502
540
  });
503
541
  };
504
542
  } else {
505
543
  column.render = function (value, record, index) {
506
544
  var originalResult = getOriginalValue(value, record, originalObj, rowKey, dataIndex);
507
- var originalValue = originalResult.originalValue;
508
- var isChanged = originalResult.isChanged;
545
+ var isChanged = originalResult.isChanged,
546
+ originalValue = originalResult.originalValue,
547
+ isAddCell = originalResult.isAddCell;
509
548
  otherProps.isChanged = isChanged;
510
549
  var node = _jsxs(_Space, {
511
550
  size: 8,
@@ -530,7 +569,8 @@ export var formatColumn = function formatColumn(_ref2) {
530
569
  currentValue: value || '-',
531
570
  toolTipProps: _toolTipProps,
532
571
  minWidth: minWidth,
533
- isInNewRowFlag: isInNewRowFlag
572
+ isInNewRowFlag: isInNewRowFlag,
573
+ isAddCell: isAddCell
534
574
  }));
535
575
  };
536
576
  }
@@ -13,6 +13,8 @@ interface Props {
13
13
  minWidth?: number;
14
14
  isInNewRowFlag?: boolean;
15
15
  isChanged?: boolean;
16
+ /** 新增单元格字段 */
17
+ isAddCell?: boolean;
16
18
  }
17
19
  declare const RenderColumn: FC<Props>;
18
20
  export default RenderColumn;
@@ -37,7 +37,8 @@ var RenderColumn = function RenderColumn(props) {
37
37
  tooltip = _useSetState2[0].tooltip,
38
38
  setState = _useSetState2[1];
39
39
  var cellDiffCls = classNames({
40
- 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged
40
+ 'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
41
+ 'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
41
42
  });
42
43
  // 比对场景走的逻辑
43
44
  if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
@@ -97,10 +98,7 @@ var RenderColumn = function RenderColumn(props) {
97
98
  children: renderNode
98
99
  }));
99
100
  }
100
- if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
101
- return renderNode;
102
- }
103
- return _jsx("span", {
101
+ return _jsx("div", {
104
102
  className: cellDiffCls,
105
103
  style: {
106
104
  width: width,
@@ -40,11 +40,10 @@ export interface ProTableColumn extends Omit<ColumnType<any>, 'dataIndex'> {
40
40
  toolTipProps?: TooltipProps & React.RefAttributes<unknown>;
41
41
  transform?: (value: any, record?: any) => string[];
42
42
  show?: boolean | (() => boolean);
43
- onDiff?: ({ value, originValue }: {
44
- value: any;
45
- originValue: any;
46
- }) => boolean;
47
- viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => any;
43
+ /** 自定义比对函数, 触发条件必须写render */
44
+ onDiff?: ({ value, record, index, originalValue, originalRecord }: any) => any;
45
+ /** 自定义提示render, 触发条件必须写render */
46
+ viewRender?: ({ value, record, index, originalValue, originalRecord }: any) => 'same' | 'changed' | 'add' | undefined;
48
47
  isChanged?: boolean | null;
49
48
  }
50
49
  export interface CreateTreeFromArrayOptions {
@@ -277,16 +277,30 @@
277
277
  }
278
278
  }
279
279
 
280
- .@{ant-prefix}-table-cell .varied-cell {
281
- margin-left: -8px;
282
- padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
283
-
284
- background: var(--zaui-contract-bg; #fffaa1) !important;
285
- border-radius: var(--zaui-border-radius, 8px);
286
- .pro-form-view-container {
287
- overflow: hidden;
288
- white-space: nowrap;
289
- text-overflow: ellipsis;
280
+ .@{ant-prefix}-table-cell {
281
+ .varied-cell {
282
+ display: block;
283
+ margin-left: -8px;
284
+ padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
285
+ background-color: var(--zaui-contract-bg; #fffaa1) !important;
286
+ border-radius: var(--zaui-border-radius, 8px);
287
+ .pro-form-view-container {
288
+ overflow: hidden;
289
+ white-space: nowrap;
290
+ text-overflow: ellipsis;
291
+ }
292
+ }
293
+ .add-cell{
294
+ display: block;
295
+ margin-left: -8px;
296
+ padding: var(--zaui-space-size-xs, 4px) var(--zaui-space-size-sm, 8px);
297
+ background-color: var(--zaui-contract-bg-add, #d2fff4) !important;
298
+ border-radius: var(--zaui-border-radius, 8px);
299
+ .pro-form-view-container {
300
+ overflow: hidden;
301
+ white-space: nowrap;
302
+ text-overflow: ellipsis;
303
+ }
290
304
  }
291
305
  }
292
306
 
@@ -586,5 +600,8 @@
586
600
  .@{ant-prefix}-table{
587
601
  .original-value-tooltip{
588
602
  position: fixed;
603
+ &.@{ant-prefix}-tooltip > @{ant-prefix}-tooltip-content > @{ant-prefix}-tooltip-inner{
604
+ width: max-content;
605
+ }
589
606
  }
590
607
  }
@@ -12,9 +12,11 @@ export declare const getDecimalDigits: (num?: number) => number;
12
12
  * @param any originalObj
13
13
  * @param {any} dataIndex
14
14
  * @return {any} isChanged 返回bool值,表示存在比对
15
+ * @return {any} isAddCell 返回bool值,表示存在比对
15
16
  */
16
17
  export declare const getOriginalValue: (value: any, record: any, originalObj: any, rowKey: any, dataIndex: any) => {
17
18
  originalValue: any;
19
+ isAddCell: boolean;
18
20
  isChanged: boolean;
19
21
  };
20
22
  export declare const getColumnDataIndex: (dataIndex: string | string[]) => string;
@@ -1,4 +1,6 @@
1
1
  import { get, isEqual } from 'lodash';
2
+ import { validate } from '@zat-design/utils';
3
+ var isEmpty = validate.isEmpty;
2
4
  /**
3
5
  * 获取小数点后的位数
4
6
  * @param num 数字
@@ -17,25 +19,36 @@ export var getDecimalDigits = function getDecimalDigits() {
17
19
  * @param any originalObj
18
20
  * @param {any} dataIndex
19
21
  * @return {any} isChanged 返回bool值,表示存在比对
22
+ * @return {any} isAddCell 返回bool值,表示存在比对
20
23
  */
21
24
  export var getOriginalValue = function getOriginalValue(value, record, originalObj, rowKey, dataIndex) {
22
25
  if (!originalObj) {
23
26
  return {
24
27
  originalValue: null,
25
- isChanged: null
28
+ isChanged: null,
29
+ isAddCell: null
26
30
  };
27
31
  }
28
32
  var originalRecord = get(originalObj, get(record, rowKey));
29
33
  var originalValue = get(originalRecord, dataIndex);
34
+ if (isEmpty(originalValue) && !isEmpty(value)) {
35
+ return {
36
+ originalValue: originalValue,
37
+ isAddCell: true,
38
+ isChanged: false
39
+ };
40
+ }
30
41
  if (!isEqual(originalValue, value)) {
31
42
  return {
32
43
  originalValue: originalValue,
33
- isChanged: true
44
+ isChanged: true,
45
+ isAddCell: false
34
46
  };
35
47
  }
36
48
  return {
37
49
  originalValue: null,
38
- isChanged: false
50
+ isChanged: false,
51
+ isAddCell: false
39
52
  };
40
53
  };
41
54
  export var getColumnDataIndex = function getColumnDataIndex(dataIndex) {
@@ -114,8 +114,8 @@ var ProConfigProvider = exports.ProConfigProvider = function ProConfigProvider(p
114
114
  },
115
115
  children: (0, _jsxRuntime.jsx)(_antd.ConfigProvider, {
116
116
  locale: antdLangMap[lang],
117
- children: (0, _jsxRuntime.jsxs)("div", {
118
- children: [" ", props.children]
117
+ children: (0, _jsxRuntime.jsx)("div", {
118
+ children: props.children
119
119
  })
120
120
  })
121
121
  });
@@ -125,9 +125,11 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
125
125
  if (!isWatch || noChange) return 'same';
126
126
  var _value = normalize ? normalize(props[valuePropName], undefined, undefined, true) // true 代表是值比对时的调用
127
127
  : props[valuePropName];
128
+ // fix:修复 InputNumber 时,originalValue 为 '0' 时,显示为 changed的问题
129
+ var _originalValue = normalize && ['InputNumber', 'ProNumberRange'].includes(props.type) ? normalize(props[valuePropName], undefined, undefined, true) : originalValue;
128
130
  return (0, _diffOriginal.diffOriginal)({
129
131
  value: _value,
130
- originalValue: originalValue,
132
+ originalValue: _originalValue,
131
133
  form: form,
132
134
  equalWith: equalWith
133
135
  // name: isString(namesStr) ? namesStr : originalName || name,
@@ -82,7 +82,8 @@ var RenderField = function RenderField(_ref) {
82
82
  _config$validateTrigg = config.validateTrigger,
83
83
  validateTrigger = _config$validateTrigg === void 0 ? ['onChange', 'onBlur', 'onSubmit'] : _config$validateTrigg,
84
84
  otherProps = config.otherProps,
85
- diffConfig = config.diffConfig;
85
+ diffConfig = config.diffConfig,
86
+ getIsNew = config.getIsNew;
86
87
  var _fieldProps = fieldProps || formItemProps || {};
87
88
  var _rules = rules || [];
88
89
  var _required = required;
@@ -553,7 +554,7 @@ var RenderField = function RenderField(_ref) {
553
554
  var _componentProps;
554
555
  var FormItem = null;
555
556
  var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? (/*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
556
- if (originalValues) {
557
+ if (originalValues && !getIsNew(record)) {
557
558
  FieldComponent = (0, _jsxRuntime.jsx)(_ListChangedWrapper.default, {
558
559
  name: cellName,
559
560
  names: names,
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
13
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -130,17 +129,9 @@ var ProEditTable = function ProEditTable(_ref, ref) {
130
129
  }
131
130
  return key;
132
131
  };
133
- var IsNew = function IsNew(preArr, record) {
134
- var _preArr$find;
135
- if (!(preArr === null || preArr === void 0 ? void 0 : preArr.length)) {
136
- return false;
137
- }
138
- return !(preArr === null || preArr === void 0 ? void 0 : (_preArr$find = preArr.find) === null || _preArr$find === void 0 ? void 0 : _preArr$find.call(preArr, function (item) {
139
- return getRowKey(item) === getRowKey(record);
140
- }));
141
- };
142
132
  var originalValues = (0, _react.useMemo)(function () {
143
133
  var _originalArr$every, _originalArr$some;
134
+ var nextOriginalValues;
144
135
  // 原始值也需要设置对应的rowkey,后续比对通过rowkey对比
145
136
  var originalArr = (0, _lodash.get)(resetProps === null || resetProps === void 0 ? void 0 : resetProps.originalValues, name);
146
137
  var isOriginalAllHasKey = originalArr ? originalArr === null || originalArr === void 0 ? void 0 : (_originalArr$every = originalArr.every) === null || _originalArr$every === void 0 ? void 0 : _originalArr$every.call(originalArr, function (item) {
@@ -156,8 +147,22 @@ var ProEditTable = function ProEditTable(_ref, ref) {
156
147
  item.rowKey = getRowKey(item);
157
148
  });
158
149
  }
159
- return (originalArr === null || originalArr === void 0 ? void 0 : originalArr.length) ? (0, _defineProperty2.default)({}, name, originalArr) : undefined;
150
+ if (originalArr === null || originalArr === void 0 ? void 0 : originalArr.length) {
151
+ nextOriginalValues = {};
152
+ (0, _lodash.set)(nextOriginalValues, name, originalArr);
153
+ }
154
+ return nextOriginalValues;
160
155
  }, [resetProps === null || resetProps === void 0 ? void 0 : resetProps.originalValues]);
156
+ var getIsNew = function getIsNew(record) {
157
+ var _originalArr$find;
158
+ var originalArr = (0, _lodash.get)(originalValues, name);
159
+ if (!(originalArr === null || originalArr === void 0 ? void 0 : originalArr.length)) {
160
+ return false;
161
+ }
162
+ return !(originalArr === null || originalArr === void 0 ? void 0 : (_originalArr$find = originalArr.find) === null || _originalArr$find === void 0 ? void 0 : _originalArr$find.call(originalArr, function (item) {
163
+ return getRowKey(item) === getRowKey(record);
164
+ }));
165
+ };
161
166
  var config = (0, _objectSpread2.default)({
162
167
  form: form,
163
168
  mode: mode,
@@ -191,14 +196,14 @@ var ProEditTable = function ProEditTable(_ref, ref) {
191
196
  prefixCls: prefixCls,
192
197
  rowDisabled: rowDisabled,
193
198
  actionDirection: actionDirection,
194
- diffConfig: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps === null || resetProps === void 0 ? void 0 : (_resetProps$otherProp = resetProps.otherProps) === null || _resetProps$otherProp === void 0 ? void 0 : _resetProps$otherProp.diffConfig), diffConfig)
199
+ diffConfig: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, resetProps === null || resetProps === void 0 ? void 0 : (_resetProps$otherProp = resetProps.otherProps) === null || _resetProps$otherProp === void 0 ? void 0 : _resetProps$otherProp.diffConfig), diffConfig),
200
+ getIsNew: getIsNew
195
201
  }, resetProps);
196
202
  // 编辑行设置下样式
197
203
  var _rowClassName = function _rowClassName(record) {
198
204
  var isEdit = !virtualKey || editingKeys.includes(record.rowKey);
199
205
  var className = isEdit ? 'is-editing' : '';
200
- var originalArr = (0, _lodash.get)(originalValues, name);
201
- if (IsNew(originalArr, record)) {
206
+ if (getIsNew(record)) {
202
207
  return "is-new-row ".concat(className);
203
208
  }
204
209
  return className;
@@ -28,6 +28,8 @@ function useEnum(codes, value, compose) {
28
28
  _ref3$clear = _ref3.clear,
29
29
  clear = _ref3$clear === void 0 ? true : _ref3$clear;
30
30
  var catchData = (0, _utils.getEnumData)(storage, cacheKey, baseEnumStorage);
31
+ // 默认枚举缓存数据
32
+ baseEnumStorage = catchData;
31
33
  if (!codes) {
32
34
  return catchData;
33
35
  }