@hw-component/table 1.9.61 → 1.9.63

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/.eslintcache +1 -1
  2. package/es/HTableBody/RowCheckBox/RowItem.d.ts +10 -0
  3. package/es/HTableBody/RowCheckBox/RowItem.js +62 -0
  4. package/es/HTableBody/RowCheckBox/Title.d.ts +4 -0
  5. package/es/HTableBody/RowCheckBox/Title.js +81 -0
  6. package/es/HTableBody/RowCheckBox/hooks.d.ts +9 -0
  7. package/es/HTableBody/RowCheckBox/hooks.js +73 -0
  8. package/es/HTableBody/RowRadioBoxSelection.d.ts +10 -0
  9. package/es/HTableBody/RowRadioBoxSelection.js +37 -0
  10. package/es/HTableBody/hooks/colsMk.d.ts +17 -0
  11. package/es/HTableBody/hooks/colsMk.js +51 -0
  12. package/es/HTableBody/hooks/useColData.js +25 -44
  13. package/es/HTableBody/hooks/useControl.d.ts +2 -0
  14. package/es/HTableBody/hooks/useControl.js +13 -1
  15. package/es/HTableBody/index.js +2 -7
  16. package/es/Table.js +5 -4
  17. package/es/hooks/useRowObj.d.ts +1 -0
  18. package/es/hooks/useRowObj.js +14 -3
  19. package/es/render/Text.d.ts +0 -1
  20. package/lib/HTableBody/RowCheckBox/RowItem.d.ts +10 -0
  21. package/lib/HTableBody/RowCheckBox/RowItem.js +65 -0
  22. package/lib/HTableBody/RowCheckBox/Title.d.ts +4 -0
  23. package/lib/HTableBody/RowCheckBox/Title.js +84 -0
  24. package/lib/HTableBody/RowCheckBox/hooks.d.ts +9 -0
  25. package/lib/HTableBody/RowCheckBox/hooks.js +75 -0
  26. package/lib/HTableBody/RowRadioBoxSelection.d.ts +10 -0
  27. package/lib/HTableBody/RowRadioBoxSelection.js +38 -0
  28. package/lib/HTableBody/hooks/colsMk.d.ts +17 -0
  29. package/lib/HTableBody/hooks/colsMk.js +53 -0
  30. package/lib/HTableBody/hooks/useColData.js +25 -44
  31. package/lib/HTableBody/hooks/useControl.d.ts +2 -0
  32. package/lib/HTableBody/hooks/useControl.js +13 -0
  33. package/lib/HTableBody/index.js +1 -6
  34. package/lib/Table.js +5 -4
  35. package/lib/hooks/useRowObj.d.ts +1 -0
  36. package/lib/hooks/useRowObj.js +13 -2
  37. package/lib/render/Text.d.ts +0 -1
  38. package/package.json +1 -1
  39. package/src/components/HTableBody/RowCheckBox/RowItem.tsx +49 -0
  40. package/src/components/HTableBody/RowCheckBox/Title.tsx +66 -0
  41. package/src/components/HTableBody/RowCheckBox/hooks.ts +64 -0
  42. package/src/components/HTableBody/RowRadioBoxSelection.tsx +27 -0
  43. package/src/components/HTableBody/hooks/colsMk.tsx +51 -0
  44. package/src/components/HTableBody/hooks/useColData.tsx +11 -35
  45. package/src/components/HTableBody/hooks/useControl.tsx +12 -0
  46. package/src/components/HTableBody/index.tsx +5 -9
  47. package/src/components/Table.tsx +4 -5
  48. package/src/components/hooks/useRowObj.ts +11 -1
  49. package/src/pages/DwTable/index.tsx +7 -2
  50. package/src/pages/Table/index.tsx +2 -7
  51. package/es/HTableBody/RowSelection.d.ts +0 -11
  52. package/es/HTableBody/RowSelection.js +0 -172
  53. package/lib/HTableBody/RowSelection.d.ts +0 -11
  54. package/lib/HTableBody/RowSelection.js +0 -174
  55. package/src/components/HTableBody/RowSelection.tsx +0 -150
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { HRowSelection } from "../../modal";
3
+ interface RowSelectionBoxProps {
4
+ data: any;
5
+ onChange?: HRowSelection["onChange"];
6
+ getCheckboxProps?: HRowSelection["getCheckboxProps"];
7
+ index: number;
8
+ }
9
+ declare const _default: ({ data, onChange, index, getCheckboxProps, }: RowSelectionBoxProps) => JSX.Element;
10
+ export default _default;
@@ -0,0 +1,62 @@
1
+ // welcome to hoo hoo hoo
2
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
3
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
4
+ import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/index-of';
5
+ import _spliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/splice';
6
+ import { jsx } from 'react/jsx-runtime';
7
+ import { useHTableContext } from '../../context.js';
8
+ import { Checkbox } from 'antd';
9
+
10
+ var RowCheckBoxSelection = (function (_ref) {
11
+ var data = _ref.data,
12
+ onChange = _ref.onChange,
13
+ index = _ref.index,
14
+ getCheckboxProps = _ref.getCheckboxProps;
15
+ var _useHTableContext = useHTableContext(),
16
+ selectedRowData = _useHTableContext.selectedRowData,
17
+ rowOnChange = _useHTableContext.rowOnChange,
18
+ _useHTableContext$row = _useHTableContext.rowKey,
19
+ rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
20
+ var _selectedRowData$rowD = selectedRowData.rowData,
21
+ rowData = _selectedRowData$rowD === void 0 ? [] : _selectedRowData$rowD,
22
+ _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
23
+ keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys;
24
+ var key = typeof rowKey === "function" ? rowKey(data, index) : data[rowKey];
25
+ var add = function add() {
26
+ var newKeys = _toConsumableArray(keys);
27
+ var newRowData = _toConsumableArray(rowData);
28
+ newKeys.push(key);
29
+ newRowData.push(data);
30
+ rowOnChange(newKeys, newRowData);
31
+ onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
32
+ };
33
+ var cancel = function cancel() {
34
+ var newKeys = _toConsumableArray(keys);
35
+ var newRowData = _toConsumableArray(rowData);
36
+ var keyIndex = _indexOfInstanceProperty(newKeys).call(newKeys, key);
37
+ _spliceInstanceProperty(newKeys).call(newKeys, keyIndex, 1);
38
+ _spliceInstanceProperty(newRowData).call(newRowData, keyIndex, 1);
39
+ rowOnChange(newKeys, newRowData);
40
+ onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
41
+ };
42
+ var check = function check(e) {
43
+ var checked = e.target.checked;
44
+ if (checked) {
45
+ add();
46
+ return;
47
+ }
48
+ cancel();
49
+ };
50
+ var _ref2 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
51
+ _ref2$disabled = _ref2.disabled,
52
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;
53
+ var checked = _indexOfInstanceProperty(keys).call(keys, key) !== -1;
54
+ return jsx(Checkbox, {
55
+ checked: checked,
56
+ onChange: check,
57
+ disabled: disabled
58
+ });
59
+ });
60
+
61
+ export { RowCheckBoxSelection as default };
62
+ // powered by hdj
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { HRowSelection } from "@/components/modal";
3
+ declare const _default: ({ allPageCheck, onChange, getCheckboxProps, }: HRowSelection) => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,81 @@
1
+ // welcome to hoo hoo hoo
2
+ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
3
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import { useHTableContext } from '../../context.js';
6
+ import { useMemo } from 'react';
7
+ import { Dropdown, Checkbox, Menu } from 'antd';
8
+ import { useCheckControl, useAllChecked } from './hooks.js';
9
+
10
+ var RowCheckBoxSelectionTitle = (function (_ref) {
11
+ var _ref$allPageCheck = _ref.allPageCheck,
12
+ allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
13
+ onChange = _ref.onChange,
14
+ getCheckboxProps = _ref.getCheckboxProps;
15
+ var _useHTableContext = useHTableContext(),
16
+ data = _useHTableContext.data,
17
+ selectedRowData = _useHTableContext.selectedRowData;
18
+ _useHTableContext.rowKey;
19
+ var _ref2 = data || {},
20
+ _ref2$records = _ref2.records,
21
+ records = _ref2$records === void 0 ? [] : _ref2$records;
22
+ var newData = records === null || records === void 0 ? void 0 : _filterInstanceProperty(records).call(records, function (item) {
23
+ var _ref3 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(item)) || {},
24
+ _ref3$disabled = _ref3.disabled,
25
+ disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
26
+ return !disabled;
27
+ });
28
+ var keys = _keysInstanceProperty(selectedRowData),
29
+ selectAll = selectedRowData.selectAll;
30
+ var _useCheckControl = useCheckControl(newData, onChange),
31
+ checkChange = _useCheckControl.checkChange,
32
+ menuClick = _useCheckControl.menuClick;
33
+ var dataLen = (newData === null || newData === void 0 ? void 0 : newData.length) || 0;
34
+ var checked = useAllChecked(keys, newData);
35
+ var configItems = useMemo(function () {
36
+ var fsArray = checked ? {
37
+ label: "取消此页数据",
38
+ key: "cancel"
39
+ } : {
40
+ label: "选择此页数据",
41
+ key: "check"
42
+ };
43
+ var enArray = selectAll ? {
44
+ label: "取消全部数据",
45
+ key: "cancelAll"
46
+ } : {
47
+ label: "选择全部数据",
48
+ key: "checkAll"
49
+ };
50
+ return [fsArray, enArray];
51
+ }, [checked, selectAll]);
52
+ var menu = function menu() {
53
+ var MenuEle = Menu;
54
+ return jsx(MenuEle, {
55
+ onClick: menuClick,
56
+ items: configItems
57
+ });
58
+ };
59
+ var disabled = dataLen === 0;
60
+ if (allPageCheck) {
61
+ return jsx(Dropdown, {
62
+ overlay: menu,
63
+ arrow: true,
64
+ placement: "bottom",
65
+ disabled: disabled,
66
+ children: jsx(Checkbox, {
67
+ checked: checked,
68
+ onChange: checkChange,
69
+ disabled: disabled
70
+ })
71
+ });
72
+ }
73
+ return jsx(Checkbox, {
74
+ checked: checked,
75
+ onChange: checkChange,
76
+ disabled: disabled
77
+ });
78
+ });
79
+
80
+ export { RowCheckBoxSelectionTitle as default };
81
+ // powered by hdj
@@ -0,0 +1,9 @@
1
+ import { Key } from "react";
2
+ import type { HRowSelection } from "../../modal";
3
+ export declare const useAllChecked: (keys?: Key[], data?: any[]) => boolean;
4
+ export declare const useCheckControl: (data: any[] | undefined, onChange: HRowSelection["onChange"]) => {
5
+ checkChange: (e: any) => void;
6
+ menuClick: ({ key }: {
7
+ key: any;
8
+ }) => void;
9
+ };
@@ -0,0 +1,73 @@
1
+ // welcome to hoo hoo hoo
2
+ import _everyInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/every';
3
+ import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/index-of';
4
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
5
+ import { useHTableContext } from '../../context.js';
6
+
7
+ var getRowKey = function getRowKey(item, index, rowKey) {
8
+ return typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
9
+ };
10
+ var useAllChecked = function useAllChecked() {
11
+ var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
12
+ var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
13
+ var _useHTableContext = useHTableContext(),
14
+ _useHTableContext$row = _useHTableContext.rowKey,
15
+ rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
16
+ return _everyInstanceProperty(data).call(data, function (item, index) {
17
+ var itemKey = getRowKey(item, index, rowKey);
18
+ return _indexOfInstanceProperty(keys).call(keys, itemKey) !== -1;
19
+ });
20
+ };
21
+ var useCheckControl = function useCheckControl() {
22
+ var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
23
+ var onChange = arguments.length > 1 ? arguments[1] : undefined;
24
+ var _useHTableContext2 = useHTableContext(),
25
+ rowOnChange = _useHTableContext2.rowOnChange,
26
+ _useHTableContext2$ro = _useHTableContext2.rowKey,
27
+ rowKey = _useHTableContext2$ro === void 0 ? "id" : _useHTableContext2$ro,
28
+ allSelectChange = _useHTableContext2.allSelectChange;
29
+ var allCheck = function allCheck() {
30
+ var setKeys = _mapInstanceProperty(data).call(data, function (item, index) {
31
+ return getRowKey(item, index, rowKey);
32
+ });
33
+ rowOnChange(setKeys, data);
34
+ onChange === null || onChange === void 0 || onChange(setKeys, data);
35
+ };
36
+ var allCancel = function allCancel() {
37
+ rowOnChange([], []);
38
+ onChange === null || onChange === void 0 || onChange([], []);
39
+ };
40
+ var checkChange = function checkChange(e) {
41
+ var checked = e.target.checked;
42
+ if (checked) {
43
+ allCheck();
44
+ return;
45
+ }
46
+ allCancel();
47
+ };
48
+ var menuClick = function menuClick(_ref) {
49
+ var key = _ref.key;
50
+ if (key === "check") {
51
+ allCheck();
52
+ return;
53
+ }
54
+ if (key === "cancel") {
55
+ allCancel();
56
+ return;
57
+ }
58
+ if (key === "checkAll") {
59
+ allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
60
+ onChange === null || onChange === void 0 || onChange([], []);
61
+ return;
62
+ }
63
+ allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
64
+ onChange === null || onChange === void 0 || onChange([], []);
65
+ };
66
+ return {
67
+ checkChange: checkChange,
68
+ menuClick: menuClick
69
+ };
70
+ };
71
+
72
+ export { useAllChecked, useCheckControl };
73
+ // powered by hdj
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { HRowSelection } from "@/components/modal";
3
+ interface RowRadioSelection {
4
+ data: any;
5
+ onChange?: HRowSelection["onChange"];
6
+ getCheckboxProps?: HRowSelection["getCheckboxProps"];
7
+ index: number;
8
+ }
9
+ export declare const RowRadioSelection: ({ data, onChange, index, getCheckboxProps, }: RowRadioSelection) => JSX.Element;
10
+ export {};
@@ -0,0 +1,37 @@
1
+ // welcome to hoo hoo hoo
2
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
3
+ import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/index-of';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import { useHTableContext } from '../context.js';
6
+ import { Radio } from 'antd';
7
+
8
+ var RowRadioSelection = function RowRadioSelection(_ref) {
9
+ var data = _ref.data,
10
+ onChange = _ref.onChange,
11
+ index = _ref.index,
12
+ getCheckboxProps = _ref.getCheckboxProps;
13
+ var _useHTableContext = useHTableContext(),
14
+ selectedRowData = _useHTableContext.selectedRowData,
15
+ rowOnChange = _useHTableContext.rowOnChange,
16
+ _useHTableContext$row = _useHTableContext.rowKey,
17
+ rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
18
+ var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
19
+ keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys;
20
+ var key = typeof rowKey === "function" ? rowKey(data, index) : data[rowKey];
21
+ var add = function add() {
22
+ rowOnChange([key], [data]);
23
+ onChange === null || onChange === void 0 || onChange([key], [data]);
24
+ };
25
+ var _ref2 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
26
+ _ref2$disabled = _ref2.disabled,
27
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;
28
+ var checked = _indexOfInstanceProperty(keys).call(keys, key) !== -1;
29
+ return jsx(Radio, {
30
+ checked: checked,
31
+ onChange: add,
32
+ disabled: disabled
33
+ });
34
+ };
35
+
36
+ export { RowRadioSelection };
37
+ // powered by hdj
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { HRowSelection } from "@/components/modal";
3
+ export declare const checkBoxSelectionCol: (rowSelection: HRowSelection) => {
4
+ title: JSX.Element;
5
+ width: number;
6
+ rowSelectionTitle: boolean;
7
+ fixed: string;
8
+ align: string;
9
+ render: (dom: any, data: any, index: any) => JSX.Element;
10
+ };
11
+ export declare const radioSelectionCol: (rowSelection: HRowSelection) => {
12
+ width: number;
13
+ rowSelectionTitle: boolean;
14
+ fixed: string;
15
+ align: string;
16
+ render: (dom: any, data: any, index: any) => JSX.Element;
17
+ };
@@ -0,0 +1,51 @@
1
+ // welcome to hoo hoo hoo
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { RowRadioSelection } from '../RowRadioBoxSelection.js';
4
+ import RowCheckBoxSelectionTitle from '../RowCheckBox/Title.js';
5
+ import RowCheckBoxSelection from '../RowCheckBox/RowItem.js';
6
+
7
+ var checkBoxSelectionCol = function checkBoxSelectionCol(rowSelection) {
8
+ var allPageCheck = rowSelection.allPageCheck,
9
+ onChange = rowSelection.onChange,
10
+ getCheckboxProps = rowSelection.getCheckboxProps;
11
+ return {
12
+ title: jsx(RowCheckBoxSelectionTitle, {
13
+ allPageCheck: allPageCheck,
14
+ onChange: onChange,
15
+ getCheckboxProps: getCheckboxProps
16
+ }),
17
+ width: 36,
18
+ rowSelectionTitle: true,
19
+ fixed: "left",
20
+ align: "center",
21
+ render: function render(dom, data, index) {
22
+ return jsx(RowCheckBoxSelection, {
23
+ data: data,
24
+ index: index,
25
+ onChange: onChange,
26
+ getCheckboxProps: getCheckboxProps
27
+ });
28
+ }
29
+ };
30
+ };
31
+ var radioSelectionCol = function radioSelectionCol(rowSelection) {
32
+ var onChange = rowSelection.onChange,
33
+ getCheckboxProps = rowSelection.getCheckboxProps;
34
+ return {
35
+ width: 36,
36
+ rowSelectionTitle: true,
37
+ fixed: "left",
38
+ align: "center",
39
+ render: function render(dom, data, index) {
40
+ return jsx(RowRadioSelection, {
41
+ data: data,
42
+ index: index,
43
+ onChange: onChange,
44
+ getCheckboxProps: getCheckboxProps
45
+ });
46
+ }
47
+ };
48
+ };
49
+
50
+ export { checkBoxSelectionCol, radioSelectionCol };
51
+ // powered by hdj
@@ -13,48 +13,29 @@ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/insta
13
13
  import _spliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/splice';
