@zat-design/sisyphus-react 3.6.8-beta.5 → 3.6.9-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.
@@ -1,7 +1,5 @@
1
1
  import "antd/es/col/style";
2
2
  import _Col from "antd/es/col";
3
- import "antd/es/tooltip/style";
4
- import _Tooltip from "antd/es/tooltip";
5
3
  import "antd/es/space/style";
6
4
  import _Space from "antd/es/space";
7
5
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
@@ -13,7 +11,6 @@ import "antd/es/form/style";
13
11
  import _Form from "antd/es/form";
14
12
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
15
13
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
16
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
17
14
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
18
15
  var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className", "rules", "required", "labelRequired", "tooltip"];
19
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
@@ -28,10 +25,10 @@ import { isTrim, isUpperCase, findOptionByValue, parseNamePath } from '../../uti
28
25
  import { useProConfig } from '../../../ProConfigProvider';
29
26
  import transformNames from '../../utils/transformNames';
30
27
  import valueTypeMap from '../../utils/valueType';
31
- import { useChanged } from '../../utils/useChanged';
32
28
  import tipSvg from '../../../assets/tip.svg';
33
29
  import useRules from '../../utils/useRules';
34
30
  import ConfirmWrapper from './ConfirmWrapper';
31
+ import Changed from './Changed';
35
32
  // 这个组件只管渲染, 参数的整理在外部处理
36
33
  var Render = function Render(props) {
37
34
  var _ref2, _ref3, _ref4, _ref5, _otherProps$names2;
@@ -101,18 +98,6 @@ var Render = function Render(props) {
101
98
  return Array.isArray(name) ? name.join('_') : name;
102
99
  }).join('-');
103
100
  }, [otherProps === null || otherProps === void 0 ? void 0 : otherProps.names]);
104
- // 判断当前字段是否变更
105
- var _useChanged = useChanged({
106
- name: formItemProps.name,
107
- names: otherProps.names,
108
- namesStr: namesStr,
109
- originalValues: originalValues,
110
- form: form,
111
- equalWith: equalWith
112
- }),
113
- _useChanged2 = _slicedToArray(_useChanged, 2),
114
- changed = _useChanged2[0],
115
- originalValue = _useChanged2[1];
116
101
  var internalRule = useRules({
117
102
  names: otherProps.names,
118
103
  label: otherFormItemProps.label,
@@ -184,7 +169,7 @@ var Render = function Render(props) {
184
169
  var lastComponentProps = _objectSpread(_objectSpread(_objectSpread({}, componentProps), _fieldProps), {}, {
185
170
  disabled: lastDisabled
186
171
  });
187
- var _className = classNames(_defineProperty(_defineProperty(_defineProperty({}, className, className), 'pro-form-item-changed', changed), 'pro-form-item-width-auto', ['Switch'].includes(type)));
172
+ var _className = classNames(_defineProperty(_defineProperty({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
188
173
  if (formItemProps.hidden === true || _show === false) {
189
174
  // 为了监听shouldUpdate 必须存在一个FormItem, 空Input解决 【[antd: Form.Item] `name` is only used for validate React element】
190
175
  return _jsx(_Form.Item, {
@@ -446,7 +431,17 @@ var Render = function Render(props) {
446
431
  // @ts-ignore
447
432
  _internalItemRender: internalItemRender,
448
433
  className: _className,
449
- children: child
434
+ children: _jsx(Changed, {
435
+ name: formItemProps.name,
436
+ names: otherProps.names,
437
+ namesStr: namesStr,
438
+ originalValues: originalValues,
439
+ form: form,
440
+ equalWith: equalWith,
441
+ originalDiffTip: originalDiffTip,
442
+ type: type,
443
+ children: child
444
+ })
450
445
  }));
451
446
  var formItem = orgFormItem;
452
447
  // 当存在shouldUpdate时捕获所有form变更(防止表单onchange设置form值时无法更新的问题)
@@ -462,32 +457,23 @@ var Render = function Render(props) {
462
457
  // @ts-ignore
463
458
  _internalItemRender: internalItemRender,
464
459
  className: _className,
465
- children: child
460
+ children: _jsx(Changed, {
461
+ name: formItemProps.name,
462
+ names: otherProps.names,
463
+ namesStr: namesStr,
464
+ originalValues: originalValues,
465
+ form: form,
466
+ equalWith: equalWith,
467
+ originalDiffTip: originalDiffTip,
468
+ type: type,
469
+ children: child
470
+ })
466
471
  }));
467
472
  }
468
473
  })
469
474
  });
470
475
  }
