@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.
@@ -0,0 +1,65 @@
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 _antd = require("antd");
13
+ var _lodash = require("lodash");
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _diffOriginal = require("@/ProForm/utils/diffOriginal");
16
+ var _excluded = ["name", "names", "namesStr", "originalValues", "form", "equalWith", "children", "type", "originalDiffTip"];
17
+ var Changed = function Changed(props) {
18
+ var name = props.name,
19
+ names = props.names,
20
+ namesStr = props.namesStr,
21
+ originalValues = props.originalValues,
22
+ form = props.form,
23
+ equalWith = props.equalWith,
24
+ children = props.children,
25
+ type = props.type,
26
+ originalDiffTip = props.originalDiffTip,
27
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
28
+ // 不渲染tooltip
29
+ var notWatch = !originalDiffTip || ['FormList', 'ProEditTable'].includes(type);
30
+ var originalValue = (names === null || names === void 0 ? void 0 : names.length) ? names.map(function (name) {
31
+ return (0, _lodash.get)(originalValues, name);
32
+ }) : (0, _lodash.get)(originalValues, name);
33
+ var noChange = !equalWith && (!originalValues || originalValue === undefined);
34
+ var changed = (0, _react.useMemo)(function () {
35
+ if (notWatch || noChange) return false;
36
+ return (0, _diffOriginal.diffOriginal)({
37
+ originalValue: originalValue,
38
+ value: props.value,
39
+ form: form,
40
+ equalWith: equalWith
41
+ // name: namesStr || name,
42
+ });
43
+ }, [notWatch, noChange, props.value, originalValue]);
44
+ if (notWatch || noChange) {
45
+ return /*#__PURE__*/_react.default.isValidElement(children) && /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest));
46
+ }
47
+ return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
48
+ open: changed ? undefined : false,
49
+ getPopupContainer: function getPopupContainer(target) {
50
+ return target.parentElement;
51
+ },
52
+ title: (0, _jsxRuntime.jsxs)(_antd.Space, {
53
+ children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), {}, {
54
+ isView: true,
55
+ value: originalValue,
56
+ checked: type === 'Switch' ? originalValue : undefined
57
+ })) : undefined]
58
+ }),
59
+ children: (0, _jsxRuntime.jsx)("div", {
60
+ className: changed ? 'pro-form-item-changed' : '',
61
+ children: /*#__PURE__*/_react.default.isValidElement(children) ? /*#__PURE__*/_react.default.cloneElement(children, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, children.props), rest)) : undefined
62
+ })
63
+ });
64
+ };
65
+ var _default = exports.default = Changed;
@@ -11,7 +11,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
15
  var _jsxRuntime = require("react/jsx-runtime");
17
16
  var _antd = require("antd");
@@ -24,10 +23,10 @@ var _index = require("../../utils/index");
24
23
  var _ProConfigProvider = require("../../../ProConfigProvider");
25
24
  var _transformNames = _interopRequireDefault(require("../../utils/transformNames"));
26
25
  var _valueType = _interopRequireDefault(require("../../utils/valueType"));
27
- var _useChanged3 = require("../../utils/useChanged");
28
26
  var _tip = _interopRequireDefault(require("../../../assets/tip.svg"));
29
27
  var _useRules = _interopRequireDefault(require("../../utils/useRules"));
30
28
  var _ConfirmWrapper = _interopRequireDefault(require("./ConfirmWrapper"));
29
+ var _Changed = _interopRequireDefault(require("./Changed"));
31
30
  var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className", "rules", "required", "labelRequired", "tooltip"];
32
31
  /* eslint-disable prefer-destructuring */
33
32
  // 这个组件只管渲染, 参数的整理在外部处理
@@ -99,18 +98,6 @@ var Render = function Render(props) {
99
98
  return Array.isArray(name) ? name.join('_') : name;
100
99
  }).join('-');
101
100
  }, [otherProps === null || otherProps === void 0 ? void 0 : otherProps.names]);
102
- // 判断当前字段是否变更
103
- var _useChanged = (0, _useChanged3.useChanged)({
104
- name: formItemProps.name,
105
- names: otherProps.names,
106
- namesStr: namesStr,
107
- originalValues: originalValues,
108
- form: form,
109
- equalWith: equalWith
110
- }),
111
- _useChanged2 = (0, _slicedToArray2.default)(_useChanged, 2),
112
- changed = _useChanged2[0],
113
- originalValue = _useChanged2[1];
114
101
  var internalRule = (0, _useRules.default)({
115
102
  names: otherProps.names,
116
103
  label: otherFormItemProps.label,
@@ -182,7 +169,7 @@ var Render = function Render(props) {
182
169
  var lastComponentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), _fieldProps), {}, {
183
170
  disabled: lastDisabled
184
171
  });
