@hw-component/table 0.0.1-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/.babelrc +23 -0
- package/.eslintrc.js +8 -0
- package/.husky/pre-commit +4 -0
- package/.stylelintrc.js +5 -0
- package/README.en.md +36 -0
- package/README.md +37 -0
- package/es/Body/hooks.d.ts +1167 -0
- package/es/Body/hooks.js +51 -0
- package/es/Body/index.d.ts +12 -0
- package/es/Body/index.js +117 -0
- package/es/Footer/index.d.ts +6 -0
- package/es/Footer/index.js +65 -0
- package/es/Header/index.d.ts +9 -0
- package/es/Header/index.js +42 -0
- package/es/Header/utils.d.ts +7 -0
- package/es/Header/utils.js +67 -0
- package/es/Table.d.ts +3 -0
- package/es/Table.js +98 -0
- package/es/TableConfig.d.ts +13 -0
- package/es/TableConfig.js +29 -0
- package/es/context.d.ts +12 -0
- package/es/context.js +11 -0
- package/es/hooks/useCurrentTable.d.ts +7 -0
- package/es/hooks/useCurrentTable.js +17 -0
- package/es/hooks/useHTable.d.ts +8 -0
- package/es/hooks/useHTable.js +21 -0
- package/es/hooks/useRowObj.d.ts +7 -0
- package/es/hooks/useRowObj.js +23 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +5 -0
- package/es/modal.d.ts +45 -0
- package/lib/Body/hooks.d.ts +1167 -0
- package/lib/Body/hooks.js +53 -0
- package/lib/Body/index.d.ts +12 -0
- package/lib/Body/index.js +120 -0
- package/lib/Footer/index.d.ts +6 -0
- package/lib/Footer/index.js +68 -0
- package/lib/Header/index.d.ts +9 -0
- package/lib/Header/index.js +45 -0
- package/lib/Header/utils.d.ts +7 -0
- package/lib/Header/utils.js +69 -0
- package/lib/Table.d.ts +3 -0
- package/lib/Table.js +101 -0
- package/lib/TableConfig.d.ts +13 -0
- package/lib/TableConfig.js +34 -0
- package/lib/context.d.ts +12 -0
- package/lib/context.js +13 -0
- package/lib/hooks/useCurrentTable.d.ts +7 -0
- package/lib/hooks/useCurrentTable.js +20 -0
- package/lib/hooks/useHTable.d.ts +8 -0
- package/lib/hooks/useHTable.js +24 -0
- package/lib/hooks/useRowObj.d.ts +7 -0
- package/lib/hooks/useRowObj.js +26 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +12 -0
- package/lib/modal.d.ts +45 -0
- package/package.json +89 -0
- package/public/index.html +19 -0
- package/scripts/rollup.config.js +90 -0
- package/scripts/webpack.config.js +75 -0
- package/src/Layout.tsx +61 -0
- package/src/app.tsx +33 -0
- package/src/components/Body/hooks.ts +44 -0
- package/src/components/Body/index.tsx +85 -0
- package/src/components/Footer/index.tsx +43 -0
- package/src/components/Header/index.tsx +45 -0
- package/src/components/Header/utils.ts +58 -0
- package/src/components/Table.tsx +65 -0
- package/src/components/TableConfig.tsx +30 -0
- package/src/components/context.ts +17 -0
- package/src/components/hooks/useCurrentTable.ts +16 -0
- package/src/components/hooks/useHTable.tsx +18 -0
- package/src/components/hooks/useRowObj.ts +17 -0
- package/src/components/index.tsx +3 -0
- package/src/components/modal.ts +58 -0
- package/src/index.less +20 -0
- package/src/index.tsx +12 -0
- package/src/pages/Test/index.tsx +55 -0
- package/src/routes.tsx +26 -0
- package/tsconfig.json +29 -0
package/es/Body/hooks.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _Object$keys from '@babel/runtime-corejs3/core-js/object/keys';
|
|
3
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js/object/get-own-property-symbols';
|
|
4
|
+
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptor';
|
|
5
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
|
|
6
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptors';
|
|
7
|
+
import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
|
|
8
|
+
import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
|
|
9
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
|
|
10
|
+
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
|
|
11
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
12
|
+
import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js/instance/index-of';
|
|
13
|
+
import { useMemo, useEffect } from 'react';
|
|
14
|
+
import { useHTableContext } from '../context.js';
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
var useCols = function useCols(cols, table) {
|
|
19
|
+
return useMemo(function () {
|
|
20
|
+
return _mapInstanceProperty(cols).call(cols, function (item) {
|
|
21
|
+
var _render = item.render;
|
|
22
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
23
|
+
render: function render(dom, data, index) {
|
|
24
|
+
if (!_render) {
|
|
25
|
+
return dom;
|
|
26
|
+
}
|
|
27
|
+
return _render(dom, data, index, table);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}, [cols, table]);
|
|
32
|
+
};
|
|
33
|
+
var useSynchronousKeys = function useSynchronousKeys(_ref) {
|
|
34
|
+
var selectedRowKeys = _ref.selectedRowKeys,
|
|
35
|
+
records = _ref.records,
|
|
36
|
+
rowKey = _ref.rowKey;
|
|
37
|
+
var _useHTableContext = useHTableContext(),
|
|
38
|
+
rowOnChange = _useHTableContext.rowOnChange;
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
if (selectedRowKeys && records && rowKey) {
|
|
41
|
+
var resultData = _filterInstanceProperty(records).call(records, function (item, index) {
|
|
42
|
+
var id = typeof rowKey === "function" ? rowKey(item, index) : item[rowKey];
|
|
43
|
+
return _indexOfInstanceProperty(selectedRowKeys).call(selectedRowKeys, id) !== -1;
|
|
44
|
+
});
|
|
45
|
+
rowOnChange(selectedRowKeys, resultData);
|
|
46
|
+
}
|
|
47
|
+
}, [selectedRowKeys, records, rowKey]);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export { useCols, useSynchronousKeys };
|
|
51
|
+
// powered by hdj
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ProTableProps } from "@ant-design/pro-table";
|
|
2
|
+
import type { ConfigDataModal, ParamsModal } from "../modal";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import type { HTableInstance } from "../modal";
|
|
5
|
+
interface HTableBodyProps extends Omit<ProTableProps<any, any>, "dataSource"> {
|
|
6
|
+
configData: ConfigDataModal;
|
|
7
|
+
onPageChange: (params: ParamsModal) => void;
|
|
8
|
+
emptyRender?: (table: HTableInstance) => React.ReactNode;
|
|
9
|
+
errorRender?: (table: HTableInstance) => React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: ({ loading, configData, pagination, onPageChange, rowSelection, rowKey, emptyRender, errorRender, ...props }: HTableBodyProps) => JSX.Element;
|
|
12
|
+
export default _default;
|
package/es/Body/index.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _Object$keys from '@babel/runtime-corejs3/core-js/object/keys';
|
|
3
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js/object/get-own-property-symbols';
|
|
4
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
5
|
+
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptor';
|
|
6
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
|
|
7
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptors';
|
|
8
|
+
import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
|
|
9
|
+
import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
|
|
10
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
|
|
11
|
+
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
|
|
12
|
+
import _keysInstanceProperty from '@babel/runtime-corejs3/core-js/instance/keys';
|
|
13
|
+
import _Number$parseInt from '@babel/runtime-corejs3/core-js/number/parse-int';
|
|
14
|
+
import { jsx } from 'react/jsx-runtime';
|
|
15
|
+
import ProTable from '@ant-design/pro-table';
|
|
16
|
+
import { useCols, useSynchronousKeys } from './hooks.js';
|
|
17
|
+
import { useHTableContext } from '../context.js';
|
|
18
|
+
import { ConfigProvider, Empty } from 'antd';
|
|
19
|
+
import { useHTableConfigContext } from '../TableConfig.js';
|
|
20
|
+
|
|
21
|
+
var _excluded = ["loading", "configData", "pagination", "onPageChange", "rowSelection", "rowKey", "emptyRender", "errorRender"];
|
|
22
|
+
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; }
|
|
23
|
+
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; }
|
|
24
|
+
var defaultRender = function defaultRender() {
|
|
25
|
+
return jsx(Empty, {
|
|
26
|
+
image: Empty.PRESENTED_IMAGE_SIMPLE
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var Body = (function (_ref) {
|
|
30
|
+
var loading = _ref.loading,
|
|
31
|
+
configData = _ref.configData,
|
|
32
|
+
_ref$pagination = _ref.pagination,
|
|
33
|
+
pagination = _ref$pagination === void 0 ? {} : _ref$pagination,
|
|
34
|
+
onPageChange = _ref.onPageChange,
|
|
35
|
+
_ref$rowSelection = _ref.rowSelection,
|
|
36
|
+
rowSelection = _ref$rowSelection === void 0 ? {} : _ref$rowSelection,
|
|
37
|
+
_ref$rowKey = _ref.rowKey,
|
|
38
|
+
rowKey = _ref$rowKey === void 0 ? "id" : _ref$rowKey,
|
|
39
|
+
emptyRender = _ref.emptyRender,
|
|
40
|
+
errorRender = _ref.errorRender,
|
|
41
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
42
|
+
var selectedRowKeys = rowSelection.selectedRowKeys,
|
|
43
|
+
onChange = rowSelection.onChange;
|
|
44
|
+
var _useHTableContext = useHTableContext(),
|
|
45
|
+
table = _useHTableContext.table,
|
|
46
|
+
data = _useHTableContext.data,
|
|
47
|
+
selectedRowData = _useHTableContext.selectedRowData,
|
|
48
|
+
rowOnChange = _useHTableContext.rowOnChange,
|
|
49
|
+
error = _useHTableContext.error;
|
|
50
|
+
var _useHTableConfigConte = useHTableConfigContext({
|
|
51
|
+
emptyRender: emptyRender,
|
|
52
|
+
errorRender: errorRender
|
|
53
|
+
}),
|
|
54
|
+
_useHTableConfigConte2 = _useHTableConfigConte.emptyRender,
|
|
55
|
+
tableEmptyRender = _useHTableConfigConte2 === void 0 ? defaultRender : _useHTableConfigConte2,
|
|
56
|
+
_useHTableConfigConte3 = _useHTableConfigConte.errorRender,
|
|
57
|
+
tableErrorRender = _useHTableConfigConte3 === void 0 ? defaultRender : _useHTableConfigConte3;
|
|
58
|
+
var _ref2 = data || {},
|
|
59
|
+
records = _ref2.records,
|
|
60
|
+
size = _ref2.size,
|
|
61
|
+
current = _ref2.current,
|
|
62
|
+
total = _ref2.total;
|
|
63
|
+
var cols = useCols(configData, table);
|
|
64
|
+
var change = function change(key, rowData) {
|
|
65
|
+
if (onChange) {
|
|
66
|
+
return onChange(key, rowData);
|
|
67
|
+
}
|
|
68
|
+
rowOnChange(key, rowData);
|
|
69
|
+
};
|
|
70
|
+
useSynchronousKeys({
|
|
71
|
+
selectedRowKeys: selectedRowKeys,
|
|
72
|
+
records: records,
|
|
73
|
+
rowKey: rowKey
|
|
74
|
+
});
|
|
75
|
+
return jsx("div", {
|
|
76
|
+
style: {
|
|
77
|
+
borderRadius: 4,
|
|
78
|
+
overflow: "hidden"
|
|
79
|
+
},
|
|
80
|
+
children: jsx(ConfigProvider, {
|
|
81
|
+
renderEmpty: function renderEmpty() {
|
|
82
|
+
if (error) {
|
|
83
|
+
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(table);
|
|
84
|
+
}
|
|
85
|
+
return tableEmptyRender === null || tableEmptyRender === void 0 ? void 0 : tableEmptyRender(table);
|
|
86
|
+
},
|
|
87
|
+
children: jsx(ProTable, _objectSpread(_objectSpread({}, props), {}, {
|
|
88
|
+
columns: cols,
|
|
89
|
+
search: false,
|
|
90
|
+
rowSelection: _objectSpread(_objectSpread({}, rowSelection), {}, {
|
|
91
|
+
selectedRowKeys: _keysInstanceProperty(selectedRowData),
|
|
92
|
+
onChange: change
|
|
93
|
+
}),
|
|
94
|
+
loading: loading,
|
|
95
|
+
rowKey: rowKey,
|
|
96
|
+
dataSource: records,
|
|
97
|
+
onChange: function onChange(paginationData) {
|
|
98
|
+
var ps = paginationData.pageSize,
|
|
99
|
+
pn = paginationData.current;
|
|
100
|
+
onPageChange({
|
|
101
|
+
size: ps,
|
|
102
|
+
current: pn
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
pagination: _objectSpread({
|
|
106
|
+
current: _Number$parseInt(current || "1", 10),
|
|
107
|
+
total: _Number$parseInt(total || "0", 10),
|
|
108
|
+
pageSize: _Number$parseInt(size || "10", 10),
|
|
109
|
+
showQuickJumper: true
|
|
110
|
+
}, pagination)
|
|
111
|
+
}))
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
export { Body as default };
|
|
117
|
+
// powered by hdj
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
import { Typography, Card, Row, Space, Button, Affix } from 'antd';
|
|
5
|
+
import { useHTableContext } from '../context.js';
|
|
6
|
+
import { useState } from 'react';
|
|
7
|
+
|
|
8
|
+
var Text = Typography.Text,
|
|
9
|
+
Link = Typography.Link;
|
|
10
|
+
var Footer = (function (_ref) {
|
|
11
|
+
var actionRender = _ref.actionRender;
|
|
12
|
+
var _useHTableContext = useHTableContext(),
|
|
13
|
+
data = _useHTableContext.data,
|
|
14
|
+
selectedRowData = _useHTableContext.selectedRowData,
|
|
15
|
+
table = _useHTableContext.table;
|
|
16
|
+
var _useState = useState(false),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
allCheck = _useState2[0],
|
|
19
|
+
setAllCheck = _useState2[1];
|
|
20
|
+
var _ref2 = data || {},
|
|
21
|
+
total = _ref2.total;
|
|
22
|
+
var num = allCheck ? total : 0;
|
|
23
|
+
var dom = jsx(Card, {
|
|
24
|
+
style: {
|
|
25
|
+
borderRadius: 4
|
|
26
|
+
},
|
|
27
|
+
bordered: false,
|
|
28
|
+
children: jsxs(Row, {
|
|
29
|
+
justify: "space-between",
|
|
30
|
+
children: [jsxs(Space, {
|
|
31
|
+
size: 20,
|
|
32
|
+
children: [jsx(Button, {
|
|
33
|
+
type: "primary",
|
|
34
|
+
ghost: true,
|
|
35
|
+
style: {
|
|
36
|
+
padding: "4px 24px",
|
|
37
|
+
borderRadius: "4px"
|
|
38
|
+
},
|
|
39
|
+
onClick: function onClick() {
|
|
40
|
+
setAllCheck(!allCheck);
|
|
41
|
+
},
|
|
42
|
+
children: !allCheck ? "选择全部" : "取消选择"
|
|
43
|
+
}), jsxs(Text, {
|
|
44
|
+
type: "secondary",
|
|
45
|
+
children: ["\u5171", total, "\u6761"]
|
|
46
|
+
}), jsxs(Text, {
|
|
47
|
+
type: "secondary",
|
|
48
|
+
children: ["\u5DF2\u9009\u62E9", jsx(Link, {
|
|
49
|
+
children: num
|
|
50
|
+
}), "\u6761"]
|
|
51
|
+
})]
|
|
52
|
+
}), actionRender === null || actionRender === void 0 ? void 0 : actionRender(allCheck, selectedRowData, table)]
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
if (!data) {
|
|
56
|
+
return dom;
|
|
57
|
+
}
|
|
58
|
+
return jsx(Affix, {
|
|
59
|
+
offsetBottom: 10,
|
|
60
|
+
children: dom
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
export { Footer as default };
|
|
65
|
+
// powered by hdj
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ColProps } from "antd";
|
|
2
|
+
import type { ConfigDataModal } from "../modal";
|
|
3
|
+
interface IHeaderProps {
|
|
4
|
+
configData: ConfigDataModal;
|
|
5
|
+
onFinish: (value: Record<string, any>) => Promise<any>;
|
|
6
|
+
searchSpan?: ColProps;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: ({ configData, onFinish, searchSpan, }: IHeaderProps) => JSX.Element;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Card } from 'antd';
|
|
4
|
+
import { useHTableContext } from '../context.js';
|
|
5
|
+
import { HForm } from '@hw-component/form';
|
|
6
|
+
import { useMemo } from 'react';
|
|
7
|
+
import { formConfigDataProvider } from './utils.js';
|
|
8
|
+
|
|
9
|
+
var Header = (function (_ref) {
|
|
10
|
+
var configData = _ref.configData,
|
|
11
|
+
onFinish = _ref.onFinish,
|
|
12
|
+
_ref$searchSpan = _ref.searchSpan,
|
|
13
|
+
searchSpan = _ref$searchSpan === void 0 ? {
|
|
14
|
+
span: 6
|
|
15
|
+
} : _ref$searchSpan;
|
|
16
|
+
var _useHTableContext = useHTableContext(),
|
|
17
|
+
table = _useHTableContext.table;
|
|
18
|
+
var form = table.form;
|
|
19
|
+
var nConfigData = useMemo(function () {
|
|
20
|
+
return formConfigDataProvider(configData);
|
|
21
|
+
}, [configData]);
|
|
22
|
+
return jsx(Card, {
|
|
23
|
+
style: {
|
|
24
|
+
borderRadius: 4
|
|
25
|
+
},
|
|
26
|
+
bordered: false,
|
|
27
|
+
bodyStyle: {
|
|
28
|
+
paddingBottom: 0
|
|
29
|
+
},
|
|
30
|
+
children: jsx(HForm, {
|
|
31
|
+
itemSpan: searchSpan,
|
|
32
|
+
request: onFinish,
|
|
33
|
+
gutter: [20, 0],
|
|
34
|
+
hideLabel: true,
|
|
35
|
+
configData: nConfigData,
|
|
36
|
+
form: form
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export { Header as default };
|
|
42
|
+
// powered by hdj
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ConfigDataModal, ConfigItemModal } from "../modal";
|
|
2
|
+
import type { HItemProps } from "@hw-component/form/lib/Form/modal";
|
|
3
|
+
export declare function formConfigDataFilter(arr: ConfigDataModal): {
|
|
4
|
+
realConfigData: ConfigItemModal[];
|
|
5
|
+
subConfigData: HItemProps;
|
|
6
|
+
};
|
|
7
|
+
export declare function formConfigDataProvider(configData: ConfigDataModal): HItemProps[];
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _toConsumableArray from '@babel/runtime-corejs3/helpers/toConsumableArray';
|
|
3
|
+
import 'core-js/modules/es.function.name.js';
|
|
4
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
5
|
+
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js/instance/map';
|
|
6
|
+
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js/instance/concat';
|
|
7
|
+
|
|
8
|
+
var defaultSubItem = {
|
|
9
|
+
type: "submit",
|
|
10
|
+
itemProps: {
|
|
11
|
+
extraList: ["submit", "reset"],
|
|
12
|
+
style: {
|
|
13
|
+
padding: "4px 24px",
|
|
14
|
+
borderRadius: "4px"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
function formConfigDataFilter(arr) {
|
|
19
|
+
var subConfigData = defaultSubItem;
|
|
20
|
+
var realConfigData = _filterInstanceProperty(arr).call(arr, function (item) {
|
|
21
|
+
var showSearch = item.showSearch,
|
|
22
|
+
searchType = item.searchType;
|
|
23
|
+
if (searchType === "submit" && showSearch) {
|
|
24
|
+
subConfigData = formConfigDataItemProvider(item);
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (showSearch) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
realConfigData: realConfigData,
|
|
34
|
+
subConfigData: subConfigData
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function formConfigDataProvider(configData) {
|
|
38
|
+
var _context;
|
|
39
|
+
var _formConfigDataFilter = formConfigDataFilter(configData),
|
|
40
|
+
realConfigData = _formConfigDataFilter.realConfigData,
|
|
41
|
+
subConfigData = _formConfigDataFilter.subConfigData;
|
|
42
|
+
var nConfigData = _mapInstanceProperty(realConfigData).call(realConfigData, function (item) {
|
|
43
|
+
return formConfigDataItemProvider(item);
|
|
44
|
+
});
|
|
45
|
+
return _concatInstanceProperty(_context = []).call(_context, _toConsumableArray(nConfigData), [subConfigData]);
|
|
46
|
+
}
|
|
47
|
+
function formConfigDataItemProvider(_ref) {
|
|
48
|
+
var _ref$colon = _ref.colon,
|
|
49
|
+
colon = _ref$colon === void 0 ? false : _ref$colon,
|
|
50
|
+
searchType = _ref.searchType,
|
|
51
|
+
title = _ref.title,
|
|
52
|
+
name = _ref.name,
|
|
53
|
+
dataIndex = _ref.dataIndex,
|
|
54
|
+
itemProps = _ref.itemProps,
|
|
55
|
+
searchRender = _ref.searchRender;
|
|
56
|
+
return {
|
|
57
|
+
itemProps: itemProps,
|
|
58
|
+
label: title,
|
|
59
|
+
colon: colon,
|
|
60
|
+
type: searchType,
|
|
61
|
+
name: name || dataIndex,
|
|
62
|
+
render: searchRender
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { formConfigDataFilter, formConfigDataProvider };
|
|
67
|
+
// powered by hdj
|
package/es/Table.d.ts
ADDED
package/es/Table.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _Object$keys from '@babel/runtime-corejs3/core-js/object/keys';
|
|
3
|
+
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js/object/get-own-property-symbols';
|
|
4
|
+
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js/instance/filter';
|
|
5
|
+
import _Object$getOwnPropertyDescriptor from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptor';
|
|
6
|
+
import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js/instance/for-each';
|
|
7
|
+
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js/object/get-own-property-descriptors';
|
|
8
|
+
import _Object$defineProperties from '@babel/runtime-corejs3/core-js/object/define-properties';
|
|
9
|
+
import _Object$defineProperty from '@babel/runtime-corejs3/core-js/object/define-property';
|
|
10
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/defineProperty';
|
|
11
|
+
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
|
|
12
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
13
|
+
import Header from './Header/index.js';
|
|
14
|
+
import Body from './Body/index.js';
|
|
15
|
+
import { useRequest } from 'ahooks';
|
|
16
|
+
import { useMemo } from 'react';
|
|
17
|
+
import useCurrentTable from './hooks/useCurrentTable.js';
|
|
18
|
+
import Footer from './Footer/index.js';
|
|
19
|
+
import useRowObj from './hooks/useRowObj.js';
|
|
20
|
+
import { HTableContext } from './context.js';
|
|
21
|
+
import { Space } from 'antd';
|
|
22
|
+
|
|
23
|
+
var _excluded = ["request", "configData", "searchSpan", "table", "actionRender"],
|
|
24
|
+
_excluded2 = ["size", "current"];
|
|
25
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
+
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; }
|
|
27
|
+
var Table = (function (_ref) {
|
|
28
|
+
var request = _ref.request,
|
|
29
|
+
configData = _ref.configData,
|
|
30
|
+
searchSpan = _ref.searchSpan,
|
|
31
|
+
table = _ref.table,
|
|
32
|
+
actionRender = _ref.actionRender,
|
|
33
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
34
|
+
var saveParams = useMemo(function () {
|
|
35
|
+
return {
|
|
36
|
+
params: {}
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
var _useRequest = useRequest(function () {
|
|
40
|
+
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
41
|
+
var _params$size = params.size,
|
|
42
|
+
size = _params$size === void 0 ? "10" : _params$size,
|
|
43
|
+
_params$current = params.current,
|
|
44
|
+
current = _params$current === void 0 ? "1" : _params$current,
|
|
45
|
+
oParams = _objectWithoutProperties(params, _excluded2);
|
|
46
|
+
var reqParams = _objectSpread({
|
|
47
|
+
size: size,
|
|
48
|
+
current: current
|
|
49
|
+
}, oParams);
|
|
50
|
+
saveParams.params = reqParams;
|
|
51
|
+
return request(reqParams);
|
|
52
|
+
}),
|
|
53
|
+
run = _useRequest.run,
|
|
54
|
+
loading = _useRequest.loading,
|
|
55
|
+
data = _useRequest.data,
|
|
56
|
+
error = _useRequest.error;
|
|
57
|
+
var cuTable = useCurrentTable({
|
|
58
|
+
table: table,
|
|
59
|
+
reload: function reload() {
|
|
60
|
+
run(_objectSpread({}, saveParams.params));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
var _useRowObj = useRowObj(),
|
|
64
|
+
selectedRowData = _useRowObj.selectedRowData,
|
|
65
|
+
rowOnChange = _useRowObj.rowOnChange;
|
|
66
|
+
return jsx(HTableContext.Provider, {
|
|
67
|
+
value: {
|
|
68
|
+
table: cuTable,
|
|
69
|
+
selectedRowData: selectedRowData,
|
|
70
|
+
rowOnChange: rowOnChange,
|
|
71
|
+
data: data,
|
|
72
|
+
error: error
|
|
73
|
+
},
|
|
74
|
+
children: jsxs(Space, {
|
|
75
|
+
size: 20,
|
|
76
|
+
direction: "vertical",
|
|
77
|
+
style: {
|
|
78
|
+
width: "100%"
|
|
79
|
+
},
|
|
80
|
+
children: [jsx(Header, {
|
|
81
|
+
configData: configData,
|
|
82
|
+
onFinish: run,
|
|
83
|
+
searchSpan: searchSpan
|
|
84
|
+
}), jsx(Body, _objectSpread({
|
|
85
|
+
loading: loading,
|
|
86
|
+
configData: configData,
|
|
87
|
+
onPageChange: function onPageChange(page) {
|
|
88
|
+
run(_objectSpread(_objectSpread({}, saveParams.params), page));
|
|
89
|
+
}
|
|
90
|
+
}, props)), jsx(Footer, {
|
|
91
|
+
actionRender: actionRender
|
|
92
|
+
})]
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
export { Table as default };
|
|
98
|
+
// powered by hdj
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { HTableInstance } from "./modal";
|
|
3
|
+
interface HTableConfigContextModal {
|
|
4
|
+
emptyRender?: (table: HTableInstance) => React.ReactNode;
|
|
5
|
+
errorRender?: (table: HTableInstance) => React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare const HTableConfigContext: React.Context<HTableConfigContextModal | null>;
|
|
8
|
+
export declare const useHTableConfigContext: ({ emptyRender, errorRender, }: HTableConfigContextModal) => {
|
|
9
|
+
errorRender: ((table: HTableInstance) => React.ReactNode) | undefined;
|
|
10
|
+
emptyRender: ((table: HTableInstance) => React.ReactNode) | undefined;
|
|
11
|
+
};
|
|
12
|
+
declare const Index: React.FC<HTableConfigContextModal>;
|
|
13
|
+
export default Index;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _objectWithoutProperties from '@babel/runtime-corejs3/helpers/objectWithoutProperties';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
import React, { useContext } from 'react';
|
|
5
|
+
|
|
6
|
+
var _excluded = ["children"];
|
|
7
|
+
var HTableConfigContext = /*#__PURE__*/React.createContext(null);
|
|
8
|
+
var useHTableConfigContext = function useHTableConfigContext(_ref) {
|
|
9
|
+
var emptyRender = _ref.emptyRender,
|
|
10
|
+
errorRender = _ref.errorRender;
|
|
11
|
+
var _ref2 = useContext(HTableConfigContext) || {},
|
|
12
|
+
configErrorRender = _ref2.errorRender,
|
|
13
|
+
configEmptyRender = _ref2.emptyRender;
|
|
14
|
+
return {
|
|
15
|
+
errorRender: errorRender || configErrorRender,
|
|
16
|
+
emptyRender: emptyRender || configEmptyRender
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
var Index = function Index(_ref3) {
|
|
20
|
+
var children = _ref3.children,
|
|
21
|
+
props = _objectWithoutProperties(_ref3, _excluded);
|
|
22
|
+
return jsx(HTableConfigContext.Provider, {
|
|
23
|
+
value: props,
|
|
24
|
+
children: children
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { HTableConfigContext, Index as default, useHTableConfigContext };
|
|
29
|
+
// powered by hdj
|
package/es/context.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ResultModal, RowObj, HTableInstance } from "./modal";
|
|
3
|
+
interface HContextModal {
|
|
4
|
+
table: HTableInstance;
|
|
5
|
+
data?: ResultModal;
|
|
6
|
+
selectedRowData: RowObj;
|
|
7
|
+
rowOnChange: (keys: React.Key[], rowData: any[]) => void;
|
|
8
|
+
error?: Error;
|
|
9
|
+
}
|
|
10
|
+
export declare const HTableContext: React.Context<HContextModal | null>;
|
|
11
|
+
export declare const useHTableContext: () => HContextModal;
|
|
12
|
+
export {};
|
package/es/context.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
|
|
4
|
+
var HTableContext = /*#__PURE__*/React.createContext(null);
|
|
5
|
+
var useHTableContext = function useHTableContext() {
|
|
6
|
+
var result = useContext(HTableContext);
|
|
7
|
+
return result || {};
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { HTableContext, useHTableContext };
|
|
11
|
+
// powered by hdj
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ParamsModal, HTableInstance } from "../modal";
|
|
2
|
+
interface currentTableParams {
|
|
3
|
+
table?: HTableInstance;
|
|
4
|
+
reload: (params: ParamsModal) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: ({ table, reload }: currentTableParams) => HTableInstance;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import useHTable from './useHTable.js';
|
|
4
|
+
|
|
5
|
+
var useCurrentTable = (function (_ref) {
|
|
6
|
+
var table = _ref.table,
|
|
7
|
+
reload = _ref.reload;
|
|
8
|
+
var useCurrentTable = useHTable();
|
|
9
|
+
return useMemo(function () {
|
|
10
|
+
var resultTable = table || useCurrentTable;
|
|
11
|
+
resultTable.table.reload = reload;
|
|
12
|
+
return resultTable;
|
|
13
|
+
}, [table]);
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export { useCurrentTable as default };
|
|
17
|
+
// powered by hdj
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useHForm } from '@hw-component/form';
|
|
4
|
+
|
|
5
|
+
var useHTable = (function () {
|
|
6
|
+
var form = useHForm();
|
|
7
|
+
var table = useMemo(function () {
|
|
8
|
+
return {
|
|
9
|
+
reload: function reload(params) {
|
|
10
|
+
return params;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}, []);
|
|
14
|
+
return {
|
|
15
|
+
form: form,
|
|
16
|
+
table: table
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { useHTable as default };
|
|
21
|
+
// powered by hdj
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
|
|
5
|
+
var useRowObj = (function () {
|
|
6
|
+
var _useState = useState({}),
|
|
7
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
8
|
+
selectedRowData = _useState2[0],
|
|
9
|
+
setSelectedRowData = _useState2[1];
|
|
10
|
+
var rowOnChange = function rowOnChange(keys, rowData) {
|
|
11
|
+
setSelectedRowData({
|
|
12
|
+
keys: keys,
|
|
13
|
+
rowData: rowData
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
return {
|
|
17
|
+
rowOnChange: rowOnChange,
|
|
18
|
+
selectedRowData: selectedRowData
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export { useRowObj as default };
|
|
23
|
+
// powered by hdj
|
package/es/index.d.ts
ADDED