@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.
Files changed (55) hide show
  1. package/es/Body/hooks.d.ts +2542 -1046
  2. package/es/Body/hooks.js +90 -35
  3. package/es/Body/index.d.ts +20 -5
  4. package/es/Body/index.js +135 -61
  5. package/es/Footer/index.d.ts +12 -3
  6. package/es/Footer/index.js +105 -41
  7. package/es/Header/index.d.ts +13 -5
  8. package/es/Header/index.js +78 -21
  9. package/es/Header/utils.d.ts +5 -3
  10. package/es/Header/utils.js +21 -14
  11. package/es/Table.d.ts +16 -1
  12. package/es/Table.js +130 -51
  13. package/es/TableConfig.d.ts +10 -5
  14. package/es/TableConfig.js +6 -6
  15. package/es/context.d.ts +5 -5
  16. package/es/context.js +2 -2
  17. package/es/hooks/useCurrentTable.d.ts +10 -5
  18. package/es/hooks/useCurrentTable.js +14 -11
  19. package/es/hooks/useHTable.d.ts +6 -6
  20. package/es/hooks/useHTable.js +6 -6
  21. package/es/hooks/useRowObj.d.ts +2 -2
  22. package/es/hooks/useRowObj.js +6 -6
  23. package/es/index.js +3 -3
  24. package/es/modal.d.ts +54 -30
  25. package/lib/Body/hooks.d.ts +2542 -1046
  26. package/lib/Body/hooks.js +91 -36
  27. package/lib/Body/index.d.ts +20 -5
  28. package/lib/Body/index.js +137 -63
  29. package/lib/Footer/index.d.ts +12 -3
  30. package/lib/Footer/index.js +107 -43
  31. package/lib/Header/index.d.ts +13 -5
  32. package/lib/Header/index.js +80 -23
  33. package/lib/Header/utils.d.ts +5 -3
  34. package/lib/Header/utils.js +22 -15
  35. package/lib/Table.d.ts +16 -1
  36. package/lib/Table.js +132 -53
  37. package/lib/TableConfig.d.ts +10 -5
  38. package/lib/TableConfig.js +8 -8
  39. package/lib/context.d.ts +5 -5
  40. package/lib/context.js +3 -3
  41. package/lib/hooks/useCurrentTable.d.ts +10 -5
  42. package/lib/hooks/useCurrentTable.js +16 -13
  43. package/lib/hooks/useHTable.d.ts +6 -6
  44. package/lib/hooks/useHTable.js +8 -8
  45. package/lib/hooks/useRowObj.d.ts +2 -2
  46. package/lib/hooks/useRowObj.js +8 -8
  47. package/lib/index.js +4 -6
  48. package/lib/modal.d.ts +54 -30
  49. package/package.json +1 -1
  50. package/src/components/Body/index.tsx +3 -1
  51. package/src/components/Footer/index.tsx +3 -2
  52. package/src/components/Header/index.tsx +4 -2
  53. package/src/components/Table.tsx +18 -2
  54. package/src/components/modal.ts +5 -0
  55. package/src/pages/Test/index.tsx +4 -0
@@ -1,11 +1,11 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
4
 
5
- var React = require('react');
6
- var form = require('@hw-component/form');
5
+ var React = require("react");
6
+ var form = require("@hw-component/form");
7
7
 
8
- var useHTable = (function () {
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
@@ -1,7 +1,7 @@
1
1
  import type React from "react";
2
2
  import type { RowObj } from "../modal";
3
3
  declare const _default: () => {
4
- rowOnChange: (keys: React.Key[], rowData: any[]) => void;
5
- selectedRowData: RowObj;
4
+ rowOnChange: (keys: React.Key[], rowData: any[]) => void;
5
+ selectedRowData: RowObj;
6
6
  };
7
7
  export default _default;
@@ -1,11 +1,11 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
4
 
5
- var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
6
- var React = require('react');
5
+ var _slicedToArray = require("@babel/runtime-corejs3/helpers/slicedToArray");
6
+ var React = require("react");
7
7
 
8
- var useRowObj = (function () {
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
- 'use strict';
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 { HItemProps, HFormInstance } from "@hw-component/form/es/Form/modal";
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
- keys?: React.Key[];
8
- rowData?: any[];
10
+ keys?: React.Key[];
11
+ rowData?: any[];
9
12
  }
10
13
  export interface ResultModal {
11
- records: any[];
12
- current: string;
13
- size: string;
14
- total: string;
14
+ records: any[];
15
+ current: string;
16
+ size: string;
17
+ total: string;
15
18
  }
16
19
  export interface ParamsModal extends Record<string, any> {
17
- size?: number;
18
- current?: number;
20
+ size?: number;
21
+ current?: number;
19
22
  }
20
23
  interface HColumns extends Omit<ProColumns, "render"> {
21
- render?: (dom: React.ReactNode, data: any, index: number, tableInstance: HTableInstance) => React.ReactNode;
22
- showSearch?: boolean;
23
- searchType?: HItemProps["type"];
24
- searchRender?: HItemProps["render"];
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 = (allCheck: boolean, selectedRowKeys: RowObj, tableInstance: HTableInstance) => React.ReactNode;
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 = (tableInstance: HTableInstance, selectedRowData: RowObj, data?: ResultModal) => React.ReactNode;
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
- request: (params: ParamsModal) => Promise<ResultModal>;
33
- configData: ConfigDataModal;
34
- searchSpan?: ColProps;
35
- table?: HTableInstance;
36
- actionRender?: ActionRenderFn;
37
- emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
38
- errorRender?: (tableInstance: HTableInstance, error: Error) => React.ReactNode;
39
- footerRender?: FooterRenderFn | false;
40
- hideHeader?: boolean;
41
- action?: Record<string, actionFn>;
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
- reload: (params?: ParamsModal) => void;
45
- setSelectedRowData: (keys: React.Key[], data: any) => void;
46
- dispatch: (key: string, params: any) => void;
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
- form: HFormInstance;
50
- table: TableInstance;
73
+ form: HFormInstance;
74
+ table: TableInstance;
51
75
  }
52
76
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/table",
3
- "version": "0.0.1-beta-v8",
3
+ "version": "0.0.2-beta-v1",
4
4
  "description": "基于antd二次开发table组件",
5
5
  "keywords": [
6
6
  "table"
@@ -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
  >
@@ -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 size={20} direction={"vertical"} style={{ width: "100%" }}>
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 actionRender={actionRender} footerRender={footerRender} />
87
+ <Footer
88
+ actionRender={actionRender}
89
+ footerRender={footerRender}
90
+ footerStyle={footerStyle}
91
+ />
76
92
  )}
77
93
  </Space>
78
94
  </HTableContext.Provider>
@@ -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;
@@ -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);