185
- var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-changed', changed), 'pro-form-item-width-auto', ['Switch'].includes(type)));
172
+ var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
186
173
  if (formItemProps.hidden === true || _show === false) {
187
174
  // 为了监听shouldUpdate 必须存在一个FormItem, 空Input解决 【[antd: Form.Item] `name` is only used for validate React element】
188
175
  return (0, _jsxRuntime.jsx)(_antd.Form.Item, {
@@ -444,7 +431,17 @@ var Render = function Render(props) {
444
431
  // @ts-ignore
445
432
  _internalItemRender: internalItemRender,
446
433
  className: _className,
447
- children: child
434
+ children: (0, _jsxRuntime.jsx)(_Changed.default, {
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
+ })
448
445
  }));
449
446
  var formItem = orgFormItem;
450
447
  // 当存在shouldUpdate时捕获所有form变更(防止表单onchange设置form值时无法更新的问题)
@@ -460,32 +457,23 @@ var Render = function Render(props) {
460
457
  // @ts-ignore
461
458
  _internalItemRender: internalItemRender,
462
459
  className: _className,
463
- children: child
460
+ children: (0, _jsxRuntime.jsx)(_Changed.default, {
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
+ })
464
471
  }));
465
472
  }
466
473
  })
467
474
  });
468
475
  }
469
- // 不渲染tooltip
470
- if (!originalDiffTip || ['FormList', 'ProEditTable'].includes(type)) {
471
- return formItem;
472
- }
473
- var title = (0, _jsxRuntime.jsxs)(_antd.Space, {
474
- children: ["\u521D\u59CB\u503C\uFF1A", /*#__PURE__*/_react.default.cloneElement(child, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, child), {}, {
475
- isView: true,
476
- value: originalValue,
477
- checked: type === 'Switch' ? originalValue : undefined
478
- }))]
479
- });
480
- return (0, _jsxRuntime.jsx)(_antd.Tooltip, {
481
- title: title,
482
- open: changed ? undefined : false,
483
- // open={true}
484
- getPopupContainer: function getPopupContainer(target) {
485
- return target.parentElement;
486
- },
487
- children: formItem
488
- });
476
+ return formItem;
489
477
  };
490
478
  var FormItem = (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
491
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,38 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.diffOriginal = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
7
  var _lodash = require("lodash");
10
8
  var nullValue = [null, undefined, '']; // 输入框空值时可能存在的三种值 视为相等
11
- /** 将解构后的name值,反向转回names,例如 formData {a:1, b:2} names ['a', 'b'] 返回 [1,2] */
12
- var extractValues = function extractValues(form, pathString) {
13
- var _pathString;
14
- var result = [];
15
- var PrefixesName = (0, _lodash.isString)(pathString) ? [] : pathString.slice(0, -1);
16
- if ((0, _lodash.isString)(pathString)) {
17
- pathString.split('-').forEach(function (item) {
18
- result.push(form.getFieldValue([].concat((0, _toConsumableArray2.default)(PrefixesName), [item])));
19
- });
20
- return result;
21
- }
22
- (_pathString = pathString[pathString.length - 1]) === null || _pathString === void 0 ? void 0 : _pathString.split('-').forEach(function (item) {
23
- result.push(form.getFieldValue([].concat((0, _toConsumableArray2.default)(PrefixesName), [item])));
24
- });
25
- return result;
26
- };
27
9
  var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
28
- var _name$join;
29
10
  var originalValue = params.originalValue,
30
- _value = params.value,
31
- equalWith = params.equalWith,
32
- form = params.form,
33
- name = params.name;
34
- 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('-'));
35
- var value = !isNames ? _value : extractValues(form, name);
11
+ value = params.value,
12
+ equalWith = params.equalWith;
36
13
  // 支持传入自定义比较事件
37
14
  if ((0, _lodash.isFunction)(equalWith)) {
38
15
  return !equalWith(originalValue, value);
@@ -47,8 +24,7 @@ var diffOriginal = exports.diffOriginal = function diffOriginal(params) {
47
24
  });
48
25
  }
49
26
  if (!nullValue.includes(value) || !nullValue.includes(originalValue)) {
50
- var res = !(0, _lodash.isEqual)(value, originalValue);
51
- return res;
27
+ return !(0, _lodash.isEqual)(value, originalValue);
52
28
  }
53
29
  return false;
54
30
  };
@@ -24,8 +24,7 @@ var useChanged = exports.useChanged = function useChanged(_ref) {
24
24
  originalValue: originalValue,
25
25
  value: value,
26
26
  form: form,
27
- equalWith: equalWith,
28
- name: namesStr || name
27
+ equalWith: equalWith
29
28
  });
30
29
  return [changed, originalValue];
31
30
  };
@@ -91,8 +91,8 @@ var useListChanged = exports.useListChanged = function useListChanged(params) {
91
91
  value: value,
92
92
  originalValue: originalValue,
93
93
  form: form,
94
- equalWith: equalWith,
95
- name: (0, _lodash.isString)(namesStr) ? namesStr : originalName || name
94
+ equalWith: equalWith
95
+ // name: isString(namesStr) ? namesStr : originalName || name,
96
96
  });
97
97
  return [changed, originalValue];
98
98
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.6.8-beta.5",
3
+ "version": "3.6.9-beta.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",