@zat-design/sisyphus-react 3.10.1 → 3.10.2-beta.2

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 (36) hide show
  1. package/.vscode/extensions.json +5 -0
  2. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +2 -3
  3. package/es/ProEditTable/components/RenderField/index.js +8 -16
  4. package/es/ProForm/components/base/Input/index.js +23 -2
  5. package/es/ProForm/components/base/Input/propsType.d.ts +2 -0
  6. package/es/ProForm/components/combination/Group/utils.js +1 -13
  7. package/es/ProForm/components/combination/ProCascader/index.js +13 -8
  8. package/es/ProForm/components/combination/ProCascader/propsType.d.ts +1 -0
  9. package/es/ProForm/components/render/ChangedWrapper.js +1 -1
  10. package/es/ProForm/components/render/Render.js +11 -19
  11. package/es/ProForm/utils/transformValue.js +9 -5
  12. package/es/ProForm/utils/valueType.d.ts +0 -6
  13. package/es/ProForm/utils/valueType.js +4 -50
  14. package/es/ProSelect/index.js +11 -3
  15. package/es/ProTable/components/FormatColumn/index.js +0 -5
  16. package/es/ProTable/components/RenderColumn/index.js +55 -42
  17. package/es/ProTable/utils/index.d.ts +6 -0
  18. package/es/ProTable/utils/index.js +14 -0
  19. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +1 -2
  20. package/lib/ProEditTable/components/RenderField/index.js +8 -16
  21. package/lib/ProForm/components/base/Input/index.js +23 -2
  22. package/lib/ProForm/components/base/Input/propsType.d.ts +2 -0
  23. package/lib/ProForm/components/combination/Group/utils.js +1 -13
  24. package/lib/ProForm/components/combination/ProCascader/index.js +13 -6
  25. package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +1 -0
  26. package/lib/ProForm/components/render/ChangedWrapper.js +1 -1
  27. package/lib/ProForm/components/render/Render.js +11 -19
  28. package/lib/ProForm/utils/transformValue.js +9 -5
  29. package/lib/ProForm/utils/valueType.d.ts +0 -6
  30. package/lib/ProForm/utils/valueType.js +4 -50
  31. package/lib/ProSelect/index.js +10 -2
  32. package/lib/ProTable/components/FormatColumn/index.js +0 -5
  33. package/lib/ProTable/components/RenderColumn/index.js +56 -43
  34. package/lib/ProTable/utils/index.d.ts +6 -0
  35. package/lib/ProTable/utils/index.js +15 -1
  36. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
1
  import "antd/es/space/style";
2
2
  import _Space from "antd/es/space";
3
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
3
  import "antd/es/tooltip/style";
5
4
  import _Tooltip from "antd/es/tooltip";
5
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
6
6
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
7
  import "antd/es/typography/style";
8
8
  import _Typography from "antd/es/typography";
@@ -12,6 +12,7 @@ import { isBoolean } from 'lodash';
12
12
  import classNames from 'classnames';
13
13
  import { CheckOutlined } from '@ant-design/icons';
14
14
  import { ReactSVG } from 'react-svg';
15
+ import { getPadding } from '../../utils';
15
16
  import { isEmpty } from '../../../utils';
16
17
  import copySvg from '../../../assets/copy.svg';
17
18
  var Paragraph = _Typography.Paragraph,
@@ -41,6 +42,32 @@ var RenderColumn = function RenderColumn(props) {
41
42
  'varied-cell': props === null || props === void 0 ? void 0 : props.isChanged,
42
43
  'add-cell': props === null || props === void 0 ? void 0 : props.isAddCell
43
44
  });
45
+ var checkEllipsis = function checkEllipsis(box) {
46
+ var range = document.createRange();
47
+ range.setStart(box, 0);
48
+ range.setEnd(box, box.childNodes.length);
49
+ var rangeWidth = range.getBoundingClientRect().width;
50
+ var _getPadding = getPadding(box),
51
+ pLeft = _getPadding.pLeft,
52
+ pRight = _getPadding.pRight,
53
+ pTop = _getPadding.pTop,
54
+ pBottom = _getPadding.pBottom;
55
+ var horizontalPadding = pLeft + pRight;
56
+ if (rangeWidth + horizontalPadding > box.clientWidth) {
57
+ return true;
58
+ }
59
+ return false;
60
+ };
61
+ var handleMouseOver = function handleMouseOver(e) {
62
+ setState({
63
+ tooltip: checkEllipsis(e.target)
64
+ });
65
+ };
66
+ var tooltipProps = _objectSpread({
67
+ getPopupContainer: function getPopupContainer(triggerNode) {
68
+ return triggerNode.parentNode;
69
+ }
70
+ }, toolTipProps);
44
71
  // 比对场景走的逻辑