471
- // 不渲染tooltip
472
- if (!originalDiffTip || ['FormList', 'ProEditTable'].includes(type)) {
473
- return formItem;
474
- }
475
- var title = _jsxs(_Space, {
476
- children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, child), {}, {
477
- isView: true,
478
- value: originalValue,
479
- checked: type === 'Switch' ? originalValue : undefined
480
- }))]
481
- });
482
- return _jsx(_Tooltip, {
483
- title: title,
484
- open: changed ? undefined : false,
485
- // open={true}
486
- getPopupContainer: function getPopupContainer(target) {
487
- return target.parentElement;
488
- },
489
- children: formItem
490
- });
476
+ return formItem;
491
477
  };
492
478
  var FormItem = _jsxs(_Fragment, {
493
479
  children: [renderItem(), (otherProps === null || otherProps === void 0 ? void 0 : (_otherProps$names2 = otherProps.names) === null || _otherProps$names2 === void 0 ? void 0 : _otherProps$names2.length) ? otherProps.names.map(function (name) {
@@ -116,58 +116,6 @@
116
116
  }
117
117
  }
118
118
 
119
- // 比较原始值场景下 不同时的样式
120
- &.pro-form-item-changed {
121
- span.@{ant-prefix}-input-affix-wrapper,
122
- .@{ant-prefix}-select-selector,
123
- .@{ant-prefix}-picker,
124
- .@{ant-prefix}-input-number {
125
- background: @zaui-contract-bg !important;
126
-
127
- input {
128
- background: transparent;
129
- }
130
- .@{ant-prefix}-select-selection-placeholder {
131
- z-index: 9;
132
- }
133
- }
134
-
135
- .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
136
- .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
137
- background: @zaui-contract-bg;
138
- border-radius: 4px;
139
- }
140
-
141
- // 地址组件
142
- .@{ant-prefix}-form-item-control-input-content {
143
- // 查看模式
144
- & > span {
145
- border-radius: 4px;
146
- padding: 5px 8px;
147
- background: @zaui-contract-bg;
148
- }
149
-
150
- & > .pro-address {
151
- .@{ant-prefix}-select-selector,
152
- .@{ant-prefix}-input-affix-wrapper,
153
- .@{ant-prefix}-input-disabled {
154
- background: @zaui-contract-bg;
155
- }
156
- }
157
- & > .@{ant-prefix}-input-group {
158
- .forever-checkbox {
159
- background: @zaui-contract-bg;
160
- }
161
- }
162
- }
163
-
164
- .pro-form-view-container {
165
- padding: 4px 8px;
166
- background: @zaui-contract-bg;
167
- border-radius: 4px;
168
- }
169
- }
170
-
171
119
  .@{ant-prefix}-row {
172
120
  width: 100%;
173
121
  }
@@ -373,4 +321,56 @@
373
321
  }
374
322
  }
375
323
  }
324
+
325
+ // 比较原始值场景下 不同时的样式
326
+ .pro-form-item-changed {
327
+ span.@{ant-prefix}-input-affix-wrapper,
328
+ .@{ant-prefix}-select-selector,
329
+ .@{ant-prefix}-picker,
330
+ .@{ant-prefix}-input-number {
331
+ background: @zaui-contract-bg !important;
332
+
333
+ input {
334
+ background: transparent;
335
+ }
336
+ .@{ant-prefix}-select-selection-placeholder {
337
+ z-index: 9;
338
+ }
339
+ }
340
+
341
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-switch-handle),
342
+ .@{ant-prefix}-form-item-control:has(.@{ant-prefix}-checkbox-wrapper-in-form-item) {
343
+ background: @zaui-contract-bg;
344
+ border-radius: 4px;
345
+ }
346
+
347
+ // 地址组件
348
+ .@{ant-prefix}-form-item-control-input-content {
349
+ // 查看模式
350
+ & > span {
351
+ border-radius: 4px;
352
+ padding: 5px 8px;
353
+ background: @zaui-contract-bg;
354
+ }
355
+
356
+ & > .pro-address {
357
+ .@{ant-prefix}-select-selector,
358
+ .@{ant-prefix}-input-affix-wrapper,
359
+ .@{ant-prefix}-input-disabled {
360
+ background: @zaui-contract-bg;
361
+ }
362
+ }
363
+ & > .@{ant-prefix}-input-group {
364
+ .forever-checkbox {
365
+ background: @zaui-contract-bg;
366
+ }
367
+ }
368
+ }
369
+
370
+ .pro-form-view-container {
371
+ padding: 4px 8px;
372
+ background: @zaui-contract-bg;
373
+ border-radius: 4px;
374
+ }
375
+ }
376
376
  }
