@hw-component/table 0.0.4-beta-v10 → 0.0.4-beta-v17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/es/HTableBody/AlertMsg.d.ts +6 -0
  2. package/es/HTableBody/AlertMsg.js +48 -0
  3. package/es/HTableBody/RowSelection.d.ts +9 -0
  4. package/es/HTableBody/RowSelection.js +135 -0
  5. package/es/HTableBody/hooks.d.ts +76 -76
  6. package/es/HTableBody/hooks.js +34 -7
  7. package/es/HTableBody/index.d.ts +3 -2
  8. package/es/HTableBody/index.js +40 -27
  9. package/es/HTableFooter/index.js +2 -2
  10. package/es/HTableHeader/index.js +4 -4
  11. package/es/Table.d.ts +1 -1
  12. package/es/Table.js +11 -19
  13. package/es/TableCustomize.js +4 -2
  14. package/es/context.d.ts +1 -0
  15. package/es/index.css +7 -1
  16. package/es/modal.d.ts +8 -5
  17. package/lib/HTableBody/AlertMsg.d.ts +6 -0
  18. package/lib/HTableBody/AlertMsg.js +51 -0
  19. package/lib/HTableBody/RowSelection.d.ts +9 -0
  20. package/lib/HTableBody/RowSelection.js +137 -0
  21. package/lib/HTableBody/hooks.d.ts +76 -76
  22. package/lib/HTableBody/hooks.js +34 -7
  23. package/lib/HTableBody/index.d.ts +3 -2
  24. package/lib/HTableBody/index.js +39 -26
  25. package/lib/HTableFooter/index.js +2 -2
  26. package/lib/HTableHeader/index.js +4 -4
  27. package/lib/Table.d.ts +1 -1
  28. package/lib/Table.js +11 -19
  29. package/lib/TableCustomize.js +4 -2
  30. package/lib/context.d.ts +1 -0
  31. package/lib/index.css +7 -1
  32. package/lib/modal.d.ts +8 -5
  33. package/package.json +1 -1
  34. package/src/components/HTableBody/AlertMsg.tsx +37 -0
  35. package/src/components/HTableBody/RowSelection.tsx +111 -0
  36. package/src/components/HTableBody/{hooks.ts → hooks.tsx} +22 -7
  37. package/src/components/HTableBody/index.tsx +45 -34
  38. package/src/components/HTableHeader/index.tsx +4 -3
  39. package/src/components/HTablePagination/index.tsx +10 -13
  40. package/src/components/Table.tsx +4 -13
  41. package/src/components/TableCustomize.tsx +2 -0
  42. package/src/components/context.ts +1 -0
  43. package/src/components/index.less +9 -2
  44. package/src/components/modal.ts +14 -5
  45. package/src/index.less +2 -1
  46. package/src/pages/Table/index.tsx +39 -35
  47. package/src/pages/TableCustomize/index.tsx +8 -4
  48. package/src/routes.tsx +5 -6