45
72
  if (!isInNewRowFlag && isBoolean(props === null || props === void 0 ? void 0 : props.isChanged)) {
46
73
  var renderNode = value ? node : '-';
@@ -58,11 +85,36 @@ var RenderColumn = function RenderColumn(props) {
58
85
  }) : _jsx("div", {
59
86
  style: {
60
87
  minWidth: minWidth,
61
- width: width
88
+ width: width,
89
+ overflow: 'hidden',
90
+ textOverflow: 'ellipsis',
91
+ whiteSpace: 'nowrap'
62
92
  },
63
93
  children: ellipsis ? currentValue : renderNode
64
94
  });
65
95
  if ((props === null || props === void 0 ? void 0 : props.isChanged) === false) {
96
+ if (ellipsis) {
97
+ return _jsx(_Tooltip, _objectSpread(_objectSpread({
98
+ title: currentValue,
99
+ onOpenChange: function onOpenChange(open) {
100
+ setState({
101
+ tooltip: false
102
+ });
103
+ },
104
+ open: tooltip
105
+ }, tooltipProps), {}, {
106
+ children: _jsx(Text, {
107
+ style: {
108
+ width: width,
109
+ minWidth: minWidth
110
+ },
111
+ ellipsis: true,
112
+ onMouseOver: handleMouseOver,
113
+ onFocus: handleMouseOver,
114
+ children: renderNode
115
+ })
116
+ }));
117
+ }
66
118
  return renderNode;
67
119
  }