@@ -3,7 +3,6 @@ interface Params {
3
3
  originalValue: any;
4
4
  value: any;
5
5
  form: FormInstance;
6
- name?: string | any[];
7
6
  equalWith?: (originalValue: any, currentValue: any) => boolean;
8
7
  }
9
8
  export declare const diffOriginal: (params: Params) => boolean;
@@ -1,31 +1,9 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import { isEqual, isFunction, isString } from 'lodash';
1
+ import { isEqual, isFunction } from 'lodash';
3
2
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
4
- /** 将解构后的name值,反向转回names,例如 formData {a:1, b:2} names ['a', 'b'] 返回 [1,2] */
5
- var extractValues = function extractValues(form, pathString) {
6
- var _pathString;
7
- var result = [];
8
- var PrefixesName = isString(pathString) ? [] : pathString.slice(0, -1);
9
- if (isString(pathString)) {
10
- pathString.split('-').forEach(function (item) {
11
- result.push(form.getFieldValue([].concat(_toConsumableArray(PrefixesName), [item])));
12
- });
13
- return result;
14
- }
15
- (_pathString = pathString[pathString.length - 1]) === null || _pathString === void 0 ? void 0 : _pathString.split('-').forEach(function (item) {
16
- result.push(form.getFieldValue([].concat(_toConsumableArray(PrefixesName), [item])));
17
- });
18
- return result;
19
- };
20
3
  export var diffOriginal = function diffOriginal(params) {
21
- var _name$join;
22
4
  var originalValue = params.originalValue,
23
- _value = params.value,
24
- equalWith = params.equalWith,
25
- form = params.form,
26
- name = params.name;
27
- var isNames = Array.isArray(name) && ((_name$join = name.join(',')) === null || _name$join === void 0 ? void 0 : _name$join.includes('-')) || (name === null || name === void 0 ? void 0 : name.includes('-'));
28
- var value = !isNames ? _value : extractValues(form, name);
5
+ value = params.value,
6
+ equalWith = params.equalWith;
29
7
  // 支持传入自定义比较事件
30
8
  if (isFunction(equalWith)) {
31
9
  return !equalWith(originalValue, value);
@@ -40,8 +18,7 @@ export var diffOriginal = function diffOriginal(params) {
40
18
  });
41
19
  }
42
20
  if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
43
- var res = !isEqual(value, originalValue);
44
- return res;
21
+ return !isEqual(value, originalValue);
45
22
  }
46
23
  return false;
47
24
  };
@@ -19,8 +19,7 @@ export var useChanged = function useChanged(_ref) {
19
19
  originalValue: originalValue,
20
20
  value: value,
21
21
  form: form,
22
- equalWith: equalWith,
23
- name: namesStr || name
22
+ equalWith: equalWith
24
23
  });
25
24
  return [changed, originalValue];
26
25
  };
@@ -1,6 +1,6 @@
1
1
  import "antd/es/form/style";
2
2
  import _Form from "antd/es/form";
3
- import { get, isString } from 'lodash';
3
+ import { get } from 'lodash';
4
4
  import { diffOriginal } from './diffOriginal';
5
5
  var toNamePath = function toNamePath(name) {
6
6
  if (Array.isArray(name)) {
@@ -86,8 +86,8 @@ export var useListChanged = function useListChanged(params) {
86
86
  value: value,
87
87
  originalValue: originalValue,
88
88
  form: form,
89
- equalWith: equalWith,
90
- name: isString(namesStr) ? namesStr : originalName || name
89
+ equalWith: equalWith
90
+ // name: isString(namesStr) ? namesStr : originalName || name,
91
91
  });
92
92
  return [changed, originalValue];
93
93
  };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { FormInstance } from 'antd';
