@hw-component/table 0.0.1-beta-v8 → 0.0.2-beta-v1
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/hooks.d.ts +2542 -1046
- package/es/Body/hooks.js +90 -35
- package/es/Body/index.d.ts +20 -5
- package/es/Body/index.js +135 -61
- package/es/Footer/index.d.ts +12 -3
- package/es/Footer/index.js +105 -41
- package/es/Header/index.d.ts +13 -5
- package/es/Header/index.js +78 -21
- package/es/Header/utils.d.ts +5 -3
- package/es/Header/utils.js +21 -14
- package/es/Table.d.ts +16 -1
- package/es/Table.js +130 -51
- package/es/TableConfig.d.ts +10 -5
- package/es/TableConfig.js +6 -6
- package/es/context.d.ts +5 -5
- package/es/context.js +2 -2
- package/es/hooks/useCurrentTable.d.ts +10 -5
- package/es/hooks/useCurrentTable.js +14 -11
- package/es/hooks/useHTable.d.ts +6 -6
- package/es/hooks/useHTable.js +6 -6
- package/es/hooks/useRowObj.d.ts +2 -2
- package/es/hooks/useRowObj.js +6 -6
- package/es/index.js +3 -3
- package/es/modal.d.ts +54 -30
- package/lib/Body/hooks.d.ts +2542 -1046
- package/lib/Body/hooks.js +91 -36
- package/lib/Body/index.d.ts +20 -5
- package/lib/Body/index.js +137 -63
- package/lib/Footer/index.d.ts +12 -3
- package/lib/Footer/index.js +107 -43
- package/lib/Header/index.d.ts +13 -5
- package/lib/Header/index.js +80 -23
- package/lib/Header/utils.d.ts +5 -3
- package/lib/Header/utils.js +22 -15
- package/lib/Table.d.ts +16 -1
- package/lib/Table.js +132 -53
- package/lib/TableConfig.d.ts +10 -5
- package/lib/TableConfig.js +8 -8
- package/lib/context.d.ts +5 -5
- package/lib/context.js +3 -3
- package/lib/hooks/useCurrentTable.d.ts +10 -5
- package/lib/hooks/useCurrentTable.js +16 -13
- package/lib/hooks/useHTable.d.ts +6 -6
- package/lib/hooks/useHTable.js +8 -8
- package/lib/hooks/useRowObj.d.ts +2 -2
- package/lib/hooks/useRowObj.js +8 -8
- package/lib/index.js +4 -6
- package/lib/modal.d.ts +54 -30
- package/package.json +1 -1
- package/src/components/Body/index.tsx +3 -1
- package/src/components/Footer/index.tsx +3 -2
- package/src/components/Header/index.tsx +4 -2
- package/src/components/Table.tsx +18 -2
- package/src/components/modal.ts +5 -0
- package/src/pages/Test/index.tsx +4 -0
package/lib/hooks/useHTable.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports,
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
|
|
5
|
-
var React = require(
|
|
6
|
-
var form = require(
|
|
5
|
+
var React = require("react");
|
|
6
|
+
var form = require("@hw-component/form");
|
|
7
7
|
|
|
8
|
-
var useHTable =
|
|
8
|
+
var useHTable = function () {
|
|
9
9
|
var form$1 = form.useHForm();
|
|
10
10
|
var table = React.useMemo(function () {
|
|
11
11
|
return {
|
|
@@ -13,14 +13,14 @@ var useHTable = (function () {
|
|
|
13
13
|
return params;
|
|
14
14
|
},
|
|
15
15
|
setSelectedRowData: function setSelectedRowData() {},
|
|
16
|
-
dispatch: function dispatch() {}
|
|
16
|
+
dispatch: function dispatch() {},
|
|
17
17
|
};
|
|
18
18
|
}, []);
|
|
19
19
|
return {
|
|
20
20
|
form: form$1,
|
|
21
|
-
table: table
|
|
21
|
+
table: table,
|
|
22
22
|
};
|
|
23
|
-
}
|
|
23
|
+
};
|
|
24
24
|
|
|
25
25
|
exports.default = useHTable;
|
|
26
26
|
// powered by h
|
package/lib/hooks/useRowObj.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
2
|
import type { RowObj } from "../modal";
|
|
3
3
|
declare const _default: () => {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
5
|
+
selectedRowData: RowObj;
|
|
6
6
|
};
|
|
7
7
|
export default _default;
|
package/lib/hooks/useRowObj.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports,
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
|
|
5
|
-
var _slicedToArray = require(
|
|
6
|
-
var React = require(
|
|
5
|
+
var _slicedToArray = require("@babel/runtime-corejs3/helpers/slicedToArray");
|
|
6
|
+
var React = require("react");
|
|
7
7
|
|
|
8
|
-
var useRowObj =
|
|
8
|
+
var useRowObj = function () {
|
|
9
9
|
var _useState = React.useState({}),
|
|
10
10
|
_useState2 = _slicedToArray(_useState, 2),
|
|
11
11
|
selectedRowData = _useState2[0],
|
|
@@ -13,14 +13,14 @@ var useRowObj = (function () {
|
|
|
13
13
|
var rowOnChange = function rowOnChange(keys, rowData) {
|
|
14
14
|
setSelectedRowData({
|
|
15
15
|
keys: keys,
|
|
16
|
-
rowData: rowData
|
|
16
|
+
rowData: rowData,
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
return {
|
|
20
20
|
rowOnChange: rowOnChange,
|
|
21
|
-
selectedRowData: selectedRowData
|
|
21
|
+
selectedRowData: selectedRowData,
|
|
22
22
|
};
|
|
23
|
-
}
|
|
23
|
+
};
|
|
24
24
|
|
|
25
25
|
exports.default = useRowObj;
|
|
26
26
|
// powered by h
|
package/lib/index.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var Table = require('./Table.js');
|
|
4
|
-
var useHTable = require('./hooks/useHTable.js');
|
|
5
|
-
var TableConfig = require('./TableConfig.js');
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
7
2
|
|
|
3
|
+
var Table = require("./Table.js");
|
|
4
|
+
var useHTable = require("./hooks/useHTable.js");
|
|
5
|
+
var TableConfig = require("./TableConfig.js");
|
|
8
6
|
|
|
9
7
|
exports.HTable = Table.default;
|
|
10
8
|
exports.useHTable = useHTable.default;
|
package/lib/modal.d.ts
CHANGED
|
@@ -1,52 +1,76 @@
|
|
|
1
1
|
import type { ProColumns } from "@ant-design/pro-table/lib/typing";
|
|
2
2
|
import type { ProTableProps } from "@ant-design/pro-table";
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
HItemProps,
|
|
5
|
+
HFormInstance,
|
|
6
|
+
} from "@hw-component/form/es/Form/modal";
|
|
4
7
|
import type { ColProps } from "antd";
|
|
5
8
|
import type React from "react";
|
|
6
9
|
export interface RowObj {
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
keys?: React.Key[];
|
|
11
|
+
rowData?: any[];
|
|
9
12
|
}
|
|
10
13
|
export interface ResultModal {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
records: any[];
|
|
15
|
+
current: string;
|
|
16
|
+
size: string;
|
|
17
|
+
total: string;
|
|
15
18
|
}
|
|
16
19
|
export interface ParamsModal extends Record<string, any> {
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
size?: number;
|
|
21
|
+
current?: number;
|
|
19
22
|
}
|
|
20
23
|
interface HColumns extends Omit<ProColumns, "render"> {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
render?: (
|
|
25
|
+
dom: React.ReactNode,
|
|
26
|
+
data: any,
|
|
27
|
+
index: number,
|
|
28
|
+
tableInstance: HTableInstance
|
|
29
|
+
) => React.ReactNode;
|
|
30
|
+
showSearch?: boolean;
|
|
31
|
+
searchType?: HItemProps["type"];
|
|
32
|
+
searchRender?: HItemProps["render"];
|
|
25
33
|
}
|
|
26
34
|
export type ConfigItemModal = Omit<HItemProps, "render" | "type"> & HColumns;
|
|
27
35
|
export type ConfigDataModal = ConfigItemModal[];
|
|
28
|
-
export type ActionRenderFn = (
|
|
36
|
+
export type ActionRenderFn = (
|
|
37
|
+
allCheck: boolean,
|
|
38
|
+
selectedRowKeys: RowObj,
|
|
39
|
+
tableInstance: HTableInstance
|
|
40
|
+
) => React.ReactNode;
|
|
29
41
|
type actionFn = (...arg: any[]) => void;
|
|
30
|
-
type FooterRenderFn = (
|
|
42
|
+
type FooterRenderFn = (
|
|
43
|
+
tableInstance: HTableInstance,
|
|
44
|
+
selectedRowData: RowObj,
|
|
45
|
+
data?: ResultModal
|
|
46
|
+
) => React.ReactNode;
|
|
31
47
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request"> {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
request: (params: ParamsModal) => Promise<ResultModal>;
|
|
49
|
+
configData: ConfigDataModal;
|
|
50
|
+
searchSpan?: ColProps;
|
|
51
|
+
table?: HTableInstance;
|
|
52
|
+
actionRender?: ActionRenderFn;
|
|
53
|
+
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
54
|
+
errorRender?: (
|
|
55
|
+
tableInstance: HTableInstance,
|
|
56
|
+
error: Error
|
|
57
|
+
) => React.ReactNode;
|
|
58
|
+
footerRender?: FooterRenderFn | false;
|
|
59
|
+
hideHeader?: boolean;
|
|
60
|
+
action?: Record<string, actionFn>;
|
|
61
|
+
headerStyle?: React.CSSProperties;
|
|
62
|
+
tableStyle?: React.CSSProperties;
|
|
63
|
+
footerStyle?: React.CSSProperties;
|
|
64
|
+
spaceSize?: number;
|
|
65
|
+
className?: string;
|
|
42
66
|
}
|
|
43
67
|
export interface TableInstance {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
68
|
+
reload: (params?: ParamsModal) => void;
|
|
69
|
+
setSelectedRowData: (keys: React.Key[], data: any) => void;
|
|
70
|
+
dispatch: (key: string, params: any) => void;
|
|
47
71
|
}
|
|
48
72
|
export interface HTableInstance {
|
|
49
|
-
|
|
50
|
-
|
|
73
|
+
form: HFormInstance;
|
|
74
|
+
table: TableInstance;
|
|
51
75
|
}
|
|
52
76
|
export {};
|
package/package.json
CHANGED
|
@@ -16,6 +16,7 @@ interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
|
16
16
|
tableInstance: HTableInstance,
|
|
17
17
|
error: Error
|
|
18
18
|
) => React.ReactNode;
|
|
19
|
+
tableStyle?: React.CSSProperties;
|
|
19
20
|
}
|
|
20
21
|
const defaultRender = () => {
|
|
21
22
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
|
|
@@ -29,6 +30,7 @@ export default ({
|
|
|
29
30
|
rowKey = "id",
|
|
30
31
|
emptyRender,
|
|
31
32
|
errorRender,
|
|
33
|
+
tableStyle,
|
|
32
34
|
...props
|
|
33
35
|
}: HTableBodyProps) => {
|
|
34
36
|
// @ts-ignore
|
|
@@ -49,7 +51,7 @@ export default ({
|
|
|
49
51
|
};
|
|
50
52
|
useSynchronousKeys({ selectedRowKeys, records, rowKey });
|
|
51
53
|
return (
|
|
52
|
-
<div style={{ borderRadius: 4, overflow: "hidden" }}>
|
|
54
|
+
<div style={{ borderRadius: 4, overflow: "hidden", ...tableStyle }}>
|
|
53
55
|
<ConfigProvider
|
|
54
56
|
renderEmpty={() => {
|
|
55
57
|
if (error) {
|
|
@@ -13,8 +13,9 @@ interface IFooterProps {
|
|
|
13
13
|
selectedRowData: RowObj,
|
|
14
14
|
data?: ResultModal
|
|
15
15
|
) => React.ReactNode;
|
|
16
|
+
footerStyle?: React.CSSProperties;
|
|
16
17
|
}
|
|
17
|
-
export default ({ actionRender, footerRender }: IFooterProps) => {
|
|
18
|
+
export default ({ actionRender, footerRender, footerStyle }: IFooterProps) => {
|
|
18
19
|
const { data, selectedRowData, tableInstance, error } = useHTableContext();
|
|
19
20
|
const [allCheck, setAllCheck] = useState<boolean>(false);
|
|
20
21
|
const { total = "0" } = data || {};
|
|
@@ -25,7 +26,7 @@ export default ({ actionRender, footerRender }: IFooterProps) => {
|
|
|
25
26
|
return <>{footerRender(tableInstance, selectedRowData, data)}</>;
|
|
26
27
|
}
|
|
27
28
|
const dom = (
|
|
28
|
-
<Card style={{ borderRadius: 4 }} bordered={false}>
|
|
29
|
+
<Card style={{ borderRadius: 4, ...footerStyle }} bordered={false}>
|
|
29
30
|
<Row justify="space-between">
|
|
30
31
|
<Space size={20}>
|
|
31
32
|
<Button
|
|
@@ -3,7 +3,7 @@ import { Card } from "antd";
|
|
|
3
3
|
import type { ConfigDataModal } from "../modal";
|
|
4
4
|
import { useHTableContext } from "../context";
|
|
5
5
|
import { HForm } from "@hw-component/form";
|
|
6
|
-
import { useMemo } from "react";
|
|
6
|
+
import React, { useMemo } from "react";
|
|
7
7
|
import { formConfigDataProvider } from "./utils";
|
|
8
8
|
import type { HItemProps } from "@hw-component/form/lib/Form/modal";
|
|
9
9
|
|
|
@@ -12,6 +12,7 @@ interface IHeaderProps {
|
|
|
12
12
|
onFinish: (value: Record<string, any>) => Promise<any>;
|
|
13
13
|
searchSpan?: ColProps;
|
|
14
14
|
loading?: boolean;
|
|
15
|
+
headerStyle?: React.CSSProperties;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
export default ({
|
|
@@ -19,6 +20,7 @@ export default ({
|
|
|
19
20
|
onFinish,
|
|
20
21
|
searchSpan = { span: 6 },
|
|
21
22
|
loading,
|
|
23
|
+
headerStyle,
|
|
22
24
|
}: IHeaderProps) => {
|
|
23
25
|
const { tableInstance } = useHTableContext();
|
|
24
26
|
const { form } = tableInstance;
|
|
@@ -30,7 +32,7 @@ export default ({
|
|
|
30
32
|
|
|
31
33
|
return (
|
|
32
34
|
<Card
|
|
33
|
-
style={{ borderRadius: 4 }}
|
|
35
|
+
style={{ borderRadius: 4, ...headerStyle }}
|
|
34
36
|
bordered={false}
|
|
35
37
|
bodyStyle={{ paddingBottom: 0 }}
|
|
36
38
|
>
|
package/src/components/Table.tsx
CHANGED
|
@@ -16,7 +16,12 @@ export default ({
|
|
|
16
16
|
actionRender,
|
|
17
17
|
footerRender,
|
|
18
18
|
hideHeader,
|
|
19
|
+
headerStyle = {},
|
|
20
|
+
footerStyle = {},
|
|
21
|
+
tableStyle = {},
|
|
19
22
|
action = {},
|
|
23
|
+
spaceSize = 20,
|
|
24
|
+
className,
|
|
20
25
|
...props
|
|
21
26
|
}: HTableProps) => {
|
|
22
27
|
const saveParams = useMemo(() => {
|
|
@@ -54,25 +59,36 @@ export default ({
|
|
|
54
59
|
error,
|
|
55
60
|
}}
|
|
56
61
|
>
|
|
57
|
-
<Space
|
|
62
|
+
<Space
|
|
63
|
+
size={spaceSize}
|
|
64
|
+
direction={"vertical"}
|
|
65
|
+
style={{ width: "100%" }}
|
|
66
|
+
className={className}
|
|
67
|
+
>
|
|
58
68
|
{!hideHeader && (
|
|
59
69
|
<Header
|
|
60
70
|
configData={configData}
|
|
61
71
|
onFinish={run}
|
|
62
72
|
loading={loading}
|
|
63
73
|
searchSpan={searchSpan}
|
|
74
|
+
headerStyle={headerStyle}
|
|
64
75
|
/>
|
|
65
76
|
)}
|
|
66
77
|
<Body
|
|
67
78
|
loading={loading}
|
|
68
79
|
configData={configData}
|
|
80
|
+
tableStyle={tableStyle}
|
|
69
81
|
onPageChange={(page) => {
|
|
70
82
|
run({ ...saveParams.params, ...page });
|
|
71
83
|
}}
|
|
72
84
|
{...props}
|
|
73
85
|
/>
|
|
74
86
|
{footerRender !== false && (
|
|
75
|
-
<Footer
|
|
87
|
+
<Footer
|
|
88
|
+
actionRender={actionRender}
|
|
89
|
+
footerRender={footerRender}
|
|
90
|
+
footerStyle={footerStyle}
|
|
91
|
+
/>
|
|
76
92
|
)}
|
|
77
93
|
</Space>
|
|
78
94
|
</HTableContext.Provider>
|
package/src/components/modal.ts
CHANGED
|
@@ -59,6 +59,11 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request"> {
|
|
|
59
59
|
footerRender?: FooterRenderFn | false;
|
|
60
60
|
hideHeader?: boolean;
|
|
61
61
|
action?: Record<string, actionFn>;
|
|
62
|
+
headerStyle?: React.CSSProperties;
|
|
63
|
+
tableStyle?: React.CSSProperties;
|
|
64
|
+
footerStyle?: React.CSSProperties;
|
|
65
|
+
spaceSize?: number;
|
|
66
|
+
className?: string;
|
|
62
67
|
}
|
|
63
68
|
export interface TableInstance {
|
|
64
69
|
reload: (params?: ParamsModal) => void;
|
package/src/pages/Test/index.tsx
CHANGED
|
@@ -28,6 +28,10 @@ export default () => {
|
|
|
28
28
|
<HTable
|
|
29
29
|
configData={configData}
|
|
30
30
|
rowKey={"id"}
|
|
31
|
+
headerStyle={{ borderRadius: 0 }}
|
|
32
|
+
tableStyle={{ borderRadius: 0, background: "#fff" }}
|
|
33
|
+
spaceSize={0}
|
|
34
|
+
footerStyle={{ marginTop: 20 }}
|
|
31
35
|
table={hTable}
|
|
32
36
|
actionRender={(allCheck, selectedRowKeys, xjTable) => {
|
|
33
37
|
console.log(allCheck, selectedRowKeys, xjTable);
|