68
120
  if (Array.isArray(originalValue)) {
@@ -86,7 +138,7 @@ var RenderColumn = function RenderColumn(props) {
86
138
  title: _jsx(_Space, {
87
139
  direction: "vertical",
88
140
  className: "changed-tooltip",
89
- children: (props === null || props === void 0 ? void 0 : props.isChanged) ? _jsxs(_Fragment, {
141
+ children: (props === null || props === void 0 ? void 0 : props.isChanged) && !(props === null || props === void 0 ? void 0 : props.isAddCell) ? _jsxs(_Fragment, {
90
142
  children: [_jsxs(_Space, {
91
143
  align: "start",
92
144
  className: "original-value-container",
@@ -138,45 +190,6 @@ var RenderColumn = function RenderColumn(props) {
138
190
  });
139
191
  }
140
192
  if (ellipsis) {
141
- var getPadding = function getPadding(el) {
142
- var style = window.getComputedStyle(el, null);
143
- var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
144
- var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
145
- var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
146
- var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
147
- return {
148
- pLeft: paddingLeft,
149
- pRight: paddingRight,
150
- pTop: paddingTop,
151
- pBottom: paddingBottom
152
- };
153
- };
154
- var checkEllipsis = function checkEllipsis(box) {
155
- var range = document.createRange();
156
- range.setStart(box, 0);
157
- range.setEnd(box, box.childNodes.length);
158
- var rangeWidth = range.getBoundingClientRect().width;
159
- var _getPadding = getPadding(box),
160
- pLeft = _getPadding.pLeft,
161
- pRight = _getPadding.pRight,
162
- pTop = _getPadding.pTop,
163
- pBottom = _getPadding.pBottom;
164
- var horizontalPadding = pLeft + pRight;
165
- if (rangeWidth + horizontalPadding > box.clientWidth) {
166
- return true;
167
- }
168
- return false;
169
- };
170
- var handleMouseOver = function handleMouseOver(e) {
171
- setState({
172
- tooltip: checkEllipsis(e.target)
173
- });
174
- };
175
- var tooltipProps = _objectSpread({
176
- getPopupContainer: function getPopupContainer(triggerNode) {
177
- return triggerNode.parentNode;
178
- }
179
- }, toolTipProps);
180
193
  if (!value) {
181
194
  return _jsx("div", {
182
195
  style: {
@@ -33,3 +33,9 @@ export declare const getRowKey: (rowKey: any, record: any) => any;
33
33
  export declare const removeEmptyKeys: (obj: any) => {
34
34
  [k: string]: unknown;
35
35
  };
36
+ export declare const getPadding: (el: HTMLElement) => {
37
+ pLeft: number;
38
+ pRight: number;
39
+ pTop: number;
40
+ pBottom: number;
41
+ };
@@ -85,4 +85,18 @@ export var removeEmptyKeys = function removeEmptyKeys(obj) {
85
85
  });
86
86
  // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
87
87
  return Object.fromEntries(filteredEntries);
88
+ };
89
+ /* 获取边距 */
90
+ export var getPadding = function getPadding(el) {
91
+ var style = window.getComputedStyle(el, null);
92
+ var paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0;
93
+ var paddingRight = Number.parseInt(style.paddingRight, 10) || 0;
94
+ var paddingTop = Number.parseInt(style.paddingTop, 10) || 0;
95
+ var paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0;
96
+ return {
97
+ pLeft: paddingLeft,
98
+ pRight: paddingRight,
99
+ pTop: paddingTop,
100
+ pBottom: paddingBottom
101
+ };
88
102
  };
@@ -106,7 +106,6 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
106
106
  var _ref3 = diffConfig || {},
107
107
  _ref3$scrollFollowPar = _ref3.scrollFollowParent,
108
108
  scrollFollowParent = _ref3$scrollFollowPar === void 0 ? true : _ref3$scrollFollowPar;
109
- var contentRef = (0, _react.useRef)(null);
110
109
  var namePath = toNamePath(namesStr || name);
111
110
  var originalNamePath = toNamePath(originalName);
112
111
  var originalNamePaths = originalNames && toNamePaths(originalNames);
@@ -147,7 +146,7 @@ var ListChangedWrapper = function ListChangedWrapper(props) {
147
146
  var tipContent = (0, _react.useMemo)(function () {
148
147
  var _getValueProps;
149
148
  if (!isWatch || noChange) return undefined;
150
- var orgValue = getValueProps && !names ? (_getValueProps = getValueProps(originalValue)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
149
+ var orgValue = getValueProps ? (_getValueProps = getValueProps(originalValue, true)) === null || _getValueProps === void 0 ? void 0 : _getValueProps[valuePropName] : originalValue;
151
150
  // 兼容viewRender函数和Element场景
152
151
  var _children = children;
153
152
  if (viewRender) {
@@ -180,7 +180,9 @@ var RenderField = function RenderField(_ref) {
180
180
  fieldProps: column === null || column === void 0 ? void 0 : column.fieldProps
181
181
  });
182
182
  // 允许formItem的属性放在column最外层
183
- var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule);
183
+ var _formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), resetProps), internalRule), {}, {
184
+ validateTrigger: validateTrigger
185
+ });
184
186
  if (['Switch', 'SwitchCheckbox'].includes(type)) {
185
187
  _formItemProps.valuePropName = 'checked';
186
188
  _valueType = 'switch';
@@ -202,20 +204,14 @@ var RenderField = function RenderField(_ref) {
202
204
  * @returns {}
203
205
  */
204
206
  var valueTypeTransform = function valueTypeTransform() {
205
- var _fieldProps3, _desensitization2;
207
+ var _fieldProps3;
206
208
  // SwitchCheckbox默认YN, 兼容已有组件
207
209
  if (type === 'SwitchCheckbox') {
208
210
  _valueType = 'switch';
209
211
  }
210
212
  var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
211
- mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode,
212
- desensitization: _desensitization
213
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
213
214
  });
214
- var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
215
- // 仅查看模式下进行数据脱敏
216
- if (((_desensitization2 = _desensitization) === null || _desensitization2 === void 0 ? void 0 : _desensitization2.length) && _disabled && isDesensit === 'ON') {
217
- _valueType = 'desensitization';
218
- }
219
215
  return (0, _lodash.isFunction)(_valueType2.default[_valueType]) ? _valueType2.default[_valueType](params) : {};
220
216
  };
221
217
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
@@ -244,14 +240,10 @@ var RenderField = function RenderField(_ref) {
244
240
  var namesTransform = function namesTransform() {
245
241
  var _names3;
246
242
  if (!((_names3 = names) === null || _names3 === void 0 ? void 0 : _names3.length)) {
247
- return {};
243
+ return valueTypeTransform();
248
244
  }
249
245
  var namesStr = [].concat((0, _toConsumableArray2.default)(baseName), [index, dataIndex]);
250
- var transform = {};
251
- if (_valueType) {
252
- transform = valueTypeTransform();
253
- }
254
- return (0, _transformNames.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _formItemProps), transform), form, names, namesStr, type);
246
+ return (0, _transformNames.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, _formItemProps), valueTypeTransform()), form, names, namesStr, type);
255
247
  };
256
248
  if (!_editRender && typeof type === 'string') {
257
249
  var _componentMap$type;
@@ -563,7 +555,7 @@ var RenderField = function RenderField(_ref) {
563
555
  if (['Select', 'ProSelect', 'ProEnum'].includes(type)) {
564
556
  componentProps.scrollFollowParent = false;
565
557
  }
566
- Object.assign(_formItemProps, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultTransform()), valueTypeTransform()), namesTransform()), (0, _utils.isTrim)(type, trim, (0, _ProConfigProvider.useProConfig)())));
558
+ Object.assign(_formItemProps, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultTransform()), namesTransform()), (0, _utils.isTrim)(type, trim, (0, _ProConfigProvider.useProConfig)())));
567
559
  // 编辑&保存模式,在查看状态下移除表单的rules不做校验
568
560
  if (isView) {
569
561
  delete _formItemProps.rules;
@@ -8,13 +8,15 @@ exports.default = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
+ var _react = _interopRequireDefault(require("react"));
11
12
  var _antd = require("antd");
12
13
  var _lodash = require("lodash");
13
14
  var _ProConfigProvider = require("../../../../ProConfigProvider");
14
15
  var _Container = _interopRequireDefault(require("../../Container"));
15
16
  var _locale = _interopRequireDefault(require("../../../../locale"));
16
17
  var _index = _interopRequireDefault(require("../../../index"));
17
- var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps"];
18
+ var _valueType = require("../../../utils/valueType");
19
+ var _excluded = ["label", "form", "placeholder", "fieldName", "otherProps", "desensitization"];
18
20
  // 参数优先级
19
21
  // 组件内默认值 < config默认值 < props
20
22
  var Input = function Input(props) {
@@ -23,6 +25,7 @@ var Input = function Input(props) {
23
25
  placeholder = props.placeholder,
24
26
  fieldName = props.fieldName,
25
27
  otherProps = props.otherProps,
28
+ desensitization = props.desensitization,
26
29
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
27
30
  var _ref = _index.default.useFieldProps() || {},
28
31
  isViewCon = _ref.isView,
@@ -35,10 +38,28 @@ var Input = function Input(props) {
35
38
  children: rest.value
36
39
  });
37
40
  }
38
- return (0, _jsxRuntime.jsx)(_antd.Input, (0, _objectSpread2.default)((0, _objectSpread2.default)({
41
+ var ComInput = (0, _jsxRuntime.jsx)(_antd.Input, (0, _objectSpread2.default)((0, _objectSpread2.default)({
39
42
  allowClear: true,
40
43
  autoComplete: "off",
41
44
  placeholder: placeholder || "".concat(_locale.default.ProForm.inputPlaceholder)
42
45
  }, (0, _lodash.omit)(initialConfig, ['trim'])), rest));
46
+ // 仅查看模式下进行数据脱敏
47
+ if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && (props === null || props === void 0 ? void 0 : props.disabled)) {
48
+ var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
49
+ if (isDesensit === 'ON') {
50
+ if (typeof rest.value === 'number') {
51
+ var _rest$value, _rest$value$toString;
52
+ rest.value = rest === null || rest === void 0 ? void 0 : (_rest$value = rest.value) === null || _rest$value === void 0 ? void 0 : (_rest$value$toString = _rest$value.toString) === null || _rest$value$toString === void 0 ? void 0 : _rest$value$toString.call(_rest$value);
53
+ }
54
+ return /*#__PURE__*/_react.default.cloneElement(ComInput, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
55
+ allowClear: true,
56
+ autoComplete: 'off',
57
+ placeholder: placeholder || "".concat(_locale.default.ProForm.inputPlaceholder)
58
+ }, (0, _lodash.omit)(initialConfig, ['trim'])), rest), {}, {
59
+ value: (0, _valueType.maskStringRangeWithRegex)(rest.value, desensitization)
60
+ }));
61
+ }
62
+ }
63
+ return ComInput;
43
64
  };
44
65
  var _default = exports.default = Input;
@@ -12,4 +12,6 @@ export interface ProFieldProps<T = any> {
12
12
  export interface IProps extends InputProps, ProFieldProps {
13
13
  otherProps?: ProFormOtherProps;
14
14
  isView?: boolean;
15
+ /** 脱敏数据位置下标 */
16
+ desensitization?: [number, number];
15
17
  }
@@ -166,15 +166,7 @@ var getReactiveProps = exports.getReactiveProps = function getReactiveProps(para
166
166
  /** 获取当前字段的转换函数 */
167
167
  var getValueTypeTrans = exports.getValueTypeTrans = function getValueTypeTrans(params) {
168
168
  var _valueTypeMap$valueTy;
169
- var desensitizationKey = params.desensitizationKey;
170
169
  var valueType = params.valueType;
171
- var desensitization = params.desensitization,
172
- disabled = params.disabled;
173
- var isDesensit = sessionStorage.getItem(desensitizationKey);
174
- // 仅查看模式下进行数据脱敏
175
- if ((desensitization === null || desensitization === void 0 ? void 0 : desensitization.length) && disabled && isDesensit === 'ON') {
176
- valueType = 'desensitization';
177
- }
178
170
  var transform = (_valueTypeMap$valueTy = _valueType.default[valueType]) === null || _valueTypeMap$valueTy === void 0 ? void 0 : _valueTypeMap$valueTy.call(_valueType.default, params);
179
171
  return transform;
180
172
  };
@@ -284,17 +276,13 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
284
276
  if (reactiveProps.show === false) {
285
277
  return [];
286
278
  }
287
- var isDisabled = formDisabled || _disabled || reactiveProps.disabled;
288
279
  var transform = getValueTypeTrans({
289
280
  type: type,
290
281
  valueType: valueType,
291
282
  switchValue: switchValue,
292
283
  toISOString: toISOString,
293
284
  toCSTString: toCSTString,
294
- mode: mode,
295
- desensitizationKey: desensitizationKey,
296
- disabled: isDisabled,
297
- desensitization: reactiveProps.desensitization
285
+ mode: mode
298
286
  });
299
287
  var newValue;
300
288
  var handleChange = function handleChange() {
@@ -18,11 +18,12 @@ var _antd = require("antd");
18
18
  var _lodash = require("lodash");
19
19
  var _index = require("./utils/index");
20
20
  var _ProConfigProvider = require("../../../../ProConfigProvider");
21
+ var _Input = _interopRequireDefault(require("../../base/Input"));
21
22
  var _useEnum = _interopRequireDefault(require("../../../../ProEnum/hooks/useEnum"));
22
23
  var _locale = _interopRequireDefault(require("../../../../locale"));
23
24
  var _ = _interopRequireDefault(require("../../.."));
24
25
  var _Container = _interopRequireDefault(require("../../Container"));
25
- var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent"];
26
+ var _excluded = ["className", "hasDetail", "detailMaxLength", "fieldNames", "value", "disabled", "dataSource", "onChange", "useRequest", "transformResponse", "level", "isView", "enumCode", "code", "tooltip", "separator", "detailPlaceholder", "scrollFollowParent", "desensitization", "otherProps"];
26
27
  var Text = _antd.Typography.Text;
27
28
  var defaultFieldNames = {
28
29
  label: 'name',
@@ -88,7 +89,9 @@ var ProCascader = function ProCascader(props) {
88
89
  separator = _props$separator === void 0 ? '/' : _props$separator,
89
90
  detailPlaceholder = props.detailPlaceholder,
90
91
  scrollFollowParent = props.scrollFollowParent,
91
- otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
92
+ desensitization = props.desensitization,
93
+ otherProps = props.otherProps,
94
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
92
95
  var _ref3 = _.default.useFieldProps() || {},
93
96
  isViewCon = _ref3.isView,
94
97
  viewEmpty = _ref3.viewEmpty;
@@ -284,23 +287,27 @@ var ProCascader = function ProCascader(props) {
284
287
  getPopupContainer: function getPopupContainer(trigger) {
285
288
  return scrollFollowParent ? trigger.parentElement : document.body;
286
289
  }
287
- }, (0, _lodash.omit)(otherProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
290
+ }, (0, _lodash.omit)(restProps, ['otherProps', 'scrollFollowParent']))), hasDetail && (tooltip && lastDisabled[1] && detail ? (0, _jsxRuntime.jsx)(_antd.Tooltip, {
288
291
  title: detail,
289
292
  children: (0, _jsxRuntime.jsx)("span", {
290
293
  className: "pro-address-detail",
291
- children: (0, _jsxRuntime.jsx)(_antd.Input, {
294
+ children: (0, _jsxRuntime.jsx)(_Input.default, {
292
295
  disabled: lastDisabled[1],
296
+ desensitization: desensitization,
297
+ otherProps: otherProps,
293
298
  value: detail
294
299
  })
295
300
  })
296
- }) : (0, _jsxRuntime.jsx)(_antd.Input, {
301
+ }) : (0, _jsxRuntime.jsx)(_Input.default, {
297
302
  allowClear: true,
298
303
  autoComplete: "off",
299
304
  disabled: lastDisabled[1],
300
305
  value: detail,
301
306
  maxLength: detailMaxLength,
302
307
  placeholder: detailPlaceholder || (_locale.default === null || _locale.default === void 0 ? void 0 : (_locale$ProAddressBar2 = _locale.default.ProAddressBar) === null || _locale$ProAddressBar2 === void 0 ? void 0 : _locale$ProAddressBar2.detailPlaceholder),
303
- onChange: handleAddressChange
308
+ onChange: handleAddressChange,
309
+ desensitization: desensitization,
310
+ otherProps: otherProps
304
311
  }))]
305
312
  });
306
313
  };
@@ -36,4 +36,5 @@ export interface ProCascaderProps {
36
36
  detailPlaceholder?: string;
37
37
  /** 浮窗是否跟随父级 */
38
38
  scrollFollowParent?: boolean;
39
+ desensitization?: [number, number];
39
40
  }
@@ -71,7 +71,7 @@ var ChangedWrapper = function ChangedWrapper(props) {
71
71
  var isChanged = diffType === 'changed';
72
72
  var tipContent = (0, _react.useMemo)(function () {
73
73
  if (!isWatch || noChange) return undefined;
74
- var valueProps = getValueProps && !names ? getValueProps(originalValue) : {
74
+ var valueProps = getValueProps ? getValueProps(originalValue, true) : {
75
75
  value: originalValue
76
76
  };
77
77
  if (viewRender) {
@@ -31,7 +31,7 @@ var _excluded = ["labelWidth", "hiddenNames", "trim", "upperCase", "className",
31
31
  /* eslint-disable prefer-destructuring */
32
32
  // 这个组件只管渲染, 参数的整理在外部处理
33
33
  var Render = function Render(props) {
34
- var _ref3, _ref4, _ref5, _ref6, _otherProps$names2;
34
+ var _ref2, _ref3, _ref4, _ref5, _otherProps$names2;
35
35
  var component = props.component,
36
36
  originComponent = props.originComponent,
37
37
  _props$formItemProps = props.formItemProps,
@@ -116,9 +116,7 @@ var Render = function Render(props) {
116
116
  */
117
117
  var valueTypeTransform = function valueTypeTransform() {
118
118
  var _ref = otherProps || {},
119
- desensitizationKey = _ref.desensitizationKey;
120
- var _ref2 = otherProps || {},
121
- valueType = _ref2.valueType;
119
+ valueType = _ref.valueType;
122
120
  // SwitchCheckbox默认YN, 兼容已有组件
123
121
  if (type === 'SwitchCheckbox') {
124
122
  valueType = 'switch';
@@ -126,18 +124,11 @@ var Render = function Render(props) {
126
124
  if (type === 'Input') {
127
125
  valueType = valueType || 'trim';
128
126
  }
129
- var isDesensit = sessionStorage.getItem(desensitizationKey);
130
- // 仅查看模式下进行数据脱敏
131
- if ((_desensitization === null || _desensitization === void 0 ? void 0 : _desensitization.length) && _disabled && isDesensit === 'ON') {
132
- valueType = 'desensitization';
133
- }
134
127
  // 不存在valueType返回空
135
128
  if (!valueType) {
136
129
  return {};
137
130
  }
138
- var params = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps), {}, {
139
- desensitization: _desensitization
140
- });
131
+ var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps);
141
132
  return (0, _lodash.isFunction)(_valueType.default[valueType]) ? _valueType.default[valueType](params) : {};
142
133
  };
143
134
  /**
@@ -153,7 +144,7 @@ var Render = function Render(props) {
153
144
  * globalControl true时,优先级 全局【formDisabled】> formitem上【column.disabled】 > 组件上【fieldProps.disabled】
154
145
  * globalControl false时,优先级 组件上【fieldProps.disabled】 > formitem上【column.disabled】 > 全局【formDisabled】
155
146
  */
156
- var lastDisabled = globalControl ? (_ref3 = (_ref4 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref4 !== void 0 ? _ref4 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref3 !== void 0 ? _ref3 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref5 = (_ref6 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref6 !== void 0 ? _ref6 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : formDisabled;
147
+ var lastDisabled = globalControl ? (_ref2 = (_ref3 = formDisabled !== null && formDisabled !== void 0 ? formDisabled : _disabled) !== null && _ref3 !== void 0 ? _ref3 : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref2 !== void 0 ? _ref2 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled : (_ref4 = (_ref5 = _disabled !== null && _disabled !== void 0 ? _disabled : _fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.disabled) !== null && _ref5 !== void 0 ? _ref5 : componentProps === null || componentProps === void 0 ? void 0 : componentProps.disabled) !== null && _ref4 !== void 0 ? _ref4 : formDisabled;
157
148
  // ↑↑↑↑↑↑ formItem参数整理 ↑↑↑↑↑↑
158
149
  Object.assign(otherFormItemProps, transforms, {
159
150
  names: otherProps.names
@@ -183,7 +174,8 @@ var Render = function Render(props) {
183
174
  * 最新fieldProps: 更新后的组件Props
184
175
  */
185
176
  var lastComponentProps = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, componentProps), _fieldProps), {}, {
186
- disabled: lastDisabled
177
+ disabled: lastDisabled,
178
+ desensitization: _desensitization
187
179
  });
188
180
  var _className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, className, className), 'pro-form-item-width-auto', ['Switch'].includes(type)));
189
181
  if (formItemProps.hidden === true || _show === false) {
@@ -206,8 +198,8 @@ var Render = function Render(props) {
206
198
  var functionArgs = function functionArgs(args) {
207
199
  var _otherFormItemProps$n;
208
200
  var _args = (0, _toConsumableArray2.default)(args);
209
- var _ref7 = otherProps || {},
210
- valueType = _ref7.valueType;
201
+ var _ref6 = otherProps || {},
202
+ valueType = _ref6.valueType;
211
203
  _args[1] = form.getFieldsValue();
212
204
  _args[2] = {
213
205
  form: form
@@ -307,7 +299,7 @@ var Render = function Render(props) {
307
299
  * onBlur参数重置 (value, record, { form, index, namePath, option }) => void
308
300
  */
309
301
  var handleBlur = /*#__PURE__*/function () {
310
- var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
302
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
311
303
  var _len3,
312
304
  args,
313
305
  _key3,
@@ -334,7 +326,7 @@ var Render = function Render(props) {
334
326
  }, _callee);
335
327
  }));
336
328
  return function handleBlur() {
337
- return _ref8.apply(this, arguments);
329
+ return _ref7.apply(this, arguments);
338
330
  };
339
331
  }();
340
332
  var renderItem = function renderItem() {
@@ -424,7 +416,7 @@ var Render = function Render(props) {
424
416
  colProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, colProps), {}, {
425
417
  span: lessMode ? colProps.span : 24 // 默认占一行
426
418
  });
427
- return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, [].concat(filterFormItemKey, ['name', 'names']))), {}, {
419
+ return (0, _jsxRuntime.jsx)(_antd.Form.Item, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.omit)(_otherFormItemProps, filterFormItemKey)), {}, {
428
420
  // @ts-ignore
429
421
  _internalItemRender: internalItemRender,
430
422
  className: _className,
@@ -27,13 +27,17 @@ var transformValue = exports.transformValue = function transformValue(names, for
27
27
  });
28
28
  return _value;
29
29
  },
30
- getValueProps: function getValueProps(value) {
30
+ getValueProps: function getValueProps(value, isOrg) {
31
31
  var _curValue;
32
32
  var _value = [];
33
- names.forEach(function (name, index) {
34
- var value = form.getFieldValue(name);
35
- _value[index] = value;
36
- });
33
+ if (!isOrg) {
34
+ names.forEach(function (name, index) {
35
+ var value = form.getFieldValue(name);
36
+ _value[index] = value;
37
+ });
38
+ } else {
39
+ _value = value;
40
+ }
37
41
  // 支持外部传入转换函数
38
42
  var res = (_getValueProps === null || _getValueProps === void 0 ? void 0 : _getValueProps(_value)) || {
39
43
  value: _value
@@ -66,11 +66,5 @@ declare const _default: {
66
66
  value: any;
67
67
  };
68
68
  };
69
- /** 脱敏 转换 */
70
- desensitization: (props: any) => {
71
- getValueProps: (value: any) => {
72
- value: any;
73
- };
74
- };
75
69
  };
76
70
  export default _default;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.maskStringRangeWithRegex = exports.default = void 0;
8
- var _readOnlyError2 = _interopRequireDefault(require("@babel/runtime/helpers/readOnlyError"));
9
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
10
  var _big = _interopRequireDefault(require("big.js"));
@@ -199,6 +198,7 @@ var dateTransform = function dateTransform(_ref2) {
199
198
  };
200
199
  /** 脱敏处理函数 */
201
200
  var maskStringRangeWithRegex = exports.maskStringRangeWithRegex = function maskStringRangeWithRegex(input, range) {
201
+ var _input$replace;
202
202
  var _ref3 = range || [],
203
203
  _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
204
204
  start = _ref4[0],
@@ -206,13 +206,13 @@ var maskStringRangeWithRegex = exports.maskStringRangeWithRegex = function maskS
206
206
  if (start < 0) {
207
207
  throw new Error('脱敏数据: start index cannot be negative');
208
208
  }
209
- var adjustedEnd = Math.min(end, input.length - 1);
210
- if (start >= input.length) {
209
+ var adjustedEnd = Math.min(end, (input === null || input === void 0 ? void 0 : input.length) - 1);
210
+ if (start >= (input === null || input === void 0 ? void 0 : input.length)) {
211
211
  return '';
212
212
  }
213
213
  var regexPattern = "^(.{".concat(start, "})(.{").concat(adjustedEnd - start + 1, "})(.*)$");
214
214
  var regex = new RegExp(regexPattern);
215
- var maskedValue = input.replace(regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
215
+ var maskedValue = input === null || input === void 0 ? void 0 : (_input$replace = input.replace) === null || _input$replace === void 0 ? void 0 : _input$replace.call(input, regex, "$1".concat('*'.repeat(adjustedEnd - start + 1), "$3"));
216
216
  return maskedValue;
217
217
  };
218
218
  var _default = exports.default = {
@@ -310,51 +310,5 @@ var _default = exports.default = {
310
310
  switch: function _switch(_ref12) {
311
311
  var switchValue = _ref12.switchValue;
312
312
  return switchTransform(switchValue);
313
- },
314
- /** 脱敏 转换 */
315
- desensitization: function desensitization(props) {
316
- var desensitization = props.desensitization,
317
- type = props.type,
318
- mode = props.mode,
319
- names = props.names;
320
- // 判断是否是地址控件,并带地址详情场景
321
- if (type === 'ProCascader' && mode === 'address' && (names === null || names === void 0 ? void 0 : names.length) === 4) {
322
- return {
323
- getValueProps: function getValueProps(value) {
324
- try {
325
- if (value === null || value === void 0 ? void 0 : value.length) {
326
- var _value = (0, _slicedToArray2.default)(value, 4),
327
- province = _value[0],
328
- city = _value[1],
329
- county = _value[2],
330
- address = _value[3];
331
- return {
332
- value: [province, city, county, maskStringRangeWithRegex(address, desensitization)]
333
- };
334
- }
335
- return {
336
- value: value
337
- };
338
- } catch (error) {
339
- return {
340
- value: value
341
- }; // 如果发生错误,返回原始值
342
- }
343
- }
344
- };
345
- }
346
- return {
347
- getValueProps: function getValueProps(value) {
348
- try {
349
- return {
350
- value: maskStringRangeWithRegex(value, desensitization)
351
- };
352
- } catch (error) {
353
- return {
354
- value: value
355
- }; // 如果发生错误,返回原始值
356
- }
357
- }
358
- };
359
313
  }
360
314
  };