3
+ import { NamePath } from 'antd/lib/form/interface';
4
+ interface Props {
5
+ name?: NamePath;
6
+ names?: NamePath[];
7
+ originalName?: NamePath;
8
+ originalNames?: NamePath[];
9
+ namesStr?: NamePath;
10
+ originalValues?: any;
11
+ form: FormInstance;
12
+ equalWith?: (preValue: any, curValue: any) => boolean | undefined;
13
+ [name: string]: any;
14
+ }
15
+ declare const ListChanged: React.FC<Props>;
16
+ export default ListChanged;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _antd = require("antd");
14
+ var _lodash = require("lodash");
15
+ var _diffOriginal = require("@/ProForm/utils/diffOriginal");
16
+ var _excluded = ["name", "names", "namesStr", "originalName", "originalNames", "originalValues", "form", "equalWith", "rowKeyPath", "children", "type"];
17
+ var toNamePath = function toNamePath(name) {
18
+ if (Array.isArray(name)) {
19
+ return name;
20
+ }
21
+ return [name];
22
+ };
23
+ var toNamePaths = function toNamePaths(names) {
24
+ return names.map(function (name) {
25
+ return toNamePath(name);
26
+ });
27
+ };
28
+ var getOriginalValue = function getOriginalValue(_ref) {
29
+ var namePath = _ref.namePath,
30
+ originalName = _ref.originalName,
31
+ originalNames = _ref.originalNames,
32
+ originalValues = _ref.originalValues,
33
+ rowKeyPath = _ref.rowKeyPath,
34
+ form = _ref.form;
35
+ if (!originalValues) {
36
+ return undefined;
37
+ }
38
+ if (rowKeyPath) {
39
+ var rowValueNamePath = namePath.slice(0, rowKeyPath.length - 1); // 表单中变动值所在行
40
+ var rowKeyName = rowKeyPath[rowKeyPath.length - 1]; // rowKey在行内的name
41
+ var rowValue = form.getFieldValue(rowValueNamePath);
42
+ if (!rowValue) return undefined;
43
+ var keyValue = rowValue[rowKeyName]; // 获取表单中rowKey值
44
+ if (!keyValue) return undefined;
45
+ var originalValueList = (0, _lodash.get)(originalValues, originalName.slice(0, rowKeyPath.length - 2));
46
+ var originalValueRow = originalValueList.find(function (item) {
47
+ return item[rowKeyPath[rowKeyPath.length - 1]] === keyValue;
48
+ });
49
+ var originalValue;
50
+ if (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) {
51
+ var originalNamesValue = originalNames.map(function (originalName) {
52
+ return (0, _lodash.get)(originalValueRow, originalName.slice(rowKeyPath.length - 1));
53
+ });
54
+ // 有可能出现数组中全是undefined的情况 视为没有值
55
+ var fillUndefined = originalNamesValue.every(function (valItem) {
56
+ return valItem === undefined;
57
+ });
58
+ originalValue = fillUndefined ? undefined : originalNamesValue;
59
+ } else {
60
+ originalValue = (0, _lodash.get)(originalValueRow, originalName.slice(rowKeyPath.length - 1));
61
+ }
62
+ return originalValue;
63
+ }
64
+ // 这个方法是给editTable专用的 暂时不存在不传rowKey的情况
65
+ return (originalNames === null || originalNames === void 0 ? void 0 : originalNames.length) ? originalNames.map(function (originalName) {
66
+ return (0, _lodash.get)(originalValues, originalName);
67
+ }) : (0, _lodash.get)(originalValues, originalName);
68
+ };
69
+ var ListChanged = function ListChanged(props) {
70
+ var name = props.name,
71
+ names = props.names,
72
+ namesStr = props.namesStr,
73
+ _props$originalName = props.originalName,
74
+ originalName = _props$originalName === void 0 ? name : _props$originalName,
75
+ _props$originalNames = props.originalNames,
76
+ originalNames = _props$originalNames === void 0 ? names : _props$originalNames,
77
+ originalValues = props.originalValues,
78
+ form = props.form,
79
+ equalWith = props.equalWith,
80
+ rowKeyPath = props.rowKeyPath,
81
+ children = props.children,
82
+ type = props.type,
83
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
84
+ var namePath = toNamePath(namesStr || name);
85
+ var originalNamePath = toNamePath(originalName);
86
+ var originalNamePaths = originalNames && toNamePaths(originalNames);
87
+ var notWatch = !originalValues || ['FormList', 'ProEditTable'].includes(type);
88
+ var originalValue = !notWatch ? getOriginalValue({
89
+ namePath: namePath,
90
+ originalName: originalNamePath,
91
+ originalNames: originalNamePaths,
92
+ originalValues: originalValues,
93
+ rowKeyPath: rowKeyPath,
94
+ form: form
95
+ }) : undefined;
96
+ var noChange = !equalWith && (!originalValues || originalValue === undefined);
97
+ var changed = (0, _react.useMemo)(function () {
98
+ if (notWatch || noChange) return false;
99
+ return (0, _diffOriginal.diffOriginal)({
100
+ value: props.value,
101
+ originalValue: originalValue,
102
+ form: form,
103
+ equalWith: equalWith
104
+ // name: isString(namesStr) ? namesStr : originalName || name,
105
+ });
106
+ }, [props.value, originalValue]);
107
+ if (notWatch || noChange) {
108
+ return /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest));
109
+ }
110
+ return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
111
+ open: changed ? undefined : false,
112
+ getPopupContainer: function getPopupContainer(target) {
113
+ return target.parentElement;
114
+ },
115
+ title: (0, _jsxRuntime.jsxs)(_antd.Space, {
116
+ children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children), {}, {
117
+ // @ts-ignore
118
+ isView: true,
119
+ value: originalValue,
120
+ checked: type === 'Switch' ? originalValue : undefined
121
+ })) : undefined]
122
+ }),
123
+ children: (0, _jsxRuntime.jsx)("div", {
124
+ className: changed ? 'pro-form-item-changed' : '',
125
+ children: /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest)) : undefined
126
+ })
127
+ });
128
+ };
129
+ var _default = exports.default = ListChanged;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
10
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
12
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
@@ -26,10 +25,10 @@ var _ProConfigProvider = require("../../../ProConfigProvider");
26
25
  var _Container = _interopRequireDefault(require("../../../ProForm/components/Container"));
