@zat-design/sisyphus-react 3.13.5-beta.3 → 3.13.6-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.
@@ -9,7 +9,7 @@ import { isNull, isUndefined } from 'lodash';
9
9
  * @returns
10
10
  */
11
11
  export function getEnumData(storage, cacheKey, baseEnumStorage) {
12
- if (baseEnumStorage) {
12
+ if (baseEnumStorage && window.localStorage.getItem(cacheKey)) {
13
13
  return baseEnumStorage;
14
14
  }
15
15
  if (storage === 'localStorage') {
@@ -26,18 +26,18 @@ var useDefaultOptions = function useDefaultOptions(options) {
26
26
  };
27
27
  var previousSearchValues = null;
28
28
  function useAntdTable(service, options, useRequestOptions) {
29
- var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5, _result$params;
29
+ var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5, _result$params, _form$getFieldsValue3;
30
30
  var _useSetState = useSetState({
31
31
  data: [],
32
32
  total: 0,
33
33
  selectedRecords: [],
34
34
  selectedRowKeys: [],
35
- searchValues: undefined,
36
35
  extraFilter: {
37
36
  filters: undefined,
38
37
  sorter: undefined
39
38
  },
40
- allSelected: false
39
+ allSelected: false,
40
+ searchValues: {}
41
41
  }),
42
42
  _useSetState2 = _slicedToArray(_useSetState, 2),
43
43
  _useSetState2$ = _useSetState2[0],
@@ -45,9 +45,9 @@ function useAntdTable(service, options, useRequestOptions) {
45
45
  total = _useSetState2$.total,
46
46
  selectedRecords = _useSetState2$.selectedRecords,
47
47
  selectedRowKeys = _useSetState2$.selectedRowKeys,
48
- searchValues = _useSetState2$.searchValues,
49
48
  extraFilter = _useSetState2$.extraFilter,
50
49
  allSelected = _useSetState2$.allSelected,
50
+ searchValues = _useSetState2$.searchValues,
51
51
  setState = _useSetState2[1];
52
52
  var _useDefaultOptions = useDefaultOptions(options),
53
53
  form = _useDefaultOptions.form,
@@ -204,11 +204,12 @@ function useAntdTable(service, options, useRequestOptions) {
204
204
  }
205
205
  var newValues = (_form$getFieldsValue = form.getFieldsValue()) !== null && _form$getFieldsValue !== void 0 ? _form$getFieldsValue : {};
206
206
  var nextValues = removeEmptyKeys(newValues);
207
- run(getTransformParams(_objectSpread(_objectSpread(_objectSpread({
207
+ run(getTransformParams(_objectSpread(_objectSpread({
208
208
  page: page
209
- }, searchValues), nextValues), extraFilter)));
210
- }, [allSelected, searchValues, extraFilter, data, getTransformParams]);
209
+ }, nextValues), extraFilter)));
210
+ }, [allSelected, extraFilter, data, getTransformParams]);
211
211
  var handleTableChange = useCallback(function (pagination, filters, sorter, extra) {
212
+ var _form$getFieldsValue2;
212
213
  // 跳过分页改变,使用pagination的onChange
213
214
  if (extra.action === 'paginate') {
214
215
  return;
@@ -226,13 +227,14 @@ function useAntdTable(service, options, useRequestOptions) {
226
227
  sorter: sorter
227
228
  }
228
229
  });
230
+ var _values = (_form$getFieldsValue2 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue2 !== void 0 ? _form$getFieldsValue2 : {};
229
231
  run(getTransformParams(_objectSpread(_objectSpread({
230
232
  page: page
231
- }, searchValues), {}, {
233
+ }, _values), {}, {
232
234
  filters: filters,
233
235
  sorter: sorter
234
236
  })));
235
- }, [allSelected, searchValues, getTransformParams]);
237
+ }, [allSelected, getTransformParams]);
236
238
  var onSearch = useCallback(function (values) {
237
239
  var newPage = {
238
240
  pageNum: 1,
@@ -259,7 +261,7 @@ function useAntdTable(service, options, useRequestOptions) {
259
261
  }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
260
262
  var resetParams = useCallback(function (page) {
261
263
  setState({
262
- searchValues: undefined,
264
+ searchValues: {},
263
265
  allSelected: false,
264
266
  selectedRecords: [],
265
267
  selectedRowKeys: [],
@@ -473,10 +475,11 @@ function useAntdTable(service, options, useRequestOptions) {
473
475
  onChange: handlePageChange
474
476
  };
475
477
  var useAntdTableProps = _objectSpread(_objectSpread({}, result), {}, {
478
+ form: form,
476
479
  data: data,
477
480
  params: (result === null || result === void 0 ? void 0 : (_result$params = result.params) === null || _result$params === void 0 ? void 0 : _result$params[0]) || {},
478
481
  rowSelection: rowSelection,
479
- searchValues: searchValues,
482
+ searchValues: (_form$getFieldsValue3 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue3 !== void 0 ? _form$getFieldsValue3 : {},
480
483
  allSelected: allSelected,
481
484
  selectedTip: selectedTip,
482
485
  selectedRowKeys: selectedRowKeys,
@@ -579,7 +579,7 @@ export interface ProTableRequestOptionsType<T, R> {
579
579
  * @description 用于获取和设置表单值
580
580
  * @default undefined
581
581
  */
582
- form?: FormInstance;
582
+ form: FormInstance;
583
583
  /**
584
584
  * 重置时是否重新查询
585
585
  * @description 控制表单重置后是否自动发起查询
@@ -735,12 +735,6 @@ export interface ProTableUseAntdTableType<I, R> {
735
735
  * @default []
736
736
  */
737
737
  selectedRowKeys: Key[];
738
- /**
739
- * 搜索值
740
- * @description 当前表单的搜索条件
741
- * @default undefined
742
- */
743
- searchValues: I;
744
738
  /**
745
739
  * 额外过滤条件
746
740
  * @description 表单之外的额外过滤条件
@@ -75,27 +75,23 @@ export var getRowKey = function getRowKey(rowKey, record) {
75
75
  /** 移除对象中的 null , undefined, '' 的key */
76
76
  export var removeEmptyKeys = function removeEmptyKeys(obj) {
77
77
  if (!obj) return {};
78
- // 使用 Object.entries() 将对象转换为键值对数组
79
- var entries = Object.entries(obj);
80
- // 过滤掉值为 null, undefined, 或 '' 的键值对
81
- var filteredEntries = entries.filter(function (_ref2) {
78
+ // 一次遍历完成所有处理
79
+ return Object.fromEntries(Object.entries(obj).filter(function (_ref2) {
82
80
  var _ref3 = _slicedToArray(_ref2, 2),
83
- key = _ref3[0],
81
+ _ = _ref3[0],
84
82
  value = _ref3[1];
85
- return !isEmpty(value);
86
- });
87
- // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
88
- var nextObj = Object.fromEntries(filteredEntries);
89
- // 空对象的移除出去
90
- Object.keys(nextObj).forEach(function (key) {
91
- var _Object$values;
92
- if (nextObj[key] && _typeof(nextObj[key]) === 'object' && ((_Object$values = Object.values(nextObj[key])) === null || _Object$values === void 0 ? void 0 : _Object$values.every(function (item) {
93
- return [null, undefined, ''].includes(item);
94
- }))) {
95
- nextObj[key] = undefined;
83
+ // 过滤空值
84
+ if (value === null || value === undefined || value === '') {
85
+ return false;
96
86
  }
97
- });
98
- return nextObj;
87
+ // 检查是否是全空对象
88
+ if (value && _typeof(value) === 'object' && !Array.isArray(value)) {
89
+ return !Object.values(value).every(function (item) {
90
+ return item === null || item === undefined || item === '';
91
+ });
92
+ }
93
+ return true;
94
+ }));
99
95
  };
100
96
  /** 判断是有值的对象 */
101
97
  export var isNonEmptyObject = function isNonEmptyObject(obj) {
@@ -22,7 +22,7 @@ var _excluded = ["children"];
22
22
  * @returns
23
23
  */
24
24
  function getEnumData(storage, cacheKey, baseEnumStorage) {
25
- if (baseEnumStorage) {
25
+ if (baseEnumStorage && window.localStorage.getItem(cacheKey)) {
26
26
  return baseEnumStorage;
27
27
  }
28
28
  if (storage === 'localStorage') {
@@ -33,18 +33,18 @@ var useDefaultOptions = function useDefaultOptions(options) {
33
33
  };
34
34
  var previousSearchValues = null;
35
35
  function useAntdTable(service, options, useRequestOptions) {
36
- var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5, _result$params;
36
+ var _locale$ProTable2, _locale$ProTable3, _locale$ProTable4, _locale$ProTable5, _result$params, _form$getFieldsValue3;
37
37
  var _useSetState = (0, _ahooks.useSetState)({
38
38
  data: [],
39
39
  total: 0,
40
40
  selectedRecords: [],
41
41
  selectedRowKeys: [],
42
- searchValues: undefined,
43
42
  extraFilter: {
44
43
  filters: undefined,
45
44
  sorter: undefined
46
45
  },
47
- allSelected: false
46
+ allSelected: false,
47
+ searchValues: {}
48
48
  }),
49
49
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
50
50
  _useSetState2$ = _useSetState2[0],
@@ -52,9 +52,9 @@ function useAntdTable(service, options, useRequestOptions) {
52
52
  total = _useSetState2$.total,
53
53
  selectedRecords = _useSetState2$.selectedRecords,
54
54
  selectedRowKeys = _useSetState2$.selectedRowKeys,
55
- searchValues = _useSetState2$.searchValues,
56
55
  extraFilter = _useSetState2$.extraFilter,
57
56
  allSelected = _useSetState2$.allSelected,
57
+ searchValues = _useSetState2$.searchValues,
58
58
  setState = _useSetState2[1];
59
59
  var _useDefaultOptions = useDefaultOptions(options),
60
60
  form = _useDefaultOptions.form,
@@ -211,11 +211,12 @@ function useAntdTable(service, options, useRequestOptions) {
211
211
  }
212
212
  var newValues = (_form$getFieldsValue = form.getFieldsValue()) !== null && _form$getFieldsValue !== void 0 ? _form$getFieldsValue : {};
213
213
  var nextValues = (0, _utils.removeEmptyKeys)(newValues);
214
- run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
214
+ run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
215
215
  page: page
216
- }, searchValues), nextValues), extraFilter)));
217
- }, [allSelected, searchValues, extraFilter, data, getTransformParams]);
216
+ }, nextValues), extraFilter)));
217
+ }, [allSelected, extraFilter, data, getTransformParams]);
218
218
  var handleTableChange = (0, _react.useCallback)(function (pagination, filters, sorter, extra) {
219
+ var _form$getFieldsValue2;
219
220
  // 跳过分页改变,使用pagination的onChange
220
221
  if (extra.action === 'paginate') {
221
222
  return;
@@ -233,13 +234,14 @@ function useAntdTable(service, options, useRequestOptions) {
233
234
  sorter: sorter
234
235
  }
235
236
  });
237
+ var _values = (_form$getFieldsValue2 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue2 !== void 0 ? _form$getFieldsValue2 : {};
236
238
  run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
237
239
  page: page
238
- }, searchValues), {}, {
240
+ }, _values), {}, {
239
241
  filters: filters,
240
242
  sorter: sorter
241
243
  })));
