@hw-component/table 0.0.3-beta-v12 → 0.0.3-beta-v14
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/HTableFooter/index.d.ts +3 -1
- package/es/HTableFooter/index.js +32 -25
- package/es/HTableHeader/utils.js +17 -2
- package/es/Table.d.ts +1 -1
- package/es/Table.js +4 -2
- package/es/context.d.ts +1 -1
- package/es/hooks/useRowObj.d.ts +1 -1
- package/es/hooks/useRowObj.js +3 -2
- package/es/modal.d.ts +2 -0
- package/lib/HTableFooter/index.d.ts +3 -1
- package/lib/HTableFooter/index.js +31 -24
- package/lib/HTableHeader/utils.js +17 -2
- package/lib/Table.d.ts +1 -1
- package/lib/Table.js +4 -2
- package/lib/context.d.ts +1 -1
- package/lib/hooks/useRowObj.d.ts +1 -1
- package/lib/hooks/useRowObj.js +3 -2
- package/lib/modal.d.ts +2 -0
- package/package.json +1 -1
- package/src/components/HTableFooter/index.tsx +24 -19
- package/src/components/HTableHeader/utils.ts +6 -2
- package/src/components/Table.tsx +2 -0
- package/src/components/context.ts +1 -1
- package/src/components/hooks/useRowObj.ts +3 -2
- package/src/components/modal.ts +7 -0
- package/src/pages/Table/index.tsx +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ActionRenderFn } from "../modal";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { HTableInstance, ResultModal, RowObj } from "../modal";
|
|
4
|
+
import type { FooterBtnRenderFn } from "../modal";
|
|
4
5
|
interface IFooterProps {
|
|
5
6
|
actionRender?: ActionRenderFn;
|
|
6
7
|
footerRender?: (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
7
8
|
footerStyle?: React.CSSProperties;
|
|
9
|
+
footerBtnRender?: FooterBtnRenderFn;
|
|
8
10
|
}
|
|
9
|
-
declare const _default: ({ actionRender, footerRender, footerStyle }: IFooterProps) => JSX.Element;
|
|
11
|
+
declare const _default: ({ actionRender, footerRender, footerStyle, footerBtnRender }: IFooterProps) => JSX.Element;
|
|
10
12
|
export default _default;
|
package/es/HTableFooter/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/ob
|
|
|
12
12
|
import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
|
|
13
13
|
import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
|
|
14
14
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
15
|
-
import { Typography,
|
|
15
|
+
import { Typography, Space, Button, Card, Row, Affix } from 'antd';
|
|
16
16
|
import { useHTableContext } from '../context.js';
|
|
17
17
|
|
|
18
18
|
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; }
|
|
@@ -22,14 +22,14 @@ var Text = Typography.Text,
|
|
|
22
22
|
var Footer = (function (_ref) {
|
|
23
23
|
var actionRender = _ref.actionRender,
|
|
24
24
|
footerRender = _ref.footerRender,
|
|
25
|
-
footerStyle = _ref.footerStyle
|
|
25
|
+
footerStyle = _ref.footerStyle,
|
|
26
|
+
footerBtnRender = _ref.footerBtnRender;
|
|
26
27
|
var _useHTableContext = useHTableContext(),
|
|
27
28
|
data = _useHTableContext.data,
|
|
28
29
|
_useHTableContext$sel = _useHTableContext.selectedRowData,
|
|
29
30
|
selectedRowData = _useHTableContext$sel === void 0 ? {} : _useHTableContext$sel,
|
|
30
31
|
allSelectChange = _useHTableContext.allSelectChange,
|
|
31
32
|
tableInstance = _useHTableContext.tableInstance;
|
|
32
|
-
_useHTableContext.error;
|
|
33
33
|
var _ref2 = data || {},
|
|
34
34
|
_ref2$total = _ref2.total,
|
|
35
35
|
total = _ref2$total === void 0 ? "0" : _ref2$total;
|
|
@@ -45,6 +45,33 @@ var Footer = (function (_ref) {
|
|
|
45
45
|
children: footerRender(tableInstance, selectedRowData, data)
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
+
var allCheck = function allCheck(checked) {
|
|
49
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange(checked);
|
|
50
|
+
};
|
|
51
|
+
var btnDom = jsxs(Space, {
|
|
52
|
+
size: 20,
|
|
53
|
+
children: [jsx(Button, {
|
|
54
|
+
type: "primary",
|
|
55
|
+
ghost: true,
|
|
56
|
+
disabled: showTotalNum == 0,
|
|
57
|
+
style: {
|
|
58
|
+
padding: "4px 24px",
|
|
59
|
+
borderRadius: "4px"
|
|
60
|
+
},
|
|
61
|
+
onClick: function onClick() {
|
|
62
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange();
|
|
63
|
+
},
|
|
64
|
+
children: !selectAll ? "选择全部" : "取消选择"
|
|
65
|
+
}), jsxs(Text, {
|
|
66
|
+
type: "secondary",
|
|
67
|
+
children: ["\u5171", total, "\u6761"]
|
|
68
|
+
}), jsxs(Text, {
|
|
69
|
+
type: "secondary",
|
|
70
|
+
children: ["\u5DF2\u9009\u62E9", jsx(Link, {
|
|
71
|
+
children: num
|
|
72
|
+
}), "\u6761"]
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
48
75
|
var dom = jsx(Card, {
|
|
49
76
|
style: _objectSpread({
|
|
50
77
|
borderRadius: 4
|
|
@@ -53,28 +80,8 @@ var Footer = (function (_ref) {
|
|
|
53
80
|
className: "hw_table_footer",
|
|
54
81
|
children: jsxs(Row, {
|
|
55
82
|
justify: "space-between",
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
children: [jsx(Button, {
|
|
59
|
-
type: "primary",
|
|
60
|
-
ghost: true,
|
|
61
|
-
disabled: showTotalNum == 0,
|
|
62
|
-
style: {
|
|
63
|
-
padding: "4px 24px",
|
|
64
|
-
borderRadius: "4px"
|
|
65
|
-
},
|
|
66
|
-
onClick: allSelectChange,
|
|
67
|
-
children: !selectAll ? "选择全部" : "取消选择"
|
|
68
|
-
}), jsxs(Text, {
|
|
69
|
-
type: "secondary",
|
|
70
|
-
children: ["\u5171", total, "\u6761"]
|
|
71
|
-
}), jsxs(Text, {
|
|
72
|
-
type: "secondary",
|
|
73
|
-
children: ["\u5DF2\u9009\u62E9", jsx(Link, {
|
|
74
|
-
children: num
|
|
75
|
-
}), "\u6761"]
|
|
76
|
-
})]
|
|
77
|
-
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(selectedRowData, tableInstance)]
|
|
83
|
+
align: "middle",
|
|
84
|
+
children: [footerBtnRender ? footerBtnRender(btnDom, total, selectedRowData, allCheck) : btnDom, actionRender === null || actionRender === void 0 ? void 0 : actionRender(selectedRowData, tableInstance)]
|
|
78
85
|
})
|
|
79
86
|
});
|
|
80
87
|
if (!data) {
|
package/es/HTableHeader/utils.js
CHANGED
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
// welcome to hoo hoo hoo
|
|
2
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
|
|
2
3
|
import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
3
4
|
import 'core-js/modules/es.function.name.js';
|
|
4
5
|
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
5
6
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
|
|
6
7
|
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js/instance/concat';
|
|
8
|
+
import _Object$keys from '@babel/runtime-corejs3/core-js/object/keys';
|
|
9
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js/object/get-own-property-symbols';
|
|
10
|
+
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptor';
|
|
11
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
|
|
12
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptors';
|
|
13
|
+
import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
|
|
14
|
+
import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
|
|
7
15
|
|
|
16
|
+
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; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
18
|
var defaultSubItem = {
|
|
9
19
|
type: "submit",
|
|
10
20
|
itemProps: {
|
|
@@ -52,10 +62,15 @@ function formConfigDataItemProvider(_ref) {
|
|
|
52
62
|
title = _ref.title,
|
|
53
63
|
name = _ref.name,
|
|
54
64
|
dataIndex = _ref.dataIndex,
|
|
55
|
-
itemProps = _ref.itemProps,
|
|
65
|
+
_ref$itemProps = _ref.itemProps,
|
|
66
|
+
itemProps = _ref$itemProps === void 0 ? {} : _ref$itemProps,
|
|
56
67
|
searchRender = _ref.searchRender;
|
|
68
|
+
var _itemProps$allowClear = itemProps.allowClear,
|
|
69
|
+
allowClear = _itemProps$allowClear === void 0 ? true : _itemProps$allowClear;
|
|
57
70
|
return {
|
|
58
|
-
itemProps: itemProps,
|
|
71
|
+
itemProps: _objectSpread(_objectSpread({}, itemProps), {}, {
|
|
72
|
+
allowClear: allowClear
|
|
73
|
+
}),
|
|
59
74
|
label: title,
|
|
60
75
|
colon: colon,
|
|
61
76
|
type: searchType,
|
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, hideHeader, headerStyle, footerStyle, tableStyle, action, spaceSize, className, paginationStyle, ...props }: HTableProps) => JSX.Element;
|
|
2
|
+
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, hideHeader, headerStyle, footerStyle, tableStyle, action, spaceSize, className, paginationStyle, footerBtnRender, ...props }: HTableProps) => JSX.Element;
|
|
3
3
|
export default _default;
|
package/es/Table.js
CHANGED
|
@@ -20,7 +20,7 @@ import { Space } from 'antd';
|
|
|
20
20
|
import useReq from './hooks/useReq.js';
|
|
21
21
|
import useDispatch from './hooks/useDispatch.js';
|
|
22
22
|
|
|
23
|
-
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader", "headerStyle", "footerStyle", "tableStyle", "action", "spaceSize", "className", "paginationStyle"];
|
|
23
|
+
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader", "headerStyle", "footerStyle", "tableStyle", "action", "spaceSize", "className", "paginationStyle", "footerBtnRender"];
|
|
24
24
|
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; }
|
|
25
25
|
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; }
|
|
26
26
|
var Table = (function (_ref) {
|
|
@@ -43,6 +43,7 @@ var Table = (function (_ref) {
|
|
|
43
43
|
spaceSize = _ref$spaceSize === void 0 ? 15 : _ref$spaceSize,
|
|
44
44
|
className = _ref.className,
|
|
45
45
|
paginationStyle = _ref.paginationStyle,
|
|
46
|
+
footerBtnRender = _ref.footerBtnRender,
|
|
46
47
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
47
48
|
var _useReq = useReq({
|
|
48
49
|
request: request
|
|
@@ -107,7 +108,8 @@ var Table = (function (_ref) {
|
|
|
107
108
|
}, props)), footerRender !== false && jsx(Footer, {
|
|
108
109
|
actionRender: actionRender,
|
|
109
110
|
footerRender: footerRender,
|
|
110
|
-
footerStyle: footerStyle
|
|
111
|
+
footerStyle: footerStyle,
|
|
112
|
+
footerBtnRender: footerBtnRender
|
|
111
113
|
})]
|
|
112
114
|
})
|
|
113
115
|
});
|
package/es/context.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ interface HContextModal extends Omit<HTableProps, "request"> {
|
|
|
8
8
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
9
9
|
error?: Error;
|
|
10
10
|
loading?: boolean;
|
|
11
|
-
allSelectChange?:
|
|
11
|
+
allSelectChange?: (checked?: boolean) => void;
|
|
12
12
|
params?: any;
|
|
13
13
|
onFinish: (value: Record<string, any>) => Promise<any>;
|
|
14
14
|
onPageChange: (value: Record<string, any>) => Promise<any>;
|
package/es/hooks/useRowObj.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import type { RowObj } from "../modal";
|
|
|
3
3
|
declare const _default: () => {
|
|
4
4
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
5
5
|
selectedRowData: RowObj;
|
|
6
|
-
allSelectChange: () => void;
|
|
6
|
+
allSelectChange: (checked?: boolean) => void;
|
|
7
7
|
};
|
|
8
8
|
export default _default;
|
package/es/hooks/useRowObj.js
CHANGED
|
@@ -15,9 +15,10 @@ var useRowObj = (function () {
|
|
|
15
15
|
rowData: rowData
|
|
16
16
|
});
|
|
17
17
|
};
|
|
18
|
-
var allSelectChange = function allSelectChange() {
|
|
18
|
+
var allSelectChange = function allSelectChange(checked) {
|
|
19
|
+
var newChecked = typeof checked === "undefined" ? !selectAll : checked;
|
|
19
20
|
setSelectedRowData({
|
|
20
|
-
selectAll:
|
|
21
|
+
selectAll: newChecked
|
|
21
22
|
});
|
|
22
23
|
};
|
|
23
24
|
return {
|
package/es/modal.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ interface HColumns extends Omit<ProColumns, "render"> {
|
|
|
27
27
|
export type ConfigItemModal = Omit<HItemProps, "render" | "type"> & HColumns;
|
|
28
28
|
export type ConfigDataModal = ConfigItemModal[];
|
|
29
29
|
export type ActionRenderFn = (selectedRowKeys: RowObj, tableInstance: HTableInstance) => React.ReactNode;
|
|
30
|
+
export type FooterBtnRenderFn = (dom: React.ReactNode, total: string, selectedRowKeys: RowObj, setAllCheck: (checked: boolean) => void) => React.ReactNode;
|
|
30
31
|
export type actionFn = (...arg: any[]) => void;
|
|
31
32
|
type FooterRenderFn = (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
32
33
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource"> {
|
|
@@ -35,6 +36,7 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "
|
|
|
35
36
|
searchSpan?: ColProps;
|
|
36
37
|
table?: HTableInstance;
|
|
37
38
|
actionRender?: ActionRenderFn;
|
|
39
|
+
footerBtnRender?: FooterBtnRenderFn;
|
|
38
40
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
39
41
|
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
40
42
|
footerRender?: FooterRenderFn | false;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ActionRenderFn } from "../modal";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { HTableInstance, ResultModal, RowObj } from "../modal";
|
|
4
|
+
import type { FooterBtnRenderFn } from "../modal";
|
|
4
5
|
interface IFooterProps {
|
|
5
6
|
actionRender?: ActionRenderFn;
|
|
6
7
|
footerRender?: (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
7
8
|
footerStyle?: React.CSSProperties;
|
|
9
|
+
footerBtnRender?: FooterBtnRenderFn;
|
|
8
10
|
}
|
|
9
|
-
declare const _default: ({ actionRender, footerRender, footerStyle }: IFooterProps) => JSX.Element;
|
|
11
|
+
declare const _default: ({ actionRender, footerRender, footerStyle, footerBtnRender }: IFooterProps) => JSX.Element;
|
|
10
12
|
export default _default;
|
|
@@ -25,14 +25,14 @@ var Text = antd.Typography.Text,
|
|
|
25
25
|
var Footer = (function (_ref) {
|
|
26
26
|
var actionRender = _ref.actionRender,
|
|
27
27
|
footerRender = _ref.footerRender,
|
|
28
|
-
footerStyle = _ref.footerStyle
|
|
28
|
+
footerStyle = _ref.footerStyle,
|
|
29
|
+
footerBtnRender = _ref.footerBtnRender;
|
|
29
30
|
var _useHTableContext = context.useHTableContext(),
|
|
30
31
|
data = _useHTableContext.data,
|
|
31
32
|
_useHTableContext$sel = _useHTableContext.selectedRowData,
|
|
32
33
|
selectedRowData = _useHTableContext$sel === void 0 ? {} : _useHTableContext$sel,
|
|
33
34
|
allSelectChange = _useHTableContext.allSelectChange,
|
|
34
35
|
tableInstance = _useHTableContext.tableInstance;
|
|
35
|
-
_useHTableContext.error;
|
|
36
36
|
var _ref2 = data || {},
|
|
37
37
|
_ref2$total = _ref2.total,
|
|
38
38
|
total = _ref2$total === void 0 ? "0" : _ref2$total;
|
|
@@ -48,6 +48,33 @@ var Footer = (function (_ref) {
|
|
|
48
48
|
children: footerRender(tableInstance, selectedRowData, data)
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
var allCheck = function allCheck(checked) {
|
|
52
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange(checked);
|
|
53
|
+
};
|
|
54
|
+
var btnDom = jsxRuntime.jsxs(antd.Space, {
|
|
55
|
+
size: 20,
|
|
56
|
+
children: [jsxRuntime.jsx(antd.Button, {
|
|
57
|
+
type: "primary",
|
|
58
|
+
ghost: true,
|
|
59
|
+
disabled: showTotalNum == 0,
|
|
60
|
+
style: {
|
|
61
|
+
padding: "4px 24px",
|
|
62
|
+
borderRadius: "4px"
|
|
63
|
+
},
|
|
64
|
+
onClick: function onClick() {
|
|
65
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange();
|
|
66
|
+
},
|
|
67
|
+
children: !selectAll ? "选择全部" : "取消选择"
|
|
68
|
+
}), jsxRuntime.jsxs(Text, {
|
|
69
|
+
type: "secondary",
|
|
70
|
+
children: ["\u5171", total, "\u6761"]
|
|
71
|
+
}), jsxRuntime.jsxs(Text, {
|
|
72
|
+
type: "secondary",
|
|
73
|
+
children: ["\u5DF2\u9009\u62E9", jsxRuntime.jsx(Link, {
|
|
74
|
+
children: num
|
|
75
|
+
}), "\u6761"]
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
51
78
|
var dom = jsxRuntime.jsx(antd.Card, {
|
|
52
79
|
style: _objectSpread({
|
|
53
80
|
borderRadius: 4
|
|
@@ -56,28 +83,8 @@ var Footer = (function (_ref) {
|
|
|
56
83
|
className: "hw_table_footer",
|
|
57
84
|
children: jsxRuntime.jsxs(antd.Row, {
|
|
58
85
|
justify: "space-between",
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
children: [jsxRuntime.jsx(antd.Button, {
|
|
62
|
-
type: "primary",
|
|
63
|
-
ghost: true,
|
|
64
|
-
disabled: showTotalNum == 0,
|
|
65
|
-
style: {
|
|
66
|
-
padding: "4px 24px",
|
|
67
|
-
borderRadius: "4px"
|
|
68
|
-
},
|
|
69
|
-
onClick: allSelectChange,
|
|
70
|
-
children: !selectAll ? "选择全部" : "取消选择"
|
|
71
|
-
}), jsxRuntime.jsxs(Text, {
|
|
72
|
-
type: "secondary",
|
|
73
|
-
children: ["\u5171", total, "\u6761"]
|
|
74
|
-
}), jsxRuntime.jsxs(Text, {
|
|
75
|
-
type: "secondary",
|
|
76
|
-
children: ["\u5DF2\u9009\u62E9", jsxRuntime.jsx(Link, {
|
|
77
|
-
children: num
|
|
78
|
-
}), "\u6761"]
|
|
79
|
-
})]
|
|
80
|
-
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(selectedRowData, tableInstance)]
|
|
86
|
+
align: "middle",
|
|
87
|
+
children: [footerBtnRender ? footerBtnRender(btnDom, total, selectedRowData, allCheck) : btnDom, actionRender === null || actionRender === void 0 ? void 0 : actionRender(selectedRowData, tableInstance)]
|
|
81
88
|
})
|
|
82
89
|
});
|
|
83
90
|
if (!data) {
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
3
4
|
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
4
5
|
require('core-js/modules/es.function.name.js');
|
|
5
6
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/filter');
|
|
6
7
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/map');
|
|
7
8
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/concat');
|
|
9
|
+
var _Object$keys = require('@babel/runtime-corejs3/core-js/object/keys');
|
|
10
|
+
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js/object/get-own-property-symbols');
|
|
11
|
+
var _Object$getOwnPropertyDescriptor = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptor');
|
|
12
|
+
var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/for-each');
|
|
13
|
+
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js/object/get-own-property-descriptors');
|
|
14
|
+
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js/object/define-properties');
|
|
15
|
+
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js/object/define-property');
|
|
8
16
|
|
|
17
|
+
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; }
|
|
18
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context3 = ownKeys(Object(t))).call(_context3, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
9
19
|
var defaultSubItem = {
|
|
10
20
|
type: "submit",
|
|
11
21
|
itemProps: {
|
|
@@ -53,10 +63,15 @@ function formConfigDataItemProvider(_ref) {
|
|
|
53
63
|
title = _ref.title,
|
|
54
64
|
name = _ref.name,
|
|
55
65
|
dataIndex = _ref.dataIndex,
|
|
56
|
-
itemProps = _ref.itemProps,
|
|
66
|
+
_ref$itemProps = _ref.itemProps,
|
|
67
|
+
itemProps = _ref$itemProps === void 0 ? {} : _ref$itemProps,
|
|
57
68
|
searchRender = _ref.searchRender;
|
|
69
|
+
var _itemProps$allowClear = itemProps.allowClear,
|
|
70
|
+
allowClear = _itemProps$allowClear === void 0 ? true : _itemProps$allowClear;
|
|
58
71
|
return {
|
|
59
|
-
itemProps: itemProps,
|
|
72
|
+
itemProps: _objectSpread(_objectSpread({}, itemProps), {}, {
|
|
73
|
+
allowClear: allowClear
|
|
74
|
+
}),
|
|
60
75
|
label: title,
|
|
61
76
|
colon: colon,
|
|
62
77
|
type: searchType,
|
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, hideHeader, headerStyle, footerStyle, tableStyle, action, spaceSize, className, paginationStyle, ...props }: HTableProps) => JSX.Element;
|
|
2
|
+
declare const _default: ({ request, configData, searchSpan, table, actionRender, footerRender, hideHeader, headerStyle, footerStyle, tableStyle, action, spaceSize, className, paginationStyle, footerBtnRender, ...props }: HTableProps) => JSX.Element;
|
|
3
3
|
export default _default;
|
package/lib/Table.js
CHANGED
|
@@ -23,7 +23,7 @@ var antd = require('antd');
|
|
|
23
23
|
var useReq = require('./hooks/useReq.js');
|
|
24
24
|
var useDispatch = require('./hooks/useDispatch.js');
|
|
25
25
|
|
|
26
|
-
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader", "headerStyle", "footerStyle", "tableStyle", "action", "spaceSize", "className", "paginationStyle"];
|
|
26
|
+
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender", "footerRender", "hideHeader", "headerStyle", "footerStyle", "tableStyle", "action", "spaceSize", "className", "paginationStyle", "footerBtnRender"];
|
|
27
27
|
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; }
|
|
28
28
|
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; }
|
|
29
29
|
var Table = (function (_ref) {
|
|
@@ -46,6 +46,7 @@ var Table = (function (_ref) {
|
|
|
46
46
|
spaceSize = _ref$spaceSize === void 0 ? 15 : _ref$spaceSize,
|
|
47
47
|
className = _ref.className,
|
|
48
48
|
paginationStyle = _ref.paginationStyle,
|
|
49
|
+
footerBtnRender = _ref.footerBtnRender,
|
|
49
50
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
50
51
|
var _useReq = useReq.default({
|
|
51
52
|
request: request
|
|
@@ -110,7 +111,8 @@ var Table = (function (_ref) {
|
|
|
110
111
|
}, props)), footerRender !== false && jsxRuntime.jsx(index$2.default, {
|
|
111
112
|
actionRender: actionRender,
|
|
112
113
|
footerRender: footerRender,
|
|
113
|
-
footerStyle: footerStyle
|
|
114
|
+
footerStyle: footerStyle,
|
|
115
|
+
footerBtnRender: footerBtnRender
|
|
114
116
|
})]
|
|
115
117
|
})
|
|
116
118
|
});
|
package/lib/context.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ interface HContextModal extends Omit<HTableProps, "request"> {
|
|
|
8
8
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
9
9
|
error?: Error;
|
|
10
10
|
loading?: boolean;
|
|
11
|
-
allSelectChange?:
|
|
11
|
+
allSelectChange?: (checked?: boolean) => void;
|
|
12
12
|
params?: any;
|
|
13
13
|
onFinish: (value: Record<string, any>) => Promise<any>;
|
|
14
14
|
onPageChange: (value: Record<string, any>) => Promise<any>;
|
package/lib/hooks/useRowObj.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import type { RowObj } from "../modal";
|
|
|
3
3
|
declare const _default: () => {
|
|
4
4
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
5
5
|
selectedRowData: RowObj;
|
|
6
|
-
allSelectChange: () => void;
|
|
6
|
+
allSelectChange: (checked?: boolean) => void;
|
|
7
7
|
};
|
|
8
8
|
export default _default;
|
package/lib/hooks/useRowObj.js
CHANGED
|
@@ -18,9 +18,10 @@ var useRowObj = (function () {
|
|
|
18
18
|
rowData: rowData
|
|
19
19
|
});
|
|
20
20
|
};
|
|
21
|
-
var allSelectChange = function allSelectChange() {
|
|
21
|
+
var allSelectChange = function allSelectChange(checked) {
|
|
22
|
+
var newChecked = typeof checked === "undefined" ? !selectAll : checked;
|
|
22
23
|
setSelectedRowData({
|
|
23
|
-
selectAll:
|
|
24
|
+
selectAll: newChecked
|
|
24
25
|
});
|
|
25
26
|
};
|
|
26
27
|
return {
|
package/lib/modal.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ interface HColumns extends Omit<ProColumns, "render"> {
|
|
|
27
27
|
export type ConfigItemModal = Omit<HItemProps, "render" | "type"> & HColumns;
|
|
28
28
|
export type ConfigDataModal = ConfigItemModal[];
|
|
29
29
|
export type ActionRenderFn = (selectedRowKeys: RowObj, tableInstance: HTableInstance) => React.ReactNode;
|
|
30
|
+
export type FooterBtnRenderFn = (dom: React.ReactNode, total: string, selectedRowKeys: RowObj, setAllCheck: (checked: boolean) => void) => React.ReactNode;
|
|
30
31
|
export type actionFn = (...arg: any[]) => void;
|
|
31
32
|
type FooterRenderFn = (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
|
|
32
33
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource"> {
|
|
@@ -35,6 +36,7 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "
|
|
|
35
36
|
searchSpan?: ColProps;
|
|
36
37
|
table?: HTableInstance;
|
|
37
38
|
actionRender?: ActionRenderFn;
|
|
39
|
+
footerBtnRender?: FooterBtnRenderFn;
|
|
38
40
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
39
41
|
errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
|
|
40
42
|
footerRender?: FooterRenderFn | false;
|
package/package.json
CHANGED
|
@@ -2,8 +2,9 @@ import { Card, Affix, Row, Space, Button } from "antd";
|
|
|
2
2
|
import { Typography } from "antd";
|
|
3
3
|
import type { ActionRenderFn } from "../modal";
|
|
4
4
|
import { useHTableContext } from "../context";
|
|
5
|
-
import React
|
|
5
|
+
import React from "react";
|
|
6
6
|
import type { HTableInstance, ResultModal, RowObj } from "../modal";
|
|
7
|
+
import type {FooterBtnRenderFn} from "../modal";
|
|
7
8
|
|
|
8
9
|
const { Text, Link } = Typography;
|
|
9
10
|
interface IFooterProps {
|
|
@@ -14,14 +15,14 @@ interface IFooterProps {
|
|
|
14
15
|
data?: ResultModal
|
|
15
16
|
) => React.ReactNode;
|
|
16
17
|
footerStyle?: React.CSSProperties;
|
|
18
|
+
footerBtnRender?: FooterBtnRenderFn
|
|
17
19
|
}
|
|
18
|
-
export default ({ actionRender, footerRender, footerStyle }: IFooterProps) => {
|
|
20
|
+
export default ({ actionRender, footerRender, footerStyle ,footerBtnRender}: IFooterProps) => {
|
|
19
21
|
const {
|
|
20
22
|
data,
|
|
21
23
|
selectedRowData = {},
|
|
22
24
|
allSelectChange,
|
|
23
25
|
tableInstance,
|
|
24
|
-
error,
|
|
25
26
|
} = useHTableContext();
|
|
26
27
|
const { total = "0" } = data || {};
|
|
27
28
|
const totalNum = Number.parseInt(total, 10);
|
|
@@ -31,28 +32,32 @@ export default ({ actionRender, footerRender, footerStyle }: IFooterProps) => {
|
|
|
31
32
|
if (footerRender) {
|
|
32
33
|
return <>{footerRender(tableInstance, selectedRowData, data)}</>;
|
|
33
34
|
}
|
|
35
|
+
const allCheck=(checked: boolean)=>{
|
|
36
|
+
allSelectChange?.(checked);
|
|
37
|
+
}
|
|
38
|
+
const btnDom= <Space size={20}>
|
|
39
|
+
<Button
|
|
40
|
+
type={"primary"}
|
|
41
|
+
ghost
|
|
42
|
+
disabled={showTotalNum == 0}
|
|
43
|
+
style={{ padding: "4px 24px", borderRadius: "4px" }}
|
|
44
|
+
onClick={()=>{allSelectChange?.()}}
|
|
45
|
+
>
|
|
46
|
+
{!selectAll ? "选择全部" : "取消选择"}
|
|
47
|
+
</Button>
|
|
48
|
+
<Text type={"secondary"}>共{total}条</Text>
|
|
49
|
+
<Text type={"secondary"}>
|
|
50
|
+
已选择<Link>{num}</Link>条
|
|
51
|
+
</Text>
|
|
52
|
+
</Space>;
|
|
34
53
|
const dom = (
|
|
35
54
|
<Card
|
|
36
55
|
style={{ borderRadius: 4, ...footerStyle }}
|
|
37
56
|
bordered={false}
|
|
38
57
|
className="hw_table_footer"
|
|
39
58
|
>
|
|
40
|
-
<Row justify="space-between">
|
|
41
|
-
|
|
42
|
-
<Button
|
|
43
|
-
type={"primary"}
|
|
44
|
-
ghost
|
|
45
|
-
disabled={showTotalNum == 0}
|
|
46
|
-
style={{ padding: "4px 24px", borderRadius: "4px" }}
|
|
47
|
-
onClick={allSelectChange}
|
|
48
|
-
>
|
|
49
|
-
{!selectAll ? "选择全部" : "取消选择"}
|
|
50
|
-
</Button>
|
|
51
|
-
<Text type={"secondary"}>共{total}条</Text>
|
|
52
|
-
<Text type={"secondary"}>
|
|
53
|
-
已选择<Link>{num}</Link>条
|
|
54
|
-
</Text>
|
|
55
|
-
</Space>
|
|
59
|
+
<Row justify="space-between" align="middle">
|
|
60
|
+
{footerBtnRender?footerBtnRender(btnDom,total,selectedRowData,allCheck):btnDom}
|
|
56
61
|
{actionRender?.(selectedRowData, tableInstance)}
|
|
57
62
|
</Row>
|
|
58
63
|
</Card>
|
|
@@ -45,11 +45,15 @@ function formConfigDataItemProvider({
|
|
|
45
45
|
title,
|
|
46
46
|
name,
|
|
47
47
|
dataIndex,
|
|
48
|
-
itemProps,
|
|
48
|
+
itemProps={},
|
|
49
49
|
searchRender,
|
|
50
50
|
}: ConfigItemModal): HItemProps {
|
|
51
|
+
const {allowClear=true}=(itemProps as any);
|
|
51
52
|
return {
|
|
52
|
-
itemProps
|
|
53
|
+
itemProps:{
|
|
54
|
+
...itemProps,
|
|
55
|
+
allowClear,
|
|
56
|
+
},
|
|
53
57
|
label: title,
|
|
54
58
|
colon,
|
|
55
59
|
type: searchType,
|
package/src/components/Table.tsx
CHANGED
|
@@ -23,6 +23,7 @@ export default ({
|
|
|
23
23
|
spaceSize = 15,
|
|
24
24
|
className,
|
|
25
25
|
paginationStyle,
|
|
26
|
+
footerBtnRender,
|
|
26
27
|
...props
|
|
27
28
|
}: HTableProps) => {
|
|
28
29
|
const { run, loading, data, error, saveParams } = useReq({ request });
|
|
@@ -82,6 +83,7 @@ export default ({
|
|
|
82
83
|
actionRender={actionRender}
|
|
83
84
|
footerRender={footerRender}
|
|
84
85
|
footerStyle={footerStyle}
|
|
86
|
+
footerBtnRender={footerBtnRender}
|
|
85
87
|
/>
|
|
86
88
|
)}
|
|
87
89
|
</Space>
|
|
@@ -9,7 +9,7 @@ interface HContextModal extends Omit<HTableProps, "request"> {
|
|
|
9
9
|
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
10
10
|
error?: Error;
|
|
11
11
|
loading?: boolean;
|
|
12
|
-
allSelectChange?:
|
|
12
|
+
allSelectChange?: (checked?: boolean) => void;
|
|
13
13
|
params?: any;
|
|
14
14
|
onFinish: (value: Record<string, any>) => Promise<any>;
|
|
15
15
|
onPageChange: (value: Record<string, any>) => Promise<any>;
|
|
@@ -11,9 +11,10 @@ export default () => {
|
|
|
11
11
|
rowData,
|
|
12
12
|
});
|
|
13
13
|
};
|
|
14
|
-
const allSelectChange = () => {
|
|
14
|
+
const allSelectChange = (checked?: boolean) => {
|
|
15
|
+
const newChecked=typeof checked==="undefined"?!selectAll:checked;
|
|
15
16
|
setSelectedRowData({
|
|
16
|
-
selectAll:
|
|
17
|
+
selectAll: newChecked,
|
|
17
18
|
});
|
|
18
19
|
};
|
|
19
20
|
return {
|
package/src/components/modal.ts
CHANGED
|
@@ -39,6 +39,12 @@ export type ActionRenderFn = (
|
|
|
39
39
|
selectedRowKeys: RowObj,
|
|
40
40
|
tableInstance: HTableInstance
|
|
41
41
|
) => React.ReactNode;
|
|
42
|
+
export type FooterBtnRenderFn = (
|
|
43
|
+
dom: React.ReactNode,
|
|
44
|
+
total: string,
|
|
45
|
+
selectedRowKeys: RowObj,
|
|
46
|
+
setAllCheck: (checked: boolean) => void
|
|
47
|
+
) => React.ReactNode;
|
|
42
48
|
export type actionFn = (...arg) => void;
|
|
43
49
|
type FooterRenderFn = (
|
|
44
50
|
tableInstance: HTableInstance,
|
|
@@ -52,6 +58,7 @@ export interface HTableProps
|
|
|
52
58
|
searchSpan?: ColProps;
|
|
53
59
|
table?: HTableInstance;
|
|
54
60
|
actionRender?: ActionRenderFn;
|
|
61
|
+
footerBtnRender?: FooterBtnRenderFn;
|
|
55
62
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
56
63
|
errorRender?: (
|
|
57
64
|
tableInstance: HTableInstance,
|