@zat-design/sisyphus-react 3.9.8-beta.5 → 3.9.8-beta.7

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,5 @@
1
+ {
2
+ "recommendations": [
3
+ "kisstkondoros.vscode-codemetrics"
4
+ ]
5
+ }
@@ -915,11 +915,6 @@
915
915
  background: #fff;
916
916
  letter-spacing: 2px;
917
917
  }
918
- .pro-header .pro-header-describe .ant-space .pro-header-describe-value .pro-header-describe-items.pro-header-describe-items-more .pro-header-tag {
919
- padding: 0;
920
- background: transparent !important;
921
- color: #333;
922
- }
923
918
  .pro-header .pro-header-copy {
924
919
  display: -webkit-box;
925
920
  display: -webkit-flex;
package/dist/less.esm.css CHANGED
@@ -915,11 +915,6 @@
915
915
  background: #fff;
916
916
  letter-spacing: 2px;
917
917
  }
918
- .pro-header .pro-header-describe .ant-space .pro-header-describe-value .pro-header-describe-items.pro-header-describe-items-more .pro-header-tag {
919
- padding: 0;
920
- background: transparent !important;
921
- color: #333;
922
- }
923
918
  .pro-header .pro-header-copy {
924
919
  display: -webkit-box;
925
920
  display: -webkit-flex;
@@ -6,11 +6,11 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
6
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
7
7
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
8
8
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
9
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies"];
9
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies", "desensitization"];
10
10
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
11
11
  /* eslint-disable prefer-destructuring */
12
12
  /* eslint-disable prefer-const */
13
- import React, { useCallback, useEffect } from 'react';
13
+ import React, { useEffect } from 'react';
14
14
  import classNames from 'classnames';
15
15
  import { cloneDeep, isEqual, debounce, omit, isFunction } from 'lodash';
16
16
  import valueTypeMap from '../../../ProForm/utils/valueType';
@@ -57,6 +57,7 @@ var RenderField = function RenderField(_ref) {
57
57
  trim = column.trim,
58
58
  confirm = column.confirm,
59
59
  dependencies = column.dependencies,
60
+ desensitization = column.desensitization,
60
61
  resetProps = _objectWithoutProperties(column, _excluded);
61
62
  // editRender弃用使用component同ProForm
62
63
  var _editRender = component || editRender;
@@ -82,6 +83,7 @@ var RenderField = function RenderField(_ref) {
82
83
  var _required = required;
83
84
  var _valueType = valueType;
84
85
  var _disabled = false;
86
+ var _desensitization = desensitization || [];
85
87
  var isCell = mode === 'cell';
86
88
  if (isCell) {
87
89
  record['is-view'] = !isEqual(cellNamePath, cellName);
@@ -118,6 +120,9 @@ var RenderField = function RenderField(_ref) {
118
120
  if (isFunction(valueType)) {
119
121
  _valueType = valueType.apply(void 0, rowParams);
120
122
  }
123
+ if (isFunction(desensitization)) {
124
+ _desensitization = desensitization.apply(void 0, rowParams);
125
+ }
121
126
  // 获取最终的disabled
122
127
  _disabled = getDisabled({
123
128
  globalControl: otherProps === null || otherProps === void 0 ? void 0 : otherProps.globalControl,
@@ -189,21 +194,23 @@ var RenderField = function RenderField(_ref) {
189
194
  * 配置valueType时,基于formItem的normalize与getValueProps进行值类型转换
190
195
  * @returns {}
191
196
  */
192
- var valueTypeTransform = useCallback(function () {
193
- var _fieldProps3;
194
- // 不存在valueType返回空
195
- if (!_valueType) {
196
- return {};
197
- }
197
+ var valueTypeTransform = function valueTypeTransform() {
198
+ var _fieldProps3, _desensitization2;
198
199
  // SwitchCheckbox默认YN, 兼容已有组件
199
200
  if (type === 'SwitchCheckbox') {
200
201
  _valueType = 'switch';
201
202
  }
202
203
  var params = _objectSpread(_objectSpread({}, column), {}, {
203
- mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
204
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode,
205
+ desensitization: _desensitization
204
206
  });
207
+ var isDesensit = sessionStorage.getItem(otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey);
208
+ // 仅查看模式下进行数据脱敏
209
+ if (((_desensitization2 = _desensitization) === null || _desensitization2 === void 0 ? void 0 : _desensitization2.length) && _disabled && isDesensit === 'ON') {
210
+ _valueType = 'desensitization';
211
+ }
205
212
  return isFunction(valueTypeMap[_valueType]) ? valueTypeMap[_valueType](params) : {};
206
- }, [_valueType]);
213
+ };
207
214
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
208
215
  // 支持names配置,临时生成对应的formItem,用来存储单个对应的值
209
216
  names = names.map(function (key) {
@@ -517,6 +524,7 @@ var RenderField = function RenderField(_ref) {
517
524
  onBlur: _onblur,
518
525
  index: index,
519
526
  confirm: confirm,
527
+ desensitization: _desensitization,
520
528
  otherProps: {
521
529
  form: form,
522
530
  names: names,
@@ -525,7 +533,8 @@ var RenderField = function RenderField(_ref) {
525
533
  listName: cellName,
526
534
  viewEmpty: viewEmpty,
527
535
  valueType: _valueType,
528
- isView: isView
536
+ isView: isView,
537
+ desensitizationKey: otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey
529
538
  }
530
539
  });
531
540
  componentProps = omit(componentProps, ['onFieldChange', 'namePath', 'index']);
@@ -78,14 +78,6 @@
78
78
  background: #fff;
79
79
  letter-spacing: 2px;
80
80
  }
81
- &.pro-header-describe-items-more{
82
- .pro-header-tag{
83
- padding: 0;
84
- background: transparent !important;
85
- color: #333 ;
86
- }
87
-
88
- }
89
81
  }
90
82
  }
91
83
  }
@@ -11,7 +11,7 @@ import { useCallback, useMemo, useState } from 'react';
11
11
  import { useRequest, useSetState, useDeepCompareEffect } from 'ahooks';
12
12
  import { pickBy, isObject, merge, set, isEqual } from 'lodash';
13
13
  import { defaultPage } from '../index';
14
- import { isListResult } from '../utils';
14
+ import { isListResult, removeEmptyKeys } from '../utils';
15
15
  import locale, { formatMessage } from '../../locale';
16
16
  var useDefaultOptions = function useDefaultOptions(options) {
17
17
  var _useState = useState((options === null || options === void 0 ? void 0 : options.page) || defaultPage),
@@ -219,16 +219,17 @@ function useAntdTable(service, options, useRequestOptions) {
219
219
  pageNum: 1,
220
220
  pageSize: page.pageSize
221
221
  };
222
+ var _values = removeEmptyKeys(values);
222
223
  onPageChange(newPage);
223
224
  setState({
224
- searchValues: values,
225
+ searchValues: _values,
225
226
  allSelected: false,
226
227
  selectedRecords: [],
227
228
  selectedRowKeys: []
228
229
  });
229
230
  run(getTransformParams(_objectSpread(_objectSpread({
230
231
  page: newPage
231
- }, extraFilter), values)));
232
+ }, extraFilter), _values)));
232
233
  }, [extraFilter, page.pageSize, run, getTransformParams]);
