@hw-component/table 0.0.4-beta-v19 → 0.0.5-beta-v2
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/HTableBody/RowSelection.d.ts +5 -5
- package/es/HTableBody/RowSelection.js +32 -9
- package/es/HTableBody/hooks.d.ts +2 -2
- package/es/HTableBody/hooks.js +17 -11
- package/es/HTableBody/index.d.ts +3 -1
- package/es/HTableBody/index.js +0 -1
- package/es/modal.d.ts +5 -2
- package/lib/HTableBody/RowSelection.d.ts +5 -5
- package/lib/HTableBody/RowSelection.js +32 -9
- package/lib/HTableBody/hooks.d.ts +2 -2
- package/lib/HTableBody/hooks.js +17 -11
- package/lib/HTableBody/index.d.ts +3 -1
- package/lib/HTableBody/index.js +0 -1
- package/lib/modal.d.ts +5 -2
- package/package.json +1 -1
- package/src/components/HTableBody/RowSelection.tsx +48 -17
- package/src/components/HTableBody/hooks.tsx +19 -6
- package/src/components/HTableBody/index.tsx +12 -6
- package/src/components/TableCustomize.tsx +2 -2
- package/src/components/modal.ts +5 -2
- package/src/pages/Table/index.tsx +3 -5
- package/src/pages/TableCustomize/index.tsx +5 -0
- package/src/routes.tsx +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export declare const RowSelectionTitle: ({ allPageCheck, }: IRowSelectionTitleProps) => JSX.Element;
|
|
1
|
+
import type { HRowSelection } from "../modal";
|
|
2
|
+
export declare const RowSelectionTitle: ({ allPageCheck, onChange, getCheckboxProps, }: HRowSelection) => JSX.Element;
|
|
5
3
|
interface RowSelectionBoxProps {
|
|
6
4
|
data: any;
|
|
5
|
+
onChange?: HRowSelection["onChange"];
|
|
6
|
+
getCheckboxProps?: HRowSelection["getCheckboxProps"];
|
|
7
7
|
}
|
|
8
|
-
export declare const RowSelectionBox: ({ data }: RowSelectionBoxProps) => JSX.Element;
|
|
8
|
+
export declare const RowSelectionBox: ({ data, onChange, getCheckboxProps, }: RowSelectionBoxProps) => JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// welcome to hoo hoo hoo
|
|
2
2
|
import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
3
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
3
4
|
import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
|
|
4
5
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
|
|
5
6
|
import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js/instance/index-of';
|
|
@@ -11,7 +12,9 @@ import { useMemo } from 'react';
|
|
|
11
12
|
|
|
12
13
|
var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
13
14
|
var _ref$allPageCheck = _ref.allPageCheck,
|
|
14
|
-
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck
|
|
15
|
+
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
|
|
16
|
+
onChange = _ref.onChange,
|
|
17
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
15
18
|
var _useHTableContext = useHTableContext(),
|
|
16
19
|
data = _useHTableContext.data,
|
|
17
20
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
@@ -22,16 +25,24 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
22
25
|
var _ref2 = data || {},
|
|
23
26
|
_ref2$records = _ref2.records,
|
|
24
27
|
records = _ref2$records === void 0 ? [] : _ref2$records;
|
|
28
|
+
var newData = records === null || records === void 0 ? void 0 : _filterInstanceProperty(records).call(records, function (item) {
|
|
29
|
+
var _ref3 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
|
|
30
|
+
_ref3$disabled = _ref3.disabled,
|
|
31
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
|
|
32
|
+
return !disabled;
|
|
33
|
+
});
|
|
25
34
|
var keys = _keysInstanceProperty(selectedRowData),
|
|
26
35
|
selectAll = selectedRowData.selectAll;
|
|
27
36
|
var allCheck = function allCheck() {
|
|
28
|
-
var setKeys = _mapInstanceProperty(
|
|
37
|
+
var setKeys = _mapInstanceProperty(newData).call(newData, function (item) {
|
|
29
38
|
return item[rowKey];
|
|
30
39
|
});
|
|
31
|
-
rowOnChange(setKeys,
|
|
40
|
+
rowOnChange(setKeys, newData);
|
|
41
|
+
onChange === null || onChange === void 0 || onChange(setKeys, newData);
|
|
32
42
|
};
|
|
33
43
|
var allCancel = function allCancel() {
|
|
34
44
|
rowOnChange([], []);
|
|
45
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
35
46
|
};
|
|
36
47
|
var checkChange = function checkChange(e) {
|
|
37
48
|
var checked = e.target.checked;
|
|
@@ -41,8 +52,8 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
41
52
|
}
|
|
42
53
|
allCancel();
|
|
43
54
|
};
|
|
44
|
-
var change = function change(
|
|
45
|
-
var key =
|
|
55
|
+
var change = function change(_ref4) {
|
|
56
|
+
var key = _ref4.key;
|
|
46
57
|
if (key === "check") {
|
|
47
58
|
allCheck();
|
|
48
59
|
return;
|
|
@@ -53,12 +64,14 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
53
64
|
}
|
|
54
65
|
if (key === "checkAll") {
|
|
55
66
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
|
|
67
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
56
68
|
return;
|
|
57
69
|
}
|
|
58
70
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
|
|
71
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
59
72
|
};
|
|
60
73
|
var len = (keys === null || keys === void 0 ? void 0 : keys.length) || 0;
|
|
61
|
-
var dataLen = (
|
|
74
|
+
var dataLen = (newData === null || newData === void 0 ? void 0 : newData.length) || 0;
|
|
62
75
|
var checked = len === dataLen && len !== 0;
|
|
63
76
|
var configItems = useMemo(function () {
|
|
64
77
|
var fsArray = checked ? {
|
|
@@ -85,6 +98,7 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
85
98
|
});
|
|
86
99
|
};
|
|
87
100
|
var disabled = dataLen === 0;
|
|
101
|
+
console.log(dataLen, "dadada");
|
|
88
102
|
if (allPageCheck) {
|
|
89
103
|
return jsx(Dropdown, {
|
|
90
104
|
overlay: menu,
|
|
@@ -104,8 +118,10 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
104
118
|
disabled: disabled
|
|
105
119
|
});
|
|
106
120
|
};
|
|
107
|
-
var RowSelectionBox = function RowSelectionBox(
|
|
108
|
-
var data =
|
|
121
|
+
var RowSelectionBox = function RowSelectionBox(_ref5) {
|
|
122
|
+
var data = _ref5.data,
|
|
123
|
+
onChange = _ref5.onChange,
|
|
124
|
+
getCheckboxProps = _ref5.getCheckboxProps;
|
|
109
125
|
var _useHTableContext2 = useHTableContext(),
|
|
110
126
|
selectedRowData = _useHTableContext2.selectedRowData,
|
|
111
127
|
rowOnChange = _useHTableContext2.rowOnChange,
|
|
@@ -124,15 +140,22 @@ var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
|
124
140
|
newKeys.push(key);
|
|
125
141
|
newRowData.push(data);
|
|
126
142
|
rowOnChange(newKeys, newRowData);
|
|
143
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
127
144
|
return;
|
|
128
145
|
}
|
|
129
146
|
var index = _indexOfInstanceProperty(newKeys).call(newKeys, key);
|
|
130
147
|
_spliceInstanceProperty(newKeys).call(newKeys, index, 1);
|
|
131
148
|
_spliceInstanceProperty(newRowData).call(newRowData, index, 1);
|
|
149
|
+
rowOnChange(newKeys, newRowData);
|
|
150
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
132
151
|
};
|
|
152
|
+
var _ref6 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
|
|
153
|
+
_ref6$disabled = _ref6.disabled,
|
|
154
|
+
disabled = _ref6$disabled === void 0 ? false : _ref6$disabled;
|
|
133
155
|
return jsx(Checkbox, {
|
|
134
156
|
checked: _indexOfInstanceProperty(keys).call(keys, key) !== -1,
|
|
135
|
-
onChange: check
|
|
157
|
+
onChange: check,
|
|
158
|
+
disabled: disabled
|
|
136
159
|
});
|
|
137
160
|
};
|
|
138
161
|
|
package/es/HTableBody/hooks.d.ts
CHANGED
|
@@ -830,7 +830,7 @@ export declare const useCols: ({ configData, rowSelection, table }: HTableProps)
|
|
|
830
830
|
request?: import("@ant-design/pro-utils").ProFieldRequestData | undefined;
|
|
831
831
|
width?: number | undefined;
|
|
832
832
|
} | undefined) | undefined;
|
|
833
|
-
fieldProps?: (import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").
|
|
833
|
+
fieldProps?: (import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd").CheckboxProps | import("antd").RadioProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").RateProps | import("antd").ProgressProps | import("antd").InputNumberProps<string | number> | import("antd").AvatarProps | import("antd").SwitchProps | import("rc-image").ImageProps | import("antd").TreeSelectProps<any, import("rc-tree-select/lib/TreeSelect").DefaultOptionType> | (import("react-color").SketchPickerProps & {
|
|
834
834
|
value?: string | undefined;
|
|
835
835
|
popoverProps?: import("antd").PopoverProps | undefined;
|
|
836
836
|
mode?: "read" | "edit" | undefined;
|
|
@@ -1150,7 +1150,7 @@ export declare const useCols: ({ configData, rowSelection, table }: HTableProps)
|
|
|
1150
1150
|
rowKey?: string | undefined;
|
|
1151
1151
|
rowIndex: number;
|
|
1152
1152
|
entity: any;
|
|
1153
|
-
}) => import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").
|
|
1153
|
+
}) => import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd").CheckboxProps | import("antd").RadioProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").RateProps | import("antd").ProgressProps | import("antd").InputNumberProps<string | number> | import("antd").AvatarProps | import("antd").SwitchProps | import("rc-image").ImageProps | import("antd").TreeSelectProps<any, import("rc-tree-select/lib/TreeSelect").DefaultOptionType> | (import("react-color").SketchPickerProps & {
|
|
1154
1154
|
value?: string | undefined;
|
|
1155
1155
|
popoverProps?: import("antd").PopoverProps | undefined;
|
|
1156
1156
|
mode?: "read" | "edit" | undefined;
|
package/es/HTableBody/hooks.js
CHANGED
|
@@ -19,30 +19,36 @@ import { RowSelectionTitle, RowSelectionBox } from './RowSelection.js';
|
|
|
19
19
|
|
|
20
20
|
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; }
|
|
21
21
|
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; }
|
|
22
|
-
var rowSelectionCol = function rowSelectionCol(
|
|
22
|
+
var rowSelectionCol = function rowSelectionCol(rowSelection) {
|
|
23
|
+
var _ref = rowSelection || {},
|
|
24
|
+
allPageCheck = _ref.allPageCheck,
|
|
25
|
+
onChange = _ref.onChange,
|
|
26
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
23
27
|
return {
|
|
24
28
|
title: jsx(RowSelectionTitle, {
|
|
25
|
-
allPageCheck: allPageCheck
|
|
29
|
+
allPageCheck: allPageCheck,
|
|
30
|
+
onChange: onChange,
|
|
31
|
+
getCheckboxProps: getCheckboxProps
|
|
26
32
|
}),
|
|
27
33
|
dataIndex: "rowSelectionTitle",
|
|
28
34
|
width: 32,
|
|
29
35
|
render: function render(dom, data) {
|
|
30
36
|
return jsx(RowSelectionBox, {
|
|
31
|
-
data: data
|
|
37
|
+
data: data,
|
|
38
|
+
onChange: onChange,
|
|
39
|
+
getCheckboxProps: getCheckboxProps
|
|
32
40
|
});
|
|
33
41
|
}
|
|
34
42
|
};
|
|
35
43
|
};
|
|
36
|
-
var useCols = function useCols(
|
|
37
|
-
var configData =
|
|
38
|
-
rowSelection =
|
|
39
|
-
table =
|
|
44
|
+
var useCols = function useCols(_ref2) {
|
|
45
|
+
var configData = _ref2.configData,
|
|
46
|
+
rowSelection = _ref2.rowSelection,
|
|
47
|
+
table = _ref2.table;
|
|
40
48
|
return useMemo(function () {
|
|
41
49
|
var colsArray = _toConsumableArray(configData);
|
|
42
50
|
if (rowSelection !== false) {
|
|
43
|
-
|
|
44
|
-
allPageCheck = _ref2.allPageCheck;
|
|
45
|
-
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(allPageCheck));
|
|
51
|
+
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(rowSelection));
|
|
46
52
|
}
|
|
47
53
|
return _mapInstanceProperty(colsArray).call(colsArray, function (item) {
|
|
48
54
|
var _render = item.render;
|
|
@@ -55,7 +61,7 @@ var useCols = function useCols(_ref) {
|
|
|
55
61
|
}
|
|
56
62
|
});
|
|
57
63
|
});
|
|
58
|
-
}, [configData, table]);
|
|
64
|
+
}, [configData, table, rowSelection]);
|
|
59
65
|
};
|
|
60
66
|
var useSynchronousKeys = function useSynchronousKeys(_ref3) {
|
|
61
67
|
var selectedRowKeys = _ref3.selectedRowKeys,
|
package/es/HTableBody/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import type { ProTableProps } from "@ant-design/pro-table";
|
|
|
2
2
|
import type { ActionRenderFn, ConfigDataModal, ParamsModal } from "../modal";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import type { HTableInstance } from "../modal";
|
|
5
|
-
|
|
5
|
+
import type { HRowSelection } from "../modal";
|
|
6
|
+
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection"> {
|
|
6
7
|
configData?: ConfigDataModal;
|
|
7
8
|
onPageChange?: (params: ParamsModal) => void;
|
|
8
9
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
@@ -10,6 +11,7 @@ interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
|
10
11
|
tableStyle?: React.CSSProperties;
|
|
11
12
|
paginationStyle?: React.CSSProperties;
|
|
12
13
|
actionRender?: ActionRenderFn;
|
|
14
|
+
rowSelection?: HRowSelection;
|
|
13
15
|
}
|
|
14
16
|
declare const _default: ({ configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, tableStyle, paginationStyle, headerTitle, options, actionRender, ...props }: HTableBodyProps) => JSX.Element;
|
|
15
17
|
export default _default;
|
package/es/HTableBody/index.js
CHANGED
|
@@ -52,7 +52,6 @@ var Body = (function (_ref) {
|
|
|
52
52
|
actionRender = _ref.actionRender,
|
|
53
53
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
54
54
|
var selectedRowKeys = rowSelection.selectedRowKeys;
|
|
55
|
-
rowSelection.onChange;
|
|
56
55
|
var _useHTableContext = useHTableContext(),
|
|
57
56
|
tableInstance = _useHTableContext.tableInstance,
|
|
58
57
|
contextConfigData = _useHTableContext.configData,
|
package/es/modal.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { HItemProps, HFormInstance } from "@hw-component/form/es/Form/modal
|
|
|
4
4
|
import type { ColProps } from "antd";
|
|
5
5
|
import type React from "react";
|
|
6
6
|
import type { ModalProps } from "antd";
|
|
7
|
+
import type { TableProps } from "antd/lib/table";
|
|
7
8
|
export interface RowObj {
|
|
8
9
|
keys?: React.Key[];
|
|
9
10
|
rowData?: any[];
|
|
@@ -33,7 +34,9 @@ export type actionFn = (...arg: any[]) => void;
|
|
|
33
34
|
export interface RowSelectionOuter {
|
|
34
35
|
allPageCheck?: boolean;
|
|
35
36
|
}
|
|
36
|
-
export type HRowSelection = RowSelectionOuter &
|
|
37
|
+
export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
|
|
38
|
+
alwaysShowAlert?: boolean;
|
|
39
|
+
});
|
|
37
40
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowKey" | "rowSelection"> {
|
|
38
41
|
request?: (params: ParamsModal) => Promise<ResultModal>;
|
|
39
42
|
configData: ConfigDataModal;
|
|
@@ -55,7 +58,7 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "
|
|
|
55
58
|
paginationStyle?: React.CSSProperties;
|
|
56
59
|
rowKey?: string;
|
|
57
60
|
allPageCheck?: boolean;
|
|
58
|
-
rowSelection?: HRowSelection;
|
|
61
|
+
rowSelection?: HRowSelection | false;
|
|
59
62
|
}
|
|
60
63
|
export interface TableInstance {
|
|
61
64
|
reload: (params?: ParamsModal) => Promise<any>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export declare const RowSelectionTitle: ({ allPageCheck, }: IRowSelectionTitleProps) => JSX.Element;
|
|
1
|
+
import type { HRowSelection } from "../modal";
|
|
2
|
+
export declare const RowSelectionTitle: ({ allPageCheck, onChange, getCheckboxProps, }: HRowSelection) => JSX.Element;
|
|
5
3
|
interface RowSelectionBoxProps {
|
|
6
4
|
data: any;
|
|
5
|
+
onChange?: HRowSelection["onChange"];
|
|
6
|
+
getCheckboxProps?: HRowSelection["getCheckboxProps"];
|
|
7
7
|
}
|
|
8
|
-
export declare const RowSelectionBox: ({ data }: RowSelectionBoxProps) => JSX.Element;
|
|
8
|
+
export declare const RowSelectionBox: ({ data, onChange, getCheckboxProps, }: RowSelectionBoxProps) => JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
4
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/filter');
|
|
4
5
|
var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/keys');
|
|
5
6
|
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/map');
|
|
6
7
|
var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js/instance/index-of');
|
|
@@ -12,7 +13,9 @@ var React = require('react');
|
|
|
12
13
|
|
|
13
14
|
var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
14
15
|
var _ref$allPageCheck = _ref.allPageCheck,
|
|
15
|
-
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck
|
|
16
|
+
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
|
|
17
|
+
onChange = _ref.onChange,
|
|
18
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
16
19
|
var _useHTableContext = context.useHTableContext(),
|
|
17
20
|
data = _useHTableContext.data,
|
|
18
21
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
@@ -23,16 +26,24 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
23
26
|
var _ref2 = data || {},
|
|
24
27
|
_ref2$records = _ref2.records,
|
|
25
28
|
records = _ref2$records === void 0 ? [] : _ref2$records;
|
|
29
|
+
var newData = records === null || records === void 0 ? void 0 : _filterInstanceProperty(records).call(records, function (item) {
|
|
30
|
+
var _ref3 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
|
|
31
|
+
_ref3$disabled = _ref3.disabled,
|
|
32
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
|
|
33
|
+
return !disabled;
|
|
34
|
+
});
|
|
26
35
|
var keys = _keysInstanceProperty(selectedRowData),
|
|
27
36
|
selectAll = selectedRowData.selectAll;
|
|
28
37
|
var allCheck = function allCheck() {
|
|
29
|
-
var setKeys = _mapInstanceProperty(
|
|
38
|
+
var setKeys = _mapInstanceProperty(newData).call(newData, function (item) {
|
|
30
39
|
return item[rowKey];
|
|
31
40
|
});
|
|
32
|
-
rowOnChange(setKeys,
|
|
41
|
+
rowOnChange(setKeys, newData);
|
|
42
|
+
onChange === null || onChange === void 0 || onChange(setKeys, newData);
|
|
33
43
|
};
|
|
34
44
|
var allCancel = function allCancel() {
|
|
35
45
|
rowOnChange([], []);
|
|
46
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
36
47
|
};
|
|
37
48
|
var checkChange = function checkChange(e) {
|
|
38
49
|
var checked = e.target.checked;
|
|
@@ -42,8 +53,8 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
42
53
|
}
|
|
43
54
|
allCancel();
|
|
44
55
|
};
|
|
45
|
-
var change = function change(
|
|
46
|
-
var key =
|
|
56
|
+
var change = function change(_ref4) {
|
|
57
|
+
var key = _ref4.key;
|
|
47
58
|
if (key === "check") {
|
|
48
59
|
allCheck();
|
|
49
60
|
return;
|
|
@@ -54,12 +65,14 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
54
65
|
}
|
|
55
66
|
if (key === "checkAll") {
|
|
56
67
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
|
|
68
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
57
69
|
return;
|
|
58
70
|
}
|
|
59
71
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
|
|
72
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
60
73
|
};
|
|
61
74
|
var len = (keys === null || keys === void 0 ? void 0 : keys.length) || 0;
|
|
62
|
-
var dataLen = (
|
|
75
|
+
var dataLen = (newData === null || newData === void 0 ? void 0 : newData.length) || 0;
|
|
63
76
|
var checked = len === dataLen && len !== 0;
|
|
64
77
|
var configItems = React.useMemo(function () {
|
|
65
78
|
var fsArray = checked ? {
|
|
@@ -86,6 +99,7 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
86
99
|
});
|
|
87
100
|
};
|
|
88
101
|
var disabled = dataLen === 0;
|
|
102
|
+
console.log(dataLen, "dadada");
|
|
89
103
|
if (allPageCheck) {
|
|
90
104
|
return jsxRuntime.jsx(antd.Dropdown, {
|
|
91
105
|
overlay: menu,
|
|
@@ -105,8 +119,10 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
105
119
|
disabled: disabled
|
|
106
120
|
});
|
|
107
121
|
};
|
|
108
|
-
var RowSelectionBox = function RowSelectionBox(
|
|
109
|
-
var data =
|
|
122
|
+
var RowSelectionBox = function RowSelectionBox(_ref5) {
|
|
123
|
+
var data = _ref5.data,
|
|
124
|
+
onChange = _ref5.onChange,
|
|
125
|
+
getCheckboxProps = _ref5.getCheckboxProps;
|
|
110
126
|
var _useHTableContext2 = context.useHTableContext(),
|
|
111
127
|
selectedRowData = _useHTableContext2.selectedRowData,
|
|
112
128
|
rowOnChange = _useHTableContext2.rowOnChange,
|
|
@@ -125,15 +141,22 @@ var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
|
125
141
|
newKeys.push(key);
|
|
126
142
|
newRowData.push(data);
|
|
127
143
|
rowOnChange(newKeys, newRowData);
|
|
144
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
128
145
|
return;
|
|
129
146
|
}
|
|
130
147
|
var index = _indexOfInstanceProperty(newKeys).call(newKeys, key);
|
|
131
148
|
_spliceInstanceProperty(newKeys).call(newKeys, index, 1);
|
|
132
149
|
_spliceInstanceProperty(newRowData).call(newRowData, index, 1);
|
|
150
|
+
rowOnChange(newKeys, newRowData);
|
|
151
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
133
152
|
};
|
|
153
|
+
var _ref6 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
|
|
154
|
+
_ref6$disabled = _ref6.disabled,
|
|
155
|
+
disabled = _ref6$disabled === void 0 ? false : _ref6$disabled;
|
|
134
156
|
return jsxRuntime.jsx(antd.Checkbox, {
|
|
135
157
|
checked: _indexOfInstanceProperty(keys).call(keys, key) !== -1,
|
|
136
|
-
onChange: check
|
|
158
|
+
onChange: check,
|
|
159
|
+
disabled: disabled
|
|
137
160
|
});
|
|
138
161
|
};
|
|
139
162
|
|
|
@@ -830,7 +830,7 @@ export declare const useCols: ({ configData, rowSelection, table }: HTableProps)
|
|
|
830
830
|
request?: import("@ant-design/pro-utils").ProFieldRequestData | undefined;
|
|
831
831
|
width?: number | undefined;
|
|
832
832
|
} | undefined) | undefined;
|
|
833
|
-
fieldProps?: (import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").
|
|
833
|
+
fieldProps?: (import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd").CheckboxProps | import("antd").RadioProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").RateProps | import("antd").ProgressProps | import("antd").InputNumberProps<string | number> | import("antd").AvatarProps | import("antd").SwitchProps | import("rc-image").ImageProps | import("antd").TreeSelectProps<any, import("rc-tree-select/lib/TreeSelect").DefaultOptionType> | (import("react-color").SketchPickerProps & {
|
|
834
834
|
value?: string | undefined;
|
|
835
835
|
popoverProps?: import("antd").PopoverProps | undefined;
|
|
836
836
|
mode?: "read" | "edit" | undefined;
|
|
@@ -1150,7 +1150,7 @@ export declare const useCols: ({ configData, rowSelection, table }: HTableProps)
|
|
|
1150
1150
|
rowKey?: string | undefined;
|
|
1151
1151
|
rowIndex: number;
|
|
1152
1152
|
entity: any;
|
|
1153
|
-
}) => import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").
|
|
1153
|
+
}) => import("antd").CascaderProps<any> | Record<string, any> | import("antd").InputProps | import("antd").CheckboxProps | import("antd").RadioProps | import("antd/lib/input").PasswordProps | import("antd/lib/input").TextAreaProps | import("antd").DatePickerProps | import("antd/lib/date-picker").RangePickerProps | import("antd").TimeRangePickerProps | import("antd").SelectProps<any, import("rc-select/lib/Select").DefaultOptionType> | import("antd").RateProps | import("antd").ProgressProps | import("antd").InputNumberProps<string | number> | import("antd").AvatarProps | import("antd").SwitchProps | import("rc-image").ImageProps | import("antd").TreeSelectProps<any, import("rc-tree-select/lib/TreeSelect").DefaultOptionType> | (import("react-color").SketchPickerProps & {
|
|
1154
1154
|
value?: string | undefined;
|
|
1155
1155
|
popoverProps?: import("antd").PopoverProps | undefined;
|
|
1156
1156
|
mode?: "read" | "edit" | undefined;
|
package/lib/HTableBody/hooks.js
CHANGED
|
@@ -20,30 +20,36 @@ var RowSelection = require('./RowSelection.js');
|
|
|
20
20
|
|
|
21
21
|
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
22
|
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; }
|
|
23
|
-
var rowSelectionCol = function rowSelectionCol(
|
|
23
|
+
var rowSelectionCol = function rowSelectionCol(rowSelection) {
|
|
24
|
+
var _ref = rowSelection || {},
|
|
25
|
+
allPageCheck = _ref.allPageCheck,
|
|
26
|
+
onChange = _ref.onChange,
|
|
27
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
24
28
|
return {
|
|
25
29
|
title: jsxRuntime.jsx(RowSelection.RowSelectionTitle, {
|
|
26
|
-
allPageCheck: allPageCheck
|
|
30
|
+
allPageCheck: allPageCheck,
|
|
31
|
+
onChange: onChange,
|
|
32
|
+
getCheckboxProps: getCheckboxProps
|
|
27
33
|
}),
|
|
28
34
|
dataIndex: "rowSelectionTitle",
|
|
29
35
|
width: 32,
|
|
30
36
|
render: function render(dom, data) {
|
|
31
37
|
return jsxRuntime.jsx(RowSelection.RowSelectionBox, {
|
|
32
|
-
data: data
|
|
38
|
+
data: data,
|
|
39
|
+
onChange: onChange,
|
|
40
|
+
getCheckboxProps: getCheckboxProps
|
|
33
41
|
});
|
|
34
42
|
}
|
|
35
43
|
};
|
|
36
44
|
};
|
|
37
|
-
var useCols = function useCols(
|
|
38
|
-
var configData =
|
|
39
|
-
rowSelection =
|
|
40
|
-
table =
|
|
45
|
+
var useCols = function useCols(_ref2) {
|
|
46
|
+
var configData = _ref2.configData,
|
|
47
|
+
rowSelection = _ref2.rowSelection,
|
|
48
|
+
table = _ref2.table;
|
|
41
49
|
return React.useMemo(function () {
|
|
42
50
|
var colsArray = _toConsumableArray(configData);
|
|
43
51
|
if (rowSelection !== false) {
|
|
44
|
-
|
|
45
|
-
allPageCheck = _ref2.allPageCheck;
|
|
46
|
-
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(allPageCheck));
|
|
52
|
+
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(rowSelection));
|
|
47
53
|
}
|
|
48
54
|
return _mapInstanceProperty(colsArray).call(colsArray, function (item) {
|
|
49
55
|
var _render = item.render;
|
|
@@ -56,7 +62,7 @@ var useCols = function useCols(_ref) {
|
|
|
56
62
|
}
|
|
57
63
|
});
|
|
58
64
|
});
|
|
59
|
-
}, [configData, table]);
|
|
65
|
+
}, [configData, table, rowSelection]);
|
|
60
66
|
};
|
|
61
67
|
var useSynchronousKeys = function useSynchronousKeys(_ref3) {
|
|
62
68
|
var selectedRowKeys = _ref3.selectedRowKeys,
|
|
@@ -2,7 +2,8 @@ import type { ProTableProps } from "@ant-design/pro-table";
|
|
|
2
2
|
import type { ActionRenderFn, ConfigDataModal, ParamsModal } from "../modal";
|
|
3
3
|
import React from "react";
|
|
4
4
|
import type { HTableInstance } from "../modal";
|
|
5
|
-
|
|
5
|
+
import type { HRowSelection } from "../modal";
|
|
6
|
+
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection"> {
|
|
6
7
|
configData?: ConfigDataModal;
|
|
7
8
|
onPageChange?: (params: ParamsModal) => void;
|
|
8
9
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
@@ -10,6 +11,7 @@ interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
|
10
11
|
tableStyle?: React.CSSProperties;
|
|
11
12
|
paginationStyle?: React.CSSProperties;
|
|
12
13
|
actionRender?: ActionRenderFn;
|
|
14
|
+
rowSelection?: HRowSelection;
|
|
13
15
|
}
|
|
14
16
|
declare const _default: ({ configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, tableStyle, paginationStyle, headerTitle, options, actionRender, ...props }: HTableBodyProps) => JSX.Element;
|
|
15
17
|
export default _default;
|
package/lib/HTableBody/index.js
CHANGED
|
@@ -55,7 +55,6 @@ var Body = (function (_ref) {
|
|
|
55
55
|
actionRender = _ref.actionRender,
|
|
56
56
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
57
57
|
var selectedRowKeys = rowSelection.selectedRowKeys;
|
|
58
|
-
rowSelection.onChange;
|
|
59
58
|
var _useHTableContext = context.useHTableContext(),
|
|
60
59
|
tableInstance = _useHTableContext.tableInstance,
|
|
61
60
|
contextConfigData = _useHTableContext.configData,
|
package/lib/modal.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { HItemProps, HFormInstance } from "@hw-component/form/es/Form/modal
|
|
|
4
4
|
import type { ColProps } from "antd";
|
|
5
5
|
import type React from "react";
|
|
6
6
|
import type { ModalProps } from "antd";
|
|
7
|
+
import type { TableProps } from "antd/lib/table";
|
|
7
8
|
export interface RowObj {
|
|
8
9
|
keys?: React.Key[];
|
|
9
10
|
rowData?: any[];
|
|
@@ -33,7 +34,9 @@ export type actionFn = (...arg: any[]) => void;
|
|
|
33
34
|
export interface RowSelectionOuter {
|
|
34
35
|
allPageCheck?: boolean;
|
|
35
36
|
}
|
|
36
|
-
export type HRowSelection = RowSelectionOuter &
|
|
37
|
+
export type HRowSelection = RowSelectionOuter & (TableProps<any>["rowSelection"] & {
|
|
38
|
+
alwaysShowAlert?: boolean;
|
|
39
|
+
});
|
|
37
40
|
export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "dataSource" | "rowKey" | "rowSelection"> {
|
|
38
41
|
request?: (params: ParamsModal) => Promise<ResultModal>;
|
|
39
42
|
configData: ConfigDataModal;
|
|
@@ -55,7 +58,7 @@ export interface HTableProps extends Omit<ProTableProps<any, any>, "request" | "
|
|
|
55
58
|
paginationStyle?: React.CSSProperties;
|
|
56
59
|
rowKey?: string;
|
|
57
60
|
allPageCheck?: boolean;
|
|
58
|
-
rowSelection?: HRowSelection;
|
|
61
|
+
rowSelection?: HRowSelection | false;
|
|
59
62
|
}
|
|
60
63
|
export interface TableInstance {
|
|
61
64
|
reload: (params?: ParamsModal) => Promise<any>;
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useHTableContext } from "../context";
|
|
2
2
|
import { Checkbox, Dropdown, Menu } from "antd";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
-
|
|
5
|
-
allPageCheck?: boolean;
|
|
6
|
-
}
|
|
4
|
+
import type { HRowSelection } from "../modal";
|
|
7
5
|
export const RowSelectionTitle = ({
|
|
8
6
|
allPageCheck = true,
|
|
9
|
-
|
|
7
|
+
onChange,
|
|
8
|
+
getCheckboxProps,
|
|
9
|
+
}: HRowSelection) => {
|
|
10
10
|
const {
|
|
11
11
|
data,
|
|
12
12
|
selectedRowData,
|
|
@@ -15,15 +15,21 @@ export const RowSelectionTitle = ({
|
|
|
15
15
|
rowKey = "id",
|
|
16
16
|
} = useHTableContext();
|
|
17
17
|
const { records = [] } = data || {};
|
|
18
|
+
const newData = records?.filter((item) => {
|
|
19
|
+
const { disabled = false } = getCheckboxProps?.(data) || {};
|
|
20
|
+
return !disabled;
|
|
21
|
+
});
|
|
18
22
|
const { keys, selectAll } = selectedRowData;
|
|
19
23
|
const allCheck = () => {
|
|
20
|
-
const setKeys =
|
|
24
|
+
const setKeys = newData.map((item) => {
|
|
21
25
|
return item[rowKey];
|
|
22
26
|
});
|
|
23
|
-
rowOnChange(setKeys,
|
|
27
|
+
rowOnChange(setKeys, newData);
|
|
28
|
+
onChange?.(setKeys, newData);
|
|
24
29
|
};
|
|
25
30
|
const allCancel = () => {
|
|
26
31
|
rowOnChange([], []);
|
|
32
|
+
onChange?.([], []);
|
|
27
33
|
};
|
|
28
34
|
const checkChange = (e) => {
|
|
29
35
|
const checked = e.target.checked;
|
|
@@ -44,12 +50,14 @@ export const RowSelectionTitle = ({
|
|
|
44
50
|
}
|
|
45
51
|
if (key === "checkAll") {
|
|
46
52
|
allSelectChange?.(true);
|
|
53
|
+
onChange?.([], []);
|
|
47
54
|
return;
|
|
48
55
|
}
|
|
49
56
|
allSelectChange?.(false);
|
|
57
|
+
onChange?.([], []);
|
|
50
58
|
};
|
|
51
|
-
const len = keys?.length||0;
|
|
52
|
-
const dataLen=
|
|
59
|
+
const len = keys?.length || 0;
|
|
60
|
+
const dataLen = newData?.length || 0;
|
|
53
61
|
const checked = len === dataLen && len !== 0;
|
|
54
62
|
const configItems = useMemo(() => {
|
|
55
63
|
const fsArray = checked
|
|
@@ -73,25 +81,38 @@ export const RowSelectionTitle = ({
|
|
|
73
81
|
return [fsArray, enArray];
|
|
74
82
|
}, [checked, selectAll]);
|
|
75
83
|
|
|
76
|
-
const menu = ()=>{
|
|
77
|
-
const MenuEle=
|
|
78
|
-
return <MenuEle onClick={change} items={configItems}/>;
|
|
79
|
-
}
|
|
80
|
-
const disabled=dataLen===0;
|
|
84
|
+
const menu = () => {
|
|
85
|
+
const MenuEle = Menu as any;
|
|
86
|
+
return <MenuEle onClick={change} items={configItems} />;
|
|
87
|
+
};
|
|
88
|
+
const disabled = dataLen === 0;
|
|
89
|
+
console.log(dataLen, "dadada");
|
|
81
90
|
if (allPageCheck) {
|
|
82
91
|
return (
|
|
83
92
|
<Dropdown overlay={menu} arrow placement={"bottom"} disabled={disabled}>
|
|
84
|
-
<Checkbox
|
|
93
|
+
<Checkbox
|
|
94
|
+
checked={checked}
|
|
95
|
+
onChange={checkChange}
|
|
96
|
+
disabled={disabled}
|
|
97
|
+
/>
|
|
85
98
|
</Dropdown>
|
|
86
99
|
);
|
|
87
100
|
}
|
|
88
|
-
return
|
|
101
|
+
return (
|
|
102
|
+
<Checkbox checked={checked} onChange={checkChange} disabled={disabled} />
|
|
103
|
+
);
|
|
89
104
|
};
|
|
90
105
|
|
|
91
106
|
interface RowSelectionBoxProps {
|
|
92
107
|
data: any;
|
|
108
|
+
onChange?: HRowSelection["onChange"];
|
|
109
|
+
getCheckboxProps?: HRowSelection["getCheckboxProps"];
|
|
93
110
|
}
|
|
94
|
-
export const RowSelectionBox = ({
|
|
111
|
+
export const RowSelectionBox = ({
|
|
112
|
+
data,
|
|
113
|
+
onChange,
|
|
114
|
+
getCheckboxProps,
|
|
115
|
+
}: RowSelectionBoxProps) => {
|
|
95
116
|
const { selectedRowData, rowOnChange, rowKey = "id" } = useHTableContext();
|
|
96
117
|
const { rowData = [], keys = [] } = selectedRowData;
|
|
97
118
|
const key = data[rowKey];
|
|
@@ -103,11 +124,21 @@ export const RowSelectionBox = ({ data }: RowSelectionBoxProps) => {
|
|
|
103
124
|
newKeys.push(key);
|
|
104
125
|
newRowData.push(data);
|
|
105
126
|
rowOnChange(newKeys, newRowData);
|
|
127
|
+
onChange?.(newKeys, newRowData);
|
|
106
128
|
return;
|
|
107
129
|
}
|
|
108
130
|
const index = newKeys.indexOf(key);
|
|
109
131
|
newKeys.splice(index, 1);
|
|
110
132
|
newRowData.splice(index, 1);
|
|
133
|
+
rowOnChange(newKeys, newRowData);
|
|
134
|
+
onChange?.(newKeys, newRowData);
|
|
111
135
|
};
|
|
112
|
-
|
|
136
|
+
const { disabled = false } = getCheckboxProps?.(data) || {};
|
|
137
|
+
return (
|
|
138
|
+
<Checkbox
|
|
139
|
+
checked={keys.indexOf(key) !== -1}
|
|
140
|
+
onChange={check}
|
|
141
|
+
disabled={disabled}
|
|
142
|
+
/>
|
|
143
|
+
);
|
|
113
144
|
};
|
|
@@ -4,13 +4,27 @@ import { useEffect, useMemo } from "react";
|
|
|
4
4
|
import { useHTableContext } from "../context";
|
|
5
5
|
import type { GetRowKey } from "rc-table/lib/interface";
|
|
6
6
|
import { RowSelectionBox, RowSelectionTitle } from "./RowSelection";
|
|
7
|
-
|
|
7
|
+
import type { HRowSelection } from "../modal";
|
|
8
|
+
const rowSelectionCol = (rowSelection?: HRowSelection) => {
|
|
9
|
+
const { allPageCheck, onChange, getCheckboxProps } = rowSelection || {};
|
|
8
10
|
return {
|
|
9
|
-
title:
|
|
11
|
+
title: (
|
|
12
|
+
<RowSelectionTitle
|
|
13
|
+
allPageCheck={allPageCheck}
|
|
14
|
+
onChange={onChange}
|
|
15
|
+
getCheckboxProps={getCheckboxProps}
|
|
16
|
+
/>
|
|
17
|
+
),
|
|
10
18
|
dataIndex: "rowSelectionTitle",
|
|
11
19
|
width: 32,
|
|
12
20
|
render: (dom, data) => {
|
|
13
|
-
return
|
|
21
|
+
return (
|
|
22
|
+
<RowSelectionBox
|
|
23
|
+
data={data}
|
|
24
|
+
onChange={onChange}
|
|
25
|
+
getCheckboxProps={getCheckboxProps}
|
|
26
|
+
/>
|
|
27
|
+
);
|
|
14
28
|
},
|
|
15
29
|
};
|
|
16
30
|
};
|
|
@@ -18,8 +32,7 @@ export const useCols = ({ configData, rowSelection, table }: HTableProps) => {
|
|
|
18
32
|
return useMemo(() => {
|
|
19
33
|
const colsArray = [...configData];
|
|
20
34
|
if (rowSelection !== false) {
|
|
21
|
-
|
|
22
|
-
colsArray.splice(0, 0, rowSelectionCol(allPageCheck));
|
|
35
|
+
colsArray.splice(0, 0, rowSelectionCol(rowSelection));
|
|
23
36
|
}
|
|
24
37
|
return colsArray.map((item) => {
|
|
25
38
|
const { render } = item;
|
|
@@ -33,7 +46,7 @@ export const useCols = ({ configData, rowSelection, table }: HTableProps) => {
|
|
|
33
46
|
},
|
|
34
47
|
};
|
|
35
48
|
});
|
|
36
|
-
}, [configData, table]);
|
|
49
|
+
}, [configData, table, rowSelection]);
|
|
37
50
|
};
|
|
38
51
|
interface FilterKeysModal {
|
|
39
52
|
selectedRowKeys?: React.Key[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ProTableProps } from "@ant-design/pro-table";
|
|
2
2
|
import ProTable from "@ant-design/pro-table";
|
|
3
|
-
import type {ActionRenderFn, ConfigDataModal, ParamsModal} from "../modal";
|
|
3
|
+
import type { ActionRenderFn, ConfigDataModal, ParamsModal } from "../modal";
|
|
4
4
|
import { useCols, useSynchronousKeys } from "./hooks";
|
|
5
5
|
import { useHTableContext } from "../context";
|
|
6
6
|
import type { DetailedReactHTMLElement } from "react";
|
|
@@ -11,7 +11,9 @@ import { useHTableConfigContext } from "../TableConfig";
|
|
|
11
11
|
import HTablePagination from "../HTablePagination";
|
|
12
12
|
import { useClassName } from "../hooks";
|
|
13
13
|
import AlertMsg from "./AlertMsg";
|
|
14
|
-
|
|
14
|
+
import type { HRowSelection } from "../modal";
|
|
15
|
+
interface HTableBodyProps
|
|
16
|
+
extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection"> {
|
|
15
17
|
configData?: ConfigDataModal;
|
|
16
18
|
onPageChange?: (params: ParamsModal) => void;
|
|
17
19
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
@@ -21,7 +23,8 @@ interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
|
21
23
|
) => React.ReactNode;
|
|
22
24
|
tableStyle?: React.CSSProperties;
|
|
23
25
|
paginationStyle?: React.CSSProperties;
|
|
24
|
-
actionRender?:ActionRenderFn
|
|
26
|
+
actionRender?: ActionRenderFn;
|
|
27
|
+
rowSelection?: HRowSelection;
|
|
25
28
|
}
|
|
26
29
|
const defaultRender = () => {
|
|
27
30
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
|
|
@@ -43,11 +46,11 @@ export default ({
|
|
|
43
46
|
paginationStyle,
|
|
44
47
|
headerTitle,
|
|
45
48
|
options,
|
|
46
|
-
|
|
49
|
+
actionRender,
|
|
47
50
|
...props
|
|
48
51
|
}: HTableBodyProps) => {
|
|
49
52
|
// @ts-ignore
|
|
50
|
-
const { selectedRowKeys
|
|
53
|
+
const { selectedRowKeys } = rowSelection;
|
|
51
54
|
const {
|
|
52
55
|
tableInstance,
|
|
53
56
|
configData: contextConfigData,
|
|
@@ -97,7 +100,10 @@ export default ({
|
|
|
97
100
|
)}
|
|
98
101
|
{alwaysShowAlert && (
|
|
99
102
|
<div style={contentStyle}>
|
|
100
|
-
<Alert
|
|
103
|
+
<Alert
|
|
104
|
+
message={<AlertMsg actionRender={actionRender} />}
|
|
105
|
+
type="info"
|
|
106
|
+
/>
|
|
101
107
|
</div>
|
|
102
108
|
)}
|
|
103
109
|
<ProTable
|
|
@@ -12,7 +12,7 @@ const Index: React.FC<HTableProps> = ({
|
|
|
12
12
|
table,
|
|
13
13
|
action = {},
|
|
14
14
|
children,
|
|
15
|
-
|
|
15
|
+
rowKey,
|
|
16
16
|
...props
|
|
17
17
|
}) => {
|
|
18
18
|
const { run, loading, data, error, saveParams } = useReq({
|
|
@@ -57,7 +57,7 @@ const Index: React.FC<HTableProps> = ({
|
|
|
57
57
|
},
|
|
58
58
|
onPageChange: tableInstance.table.reloadWithParams,
|
|
59
59
|
setSelectedRowData,
|
|
60
|
-
|
|
60
|
+
rowKey,
|
|
61
61
|
}}
|
|
62
62
|
>
|
|
63
63
|
{children}
|
package/src/components/modal.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
import type { ColProps } from "antd";
|
|
8
8
|
import type React from "react";
|
|
9
9
|
import type { ModalProps } from "antd";
|
|
10
|
+
import type { TableProps } from "antd/lib/table";
|
|
10
11
|
|
|
11
12
|
export interface RowObj {
|
|
12
13
|
keys?: React.Key[];
|
|
@@ -57,7 +58,9 @@ export interface RowSelectionOuter {
|
|
|
57
58
|
allPageCheck?: boolean;
|
|
58
59
|
}
|
|
59
60
|
export type HRowSelection = RowSelectionOuter &
|
|
60
|
-
|
|
61
|
+
(TableProps<any>["rowSelection"] & {
|
|
62
|
+
alwaysShowAlert?: boolean;
|
|
63
|
+
});
|
|
61
64
|
export interface HTableProps
|
|
62
65
|
extends Omit<
|
|
63
66
|
ProTableProps<any, any>,
|
|
@@ -86,7 +89,7 @@ export interface HTableProps
|
|
|
86
89
|
paginationStyle?: React.CSSProperties;
|
|
87
90
|
rowKey?: string;
|
|
88
91
|
allPageCheck?: boolean;
|
|
89
|
-
rowSelection?: HRowSelection;
|
|
92
|
+
rowSelection?: HRowSelection | false;
|
|
90
93
|
}
|
|
91
94
|
export interface TableInstance {
|
|
92
95
|
reload: (params?: ParamsModal) => Promise<any>;
|
|
@@ -36,16 +36,14 @@ export default () => {
|
|
|
36
36
|
configData={configData}
|
|
37
37
|
rowKey={"id"}
|
|
38
38
|
table={hTable}
|
|
39
|
-
rowSelection={{
|
|
40
|
-
|
|
41
|
-
}}
|
|
39
|
+
rowSelection={{}}
|
|
42
40
|
options={{
|
|
43
41
|
reload: false,
|
|
44
42
|
setting: false,
|
|
45
43
|
density: false,
|
|
46
44
|
}}
|
|
47
|
-
actionRender={()=>{
|
|
48
|
-
return <Button>你大爷</Button
|
|
45
|
+
actionRender={() => {
|
|
46
|
+
return <Button>你大爷</Button>;
|
|
49
47
|
}}
|
|
50
48
|
headerTitle={<Button type={"primary"}>操作</Button>}
|
|
51
49
|
request={(params) => {
|
package/src/routes.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { Navigate } from "react-router-dom";
|
|
3
3
|
import Table from "./pages/Table";
|
|
4
4
|
import ModalTable from "./pages/ModalTable";
|
|
5
|
-
import TableCustomize from
|
|
5
|
+
import TableCustomize from "./pages/TableCustomize";
|
|
6
6
|
export interface RouteModal {
|
|
7
7
|
path?: string;
|
|
8
8
|
name?: string;
|