242
- }, [allSelected, searchValues, getTransformParams]);
244
+ }, [allSelected, getTransformParams]);
243
245
  var onSearch = (0, _react.useCallback)(function (values) {
244
246
  var newPage = {
245
247
  pageNum: 1,
@@ -266,7 +268,7 @@ function useAntdTable(service, options, useRequestOptions) {
266
268
  }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
267
269
  var resetParams = (0, _react.useCallback)(function (page) {
268
270
  setState({
269
- searchValues: undefined,
271
+ searchValues: {},
270
272
  allSelected: false,
271
273
  selectedRecords: [],
272
274
  selectedRowKeys: [],
@@ -480,10 +482,11 @@ function useAntdTable(service, options, useRequestOptions) {
480
482
  onChange: handlePageChange
481
483
  };
482
484
  var useAntdTableProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
485
+ form: form,
483
486
  data: data,
484
487
  params: (result === null || result === void 0 ? void 0 : (_result$params = result.params) === null || _result$params === void 0 ? void 0 : _result$params[0]) || {},
485
488
  rowSelection: rowSelection,
486
- searchValues: searchValues,
489
+ searchValues: (_form$getFieldsValue3 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue3 !== void 0 ? _form$getFieldsValue3 : {},
487
490
  allSelected: allSelected,
488
491
  selectedTip: selectedTip,
489
492
  selectedRowKeys: selectedRowKeys,
@@ -579,7 +579,7 @@ export interface ProTableRequestOptionsType<T, R> {
579
579
  * @description 用于获取和设置表单值
580
580
  * @default undefined
581
581
  */
582
- form?: FormInstance;
582
+ form: FormInstance;
583
583
  /**
584
584
  * 重置时是否重新查询
585
585
  * @description 控制表单重置后是否自动发起查询
@@ -735,12 +735,6 @@ export interface ProTableUseAntdTableType<I, R> {
735
735
  * @default []
736
736
  */
737
737
  selectedRowKeys: Key[];
738
- /**
739
- * 搜索值
740
- * @description 当前表单的搜索条件
741
- * @default undefined
742
- */
743
- searchValues: I;
744
738
  /**
745
739
  * 额外过滤条件
746
740
  * @description 表单之外的额外过滤条件
@@ -82,27 +82,23 @@ var getRowKey = exports.getRowKey = function getRowKey(rowKey, record) {
82
82
  /** 移除对象中的 null , undefined, '' 的key */
83
83
  var removeEmptyKeys = exports.removeEmptyKeys = function removeEmptyKeys(obj) {
84
84
  if (!obj) return {};
85
- // 使用 Object.entries() 将对象转换为键值对数组
86
- var entries = Object.entries(obj);
87
- // 过滤掉值为 null, undefined, 或 '' 的键值对
88
- var filteredEntries = entries.filter(function (_ref2) {
85
+ // 一次遍历完成所有处理
86
+ return Object.fromEntries(Object.entries(obj).filter(function (_ref2) {
89
87
  var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
90
- key = _ref3[0],
88
+ _ = _ref3[0],
91
89
  value = _ref3[1];
92
- return !isEmpty(value);
93
- });
94
- // 使用 Object.fromEntries() 将过滤后的键值对数组转换回对象
95
- var nextObj = Object.fromEntries(filteredEntries);
96
- // 空对象的移除出去
97
- Object.keys(nextObj).forEach(function (key) {
98
- var _Object$values;
99
- if (nextObj[key] && (0, _typeof2.default)(nextObj[key]) === 'object' && ((_Object$values = Object.values(nextObj[key])) === null || _Object$values === void 0 ? void 0 : _Object$values.every(function (item) {
100
- return [null, undefined, ''].includes(item);
101
- }))) {
102
- nextObj[key] = undefined;
90
+ // 过滤空值
91
+ if (value === null || value === undefined || value === '') {
92
+ return false;
103
93
  }
104
- });
105
- return nextObj;
94
+ // 检查是否是全空对象
95
+ if (value && (0, _typeof2.default)(value) === 'object' && !Array.isArray(value)) {
96
+ return !Object.values(value).every(function (item) {
97
+ return item === null || item === undefined || item === '';
98
+ });
99
+ }
100
+ return true;
101
+ }));
106
102
  };
107
103
  /** 判断是有值的对象 */
108
104
  var isNonEmptyObject = exports.isNonEmptyObject = function isNonEmptyObject(obj) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.13.5-beta.3",
3
+ "version": "3.13.6-beta.1",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",