14
14
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
15
15
  import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/for-each';
16
- import { jsx } from 'react/jsx-runtime';
17
16
  import { useHTableContext } from '../../context.js';
18
17
  import { useState, useEffect, useMemo } from 'react';
19
18
  import { useClassName } from '../../hooks/index.js';
20
19
  import { useHTableConfigContext } from '../../TableConfig.js';
21
20
  import { textTypes } from '../../render/config.js';
22
21
  import configRender from '../../render/index.js';
23
- import { RowSelectionTitle, RowSelectionBox } from '../RowSelection.js';
24
22
  import { outColSetting, mkChangeValue } from '../utils.js';
23
+ import { radioSelectionCol, checkBoxSelectionCol } from './colsMk.js';
25
24
 
26
25
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
26
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context4 = ownKeys(Object(t))).call(_context4, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
28
- var rowSelectionCol = function rowSelectionCol(rowSelection) {
29
- var _ref = rowSelection || {},
30
- allPageCheck = _ref.allPageCheck,
31
- onChange = _ref.onChange,
32
- getCheckboxProps = _ref.getCheckboxProps;
33
- return {
34
- title: jsx(RowSelectionTitle, {
35
- allPageCheck: allPageCheck,
36
- onChange: onChange,
37
- getCheckboxProps: getCheckboxProps
38
- }),
39
- width: 36,
40
- rowSelectionTitle: true,
41
- fixed: "left",
42
- align: "center",
43
- render: function render(dom, data, index) {
44
- return jsx(RowSelectionBox, {
45
- data: data,
46
- index: index,
47
- onChange: onChange,
48
- getCheckboxProps: getCheckboxProps
49
- });
50
- }
51
- };
27
+ var checkBoxMk = function checkBoxMk(rowSelection) {
28
+ var type = rowSelection.type;
29
+ if (type === "radio") {
30
+ return radioSelectionCol(rowSelection);
31
+ }
32
+ return checkBoxSelectionCol(rowSelection);
52
33
  };
53
- var useCols = function useCols(_ref2) {
54
- var configData = _ref2.configData,
55
- rowSelection = _ref2.rowSelection,
56
- table = _ref2.table,
57
- bordered = _ref2.bordered;
34
+ var useCols = function useCols(_ref) {
35
+ var configData = _ref.configData,
36
+ rowSelection = _ref.rowSelection,
37
+ table = _ref.table,
38
+ bordered = _ref.bordered;
58
39
  var trClassname = useClassName("hw-table-col-hr");
59
40
  var _useState = useState([]),
60
41
  _useState2 = _slicedToArray(_useState, 2),
@@ -69,9 +50,9 @@ var useCols = function useCols(_ref2) {
69
50
  };
70
51
  var itemProvider = function itemProvider(item, lastItem) {
71
52
  var _context2;
72
- var _ref3 = lastItem || {},
73
- _ref3$children = _ref3.children,
74
- lastChildren = _ref3$children === void 0 ? [] : _ref3$children;
53
+ var _ref2 = lastItem || {},
54
+ _ref2$children = _ref2.children,
55
+ lastChildren = _ref2$children === void 0 ? [] : _ref2$children;
75
56
  var _item$valueType = item.valueType,
76
57
  valueType = _item$valueType === void 0 ? "" : _item$valueType,
77
58
  _item$valueTypeProps = item.valueTypeProps,
@@ -101,7 +82,7 @@ var useCols = function useCols(_ref2) {
101
82
  return !item.hideInTable;
102
83
  });
103
84
  if (rowSelection !== false) {
104
- _spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(rowSelection));
85
+ _spliceInstanceProperty(colsArray).call(colsArray, 0, 0, checkBoxMk(rowSelection || {}));
105
86
  }
106
87
  return _mapInstanceProperty(colsArray).call(colsArray, function (item, index) {
107
88
  var lastItem = colsArray[index - 1];
@@ -115,17 +96,17 @@ var useCols = function useCols(_ref2) {
115
96
  cols: cols
116
97
  };
117
98
  };
118
- var useColumnsStateType = function useColumnsStateType(_ref4) {
119
- var columnsState = _ref4.columnsState,
120
- columns = _ref4.columns;
99
+ var useColumnsStateType = function useColumnsStateType(_ref3) {
100
+ var columnsState = _ref3.columnsState,
101
+ columns = _ref3.columns;
121
102
  var _useHTableContext = useHTableContext(),
122
103
  tableInstance = _useHTableContext.tableInstance;
123
- var _ref5 = columnsState || {},
124
- persistenceType = _ref5.persistenceType,
125
- persistenceKey = _ref5.persistenceKey,
126
- value = _ref5.value,
127
- defaultValue = _ref5.defaultValue,
128
- onChange = _ref5.onChange;
104
+ var _ref4 = columnsState || {},
105
+ persistenceType = _ref4.persistenceType,
106
+ persistenceKey = _ref4.persistenceKey,
107
+ value = _ref4.value,
108
+ defaultValue = _ref4.defaultValue,
109
+ onChange = _ref4.onChange;
129
110
  var _useState3 = useState(defaultValue),
130
111
  _useState4 = _slicedToArray(_useState3, 2),
131
112
  selfValue = _useState4[0],
@@ -2,6 +2,7 @@ import type React from "react";
2
2
  import type { SizeType } from "antd/lib/config-provider/SizeContext";
3
3
  import type { HTableBodyProps } from "../modal";
4
4
  import type { GetRowKey } from "rc-table/lib/interface";
5
+ import { RowObj } from "@/components/modal";
5
6
  export declare const useSize: (size: SizeType) => {
6
7
  cuSize: "small" | "middle" | "large" | undefined;
7
8
  setCuSize: React.Dispatch<React.SetStateAction<"small" | "middle" | "large" | undefined>>;
@@ -13,4 +14,5 @@ interface FilterKeysModal {
13
14
  rowKey?: string | GetRowKey<any>;
14
15
  }
15
16
  export declare const useSynchronousKeys: ({ selectedRowKeys, records, rowKey, }: FilterKeysModal) => void;
17
+ export declare const useAlwaysShowAlert: (selectedRowData: RowObj, alwaysShowAlert?: boolean) => boolean | undefined;
16
18
  export {};
@@ -12,6 +12,7 @@ import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array
12
12
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
13
13
  import _findIndexInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find-index';
14
14
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
15
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
15
16
  import { useState, useEffect, useMemo } from 'react';
16
17
  import { useHTableContext } from '../../context.js';
17
18
 
@@ -114,6 +115,17 @@ var useSynchronousKeys = function useSynchronousKeys(_ref4) {
114
115
  }
115
116
  }, [selectedRowKeys, records, rowKey]);
116
117
  };
118
+ var useAlwaysShowAlert = function useAlwaysShowAlert(selectedRowData, alwaysShowAlert) {
119
+ var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
120
+ keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
121
+ selectAll = selectedRowData.selectAll;
122
+ return useMemo(function () {
123
+ if (typeof alwaysShowAlert !== "undefined") {
124
+ return alwaysShowAlert;
125
+ }
126
+ return keys.length > 0 || selectAll;
127
+ }, [selectedRowData, alwaysShowAlert]);
128
+ };
117
129
 
118
- export { useSize, useSynchronousKeys, useTableChange };
130
+ export { useAlwaysShowAlert, useSize, useSynchronousKeys, useTableChange };
119
131
  // powered by hdj
@@ -9,10 +9,9 @@ import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/obje
9
9
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
10
10
  import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
11
11
  import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
12
- import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
13
12
  import { jsx, jsxs } from 'react/jsx-runtime';
14
13
  import ProTable from '@ant-design/pro-table';
15
- import { useSize, useSynchronousKeys, useTableChange } from './hooks/useControl.js';
14
+ import { useSize, useSynchronousKeys, useAlwaysShowAlert, useTableChange } from './hooks/useControl.js';
16
15
  import { useCols, useColumnsStateType } from './hooks/useColData.js';
17
16
  import { useHTableContext } from '../context.js';
18
17
  import { Space, Alert, ConfigProvider } from 'antd';
@@ -114,11 +113,8 @@ var Body = (function (bodyProps) {
114
113
  onChange: onChange,
115
114
  reset: reset
116
115
  }));
117
- var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
118
- keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
119
- selectAll = selectedRowData.selectAll;
120
116
  var defaultOptionsNode = optionsRender ? optionsRender(optionsNode) : optionsNode;
121
- var alwaysShowAlert = keys.length > 0 || selectAll || configAlwaysShowAlert;
117
+ var alwaysShowAlert = useAlwaysShowAlert(selectedRowData, configAlwaysShowAlert);
122
118
  var className = useClassName("hw-table-body");
123
119
  var _useHTableConfigConte4 = useHTableConfigContext({
124
120
  tableStyle: tableStyle
@@ -167,7 +163,6 @@ var Body = (function (bodyProps) {
167
163
  paddingBottom: 0
168
164
  },
169
165
  options: false,
170
- rowSelection: false,
171
166
  loading: loading,
172
167
  rowKey: rowKey,
173
168
  dataSource: records,
package/es/Table.js CHANGED
@@ -72,7 +72,8 @@ var Table = (function (_ref) {
72
72
  selectedRowData = _useRowObj.selectedRowData,
73
73
  rowOnChange = _useRowObj.rowOnChange,
74
74
  allSelectChange = _useRowObj.allSelectChange,
75
- setSelectedRowData = _useRowObj.setSelectedRowData;
75
+ setSelectedRowData = _useRowObj.setSelectedRowData,
76
+ rowSelectionReload = _useRowObj.rowSelectionReload;
76
77
  var _useState = useState(),
77
78
  _useState2 = _slicedToArray(_useState, 2),
78
79
  open = _useState2[0],
@@ -80,14 +81,14 @@ var Table = (function (_ref) {
80
81
  var tableInstance = useCurrentTable({
81
82
  table: table,
82
83
  reload: function reload(params) {
83
- rowOnChange([], []);
84
+ rowSelectionReload();
84
85
  return run(params);
85
86
  },
86
87
  changeRowData: rowOnChange,
87
88
  dispatch: dispatch,
88
89
  reloadWithParams: function reloadWithParams() {
89
90
  var reloadParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
90
- rowOnChange([], []);
91
+ rowSelectionReload();
91
92
  return run(_objectSpread(_objectSpread({}, saveParams.old), reloadParams));
92
93
  },
93
94
  getTableParams: function getTableParams() {
@@ -109,7 +110,7 @@ var Table = (function (_ref) {
109
110
  action: action,
110
111
  configData: configData,
111
112
  onFinish: function onFinish(value) {
112
- rowOnChange([], []);
113
+ rowSelectionReload();
113
114
  return run(_objectSpread(_objectSpread(_objectSpread({}, saveParams.old), value), {}, {
114
115
  current: 1
115
116
  }));
@@ -6,5 +6,6 @@ declare const _default: (rowSelection?: HRowSelection | false) => {
6
6
  selectedRowData: RowObj;
7
7
  allSelectChange: (checked?: boolean) => void;
8
8
  setSelectedRowData: React.Dispatch<React.SetStateAction<RowObj>>;
9
+ rowSelectionReload: () => void;
9
10
  };
10
11
  export default _default;
@@ -1,6 +1,6 @@
1
1
  // welcome to hoo hoo hoo
2
2
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
3
- import { useState, useMemo } from 'react';
3
+ import { useState } from 'react';
4
4
 
5
5
  var useRowObj = (function (rowSelection) {
6
6
  var change = function change(keys, rowData) {
@@ -17,7 +17,6 @@ var useRowObj = (function (rowSelection) {
17
17
  setSelectedRowData = _useState2[1];
18
18
  var _selectedRowData$sele = selectedRowData.selectAll,
19
19
  selectAll = _selectedRowData$sele === void 0 ? false : _selectedRowData$sele;
20
- useMemo(function () {}, []);
21
20
  var rowOnChange = function rowOnChange(keys, rowData) {
22
21
  setSelectedRowData({
23
22
  keys: keys,
@@ -31,11 +30,23 @@ var useRowObj = (function (rowSelection) {
31
30
  selectAll: newChecked
32
31
  });
33
32
  };
33
+ var rowSelectionReload = function rowSelectionReload() {
34
+ if (rowSelection === false) {
35
+ return;
36
+ }
37
+ var _ref2 = rowSelection || {},
38
+ preserveSelectedRowKeys = _ref2.preserveSelectedRowKeys;
39
+ if (preserveSelectedRowKeys) {
40
+ return;
41
+ }
42
+ rowOnChange([], []);
43
+ };
34
44
  return {
35
45
  rowOnChange: rowOnChange,
36
46
  selectedRowData: selectedRowData,
37
47
  allSelectChange: allSelectChange,
38
- setSelectedRowData: setSelectedRowData
48
+ setSelectedRowData: setSelectedRowData,
49
+ rowSelectionReload: rowSelectionReload
39
50
  };
40
51
  });
41
52
 
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  declare const _default: () => JSX.Element;
3
2
  export default _default;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { HRowSelection } from "../../modal";
3
+ interface RowSelectionBoxProps {
4
+ data: any;
5
+ onChange?: HRowSelection["onChange"];
6
+ getCheckboxProps?: HRowSelection["getCheckboxProps"];
7
+ index: number;
8
+ }
9
+ declare const _default: ({ data, onChange, index, getCheckboxProps, }: RowSelectionBoxProps) => JSX.Element;
10
+ export default _default;