@hw-component/table 0.0.1-beta-v3 → 0.0.1-beta-v4
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/es/Body/index.d.ts +2 -2
- package/es/Body/index.js +4 -4
- package/es/Footer/index.d.ts +1 -1
- package/es/Footer/index.js +3 -3
- package/es/Header/index.js +2 -2
- package/es/Table.d.ts +1 -1
- package/es/Table.js +6 -5
- package/es/context.d.ts +1 -1
- package/es/modal.d.ts +7 -5
- package/lib/Body/index.d.ts +2 -2
- package/lib/Body/index.js +4 -4
- package/lib/Footer/index.d.ts +1 -1
- package/lib/Footer/index.js +3 -3
- package/lib/Header/index.js +2 -2
- package/lib/Table.d.ts +1 -1
- package/lib/Table.js +6 -5
- package/lib/context.d.ts +1 -1
- package/lib/modal.d.ts +7 -5
- package/package.json +1 -1
- package/src/components/Body/index.tsx +9 -6
- package/src/components/Footer/index.tsx +4 -4
- package/src/components/Header/index.tsx +2 -2
- package/src/components/Table.tsx +13 -8
- package/src/components/context.ts +1 -1
- package/src/components/modal.ts +13 -9
- package/src/pages/Test/index.tsx +2 -14
package/es/Body/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import type { HTableInstance } from "../modal";
|
|
|
5
5
|
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
6
6
|
configData: ConfigDataModal;
|
|
7
7
|
onPageChange: (params: ParamsModal) => void;
|
|
8
|
-
emptyRender?: (
|
|
9
|
-
errorRender?: (
|
|
8
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
9
|
+
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: ({ loading, configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, ...props }: HTableBodyProps) => JSX.Element;
|
|
12
12
|
export default _default;
|
package/es/Body/index.js
CHANGED
|
@@ -42,7 +42,7 @@ var Body = (function (_ref) {
|
|
|
42
42
|
var selectedRowKeys = rowSelection.selectedRowKeys,
|
|
43
43
|
onChange = rowSelection.onChange;
|
|
44
44
|
var _useHTableContext = useHTableContext(),
|
|
45
|
-
|
|
45
|
+
tableInstance = _useHTableContext.tableInstance,
|
|
46
46
|
data = _useHTableContext.data,
|
|
47
47
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
48
48
|
rowOnChange = _useHTableContext.rowOnChange,
|
|
@@ -60,7 +60,7 @@ var Body = (function (_ref) {
|
|
|
60
60
|
size = _ref2.size,
|
|
61
61
|
current = _ref2.current,
|
|
62
62
|
total = _ref2.total;
|
|
63
|
-
var cols = useCols(configData,
|
|
63
|
+
var cols = useCols(configData, tableInstance);
|
|
64
64
|
var change = function change(key, rowData) {
|
|
65
65
|
if (onChange) {
|
|
66
66
|
return onChange(key, rowData);
|
|
@@ -80,9 +80,9 @@ var Body = (function (_ref) {
|
|
|
80
80
|
children: jsx(ConfigProvider, {
|
|
81
81
|
renderEmpty: function renderEmpty() {
|
|
82
82
|
if (error) {
|
|
83
|
-
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(
|
|
83
|
+
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(tableInstance, error);
|
|
84
84
|
}
|
|
85
|
-
return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(
|
|
85
|
+
return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(tableInstance);
|
|
86
86
|
},
|
|
87
87
|
children: jsx(ProTable, _objectSpread(_objectSpread({}, props), {}, {
|
|
88
88
|
columns: cols,
|
package/es/Footer/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import type { HTableInstance, ResultModal, RowObj } from "../modal";
|
|
4
4
|
interface IFooterProps {
|
|
5
5
|
actionRender?: ActionRenderFn;
|
|
6
|
-
footerRender?: (
|
|
6
|
+
footerRender?: (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
7
7
|
}
|
|
8
8
|
declare const _default: ({ actionRender, footerRender }: IFooterProps) => JSX.Element;
|
|
9
9
|
export default _default;
|
package/es/Footer/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var Footer = (function (_ref) {
|
|
|
13
13
|
var _useHTableContext = useHTableContext(),
|
|
14
14
|
data = _useHTableContext.data,
|
|
15
15
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
16
|
-
|
|
16
|
+
tableInstance = _useHTableContext.tableInstance;
|
|
17
17
|
var _useState = useState(false),
|
|
18
18
|
_useState2 = _slicedToArray(_useState, 2),
|
|
19
19
|
allCheck = _useState2[0],
|
|
@@ -23,7 +23,7 @@ var Footer = (function (_ref) {
|
|
|
23
23
|
var num = allCheck ? total : 0;
|
|
24
24
|
if (footerRender) {
|
|
25
25
|
return jsx(Fragment, {
|
|
26
|
-
children: footerRender(
|
|
26
|
+
children: footerRender(tableInstance, selectedRowData, data)
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
var dom = jsx(Card, {
|
|
@@ -55,7 +55,7 @@ var Footer = (function (_ref) {
|
|
|
55
55
|
children: num
|
|
56
56
|
}), "\u6761"]
|
|
57
57
|
})]
|
|
58
|
-
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(allCheck, selectedRowData,
|
|
58
|
+
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(allCheck, selectedRowData, tableInstance)]
|
|
59
59
|
})
|
|
60
60
|
});
|
|
61
61
|
if (!data) {
|
package/es/Header/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var Header = (function (_ref) {
|
|
|
14
14
|
span: 6
|
|
15
15
|
} : _ref$searchSpan;
|
|
16
16
|
var _useHTableContext = useHTableContext(),
|
|
17
|
-
|
|
18
|
-
var form =
|
|
17
|
+
tableInstance = _useHTableContext.tableInstance;
|
|
18
|
+
var form = tableInstance.form;
|
|
19
19
|
var nConfigData = useMemo(function () {
|
|
20
20
|
return formConfigDataProvider(configData);
|
|
21
21
|
}, [configData]);
|
package/es/Table.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { HTableProps } from "./modal";
|
|
2
|
-
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, ...props }: HTableProps) => JSX.Element;
|
|
2
|
+
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, hideHeader, ...props }: HTableProps) => JSX.Element;
|
|
3
3
|
export default _default;
|
package/es/Table.js
CHANGED
|
@@ -20,7 +20,7 @@ import useRowObj from './hooks/useRowObj.js';
|
|
|
20
20
|
import { HTableContext } from './context.js';
|
|
21
21
|
import { Space } from 'antd';
|
|
22
22
|
|
|
23
|
-
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender"],
|
|
23
|
+
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader"],
|
|
24
24
|
_excluded2 = ["size", "current"];
|
|
25
25
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
26
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -31,6 +31,7 @@ var Table = (function (_ref) {
|
|
|
31
31
|
table = _ref.table,
|
|
32
32
|
actionRender = _ref.actionRender,
|
|
33
33
|
footerRender = _ref.footerRender,
|
|
34
|
+
hideHeader = _ref.hideHeader,
|
|
34
35
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
35
36
|
var saveParams = useMemo(function () {
|
|
36
37
|
return {
|
|
@@ -58,7 +59,7 @@ var Table = (function (_ref) {
|
|
|
58
59
|
var _useRowObj = useRowObj(),
|
|
59
60
|
selectedRowData = _useRowObj.selectedRowData,
|
|
60
61
|
rowOnChange = _useRowObj.rowOnChange;
|
|
61
|
-
var
|
|
62
|
+
var tableInstance = useCurrentTable({
|
|
62
63
|
table: table,
|
|
63
64
|
reload: function reload() {
|
|
64
65
|
run(_objectSpread({}, saveParams.params));
|
|
@@ -67,7 +68,7 @@ var Table = (function (_ref) {
|
|
|
67
68
|
});
|
|
68
69
|
return jsx(HTableContext.Provider, {
|
|
69
70
|
value: {
|
|
70
|
-
|
|
71
|
+
tableInstance: tableInstance,
|
|
71
72
|
selectedRowData: selectedRowData,
|
|
72
73
|
rowOnChange: rowOnChange,
|
|
73
74
|
data: data,
|
|
@@ -79,7 +80,7 @@ var Table = (function (_ref) {
|
|
|
79
80
|
style: {
|
|
80
81
|
width: "100%"
|
|
81
82
|
},
|
|
82
|
-
children: [jsx(Header, {
|
|
83
|
+
children: [!hideHeader && jsx(Header, {
|
|
83
84
|
configData: configData,
|
|
84
85
|
onFinish: run,
|
|
85
86
|
searchSpan: searchSpan
|
|
@@ -89,7 +90,7 @@ var Table = (function (_ref) {
|
|
|
89
90
|
onPageChange: function onPageChange(page) {
|
|
90
91
|
run(_objectSpread(_objectSpread({}, saveParams.params), page));
|
|
91
92
|
}
|
|
92
|
-
}, props)), jsx(Footer, {
|
|
93
|
+
}, props)), footerRender !== false && jsx(Footer, {
|
|
93
94
|
actionRender: actionRender,
|
|
94
95
|
footerRender: footerRender
|
|
95
96
|
})]
|
package/es/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ResultModal, RowObj, HTableInstance } from "./modal";
|
|
3
3
|
interface HContextModal {
|
|
4
|
-
|
|
4
|
+
tableInstance: HTableInstance;
|
|
5
5
|
data?: ResultModal;
|
|
6
6
|
selectedRowData: RowObj;
|
|
7
7
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
package/es/modal.d.ts
CHANGED
|
@@ -18,23 +18,25 @@ export interface ParamsModal extends Record<string, any> {
|
|
|
18
18
|
current?: number;
|
|
19
19
|
}
|
|
20
20
|
interface HColumns extends Omit<ProColumns, "render"> {
|
|
21
|
-
render?: (dom: React.ReactNode, data: any, index: number,
|
|
21
|
+
render?: (dom: React.ReactNode, data: any, index: number, tableInstance: HTableInstance) => React.ReactNode;
|
|
22
22
|
showSearch?: boolean;
|
|
23
23
|
searchType?: HItemProps["type"];
|
|
24
24
|
searchRender?: HItemProps["render"];
|
|
25
25
|
}
|
|
26
26
|
export type ConfigItemModal = Omit<HItemProps, "render" | "type"> & HColumns;
|
|
27
27
|
export type ConfigDataModal = ConfigItemModal[];
|
|
28
|
-
export type ActionRenderFn = (allCheck: boolean, selectedRowKeys: RowObj,
|
|
28
|
+
export type ActionRenderFn = (allCheck: boolean, selectedRowKeys: RowObj, tableInstance: HTableInstance) => React.ReactNode;
|
|
29
|
+
type FooterRenderFn = (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
29
30
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request"> {
|
|
30
31
|
request: (params: ParamsModal) => Promise<ResultModal>;
|
|
31
32
|
configData: ConfigDataModal;
|
|
32
33
|
searchSpan?: ColProps;
|
|
33
34
|
table?: HTableInstance;
|
|
34
35
|
actionRender?: ActionRenderFn;
|
|
35
|
-
emptyRender?: (
|
|
36
|
-
errorRender?: (
|
|
37
|
-
footerRender?:
|
|
36
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
37
|
+
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
38
|
+
footerRender?: FooterRenderFn | false;
|
|
39
|
+
hideHeader?: boolean;
|
|
38
40
|
}
|
|
39
41
|
export interface TableInstance {
|
|
40
42
|
reload: (params: ParamsModal) => void;
|
package/lib/Body/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import type { HTableInstance } from "../modal";
|
|
|
5
5
|
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
6
6
|
configData: ConfigDataModal;
|
|
7
7
|
onPageChange: (params: ParamsModal) => void;
|
|
8
|
-
emptyRender?: (
|
|
9
|
-
errorRender?: (
|
|
8
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
9
|
+
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: ({ loading, configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, ...props }: HTableBodyProps) => JSX.Element;
|
|
12
12
|
export default _default;
|
package/lib/Body/index.js
CHANGED
|
@@ -45,7 +45,7 @@ var Body = (function (_ref) {
|
|
|
45
45
|
var selectedRowKeys = rowSelection.selectedRowKeys,
|
|
46
46
|
onChange = rowSelection.onChange;
|
|
47
47
|
var _useHTableContext = context.useHTableContext(),
|
|
48
|
-
|
|
48
|
+
tableInstance = _useHTableContext.tableInstance,
|
|
49
49
|
data = _useHTableContext.data,
|
|
50
50
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
51
51
|
rowOnChange = _useHTableContext.rowOnChange,
|
|
@@ -63,7 +63,7 @@ var Body = (function (_ref) {
|
|
|
63
63
|
size = _ref2.size,
|
|
64
64
|
current = _ref2.current,
|
|
65
65
|
total = _ref2.total;
|
|
66
|
-
var cols = hooks.useCols(configData,
|
|
66
|
+
var cols = hooks.useCols(configData, tableInstance);
|
|
67
67
|
var change = function change(key, rowData) {
|
|
68
68
|
if (onChange) {
|
|
69
69
|
return onChange(key, rowData);
|
|
@@ -83,9 +83,9 @@ var Body = (function (_ref) {
|
|
|
83
83
|
children: jsxRuntime.jsx(antd.ConfigProvider, {
|
|
84
84
|
renderEmpty: function renderEmpty() {
|
|
85
85
|
if (error) {
|
|
86
|
-
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(
|
|
86
|
+
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(tableInstance, error);
|
|
87
87
|
}
|
|
88
|
-
return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(
|
|
88
|
+
return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(tableInstance);
|
|
89
89
|
},
|
|
90
90
|
children: jsxRuntime.jsx(ProTable, _objectSpread(_objectSpread({}, props), {}, {
|
|
91
91
|
columns: cols,
|
package/lib/Footer/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import React from "react";
|
|
|
3
3
|
import type { HTableInstance, ResultModal, RowObj } from "../modal";
|
|
4
4
|
interface IFooterProps {
|
|
5
5
|
actionRender?: ActionRenderFn;
|
|
6
|
-
footerRender?: (
|
|
6
|
+
footerRender?: (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
7
7
|
}
|
|
8
8
|
declare const _default: ({ actionRender, footerRender }: IFooterProps) => JSX.Element;
|
|
9
9
|
export default _default;
|
package/lib/Footer/index.js
CHANGED
|
@@ -16,7 +16,7 @@ var Footer = (function (_ref) {
|
|
|
16
16
|
var _useHTableContext = context.useHTableContext(),
|
|
17
17
|
data = _useHTableContext.data,
|
|
18
18
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
19
|
-
|
|
19
|
+
tableInstance = _useHTableContext.tableInstance;
|
|
20
20
|
var _useState = React.useState(false),
|
|
21
21
|
_useState2 = _slicedToArray(_useState, 2),
|
|
22
22
|
allCheck = _useState2[0],
|
|
@@ -26,7 +26,7 @@ var Footer = (function (_ref) {
|
|
|
26
26
|
var num = allCheck ? total : 0;
|
|
27
27
|
if (footerRender) {
|
|
28
28
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
29
|
-
children: footerRender(
|
|
29
|
+
children: footerRender(tableInstance, selectedRowData, data)
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
var dom = jsxRuntime.jsx(antd.Card, {
|
|
@@ -58,7 +58,7 @@ var Footer = (function (_ref) {
|
|
|
58
58
|
children: num
|
|
59
59
|
}), "\u6761"]
|
|
60
60
|
})]
|
|
61
|
-
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(allCheck, selectedRowData,
|
|
61
|
+
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(allCheck, selectedRowData, tableInstance)]
|
|
62
62
|
})
|
|
63
63
|
});
|
|
64
64
|
if (!data) {
|
package/lib/Header/index.js
CHANGED
|
@@ -17,8 +17,8 @@ var Header = (function (_ref) {
|
|
|
17
17
|
span: 6
|
|
18
18
|
} : _ref$searchSpan;
|
|
19
19
|
var _useHTableContext = context.useHTableContext(),
|
|
20
|
-
|
|
21
|
-
var form$1 =
|
|
20
|
+
tableInstance = _useHTableContext.tableInstance;
|
|
21
|
+
var form$1 = tableInstance.form;
|
|
22
22
|
var nConfigData = React.useMemo(function () {
|
|
23
23
|
return utils.formConfigDataProvider(configData);
|
|
24
24
|
}, [configData]);
|
package/lib/Table.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { HTableProps } from "./modal";
|
|
2
|
-
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, ...props }: HTableProps) => JSX.Element;
|
|
2
|
+
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, hideHeader, ...props }: HTableProps) => JSX.Element;
|
|
3
3
|
export default _default;
|
package/lib/Table.js
CHANGED
|
@@ -23,7 +23,7 @@ var useRowObj = require('./hooks/useRowObj.js');
|
|
|
23
23
|
var context = require('./context.js');
|
|
24
24
|
var antd = require('antd');
|
|
25
25
|
|
|
26
|
-
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender"],
|
|
26
|
+
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader"],
|
|
27
27
|
_excluded2 = ["size", "current"];
|
|
28
28
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
29
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -34,6 +34,7 @@ var Table = (function (_ref) {
|
|
|
34
34
|
table = _ref.table,
|
|
35
35
|
actionRender = _ref.actionRender,
|
|
36
36
|
footerRender = _ref.footerRender,
|
|
37
|
+
hideHeader = _ref.hideHeader,
|
|
37
38
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
38
39
|
var saveParams = React.useMemo(function () {
|
|
39
40
|
return {
|
|
@@ -61,7 +62,7 @@ var Table = (function (_ref) {
|
|
|
61
62
|
var _useRowObj = useRowObj.default(),
|
|
62
63
|
selectedRowData = _useRowObj.selectedRowData,
|
|
63
64
|
rowOnChange = _useRowObj.rowOnChange;
|
|
64
|
-
var
|
|
65
|
+
var tableInstance = useCurrentTable.default({
|
|
65
66
|
table: table,
|
|
66
67
|
reload: function reload() {
|
|
67
68
|
run(_objectSpread({}, saveParams.params));
|
|
@@ -70,7 +71,7 @@ var Table = (function (_ref) {
|
|
|
70
71
|
});
|
|
71
72
|
return jsxRuntime.jsx(context.HTableContext.Provider, {
|
|
72
73
|
value: {
|
|
73
|
-
|
|
74
|
+
tableInstance: tableInstance,
|
|
74
75
|
selectedRowData: selectedRowData,
|
|
75
76
|
rowOnChange: rowOnChange,
|
|
76
77
|
data: data,
|
|
@@ -82,7 +83,7 @@ var Table = (function (_ref) {
|
|
|
82
83
|
style: {
|
|
83
84
|
width: "100%"
|
|
84
85
|
},
|
|
85
|
-
children: [jsxRuntime.jsx(index.default, {
|
|
86
|
+
children: [!hideHeader && jsxRuntime.jsx(index.default, {
|
|
86
87
|
configData: configData,
|
|
87
88
|
onFinish: run,
|
|
88
89
|
searchSpan: searchSpan
|
|
@@ -92,7 +93,7 @@ var Table = (function (_ref) {
|
|
|
92
93
|
onPageChange: function onPageChange(page) {
|
|
93
94
|
run(_objectSpread(_objectSpread({}, saveParams.params), page));
|
|
94
95
|
}
|
|
95
|
-
}, props)), jsxRuntime.jsx(index$2.default, {
|
|
96
|
+
}, props)), footerRender !== false && jsxRuntime.jsx(index$2.default, {
|
|
96
97
|
actionRender: actionRender,
|
|
97
98
|
footerRender: footerRender
|
|
98
99
|
})]
|
package/lib/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { ResultModal, RowObj, HTableInstance } from "./modal";
|
|
3
3
|
interface HContextModal {
|
|
4
|
-
|
|
4
|
+
tableInstance: HTableInstance;
|
|
5
5
|
data?: ResultModal;
|
|
6
6
|
selectedRowData: RowObj;
|
|
7
7
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
package/lib/modal.d.ts
CHANGED
|
@@ -18,23 +18,25 @@ export interface ParamsModal extends Record<string, any> {
|
|
|
18
18
|
current?: number;
|
|
19
19
|
}
|
|
20
20
|
interface HColumns extends Omit<ProColumns, "render"> {
|
|
21
|
-
render?: (dom: React.ReactNode, data: any, index: number,
|
|
21
|
+
render?: (dom: React.ReactNode, data: any, index: number, tableInstance: HTableInstance) => React.ReactNode;
|
|
22
22
|
showSearch?: boolean;
|
|
23
23
|
searchType?: HItemProps["type"];
|
|
24
24
|
searchRender?: HItemProps["render"];
|
|
25
25
|
}
|
|
26
26
|
export type ConfigItemModal = Omit<HItemProps, "render" | "type"> & HColumns;
|
|
27
27
|
export type ConfigDataModal = ConfigItemModal[];
|
|
28
|
-
export type ActionRenderFn = (allCheck: boolean, selectedRowKeys: RowObj,
|
|
28
|
+
export type ActionRenderFn = (allCheck: boolean, selectedRowKeys: RowObj, tableInstance: HTableInstance) => React.ReactNode;
|
|
29
|
+
type FooterRenderFn = (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
29
30
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request"> {
|
|
30
31
|
request: (params: ParamsModal) => Promise<ResultModal>;
|
|
31
32
|
configData: ConfigDataModal;
|
|
32
33
|
searchSpan?: ColProps;
|
|
33
34
|
table?: HTableInstance;
|
|
34
35
|
actionRender?: ActionRenderFn;
|
|
35
|
-
emptyRender?: (
|
|
36
|
-
errorRender?: (
|
|
37
|
-
footerRender?:
|
|
36
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
37
|
+
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
38
|
+
footerRender?: FooterRenderFn | false;
|
|
39
|
+
hideHeader?: boolean;
|
|
38
40
|
}
|
|
39
41
|
export interface TableInstance {
|
|
40
42
|
reload: (params: ParamsModal) => void;
|
package/package.json
CHANGED
|
@@ -11,8 +11,11 @@ import { useHTableConfigContext } from "../TableConfig";
|
|
|
11
11
|
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
12
12
|
configData: ConfigDataModal;
|
|
13
13
|
onPageChange: (params: ParamsModal) => void;
|
|
14
|
-
emptyRender?: (
|
|
15
|
-
errorRender?: (
|
|
14
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
15
|
+
errorRender?: (
|
|
16
|
+
tableInstance: HTableInstance,
|
|
17
|
+
error: Error
|
|
18
|
+
) => React.ReactNode;
|
|
16
19
|
}
|
|
17
20
|
const defaultRender = () => {
|
|
18
21
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
|
|
@@ -30,14 +33,14 @@ export default ({
|
|
|
30
33
|
}: HTableBodyProps) => {
|
|
31
34
|
// @ts-ignore
|
|
32
35
|
const { selectedRowKeys, onChange } = rowSelection;
|
|
33
|
-
const {
|
|
36
|
+
const { tableInstance, data, selectedRowData, rowOnChange, error } =
|
|
34
37
|
useHTableContext();
|
|
35
38
|
const {
|
|
36
39
|
emptyRender: tableEmptyRender = defaultRender,
|
|
37
40
|
errorRender: tableErrorRender = defaultRender,
|
|
38
41
|
} = useHTableConfigContext({ emptyRender, errorRender });
|
|
39
42
|
const { records, size, current, total } = data || {};
|
|
40
|
-
const cols = useCols(configData,
|
|
43
|
+
const cols = useCols(configData, tableInstance);
|
|
41
44
|
const change = (key: React.Key[], rowData: any[]) => {
|
|
42
45
|
if (onChange) {
|
|
43
46
|
return onChange(key, rowData);
|
|
@@ -50,9 +53,9 @@ export default ({
|
|
|
50
53
|
<ConfigProvider
|
|
51
54
|
renderEmpty={() => {
|
|
52
55
|
if (error) {
|
|
53
|
-
return tableErrorRender?.(
|
|
56
|
+
return tableErrorRender?.(tableInstance, error);
|
|
54
57
|
}
|
|
55
|
-
return tableEmptyRender?.(
|
|
58
|
+
return tableEmptyRender?.(tableInstance);
|
|
56
59
|
}}
|
|
57
60
|
>
|
|
58
61
|
<ProTable
|
|
@@ -9,18 +9,18 @@ const { Text, Link } = Typography;
|
|
|
9
9
|
interface IFooterProps {
|
|
10
10
|
actionRender?: ActionRenderFn;
|
|
11
11
|
footerRender?: (
|
|
12
|
-
|
|
12
|
+
tableInstance: HTableInstance,
|
|
13
13
|
selectedRowData: RowObj,
|
|
14
14
|
data?: ResultModal
|
|
15
15
|
) => React.ReactNode;
|
|
16
16
|
}
|
|
17
17
|
export default ({ actionRender, footerRender }: IFooterProps) => {
|
|
18
|
-
const { data, selectedRowData,
|
|
18
|
+
const { data, selectedRowData, tableInstance } = useHTableContext();
|
|
19
19
|
const [allCheck, setAllCheck] = useState<boolean>(false);
|
|
20
20
|
const { total } = data || {};
|
|
21
21
|
const num = allCheck ? total : 0;
|
|
22
22
|
if (footerRender) {
|
|
23
|
-
return <>{footerRender(
|
|
23
|
+
return <>{footerRender(tableInstance, selectedRowData, data)}</>;
|
|
24
24
|
}
|
|
25
25
|
const dom = (
|
|
26
26
|
<Card style={{ borderRadius: 4 }} bordered={false}>
|
|
@@ -41,7 +41,7 @@ export default ({ actionRender, footerRender }: IFooterProps) => {
|
|
|
41
41
|
已选择<Link>{num}</Link>条
|
|
42
42
|
</Text>
|
|
43
43
|
</Space>
|
|
44
|
-
{actionRender?.(allCheck, selectedRowData,
|
|
44
|
+
{actionRender?.(allCheck, selectedRowData, tableInstance)}
|
|
45
45
|
</Row>
|
|
46
46
|
</Card>
|
|
47
47
|
);
|
|
@@ -18,8 +18,8 @@ export default ({
|
|
|
18
18
|
onFinish,
|
|
19
19
|
searchSpan = { span: 6 },
|
|
20
20
|
}: IHeaderProps) => {
|
|
21
|
-
const {
|
|
22
|
-
const { form } =
|
|
21
|
+
const { tableInstance } = useHTableContext();
|
|
22
|
+
const { form } = tableInstance;
|
|
23
23
|
|
|
24
24
|
const nConfigData: HItemProps[] = useMemo(
|
|
25
25
|
() => formConfigDataProvider(configData),
|
package/src/components/Table.tsx
CHANGED
|
@@ -15,6 +15,7 @@ export default ({
|
|
|
15
15
|
table,
|
|
16
16
|
actionRender,
|
|
17
17
|
footerRender,
|
|
18
|
+
hideHeader,
|
|
18
19
|
...props
|
|
19
20
|
}: HTableProps) => {
|
|
20
21
|
const saveParams = useMemo(() => {
|
|
@@ -29,7 +30,7 @@ export default ({
|
|
|
29
30
|
return request(reqParams);
|
|
30
31
|
});
|
|
31
32
|
const { selectedRowData, rowOnChange } = useRowObj();
|
|
32
|
-
const
|
|
33
|
+
const tableInstance = useCurrentTable({
|
|
33
34
|
table,
|
|
34
35
|
reload: () => {
|
|
35
36
|
run({ ...saveParams.params });
|
|
@@ -39,7 +40,7 @@ export default ({
|
|
|
39
40
|
return (
|
|
40
41
|
<HTableContext.Provider
|
|
41
42
|
value={{
|
|
42
|
-
|
|
43
|
+
tableInstance,
|
|
43
44
|
selectedRowData,
|
|
44
45
|
rowOnChange,
|
|
45
46
|
data,
|
|
@@ -47,11 +48,13 @@ export default ({
|
|
|
47
48
|
}}
|
|
48
49
|
>
|
|
49
50
|
<Space size={20} direction={"vertical"} style={{ width: "100%" }}>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
{!hideHeader && (
|
|
52
|
+
<Header
|
|
53
|
+
configData={configData}
|
|
54
|
+
onFinish={run}
|
|
55
|
+
searchSpan={searchSpan}
|
|
56
|
+
/>
|
|
57
|
+
)}
|
|
55
58
|
<Body
|
|
56
59
|
loading={loading}
|
|
57
60
|
configData={configData}
|
|
@@ -60,7 +63,9 @@ export default ({
|
|
|
60
63
|
}}
|
|
61
64
|
{...props}
|
|
62
65
|
/>
|
|
63
|
-
|
|
66
|
+
{footerRender !== false && (
|
|
67
|
+
<Footer actionRender={actionRender} footerRender={footerRender} />
|
|
68
|
+
)}
|
|
64
69
|
</Space>
|
|
65
70
|
</HTableContext.Provider>
|
|
66
71
|
);
|
|
@@ -2,7 +2,7 @@ import React, { useContext } from "react";
|
|
|
2
2
|
import type { ResultModal, RowObj, HTableInstance } from "./modal";
|
|
3
3
|
|
|
4
4
|
interface HContextModal {
|
|
5
|
-
|
|
5
|
+
tableInstance: HTableInstance;
|
|
6
6
|
data?: ResultModal;
|
|
7
7
|
selectedRowData: RowObj;
|
|
8
8
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
package/src/components/modal.ts
CHANGED
|
@@ -26,7 +26,7 @@ interface HColumns extends Omit<ProColumns, "render"> {
|
|
|
26
26
|
dom: React.ReactNode,
|
|
27
27
|
data: any,
|
|
28
28
|
index: number,
|
|
29
|
-
|
|
29
|
+
tableInstance: HTableInstance
|
|
30
30
|
) => React.ReactNode;
|
|
31
31
|
showSearch?: boolean;
|
|
32
32
|
searchType?: HItemProps["type"];
|
|
@@ -37,22 +37,26 @@ export type ConfigDataModal = ConfigItemModal[];
|
|
|
37
37
|
export type ActionRenderFn = (
|
|
38
38
|
allCheck: boolean,
|
|
39
39
|
selectedRowKeys: RowObj,
|
|
40
|
-
|
|
40
|
+
tableInstance: HTableInstance
|
|
41
|
+
) => React.ReactNode;
|
|
42
|
+
type FooterRenderFn = (
|
|
43
|
+
tableInstance: HTableInstance,
|
|
44
|
+
selectedRowData: RowObj,
|
|
45
|
+
data?: ResultModal
|
|
41
46
|
) => React.ReactNode;
|
|
42
|
-
|
|
43
47
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request"> {
|
|
44
48
|
request: (params: ParamsModal) => Promise<ResultModal>;
|
|
45
49
|
configData: ConfigDataModal;
|
|
46
50
|
searchSpan?: ColProps;
|
|
47
51
|
table?: HTableInstance;
|
|
48
52
|
actionRender?: ActionRenderFn;
|
|
49
|
-
emptyRender?: (
|
|
50
|
-
errorRender?: (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
selectedRowData: RowObj,
|
|
54
|
-
data?: ResultModal
|
|
53
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
54
|
+
errorRender?: (
|
|
55
|
+
tableInstance: HTableInstance,
|
|
56
|
+
error: Error
|
|
55
57
|
) => React.ReactNode;
|
|
58
|
+
footerRender?: FooterRenderFn | false;
|
|
59
|
+
hideHeader?: boolean;
|
|
56
60
|
}
|
|
57
61
|
export interface TableInstance {
|
|
58
62
|
reload: (params: ParamsModal) => void;
|
package/src/pages/Test/index.tsx
CHANGED
|
@@ -24,6 +24,7 @@ export default () => {
|
|
|
24
24
|
<HTable
|
|
25
25
|
configData={configData}
|
|
26
26
|
rowKey={"id"}
|
|
27
|
+
hideHeader={true}
|
|
27
28
|
emptyRender={() => {
|
|
28
29
|
return <div>无数据</div>;
|
|
29
30
|
}}
|
|
@@ -34,20 +35,7 @@ export default () => {
|
|
|
34
35
|
console.log(allCheck, selectedRowKeys, xjTable);
|
|
35
36
|
return <Button>点我</Button>;
|
|
36
37
|
}}
|
|
37
|
-
footerRender={
|
|
38
|
-
return (
|
|
39
|
-
<div>
|
|
40
|
-
{selectedRowData.keys?.length}条
|
|
41
|
-
<div
|
|
42
|
-
onClick={() => {
|
|
43
|
-
table.table.setSelectedRowData([], []);
|
|
44
|
-
}}
|
|
45
|
-
>
|
|
46
|
-
点我
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
);
|
|
50
|
-
}}
|
|
38
|
+
footerRender={false}
|
|
51
39
|
request={(a) => {
|
|
52
40
|
return new Promise((resolve, reject) => {
|
|
53
41
|
setTimeout(() => {
|