@hw-component/table 1.9.62 → 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.
- package/.eslintcache +1 -1
- package/es/HTableBody/RowCheckBox/RowItem.d.ts +10 -0
- package/es/HTableBody/RowCheckBox/RowItem.js +62 -0
- package/es/HTableBody/RowCheckBox/Title.d.ts +4 -0
- package/es/HTableBody/RowCheckBox/Title.js +81 -0
- package/es/HTableBody/RowCheckBox/hooks.d.ts +9 -0
- package/es/HTableBody/RowCheckBox/hooks.js +73 -0
- package/es/HTableBody/hooks/colsMk.js +2 -1
- package/lib/HTableBody/RowCheckBox/RowItem.d.ts +10 -0
- package/lib/HTableBody/RowCheckBox/RowItem.js +65 -0
- package/lib/HTableBody/RowCheckBox/Title.d.ts +4 -0
- package/lib/HTableBody/RowCheckBox/Title.js +84 -0
- package/lib/HTableBody/RowCheckBox/hooks.d.ts +9 -0
- package/lib/HTableBody/RowCheckBox/hooks.js +75 -0
- package/lib/HTableBody/hooks/colsMk.js +4 -3
- package/package.json +1 -1
- package/src/components/HTableBody/RowCheckBox/RowItem.tsx +49 -0
- package/src/components/HTableBody/RowCheckBox/Title.tsx +66 -0
- package/src/components/HTableBody/RowCheckBox/hooks.ts +64 -0
- package/src/components/HTableBody/hooks/colsMk.tsx +2 -2
- package/src/pages/DwTable/index.tsx +7 -2
- package/src/pages/Table/index.tsx +0 -2
- package/es/HTableBody/RowCheckBoxSelection.d.ts +0 -11
- package/es/HTableBody/RowCheckBoxSelection.js +0 -172
- package/lib/HTableBody/RowCheckBoxSelection.d.ts +0 -11
- package/lib/HTableBody/RowCheckBoxSelection.js +0 -174
- package/src/components/HTableBody/RowCheckBoxSelection.tsx +0 -151
|
@@ -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,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
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// welcome to hoo hoo hoo
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { RowCheckBoxSelectionTitle, RowCheckBoxSelection } from '../RowCheckBoxSelection.js';
|
|
4
3
|
import { RowRadioSelection } from '../RowRadioBoxSelection.js';
|
|
4
|
+
import RowCheckBoxSelectionTitle from '../RowCheckBox/Title.js';
|
|
5
|
+
import RowCheckBoxSelection from '../RowCheckBox/RowItem.js';
|
|
5
6
|
|
|
6
7
|
var checkBoxSelectionCol = function checkBoxSelectionCol(rowSelection) {
|
|
7
8
|
var allPageCheck = rowSelection.allPageCheck,
|
|
@@ -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,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _toConsumableArray = require('@babel/runtime-corejs3/helpers/toConsumableArray');
|
|
6
|
+
var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
|
|
7
|
+
var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
8
|
+
var _spliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/splice');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
var context = require('../../context.js');
|
|
11
|
+
var antd = require('antd');
|
|
12
|
+
|
|
13
|
+
var RowCheckBoxSelection = (function (_ref) {
|
|
14
|
+
var data = _ref.data,
|
|
15
|
+
onChange = _ref.onChange,
|
|
16
|
+
index = _ref.index,
|
|
17
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
18
|
+
var _useHTableContext = context.useHTableContext(),
|
|
19
|
+
selectedRowData = _useHTableContext.selectedRowData,
|
|
20
|
+
rowOnChange = _useHTableContext.rowOnChange,
|
|
21
|
+
_useHTableContext$row = _useHTableContext.rowKey,
|
|
22
|
+
rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
|
|
23
|
+
var _selectedRowData$rowD = selectedRowData.rowData,
|
|
24
|
+
rowData = _selectedRowData$rowD === void 0 ? [] : _selectedRowData$rowD,
|
|
25
|
+
_selectedRowData$keys = _keysInstanceProperty(selectedRowData),
|
|
26
|
+
keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys;
|
|
27
|
+
var key = typeof rowKey === "function" ? rowKey(data, index) : data[rowKey];
|
|
28
|
+
var add = function add() {
|
|
29
|
+
var newKeys = _toConsumableArray(keys);
|
|
30
|
+
var newRowData = _toConsumableArray(rowData);
|
|
31
|
+
newKeys.push(key);
|
|
32
|
+
newRowData.push(data);
|
|
33
|
+
rowOnChange(newKeys, newRowData);
|
|
34
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
35
|
+
};
|
|
36
|
+
var cancel = function cancel() {
|
|
37
|
+
var newKeys = _toConsumableArray(keys);
|
|
38
|
+
var newRowData = _toConsumableArray(rowData);
|
|
39
|
+
var keyIndex = _indexOfInstanceProperty(newKeys).call(newKeys, key);
|
|
40
|
+
_spliceInstanceProperty(newKeys).call(newKeys, keyIndex, 1);
|
|
41
|
+
_spliceInstanceProperty(newRowData).call(newRowData, keyIndex, 1);
|
|
42
|
+
rowOnChange(newKeys, newRowData);
|
|
43
|
+
onChange === null || onChange === void 0 || onChange(newKeys, newRowData);
|
|
44
|
+
};
|
|
45
|
+
var check = function check(e) {
|
|
46
|
+
var checked = e.target.checked;
|
|
47
|
+
if (checked) {
|
|
48
|
+
add();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
cancel();
|
|
52
|
+
};
|
|
53
|
+
var _ref2 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(data)) || {},
|
|
54
|
+
_ref2$disabled = _ref2.disabled,
|
|
55
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;
|
|
56
|
+
var checked = _indexOfInstanceProperty(keys).call(keys, key) !== -1;
|
|
57
|
+
return jsxRuntime.jsx(antd.Checkbox, {
|
|
58
|
+
checked: checked,
|
|
59
|
+
onChange: check,
|
|
60
|
+
disabled: disabled
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
exports.default = RowCheckBoxSelection;
|
|
65
|
+
// powered by h
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
6
|
+
var _keysInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/keys');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
var context = require('../../context.js');
|
|
9
|
+
var React = require('react');
|
|
10
|
+
var antd = require('antd');
|
|
11
|
+
var hooks = require('./hooks.js');
|
|
12
|
+
|
|
13
|
+
var RowCheckBoxSelectionTitle = (function (_ref) {
|
|
14
|
+
var _ref$allPageCheck = _ref.allPageCheck,
|
|
15
|
+
allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck,
|
|
16
|
+
onChange = _ref.onChange,
|
|
17
|
+
getCheckboxProps = _ref.getCheckboxProps;
|
|
18
|
+
var _useHTableContext = context.useHTableContext(),
|
|
19
|
+
data = _useHTableContext.data,
|
|
20
|
+
selectedRowData = _useHTableContext.selectedRowData;
|
|
21
|
+
_useHTableContext.rowKey;
|
|
22
|
+
var _ref2 = data || {},
|
|
23
|
+
_ref2$records = _ref2.records,
|
|
24
|
+
records = _ref2$records === void 0 ? [] : _ref2$records;
|
|
25
|
+
var newData = records === null || records === void 0 ? void 0 : _filterInstanceProperty(records).call(records, function (item) {
|
|
26
|
+
var _ref3 = (getCheckboxProps === null || getCheckboxProps === void 0 ? void 0 : getCheckboxProps(item)) || {},
|
|
27
|
+
_ref3$disabled = _ref3.disabled,
|
|
28
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
|
|
29
|
+
return !disabled;
|
|
30
|
+
});
|
|
31
|
+
var keys = _keysInstanceProperty(selectedRowData),
|
|
32
|
+
selectAll = selectedRowData.selectAll;
|
|
33
|
+
var _useCheckControl = hooks.useCheckControl(newData, onChange),
|
|
34
|
+
checkChange = _useCheckControl.checkChange,
|
|
35
|
+
menuClick = _useCheckControl.menuClick;
|
|
36
|
+
var dataLen = (newData === null || newData === void 0 ? void 0 : newData.length) || 0;
|
|
37
|
+
var checked = hooks.useAllChecked(keys, newData);
|
|
38
|
+
var configItems = React.useMemo(function () {
|
|
39
|
+
var fsArray = checked ? {
|
|
40
|
+
label: "取消此页数据",
|
|
41
|
+
key: "cancel"
|
|
42
|
+
} : {
|
|
43
|
+
label: "选择此页数据",
|
|
44
|
+
key: "check"
|
|
45
|
+
};
|
|
46
|
+
var enArray = selectAll ? {
|
|
47
|
+
label: "取消全部数据",
|
|
48
|
+
key: "cancelAll"
|
|
49
|
+
} : {
|
|
50
|
+
label: "选择全部数据",
|
|
51
|
+
key: "checkAll"
|
|
52
|
+
};
|
|
53
|
+
return [fsArray, enArray];
|
|
54
|
+
}, [checked, selectAll]);
|
|
55
|
+
var menu = function menu() {
|
|
56
|
+
var MenuEle = antd.Menu;
|
|
57
|
+
return jsxRuntime.jsx(MenuEle, {
|
|
58
|
+
onClick: menuClick,
|
|
59
|
+
items: configItems
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
var disabled = dataLen === 0;
|
|
63
|
+
if (allPageCheck) {
|
|
64
|
+
return jsxRuntime.jsx(antd.Dropdown, {
|
|
65
|
+
overlay: menu,
|
|
66
|
+
arrow: true,
|
|
67
|
+
placement: "bottom",
|
|
68
|
+
disabled: disabled,
|
|
69
|
+
children: jsxRuntime.jsx(antd.Checkbox, {
|
|
70
|
+
checked: checked,
|
|
71
|
+
onChange: checkChange,
|
|
72
|
+
disabled: disabled
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return jsxRuntime.jsx(antd.Checkbox, {
|
|
77
|
+
checked: checked,
|
|
78
|
+
onChange: checkChange,
|
|
79
|
+
disabled: disabled
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
exports.default = RowCheckBoxSelectionTitle;
|
|
84
|
+
// powered by h
|
|
@@ -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,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
4
|
+
var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
5
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
6
|
+
var context = require('../../context.js');
|
|
7
|
+
|
|
8
|
+
var getRowKey = function getRowKey(item, index, rowKey) {
|
|
9
|
+
return typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
|
|
10
|
+
};
|
|
11
|
+
var useAllChecked = function useAllChecked() {
|
|
12
|
+
var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
13
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
14
|
+
var _useHTableContext = context.useHTableContext(),
|
|
15
|
+
_useHTableContext$row = _useHTableContext.rowKey,
|
|
16
|
+
rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
|
|
17
|
+
return _everyInstanceProperty(data).call(data, function (item, index) {
|
|
18
|
+
var itemKey = getRowKey(item, index, rowKey);
|
|
19
|
+
return _indexOfInstanceProperty(keys).call(keys, itemKey) !== -1;
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var useCheckControl = function useCheckControl() {
|
|
23
|
+
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
24
|
+
var onChange = arguments.length > 1 ? arguments[1] : undefined;
|
|
25
|
+
var _useHTableContext2 = context.useHTableContext(),
|
|
26
|
+
rowOnChange = _useHTableContext2.rowOnChange,
|
|
27
|
+
_useHTableContext2$ro = _useHTableContext2.rowKey,
|
|
28
|
+
rowKey = _useHTableContext2$ro === void 0 ? "id" : _useHTableContext2$ro,
|
|
29
|
+
allSelectChange = _useHTableContext2.allSelectChange;
|
|
30
|
+
var allCheck = function allCheck() {
|
|
31
|
+
var setKeys = _mapInstanceProperty(data).call(data, function (item, index) {
|
|
32
|
+
return getRowKey(item, index, rowKey);
|
|
33
|
+
});
|
|
34
|
+
rowOnChange(setKeys, data);
|
|
35
|
+
onChange === null || onChange === void 0 || onChange(setKeys, data);
|
|
36
|
+
};
|
|
37
|
+
var allCancel = function allCancel() {
|
|
38
|
+
rowOnChange([], []);
|
|
39
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
40
|
+
};
|
|
41
|
+
var checkChange = function checkChange(e) {
|
|
42
|
+
var checked = e.target.checked;
|
|
43
|
+
if (checked) {
|
|
44
|
+
allCheck();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
allCancel();
|
|
48
|
+
};
|
|
49
|
+
var menuClick = function menuClick(_ref) {
|
|
50
|
+
var key = _ref.key;
|
|
51
|
+
if (key === "check") {
|
|
52
|
+
allCheck();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (key === "cancel") {
|
|
56
|
+
allCancel();
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (key === "checkAll") {
|
|
60
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
|
|
61
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
|
|
65
|
+
onChange === null || onChange === void 0 || onChange([], []);
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
checkChange: checkChange,
|
|
69
|
+
menuClick: menuClick
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
exports.useAllChecked = useAllChecked;
|
|
74
|
+
exports.useCheckControl = useCheckControl;
|
|
75
|
+
// powered by h
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var RowCheckBoxSelection = require('../RowCheckBoxSelection.js');
|
|
5
4
|
var RowRadioBoxSelection = require('../RowRadioBoxSelection.js');
|
|
5
|
+
var Title = require('../RowCheckBox/Title.js');
|
|
6
|
+
var RowItem = require('../RowCheckBox/RowItem.js');
|
|
6
7
|
|
|
7
8
|
var checkBoxSelectionCol = function checkBoxSelectionCol(rowSelection) {
|
|
8
9
|
var allPageCheck = rowSelection.allPageCheck,
|
|
9
10
|
onChange = rowSelection.onChange,
|
|
10
11
|
getCheckboxProps = rowSelection.getCheckboxProps;
|
|
11
12
|
return {
|
|
12
|
-
title: jsxRuntime.jsx(
|
|
13
|
+
title: jsxRuntime.jsx(Title.default, {
|
|
13
14
|
allPageCheck: allPageCheck,
|
|
14
15
|
onChange: onChange,
|
|
15
16
|
getCheckboxProps: getCheckboxProps
|
|
@@ -19,7 +20,7 @@ var checkBoxSelectionCol = function checkBoxSelectionCol(rowSelection) {
|
|
|
19
20
|
fixed: "left",
|
|
20
21
|
align: "center",
|
|
21
22
|
render: function render(dom, data, index) {
|
|
22
|
-
return jsxRuntime.jsx(
|
|
23
|
+
return jsxRuntime.jsx(RowItem.default, {
|
|
23
24
|
data: data,
|
|
24
25
|
index: index,
|
|
25
26
|
onChange: onChange,
|
package/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useHTableContext } from "../../context";
|
|
2
|
+
import { Checkbox } from "antd";
|
|
3
|
+
import type { HRowSelection } from "../../modal";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
interface RowSelectionBoxProps {
|
|
7
|
+
data: any;
|
|
8
|
+
onChange?: HRowSelection["onChange"];
|
|
9
|
+
getCheckboxProps?: HRowSelection["getCheckboxProps"];
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
12
|
+
export default ({
|
|
13
|
+
data,
|
|
14
|
+
onChange,
|
|
15
|
+
index,
|
|
16
|
+
getCheckboxProps,
|
|
17
|
+
}: RowSelectionBoxProps) => {
|
|
18
|
+
const { selectedRowData, rowOnChange, rowKey = "id" } = useHTableContext();
|
|
19
|
+
const { rowData = [], keys = [] } = selectedRowData;
|
|
20
|
+
const key = typeof rowKey === "function" ? rowKey(data, index) : data[rowKey];
|
|
21
|
+
const add = () => {
|
|
22
|
+
const newKeys = [...keys];
|
|
23
|
+
const newRowData = [...rowData];
|
|
24
|
+
newKeys.push(key);
|
|
25
|
+
newRowData.push(data);
|
|
26
|
+
rowOnChange(newKeys, newRowData);
|
|
27
|
+
onChange?.(newKeys, newRowData);
|
|
28
|
+
};
|
|
29
|
+
const cancel = () => {
|
|
30
|
+
const newKeys = [...keys];
|
|
31
|
+
const newRowData = [...rowData];
|
|
32
|
+
const keyIndex = newKeys.indexOf(key);
|
|
33
|
+
newKeys.splice(keyIndex, 1);
|
|
34
|
+
newRowData.splice(keyIndex, 1);
|
|
35
|
+
rowOnChange(newKeys, newRowData);
|
|
36
|
+
onChange?.(newKeys, newRowData);
|
|
37
|
+
};
|
|
38
|
+
const check = (e) => {
|
|
39
|
+
const checked = e.target.checked;
|
|
40
|
+
if (checked) {
|
|
41
|
+
add();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
cancel();
|
|
45
|
+
};
|
|
46
|
+
const { disabled = false } = getCheckboxProps?.(data) || {};
|
|
47
|
+
const checked = keys.indexOf(key) !== -1;
|
|
48
|
+
return <Checkbox checked={checked} onChange={check} disabled={disabled} />;
|
|
49
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import {HRowSelection} from "@/components/modal";
|
|
2
|
+
import {useHTableContext} from "@/components/context";
|
|
3
|
+
import {useMemo} from "react";
|
|
4
|
+
import {Checkbox, Dropdown, Menu} from "antd";
|
|
5
|
+
import {useAllChecked, useCheckControl} from "./hooks";
|
|
6
|
+
export default ({
|
|
7
|
+
allPageCheck = true,
|
|
8
|
+
onChange,
|
|
9
|
+
getCheckboxProps,
|
|
10
|
+
}: HRowSelection) => {
|
|
11
|
+
const {
|
|
12
|
+
data,
|
|
13
|
+
selectedRowData,
|
|
14
|
+
rowKey = "id",
|
|
15
|
+
} = useHTableContext();
|
|
16
|
+
const { records = [] } = data || {};
|
|
17
|
+
const newData = records?.filter((item) => {
|
|
18
|
+
const { disabled = false } = getCheckboxProps?.(item) || {};
|
|
19
|
+
return !disabled;
|
|
20
|
+
});
|
|
21
|
+
const { keys, selectAll } = selectedRowData;
|
|
22
|
+
const {checkChange,menuClick}=useCheckControl(newData,onChange);
|
|
23
|
+
const dataLen = newData?.length || 0;
|
|
24
|
+
const checked = useAllChecked(keys,newData);
|
|
25
|
+
const configItems = useMemo(() => {
|
|
26
|
+
const fsArray = checked
|
|
27
|
+
? {
|
|
28
|
+
label: "取消此页数据",
|
|
29
|
+
key: "cancel",
|
|
30
|
+
}
|
|
31
|
+
: {
|
|
32
|
+
label: "选择此页数据",
|
|
33
|
+
key: "check",
|
|
34
|
+
};
|
|
35
|
+
const enArray = selectAll
|
|
36
|
+
? {
|
|
37
|
+
label: "取消全部数据",
|
|
38
|
+
key: "cancelAll",
|
|
39
|
+
}
|
|
40
|
+
: {
|
|
41
|
+
label: "选择全部数据",
|
|
42
|
+
key: "checkAll",
|
|
43
|
+
};
|
|
44
|
+
return [fsArray, enArray];
|
|
45
|
+
}, [checked, selectAll]);
|
|
46
|
+
|
|
47
|
+
const menu = () => {
|
|
48
|
+
const MenuEle = Menu as any;
|
|
49
|
+
return <MenuEle onClick={menuClick} items={configItems} />;
|
|
50
|
+
};
|
|
51
|
+
const disabled = dataLen === 0;
|
|
52
|
+
if (allPageCheck) {
|
|
53
|
+
return (
|
|
54
|
+
<Dropdown overlay={menu} arrow placement={"bottom"} disabled={disabled}>
|
|
55
|
+
<Checkbox
|
|
56
|
+
checked={checked}
|
|
57
|
+
onChange={checkChange}
|
|
58
|
+
disabled={disabled}
|
|
59
|
+
/>
|
|
60
|
+
</Dropdown>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
return (
|
|
64
|
+
<Checkbox checked={checked} onChange={checkChange} disabled={disabled} />
|
|
65
|
+
);
|
|
66
|
+
};
|