27
26
  var _transformNames = _interopRequireDefault(require("../../../ProForm/utils/transformNames"));
28
27
  var _useFieldProps = require("../../../ProForm/utils/useFieldProps");
29
- var _useListChanged3 = require("../../../ProForm/utils/useListChanged");
30
28
  var _useRules = _interopRequireDefault(require("../../../ProForm/utils/useRules"));
31
29
  var _utils = require("../../../ProForm/utils");
32
30
  var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
31
+ var _ListChanged = _interopRequireDefault(require("./ListChanged"));
33
32
  var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "equalWith", "className", "trim", "confirm", "validateTrigger"];
34
33
  /* eslint-disable prefer-destructuring */
35
34
  /* eslint-disable prefer-const */
@@ -494,21 +493,6 @@ var RenderField = function RenderField(_ref) {
494
493
  return _ref3.apply(this, arguments);
495
494
  };
496
495
  }();
497
- // 判断当前字段是否变更
498
- var _useListChanged = (0, _useListChanged3.useListChanged)({
499
- name: cellName,
500
- names: names,
501
- namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
502
- rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
503
- originalName: originalName,
504
- originalNames: originalNames,
505
- originalValues: originalValues,
506
- form: form,
507
- equalWith: equalWith
508
- }),
509
- _useListChanged2 = (0, _slicedToArray2.default)(_useListChanged, 2),
510
- changed = _useListChanged2[0],
511
- originalValue = _useListChanged2[1];
512
496
  var componentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
513
497
  form: form,
514
498
  name: cellName
@@ -554,16 +538,35 @@ var RenderField = function RenderField(_ref) {
554
538
  if (isView) {
555
539
  delete _formItemProps.rules;
556
540
  }
557
- var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-changed', changed));
541
+ var _className = (0, _classnames.default)((0, _defineProperty2.default)({}, className, className));
558
542
  var FormItem = null;
543
+ var FieldComponent = /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps));
544
+ if (originalValues) {
545
+ FieldComponent = (0, _jsxRuntime.jsx)(_ListChanged.default, {
546
+ name: cellName,
547
+ names: names,
548
+ namesStr: [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]),
549
+ rowKeyPath: [].concat((0, _toConsumableArray2.default)(baseName), [index, 'rowKey']),
550
+ originalName: originalName,
551
+ originalNames: originalNames,
552
+ originalValues: originalValues,
553
+ form: form,
554
+ equalWith: equalWith,
555
+ type: type,
556
+ children: FieldComponent
557
+ });
558
+ }
559
+ if ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) {
560
+ FieldComponent = (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
561
+ children: FieldComponent
562
+ }));
563
+ }
559
564
  FormItem = TargetComponent ? (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({
560
565
  validateFirst: true
561
566
  }, (0, _lodash.omit)(_formItemProps, ['render', 'cache', 'key', 'width', 'hiddenNames', 'name', 'onCell'])), {}, {
562
567
  className: _className,
563
568
  name: formNamePath ? cellName.slice((formNamePath === null || formNamePath === void 0 ? void 0 : formNamePath.length) - 1) : cellName,
564
- children: ((_componentProps = componentProps) === null || _componentProps === void 0 ? void 0 : _componentProps.confirm) ? (0, _jsxRuntime.jsx)(_ConfirmWrapper.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
565
- children: /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
566
- })) : /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, componentProps)) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)({}, componentProps))
569
+ children: FieldComponent
567
570
  })) : (0, _jsxRuntime.jsx)(_Container.default, {
568
571
  viewEmpty: viewEmpty
569
572
  });
