@zat-design/sisyphus-react 3.9.8-beta.1 → 3.9.8-beta.11
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.
- package/dist/index.esm.css +0 -5
- package/dist/less.esm.css +0 -5
- package/es/ProEditTable/components/ActionButton/index.js +57 -9
- package/es/ProEditTable/components/RenderField/index.js +23 -14
- package/es/ProEditTable/components/RenderToolbar/index.js +18 -16
- package/es/ProEditTable/index.js +1 -1
- package/es/ProEditTable/propsType.d.ts +6 -3
- package/es/ProEditTable/utils/diffOriginal.d.ts +1 -1
- package/es/ProEditTable/utils/diffOriginal.js +21 -22
- package/es/ProEditTable/utils/index.js +35 -30
- package/es/ProEditTable/utils/tools.d.ts +1 -1
- package/es/ProEditTable/utils/tools.js +1 -1
- package/es/ProForm/components/combination/Group/index.js +7 -2
- package/es/ProForm/components/combination/Group/propsType.d.ts +1 -0
- package/es/ProForm/components/combination/Group/utils.d.ts +6 -1
- package/es/ProForm/components/combination/Group/utils.js +28 -6
- package/es/ProForm/components/render/Render.js +23 -11
- package/es/ProForm/components/render/RenderFields.d.ts +1 -0
- package/es/ProForm/components/render/RenderFields.js +8 -4
- package/es/ProForm/components/render/propsType.d.ts +3 -1
- package/es/ProForm/index.js +5 -2
- package/es/ProForm/propsType.d.ts +3 -0
- package/es/ProForm/utils/diffOriginal.js +9 -2
- package/es/ProForm/utils/useShouldUpdate.js +25 -5
- package/es/ProForm/utils/valueType.d.ts +8 -0
- package/es/ProForm/utils/valueType.js +99 -33
- package/es/ProLayout/components/ProHeader/style/index.less +0 -8
- package/es/ProTable/components/FormatColumn/index.js +1 -0
- package/es/ProTable/components/RenderColumn/index.d.ts +2 -0
- package/es/ProTable/components/RenderColumn/index.js +10 -2
- package/es/ProTable/hooks/useAntdTable.js +4 -3
- package/es/ProTable/propsType.d.ts +2 -0
- package/es/ProTable/utils/index.d.ts +4 -0
- package/es/ProTable/utils/index.js +15 -0
- package/lib/ProEditTable/components/ActionButton/index.js +57 -9
- package/lib/ProEditTable/components/RenderField/index.js +22 -13
- package/lib/ProEditTable/components/RenderToolbar/index.js +18 -16
- package/lib/ProEditTable/index.js +1 -1
- package/lib/ProEditTable/propsType.d.ts +6 -3
- package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -1
- package/lib/ProEditTable/utils/diffOriginal.js +21 -22
- package/lib/ProEditTable/utils/index.js +35 -30
- package/lib/ProEditTable/utils/tools.d.ts +1 -1
- package/lib/ProEditTable/utils/tools.js +1 -1
- package/lib/ProForm/components/combination/Group/index.js +7 -2
- package/lib/ProForm/components/combination/Group/propsType.d.ts +1 -0
- package/lib/ProForm/components/combination/Group/utils.d.ts +6 -1
- package/lib/ProForm/components/combination/Group/utils.js +28 -6
- package/lib/ProForm/components/render/Render.js +23 -11
- package/lib/ProForm/components/render/RenderFields.d.ts +1 -0
- package/lib/ProForm/components/render/RenderFields.js +8 -4
- package/lib/ProForm/components/render/propsType.d.ts +3 -1
- package/lib/ProForm/index.js +5 -2
- package/lib/ProForm/propsType.d.ts +3 -0
- package/lib/ProForm/utils/diffOriginal.js +9 -2
- package/lib/ProForm/utils/useShouldUpdate.js +25 -5
- package/lib/ProForm/utils/valueType.d.ts +8 -0
- package/lib/ProForm/utils/valueType.js +100 -34
- package/lib/ProLayout/components/ProHeader/style/index.less +0 -8
- package/lib/ProTable/components/FormatColumn/index.js +1 -0
- package/lib/ProTable/components/RenderColumn/index.d.ts +2 -0
- package/lib/ProTable/components/RenderColumn/index.js +10 -2
- package/lib/ProTable/hooks/useAntdTable.js +3 -2
- package/lib/ProTable/propsType.d.ts +2 -0
- package/lib/ProTable/utils/index.d.ts +4 -0
- package/lib/ProTable/utils/index.js +17 -1
- package/package.json +2 -1
@@ -33,7 +33,10 @@ var Group = function Group(props) {
|
|
33
33
|
onChange = props.onChange,
|
34
34
|
otherProps = props.otherProps,
|
35
35
|
id = props.id,
|
36
|
-
isParentView = props.isView
|
36
|
+
isParentView = props.isView,
|
37
|
+
formDisabled = props.disabled;
|
38
|
+
var _ref = otherProps || {},
|
39
|
+
desensitizationKey = _ref.desensitizationKey;
|
37
40
|
var contextProps = _ProForm.default.useFieldProps() || {};
|
38
41
|
var names = contextProps.names,
|
39
42
|
name = contextProps.name,
|
@@ -58,7 +61,9 @@ var Group = function Group(props) {
|
|
58
61
|
form: form,
|
59
62
|
index: index,
|
60
63
|
value: value,
|
61
|
-
groupProps: props
|
64
|
+
groupProps: props,
|
65
|
+
formDisabled: formDisabled,
|
66
|
+
desensitizationKey: desensitizationKey
|
62
67
|
});
|
63
68
|
var columns = (0, _utils.insertSeparator)(columnsProps, space);
|
64
69
|
var _className = (0, _classnames2.default)((0, _defineProperty2.default)({
|
@@ -50,4 +50,5 @@ export type GroupColumnProps<Values = any> = {
|
|
50
50
|
confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps>;
|
51
51
|
valuePropName?: string;
|
52
52
|
getValueProps?: (value: any) => Record<string, unknown>;
|
53
|
+
desensitization?: [number, number] | ReactiveFunction<Values, [number, number]>;
|
53
54
|
} & ColumnPropsMap & FormItemProps;
|
@@ -31,6 +31,7 @@ interface Params {
|
|
31
31
|
component?: React.ReactNode | ReactiveFunction<any, React.ReactNode>;
|
32
32
|
fieldProps?: boolean | ReactiveFunction<any, boolean>;
|
33
33
|
name?: NamePath;
|
34
|
+
desensitization?: [number, number] | ReactiveFunction<any, [number, number]>;
|
34
35
|
}
|
35
36
|
/** 计算响应式参数的值 */
|
36
37
|
export declare const getReactiveProps: (params: Params) => {
|
@@ -38,10 +39,12 @@ export declare const getReactiveProps: (params: Params) => {
|
|
38
39
|
show: boolean;
|
39
40
|
component: any;
|
40
41
|
fieldProps: boolean;
|
42
|
+
desensitization: [number, number];
|
41
43
|
};
|
42
|
-
type ValueTypeGetterParams = Pick<ProFormColumnProps, 'valueType' | 'switchValue' | 'toISOString' | 'toCSTString'> & {
|
44
|
+
type ValueTypeGetterParams = Pick<ProFormColumnProps, 'valueType' | 'switchValue' | 'toISOString' | 'toCSTString' | 'disabled' | 'desensitization'> & {
|
43
45
|
type?: any;
|
44
46
|
mode?: string;
|
47
|
+
desensitizationKey?: string;
|
45
48
|
};
|
46
49
|
/** 获取当前字段的转换函数 */
|
47
50
|
export declare const getValueTypeTrans: (params: ValueTypeGetterParams) => any;
|
@@ -56,6 +59,8 @@ interface ColumnsTransformerParams {
|
|
56
59
|
namePath?: InternalNamePath;
|
57
60
|
form: FormInstance;
|
58
61
|
index?: number;
|
62
|
+
formDisabled?: boolean;
|
63
|
+
desensitizationKey?: string;
|
59
64
|
groupProps: GroupProps;
|
60
65
|
}
|
61
66
|
/** 转换columns */
|
@@ -128,7 +128,7 @@ var getReactiveProps = exports.getReactiveProps = function getReactiveProps(para
|
|
128
128
|
show = params.show,
|
129
129
|
component = params.component,
|
130
130
|
fieldProps = params.fieldProps,
|
131
|
-
|
131
|
+
desensitization = params.desensitization;
|
132
132
|
var values = namePath ? form.getFieldValue(namePath) : form.getFieldsValue();
|
133
133
|
var _disabled = (0, _lodash.isFunction)(disabled) ? disabled(values, {
|
134
134
|
form: form,
|
@@ -150,17 +150,31 @@ var getReactiveProps = exports.getReactiveProps = function getReactiveProps(para
|
|
150
150
|
index: index,
|
151
151
|
namePath: namePath
|
152
152
|
}) : fieldProps;
|
153
|
+
var _desensitization = (0, _lodash.isFunction)(desensitization) ? desensitization(values, {
|
154
|
+
form: form,
|
155
|
+
index: index,
|
156
|
+
namePath: namePath
|
157
|
+
}) : desensitization;
|
153
158
|
return {
|
154
159
|
disabled: _disabled,
|
155
160
|
show: _show,
|
156
161
|
component: _component,
|
157
|
-
fieldProps: _fieldProps
|
162
|
+
fieldProps: _fieldProps,
|
163
|
+
desensitization: _desensitization
|
158
164
|
};
|
159
165
|
};
|
160
166
|
/** 获取当前字段的转换函数 */
|
161
167
|
var getValueTypeTrans = exports.getValueTypeTrans = function getValueTypeTrans(params) {
|
162
168
|
var _valueTypeMap$valueTy;
|
169
|
+
var desensitizationKey = params.desensitizationKey;
|
163
170
|
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
|
+
}
|
164
178
|
var transform = (_valueTypeMap$valueTy = _valueType.default[valueType]) === null || _valueTypeMap$valueTy === void 0 ? void 0 : _valueTypeMap$valueTy.call(_valueType.default, params);
|
165
179
|
return transform;
|
166
180
|
};
|
@@ -206,7 +220,9 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
|
|
206
220
|
namePath = params.namePath,
|
207
221
|
value = params.value,
|
208
222
|
internalChange = params.onChange,
|
209
|
-
groupProps = params.groupProps
|
223
|
+
groupProps = params.groupProps,
|
224
|
+
formDisabled = params.formDisabled,
|
225
|
+
desensitizationKey = params.desensitizationKey;
|
210
226
|
var timerRef = (0, _react.useRef)([]);
|
211
227
|
return columns === null || columns === void 0 ? void 0 : columns.flatMap(function (column, index) {
|
212
228
|
var type = column.type,
|
@@ -219,7 +235,8 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
|
|
219
235
|
disabled = column.disabled,
|
220
236
|
show = column.show,
|
221
237
|
component = column.component,
|
222
|
-
clearNotShow = column.clearNotShow
|
238
|
+
clearNotShow = column.clearNotShow,
|
239
|
+
desensitization = column.desensitization;
|
223
240
|
var _ref = fieldProps || {},
|
224
241
|
mode = _ref.mode,
|
225
242
|
onChange = _ref.onChange,
|
@@ -260,19 +277,24 @@ var useTransformColumns = exports.useTransformColumns = function useTransformCol
|
|
260
277
|
show: show,
|
261
278
|
component: component,
|
262
279
|
fieldProps: fieldProps,
|
263
|
-
name: columnName
|
280
|
+
name: columnName,
|
281
|
+
desensitization: desensitization
|
264
282
|
});
|
265
283
|
}, changedCallback, [value, show, fieldProps, _disabled, columnName, type]);
|
266
284
|
if (reactiveProps.show === false) {
|
267
285
|
return [];
|
268
286
|
}
|
287
|
+
var isDisabled = formDisabled || _disabled || reactiveProps.disabled;
|
269
288
|
var transform = getValueTypeTrans({
|
270
289
|
type: type,
|
271
290
|
valueType: valueType,
|
272
291
|
switchValue: switchValue,
|
273
292
|
toISOString: toISOString,
|
274
293
|
toCSTString: toCSTString,
|
275
|
-
mode: mode
|
294
|
+
mode: mode,
|
295
|
+
desensitizationKey: desensitizationKey,
|
296
|
+
disabled: isDisabled,
|
297
|
+
desensitization: reactiveProps.desensitization
|
276
298
|
});
|
277
299
|
var newValue;
|
278
300
|
var handleChange = function handleChange() {
|
@@ -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
|
34
|
+
var _ref3, _ref4, _ref5, _ref6, _otherProps$names2;
|
35
35
|
var component = props.component,
|
36
36
|
originComponent = props.originComponent,
|
37
37
|
_props$formItemProps = props.formItemProps,
|
@@ -51,7 +51,8 @@ var Render = function Render(props) {
|
|
51
51
|
confirm = props.confirm,
|
52
52
|
globalControl = props.globalControl,
|
53
53
|
diffConfig = props.diffConfig,
|
54
|
-
viewRender = props.viewRender
|
54
|
+
viewRender = props.viewRender,
|
55
|
+
desensitization = props.desensitization;
|
55
56
|
var colProps = props.colProps;
|
56
57
|
// 剔除一些不是FormItem的属性, 防止控制台报warning
|
57
58
|
var labelWidth = formItemProps.labelWidth,
|
@@ -75,7 +76,8 @@ var Render = function Render(props) {
|
|
75
76
|
fieldProps: fieldProps,
|
76
77
|
component: component,
|
77
78
|
originComponent: originComponent,
|
78
|
-
type: type
|
79
|
+
type: type,
|
80
|
+
desensitization: desensitization
|
79
81
|
}),
|
80
82
|
shouldUpdate = _useShouldUpdate.shouldUpdate,
|
81
83
|
_show = _useShouldUpdate.show,
|
@@ -83,7 +85,8 @@ var Render = function Render(props) {
|
|
83
85
|
_rules = _useShouldUpdate.rules,
|
84
86
|
_required = _useShouldUpdate.required,
|
85
87
|
_fieldProps = _useShouldUpdate.fieldProps,
|
86
|
-
AutoComponent = _useShouldUpdate.component
|
88
|
+
AutoComponent = _useShouldUpdate.component,
|
89
|
+
_desensitization = _useShouldUpdate.desensitization;
|
87
90
|
otherFormItemProps.shouldUpdate = shouldUpdate;
|
88
91
|
var namesStr = (0, _react.useMemo)(function () {
|
89
92
|
var _otherProps$names;
|
@@ -113,7 +116,9 @@ var Render = function Render(props) {
|
|
113
116
|
*/
|
114
117
|
var valueTypeTransform = function valueTypeTransform() {
|
115
118
|
var _ref = otherProps || {},
|
116
|
-
|
119
|
+
desensitizationKey = _ref.desensitizationKey;
|
120
|
+
var _ref2 = otherProps || {},
|
121
|
+
valueType = _ref2.valueType;
|
117
122
|
// SwitchCheckbox默认YN, 兼容已有组件
|
118
123
|
if (type === 'SwitchCheckbox') {
|
119
124
|
valueType = 'switch';
|
@@ -121,11 +126,18 @@ var Render = function Render(props) {
|
|
121
126
|
if (type === 'Input') {
|
122
127
|
valueType = valueType || 'trim';
|
123
128
|
}
|
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
|
+
}
|
124
134
|
// 不存在valueType返回空
|
125
135
|
if (!valueType) {
|
126
136
|
return {};
|
127
137
|
}
|
128
|
-
var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps)
|
138
|
+
var params = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, otherProps), otherFormItemProps), {}, {
|
139
|
+
desensitization: _desensitization
|
140
|
+
});
|
129
141
|
return (0, _lodash.isFunction)(_valueType.default[valueType]) ? _valueType.default[valueType](params) : {};
|
130
142
|
};
|
131
143
|
/**
|
@@ -141,7 +153,7 @@ var Render = function Render(props) {
|
|
141
153
|
* globalControl true时,优先级 全局【formDisabled】> formitem上【column.disabled】 > 组件上【fieldProps.disabled】
|
142
154
|
* globalControl false时,优先级 组件上【fieldProps.disabled】 > formitem上【column.disabled】 > 全局【formDisabled】
|
143
155
|
*/
|
144
|
-
var lastDisabled = globalControl ? (
|
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;
|
145
157
|
// ↑↑↑↑↑↑ formItem参数整理 ↑↑↑↑↑↑
|
146
158
|
Object.assign(otherFormItemProps, transforms, {
|
147
159
|
names: otherProps.names
|
@@ -194,8 +206,8 @@ var Render = function Render(props) {
|
|
194
206
|
var functionArgs = function functionArgs(args) {
|
195
207
|
var _otherFormItemProps$n;
|
196
208
|
var _args = (0, _toConsumableArray2.default)(args);
|
197
|
-
var
|
198
|
-
valueType =
|
209
|
+
var _ref7 = otherProps || {},
|
210
|
+
valueType = _ref7.valueType;
|
199
211
|
_args[1] = form.getFieldsValue();
|
200
212
|
_args[2] = {
|
201
213
|
form: form
|
@@ -295,7 +307,7 @@ var Render = function Render(props) {
|
|
295
307
|
* onBlur参数重置 (value, record, { form, index, namePath, option }) => void
|
296
308
|
*/
|
297
309
|
var handleBlur = /*#__PURE__*/function () {
|
298
|
-
var
|
310
|
+
var _ref8 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
299
311
|
var _len3,
|
300
312
|
args,
|
301
313
|
_key3,
|
@@ -322,7 +334,7 @@ var Render = function Render(props) {
|
|
322
334
|
}, _callee);
|
323
335
|
}));
|
324
336
|
return function handleBlur() {
|
325
|
-
return
|
337
|
+
return _ref8.apply(this, arguments);
|
326
338
|
};
|
327
339
|
}();
|
328
340
|
var renderItem = function renderItem() {
|
@@ -18,6 +18,7 @@ interface Props<T = any> {
|
|
18
18
|
requiredOnView?: boolean;
|
19
19
|
required?: boolean | boolean[] | (() => boolean | boolean[]);
|
20
20
|
globalControl?: boolean;
|
21
|
+
desensitizationKey?: string;
|
21
22
|
}
|
22
23
|
declare const RenderFields: React.FC<Props>;
|
23
24
|
export default RenderFields;
|
@@ -17,7 +17,7 @@ var componentMap = _interopRequireWildcard(require("../index"));
|
|
17
17
|
var _utils = require("../../utils");
|
18
18
|
var _useFieldProps = require("../../utils/useFieldProps");
|
19
19
|
var _locale = _interopRequireDefault(require("../../../locale"));
|
20
|
-
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "onDiff", "clearNotShow", "required", "confirm"];
|
20
|
+
var _excluded = ["show", "type", "viewRender", "viewType", "valueType", "formItemProps", "colProps", "formItemChildProps", "fieldProps", "equalWith", "onDiff", "clearNotShow", "required", "confirm", "desensitization"];
|
21
21
|
var RenderFields = function RenderFields(props) {
|
22
22
|
var isView = props.isView,
|
23
23
|
_props$columns = props.columns,
|
@@ -34,7 +34,8 @@ var RenderFields = function RenderFields(props) {
|
|
34
34
|
requiredOnView = props.requiredOnView,
|
35
35
|
required = props.required,
|
36
36
|
diffConfig = props.diffConfig,
|
37
|
-
globalControl = props.globalControl
|
37
|
+
globalControl = props.globalControl,
|
38
|
+
desensitizationKey = props.desensitizationKey;
|
38
39
|
// 是否包含隐藏字段
|
39
40
|
var hiddenData = columns.filter(function (item) {
|
40
41
|
return Array.isArray(item.hiddenNames);
|
@@ -82,6 +83,7 @@ var RenderFields = function RenderFields(props) {
|
|
82
83
|
clearNotShow = _column$clearNotShow === void 0 ? outerClearNotShow : _column$clearNotShow,
|
83
84
|
columnRequired = column.required,
|
84
85
|
confirm = column.confirm,
|
86
|
+
desensitization = column.desensitization,
|
85
87
|
otherFormItemProps = (0, _objectWithoutProperties2.default)(column, _excluded);
|
86
88
|
var component = column.component;
|
87
89
|
var _isView = typeof column.isView === 'boolean' ? column.isView : isView;
|
@@ -196,7 +198,8 @@ var RenderFields = function RenderFields(props) {
|
|
196
198
|
listName: column.listName,
|
197
199
|
globalControl: globalControl,
|
198
200
|
formDisabled: formDisabled,
|
199
|
-
diffConfig: diffConfig
|
201
|
+
diffConfig: diffConfig,
|
202
|
+
desensitizationKey: desensitizationKey
|
200
203
|
};
|
201
204
|
return (0, _jsxRuntime.jsx)(_useFieldProps.FieldProvider, {
|
202
205
|
value: otherProps,
|
@@ -220,7 +223,8 @@ var RenderFields = function RenderFields(props) {
|
|
220
223
|
equalWith: onDiff || equalWith,
|
221
224
|
requiredOnView: requiredOnView,
|
222
225
|
globalControl: globalControl,
|
223
|
-
viewRender: viewRender
|
226
|
+
viewRender: viewRender,
|
227
|
+
desensitization: desensitization
|
224
228
|
})
|
225
229
|
}, "".concat(_formItemProps.name || _formItemProps.label).concat(index));
|
226
230
|
});
|
@@ -85,7 +85,7 @@ type FieldProps<T extends ControlProps, Values, TT> = TT extends 'ProForm' ? Tra
|
|
85
85
|
/**
|
86
86
|
* 值转换
|
87
87
|
*/
|
88
|
-
export type ProFormValueType = 'percentage' | 'permillage' | 'thousandth' | 'datePicker' | 'enumName' | 'enumCodeName' | 'address' | 'thousandthCNY' | 'date' | 'dateTime' | 'dateStartTime' | 'dateEndTime' | 'dateStartEndTime' | 'switch';
|
88
|
+
export type ProFormValueType = 'percentage' | 'permillage' | 'thousandth' | 'datePicker' | 'enumName' | 'enumCodeName' | 'address' | 'thousandthCNY' | 'date' | 'dateTime' | 'dateStartTime' | 'dateEndTime' | 'dateStartEndTime' | 'switch' | 'desensitization';
|
89
89
|
export type ColumnPropsMap<Values = any, T = 'ProForm'> = {
|
90
90
|
type?: 'Input';
|
91
91
|
fieldProps?: FieldProps<InputProps, Values, T>;
|
@@ -229,6 +229,8 @@ export interface ProFormColumnProps<Values = any> extends Omit<FormItemProps<Val
|
|
229
229
|
confirm?: boolean | ModalFuncProps | FunctionArgs<Values, boolean | ModalFuncProps | void | Promise<boolean | ModalFuncProps | void>>;
|
230
230
|
/** 防抖模式 */
|
231
231
|
debounceWait?: number;
|
232
|
+
/** 脱敏数据位置下标 */
|
233
|
+
desensitization?: [number, number] | ReactiveFunction<Values, [number, number]>;
|
232
234
|
}
|
233
235
|
export type ProColumnProps<T = any> = ProFormColumnProps<T> & ColumnPropsMap<T, 'ProForm'>;
|
234
236
|
/**
|
package/lib/ProForm/index.js
CHANGED
@@ -26,7 +26,7 @@ var _useFieldProps = require("./utils/useFieldProps");
|
|
26
26
|
var _locale = _interopRequireDefault(require("../locale"));
|
27
27
|
var _useWatch = _interopRequireDefault(require("./utils/useWatch"));
|
28
28
|
var _FormsProvider = _interopRequireWildcard(require("../FormsProvider"));
|
29
|
-
var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "diffConfig", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "formKey", "globalControl", "scrollToError", "optimize"];
|
29
|
+
var _excluded = ["mode", "span", "disabled", "isView", "columns", "footer", "onOk", "okText", "onCancel", "confirmLoading", "cancelText", "form", "children", "rowProps", "className", "expand", "expandOpen", "expandOpenChange", "viewEmpty", "labelAlign", "labelWidth", "onValuesChange", "onFinish", "diffConfig", "submitOnEnter", "clearNotShow", "initialValues", "requiredOnView", "formId", "required", "formKey", "globalControl", "scrollToError", "optimize", "desensitizationKey"];
|
30
30
|
var ProForm = function ProForm(props, ref) {
|
31
31
|
var _localStorage, _ref;
|
32
32
|
var _props$mode = props.mode,
|
@@ -70,6 +70,8 @@ var ProForm = function ProForm(props, ref) {
|
|
70
70
|
scrollToError = _props$scrollToError === void 0 ? true : _props$scrollToError,
|
71
71
|
_props$optimize = props.optimize,
|
72
72
|
optimize = _props$optimize === void 0 ? false : _props$optimize,
|
73
|
+
_props$desensitizatio = props.desensitizationKey,
|
74
|
+
desensitizationKey = _props$desensitizatio === void 0 ? 'zat-design-pro-component-desensitization' : _props$desensitizatio,
|
73
75
|
otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
74
76
|
var config = (0, _ProConfigProvider.useProConfig)('ProForm');
|
75
77
|
var _useForm = (0, _useForm3.useForm)(originForm, {
|
@@ -238,7 +240,8 @@ var ProForm = function ProForm(props, ref) {
|
|
238
240
|
clearNotShow: clearNotShow,
|
239
241
|
requiredOnView: requiredOnView,
|
240
242
|
required: required,
|
241
|
-
globalControl: globalControl
|
243
|
+
globalControl: globalControl,
|
244
|
+
desensitizationKey: desensitizationKey
|
242
245
|
}), footerRender()]
|
243
246
|
})), children]
|
244
247
|
}));
|
@@ -46,6 +46,7 @@ export interface ProFormOtherProps {
|
|
46
46
|
formDisabled?: boolean;
|
47
47
|
isDiffChange?: boolean;
|
48
48
|
diffConfig?: DiffConfigProps;
|
49
|
+
desensitizationKey?: string;
|
49
50
|
}
|
50
51
|
export interface DiffConfigProps<Values = any> {
|
51
52
|
/** 比对原始数据源 */
|
@@ -94,6 +95,8 @@ export interface ProFormProps<Values = any> extends FormProps<Values> {
|
|
94
95
|
* 1. 开启不过滤names的中间态值
|
95
96
|
*/
|
96
97
|
optimize?: boolean;
|
98
|
+
/** 全局脱敏开关的key、默认 zat-design-pro-component-desensitization */
|
99
|
+
desensitizationKey?: string;
|
97
100
|
}
|
98
101
|
export interface Transform<T = any> {
|
99
102
|
normalize?: (value: StoreValue, prevValue: StoreValue, allValues: Store) => StoreValue;
|
@@ -12,9 +12,16 @@ var filterObject = function filterObject(data) {
|
|
12
12
|
if (!(0, _lodash.isObject)(data) || data === null) return data;
|
13
13
|
// ['1', undefined] ['1', ''] 视为相等
|
14
14
|
if (Array.isArray(data)) {
|
15
|
-
|
16
|
-
|
15
|
+
// 数组中全是empty值的话 视为null
|
16
|
+
var isFillNull = true;
|
17
|
+
var arr = data.map(function (item) {
|
18
|
+
if ((0, _utils.isEmpty)(item)) {
|
19
|
+
return null;
|
20
|
+
}
|
21
|
+
isFillNull = false;
|
22
|
+
return item;
|
17
23
|
});
|
24
|
+
return isFillNull ? null : arr;
|
18
25
|
}
|
19
26
|
var resData = {};
|
20
27
|
Object.keys(data).forEach(function (key) {
|
@@ -28,7 +28,8 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
28
28
|
fieldProps = props.fieldProps,
|
29
29
|
component = props.component,
|
30
30
|
originComponent = props.originComponent,
|
31
|
-
type = props.type
|
31
|
+
type = props.type,
|
32
|
+
desensitization = props.desensitization;
|
32
33
|
var _shouldUpdate = formItemProps.shouldUpdate,
|
33
34
|
name = formItemProps.name,
|
34
35
|
clearNotShow = formItemProps.clearNotShow,
|
@@ -45,13 +46,14 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
45
46
|
var fieldPropsRef = (0, _react.useRef)();
|
46
47
|
var originComponentRef = (0, _react.useRef)();
|
47
48
|
var dependNamesRef = (0, _react.useRef)();
|
49
|
+
var desensitizationRef = (0, _react.useRef)();
|
48
50
|
var newComponent = originComponent || component; // 解决component默认赋值污染问题,需要使用originComponent
|
49
51
|
var _useState = (0, _react.useState)({}),
|
50
52
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
51
53
|
reRender = _useState2[1];
|
52
54
|
var values = {};
|
53
55
|
// 不是动态函数直接返回
|
54
|
-
if (!(dependNames === null || dependNames === void 0 ? void 0 : dependNames.length) && !(0, _lodash.isFunction)(show) && !(0, _lodash.isFunction)(disabled) && !(0, _lodash.isFunction)(required) && !(0, _lodash.isFunction)(rules) && !(0, _lodash.isFunction)(fieldProps) && !(0, _lodash.isFunction)(originComponent)) {
|
56
|
+
if (!(dependNames === null || dependNames === void 0 ? void 0 : dependNames.length) && !(0, _lodash.isFunction)(show) && !(0, _lodash.isFunction)(disabled) && !(0, _lodash.isFunction)(required) && !(0, _lodash.isFunction)(rules) && !(0, _lodash.isFunction)(fieldProps) && !(0, _lodash.isFunction)(originComponent) && !(0, _lodash.isFunction)(desensitization)) {
|
55
57
|
return {
|
56
58
|
shouldUpdate: _shouldUpdate,
|
57
59
|
show: show,
|
@@ -59,7 +61,8 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
59
61
|
required: required,
|
60
62
|
rules: rules,
|
61
63
|
fieldProps: fieldProps,
|
62
|
-
component: newComponent
|
64
|
+
component: newComponent,
|
65
|
+
desensitization: desensitization
|
63
66
|
};
|
64
67
|
}
|
65
68
|
if (namePath) {
|
@@ -77,6 +80,15 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
77
80
|
} else {
|
78
81
|
showRef.current = show;
|
79
82
|
}
|
83
|
+
if ((0, _lodash.isFunction)(desensitization)) {
|
84
|
+
desensitizationRef.current = desensitization(values, {
|
85
|
+
form: form,
|
86
|
+
index: index,
|
87
|
+
namePath: namePath
|
88
|
+
});
|
89
|
+
} else {
|
90
|
+
desensitizationRef.current = desensitization;
|
91
|
+
}
|
80
92
|
if ((0, _lodash.isFunction)(disabled)) {
|
81
93
|
// RangePicker返回数组时,特殊处理
|
82
94
|
if (['Group', 'RangePicker', 'ProCascader'].includes(type) && Array.isArray(disabled(values, {
|
@@ -183,6 +195,11 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
183
195
|
index: index,
|
184
196
|
namePath: namePath
|
185
197
|
}) : fieldProps;
|
198
|
+
var _desensitization = (0, _lodash.isFunction)(desensitization) ? desensitization(_currentValues, {
|
199
|
+
form: form,
|
200
|
+
index: index,
|
201
|
+
namePath: namePath
|
202
|
+
}) : desensitization;
|
186
203
|
// 清值防抖 多次刷新时以最后一次为准
|
187
204
|
if (clearNotShow !== false && (name || names) && !isDeleteLine(form, namePath)) {
|
188
205
|
// 当show为其他变为false的时候记录一次需要清值
|
@@ -208,13 +225,15 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
208
225
|
}
|
209
226
|
var equalRes = (0, _lodash.isEqualWith)(rulesRef.current, _rules, _index.customEqualForFun);
|
210
227
|
var proEqualRes = (0, _lodash.isEqualWith)(fieldPropsRef.current, _fieldProps, _index.customEqualForFun);
|
211
|
-
|
228
|
+
var desensitizationRes = (0, _lodash.isEqualWith)(desensitizationRef.current, _desensitization);
|
229
|
+
if (_show !== showRef.current || _disabled !== disabledRef.current || _required !== requiredRef.current || !equalRes || !proEqualRes || !desensitizationRes || (_fieldProps === null || _fieldProps === void 0 ? void 0 : _fieldProps.transformResponse) // 防止fieldProps变更时,transformResponse根据fieldProps新值无法触发更新
|
212
230
|
) {
|
213
231
|
showRef.current = _show;
|
214
232
|
disabledRef.current = _disabled;
|
215
233
|
requiredRef.current = _required;
|
216
234
|
rulesRef.current = _rules;
|
217
235
|
fieldPropsRef.current = _fieldProps;
|
236
|
+
desensitizationRef.current = _desensitization;
|
218
237
|
reRender({});
|
219
238
|
return false;
|
220
239
|
}
|
@@ -231,7 +250,8 @@ var useShouldUpdate = function useShouldUpdate(props) {
|
|
231
250
|
rules: rulesRef.current,
|
232
251
|
required: requiredRef.current,
|
233
252
|
component: originComponentRef.current,
|
234
|
-
fieldProps: fieldPropsRef.current
|
253
|
+
fieldProps: fieldPropsRef.current,
|
254
|
+
desensitization: desensitizationRef.current
|
235
255
|
};
|
236
256
|
};
|
237
257
|
var _default = exports.default = useShouldUpdate;
|
@@ -1,3 +1,5 @@
|
|
1
|
+
/** 脱敏处理函数 */
|
2
|
+
export declare const maskStringRangeWithRegex: (input: string, range: [number, number]) => string;
|
1
3
|
declare const _default: {
|
2
4
|
/** 年月日 */
|
3
5
|
date: ({ type, toISOString, toCSTString, mode }: {
|
@@ -64,5 +66,11 @@ declare const _default: {
|
|
64
66
|
value: any;
|
65
67
|
};
|
66
68
|
};
|
69
|
+
/** 脱敏 转换 */
|
70
|
+
desensitization: (props: any) => {
|
71
|
+
getValueProps: (value: any) => {
|
72
|
+
value: any;
|
73
|
+
};
|
74
|
+
};
|
67
75
|
};
|
68
76
|
export default _default;
|