@hi-ui/table 4.3.1 → 4.3.2
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/CHANGELOG.md +40 -0
- package/lib/cjs/BaseTable.js +136 -189
- package/lib/cjs/ColGroupContent.js +5 -28
- package/lib/cjs/SettingDrawer.js +76 -127
- package/lib/cjs/Table.js +107 -171
- package/lib/cjs/TableAdvancedFilter.js +49 -85
- package/lib/cjs/TableBody.js +33 -69
- package/lib/cjs/TableCell.js +56 -102
- package/lib/cjs/TableColumnMenu.js +39 -77
- package/lib/cjs/TableEmbedRow.js +11 -38
- package/lib/cjs/TableHeader.js +8 -33
- package/lib/cjs/TableRow.js +48 -88
- package/lib/cjs/TableSettingMenu.js +48 -94
- package/lib/cjs/TbodyContent.js +28 -56
- package/lib/cjs/TheadContent.js +20 -49
- package/lib/cjs/_virtual/index.js +0 -3
- package/lib/cjs/_virtual/index2.js +0 -3
- package/lib/cjs/_virtual/react-is.development.js +0 -3
- package/lib/cjs/_virtual/react-is.production.min.js +0 -3
- package/lib/cjs/context.js +0 -9
- package/lib/cjs/hooks/use-async-switch.js +13 -51
- package/lib/cjs/hooks/use-check.js +47 -77
- package/lib/cjs/hooks/use-col-hidden.js +16 -28
- package/lib/cjs/hooks/use-col-set.js +5 -18
- package/lib/cjs/hooks/use-col-sorter.js +18 -32
- package/lib/cjs/hooks/use-col-width.js +21 -57
- package/lib/cjs/hooks/use-colgroup.js +63 -85
- package/lib/cjs/hooks/use-drag.js +10 -31
- package/lib/cjs/hooks/use-embed-expand.js +23 -68
- package/lib/cjs/hooks/use-expand.js +32 -64
- package/lib/cjs/hooks/use-pagination.js +19 -50
- package/lib/cjs/hooks/use-queue.js +2 -14
- package/lib/cjs/icons/index.js +4 -21
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/node_modules/classnames/index.js +2 -11
- package/lib/cjs/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -227
- package/lib/cjs/node_modules/rc-resize-observer/es/index.js +10 -68
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +1 -17
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +1 -25
- package/lib/cjs/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +1 -5
- package/lib/cjs/node_modules/rc-util/es/Dom/canUseDom.js +0 -2
- package/lib/cjs/node_modules/rc-util/es/Dom/findDOMNode.js +1 -14
- package/lib/cjs/node_modules/rc-util/es/hooks/useLayoutEffect.js +2 -9
- package/lib/cjs/node_modules/rc-util/es/raf.js +0 -11
- package/lib/cjs/node_modules/rc-virtual-list/es/Filler.js +6 -25
- package/lib/cjs/node_modules/rc-virtual-list/es/Item.js +3 -14
- package/lib/cjs/node_modules/rc-virtual-list/es/List.js +103 -194
- package/lib/cjs/node_modules/rc-virtual-list/es/ScrollBar.js +16 -96
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useChildren.js +2 -11
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +8 -34
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -10
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useHeights.js +6 -39
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -16
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -9
- package/lib/cjs/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +3 -28
- package/lib/cjs/node_modules/rc-virtual-list/es/index.js +0 -2
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -9
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +0 -15
- package/lib/cjs/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -2
- package/lib/cjs/node_modules/react-is/cjs/react-is.development.js +3 -29
- package/lib/cjs/node_modules/react-is/cjs/react-is.production.min.js +19 -45
- package/lib/cjs/node_modules/react-is/index.js +0 -5
- package/lib/cjs/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +83 -248
- package/lib/cjs/packages/hooks/use-merge-refs/lib/esm/index.js +3 -14
- package/lib/cjs/packages/ui/scrollbar/lib/esm/Scrollbar.js +48 -86
- package/lib/cjs/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -15
- package/lib/cjs/packages/ui/scrollbar/lib/esm/utils/index.js +0 -13
- package/lib/cjs/styles/index.scss.js +1 -4
- package/lib/cjs/use-table.js +268 -355
- package/lib/cjs/utils/index.js +11 -45
- package/lib/esm/BaseTable.js +117 -138
- package/lib/esm/ColGroupContent.js +3 -9
- package/lib/esm/SettingDrawer.js +64 -83
- package/lib/esm/Table.js +97 -124
- package/lib/esm/TableAdvancedFilter.js +37 -47
- package/lib/esm/TableBody.js +24 -34
- package/lib/esm/TableCell.js +48 -72
- package/lib/esm/TableColumnMenu.js +24 -38
- package/lib/esm/TableEmbedRow.js +8 -15
- package/lib/esm/TableHeader.js +5 -11
- package/lib/esm/TableRow.js +36 -51
- package/lib/esm/TableSettingMenu.js +33 -49
- package/lib/esm/TbodyContent.js +20 -27
- package/lib/esm/TheadContent.js +14 -21
- package/lib/esm/context.js +0 -4
- package/lib/esm/hooks/use-async-switch.js +9 -28
- package/lib/esm/hooks/use-check.js +42 -55
- package/lib/esm/hooks/use-col-hidden.js +16 -21
- package/lib/esm/hooks/use-col-set.js +5 -13
- package/lib/esm/hooks/use-col-sorter.js +18 -23
- package/lib/esm/hooks/use-col-width.js +14 -34
- package/lib/esm/hooks/use-colgroup.js +60 -66
- package/lib/esm/hooks/use-drag.js +9 -13
- package/lib/esm/hooks/use-embed-expand.js +20 -42
- package/lib/esm/hooks/use-expand.js +32 -56
- package/lib/esm/hooks/use-pagination.js +13 -25
- package/lib/esm/hooks/use-queue.js +2 -10
- package/lib/esm/node_modules/classnames/index.js +2 -9
- package/lib/esm/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js +31 -228
- package/lib/esm/node_modules/rc-resize-observer/es/index.js +3 -26
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Children/toArray.js +0 -3
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/ref.js +0 -8
- package/lib/esm/node_modules/rc-resize-observer/node_modules/rc-util/es/warning.js +0 -5
- package/lib/esm/node_modules/rc-util/es/Dom/canUseDom.js +0 -1
- package/lib/esm/node_modules/rc-util/es/Dom/findDOMNode.js +1 -2
- package/lib/esm/node_modules/rc-util/es/hooks/useLayoutEffect.js +1 -0
- package/lib/esm/node_modules/rc-util/es/raf.js +0 -10
- package/lib/esm/node_modules/rc-virtual-list/es/Filler.js +4 -15
- package/lib/esm/node_modules/rc-virtual-list/es/Item.js +1 -3
- package/lib/esm/node_modules/rc-virtual-list/es/List.js +101 -174
- package/lib/esm/node_modules/rc-virtual-list/es/ScrollBar.js +14 -86
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useChildren.js +0 -2
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useDiffItem.js +6 -25
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js +0 -6
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useHeights.js +4 -28
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js +0 -13
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useOriginScroll.js +4 -8
- package/lib/esm/node_modules/rc-virtual-list/es/hooks/useScrollTo.js +1 -19
- package/lib/esm/node_modules/rc-virtual-list/es/index.js +1 -1
- package/lib/esm/node_modules/rc-virtual-list/es/utils/CacheMap.js +2 -8
- package/lib/esm/node_modules/rc-virtual-list/es/utils/algorithmUtil.js +1 -12
- package/lib/esm/node_modules/rc-virtual-list/es/utils/isFirefox.js +0 -1
- package/lib/esm/node_modules/react-is/cjs/react-is.development.js +4 -27
- package/lib/esm/node_modules/react-is/cjs/react-is.production.min.js +20 -44
- package/lib/esm/node_modules/react-is/index.js +0 -1
- package/lib/esm/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js +82 -248
- package/lib/esm/packages/hooks/use-merge-refs/lib/esm/index.js +3 -9
- package/lib/esm/packages/ui/scrollbar/lib/esm/Scrollbar.js +47 -64
- package/lib/esm/packages/ui/scrollbar/lib/esm/styles/index.scss.js +1 -3
- package/lib/esm/packages/ui/scrollbar/lib/esm/utils/index.js +0 -10
- package/lib/esm/styles/index.scss.js +1 -3
- package/lib/esm/use-table.js +261 -318
- package/lib/esm/utils/index.js +11 -41
- package/lib/types/BaseTable.d.ts +2 -2
- package/package.json +33 -33
package/lib/cjs/TableEmbedRow.js
CHANGED
|
@@ -9,51 +9,26 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var React = require('react');
|
|
19
|
-
|
|
20
13
|
var classname = require('@hi-ui/classname');
|
|
21
|
-
|
|
22
14
|
var env = require('@hi-ui/env');
|
|
23
|
-
|
|
24
15
|
var context = require('./context.js');
|
|
25
|
-
|
|
26
16
|
var Loading = require('@hi-ui/loading');
|
|
27
|
-
|
|
28
|
-
function _interopDefaultLegacy(e) {
|
|
29
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
30
|
-
'default': e
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
|
-
|
|
36
|
-
var Loading__default = /*#__PURE__*/_interopDefaultLegacy(Loading);
|
|
37
|
-
|
|
38
17
|
var _prefix = classname.getPrefixCls('table-embed-row');
|
|
39
18
|
/**
|
|
40
19
|
* 可展开的内嵌面板
|
|
41
20
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
21
|
var TableEmbedRow = function TableEmbedRow(_ref) {
|
|
45
22
|
var _ref$prefixCls = _ref.prefixCls,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
23
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
24
|
+
colSpan = _ref.colSpan,
|
|
25
|
+
rowIndex = _ref.rowIndex,
|
|
26
|
+
rowData = _ref.rowData;
|
|
51
27
|
var _useTableContext = context.useTableContext(),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
28
|
+
isExpandEmbedRows = _useTableContext.isExpandEmbedRows,
|
|
29
|
+
getEmbedPanelById = _useTableContext.getEmbedPanelById,
|
|
30
|
+
isEmbedLoadingId = _useTableContext.isEmbedLoadingId,
|
|
31
|
+
onEmbedSwitch = _useTableContext.onEmbedSwitch;
|
|
57
32
|
var loading = isEmbedLoadingId(rowData.id);
|
|
58
33
|
var expanded = isExpandEmbedRows(rowData.id);
|
|
59
34
|
React.useEffect(function () {
|
|
@@ -62,20 +37,18 @@ var TableEmbedRow = function TableEmbedRow(_ref) {
|
|
|
62
37
|
onEmbedSwitch(rowData, rowIndex);
|
|
63
38
|
}
|
|
64
39
|
}, [onEmbedSwitch, expanded, rowData, rowIndex]);
|
|
65
|
-
return expanded ? /*#__PURE__*/
|
|
40
|
+
return expanded ? /*#__PURE__*/React.createElement("tr", {
|
|
66
41
|
key: "expanded-row",
|
|
67
42
|
className: prefixCls
|
|
68
|
-
}, /*#__PURE__*/
|
|
43
|
+
}, /*#__PURE__*/React.createElement("td", {
|
|
69
44
|
colSpan: colSpan
|
|
70
|
-
}, /*#__PURE__*/
|
|
45
|
+
}, /*#__PURE__*/React.createElement(Loading, {
|
|
71
46
|
size: "sm",
|
|
72
47
|
visible: loading,
|
|
73
48
|
part: true
|
|
74
49
|
}, getEmbedPanelById(rowData.id)))) : null;
|
|
75
50
|
};
|
|
76
|
-
|
|
77
51
|
if (env.__DEV__) {
|
|
78
52
|
TableEmbedRow.displayName = 'TableEmbedRow';
|
|
79
53
|
}
|
|
80
|
-
|
|
81
54
|
exports.TableEmbedRow = TableEmbedRow;
|
package/lib/cjs/TableHeader.js
CHANGED
|
@@ -9,60 +9,35 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var React = require('react');
|
|
19
|
-
|
|
20
13
|
var classname = require('@hi-ui/classname');
|
|
21
|
-
|
|
22
14
|
var env = require('@hi-ui/env');
|
|
23
|
-
|
|
24
15
|
var context = require('./context.js');
|
|
25
|
-
|
|
26
16
|
var ColGroupContent = require('./ColGroupContent.js');
|
|
27
|
-
|
|
28
17
|
var TheadContent = require('./TheadContent.js');
|
|
29
|
-
|
|
30
|
-
function _interopDefaultLegacy(e) {
|
|
31
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
32
|
-
'default': e
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
37
|
-
|
|
38
18
|
var _prefix = classname.getPrefixCls('table-header');
|
|
39
|
-
|
|
40
19
|
var TableHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
41
20
|
var _ref$prefixCls = _ref.prefixCls,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
21
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
22
|
+
className = _ref.className;
|
|
45
23
|
var _useTableContext = context.useTableContext(),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
24
|
+
onTableBodyScrollMock = _useTableContext.onTableBodyScrollMock,
|
|
25
|
+
scrollHeaderElementRef = _useTableContext.scrollHeaderElementRef,
|
|
26
|
+
getTableHeaderProps = _useTableContext.getTableHeaderProps;
|
|
50
27
|
var cls = classname.cx(prefixCls, className);
|
|
51
|
-
return /*#__PURE__*/
|
|
28
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
52
29
|
className: cls,
|
|
53
30
|
ref: scrollHeaderElementRef
|
|
54
|
-
}, getTableHeaderProps()), /*#__PURE__*/
|
|
31
|
+
}, getTableHeaderProps()), /*#__PURE__*/React.createElement("table", {
|
|
55
32
|
style: {
|
|
56
33
|
width: '100%',
|
|
57
34
|
position: 'relative'
|
|
58
35
|
}
|
|
59
|
-
}, /*#__PURE__*/
|
|
36
|
+
}, /*#__PURE__*/React.createElement(ColGroupContent.ColGroupContent, null), /*#__PURE__*/React.createElement(TheadContent.TheadContent, {
|
|
60
37
|
onWheel: onTableBodyScrollMock
|
|
61
38
|
})));
|
|
62
39
|
});
|
|
63
|
-
|
|
64
40
|
if (env.__DEV__) {
|
|
65
41
|
TableHeader.displayName = 'TableHeader';
|
|
66
42
|
}
|
|
67
|
-
|
|
68
43
|
exports.TableHeader = TableHeader;
|
package/lib/cjs/TableRow.js
CHANGED
|
@@ -9,88 +9,57 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var React = require('react');
|
|
19
|
-
|
|
20
13
|
var classname = require('@hi-ui/classname');
|
|
21
|
-
|
|
22
14
|
var env = require('@hi-ui/env');
|
|
23
|
-
|
|
24
15
|
var context = require('./context.js');
|
|
25
|
-
|
|
26
16
|
var TableCell = require('./TableCell.js');
|
|
27
|
-
|
|
28
17
|
var TableEmbedRow = require('./TableEmbedRow.js');
|
|
29
|
-
|
|
30
18
|
var useLatest = require('@hi-ui/use-latest');
|
|
31
|
-
|
|
32
19
|
var domUtils = require('@hi-ui/dom-utils');
|
|
33
|
-
|
|
34
20
|
var Table = require('./Table.js');
|
|
35
|
-
|
|
36
21
|
var BaseTable = require('./BaseTable.js');
|
|
37
|
-
|
|
38
22
|
var typeAssertion = require('@hi-ui/type-assertion');
|
|
39
|
-
|
|
40
|
-
function _interopDefaultLegacy(e) {
|
|
41
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
42
|
-
'default': e
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
47
|
-
|
|
48
23
|
var _role = 'table';
|
|
49
|
-
|
|
50
24
|
var _prefix = classname.getPrefixCls(_role);
|
|
51
|
-
|
|
52
25
|
var EMBED_ON_ROW_PROPS = {};
|
|
53
26
|
var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
54
27
|
var _ref$prefixCls = _ref.prefixCls,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
28
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
29
|
+
rowDataProp = _ref.rowData,
|
|
30
|
+
rowIndex = _ref.rowIndex,
|
|
31
|
+
expandedTree = _ref.expandedTree,
|
|
32
|
+
isSumRow = _ref.isSumRow,
|
|
33
|
+
isAvgRow = _ref.isAvgRow;
|
|
62
34
|
var _useTableContext = context.useTableContext(),
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
35
|
+
striped = _useTableContext.striped,
|
|
36
|
+
showRowHighlight = _useTableContext.showRowHighlight,
|
|
37
|
+
onHighlightedRowChange = _useTableContext.onHighlightedRowChange,
|
|
38
|
+
isHighlightedRow = _useTableContext.isHighlightedRow,
|
|
39
|
+
flattedColumnsWithoutChildren = _useTableContext.flattedColumnsWithoutChildren,
|
|
40
|
+
isErrorRow = _useTableContext.isErrorRow,
|
|
41
|
+
columns = _useTableContext.columns,
|
|
42
|
+
embedExpandable = _useTableContext.embedExpandable,
|
|
43
|
+
draggable = _useTableContext.draggable,
|
|
44
|
+
onDragStartContext = _useTableContext.onDragStart,
|
|
45
|
+
onDragLeaveContext = _useTableContext.onDragLeave,
|
|
46
|
+
onDragEndContext = _useTableContext.onDragEnd,
|
|
47
|
+
onDropContext = _useTableContext.onDrop,
|
|
48
|
+
dragRowRef = _useTableContext.dragRowRef,
|
|
49
|
+
onRow = _useTableContext.onRow,
|
|
50
|
+
colWidths = _useTableContext.colWidths,
|
|
51
|
+
virtual = _useTableContext.virtual;
|
|
81
52
|
var rowData = rowDataProp.raw,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var _React$useState =
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
setDragDirection = _React$useState2[1];
|
|
91
|
-
|
|
53
|
+
rowId = rowDataProp.id;
|
|
54
|
+
// ** ************** 拖拽管理 *************** *//
|
|
55
|
+
var _React$useState = React.useState(false),
|
|
56
|
+
dragging = _React$useState[0],
|
|
57
|
+
setDragging = _React$useState[1];
|
|
58
|
+
var _React$useState2 = React.useState(),
|
|
59
|
+
dragDirection = _React$useState2[0],
|
|
60
|
+
setDragDirection = _React$useState2[1];
|
|
92
61
|
var onDragStartContextLatest = useLatest.useLatestCallback(onDragStartContext);
|
|
93
|
-
var onDragStart =
|
|
62
|
+
var onDragStart = React.useCallback(function (evt) {
|
|
94
63
|
if (!draggable) return;
|
|
95
64
|
evt.stopPropagation();
|
|
96
65
|
var clientY = evt.clientY;
|
|
@@ -107,17 +76,16 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
107
76
|
dragNode: rowData
|
|
108
77
|
});
|
|
109
78
|
}, [draggable, dragRowRef, onDragStartContextLatest, rowData, rowId]);
|
|
110
|
-
var onDragOver =
|
|
79
|
+
var onDragOver = React.useCallback(function (evt) {
|
|
111
80
|
if (!draggable) return;
|
|
112
81
|
evt.preventDefault();
|
|
113
82
|
evt.stopPropagation();
|
|
114
83
|
if (!dragRowRef.current) return;
|
|
115
84
|
var _dragRowRef$current = dragRowRef.current,
|
|
116
|
-
|
|
117
|
-
|
|
85
|
+
startClientY = _dragRowRef$current.startClientY,
|
|
86
|
+
dragId = _dragRowRef$current.dragId;
|
|
118
87
|
if (dragId === rowId) return;
|
|
119
88
|
var hoverClientY = evt.clientY;
|
|
120
|
-
|
|
121
89
|
if (hoverClientY < startClientY) {
|
|
122
90
|
setDragDirection('top');
|
|
123
91
|
} else {
|
|
@@ -125,7 +93,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
125
93
|
}
|
|
126
94
|
}, [draggable, dragRowRef, rowId]);
|
|
127
95
|
var onDragLeaveContextLatest = useLatest.useLatestCallback(onDragLeaveContext);
|
|
128
|
-
var onDragLeave =
|
|
96
|
+
var onDragLeave = React.useCallback(function (evt) {
|
|
129
97
|
if (!draggable) return;
|
|
130
98
|
evt.preventDefault();
|
|
131
99
|
evt.stopPropagation();
|
|
@@ -133,7 +101,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
133
101
|
onDragLeaveContextLatest(evt);
|
|
134
102
|
}, [draggable, onDragLeaveContextLatest]);
|
|
135
103
|
var onDragEndContextLatest = useLatest.useLatestCallback(onDragEndContext);
|
|
136
|
-
var onDragEnd =
|
|
104
|
+
var onDragEnd = React.useCallback(function (evt) {
|
|
137
105
|
if (!draggable) return;
|
|
138
106
|
evt.preventDefault();
|
|
139
107
|
evt.stopPropagation();
|
|
@@ -143,9 +111,9 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
143
111
|
setDragging(false);
|
|
144
112
|
onDragEndContextLatest(evt);
|
|
145
113
|
}, [draggable, dragRowRef, onDragEndContextLatest]);
|
|
146
|
-
var onDropContextLatest = useLatest.useLatestCallback(onDropContext);
|
|
147
|
-
|
|
148
|
-
var onDrop =
|
|
114
|
+
var onDropContextLatest = useLatest.useLatestCallback(onDropContext);
|
|
115
|
+
// 放置目标元素时触发事件
|
|
116
|
+
var onDrop = React.useCallback(function (evt) {
|
|
149
117
|
if (!draggable) return;
|
|
150
118
|
if (!dragRowRef.current) return;
|
|
151
119
|
var dragId = dragRowRef.current.dragId;
|
|
@@ -155,17 +123,15 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
155
123
|
dragRowRef.current = null;
|
|
156
124
|
var targetId = rowId;
|
|
157
125
|
if (dragId === targetId) return;
|
|
158
|
-
|
|
159
126
|
try {
|
|
160
127
|
var _JSON$parse = JSON.parse(evt.dataTransfer.getData('tableRow')),
|
|
161
|
-
|
|
162
|
-
|
|
128
|
+
sourceId = _JSON$parse.sourceId;
|
|
163
129
|
onDropContextLatest(evt, sourceId, targetId, dragDirection);
|
|
164
130
|
} catch (error) {
|
|
165
131
|
console.error(error);
|
|
166
132
|
}
|
|
167
|
-
}, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]);
|
|
168
|
-
|
|
133
|
+
}, [draggable, dragRowRef, onDropContextLatest, dragDirection, rowId]);
|
|
134
|
+
// ** ************** 行状态管理 *************** *//
|
|
169
135
|
var highlighted = isHighlightedRow(rowId);
|
|
170
136
|
var hasError = isErrorRow(rowId);
|
|
171
137
|
var cls = classname.cx(prefixCls + "-row", showRowHighlight && prefixCls + "-row--hover", striped && (rowIndex & 1) === 1 && prefixCls + "-row--striped", hasError && prefixCls + "-row--error", highlighted && prefixCls + "-row--highlight", draggable && prefixCls + "-row--draggable", draggable && dragging && prefixCls + "-row--dragging", draggable && dragDirection && prefixCls + "-row--drag-" + dragDirection, isSumRow && prefixCls + "-row--total", isAvgRow && prefixCls + "-row--avg", virtual && prefixCls + "-row--virtual");
|
|
@@ -180,9 +146,8 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
180
146
|
});
|
|
181
147
|
return tmpWidth;
|
|
182
148
|
}, [colWidths]);
|
|
183
|
-
|
|
184
149
|
if (virtual) {
|
|
185
|
-
return /*#__PURE__*/
|
|
150
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", Object.assign({
|
|
186
151
|
ref: ref,
|
|
187
152
|
className: cls,
|
|
188
153
|
key: "row"
|
|
@@ -191,14 +156,13 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
191
156
|
if (rowExtraProps.onDoubleClick) {
|
|
192
157
|
rowExtraProps.onDoubleClick(evt);
|
|
193
158
|
}
|
|
194
|
-
|
|
195
159
|
onHighlightedRowChange(rowDataProp, !highlighted);
|
|
196
160
|
},
|
|
197
161
|
style: Object.assign(Object.assign({}, rowExtraProps.style), {
|
|
198
162
|
width: rowWidth
|
|
199
163
|
})
|
|
200
164
|
}), flattedColumnsWithoutChildren.map(function (column, idx) {
|
|
201
|
-
return /*#__PURE__*/
|
|
165
|
+
return /*#__PURE__*/React.createElement(TableCell.TableCell, {
|
|
202
166
|
key: idx,
|
|
203
167
|
column: column,
|
|
204
168
|
isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
|
|
@@ -209,8 +173,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
209
173
|
});
|
|
210
174
|
})));
|
|
211
175
|
}
|
|
212
|
-
|
|
213
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("tr", Object.assign({
|
|
176
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("tr", Object.assign({
|
|
214
177
|
ref: ref,
|
|
215
178
|
className: cls,
|
|
216
179
|
key: "row"
|
|
@@ -219,7 +182,6 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
219
182
|
if (rowExtraProps.onDoubleClick) {
|
|
220
183
|
rowExtraProps.onDoubleClick(evt);
|
|
221
184
|
}
|
|
222
|
-
|
|
223
185
|
onHighlightedRowChange(rowDataProp, !highlighted);
|
|
224
186
|
},
|
|
225
187
|
draggable: domUtils.setAttrAria(draggable),
|
|
@@ -229,7 +191,7 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
229
191
|
onDragLeave: onDragLeave,
|
|
230
192
|
onDrop: onDrop
|
|
231
193
|
}), flattedColumnsWithoutChildren.map(function (column, idx) {
|
|
232
|
-
return /*#__PURE__*/
|
|
194
|
+
return /*#__PURE__*/React.createElement(TableCell.TableCell, {
|
|
233
195
|
key: idx,
|
|
234
196
|
column: column,
|
|
235
197
|
isSwitcherCol: firstColumn ? firstColumn.id === column.id : false,
|
|
@@ -238,15 +200,13 @@ var TableRow = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
238
200
|
colIndex: idx,
|
|
239
201
|
expandedTree: expandedTree
|
|
240
202
|
});
|
|
241
|
-
})), embedExpandable ? /*#__PURE__*/
|
|
203
|
+
})), embedExpandable ? /*#__PURE__*/React.createElement(TableEmbedRow.TableEmbedRow, {
|
|
242
204
|
colSpan: columns.length,
|
|
243
205
|
rowData: rowDataProp,
|
|
244
206
|
rowIndex: rowIndex
|
|
245
207
|
}) : null);
|
|
246
208
|
});
|
|
247
|
-
|
|
248
209
|
if (env.__DEV__) {
|
|
249
210
|
TableRow.displayName = 'TableRow';
|
|
250
211
|
}
|
|
251
|
-
|
|
252
212
|
exports.TableRow = TableRow;
|
|
@@ -9,93 +9,57 @@
|
|
|
9
9
|
*/
|
|
10
10
|
'use strict';
|
|
11
11
|
|
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
|
15
|
-
value: true
|
|
16
|
-
});
|
|
17
|
-
|
|
18
12
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
19
|
-
|
|
20
13
|
var tslib = require('tslib');
|
|
21
|
-
|
|
22
14
|
var React = require('react');
|
|
23
|
-
|
|
24
15
|
var classname = require('@hi-ui/classname');
|
|
25
|
-
|
|
26
16
|
var env = require('@hi-ui/env');
|
|
27
|
-
|
|
28
17
|
var icons = require('@hi-ui/icons');
|
|
29
|
-
|
|
30
18
|
var iconButton = require('@hi-ui/icon-button');
|
|
31
|
-
|
|
32
19
|
var useToggle = require('@hi-ui/use-toggle');
|
|
33
|
-
|
|
34
20
|
var useLatest = require('@hi-ui/use-latest');
|
|
35
|
-
|
|
36
21
|
var core = require('@hi-ui/core');
|
|
37
|
-
|
|
38
22
|
var funcUtils = require('@hi-ui/func-utils');
|
|
39
|
-
|
|
40
23
|
var useDragSorter = require('@hi-ui/use-drag-sorter');
|
|
41
|
-
|
|
42
24
|
var drawer = require('@hi-ui/drawer');
|
|
43
|
-
|
|
44
25
|
var button = require('@hi-ui/button');
|
|
45
|
-
|
|
46
26
|
var Checkbox = require('@hi-ui/checkbox');
|
|
47
|
-
|
|
48
|
-
function _interopDefaultLegacy(e) {
|
|
49
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
|
50
|
-
'default': e
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
55
|
-
|
|
56
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
57
|
-
|
|
58
27
|
var _prefix = classname.getPrefixCls('table-setting');
|
|
59
28
|
/**
|
|
60
29
|
* 表头右侧高级设置菜单(抽屉式)
|
|
61
30
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
31
|
var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
65
32
|
var _ref$prefixCls = _ref.prefixCls,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
33
|
+
prefixCls = _ref$prefixCls === void 0 ? _prefix : _ref$prefixCls,
|
|
34
|
+
sortedCols = _ref.sortedCols,
|
|
35
|
+
setSortColKeys = _ref.setSortColKeys,
|
|
36
|
+
cacheSortedCols = _ref.cacheSortedCols,
|
|
37
|
+
setCacheSortedCols = _ref.setCacheSortedCols,
|
|
38
|
+
hiddenColKeys = _ref.hiddenColKeys,
|
|
39
|
+
setHiddenColKeys = _ref.setHiddenColKeys,
|
|
40
|
+
cacheHiddenColKeys = _ref.cacheHiddenColKeys,
|
|
41
|
+
setCacheHiddenColKeys = _ref.setCacheHiddenColKeys,
|
|
42
|
+
onSetColKeysChange = _ref.onSetColKeysChange,
|
|
43
|
+
_ref$checkDisabledCol = _ref.checkDisabledColKeys,
|
|
44
|
+
checkDisabledColKeys = _ref$checkDisabledCol === void 0 ? [] : _ref$checkDisabledCol;
|
|
78
45
|
var i18n = core.useLocaleContext();
|
|
79
46
|
var dropProps = useDragSorter.useDrop({
|
|
80
47
|
draggable: true,
|
|
81
48
|
idFieldName: 'dataKey',
|
|
82
49
|
onSwap: function onSwap(dragItem, dropItem, direction, info) {
|
|
83
|
-
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/
|
|
84
|
-
return
|
|
50
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
51
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
85
52
|
while (1) {
|
|
86
53
|
switch (_context.prev = _context.next) {
|
|
87
54
|
case 0:
|
|
88
55
|
setCacheSortedCols(function (prev) {
|
|
89
56
|
var nextCacheSortCols = [].concat(prev);
|
|
90
|
-
|
|
91
57
|
var _nextCacheSortCols$sp = nextCacheSortCols.splice(info.dragIndex, 1),
|
|
92
|
-
|
|
93
|
-
|
|
58
|
+
removed = _nextCacheSortCols$sp[0];
|
|
94
59
|
nextCacheSortCols.splice(info.dropIndex, 0, removed);
|
|
95
60
|
return nextCacheSortCols;
|
|
96
61
|
});
|
|
97
62
|
return _context.abrupt("return", true);
|
|
98
|
-
|
|
99
63
|
case 2:
|
|
100
64
|
case "end":
|
|
101
65
|
return _context.stop();
|
|
@@ -105,25 +69,21 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
105
69
|
}));
|
|
106
70
|
}
|
|
107
71
|
});
|
|
108
|
-
|
|
109
72
|
var _useToggle = useToggle.useToggle(),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
73
|
+
menuVisible = _useToggle[0],
|
|
74
|
+
menuVisibleAction = _useToggle[1];
|
|
113
75
|
var resetLatest = useLatest.useLatestCallback(function () {
|
|
114
76
|
setCacheHiddenColKeys(hiddenColKeys);
|
|
115
77
|
setCacheSortedCols(sortedCols);
|
|
116
|
-
});
|
|
117
|
-
|
|
78
|
+
});
|
|
79
|
+
// 当 visible 由 false 变为 true 时触发
|
|
118
80
|
var prevShowPopperRef = React.useRef(!menuVisible);
|
|
119
81
|
React.useEffect(function () {
|
|
120
82
|
if (!prevShowPopperRef.current && menuVisible) {
|
|
121
83
|
resetLatest();
|
|
122
84
|
}
|
|
123
|
-
|
|
124
85
|
prevShowPopperRef.current = menuVisible;
|
|
125
86
|
}, [menuVisible, resetLatest]);
|
|
126
|
-
|
|
127
87
|
var onConfirm = function onConfirm() {
|
|
128
88
|
// 触发 table 更新列显隐及排序
|
|
129
89
|
setHiddenColKeys(cacheHiddenColKeys);
|
|
@@ -134,36 +94,35 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
134
94
|
onSetColKeysChange && onSetColKeysChange(newSortKeys, cacheHiddenColKeys);
|
|
135
95
|
menuVisibleAction.off();
|
|
136
96
|
};
|
|
137
|
-
|
|
138
97
|
var cls = classname.cx(prefixCls);
|
|
139
|
-
return /*#__PURE__*/
|
|
98
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
140
99
|
ref: ref,
|
|
141
100
|
className: cls
|
|
142
|
-
}, /*#__PURE__*/
|
|
143
|
-
icon: /*#__PURE__*/
|
|
101
|
+
}, /*#__PURE__*/React.createElement(iconButton.IconButton, {
|
|
102
|
+
icon: /*#__PURE__*/React.createElement(icons.EllipsisVerticalOutlined, null),
|
|
144
103
|
onClick: menuVisibleAction.not
|
|
145
|
-
}), /*#__PURE__*/
|
|
104
|
+
}), /*#__PURE__*/React.createElement(drawer.Drawer, {
|
|
146
105
|
className: prefixCls + "__drawer",
|
|
147
106
|
title: i18n.get('table.fieldExplorer'),
|
|
148
107
|
visible: menuVisible,
|
|
149
108
|
onClose: menuVisibleAction.off,
|
|
150
109
|
width: 304,
|
|
151
|
-
footer: /*#__PURE__*/
|
|
110
|
+
footer: /*#__PURE__*/React.createElement("div", {
|
|
152
111
|
className: prefixCls + "__btn-group"
|
|
153
|
-
}, /*#__PURE__*/
|
|
112
|
+
}, /*#__PURE__*/React.createElement(button.Button, {
|
|
154
113
|
key: 0,
|
|
155
114
|
className: prefixCls + "__btn-cancel",
|
|
156
115
|
onClick: resetLatest
|
|
157
|
-
}, i18n.get('table.reset')), /*#__PURE__*/
|
|
116
|
+
}, i18n.get('table.reset')), /*#__PURE__*/React.createElement(button.Button, {
|
|
158
117
|
key: 1,
|
|
159
118
|
className: prefixCls + "__btn-confirm",
|
|
160
119
|
onClick: onConfirm,
|
|
161
120
|
type: "primary"
|
|
162
121
|
}, i18n.get('table.confirm')))
|
|
163
|
-
}, /*#__PURE__*/
|
|
122
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
164
123
|
className: prefixCls + "__content"
|
|
165
124
|
}, cacheSortedCols.map(function (col, index) {
|
|
166
|
-
return /*#__PURE__*/
|
|
125
|
+
return /*#__PURE__*/React.createElement(TableSettingMenuItem, {
|
|
167
126
|
key: col.dataKey,
|
|
168
127
|
prefixCls: prefixCls,
|
|
169
128
|
column: col,
|
|
@@ -175,38 +134,34 @@ var TableSettingMenu = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
175
134
|
});
|
|
176
135
|
}))));
|
|
177
136
|
});
|
|
178
|
-
|
|
179
137
|
if (env.__DEV__) {
|
|
180
138
|
TableSettingMenu.displayName = 'TableSettingMenu';
|
|
181
139
|
}
|
|
182
|
-
|
|
183
140
|
function TableSettingMenuItem(_ref2) {
|
|
184
141
|
var prefixCls = _ref2.prefixCls,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
142
|
+
column = _ref2.column,
|
|
143
|
+
cacheHiddenColKeys = _ref2.cacheHiddenColKeys,
|
|
144
|
+
setCacheHiddenColKeys = _ref2.setCacheHiddenColKeys,
|
|
145
|
+
dropProps = _ref2.dropProps,
|
|
146
|
+
index = _ref2.index,
|
|
147
|
+
checkDisabled = _ref2.checkDisabled;
|
|
191
148
|
var dataKey = column.dataKey,
|
|
192
|
-
|
|
193
|
-
|
|
149
|
+
title = column.title;
|
|
194
150
|
var _useDrag = useDragSorter.useDrag(Object.assign(Object.assign({}, dropProps), {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
|
151
|
+
item: column,
|
|
152
|
+
index: index,
|
|
153
|
+
idFieldName: 'dataKey',
|
|
154
|
+
dataTransferKey: 'table-setting-data'
|
|
155
|
+
})),
|
|
156
|
+
dragging = _useDrag.dragging,
|
|
157
|
+
direction = _useDrag.direction,
|
|
158
|
+
getDragTriggerProps = _useDrag.getDragTriggerProps,
|
|
159
|
+
getDropTriggerProps = _useDrag.getDropTriggerProps;
|
|
160
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
206
161
|
className: classname.cx(prefixCls + "-item", dragging && prefixCls + "-item--dragging", direction && prefixCls + "-item--direction-" + direction)
|
|
207
|
-
}, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/
|
|
162
|
+
}, getDragTriggerProps(), getDropTriggerProps()), /*#__PURE__*/React.createElement("div", {
|
|
208
163
|
className: prefixCls + "-item__wrap"
|
|
209
|
-
}, /*#__PURE__*/
|
|
164
|
+
}, /*#__PURE__*/React.createElement(Checkbox.Checkbox, {
|
|
210
165
|
disabled: checkDisabled,
|
|
211
166
|
checked: !cacheHiddenColKeys.includes(dataKey),
|
|
212
167
|
onChange: function onChange(evt) {
|
|
@@ -216,7 +171,6 @@ function TableSettingMenuItem(_ref2) {
|
|
|
216
171
|
}) : cacheHiddenColKeys.concat(dataKey);
|
|
217
172
|
setCacheHiddenColKeys(nextCacheHiddenColKeys);
|
|
218
173
|
}
|
|
219
|
-
}, /*#__PURE__*/
|
|
174
|
+
}, /*#__PURE__*/React.createElement("span", null, funcUtils.runIfFunc(title))), /*#__PURE__*/React.createElement(icons.MoveOutlined, null)));
|
|
220
175
|
}
|
|
221
|
-
|
|
222
176
|
exports.TableSettingMenu = TableSettingMenu;
|