233
234
  var resetParams = useCallback(function () {
234
235
  var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initPage;
@@ -29,3 +29,7 @@ export declare const isListResult: (data: {
29
29
  [key: string]: any;
30
30
  }) => boolean;
31
31
  export declare const getRowKey: (rowKey: any, record: any) => any;
32
+ /** 移除对象中的 null , undefined, '' 的key */
33
+ export declare const removeEmptyKeys: (obj: any) => {
34
+ [k: string]: unknown;
35
+ };
@@ -1,3 +1,4 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
2
  import { get, isEqual } from 'lodash';
2
3
  import { validate } from '@zat-design/utils';
3
4
  var isEmpty = validate.isEmpty;
@@ -70,4 +71,18 @@ export var getRowKey = function getRowKey(rowKey, record) {
70
71
  key = (_ref = typeof rowKey === 'function' ? rowKey(record) : record[rowKey]) !== null && _ref !== void 0 ? _ref : key;
71
72
  }
72
73
  return key;
74
+ };
75
+ /** 移除对象中的 null , undefined, '' 的key */
76
+ export var removeEmptyKeys = function removeEmptyKeys(obj) {
77
+ // 使用 Object.entries() 将对象转换为键值对数组
78
+ var entries = Object.entries(obj);
79
+ // 过滤掉值为 null, undefined, 或 '' 的键值对
80
+ var filteredEntries = entries.filter(function (_ref2) {
81
+ var _ref3 = _slicedToArray(_ref2, 2),
82
+ key = _ref3[0],
83
+ value = _ref3[1];
84
+ return !isEmpty(value);
85
+ });
86
+ // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
87
+ return Object.fromEntries(filteredEntries);
73
88
  };
@@ -30,7 +30,7 @@ var _utils = require("../../../ProForm/utils");
30
30
  var _ConfirmWrapper = _interopRequireDefault(require("../../../ProForm/components/render/ConfirmWrapper"));
31
31
  var _getDefaultProps = require("../../utils/getDefaultProps");
32
32
  var _ListChangedWrapper = _interopRequireDefault(require("./ListChangedWrapper"));
33
- var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies"];
33
+ var _excluded = ["type", "valueType", "names", "fieldProps", "labelRequired", "editRender", "component", "viewRender", "title", "originTitle", "label", "dataIndex", "formItemProps", "isEditable", "required", "rules", "onDiff", "className", "trim", "confirm", "dependencies", "desensitization"];
34
34
  /* eslint-disable prefer-destructuring */
35
35
  /* eslint-disable prefer-const */
36
36
  var RenderField = function RenderField(_ref) {
@@ -64,6 +64,7 @@ var RenderField = function RenderField(_ref) {
64
64
  trim = column.trim,
65
65
  confirm = column.confirm,
66
66
  dependencies = column.dependencies,
67
+ desensitization = column.desensitization,
67
68
  resetProps = (0, _objectWithoutProperties2.default)(column, _excluded);
68
69
  // editRender弃用使用component同ProForm
69
70
  var _editRender = component || editRender;
@@ -89,6 +90,7 @@ var RenderField = function RenderField(_ref) {
89
90
  var _required = required;
90
91
  var _valueType = valueType;
91
92
  var _disabled = false;
93
+ var _desensitization = desensitization || [];
92
94
  var isCell = mode === 'cell';
93
95
  if (isCell) {
94
96
  record['is-view'] = !(0, _lodash.isEqual)(cellNamePath, cellName);
@@ -125,6 +127,9 @@ var RenderField = function RenderField(_ref) {
125
127
  if ((0, _lodash.isFunction)(valueType)) {
126
128
  _valueType = valueType.apply(void 0, rowParams);
127
129
  }
130
+ if ((0, _lodash.isFunction)(desensitization)) {
131
+ _desensitization = desensitization.apply(void 0, rowParams);
132
+ }
128
133
  // 获取最终的disabled
129
134
  _disabled = (0, _tools.getDisabled)({
130
135
  globalControl: otherProps === null || otherProps === void 0 ? void 0 : otherProps.globalControl,
@@ -196,21 +201,23 @@ var RenderField = function RenderField(_ref) {
196
201
  * 配置valueType时,基于formItem的normalize与getValueProps进行值类型转换
197
202
  * @returns {}
198
203
  */
199
- var valueTypeTransform = (0, _react.useCallback)(function () {
200
- var _fieldProps3;
201
- // 不存在valueType返回空
202
- if (!_valueType) {
203
- return {};
204
- }
204
+ var valueTypeTransform = function valueTypeTransform() {
205
+ var _fieldProps3, _desensitization2;
205
206
  // SwitchCheckbox默认YN, 兼容已有组件
206
207
  if (type === 'SwitchCheckbox') {
207
208
  _valueType = 'switch';
208
209
  }
209
210
  var params = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, column), {}, {
210
- mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode
211
+ mode: (_fieldProps3 = _fieldProps) === null || _fieldProps3 === void 0 ? void 0 : _fieldProps3.mode,
212
+ desensitization: _desensitization
211
213
  });
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
+ }
212
219
  return (0, _lodash.isFunction)(_valueType2.default[_valueType]) ? _valueType2.default[_valueType](params) : {};
213
- }, [_valueType]);
220
+ };
214
221
  if ((_names = names) === null || _names === void 0 ? void 0 : _names.length) {
215
222
  // 支持names配置,临时生成对应的formItem,用来存储单个对应的值
216
223
  names = names.map(function (key) {
@@ -524,6 +531,7 @@ var RenderField = function RenderField(_ref) {
524
531
  onBlur: _onblur,
525
532
  index: index,
526
533
  confirm: confirm,
534
+ desensitization: _desensitization,
527
535
  otherProps: {
528
536
  form: form,
529
537
  names: names,
@@ -532,7 +540,8 @@ var RenderField = function RenderField(_ref) {
532
540
  listName: cellName,
533
541
  viewEmpty: viewEmpty,
534
542
  valueType: _valueType,
535
- isView: isView
543
+ isView: isView,
544
+ desensitizationKey: otherProps === null || otherProps === void 0 ? void 0 : otherProps.desensitizationKey
536
545
  }
537
546
  });
538
547
  componentProps = (0, _lodash.omit)(componentProps, ['onFieldChange', 'namePath', 'index']);
@@ -78,14 +78,6 @@
78
78
  background: #fff;
79
79
  letter-spacing: 2px;
80
80
  }
81
- &.pro-header-describe-items-more{
82
- .pro-header-tag{
83
- padding: 0;
84
- background: transparent !important;
85
- color: #333 ;
86
- }
87
-
88
- }
89
81
  }
90
82
  }
91
83
  }
@@ -226,16 +226,17 @@ function useAntdTable(service, options, useRequestOptions) {
226
226
  pageNum: 1,
227
227
  pageSize: page.pageSize
228
228
  };
229
+ var _values = (0, _utils.removeEmptyKeys)(values);
229
230
  onPageChange(newPage);
230
231
  setState({
231
- searchValues: values,
232
+ searchValues: _values,
232
233
  allSelected: false,
233
234
  selectedRecords: [],
234
235
  selectedRowKeys: []
235
236
  });
236
237
  run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
237
238
  page: newPage
238
- }, extraFilter), values)));
239
+ }, extraFilter), _values)));
239
240
  }, [extraFilter, page.pageSize, run, getTransformParams]);
