@hw-component/table 1.10.47 → 1.10.50
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/.eslintcache +1 -1
- package/README.md +0 -9
- package/es/EditTable/hooks.d.ts +1 -1
- package/es/EditTable/hooks.js +36 -10
- package/es/EditTable/index.js +6 -0
- package/es/HTableBody/AlertMsg.d.ts +1 -1
- package/es/HTableBody/hooks/useControl.d.ts +2 -1
- package/es/HTableBody/hooks/useControl.js +6 -1
- package/es/HTableBody/index.js +2 -1
- package/es/hooks/useRowObj.js +13 -1
- package/es/modal.d.ts +1 -0
- package/lib/EditTable/hooks.d.ts +1 -1
- package/lib/EditTable/hooks.js +36 -10
- package/lib/EditTable/index.js +6 -0
- package/lib/HTableBody/AlertMsg.d.ts +1 -1
- package/lib/HTableBody/hooks/useControl.d.ts +2 -1
- package/lib/HTableBody/hooks/useControl.js +6 -1
- package/lib/HTableBody/index.js +2 -1
- package/lib/hooks/useRowObj.js +13 -1
- package/lib/modal.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/EditTable/hooks.ts +27 -2
- package/src/components/EditTable/index.tsx +5 -0
- package/src/components/HTableBody/AlertMsg.tsx +1 -1
- package/src/components/HTableBody/hooks/useControl.tsx +8 -6
- package/src/components/HTableBody/index.tsx +12 -4
- package/src/components/hooks/useRowObj.ts +15 -1
- package/src/components/modal.ts +1 -0
- package/src/pages/EditTable/index.tsx +21 -4
- package/src/pages/Table/index.tsx +13 -3
- package/README.en.md +0 -36
|
@@ -13,7 +13,8 @@ interface FilterKeysModal {
|
|
|
13
13
|
records?: any[];
|
|
14
14
|
rowKey?: string | GetRowKey<any>;
|
|
15
15
|
preserveSelectedRowKeys?: boolean;
|
|
16
|
+
selectedRowData?: Record<string, any>[];
|
|
16
17
|
}
|
|
17
|
-
export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys }: FilterKeysModal) => void;
|
|
18
|
+
export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, }: FilterKeysModal) => void;
|
|
18
19
|
export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
|
|
19
20
|
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// welcome to hoo hoo hoo
|
|
2
|
+
import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
2
3
|
import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
3
4
|
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
|
|
4
5
|
import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
|
|
5
6
|
import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
|
|
6
7
|
import _findIndexInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find-index';
|
|
8
|
+
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
7
9
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
8
10
|
import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
|
|
9
11
|
import { useState, useEffect, useMemo } from 'react';
|
|
@@ -92,8 +94,10 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
|
|
|
92
94
|
var _useHTableContext = useHTableContext(),
|
|
93
95
|
rowOnChange = _useHTableContext.rowOnChange;
|
|
94
96
|
var findId = function findId(key) {
|
|
97
|
+
var _context, _context2;
|
|
98
|
+
var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
95
99
|
var msRecords = records;
|
|
96
|
-
var rowIndex = _findIndexInstanceProperty(msRecords).call(
|
|
100
|
+
var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
|
|
97
101
|
var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
|
|
98
102
|
return id === key;
|
|
99
103
|
});
|
|
@@ -108,6 +112,7 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
|
|
|
108
112
|
return findId(key);
|
|
109
113
|
});
|
|
110
114
|
rowOnChange(selectedRowKeys, resultData);
|
|
115
|
+
return;
|
|
111
116
|
}
|
|
112
117
|
}, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
|
|
113
118
|
};
|
package/es/HTableBody/index.js
CHANGED
|
@@ -110,7 +110,8 @@ var Body = (function (bodyProps) {
|
|
|
110
110
|
selectedRowKeys: selectedRowKeys,
|
|
111
111
|
records: records,
|
|
112
112
|
rowKey: rowKey,
|
|
113
|
-
preserveSelectedRowKeys: preserveSelectedRowKeys
|
|
113
|
+
preserveSelectedRowKeys: preserveSelectedRowKeys,
|
|
114
|
+
selectedRowData: selectedRowData.rowData
|
|
114
115
|
});
|
|
115
116
|
var optionsNode = options && jsx(Options, _objectSpread(_objectSpread({
|
|
116
117
|
reload: function reload() {
|
package/es/hooks/useRowObj.js
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
|
|
5
|
+
var initSelectedData = function initSelectedData(rowSelection) {
|
|
6
|
+
if (!rowSelection) {
|
|
7
|
+
return {};
|
|
8
|
+
}
|
|
9
|
+
var selectedRowKeys = rowSelection.selectedRowKeys,
|
|
10
|
+
selectedRowData = rowSelection.selectedRowData;
|
|
11
|
+
return {
|
|
12
|
+
keys: selectedRowKeys,
|
|
13
|
+
rowData: selectedRowData
|
|
14
|
+
};
|
|
15
|
+
};
|
|
5
16
|
var useRowObj = (function (rowSelection) {
|
|
6
17
|
var change = function change(keys, rowData) {
|
|
7
18
|
if (rowSelection === false) {
|
|
@@ -11,7 +22,7 @@ var useRowObj = (function (rowSelection) {
|
|
|
11
22
|
onChange = _ref.onChange;
|
|
12
23
|
onChange === null || onChange === void 0 || onChange(keys, rowData);
|
|
13
24
|
};
|
|
14
|
-
var _useState = useState(
|
|
25
|
+
var _useState = useState(initSelectedData(rowSelection)),
|
|
15
26
|
_useState2 = _slicedToArray(_useState, 2),
|
|
16
27
|
selectedRowData = _useState2[0],
|
|
17
28
|
setSelectedRowData = _useState2[1];
|
|
@@ -36,6 +47,7 @@ var useRowObj = (function (rowSelection) {
|
|
|
36
47
|
}
|
|
37
48
|
var _ref2 = rowSelection || {},
|
|
38
49
|
preserveSelectedRowKeys = _ref2.preserveSelectedRowKeys;
|
|
50
|
+
console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
|
|
39
51
|
if (preserveSelectedRowKeys) {
|
|
40
52
|
return;
|
|
41
53
|
}
|
package/es/modal.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
|
|
|
52
52
|
export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
|
|
53
53
|
alwaysShowAlert?: boolean;
|
|
54
54
|
allCheckType?: "batch" | "single";
|
|
55
|
+
selectedRowData?: Record<string, any>[];
|
|
55
56
|
});
|
|
56
57
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
|
|
57
58
|
request?: (params: ParamsModal) => Promise<ResultModal>;
|
package/lib/EditTable/hooks.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ResultModal } from "../modal";
|
|
|
6
6
|
export declare const useListRequest: ({ request, dataSource, manual, }: HEditTableProps) => {
|
|
7
7
|
loading: boolean;
|
|
8
8
|
error: Error | undefined;
|
|
9
|
-
run: (params?: any) => Promise<void>;
|
|
9
|
+
run: (params?: any, sorter?: any) => Promise<void>;
|
|
10
10
|
data: ResultModal;
|
|
11
11
|
};
|
|
12
12
|
export declare const useEditTable: () => EditTableInstance;
|
package/lib/EditTable/hooks.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
4
3
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
5
4
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
6
5
|
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor');
|
|
@@ -12,6 +11,7 @@ var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
|
12
11
|
var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator');
|
|
13
12
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
14
13
|
var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
|
|
14
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
15
15
|
var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
16
16
|
var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
|
|
17
17
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
@@ -39,42 +39,68 @@ var useListRequest = function useListRequest(_ref) {
|
|
|
39
39
|
params: {
|
|
40
40
|
current: 1,
|
|
41
41
|
pageSize: 10
|
|
42
|
-
}
|
|
42
|
+
},
|
|
43
|
+
sorter: {}
|
|
43
44
|
};
|
|
44
45
|
}, []);
|
|
46
|
+
var sorterParamsFn = function sorterParamsFn() {
|
|
47
|
+
var sorter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
48
|
+
var keysLen = _Object$keys(sorter).length;
|
|
49
|
+
if (keysLen === 0) {
|
|
50
|
+
return saveParams.sorter;
|
|
51
|
+
}
|
|
52
|
+
return sorter;
|
|
53
|
+
};
|
|
54
|
+
var sorterMk = function sorterMk(sorter) {
|
|
55
|
+
var keys = _Object$keys(sorter);
|
|
56
|
+
if (keys.length === 0) {
|
|
57
|
+
return {};
|
|
58
|
+
}
|
|
59
|
+
var orderByField = keys[0];
|
|
60
|
+
var asc = sorter[orderByField];
|
|
61
|
+
return {
|
|
62
|
+
orderByField: orderByField,
|
|
63
|
+
asc: asc === "ascend"
|
|
64
|
+
};
|
|
65
|
+
};
|
|
45
66
|
var _useRequest = ahooks.useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
46
67
|
var params,
|
|
68
|
+
sorter,
|
|
47
69
|
newParams,
|
|
70
|
+
cuSorter,
|
|
48
71
|
result,
|
|
49
72
|
_args = arguments;
|
|
50
73
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
51
74
|
while (1) switch (_context.prev = _context.next) {
|
|
52
75
|
case 0:
|
|
53
76
|
params = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
|
|
77
|
+
sorter = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
|
|
54
78
|
newParams = _objectSpread(_objectSpread({}, saveParams.params), params);
|
|
79
|
+
cuSorter = sorterParamsFn(sorter);
|
|
80
|
+
saveParams.sorter = cuSorter;
|
|
55
81
|
saveParams.params = newParams;
|
|
56
82
|
if (!request) {
|
|
57
|
-
_context.next =
|
|
83
|
+
_context.next = 12;
|
|
58
84
|
break;
|
|
59
85
|
}
|
|
60
|
-
_context.next =
|
|
61
|
-
return request(newParams);
|
|
62
|
-
case
|
|
86
|
+
_context.next = 9;
|
|
87
|
+
return request(_objectSpread(_objectSpread({}, newParams), sorterMk(cuSorter)));
|
|
88
|
+
case 9:
|
|
63
89
|
result = _context.sent;
|
|
64
90
|
setTableDataSource(result);
|
|
65
91
|
return _context.abrupt("return");
|
|
66
|
-
case
|
|
92
|
+
case 12:
|
|
67
93
|
if (!_Array$isArray(dataSource)) {
|
|
68
|
-
_context.next =
|
|
94
|
+
_context.next = 15;
|
|
69
95
|
break;
|
|
70
96
|
}
|
|
71
97
|
setTableDataSource(_objectSpread(_objectSpread({}, tableDataSource), {}, {
|
|
72
98
|
records: dataSource
|
|
73
99
|
}));
|
|
74
100
|
return _context.abrupt("return");
|
|
75
|
-
case
|
|
101
|
+
case 15:
|
|
76
102
|
return _context.abrupt("return", setTableDataSource(dataSource || tableDataSource));
|
|
77
|
-
case
|
|
103
|
+
case 16:
|
|
78
104
|
case "end":
|
|
79
105
|
return _context.stop();
|
|
80
106
|
}
|
package/lib/EditTable/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/asyncToGenerator
|
|
|
14
14
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
15
15
|
var _objectWithoutProperties = require('@babel/runtime-corejs3/helpers/objectWithoutProperties');
|
|
16
16
|
var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
|
|
17
|
+
var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
|
|
17
18
|
var jsxRuntime = require('react/jsx-runtime');
|
|
18
19
|
var ProTable = require('@ant-design/pro-table');
|
|
19
20
|
var index = require('../hooks/index.js');
|
|
@@ -104,6 +105,11 @@ var EditTable = (function (_ref) {
|
|
|
104
105
|
editableFormRef: defaultEditableFormRef,
|
|
105
106
|
actionRef: defaultActionRef,
|
|
106
107
|
value: data === null || data === void 0 ? void 0 : data.records,
|
|
108
|
+
manualRequest: true,
|
|
109
|
+
request: function request(params, sorter) {
|
|
110
|
+
run({}, sorter);
|
|
111
|
+
return _Promise.resolve({});
|
|
112
|
+
},
|
|
107
113
|
recordCreatorProps: recordCreatorProps === false ? recordCreatorProps : _objectSpread({
|
|
108
114
|
position: "bottom",
|
|
109
115
|
record: function record() {
|
|
@@ -13,7 +13,8 @@ interface FilterKeysModal {
|
|
|
13
13
|
records?: any[];
|
|
14
14
|
rowKey?: string | GetRowKey<any>;
|
|
15
15
|
preserveSelectedRowKeys?: boolean;
|
|
16
|
+
selectedRowData?: Record<string, any>[];
|
|
16
17
|
}
|
|
17
|
-
export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys }: FilterKeysModal) => void;
|
|
18
|
+
export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, preserveSelectedRowKeys, }: FilterKeysModal) => void;
|
|
18
19
|
export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
|
|
19
20
|
export {};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
3
4
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
4
5
|
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/for-each');
|
|
5
6
|
var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
6
7
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
7
8
|
var _findIndexInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find-index');
|
|
9
|
+
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
8
10
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
9
11
|
var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
|
|
10
12
|
var React = require('react');
|
|
@@ -93,8 +95,10 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
|
|
|
93
95
|
var _useHTableContext = context.useHTableContext(),
|
|
94
96
|
rowOnChange = _useHTableContext.rowOnChange;
|
|
95
97
|
var findId = function findId(key) {
|
|
98
|
+
var _context, _context2;
|
|
99
|
+
var mgArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
96
100
|
var msRecords = records;
|
|
97
|
-
var rowIndex = _findIndexInstanceProperty(msRecords).call(
|
|
101
|
+
var rowIndex = _findIndexInstanceProperty(_context = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(mgArray), _toConsumableArray(msRecords))).call(_context, function (item, index) {
|
|
98
102
|
var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
|
|
99
103
|
return id === key;
|
|
100
104
|
});
|
|
@@ -109,6 +113,7 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
|
|
|
109
113
|
return findId(key);
|
|
110
114
|
});
|
|
111
115
|
rowOnChange(selectedRowKeys, resultData);
|
|
116
|
+
return;
|
|
112
117
|
}
|
|
113
118
|
}, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
|
|
114
119
|
};
|
package/lib/HTableBody/index.js
CHANGED
|
@@ -113,7 +113,8 @@ var Body = (function (bodyProps) {
|
|
|
113
113
|
selectedRowKeys: selectedRowKeys,
|
|
114
114
|
records: records,
|
|
115
115
|
rowKey: rowKey,
|
|
116
|
-
preserveSelectedRowKeys: preserveSelectedRowKeys
|
|
116
|
+
preserveSelectedRowKeys: preserveSelectedRowKeys,
|
|
117
|
+
selectedRowData: selectedRowData.rowData
|
|
117
118
|
});
|
|
118
119
|
var optionsNode = options && jsxRuntime.jsx(index.default, _objectSpread(_objectSpread({
|
|
119
120
|
reload: function reload() {
|
package/lib/hooks/useRowObj.js
CHANGED
|
@@ -5,6 +5,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
|
|
8
|
+
var initSelectedData = function initSelectedData(rowSelection) {
|
|
9
|
+
if (!rowSelection) {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
var selectedRowKeys = rowSelection.selectedRowKeys,
|
|
13
|
+
selectedRowData = rowSelection.selectedRowData;
|
|
14
|
+
return {
|
|
15
|
+
keys: selectedRowKeys,
|
|
16
|
+
rowData: selectedRowData
|
|
17
|
+
};
|
|
18
|
+
};
|
|
8
19
|
var useRowObj = (function (rowSelection) {
|
|
9
20
|
var change = function change(keys, rowData) {
|
|
10
21
|
if (rowSelection === false) {
|
|
@@ -14,7 +25,7 @@ var useRowObj = (function (rowSelection) {
|
|
|
14
25
|
onChange = _ref.onChange;
|
|
15
26
|
onChange === null || onChange === void 0 || onChange(keys, rowData);
|
|
16
27
|
};
|
|
17
|
-
var _useState = React.useState(
|
|
28
|
+
var _useState = React.useState(initSelectedData(rowSelection)),
|
|
18
29
|
_useState2 = _slicedToArray(_useState, 2),
|
|
19
30
|
selectedRowData = _useState2[0],
|
|
20
31
|
setSelectedRowData = _useState2[1];
|
|
@@ -39,6 +50,7 @@ var useRowObj = (function (rowSelection) {
|
|
|
39
50
|
}
|
|
40
51
|
var _ref2 = rowSelection || {},
|
|
41
52
|
preserveSelectedRowKeys = _ref2.preserveSelectedRowKeys;
|
|
53
|
+
console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
|
|
42
54
|
if (preserveSelectedRowKeys) {
|
|
43
55
|
return;
|
|
44
56
|
}
|
package/lib/modal.d.ts
CHANGED
|
@@ -52,6 +52,7 @@ export interface RowSelectionOuter {
|
|
|
52
52
|
export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
|
|
53
53
|
alwaysShowAlert?: boolean;
|
|
54
54
|
allCheckType?: "batch" | "single";
|
|
55
|
+
selectedRowData?: Record<string, any>[];
|
|
55
56
|
});
|
|
56
57
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowSelection" | "pagination"> {
|
|
57
58
|
request?: (params: ParamsModal) => Promise<ResultModal>;
|
package/package.json
CHANGED
|
@@ -23,17 +23,42 @@ export const useListRequest = ({
|
|
|
23
23
|
current: 1,
|
|
24
24
|
pageSize: 10,
|
|
25
25
|
},
|
|
26
|
+
sorter: {},
|
|
26
27
|
};
|
|
27
28
|
}, []);
|
|
29
|
+
const sorterParamsFn = (sorter = {}) => {
|
|
30
|
+
const keysLen = Object.keys(sorter).length;
|
|
31
|
+
if (keysLen === 0) {
|
|
32
|
+
return saveParams.sorter;
|
|
33
|
+
}
|
|
34
|
+
return sorter;
|
|
35
|
+
};
|
|
36
|
+
const sorterMk = (sorter) => {
|
|
37
|
+
const keys = Object.keys(sorter);
|
|
38
|
+
if (keys.length === 0) {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
const orderByField = keys[0];
|
|
42
|
+
const asc = sorter[orderByField];
|
|
43
|
+
return {
|
|
44
|
+
orderByField,
|
|
45
|
+
asc: asc === "ascend",
|
|
46
|
+
};
|
|
47
|
+
};
|
|
28
48
|
const { loading, error, run } = useRequest(
|
|
29
|
-
async (params = {}) => {
|
|
49
|
+
async (params = {}, sorter = {}) => {
|
|
30
50
|
const newParams = {
|
|
31
51
|
...saveParams.params,
|
|
32
52
|
...params,
|
|
33
53
|
};
|
|
54
|
+
const cuSorter = sorterParamsFn(sorter);
|
|
55
|
+
saveParams.sorter = cuSorter;
|
|
34
56
|
saveParams.params = newParams;
|
|
35
57
|
if (request) {
|
|
36
|
-
const result = await request(
|
|
58
|
+
const result = await request({
|
|
59
|
+
...newParams,
|
|
60
|
+
...sorterMk(cuSorter),
|
|
61
|
+
});
|
|
37
62
|
setTableDataSource(result);
|
|
38
63
|
return;
|
|
39
64
|
}
|
|
@@ -77,6 +77,11 @@ export default ({
|
|
|
77
77
|
editableFormRef={defaultEditableFormRef}
|
|
78
78
|
actionRef={defaultActionRef}
|
|
79
79
|
value={data?.records}
|
|
80
|
+
manualRequest
|
|
81
|
+
request={(params, sorter) => {
|
|
82
|
+
run({}, sorter);
|
|
83
|
+
return Promise.resolve({});
|
|
84
|
+
}}
|
|
80
85
|
recordCreatorProps={
|
|
81
86
|
recordCreatorProps === false
|
|
82
87
|
? recordCreatorProps
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Button, Row, Typography } from "antd";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { useHTableContext } from "../context";
|
|
4
|
-
import type { ActionRenderFn } from "
|
|
4
|
+
import type { ActionRenderFn } from "../modal";
|
|
5
5
|
const { Text, Link } = Typography;
|
|
6
6
|
interface IProps {
|
|
7
7
|
actionRender?: ActionRenderFn;
|
|
@@ -79,18 +79,19 @@ interface FilterKeysModal {
|
|
|
79
79
|
records?: any[];
|
|
80
80
|
rowKey?: string | GetRowKey<any>;
|
|
81
81
|
preserveSelectedRowKeys?: boolean;
|
|
82
|
+
selectedRowData?: Record<string, any>[];
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
export const useSynchronousKeys = ({
|
|
85
86
|
selectedRowKeys,
|
|
86
87
|
records,
|
|
87
88
|
rowKey,
|
|
88
|
-
preserveSelectedRowKeys
|
|
89
|
+
preserveSelectedRowKeys,
|
|
89
90
|
}: FilterKeysModal) => {
|
|
90
91
|
const { rowOnChange } = useHTableContext();
|
|
91
|
-
const findId = (key) => {
|
|
92
|
+
const findId = (key, mgArray: Record<string, any>[] = []) => {
|
|
92
93
|
const msRecords = records as any[];
|
|
93
|
-
const rowIndex = msRecords.findIndex((item, index) => {
|
|
94
|
+
const rowIndex = [...mgArray, ...msRecords].findIndex((item, index) => {
|
|
94
95
|
const id =
|
|
95
96
|
typeof rowKey === "function"
|
|
96
97
|
? rowKey(item, index)
|
|
@@ -100,16 +101,17 @@ export const useSynchronousKeys = ({
|
|
|
100
101
|
return msRecords[rowIndex];
|
|
101
102
|
};
|
|
102
103
|
useEffect(() => {
|
|
103
|
-
if (!selectedRowKeys
|
|
104
|
-
|
|
104
|
+
if (!selectedRowKeys || !records || !rowKey) {
|
|
105
|
+
return;
|
|
105
106
|
}
|
|
106
107
|
if (!preserveSelectedRowKeys) {
|
|
107
108
|
const resultData = selectedRowKeys.map((key) => {
|
|
108
109
|
return findId(key);
|
|
109
110
|
});
|
|
110
111
|
rowOnChange(selectedRowKeys, resultData);
|
|
112
|
+
return;
|
|
111
113
|
}
|
|
112
|
-
}, [selectedRowKeys, records, rowKey,preserveSelectedRowKeys]);
|
|
114
|
+
}, [selectedRowKeys, records, rowKey, preserveSelectedRowKeys]);
|
|
113
115
|
};
|
|
114
116
|
|
|
115
117
|
export const useAlwaysShowAlert = (
|
|
@@ -50,8 +50,11 @@ export default (bodyProps: HTableBodyProps) => {
|
|
|
50
50
|
...props
|
|
51
51
|
} = bodyProps;
|
|
52
52
|
|
|
53
|
-
const {
|
|
54
|
-
|
|
53
|
+
const {
|
|
54
|
+
selectedRowKeys,
|
|
55
|
+
alwaysShowAlert: configAlwaysShowAlert,
|
|
56
|
+
preserveSelectedRowKeys,
|
|
57
|
+
} = rowSelection || {};
|
|
55
58
|
|
|
56
59
|
const {
|
|
57
60
|
tableInstance: contextTableInstance,
|
|
@@ -90,8 +93,13 @@ export default (bodyProps: HTableBodyProps) => {
|
|
|
90
93
|
columnsState,
|
|
91
94
|
columns: cols,
|
|
92
95
|
});
|
|
93
|
-
useSynchronousKeys({
|
|
94
|
-
|
|
96
|
+
useSynchronousKeys({
|
|
97
|
+
selectedRowKeys,
|
|
98
|
+
records,
|
|
99
|
+
rowKey,
|
|
100
|
+
preserveSelectedRowKeys,
|
|
101
|
+
selectedRowData: selectedRowData.rowData,
|
|
102
|
+
});
|
|
95
103
|
const optionsNode = options && (
|
|
96
104
|
<Options
|
|
97
105
|
reload={() => {
|
|
@@ -3,6 +3,17 @@ import { useState } from "react";
|
|
|
3
3
|
import type { RowObj } from "../modal";
|
|
4
4
|
import type { HRowSelection } from "../modal";
|
|
5
5
|
|
|
6
|
+
const initSelectedData = (rowSelection?: HRowSelection | false): RowObj => {
|
|
7
|
+
if (!rowSelection) {
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
const { selectedRowKeys, selectedRowData } = rowSelection;
|
|
11
|
+
return {
|
|
12
|
+
keys: selectedRowKeys,
|
|
13
|
+
rowData: selectedRowData,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
|
|
6
17
|
export default (rowSelection?: HRowSelection | false) => {
|
|
7
18
|
const change = (keys: React.Key[], rowData: any[]) => {
|
|
8
19
|
if (rowSelection === false) {
|
|
@@ -11,7 +22,9 @@ export default (rowSelection?: HRowSelection | false) => {
|
|
|
11
22
|
const { onChange } = rowSelection || {};
|
|
12
23
|
onChange?.(keys, rowData);
|
|
13
24
|
};
|
|
14
|
-
const [selectedRowData, setSelectedRowData] = useState<RowObj>(
|
|
25
|
+
const [selectedRowData, setSelectedRowData] = useState<RowObj>(
|
|
26
|
+
initSelectedData(rowSelection)
|
|
27
|
+
);
|
|
15
28
|
const { selectAll = false } = selectedRowData;
|
|
16
29
|
const rowOnChange = (keys: React.Key[], rowData: any[]) => {
|
|
17
30
|
setSelectedRowData({
|
|
@@ -31,6 +44,7 @@ export default (rowSelection?: HRowSelection | false) => {
|
|
|
31
44
|
return;
|
|
32
45
|
}
|
|
33
46
|
const { preserveSelectedRowKeys } = rowSelection || {};
|
|
47
|
+
console.log(preserveSelectedRowKeys, "preserveSelectedRowKeys");
|
|
34
48
|
if (preserveSelectedRowKeys) {
|
|
35
49
|
return;
|
|
36
50
|
}
|
package/src/components/modal.ts
CHANGED
|
@@ -33,13 +33,23 @@ export default () => {
|
|
|
33
33
|
}}
|
|
34
34
|
pagination={false}
|
|
35
35
|
onEdit={async (data) => {}}
|
|
36
|
-
request={() => {
|
|
36
|
+
request={async () => {
|
|
37
37
|
console.log("fffff");
|
|
38
|
-
return {
|
|
38
|
+
return {
|
|
39
|
+
records: [{ title: "1", id: 1 }],
|
|
40
|
+
size: 10,
|
|
41
|
+
total: 1,
|
|
42
|
+
current: 1,
|
|
43
|
+
};
|
|
39
44
|
}}
|
|
40
45
|
configData={[
|
|
41
|
-
{ title: "标题", dataIndex: "title" },
|
|
42
|
-
{
|
|
46
|
+
{ title: "标题", sorter: true, dataIndex: "title" },
|
|
47
|
+
{
|
|
48
|
+
title: "标题2",
|
|
49
|
+
dataIndex: "time",
|
|
50
|
+
valueType: "date",
|
|
51
|
+
sorter: true,
|
|
52
|
+
},
|
|
43
53
|
{
|
|
44
54
|
title: "操作",
|
|
45
55
|
valueType: "option",
|
|
@@ -54,6 +64,13 @@ export default () => {
|
|
|
54
64
|
>
|
|
55
65
|
编辑
|
|
56
66
|
</a>,
|
|
67
|
+
<a
|
|
68
|
+
onClick={() => {
|
|
69
|
+
action.reloadAndRest();
|
|
70
|
+
}}
|
|
71
|
+
>
|
|
72
|
+
删除
|
|
73
|
+
</a>,
|
|
57
74
|
],
|
|
58
75
|
},
|
|
59
76
|
]}
|
|
@@ -88,7 +88,6 @@ export const configData = () => {
|
|
|
88
88
|
];
|
|
89
89
|
};
|
|
90
90
|
const listReq = (params) => {
|
|
91
|
-
console.log(params, "params");
|
|
92
91
|
return new Promise((resolve) => {
|
|
93
92
|
setTimeout(() => {
|
|
94
93
|
const { current } = params;
|
|
@@ -170,8 +169,17 @@ export default () => {
|
|
|
170
169
|
},
|
|
171
170
|
},
|
|
172
171
|
]);
|
|
172
|
+
const [keys, setKeys] = useState(["1-1"]);
|
|
173
|
+
|
|
173
174
|
return (
|
|
174
175
|
<HFormConfigProvider>
|
|
176
|
+
<div
|
|
177
|
+
onClick={() => {
|
|
178
|
+
setKeys([]);
|
|
179
|
+
}}
|
|
180
|
+
>
|
|
181
|
+
清空
|
|
182
|
+
</div>
|
|
175
183
|
<ProTable
|
|
176
184
|
columns={cols}
|
|
177
185
|
actionRef={ref}
|
|
@@ -256,10 +264,12 @@ export default () => {
|
|
|
256
264
|
rowSelection={{
|
|
257
265
|
preserveSelectedRowKeys: true,
|
|
258
266
|
allPageCheck: false,
|
|
259
|
-
onChange: (
|
|
260
|
-
console.log(
|
|
267
|
+
onChange: (changeKey, rowData) => {
|
|
268
|
+
console.log(changeKey, rowData);
|
|
261
269
|
},
|
|
262
270
|
allCheckType: "batch",
|
|
271
|
+
selectedRowKeys: keys,
|
|
272
|
+
selectedRowData: [{ id: "1-1" }],
|
|
263
273
|
}}
|
|
264
274
|
affixProps={{
|
|
265
275
|
target: () => document.querySelector(".body"),
|
package/README.en.md
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# hw-component-table
|
|
2
|
-
|
|
3
|
-
#### Description
|
|
4
|
-
table组件
|
|
5
|
-
|
|
6
|
-
#### Software Architecture
|
|
7
|
-
Software architecture description
|
|
8
|
-
|
|
9
|
-
#### Installation
|
|
10
|
-
|
|
11
|
-
1. xxxx
|
|
12
|
-
2. xxxx
|
|
13
|
-
3. xxxx
|
|
14
|
-
|
|
15
|
-
#### Instructions
|
|
16
|
-
|
|
17
|
-
1. xxxx
|
|
18
|
-
2. xxxx
|
|
19
|
-
3. xxxx
|
|
20
|
-
|
|
21
|
-
#### Contribution
|
|
22
|
-
|
|
23
|
-
1. Fork the repository
|
|
24
|
-
2. Create Feat_xxx branch
|
|
25
|
-
3. Commit your code
|
|
26
|
-
4. Create Pull Request
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
#### Gitee Feature
|
|
30
|
-
|
|
31
|
-
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
|
32
|
-
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
|
33
|
-
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
|
34
|
-
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
|
35
|
-
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
|
36
|
-
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|