@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.
@@ -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;
@@ -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, Card, Row, Space, Button, Affix } from 'antd';
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
- children: [jsxs(Space, {
57
- size: 20,
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) {
@@ -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?: VoidFunction;
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>;
@@ -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;
@@ -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: !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
- children: [jsxRuntime.jsxs(antd.Space, {
60
- size: 20,
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?: VoidFunction;
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>;
@@ -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;
@@ -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: !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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hw-component/table",
3
- "version": "0.0.3-beta-v12",
3
+ "version": "0.0.3-beta-v14",
4
4
  "description": "基于antd二次开发table组件",
5
5
  "keywords": [
6
6
  "table"
@@ -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, { useEffect, useState } from "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
- <Space size={20}>
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,
@@ -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?: VoidFunction;
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: !selectAll,
17
+ selectAll: newChecked,
17
18
  });
18
19
  };
19
20
  return {
@@ -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,
@@ -28,7 +28,6 @@ export default () => {
28
28
  return <Button>点我</Button>;
29
29
  }}
30
30
  request={(params) => {
31
- console.log(params,"params")
32
31
  const { current = 1 } = params;
33
32
  return new Promise((resolve, reject) => {
34
33
  setTimeout(() => {