240
241
  var resetParams = (0, _react.useCallback)(function () {
241
242
  var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initPage;
@@ -29,3 +29,7 @@ export declare const isListResult: (data: {
29
29
  [key: string]: any;
30
30
  }) => boolean;
31
31
  export declare const getRowKey: (rowKey: any, record: any) => any;
32
+ /** 移除对象中的 null , undefined, '' 的key */
33
+ export declare const removeEmptyKeys: (obj: any) => {
34
+ [k: string]: unknown;
35
+ };
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.isListResult = exports.getRowKey = exports.getOriginalValue = exports.getDecimalDigits = exports.getColumnDataIndex = void 0;
7
+ exports.removeEmptyKeys = exports.isListResult = exports.getRowKey = exports.getOriginalValue = exports.getDecimalDigits = exports.getColumnDataIndex = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
7
9
  var _lodash = require("lodash");
8
10
  var _utils = require("@zat-design/utils");
9
11
  var isEmpty = _utils.validate.isEmpty;
@@ -76,4 +78,18 @@ var getRowKey = exports.getRowKey = function getRowKey(rowKey, record) {
76
78
  key = (_ref = typeof rowKey === 'function' ? rowKey(record) : record[rowKey]) !== null && _ref !== void 0 ? _ref : key;
77
79
  }
78
80
  return key;
81
+ };
82
+ /** 移除对象中的 null , undefined, '' 的key */
83
+ var removeEmptyKeys = exports.removeEmptyKeys = function removeEmptyKeys(obj) {
84
+ // 使用 Object.entries() 将对象转换为键值对数组
85
+ var entries = Object.entries(obj);
86
+ // 过滤掉值为 null, undefined, 或 '' 的键值对
87
+ var filteredEntries = entries.filter(function (_ref2) {
88
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
89
+ key = _ref3[0],
90
+ value = _ref3[1];
91
+ return !isEmpty(value);
92
+ });
93
+ // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
94
+ return Object.fromEntries(filteredEntries);
79
95
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.9.8-beta.5",
3
+ "version": "3.9.8-beta.7",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",