@hw-component/table 0.0.4-beta-v18 → 0.0.5-beta-v1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/HTableBody/RowSelection.d.ts +4 -5
- package/es/HTableBody/RowSelection.js +17 -4
- package/es/HTableBody/hooks.d.ts +2 -2
- package/es/HTableBody/hooks.js +11 -9
- package/es/HTableBody/index.d.ts +3 -1
- package/es/modal.d.ts +5 -2
- package/lib/HTableBody/RowSelection.d.ts +4 -5
- package/lib/HTableBody/RowSelection.js +17 -4
- package/lib/HTableBody/hooks.d.ts +2 -2
- package/lib/HTableBody/hooks.js +11 -9
- package/lib/HTableBody/index.d.ts +3 -1
- package/lib/modal.d.ts +5 -2
- package/package.json +1 -1
- package/src/components/HTableBody/RowSelection.tsx +16 -8
- package/src/components/HTableBody/hooks.tsx +5 -4
- package/src/components/HTableBody/index.tsx +3 -1
- package/src/components/modal.ts +5 -2
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export declare const RowSelectionTitle: ({ allPageCheck, }: IRowSelectionTitleProps) => JSX.Element;
|
|
1
|
+
import { HRowSelection } from "../modal";
|
|
2
|
+
export declare const RowSelectionTitle: ({ allPageCheck, onChange }: HRowSelection) => JSX.Element;
|
|
5
3
|
interface RowSelectionBoxProps {
|
|
6
4
|
data: any;
|
|
5
|
+
onChange?: HRowSelection["onChange"];
|
|
7
6
|
}
|
|
8
|
-
export declare const RowSelectionBox: ({ data }: RowSelectionBoxProps) => JSX.Element;
|
|
7
|
+
export declare const RowSelectionBox: ({ data, onChange }: RowSelectionBoxProps) => JSX.Element;
|
|
9
8
|
export {};
|
|
@@ -11,7 +11,8 @@ import { useMemo } from 'react';
|
|
|
11
11
|
|
|
12
12
|
var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
13
13
|
var _ref$allPageCheck = _ref.allPageCheck,
|
|
14
|
-
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck
|
|
14
|
+
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
|
|
15
|
+
onChange = _ref.onChange;
|
|
15
16
|
var _useHTableContext = useHTableContext(),
|
|
16
17
|
data = _useHTableContext.data,
|
|
17
18
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
@@ -29,9 +30,11 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
29
30
|
return item[rowKey];
|
|
30
31
|
});
|
|
31
32
|
rowOnChange(setKeys, records);
|
|
33
|
+
onChange === null || onChange === void 0 || onChange(setKeys, records);
|
|
32
34
|
};
|
|
33
35
|
var allCancel = function allCancel() {
|
|
34
36
|
rowOnChange([], []);
|
|
37
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
35
38
|
};
|
|
36
39
|
var checkChange = function checkChange(e) {
|
|
37
40
|
var checked = e.target.checked;
|
|
@@ -53,9 +56,11 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
53
56
|
}
|
|
54
57
|
if (key === "checkAll") {
|
|
55
58
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
|
|
59
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
56
60
|
return;
|
|
57
61
|
}
|
|
58
62
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
|
|
63
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
59
64
|
};
|
|
60
65
|
var len = (keys === null || keys === void 0 ? void 0 : keys.length) || 0;
|
|
61
66
|
var dataLen = (records === null || records === void 0 ? void 0 : records.length) || 0;
|
|
@@ -84,24 +89,29 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
84
89
|
items: configItems
|
|
85
90
|
});
|
|
86
91
|
};
|
|
92
|
+
var disabled = dataLen === 0;
|
|
87
93
|
if (allPageCheck) {
|
|
88
94
|
return jsx(Dropdown, {
|
|
89
95
|
overlay: menu,
|
|
90
96
|
arrow: true,
|
|
91
97
|
placement: "bottom",
|
|
98
|
+
disabled: disabled,
|
|
92
99
|
children: jsx(Checkbox, {
|
|
93
100
|
checked: checked,
|
|
94
|
-
onChange: checkChange
|
|
101
|
+
onChange: checkChange,
|
|
102
|
+
disabled: disabled
|
|
95
103
|
})
|
|
96
104
|
});
|
|
97
105
|
}
|
|
98
106
|
return jsx(Checkbox, {
|
|
99
107
|
checked: checked,
|
|
100
|
-
onChange: checkChange
|
|
108
|
+
onChange: checkChange,
|
|
109
|
+
disabled: disabled
|
|
101
110
|
});
|
|
102
111
|
};
|
|
103
112
|
var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
104
|
-
var data = _ref4.data
|
|
113
|
+
var data = _ref4.data,
|
|
114
|
+
onChange = _ref4.onChange;
|
|
105
115
|
var _useHTableContext2 = useHTableContext(),
|
|
106
116
|
selectedRowData = _useHTableContext2.selectedRowData,
|
|
107
117
|
rowOnChange = _useHTableContext2.rowOnChange,
|
|
@@ -120,11 +130,14 @@ var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
|
120
130
|
newKeys.push(key);
|
|
121
131
|
newRowData.push(data);
|
|
122
132
|
rowOnChange(newKeys, newRowData);
|
|
133
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
123
134
|
return;
|
|
124
135
|
}
|
|
125
136
|
var index = _indexOfInstanceProperty(newKeys).call(newKeys, key);
|
|
126
137
|
_spliceInstanceProperty(newKeys).call(newKeys, index, 1);
|
|
127
138
|
_spliceInstanceProperty(newRowData).call(newRowData, index, 1);
|
|
139
|
+
rowOnChange(newKeys, newRowData);
|
|
140
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
128
141
|
};
|
|
129
142
|
return jsx(Checkbox, {
|
|
130
143
|
checked: _indexOfInstanceProperty(keys).call(keys, key) !== -1,
|
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,10 +19,14 @@ 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;
|
|
23
26
|
return {
|
|
24
27
|
title: jsx(RowSelectionTitle, {
|
|
25
|
-
allPageCheck: allPageCheck
|
|
28
|
+
allPageCheck: allPageCheck,
|
|
29
|
+
onChange: onChange
|
|
26
30
|
}),
|
|
27
31
|
dataIndex: "rowSelectionTitle",
|
|
28
32
|
width: 32,
|
|
@@ -33,16 +37,14 @@ var rowSelectionCol = function rowSelectionCol(allPageCheck) {
|
|
|
33
37
|
}
|
|
34
38
|
};
|
|
35
39
|
};
|
|
36
|
-
var useCols = function useCols(
|
|
37
|
-
var configData =
|
|
38
|
-
rowSelection =
|
|
39
|
-
table =
|
|
40
|
+
var useCols = function useCols(_ref2) {
|
|
41
|
+
var configData = _ref2.configData,
|
|
42
|
+
rowSelection = _ref2.rowSelection,
|
|
43
|
+
table = _ref2.table;
|
|
40
44
|
return useMemo(function () {
|
|
41
45
|
var colsArray = _toConsumableArray(configData);
|
|
42
46
|
if (rowSelection !== false) {
|
|
43
|
-
|
|
44
|
-
allPageCheck = _ref2.allPageCheck;
|
|
45
|
-
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(allPageCheck));
|
|
47
|
+
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(rowSelection));
|
|
46
48
|
}
|
|
47
49
|
return _mapInstanceProperty(colsArray).call(colsArray, function (item) {
|
|
48
50
|
var _render = item.render;
|
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 { 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/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 { 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,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
export declare const RowSelectionTitle: ({ allPageCheck, }: IRowSelectionTitleProps) => JSX.Element;
|
|
1
|
+
import { HRowSelection } from "../modal";
|
|
2
|
+
export declare const RowSelectionTitle: ({ allPageCheck, onChange }: HRowSelection) => JSX.Element;
|
|
5
3
|
interface RowSelectionBoxProps {
|
|
6
4
|
data: any;
|
|
5
|
+
onChange?: HRowSelection["onChange"];
|
|
7
6
|
}
|
|
8
|
-
export declare const RowSelectionBox: ({ data }: RowSelectionBoxProps) => JSX.Element;
|
|
7
|
+
export declare const RowSelectionBox: ({ data, onChange }: RowSelectionBoxProps) => JSX.Element;
|
|
9
8
|
export {};
|
|
@@ -12,7 +12,8 @@ var React = require('react');
|
|
|
12
12
|
|
|
13
13
|
var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
14
14
|
var _ref$allPageCheck = _ref.allPageCheck,
|
|
15
|
-
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck
|
|
15
|
+
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
|
|
16
|
+
onChange = _ref.onChange;
|
|
16
17
|
var _useHTableContext = context.useHTableContext(),
|
|
17
18
|
data = _useHTableContext.data,
|
|
18
19
|
selectedRowData = _useHTableContext.selectedRowData,
|
|
@@ -30,9 +31,11 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
30
31
|
return item[rowKey];
|
|
31
32
|
});
|
|
32
33
|
rowOnChange(setKeys, records);
|
|
34
|
+
onChange === null || onChange === void 0 || onChange(setKeys, records);
|
|
33
35
|
};
|
|
34
36
|
var allCancel = function allCancel() {
|
|
35
37
|
rowOnChange([], []);
|
|
38
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
36
39
|
};
|
|
37
40
|
var checkChange = function checkChange(e) {
|
|
38
41
|
var checked = e.target.checked;
|
|
@@ -54,9 +57,11 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
54
57
|
}
|
|
55
58
|
if (key === "checkAll") {
|
|
56
59
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
|
|
60
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
57
61
|
return;
|
|
58
62
|
}
|
|
59
63
|
allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
|
|
64
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
60
65
|
};
|
|
61
66
|
var len = (keys === null || keys === void 0 ? void 0 : keys.length) || 0;
|
|
62
67
|
var dataLen = (records === null || records === void 0 ? void 0 : records.length) || 0;
|
|
@@ -85,24 +90,29 @@ var RowSelectionTitle = function RowSelectionTitle(_ref) {
|
|
|
85
90
|
items: configItems
|
|
86
91
|
});
|
|
87
92
|
};
|
|
93
|
+
var disabled = dataLen === 0;
|
|
88
94
|
if (allPageCheck) {
|
|
89
95
|
return jsxRuntime.jsx(antd.Dropdown, {
|
|
90
96
|
overlay: menu,
|
|
91
97
|
arrow: true,
|
|
92
98
|
placement: "bottom",
|
|
99
|
+
disabled: disabled,
|
|
93
100
|
children: jsxRuntime.jsx(antd.Checkbox, {
|
|
94
101
|
checked: checked,
|
|
95
|
-
onChange: checkChange
|
|
102
|
+
onChange: checkChange,
|
|
103
|
+
disabled: disabled
|
|
96
104
|
})
|
|
97
105
|
});
|
|
98
106
|
}
|
|
99
107
|
return jsxRuntime.jsx(antd.Checkbox, {
|
|
100
108
|
checked: checked,
|
|
101
|
-
onChange: checkChange
|
|
109
|
+
onChange: checkChange,
|
|
110
|
+
disabled: disabled
|
|
102
111
|
});
|
|
103
112
|
};
|
|
104
113
|
var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
105
|
-
var data = _ref4.data
|
|
114
|
+
var data = _ref4.data,
|
|
115
|
+
onChange = _ref4.onChange;
|
|
106
116
|
var _useHTableContext2 = context.useHTableContext(),
|
|
107
117
|
selectedRowData = _useHTableContext2.selectedRowData,
|
|
108
118
|
rowOnChange = _useHTableContext2.rowOnChange,
|
|
@@ -121,11 +131,14 @@ var RowSelectionBox = function RowSelectionBox(_ref4) {
|
|
|
121
131
|
newKeys.push(key);
|
|
122
132
|
newRowData.push(data);
|
|
123
133
|
rowOnChange(newKeys, newRowData);
|
|
134
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
124
135
|
return;
|
|
125
136
|
}
|
|
126
137
|
var index = _indexOfInstanceProperty(newKeys).call(newKeys, key);
|
|
127
138
|
_spliceInstanceProperty(newKeys).call(newKeys, index, 1);
|
|
128
139
|
_spliceInstanceProperty(newRowData).call(newRowData, index, 1);
|
|
140
|
+
rowOnChange(newKeys, newRowData);
|
|
141
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
129
142
|
};
|
|
130
143
|
return jsxRuntime.jsx(antd.Checkbox, {
|
|
131
144
|
checked: _indexOfInstanceProperty(keys).call(keys, key) !== -1,
|
|
@@ -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,10 +20,14 @@ 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;
|
|
24
27
|
return {
|
|
25
28
|
title: jsxRuntime.jsx(RowSelection.RowSelectionTitle, {
|
|
26
|
-
allPageCheck: allPageCheck
|
|
29
|
+
allPageCheck: allPageCheck,
|
|
30
|
+
onChange: onChange
|
|
27
31
|
}),
|
|
28
32
|
dataIndex: "rowSelectionTitle",
|
|
29
33
|
width: 32,
|
|
@@ -34,16 +38,14 @@ var rowSelectionCol = function rowSelectionCol(allPageCheck) {
|
|
|
34
38
|
}
|
|
35
39
|
};
|
|
36
40
|
};
|
|
37
|
-
var useCols = function useCols(
|
|
38
|
-
var configData =
|
|
39
|
-
rowSelection =
|
|
40
|
-
table =
|
|
41
|
+
var useCols = function useCols(_ref2) {
|
|
42
|
+
var configData = _ref2.configData,
|
|
43
|
+
rowSelection = _ref2.rowSelection,
|
|
44
|
+
table = _ref2.table;
|
|
41
45
|
return React.useMemo(function () {
|
|
42
46
|
var colsArray = _toConsumableArray(configData);
|
|
43
47
|
if (rowSelection !== false) {
|
|
44
|
-
|
|
45
|
-
allPageCheck = _ref2.allPageCheck;
|
|
46
|
-
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(allPageCheck));
|
|
48
|
+
_spliceInstanceProperty(colsArray).call(colsArray, 0, 0, rowSelectionCol(rowSelection));
|
|
47
49
|
}
|
|
48
50
|
return _mapInstanceProperty(colsArray).call(colsArray, function (item) {
|
|
49
51
|
var _render = item.render;
|
|
@@ -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 { 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/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 { 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,11 @@
|
|
|
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 {HRowSelection} from "../modal";
|
|
7
5
|
export const RowSelectionTitle = ({
|
|
8
6
|
allPageCheck = true,
|
|
9
|
-
|
|
7
|
+
onChange
|
|
8
|
+
}: HRowSelection) => {
|
|
10
9
|
const {
|
|
11
10
|
data,
|
|
12
11
|
selectedRowData,
|
|
@@ -21,9 +20,11 @@ export const RowSelectionTitle = ({
|
|
|
21
20
|
return item[rowKey];
|
|
22
21
|
});
|
|
23
22
|
rowOnChange(setKeys, records);
|
|
23
|
+
onChange?.(setKeys,records);
|
|
24
24
|
};
|
|
25
25
|
const allCancel = () => {
|
|
26
26
|
rowOnChange([], []);
|
|
27
|
+
onChange?.([],[]);
|
|
27
28
|
};
|
|
28
29
|
const checkChange = (e) => {
|
|
29
30
|
const checked = e.target.checked;
|
|
@@ -44,9 +45,11 @@ export const RowSelectionTitle = ({
|
|
|
44
45
|
}
|
|
45
46
|
if (key === "checkAll") {
|
|
46
47
|
allSelectChange?.(true);
|
|
48
|
+
onChange?.([],[]);
|
|
47
49
|
return;
|
|
48
50
|
}
|
|
49
51
|
allSelectChange?.(false);
|
|
52
|
+
onChange?.([],[]);
|
|
50
53
|
};
|
|
51
54
|
const len = keys?.length||0;
|
|
52
55
|
const dataLen=records?.length||0;
|
|
@@ -77,20 +80,22 @@ export const RowSelectionTitle = ({
|
|
|
77
80
|
const MenuEle=(Menu as any);
|
|
78
81
|
return <MenuEle onClick={change} items={configItems}/>;
|
|
79
82
|
}
|
|
83
|
+
const disabled=dataLen===0;
|
|
80
84
|
if (allPageCheck) {
|
|
81
85
|
return (
|
|
82
|
-
<Dropdown overlay={menu} arrow placement={"bottom"}>
|
|
83
|
-
<Checkbox checked={checked} onChange={checkChange} />
|
|
86
|
+
<Dropdown overlay={menu} arrow placement={"bottom"} disabled={disabled}>
|
|
87
|
+
<Checkbox checked={checked} onChange={checkChange} disabled={disabled}/>
|
|
84
88
|
</Dropdown>
|
|
85
89
|
);
|
|
86
90
|
}
|
|
87
|
-
return <Checkbox checked={checked} onChange={checkChange} />;
|
|
91
|
+
return <Checkbox checked={checked} onChange={checkChange} disabled={disabled}/>;
|
|
88
92
|
};
|
|
89
93
|
|
|
90
94
|
interface RowSelectionBoxProps {
|
|
91
95
|
data: any;
|
|
96
|
+
onChange?:HRowSelection["onChange"]
|
|
92
97
|
}
|
|
93
|
-
export const RowSelectionBox = ({ data }: RowSelectionBoxProps) => {
|
|
98
|
+
export const RowSelectionBox = ({ data ,onChange}: RowSelectionBoxProps) => {
|
|
94
99
|
const { selectedRowData, rowOnChange, rowKey = "id" } = useHTableContext();
|
|
95
100
|
const { rowData = [], keys = [] } = selectedRowData;
|
|
96
101
|
const key = data[rowKey];
|
|
@@ -102,11 +107,14 @@ export const RowSelectionBox = ({ data }: RowSelectionBoxProps) => {
|
|
|
102
107
|
newKeys.push(key);
|
|
103
108
|
newRowData.push(data);
|
|
104
109
|
rowOnChange(newKeys, newRowData);
|
|
110
|
+
onChange?.(newKeys,newRowData);
|
|
105
111
|
return;
|
|
106
112
|
}
|
|
107
113
|
const index = newKeys.indexOf(key);
|
|
108
114
|
newKeys.splice(index, 1);
|
|
109
115
|
newRowData.splice(index, 1);
|
|
116
|
+
rowOnChange(newKeys, newRowData);
|
|
117
|
+
onChange?.(newKeys,newRowData);
|
|
110
118
|
};
|
|
111
119
|
return <Checkbox checked={keys.indexOf(key) !== -1} onChange={check} />;
|
|
112
120
|
};
|
|
@@ -4,9 +4,11 @@ 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 {HRowSelection} from "../modal";
|
|
8
|
+
const rowSelectionCol = (rowSelection?:HRowSelection) => {
|
|
9
|
+
const { allPageCheck ,onChange} = rowSelection || {};
|
|
8
10
|
return {
|
|
9
|
-
title: <RowSelectionTitle allPageCheck={allPageCheck} />,
|
|
11
|
+
title: <RowSelectionTitle allPageCheck={allPageCheck} onChange={onChange}/>,
|
|
10
12
|
dataIndex: "rowSelectionTitle",
|
|
11
13
|
width: 32,
|
|
12
14
|
render: (dom, data) => {
|
|
@@ -18,8 +20,7 @@ export const useCols = ({ configData, rowSelection, table }: HTableProps) => {
|
|
|
18
20
|
return useMemo(() => {
|
|
19
21
|
const colsArray = [...configData];
|
|
20
22
|
if (rowSelection !== false) {
|
|
21
|
-
|
|
22
|
-
colsArray.splice(0, 0, rowSelectionCol(allPageCheck));
|
|
23
|
+
colsArray.splice(0, 0, rowSelectionCol(rowSelection));
|
|
23
24
|
}
|
|
24
25
|
return colsArray.map((item) => {
|
|
25
26
|
const { render } = item;
|
|
@@ -11,7 +11,8 @@ 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 {HRowSelection} from "../modal";
|
|
15
|
+
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"|"rowSelection"> {
|
|
15
16
|
configData?: ConfigDataModal;
|
|
16
17
|
onPageChange?: (params: ParamsModal) => void;
|
|
17
18
|
emptyRender?: (tableInstance: HTableInstance) => React.ReactNode;
|
|
@@ -22,6 +23,7 @@ interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
|
22
23
|
tableStyle?: React.CSSProperties;
|
|
23
24
|
paginationStyle?: React.CSSProperties;
|
|
24
25
|
actionRender?:ActionRenderFn
|
|
26
|
+
rowSelection?:HRowSelection
|
|
25
27
|
}
|
|
26
28
|
const defaultRender = () => {
|
|
27
29
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
|
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 {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>;
|