@hw-component/table 0.0.9-beta-v3 → 0.0.9-beta-v6
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/HeaderTitle/index.d.ts +9 -0
- package/es/HTableBody/HeaderTitle/index.js +38 -0
- package/es/HTableBody/Options/index.js +0 -2
- package/es/HTableBody/Options/utils.d.ts +1 -1
- package/es/HTableBody/index.js +17 -18
- package/es/index.css +12 -3
- package/lib/HTableBody/HeaderTitle/index.d.ts +9 -0
- package/lib/HTableBody/HeaderTitle/index.js +41 -0
- package/lib/HTableBody/Options/index.js +0 -2
- package/lib/HTableBody/Options/utils.d.ts +1 -1
- package/lib/HTableBody/index.js +18 -19
- package/lib/index.css +12 -3
- package/package.json +1 -1
- package/src/components/HTableBody/HeaderTitle/index.tsx +31 -0
- package/src/components/HTableBody/Options/index.tsx +1 -2
- package/src/components/HTableBody/index.tsx +6 -10
- package/src/components/index.less +6 -4
- package/src/pages/Table/index.tsx +2 -21
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTableBodyProps } from "../index";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface IProps {
|
|
4
|
+
headerTitle: HTableBodyProps["headerTitle"];
|
|
5
|
+
contentStyle?: React.CSSProperties;
|
|
6
|
+
rNode?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: ({ headerTitle, contentStyle, rNode }: IProps) => JSX.Element | null;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// welcome to hoo hoo hoo
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Row } from 'antd';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useHTableContext } from '../../context.js';
|
|
6
|
+
import { useClassName } from '../../hooks/index.js';
|
|
7
|
+
|
|
8
|
+
var HeaderTitle = (function (_ref) {
|
|
9
|
+
var headerTitle = _ref.headerTitle,
|
|
10
|
+
contentStyle = _ref.contentStyle,
|
|
11
|
+
rNode = _ref.rNode;
|
|
12
|
+
var _useHTableContext = useHTableContext(),
|
|
13
|
+
tableInstance = _useHTableContext.tableInstance,
|
|
14
|
+
selectedRowData = _useHTableContext.selectedRowData,
|
|
15
|
+
rowOnChange = _useHTableContext.rowOnChange,
|
|
16
|
+
allSelectChange = _useHTableContext.allSelectChange;
|
|
17
|
+
var headerBox = useClassName('hw-table-header-title-box');
|
|
18
|
+
if (!headerTitle && !rNode) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return jsxs(Row, {
|
|
22
|
+
justify: "space-between",
|
|
23
|
+
align: "middle",
|
|
24
|
+
style: contentStyle,
|
|
25
|
+
children: [jsx("div", {
|
|
26
|
+
className: headerBox,
|
|
27
|
+
children: headerTitle && /*#__PURE__*/React.cloneElement(headerTitle, {
|
|
28
|
+
selectedRowData: selectedRowData,
|
|
29
|
+
allSelectChange: allSelectChange,
|
|
30
|
+
rowOnChange: rowOnChange,
|
|
31
|
+
tableInstance: tableInstance
|
|
32
|
+
})
|
|
33
|
+
}), rNode && rNode]
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
export { HeaderTitle as default };
|
|
38
|
+
// powered by hdj
|
|
@@ -20,7 +20,6 @@ var Options = (function (_ref) {
|
|
|
20
20
|
setSizeChange = _ref.setSizeChange,
|
|
21
21
|
columns = _ref.columns,
|
|
22
22
|
onChange = _ref.onChange;
|
|
23
|
-
var className = useClassName("hw-table-body-option");
|
|
24
23
|
var pointer = useClassName(["hw-table-pointer", "hw-table-body-option-icon"]);
|
|
25
24
|
var ref = useRef(null);
|
|
26
25
|
var _useState = useState([]),
|
|
@@ -69,7 +68,6 @@ var Options = (function (_ref) {
|
|
|
69
68
|
};
|
|
70
69
|
return jsx(Row, {
|
|
71
70
|
justify: "end",
|
|
72
|
-
className: className,
|
|
73
71
|
ref: ref,
|
|
74
72
|
children: jsxs(Space, {
|
|
75
73
|
size: 20,
|
|
@@ -55,7 +55,7 @@ export declare const getItemValue: (data: ConfigItemModal) => {
|
|
|
55
55
|
render?: ((dom: React.ReactNode, data: any, index: number, tableInstance: import("../../modal").HTableInstance) => React.ReactNode) | undefined;
|
|
56
56
|
showSearch?: boolean | undefined;
|
|
57
57
|
searchType?: string | undefined;
|
|
58
|
-
searchRender?: ((
|
|
58
|
+
searchRender?: ((item: import("@hw-component/form/es/Form/modal").HItemProps, node: React.ReactNode, form: import("antd").FormInstance<any>, tableInstance: import("../../modal").HTableInstance) => React.ReactNode) | undefined;
|
|
59
59
|
rowSelectionTitle?: boolean | undefined;
|
|
60
60
|
index?: number | undefined;
|
|
61
61
|
filters?: boolean | import("antd/lib/table/interface").ColumnFilterItem[] | undefined;
|
package/es/HTableBody/index.js
CHANGED
|
@@ -14,13 +14,13 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
14
14
|
import ProTable from '@ant-design/pro-table';
|
|
15
15
|
import { useSize, useCols, useSynchronousKeys } from './hooks.js';
|
|
16
16
|
import { useHTableContext } from '../context.js';
|
|
17
|
-
import
|
|
18
|
-
import { Row, Alert, ConfigProvider, Empty } from 'antd';
|
|
17
|
+
import { Alert, ConfigProvider, Empty } from 'antd';
|
|
19
18
|
import { useHTableConfigContext } from '../TableConfig.js';
|
|
20
19
|
import HTablePagination from '../HTablePagination/index.js';
|
|
21
20
|
import { useClassName } from '../hooks/index.js';
|
|
22
21
|
import AlertMsg from './AlertMsg.js';
|
|
23
22
|
import Options from './Options/index.js';
|
|
23
|
+
import HeaderTitle from './HeaderTitle/index.js';
|
|
24
24
|
|
|
25
25
|
var _excluded = ["configData", "pagination", "onPageChange", "rowSelection", "rowKey", "emptyRender", "errorRender", "tableStyle", "paginationStyle", "headerTitle", "options", "actionRender", "affixProps", "goTop", "size", "optionsRender"];
|
|
26
26
|
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; }
|
|
@@ -64,11 +64,11 @@ var Body = (function (_ref) {
|
|
|
64
64
|
tableInstance = _useHTableContext.tableInstance,
|
|
65
65
|
contextConfigData = _useHTableContext.configData,
|
|
66
66
|
data = _useHTableContext.data,
|
|
67
|
-
selectedRowData = _useHTableContext.selectedRowData
|
|
68
|
-
|
|
69
|
-
error = _useHTableContext.error,
|
|
70
|
-
loading = _useHTableContext.loading
|
|
71
|
-
|
|
67
|
+
selectedRowData = _useHTableContext.selectedRowData;
|
|
68
|
+
_useHTableContext.rowOnChange;
|
|
69
|
+
var error = _useHTableContext.error,
|
|
70
|
+
loading = _useHTableContext.loading;
|
|
71
|
+
_useHTableContext.allSelectChange;
|
|
72
72
|
var _useHTableConfigConte = useHTableConfigContext({
|
|
73
73
|
emptyRender: emptyRender,
|
|
74
74
|
errorRender: errorRender
|
|
@@ -108,21 +108,13 @@ var Body = (function (_ref) {
|
|
|
108
108
|
var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
|
|
109
109
|
keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
|
|
110
110
|
selectAll = selectedRowData.selectAll;
|
|
111
|
+
var defaultOptionsNode = optionsRender ? optionsRender(optionsNode) : optionsNode;
|
|
111
112
|
var alwaysShowAlert = keys.length > 0 || selectAll || configAlwaysShowAlert;
|
|
112
113
|
var className = useClassName("hw-table-body");
|
|
113
114
|
return jsxs("div", {
|
|
114
115
|
style: tableStyle,
|
|
115
116
|
className: "hw_table_body ".concat(className),
|
|
116
|
-
children: [
|
|
117
|
-
gutter: [0, 8],
|
|
118
|
-
style: contentStyle,
|
|
119
|
-
children: /*#__PURE__*/React.cloneElement(headerTitle, {
|
|
120
|
-
selectedRowData: selectedRowData,
|
|
121
|
-
allSelectChange: allSelectChange,
|
|
122
|
-
rowOnChange: rowOnChange,
|
|
123
|
-
tableInstance: tableInstance
|
|
124
|
-
})
|
|
125
|
-
}), alwaysShowAlert && jsx("div", {
|
|
117
|
+
children: [alwaysShowAlert && jsx("div", {
|
|
126
118
|
style: contentStyle,
|
|
127
119
|
children: jsx(Alert, {
|
|
128
120
|
message: jsx(AlertMsg, {
|
|
@@ -130,7 +122,11 @@ var Body = (function (_ref) {
|
|
|
130
122
|
}),
|
|
131
123
|
type: "info"
|
|
132
124
|
})
|
|
133
|
-
}),
|
|
125
|
+
}), jsx(HeaderTitle, {
|
|
126
|
+
headerTitle: headerTitle,
|
|
127
|
+
contentStyle: contentStyle,
|
|
128
|
+
rNode: defaultOptionsNode
|
|
129
|
+
}), jsxs(ConfigProvider, {
|
|
134
130
|
renderEmpty: function renderEmpty() {
|
|
135
131
|
if (error) {
|
|
136
132
|
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(tableInstance, error);
|
|
@@ -141,6 +137,9 @@ var Body = (function (_ref) {
|
|
|
141
137
|
columns: cols,
|
|
142
138
|
size: cuSize,
|
|
143
139
|
search: false,
|
|
140
|
+
onChange: function onChange(pagination, filters, sorter) {
|
|
141
|
+
console.log(filters, sorter);
|
|
142
|
+
},
|
|
144
143
|
options: false,
|
|
145
144
|
tableStyle: {
|
|
146
145
|
paddingBottom: 0
|
package/es/index.css
CHANGED
|
@@ -41,9 +41,6 @@
|
|
|
41
41
|
.ant-hw-table-header .ant-hw-table-header-item-hide {
|
|
42
42
|
display: none;
|
|
43
43
|
}
|
|
44
|
-
.ant-hw-table-body-option {
|
|
45
|
-
padding: 0px 24px 16px 24px;
|
|
46
|
-
}
|
|
47
44
|
.ant-hw-table-body-option-icon {
|
|
48
45
|
font-size: 16px;
|
|
49
46
|
}
|
|
@@ -84,3 +81,15 @@
|
|
|
84
81
|
.ant-hw-table-pointer:hover {
|
|
85
82
|
color: #1890ff;
|
|
86
83
|
}
|
|
84
|
+
.ant-hw-table-header-title-box {
|
|
85
|
+
-webkit-box-flex: 1;
|
|
86
|
+
-webkit-flex: 1;
|
|
87
|
+
-ms-flex: 1;
|
|
88
|
+
flex: 1;
|
|
89
|
+
display: -webkit-box;
|
|
90
|
+
display: -webkit-flex;
|
|
91
|
+
display: -ms-flexbox;
|
|
92
|
+
display: flex;
|
|
93
|
+
position: relative;
|
|
94
|
+
margin-right: 12px;
|
|
95
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTableBodyProps } from "../index";
|
|
2
|
+
import React from "react";
|
|
3
|
+
interface IProps {
|
|
4
|
+
headerTitle: HTableBodyProps["headerTitle"];
|
|
5
|
+
contentStyle?: React.CSSProperties;
|
|
6
|
+
rNode?: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: ({ headerTitle, contentStyle, rNode }: IProps) => JSX.Element | null;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var antd = require('antd');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var context = require('../../context.js');
|
|
9
|
+
var index = require('../../hooks/index.js');
|
|
10
|
+
|
|
11
|
+
var HeaderTitle = (function (_ref) {
|
|
12
|
+
var headerTitle = _ref.headerTitle,
|
|
13
|
+
contentStyle = _ref.contentStyle,
|
|
14
|
+
rNode = _ref.rNode;
|
|
15
|
+
var _useHTableContext = context.useHTableContext(),
|
|
16
|
+
tableInstance = _useHTableContext.tableInstance,
|
|
17
|
+
selectedRowData = _useHTableContext.selectedRowData,
|
|
18
|
+
rowOnChange = _useHTableContext.rowOnChange,
|
|
19
|
+
allSelectChange = _useHTableContext.allSelectChange;
|
|
20
|
+
var headerBox = index.useClassName('hw-table-header-title-box');
|
|
21
|
+
if (!headerTitle && !rNode) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return jsxRuntime.jsxs(antd.Row, {
|
|
25
|
+
justify: "space-between",
|
|
26
|
+
align: "middle",
|
|
27
|
+
style: contentStyle,
|
|
28
|
+
children: [jsxRuntime.jsx("div", {
|
|
29
|
+
className: headerBox,
|
|
30
|
+
children: headerTitle && /*#__PURE__*/React.cloneElement(headerTitle, {
|
|
31
|
+
selectedRowData: selectedRowData,
|
|
32
|
+
allSelectChange: allSelectChange,
|
|
33
|
+
rowOnChange: rowOnChange,
|
|
34
|
+
tableInstance: tableInstance
|
|
35
|
+
})
|
|
36
|
+
}), rNode && rNode]
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
exports.default = HeaderTitle;
|
|
41
|
+
// powered by h
|
|
@@ -23,7 +23,6 @@ var Options = (function (_ref) {
|
|
|
23
23
|
setSizeChange = _ref.setSizeChange,
|
|
24
24
|
columns = _ref.columns,
|
|
25
25
|
onChange = _ref.onChange;
|
|
26
|
-
var className = index.useClassName("hw-table-body-option");
|
|
27
26
|
var pointer = index.useClassName(["hw-table-pointer", "hw-table-body-option-icon"]);
|
|
28
27
|
var ref = React.useRef(null);
|
|
29
28
|
var _useState = React.useState([]),
|
|
@@ -72,7 +71,6 @@ var Options = (function (_ref) {
|
|
|
72
71
|
};
|
|
73
72
|
return jsxRuntime.jsx(antd.Row, {
|
|
74
73
|
justify: "end",
|
|
75
|
-
className: className,
|
|
76
74
|
ref: ref,
|
|
77
75
|
children: jsxRuntime.jsxs(antd.Space, {
|
|
78
76
|
size: 20,
|
|
@@ -55,7 +55,7 @@ export declare const getItemValue: (data: ConfigItemModal) => {
|
|
|
55
55
|
render?: ((dom: React.ReactNode, data: any, index: number, tableInstance: import("../../modal").HTableInstance) => React.ReactNode) | undefined;
|
|
56
56
|
showSearch?: boolean | undefined;
|
|
57
57
|
searchType?: string | undefined;
|
|
58
|
-
searchRender?: ((
|
|
58
|
+
searchRender?: ((item: import("@hw-component/form/es/Form/modal").HItemProps, node: React.ReactNode, form: import("antd").FormInstance<any>, tableInstance: import("../../modal").HTableInstance) => React.ReactNode) | undefined;
|
|
59
59
|
rowSelectionTitle?: boolean | undefined;
|
|
60
60
|
index?: number | undefined;
|
|
61
61
|
filters?: boolean | import("antd/lib/table/interface").ColumnFilterItem[] | undefined;
|
package/lib/HTableBody/index.js
CHANGED
|
@@ -17,13 +17,13 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
17
17
|
var ProTable = require('@ant-design/pro-table');
|
|
18
18
|
var hooks = require('./hooks.js');
|
|
19
19
|
var context = require('../context.js');
|
|
20
|
-
var React = require('react');
|
|
21
20
|
var antd = require('antd');
|
|
22
21
|
var TableConfig = require('../TableConfig.js');
|
|
23
|
-
var index$
|
|
22
|
+
var index$3 = require('../HTablePagination/index.js');
|
|
24
23
|
var index$1 = require('../hooks/index.js');
|
|
25
24
|
var AlertMsg = require('./AlertMsg.js');
|
|
26
25
|
var index = require('./Options/index.js');
|
|
26
|
+
var index$2 = require('./HeaderTitle/index.js');
|
|
27
27
|
|
|
28
28
|
var _excluded = ["configData", "pagination", "onPageChange", "rowSelection", "rowKey", "emptyRender", "errorRender", "tableStyle", "paginationStyle", "headerTitle", "options", "actionRender", "affixProps", "goTop", "size", "optionsRender"];
|
|
29
29
|
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; }
|
|
@@ -67,11 +67,11 @@ var Body = (function (_ref) {
|
|
|
67
67
|
tableInstance = _useHTableContext.tableInstance,
|
|
68
68
|
contextConfigData = _useHTableContext.configData,
|
|
69
69
|
data = _useHTableContext.data,
|
|
70
|
-
selectedRowData = _useHTableContext.selectedRowData
|
|
71
|
-
|
|
72
|
-
error = _useHTableContext.error,
|
|
73
|
-
loading = _useHTableContext.loading
|
|
74
|
-
|
|
70
|
+
selectedRowData = _useHTableContext.selectedRowData;
|
|
71
|
+
_useHTableContext.rowOnChange;
|
|
72
|
+
var error = _useHTableContext.error,
|
|
73
|
+
loading = _useHTableContext.loading;
|
|
74
|
+
_useHTableContext.allSelectChange;
|
|
75
75
|
var _useHTableConfigConte = TableConfig.useHTableConfigContext({
|
|
76
76
|
emptyRender: emptyRender,
|
|
77
77
|
errorRender: errorRender
|
|
@@ -111,21 +111,13 @@ var Body = (function (_ref) {
|
|
|
111
111
|
var _selectedRowData$keys = _keysInstanceProperty(selectedRowData),
|
|
112
112
|
keys = _selectedRowData$keys === void 0 ? [] : _selectedRowData$keys,
|
|
113
113
|
selectAll = selectedRowData.selectAll;
|
|
114
|
+
var defaultOptionsNode = optionsRender ? optionsRender(optionsNode) : optionsNode;
|
|
114
115
|
var alwaysShowAlert = keys.length > 0 || selectAll || configAlwaysShowAlert;
|
|
115
116
|
var className = index$1.useClassName("hw-table-body");
|
|
116
117
|
return jsxRuntime.jsxs("div", {
|
|
117
118
|
style: tableStyle,
|
|
118
119
|
className: "hw_table_body ".concat(className),
|
|
119
|
-
children: [
|
|
120
|
-
gutter: [0, 8],
|
|
121
|
-
style: contentStyle,
|
|
122
|
-
children: /*#__PURE__*/React.cloneElement(headerTitle, {
|
|
123
|
-
selectedRowData: selectedRowData,
|
|
124
|
-
allSelectChange: allSelectChange,
|
|
125
|
-
rowOnChange: rowOnChange,
|
|
126
|
-
tableInstance: tableInstance
|
|
127
|
-
})
|
|
128
|
-
}), alwaysShowAlert && jsxRuntime.jsx("div", {
|
|
120
|
+
children: [alwaysShowAlert && jsxRuntime.jsx("div", {
|
|
129
121
|
style: contentStyle,
|
|
130
122
|
children: jsxRuntime.jsx(antd.Alert, {
|
|
131
123
|
message: jsxRuntime.jsx(AlertMsg.default, {
|
|
@@ -133,7 +125,11 @@ var Body = (function (_ref) {
|
|
|
133
125
|
}),
|
|
134
126
|
type: "info"
|
|
135
127
|
})
|
|
136
|
-
}),
|
|
128
|
+
}), jsxRuntime.jsx(index$2.default, {
|
|
129
|
+
headerTitle: headerTitle,
|
|
130
|
+
contentStyle: contentStyle,
|
|
131
|
+
rNode: defaultOptionsNode
|
|
132
|
+
}), jsxRuntime.jsxs(antd.ConfigProvider, {
|
|
137
133
|
renderEmpty: function renderEmpty() {
|
|
138
134
|
if (error) {
|
|
139
135
|
return tableErrorRender === null || tableErrorRender === void 0 ? void 0 : tableErrorRender(tableInstance, error);
|
|
@@ -144,6 +140,9 @@ var Body = (function (_ref) {
|
|
|
144
140
|
columns: cols,
|
|
145
141
|
size: cuSize,
|
|
146
142
|
search: false,
|
|
143
|
+
onChange: function onChange(pagination, filters, sorter) {
|
|
144
|
+
console.log(filters, sorter);
|
|
145
|
+
},
|
|
147
146
|
options: false,
|
|
148
147
|
tableStyle: {
|
|
149
148
|
paddingBottom: 0
|
|
@@ -153,7 +152,7 @@ var Body = (function (_ref) {
|
|
|
153
152
|
rowKey: rowKey,
|
|
154
153
|
dataSource: records,
|
|
155
154
|
pagination: false
|
|
156
|
-
})), pagination !== false && jsxRuntime.jsx(index$
|
|
155
|
+
})), pagination !== false && jsxRuntime.jsx(index$3.default, _objectSpread({
|
|
157
156
|
onPageChange: onPageChange,
|
|
158
157
|
paginationStyle: paginationStyle,
|
|
159
158
|
affixProps: affixProps,
|
package/lib/index.css
CHANGED
|
@@ -41,9 +41,6 @@
|
|
|
41
41
|
.ant-hw-table-header .ant-hw-table-header-item-hide {
|
|
42
42
|
display: none;
|
|
43
43
|
}
|
|
44
|
-
.ant-hw-table-body-option {
|
|
45
|
-
padding: 0px 24px 16px 24px;
|
|
46
|
-
}
|
|
47
44
|
.ant-hw-table-body-option-icon {
|
|
48
45
|
font-size: 16px;
|
|
49
46
|
}
|
|
@@ -84,3 +81,15 @@
|
|
|
84
81
|
.ant-hw-table-pointer:hover {
|
|
85
82
|
color: #1890ff;
|
|
86
83
|
}
|
|
84
|
+
.ant-hw-table-header-title-box {
|
|
85
|
+
-webkit-box-flex: 1;
|
|
86
|
+
-webkit-flex: 1;
|
|
87
|
+
-ms-flex: 1;
|
|
88
|
+
flex: 1;
|
|
89
|
+
display: -webkit-box;
|
|
90
|
+
display: -webkit-flex;
|
|
91
|
+
display: -ms-flexbox;
|
|
92
|
+
display: flex;
|
|
93
|
+
position: relative;
|
|
94
|
+
margin-right: 12px;
|
|
95
|
+
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {Row, Space} from "antd";
|
|
2
|
+
import {HTableBodyProps} from "../index";
|
|
3
|
+
import React, {DetailedReactHTMLElement} from "react";
|
|
4
|
+
import { useHTableContext } from "../../context";
|
|
5
|
+
import {useClassName} from "../../hooks";
|
|
6
|
+
interface IProps {
|
|
7
|
+
headerTitle:HTableBodyProps["headerTitle"];
|
|
8
|
+
contentStyle?:React.CSSProperties;
|
|
9
|
+
rNode?:React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export default ({headerTitle,contentStyle,rNode}:IProps)=>{
|
|
12
|
+
const {
|
|
13
|
+
tableInstance,
|
|
14
|
+
selectedRowData,
|
|
15
|
+
rowOnChange,
|
|
16
|
+
allSelectChange,
|
|
17
|
+
} = useHTableContext();
|
|
18
|
+
const headerBox=useClassName('hw-table-header-title-box');
|
|
19
|
+
if (!headerTitle&&!rNode){
|
|
20
|
+
return null
|
|
21
|
+
}
|
|
22
|
+
return <Row justify={"space-between"} align={"middle"} style={contentStyle}>
|
|
23
|
+
<div className={headerBox}>
|
|
24
|
+
{headerTitle && React.cloneElement(
|
|
25
|
+
headerTitle as DetailedReactHTMLElement<any, any>,
|
|
26
|
+
{ selectedRowData, allSelectChange, rowOnChange, tableInstance }
|
|
27
|
+
)}
|
|
28
|
+
</div>
|
|
29
|
+
{rNode&&rNode}
|
|
30
|
+
</Row>
|
|
31
|
+
}
|
|
@@ -20,7 +20,6 @@ export default ({
|
|
|
20
20
|
columns,
|
|
21
21
|
onChange,
|
|
22
22
|
}: IProps) => {
|
|
23
|
-
const className = useClassName("hw-table-body-option");
|
|
24
23
|
const pointer = useClassName([
|
|
25
24
|
"hw-table-pointer",
|
|
26
25
|
"hw-table-body-option-icon",
|
|
@@ -59,7 +58,7 @@ export default ({
|
|
|
59
58
|
);
|
|
60
59
|
};
|
|
61
60
|
return (
|
|
62
|
-
<Row justify={"end"}
|
|
61
|
+
<Row justify={"end"} ref={ref}>
|
|
63
62
|
<Space size={20}>
|
|
64
63
|
{reload && (
|
|
65
64
|
<Tooltip title="刷新">
|
|
@@ -14,6 +14,7 @@ import AlertMsg from "./AlertMsg";
|
|
|
14
14
|
import type { HRowSelection } from "../modal";
|
|
15
15
|
import type { AffixProps } from "antd/lib/affix";
|
|
16
16
|
import Options from "./Options";
|
|
17
|
+
import HeaderTitle from './HeaderTitle';
|
|
17
18
|
export interface HTableBodyProps
|
|
18
19
|
extends Omit<ProTableProps<any, any>, "dataSource" | "rowSelection"> {
|
|
19
20
|
configData?: ConfigDataModal;
|
|
@@ -97,19 +98,11 @@ export default ({
|
|
|
97
98
|
/>
|
|
98
99
|
);
|
|
99
100
|
const { keys = [], selectAll } = selectedRowData;
|
|
100
|
-
|
|
101
|
+
const defaultOptionsNode=optionsRender ? optionsRender(optionsNode) : optionsNode;
|
|
101
102
|
const alwaysShowAlert = keys.length > 0 || selectAll || configAlwaysShowAlert;
|
|
102
103
|
const className = useClassName("hw-table-body");
|
|
103
104
|
return (
|
|
104
105
|
<div style={tableStyle} className={`hw_table_body ${className}`}>
|
|
105
|
-
{headerTitle && (
|
|
106
|
-
<Row gutter={[0, 8]} style={contentStyle}>
|
|
107
|
-
{React.cloneElement(
|
|
108
|
-
headerTitle as DetailedReactHTMLElement<any, any>,
|
|
109
|
-
{ selectedRowData, allSelectChange, rowOnChange, tableInstance }
|
|
110
|
-
)}
|
|
111
|
-
</Row>
|
|
112
|
-
)}
|
|
113
106
|
{alwaysShowAlert && (
|
|
114
107
|
<div style={contentStyle}>
|
|
115
108
|
<Alert
|
|
@@ -118,7 +111,7 @@ export default ({
|
|
|
118
111
|
/>
|
|
119
112
|
</div>
|
|
120
113
|
)}
|
|
121
|
-
{
|
|
114
|
+
<HeaderTitle headerTitle={headerTitle} contentStyle={contentStyle} rNode={defaultOptionsNode}/>
|
|
122
115
|
<ConfigProvider
|
|
123
116
|
renderEmpty={() => {
|
|
124
117
|
if (error) {
|
|
@@ -132,6 +125,9 @@ export default ({
|
|
|
132
125
|
columns={cols as any}
|
|
133
126
|
size={cuSize}
|
|
134
127
|
search={false}
|
|
128
|
+
onChange={(pagination, filters, sorter)=>{
|
|
129
|
+
console.log(filters,sorter)
|
|
130
|
+
}}
|
|
135
131
|
options={false}
|
|
136
132
|
tableStyle={{
|
|
137
133
|
paddingBottom: 0,
|
|
@@ -44,10 +44,6 @@
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
.@{ant-prefix}-hw-table-body-option{
|
|
48
|
-
padding: 0px 24px 16px 24px;
|
|
49
|
-
|
|
50
|
-
}
|
|
51
47
|
.@{ant-prefix}-hw-table-body-option-icon{
|
|
52
48
|
font-size: 16px;
|
|
53
49
|
}
|
|
@@ -84,4 +80,10 @@
|
|
|
84
80
|
color:#1890ff;
|
|
85
81
|
}
|
|
86
82
|
}
|
|
83
|
+
.@{ant-prefix}-hw-table-header-title-box{
|
|
84
|
+
flex: 1;
|
|
85
|
+
display: flex;
|
|
86
|
+
position: relative;
|
|
87
|
+
margin-right: 12px;
|
|
88
|
+
}
|
|
87
89
|
|
|
@@ -7,16 +7,11 @@ const configData = [
|
|
|
7
7
|
title: "座位21321",
|
|
8
8
|
showSearch: true,
|
|
9
9
|
searchType: "select",
|
|
10
|
-
hideInTable: true,
|
|
11
10
|
dataIndex: "name",
|
|
11
|
+
sorter: true,
|
|
12
12
|
itemProps: {
|
|
13
13
|
options: [{ label: "1", value: 1 }],
|
|
14
14
|
},
|
|
15
|
-
searchRender:(item,node,form,tableInstance)=>{
|
|
16
|
-
return <div onClick={()=>{
|
|
17
|
-
tableInstance.table.dispatch("test",{name:"111"})
|
|
18
|
-
}}>点击</div>
|
|
19
|
-
}
|
|
20
15
|
},
|
|
21
16
|
{
|
|
22
17
|
title: "座位断开",
|
|
@@ -69,36 +64,22 @@ export default () => {
|
|
|
69
64
|
configData={configData}
|
|
70
65
|
rowKey={"id"}
|
|
71
66
|
table={hTable}
|
|
72
|
-
optionsRender={(node) => {
|
|
73
|
-
return <Space>ffff{node}</Space>;
|
|
74
|
-
}}
|
|
75
67
|
action={{
|
|
76
68
|
test:(params)=>{
|
|
77
69
|
console.log(params,"lllll")
|
|
78
70
|
}
|
|
79
71
|
}}
|
|
80
72
|
rowSelection={{
|
|
81
|
-
alwaysShowAlert: true,
|
|
82
73
|
allPageCheck: false,
|
|
83
74
|
}}
|
|
84
75
|
affixProps={{
|
|
85
76
|
target: () => document.querySelector(".body"),
|
|
86
77
|
}}
|
|
87
|
-
actionRender={() => {
|
|
88
|
-
return (
|
|
89
|
-
<Button
|
|
90
|
-
onClick={() => {
|
|
91
|
-
console.log(hTable.table.settingKeys);
|
|
92
|
-
}}
|
|
93
|
-
>
|
|
94
|
-
你大爷
|
|
95
|
-
</Button>
|
|
96
|
-
);
|
|
97
|
-
}}
|
|
98
78
|
scroll={{
|
|
99
79
|
x: 1000,
|
|
100
80
|
}}
|
|
101
81
|
headerTitle={<Button type={"primary"}>操作</Button>}
|
|
82
|
+
options={false}
|
|
102
83
|
request={(params) => {
|
|
103
84
|
console.log(params,".....");
|
|
104
85
|
const { current = 1 } = params;
|