@zat-design/sisyphus-react 3.13.5 → 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.
@@ -72,17 +72,13 @@ var DndWrapper = function DndWrapper(_ref2) {
72
72
  value = _ref2.value,
73
73
  onChange = _ref2.onChange,
74
74
  onDrag = _ref2.onDrag,
75
+ onDragEnd = _ref2.onDragEnd,
75
76
  disabled = _ref2.disabled,
76
77
  children = _ref2.children;
77
- var onDragEnd = function onDragEnd(event) {
78
+ var onDragEndtInside = function onDragEndtInside(event) {
78
79
  var active = event.active,
79
80
  over = event.over;
80
81
  if (active.id !== (over === null || over === void 0 ? void 0 : over.id)) {
81
- if (onDrag) {
82
- var nextList = onDrag(event, value);
83
- onChange(nextList);
84
- return;
85
- }
86
82
  var activeIndex = value.findIndex(function (i) {
87
83
  return i.rowKey === active.id;
88
84
  });
@@ -90,11 +86,16 @@ var DndWrapper = function DndWrapper(_ref2) {
90
86
  return i.rowKey === (over === null || over === void 0 ? void 0 : over.id);
91
87
  });
92
88
  var nextValue = arrayMove(value, activeIndex, overIndex);
89
+ if (onDrag || onDragEnd) {
90
+ var nextList = onDragEnd ? onDragEnd(event, value, nextValue) : onDrag(event, value, nextValue);
91
+ onChange(nextList);
92
+ return;
93
+ }
93
94
  onChange(nextValue);
94
95
  }
95
96
  };
96
97
  return draggable && !disabled ? _jsx(DndContext, {
97
- onDragEnd: onDragEnd,
98
+ onDragEnd: onDragEndtInside,
98
99
  children: _jsx(SortableContext, {
99
100
  items: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value.map(function (i) {
100
101
  return i.rowKey;
@@ -130,11 +131,13 @@ var DraggableTable = function DraggableTable(_ref3) {
130
131
  handlePageChange = tableProps.handlePageChange;
131
132
  var onChange = draggableProps.onChange,
132
133
  onDrag = draggableProps.onDrag,
133
- draggable = draggableProps.draggable;
134
+ draggable = draggableProps.draggable,
135
+ onDragEnd = draggableProps.onDragEnd;
134
136
  return _jsxs(DndWrapper, {
135
137
  value: value,
136
138
  onChange: onChange,
137
139
  onDrag: onDrag,
140
+ onDragEnd: onDragEnd,
138
141
  disabled: disabled,
139
142
  draggable: draggable,
140
143
  children: [headerRender ? _jsx("div", {
@@ -11,7 +11,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
11
11
  import "antd/es/form/style";
12
12
  import _Form from "antd/es/form";
13
13
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
14
- var _excluded = ["value", "onChange", "onDrag", "className", "columns", "type", "mode", "stripe", "draggable", "virtual", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"];
14
+ var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "type", "mode", "stripe", "draggable", "virtual", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"];
15
15
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
16
16
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
17
17
  import { get, isArray, isBoolean, set } from 'lodash';
@@ -29,6 +29,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
29
29
  var value = _ref.value,
30
30
  onChange = _ref.onChange,
31
31
  onDrag = _ref.onDrag,
32
+ onDragEnd = _ref.onDragEnd,
32
33
  className = _ref.className,
33
34
  columns = _ref.columns,
34
35
  type = _ref.type,
@@ -405,6 +406,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
405
406
  draggableProps: {
406
407
  onChange: onChange,
407
408
  onDrag: onDrag,
409
+ onDragEnd: onDragEnd,
408
410
  draggable: draggable
409
411
  },
410
412
  tableProps: {
@@ -377,8 +377,18 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
377
377
  rowDraggable?: (record?: T) => string | boolean;
378
378
  /**
379
379
  * 拖拽事件处理
380
+ * @param event 拖拽事件
381
+ * @param dataSource 当前数据源
382
+ * @param nextDataSource 拖拽后的数据源
380
383
  */
381
- onDrag?: (event: DragEndEvent, dataSource: T[]) => T[];
384
+ onDrag?: (event: DragEndEvent, dataSource: T[], nextDataSource: T[]) => T[];
385
+ /**
386
+ * 拖拽结束事件处理
387
+ * @param event 拖拽事件
388
+ * @param dataSource 当前数据源
389
+ * @param nextDataSource 拖拽后的数据源
390
+ */
391
+ onDragEnd?: (event: DragEndEvent, dataSource: T[], nextDataSource: T[]) => T[];
382
392
  /**
383
393
  * 引用对象
384
394
  */
@@ -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') {
@@ -4,8 +4,6 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
4
  import "antd/es/message/style";
5
5
  import _message from "antd/es/message";
6
6
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
7
- import "antd/es/form/style";
8
- import _Form from "antd/es/form";
9
7
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
10
8
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
11
9
  var _excluded = ["page", "filters", "sorter"];
@@ -28,7 +26,7 @@ var useDefaultOptions = function useDefaultOptions(options) {
28
26
  };
29
27
  var previousSearchValues = null;
30
28
  function useAntdTable(service, options, useRequestOptions) {
31
- 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;
32
30
  var _useSetState = useSetState({
33
31
  data: [],
34
32
  total: 0,
@@ -38,7 +36,8 @@ function useAntdTable(service, options, useRequestOptions) {
38
36
  filters: undefined,
39
37
  sorter: undefined
40
38
  },
41
- allSelected: false
39
+ allSelected: false,
40
+ searchValues: {}
42
41
  }),
43
42
  _useSetState2 = _slicedToArray(_useSetState, 2),
44
43
  _useSetState2$ = _useSetState2[0],
@@ -48,6 +47,7 @@ function useAntdTable(service, options, useRequestOptions) {
48
47
  selectedRowKeys = _useSetState2$.selectedRowKeys,
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,
@@ -66,9 +66,6 @@ function useAntdTable(service, options, useRequestOptions) {
66
66
  transformParams = _useDefaultOptions.transformParams,
67
67
  transformResponse = _useDefaultOptions.transformResponse,
68
68
  disabled = _useDefaultOptions.disabled;
69
- // 搜索表单里的值
70
- var _searchValues = _Form.useWatch([], form);
71
- var searchValues = removeEmptyKeys(_searchValues);
72
69
  var _ref = useRequestOptions || {},
73
70
  defaultParams = _ref.defaultParams;
74
71
  var defaultParam = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
@@ -193,6 +190,7 @@ function useAntdTable(service, options, useRequestOptions) {
193
190
  }, []);
194
191
  // 分页变更
195
192
  var handlePageChange = useCallback(function (current, pageSize) {
193
+ var _form$getFieldsValue;
196
194
  var page = {
197
195
  pageNum: current,
198
196
  pageSize: pageSize
@@ -204,11 +202,14 @@ function useAntdTable(service, options, useRequestOptions) {
204
202
  selectedRowKeys: []
205
203
  });
206
204
  }
205
+ var newValues = (_form$getFieldsValue = form.getFieldsValue()) !== null && _form$getFieldsValue !== void 0 ? _form$getFieldsValue : {};
206
+ var nextValues = removeEmptyKeys(newValues);
207
207
  run(getTransformParams(_objectSpread(_objectSpread({
208
208
  page: page
209
- }, searchValues), 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,
@@ -247,6 +249,7 @@ function useAntdTable(service, options, useRequestOptions) {
247
249
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || isNonEmptyObject(_values) || !isEqual(previousSearchValues, _values)) {
248
250
  previousSearchValues = _values;
249
251
  setState({
252
+ searchValues: _values,
250
253
  allSelected: false,
251
254
  selectedRecords: [],
252
255
  selectedRowKeys: []
@@ -258,6 +261,7 @@ function useAntdTable(service, options, useRequestOptions) {
258
261
  }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
259
262
  var resetParams = useCallback(function (page) {
260
263
  setState({
264
+ searchValues: {},
261
265
  allSelected: false,
262
266
  selectedRecords: [],
263
267
  selectedRowKeys: [],
@@ -471,10 +475,11 @@ function useAntdTable(service, options, useRequestOptions) {
471
475
  onChange: handlePageChange
472
476
  };
473
477
  var useAntdTableProps = _objectSpread(_objectSpread({}, result), {}, {
478
+ form: form,
474
479
  data: data,
475
480
  params: (result === null || result === void 0 ? void 0 : (_result$params = result.params) === null || _result$params === void 0 ? void 0 : _result$params[0]) || {},
476
481
  rowSelection: rowSelection,
477
- searchValues: searchValues,
482
+ searchValues: (_form$getFieldsValue3 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue3 !== void 0 ? _form$getFieldsValue3 : {},
478
483
  allSelected: allSelected,
479
484
  selectedTip: selectedTip,
480
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 控制表单重置后是否自动发起查询
@@ -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) {
@@ -92,6 +92,9 @@ var ButtonRender = function ButtonRender(props) {
92
92
  children: [_jsx(CloudUploadOutlined, {}), buttonText]
93
93
  })), afterRender ? _jsx("div", {
94
94
  className: "pro-upload-button-inner-right",
95
+ onClick: function onClick(e) {
96
+ return e.stopPropagation();
97
+ },
95
98
  children: afterRender
96
99
  }) : null]
97
100
  })
@@ -79,17 +79,13 @@ var DndWrapper = function DndWrapper(_ref2) {
79
79
  value = _ref2.value,
80
80
  onChange = _ref2.onChange,
81
81
  onDrag = _ref2.onDrag,
82
+ onDragEnd = _ref2.onDragEnd,
82
83
  disabled = _ref2.disabled,
83
84
  children = _ref2.children;
84
- var onDragEnd = function onDragEnd(event) {
85
+ var onDragEndtInside = function onDragEndtInside(event) {
85
86
  var active = event.active,
86
87
  over = event.over;
87
88
  if (active.id !== (over === null || over === void 0 ? void 0 : over.id)) {
88
- if (onDrag) {
89
- var nextList = onDrag(event, value);
90
- onChange(nextList);
91
- return;
92
- }
93
89
  var activeIndex = value.findIndex(function (i) {
94
90
  return i.rowKey === active.id;
95
91
  });
@@ -97,11 +93,16 @@ var DndWrapper = function DndWrapper(_ref2) {
97
93
  return i.rowKey === (over === null || over === void 0 ? void 0 : over.id);
98
94
  });
99
95
  var nextValue = (0, _sortable.arrayMove)(value, activeIndex, overIndex);
96
+ if (onDrag || onDragEnd) {
97
+ var nextList = onDragEnd ? onDragEnd(event, value, nextValue) : onDrag(event, value, nextValue);
98
+ onChange(nextList);
99
+ return;
100
+ }
100
101
  onChange(nextValue);
101
102
  }
102
103
  };
103
104
  return draggable && !disabled ? (0, _jsxRuntime.jsx)(_core.DndContext, {
104
- onDragEnd: onDragEnd,
105
+ onDragEnd: onDragEndtInside,
105
106
  children: (0, _jsxRuntime.jsx)(_sortable.SortableContext, {
106
107
  items: (value === null || value === void 0 ? void 0 : (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.rowKey) ? value.map(function (i) {
107
108
  return i.rowKey;
@@ -137,11 +138,13 @@ var DraggableTable = function DraggableTable(_ref3) {
137
138
  handlePageChange = tableProps.handlePageChange;
138
139
  var onChange = draggableProps.onChange,
139
140
  onDrag = draggableProps.onDrag,
140
- draggable = draggableProps.draggable;
141
+ draggable = draggableProps.draggable,
142
+ onDragEnd = draggableProps.onDragEnd;
141
143
  return (0, _jsxRuntime.jsxs)(DndWrapper, {
142
144
  value: value,
143
145
  onChange: onChange,
144
146
  onDrag: onDrag,
147
+ onDragEnd: onDragEnd,
145
148
  disabled: disabled,
146
149
  draggable: draggable,
147
150
  children: [headerRender ? (0, _jsxRuntime.jsx)("div", {
@@ -26,12 +26,13 @@ var _ProForm = _interopRequireDefault(require("../ProForm"));
26
26
  var _empty = _interopRequireDefault(require("../assets/empty.png"));
27
27
  var _locale = _interopRequireWildcard(require("../locale"));
28
28
  var _RcTable = require("./components/RcTable");
29
- var _excluded = ["value", "onChange", "onDrag", "className", "columns", "type", "mode", "stripe", "draggable", "virtual", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"];
29
+ var _excluded = ["value", "onChange", "onDrag", "onDragEnd", "className", "columns", "type", "mode", "stripe", "draggable", "virtual", "disabled", "insertType", "emptyBtnText", "actionWidth", "actionProps", "toolbarProps", "toolbarSticky", "rowSelection", "onlyOneLineMsg", "deletePoConfirmMsg", "mulDeletePoConfirmMsg", "requiredAlign", "summary", "max", "headerRender", "pagination", "rowKey", "rowDisabled", "rowDraggable", "footerRender", "scroll", "actionDirection", "diffConfig"];
30
30
  var ProEditTable = function ProEditTable(_ref, ref) {
31
31
  var _resetProps$id, _resetProps$id$split, _themeConfig$data2, _resetProps$otherProp;
32
32
  var value = _ref.value,
33
33
  onChange = _ref.onChange,
34
34
  onDrag = _ref.onDrag,
35
+ onDragEnd = _ref.onDragEnd,
35
36
  className = _ref.className,
36
37
  columns = _ref.columns,
37
38
  type = _ref.type,
@@ -408,6 +409,7 @@ var ProEditTable = function ProEditTable(_ref, ref) {
408
409
  draggableProps: {
409
410
  onChange: onChange,
410
411
  onDrag: onDrag,
412
+ onDragEnd: onDragEnd,
411
413
  draggable: draggable
412
414
  },
413
415
  tableProps: {
@@ -377,8 +377,18 @@ export interface ProEditTableProps<T = any> extends Omit<TableProps<T>, 'onChang
377
377
  rowDraggable?: (record?: T) => string | boolean;
378
378
  /**
379
379
  * 拖拽事件处理
380
+ * @param event 拖拽事件
381
+ * @param dataSource 当前数据源
382
+ * @param nextDataSource 拖拽后的数据源
380
383
  */
381
- onDrag?: (event: DragEndEvent, dataSource: T[]) => T[];
384
+ onDrag?: (event: DragEndEvent, dataSource: T[], nextDataSource: T[]) => T[];
385
+ /**
386
+ * 拖拽结束事件处理
387
+ * @param event 拖拽事件
388
+ * @param dataSource 当前数据源
389
+ * @param nextDataSource 拖拽后的数据源
390
+ */
391
+ onDragEnd?: (event: DragEndEvent, dataSource: T[], nextDataSource: T[]) => T[];
382
392
  /**
383
393
  * 引用对象
384
394
  */
@@ -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,7 +33,7 @@ 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,
@@ -43,7 +43,8 @@ function useAntdTable(service, options, useRequestOptions) {
43
43
  filters: undefined,
44
44
  sorter: undefined
45
45
  },
46
- allSelected: false
46
+ allSelected: false,
47
+ searchValues: {}
47
48
  }),
48
49
  _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
49
50
  _useSetState2$ = _useSetState2[0],
@@ -53,6 +54,7 @@ function useAntdTable(service, options, useRequestOptions) {
53
54
  selectedRowKeys = _useSetState2$.selectedRowKeys,
54
55
  extraFilter = _useSetState2$.extraFilter,
55
56
  allSelected = _useSetState2$.allSelected,
57
+ searchValues = _useSetState2$.searchValues,
56
58
  setState = _useSetState2[1];
57
59
  var _useDefaultOptions = useDefaultOptions(options),
58
60
  form = _useDefaultOptions.form,
@@ -71,9 +73,6 @@ function useAntdTable(service, options, useRequestOptions) {
71
73
  transformParams = _useDefaultOptions.transformParams,
72
74
  transformResponse = _useDefaultOptions.transformResponse,
73
75
  disabled = _useDefaultOptions.disabled;
74
- // 搜索表单里的值
75
- var _searchValues = _antd.Form.useWatch([], form);
76
- var searchValues = (0, _utils.removeEmptyKeys)(_searchValues);
77
76
  var _ref = useRequestOptions || {},
78
77
  defaultParams = _ref.defaultParams;
79
78
  var defaultParam = Array.isArray(defaultParams) ? defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams[0] : defaultParams || {};
@@ -198,6 +197,7 @@ function useAntdTable(service, options, useRequestOptions) {
198
197
  }, []);
199
198
  // 分页变更
200
199
  var handlePageChange = (0, _react.useCallback)(function (current, pageSize) {
200
+ var _form$getFieldsValue;
201
201
  var page = {
202
202
  pageNum: current,
203
203
  pageSize: pageSize
@@ -209,11 +209,14 @@ function useAntdTable(service, options, useRequestOptions) {
209
209
  selectedRowKeys: []
210
210
  });
211
211
  }
212
+ var newValues = (_form$getFieldsValue = form.getFieldsValue()) !== null && _form$getFieldsValue !== void 0 ? _form$getFieldsValue : {};
213
+ var nextValues = (0, _utils.removeEmptyKeys)(newValues);
212
214
  run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
213
215
  page: page
214
- }, searchValues), extraFilter)));
215
- }, [allSelected, searchValues, extraFilter, data, getTransformParams]);
216
+ }, nextValues), extraFilter)));
217
+ }, [allSelected, extraFilter, data, getTransformParams]);
216
218
  var handleTableChange = (0, _react.useCallback)(function (pagination, filters, sorter, extra) {
219
+ var _form$getFieldsValue2;
217
220
  // 跳过分页改变,使用pagination的onChange
218
221
  if (extra.action === 'paginate') {
219
222
  return;
@@ -231,13 +234,14 @@ function useAntdTable(service, options, useRequestOptions) {
231
234
  sorter: sorter
232
235
  }
233
236
  });
237
+ var _values = (_form$getFieldsValue2 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue2 !== void 0 ? _form$getFieldsValue2 : {};
234
238
  run(getTransformParams((0, _objectSpread2.default)((0, _objectSpread2.default)({
235
239
  page: page
236
- }, searchValues), {}, {
240
+ }, _values), {}, {
237
241
  filters: filters,
238
242
  sorter: sorter
239
243
  })));
240
- }, [allSelected, searchValues, getTransformParams]);
244
+ }, [allSelected, getTransformParams]);
241
245
  var onSearch = (0, _react.useCallback)(function (values) {
242
246
  var newPage = {
243
247
  pageNum: 1,
@@ -252,6 +256,7 @@ function useAntdTable(service, options, useRequestOptions) {
252
256
  if ((selectedRecords === null || selectedRecords === void 0 ? void 0 : selectedRecords.length) || (0, _utils.isNonEmptyObject)(_values) || !(0, _lodash.isEqual)(previousSearchValues, _values)) {
253
257
  previousSearchValues = _values;
254
258
  setState({
259
+ searchValues: _values,
255
260
  allSelected: false,
256
261
  selectedRecords: [],
257
262
  selectedRowKeys: []
@@ -263,6 +268,7 @@ function useAntdTable(service, options, useRequestOptions) {
263
268
  }, [extraFilter, page.pageSize, previousPage, getTransformParams]);
264
269
  var resetParams = (0, _react.useCallback)(function (page) {
265
270
  setState({
271
+ searchValues: {},
266
272
  allSelected: false,
267
273
  selectedRecords: [],
268
274
  selectedRowKeys: [],
@@ -476,10 +482,11 @@ function useAntdTable(service, options, useRequestOptions) {
476
482
  onChange: handlePageChange
477
483
  };
478
484
  var useAntdTableProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
485
+ form: form,
479
486
  data: data,
480
487
  params: (result === null || result === void 0 ? void 0 : (_result$params = result.params) === null || _result$params === void 0 ? void 0 : _result$params[0]) || {},
481
488
  rowSelection: rowSelection,
482
- searchValues: searchValues,
489
+ searchValues: (_form$getFieldsValue3 = form === null || form === void 0 ? void 0 : form.getFieldsValue()) !== null && _form$getFieldsValue3 !== void 0 ? _form$getFieldsValue3 : {},
483
490
  allSelected: allSelected,
484
491
  selectedTip: selectedTip,
485
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 控制表单重置后是否自动发起查询
@@ -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) {
@@ -96,6 +96,9 @@ var ButtonRender = function ButtonRender(props) {
96
96
  children: [(0, _jsxRuntime.jsx)(_icons.CloudUploadOutlined, {}), buttonText]
97
97
  })), afterRender ? (0, _jsxRuntime.jsx)("div", {
98
98
  className: "pro-upload-button-inner-right",
99
+ onClick: function onClick(e) {
100
+ return e.stopPropagation();
101
+ },
99
102
  children: afterRender
100
103
  }) : null]
101
104
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.13.5",
3
+ "version": "3.13.6-beta.1",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",