@@ -0,0 +1,6 @@
1
+ import type { ActionRenderFn } from "../modal";
2
+ interface IProps {
3
+ actionRender?: ActionRenderFn;
4
+ }
5
+ declare const _default: ({ actionRender }: IProps) => JSX.Element;
6
+ export default _default;
@@ -0,0 +1,48 @@
1
+ // welcome to hoo hoo hoo
2
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
3
+ import _Number$parseInt from '@babel/runtime-corejs3/core-js/number/parse-int';
4
+ import _Number$isNaN from '@babel/runtime-corejs3/core-js/number/is-nan';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+ import { Typography, Row, Button } from 'antd';
7
+ import { useHTableContext } from '../context.js';
8
+
9
+ var Text = Typography.Text,
10
+ Link = Typography.Link;
11
+ var AlertMsg = (function (_ref) {
12
+ var actionRender = _ref.actionRender;
13
+ var _useHTableContext = useHTableContext(),
14
+ data = _useHTableContext.data,
15
+ selectedRowData = _useHTableContext.selectedRowData,
16
+ rowOnChange = _useHTableContext.rowOnChange,
17
+ tableInstance = _useHTableContext.tableInstance;
18
+ var _ref2 = data || {},
19
+ _ref2$total = _ref2.total,
20
+ total = _ref2$total === void 0 ? "0" : _ref2$total;
21
+ var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
22
+ keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
23
+ selectAll = selectedRowData.selectAll;
24
+ var totalNum = _Number$parseInt(total, 10);
25
+ var showTotalNum = _Number$isNaN(totalNum) ? 0 : totalNum;
26
+ var num = selectAll ? showTotalNum : keys.length;
27
+ return jsxs(Row, {
28
+ justify: "space-between",
29
+ align: "middle",
30
+ children: [jsxs(Text, {
31
+ children: ["\u5DF2\u9009\u62E9", jsx(Link, {
32
+ children: num
33
+ }), "\u6761"]
34
+ }), jsxs("div", {
35
+ children: [actionRender === null || actionRender === void 0 ? void 0 : actionRender(selectedRowData, tableInstance), jsx(Button, {
36
+ type: "link",
37
+ size: "small",
38
+ onClick: function onClick() {
39
+ rowOnChange([], []);
40
+ },
41
+ children: "\u53D6\u6D88\u9009\u62E9"
42
+ })]
43
+ })]
44
+ });
45
+ });
46
+
47
+ export { AlertMsg as default };
48
+ // powered by hdj
@@ -0,0 +1,9 @@
1
+ interface IRowSelectionTitleProps {
2
+ allPageCheck?: boolean;
3
+ }
4
+ export declare const RowSelectionTitle: ({ allPageCheck, }: IRowSelectionTitleProps) => JSX.Element;
5
+ interface RowSelectionBoxProps {
6
+ data: any;
7
+ }
8
+ export declare const RowSelectionBox: ({ data }: RowSelectionBoxProps) => JSX.Element;
9
+ export {};
@@ -0,0 +1,135 @@
1
+ // welcome to hoo hoo hoo
2
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
3
+ import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
4
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
5
+ import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js/instance/index-of';
6
+ import _spliceInstanceProperty from '@babel/runtime-corejs3/core-js/instance/splice';
7
+ import { jsx } from 'react/jsx-runtime';
8
+ import { useHTableContext } from '../context.js';
9
+ import { Dropdown, Checkbox, Menu } from 'antd';
10
+ import { useMemo } from 'react';
11
+
12
+ var RowSelectionTitle = function RowSelectionTitle(_ref) {
13
+ var _ref$allPageCheck = _ref.allPageCheck,
14
+ allPageCheck = _ref$allPageCheck === void 0 ? true : _ref$allPageCheck;
15
+ var _useHTableContext = useHTableContext(),
16
+ data = _useHTableContext.data,
17
+ selectedRowData = _useHTableContext.selectedRowData,
18
+ rowOnChange = _useHTableContext.rowOnChange,
19
+ allSelectChange = _useHTableContext.allSelectChange,
20
+ _useHTableContext$row = _useHTableContext.rowKey,
21
+ rowKey = _useHTableContext$row === void 0 ? "id" : _useHTableContext$row;
22
+ var _ref2 = data || {},
23
+ _ref2$records = _ref2.records,
24
+ records = _ref2$records === void 0 ? [] : _ref2$records;
25
+ var keys = _keysInstanceProperty(selectedRowData),
26
+ selectAll = selectedRowData.selectAll;
27
+ var allCheck = function allCheck() {
28
+ var setKeys = _mapInstanceProperty(records).call(records, function (item) {
29
+ return item[rowKey];
30
+ });
31
+ rowOnChange(setKeys, records);
32
+ };
33
+ var allCancel = function allCancel() {
34
+ rowOnChange([], []);
35
+ };
36
+ var checkChange = function checkChange(e) {
37
+ var checked = e.target.checked;
38
+ if (checked) {
39
+ allCheck();
40
+ return;
41
+ }
42
+ allCancel();
43
+ };
44
+ var change = function change(_ref3) {
45
+ var key = _ref3.key;
46
+ if (key === "check") {
47
+ allCheck();
48
+ return;
49
+ }
50
+ if (key === "cancel") {
51
+ allCancel();
52
+ return;
53
+ }
54
+ if (key === "checkAll") {
55
+ allSelectChange === null || allSelectChange === void 0 || allSelectChange(true);
56
+ return;
57
+ }
58
+ allSelectChange === null || allSelectChange === void 0 || allSelectChange(false);
59
+ };
60
+ var len = keys === null || keys === void 0 ? void 0 : keys.length;
61
+ var checked = len === records.length && len !== 0;
62
+ var configItems = useMemo(function () {
63
+ var fsArray = checked ? {
64
+ label: "取消此页数据",
65
+ key: "cancel"
66
+ } : {
67
+ label: "选择此页数据",
68
+ key: "check"
69
+ };
70
+ var enArray = selectAll ? {
71
+ label: "取消全部数据",
72
+ key: "cancelAll"
73
+ } : {
74
+ label: "选择全部数据",
75
+ key: "checkAll"
76
+ };
77
+ return [fsArray, enArray];
78
+ }, [checked, selectAll]);
79
+ var menu = function menu() {
80
+ var MenuEle = Menu;
81
+ return jsx(MenuEle, {
82
+ onClick: change,
83
+ items: configItems
84
+ });
85
+ };
86
+ if (allPageCheck) {
87
+ return jsx(Dropdown, {
88
+ overlay: menu,
89
+ arrow: true,
90
+ placement: "bottom",
91
+ children: jsx(Checkbox, {
92
+ checked: checked,
93
+ onChange: checkChange
94
+ })
95
+ });
96
+ }
97
+ return jsx(Checkbox, {
98
+ checked: checked,
99
+ onChange: checkChange
100
+ });
101
+ };
102
+ var RowSelectionBox = function RowSelectionBox(_ref4) {
103
+ var data = _ref4.data;
104
+ var _useHTableContext2 = useHTableContext(),
105
+ selectedRowData = _useHTableContext2.selectedRowData,
106
+ rowOnChange = _useHTableContext2.rowOnChange,
107
+ _useHTableContext2$ro = _useHTableContext2.rowKey,
108
+ rowKey = _useHTableContext2$ro === void 0 ? "id" : _useHTableContext2$ro;
109
+ var _selectedRowData$rowD = selectedRowData.rowData,
110
+ rowData = _selectedRowData$rowD === void 0 ? [] : _selectedRowData$rowD,
111
+ _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
112
+ keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys;
113
+ var key = data[rowKey];
114
+ var check = function check(e) {
115
+ var checked = e.target.checked;
116
+ var newKeys = _toConsumableArray(keys);
117
+ var newRowData = _toConsumableArray(rowData);
118
+ if (checked) {
119
+ newKeys.push(key);
120
+ newRowData.push(data);
121
+ rowOnChange(newKeys, newRowData);
122
+ return;
123
+ }
124
+ var index = _indexOfInstanceProperty(newKeys).call(newKeys, key);
125
+ _spliceInstanceProperty(newKeys).call(newKeys, index, 1);
126
+ _spliceInstanceProperty(newRowData).call(newRowData, index, 1);
127
+ };
128
+ return jsx(Checkbox, {
129
+ checked: _indexOfInstanceProperty(keys).call(keys, key) !== -1,
130
+ onChange: check
131
+ });
132
+ };
133
+
134
+ export { RowSelectionBox, RowSelectionTitle };
135
+ // powered by hdj