@@ -581,28 +584,9 @@ var RenderField = function RenderField(_ref) {
581
584
  }
582
585
  }));
583
586
  }
584
- var originalTitle = originalDiffTip && originalValues ? (0, _jsxRuntime.jsxs)(_antd.Space, {
585
- children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(TargetComponent) ? ( /*#__PURE__*/_react.default.cloneElement(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
586
- isView: true,
587
- value: originalValue,
588
- checked: type === 'Switch' ? originalValue : undefined
589
- }))) : (0, _jsxRuntime.jsx)(TargetComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), {}, {
590
- isView: true,
591
- value: originalValue,
592
- checked: type === 'Switch' ? originalValue : undefined
593
- }))]
594
- }) : null;
595
587
  return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
596
588
  value: (_componentProps2 = componentProps) === null || _componentProps2 === void 0 ? void 0 : _componentProps2.otherProps,
597
- children: !originalTitle || ['FormList', 'ProEditTable'].includes(type) ? FormItem : (0, _jsxRuntime.jsx)(_antd.Tooltip, {
598
- title: originalTitle,
599
- placement: "topLeft",
600
- open: changed ? undefined : false,
601
- getPopupContainer: function getPopupContainer(target) {
602
- return target.parentElement;
603
- },
604
- children: FormItem
605
- })
589
+ children: FormItem
606
590
  });
607
591
  };
608
592
  var _default = exports.default = RenderField;
@@ -21,6 +21,7 @@ var _ProConfigProvider = require("../../../../ProConfigProvider");
21
21
  var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
22
22
  var _locale = _interopRequireDefault(require("../../../../locale"));
23
23
  var _ = _interopRequireDefault(require("../../.."));
24
+ var _Container = _interopRequireDefault(require("../../Container"));
24
25
  var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder"];
25
26
  var Text = _antd.Typography.Text;
26
27
  var defaultFieldNames = {
@@ -82,7 +83,8 @@ var ProCascader = function ProCascader(props) {
82
83
  detailPlaceholder = props.detailPlaceholder,
83
84
  otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
84
85
  var _ref3 = _.default.useFieldProps() || {},
85
- isViewCon = _ref3.isView;
86
+ isViewCon = _ref3.isView,
87
+ viewEmpty = _ref3.viewEmpty;
86
88
  var addressCode = code || enumCode;
87
89
  var realIsView = typeof isView === 'boolean' ? isView : isViewCon;
88
90
  var realLevel = Math.max(2, level);
@@ -238,17 +240,9 @@ var ProCascader = function ProCascader(props) {
238
240
  }
239
241
  }
240
242
  };
241
- return realIsView ? tooltip ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
242
- className: className,
243
- title: tooltip === true ? viewValue : tooltip,
244
- children: (0, _jsxRuntime.jsx)(Text, {
245
- ellipsis: {
246
- tooltip: false
247
- },
248
- children: viewValue
249
- })
250
- }) : (0, _jsxRuntime.jsx)("span", {
251
- className: className,
243
+ return realIsView ? (0, _jsxRuntime.jsx)(_Container.default, {
244
+ tooltip: !!tooltip,
245
+ viewEmpty: viewEmpty,
252
246
  children: viewValue
253
247
  }) : (0, _jsxRuntime.jsxs)("div", {
254
248
  className: "pro-address ".concat(className),
@@ -0,0 +1,14 @@
1
+ import { FormInstance } from 'antd';
2
+ import { NamePath } from 'antd/lib/form/interface';
3
+ import React from 'react';
4
+ interface Props {
5
+ name?: NamePath;
6
+ names?: NamePath[];
7
+ namesStr?: string;
8
+ originalValues?: any;
9
+ form: FormInstance;
10
+ equalWith?: (preValue: any, curValue: any) => boolean | undefined;
11
+ [name: string]: any;
12
+ }
13
+ declare const Changed: React.FC<Props>;
14
+ export default Changed;