@sheinx/base 3.7.0-beta.2 → 3.7.0-beta.21
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/cjs/cascader/cascader.d.ts.map +1 -1
- package/cjs/cascader/cascader.js +4 -2
- package/cjs/cascader/cascader.type.d.ts +1 -1
- package/cjs/cascader/cascader.type.d.ts.map +1 -1
- package/cjs/form/form-flow.js +1 -1
- package/cjs/form/form-footer-context.d.ts +2 -1
- package/cjs/form/form-footer-context.d.ts.map +1 -1
- package/cjs/form/form.d.ts.map +1 -1
- package/cjs/form/form.js +4 -2
- package/cjs/icons/config.d.ts +2 -2
- package/cjs/icons/config.js +3 -3
- package/cjs/icons/icons.js +5 -1
- package/cjs/image/image.d.ts.map +1 -1
- package/cjs/image/image.js +3 -2
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +12 -0
- package/cjs/modal/modal-content.d.ts.map +1 -1
- package/cjs/modal/modal-content.js +2 -0
- package/cjs/modal/modal-submit.d.ts.map +1 -1
- package/cjs/modal/modal-submit.js +10 -3
- package/cjs/modal/modal.d.ts.map +1 -1
- package/cjs/modal/modal.js +3 -0
- package/cjs/popover/popover.d.ts.map +1 -1
- package/cjs/popover/popover.js +29 -1
- package/cjs/select/list.d.ts.map +1 -1
- package/cjs/select/list.js +2 -1
- package/cjs/select/result-more.d.ts.map +1 -1
- package/cjs/select/result-more.js +5 -1
- package/cjs/select/result-more.type.d.ts +1 -0
- package/cjs/select/result-more.type.d.ts.map +1 -1
- package/cjs/select/result.d.ts.map +1 -1
- package/cjs/select/result.js +3 -2
- package/cjs/select/result.type.d.ts +1 -0
- package/cjs/select/result.type.d.ts.map +1 -1
- package/cjs/select/select.d.ts.map +1 -1
- package/cjs/select/select.js +5 -1
- package/cjs/select/select.type.d.ts +2 -1
- package/cjs/select/select.type.d.ts.map +1 -1
- package/cjs/skeleton/button.d.ts +8 -0
- package/cjs/skeleton/button.d.ts.map +1 -0
- package/cjs/skeleton/button.js +34 -0
- package/cjs/skeleton/image.d.ts +8 -0
- package/cjs/skeleton/image.d.ts.map +1 -0
- package/cjs/skeleton/image.js +27 -0
- package/cjs/skeleton/index.d.ts +3 -0
- package/cjs/skeleton/index.d.ts.map +1 -0
- package/cjs/skeleton/index.js +20 -0
- package/cjs/skeleton/skeleton.d.ts +5 -0
- package/cjs/skeleton/skeleton.d.ts.map +1 -0
- package/cjs/skeleton/skeleton.js +58 -0
- package/cjs/skeleton/skeleton.type.d.ts +125 -0
- package/cjs/skeleton/skeleton.type.d.ts.map +1 -0
- package/cjs/skeleton/skeleton.type.js +5 -0
- package/cjs/skeleton/text.d.ts +8 -0
- package/cjs/skeleton/text.d.ts.map +1 -0
- package/cjs/skeleton/text.js +53 -0
- package/cjs/sticky/sticky.d.ts.map +1 -1
- package/cjs/sticky/sticky.js +12 -3
- package/cjs/sticky/sticky.type.d.ts +2 -2
- package/cjs/sticky/sticky.type.d.ts.map +1 -1
- package/cjs/table/table.d.ts.map +1 -1
- package/cjs/table/table.js +160 -102
- package/cjs/table/table.type.d.ts +19 -4
- package/cjs/table/table.type.d.ts.map +1 -1
- package/cjs/table/tbody.d.ts +1 -1
- package/cjs/table/tbody.d.ts.map +1 -1
- package/cjs/table/tbody.js +17 -10
- package/cjs/table/tbody.type.d.ts +2 -2
- package/cjs/table/tbody.type.d.ts.map +1 -1
- package/cjs/table/td.d.ts +3 -3
- package/cjs/table/td.d.ts.map +1 -1
- package/cjs/table/td.js +24 -18
- package/cjs/table/tfoot.d.ts.map +1 -1
- package/cjs/table/tfoot.js +0 -10
- package/cjs/table/tfoot.type.d.ts +0 -1
- package/cjs/table/tfoot.type.d.ts.map +1 -1
- package/cjs/table/thead.d.ts.map +1 -1
- package/cjs/table/thead.js +7 -19
- package/cjs/table/thead.type.d.ts +0 -1
- package/cjs/table/thead.type.d.ts.map +1 -1
- package/cjs/table/tr.d.ts +2 -2
- package/cjs/table/tr.d.ts.map +1 -1
- package/cjs/table/tr.js +32 -27
- package/cjs/tabs/tabs-panel.js +4 -3
- package/cjs/tabs/tabs.d.ts.map +1 -1
- package/cjs/tabs/tabs.js +10 -1
- package/cjs/tabs/tabs.type.d.ts +6 -0
- package/cjs/tabs/tabs.type.d.ts.map +1 -1
- package/cjs/tooltip/tooltip.d.ts.map +1 -1
- package/cjs/tooltip/tooltip.js +21 -1
- package/cjs/transfer/transfer-list.type.d.ts +1 -1
- package/cjs/transfer/transfer-list.type.d.ts.map +1 -1
- package/cjs/transfer/transfer.d.ts.map +1 -1
- package/cjs/transfer/transfer.js +16 -2
- package/cjs/transfer/transfer.type.d.ts +1 -1
- package/cjs/transfer/transfer.type.d.ts.map +1 -1
- package/cjs/tree/tree-content.d.ts.map +1 -1
- package/cjs/tree/tree-content.js +2 -3
- package/cjs/tree/tree-content.type.d.ts +1 -2
- package/cjs/tree/tree-content.type.d.ts.map +1 -1
- package/cjs/tree/tree-list.type.d.ts +1 -2
- package/cjs/tree/tree-list.type.d.ts.map +1 -1
- package/cjs/tree/tree-node.type.d.ts +2 -4
- package/cjs/tree/tree-node.type.d.ts.map +1 -1
- package/cjs/tree/tree-root.type.d.ts +1 -2
- package/cjs/tree/tree-root.type.d.ts.map +1 -1
- package/cjs/tree/tree-virtual.d.ts.map +1 -1
- package/cjs/tree/tree-virtual.js +2 -1
- package/cjs/tree/tree.d.ts.map +1 -1
- package/cjs/tree/tree.js +4 -1
- package/cjs/tree/tree.type.d.ts +3 -3
- package/cjs/tree/tree.type.d.ts.map +1 -1
- package/cjs/tree-select/tree-select.d.ts.map +1 -1
- package/cjs/tree-select/tree-select.js +20 -6
- package/cjs/tree-select/tree-select.type.d.ts +25 -2
- package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
- package/cjs/upload/upload.d.ts.map +1 -1
- package/cjs/upload/upload.js +2 -1
- package/cjs/virtual-scroll/scroll-table.d.ts +29 -0
- package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -0
- package/cjs/virtual-scroll/scroll-table.js +156 -0
- package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
- package/cjs/virtual-scroll/scroll.js +4 -4
- package/esm/cascader/cascader.d.ts.map +1 -1
- package/esm/cascader/cascader.js +4 -2
- package/esm/cascader/cascader.type.d.ts +1 -1
- package/esm/cascader/cascader.type.d.ts.map +1 -1
- package/esm/form/form-flow.js +1 -1
- package/esm/form/form-footer-context.d.ts +2 -1
- package/esm/form/form-footer-context.d.ts.map +1 -1
- package/esm/form/form.d.ts.map +1 -1
- package/esm/form/form.js +4 -2
- package/esm/icons/config.d.ts +2 -2
- package/esm/icons/config.js +3 -3
- package/esm/icons/icons.js +5 -1
- package/esm/image/image.d.ts.map +1 -1
- package/esm/image/image.js +3 -2
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/modal/modal-content.d.ts.map +1 -1
- package/esm/modal/modal-content.js +2 -0
- package/esm/modal/modal-submit.d.ts.map +1 -1
- package/esm/modal/modal-submit.js +10 -3
- package/esm/modal/modal.d.ts.map +1 -1
- package/esm/modal/modal.js +3 -0
- package/esm/popover/popover.d.ts.map +1 -1
- package/esm/popover/popover.js +29 -1
- package/esm/select/list.d.ts.map +1 -1
- package/esm/select/list.js +2 -1
- package/esm/select/result-more.d.ts.map +1 -1
- package/esm/select/result-more.js +5 -1
- package/esm/select/result-more.type.d.ts +1 -0
- package/esm/select/result-more.type.d.ts.map +1 -1
- package/esm/select/result.d.ts.map +1 -1
- package/esm/select/result.js +3 -2
- package/esm/select/result.type.d.ts +1 -0
- package/esm/select/result.type.d.ts.map +1 -1
- package/esm/select/select.d.ts.map +1 -1
- package/esm/select/select.js +5 -1
- package/esm/select/select.type.d.ts +2 -1
- package/esm/select/select.type.d.ts.map +1 -1
- package/esm/skeleton/button.d.ts +8 -0
- package/esm/skeleton/button.d.ts.map +1 -0
- package/esm/skeleton/button.js +27 -0
- package/esm/skeleton/image.d.ts +8 -0
- package/esm/skeleton/image.d.ts.map +1 -0
- package/esm/skeleton/image.js +20 -0
- package/esm/skeleton/index.d.ts +3 -0
- package/esm/skeleton/index.d.ts.map +1 -0
- package/esm/skeleton/index.js +2 -0
- package/esm/skeleton/skeleton.d.ts +5 -0
- package/esm/skeleton/skeleton.d.ts.map +1 -0
- package/esm/skeleton/skeleton.js +52 -0
- package/esm/skeleton/skeleton.type.d.ts +125 -0
- package/esm/skeleton/skeleton.type.d.ts.map +1 -0
- package/esm/skeleton/skeleton.type.js +1 -0
- package/esm/skeleton/text.d.ts +8 -0
- package/esm/skeleton/text.d.ts.map +1 -0
- package/esm/skeleton/text.js +46 -0
- package/esm/sticky/sticky.d.ts.map +1 -1
- package/esm/sticky/sticky.js +13 -4
- package/esm/sticky/sticky.type.d.ts +2 -2
- package/esm/sticky/sticky.type.d.ts.map +1 -1
- package/esm/table/table.d.ts.map +1 -1
- package/esm/table/table.js +161 -103
- package/esm/table/table.type.d.ts +19 -4
- package/esm/table/table.type.d.ts.map +1 -1
- package/esm/table/tbody.d.ts +1 -1
- package/esm/table/tbody.d.ts.map +1 -1
- package/esm/table/tbody.js +18 -11
- package/esm/table/tbody.type.d.ts +2 -2
- package/esm/table/tbody.type.d.ts.map +1 -1
- package/esm/table/td.d.ts +3 -3
- package/esm/table/td.d.ts.map +1 -1
- package/esm/table/td.js +22 -18
- package/esm/table/tfoot.d.ts.map +1 -1
- package/esm/table/tfoot.js +0 -10
- package/esm/table/tfoot.type.d.ts +0 -1
- package/esm/table/tfoot.type.d.ts.map +1 -1
- package/esm/table/thead.d.ts.map +1 -1
- package/esm/table/thead.js +7 -19
- package/esm/table/thead.type.d.ts +0 -1
- package/esm/table/thead.type.d.ts.map +1 -1
- package/esm/table/tr.d.ts +2 -2
- package/esm/table/tr.d.ts.map +1 -1
- package/esm/table/tr.js +32 -27
- package/esm/tabs/tabs-panel.js +4 -3
- package/esm/tabs/tabs.d.ts.map +1 -1
- package/esm/tabs/tabs.js +10 -1
- package/esm/tabs/tabs.type.d.ts +6 -0
- package/esm/tabs/tabs.type.d.ts.map +1 -1
- package/esm/tooltip/tooltip.d.ts.map +1 -1
- package/esm/tooltip/tooltip.js +21 -1
- package/esm/transfer/transfer-list.type.d.ts +1 -1
- package/esm/transfer/transfer-list.type.d.ts.map +1 -1
- package/esm/transfer/transfer.d.ts.map +1 -1
- package/esm/transfer/transfer.js +16 -2
- package/esm/transfer/transfer.type.d.ts +1 -1
- package/esm/transfer/transfer.type.d.ts.map +1 -1
- package/esm/tree/tree-content.d.ts.map +1 -1
- package/esm/tree/tree-content.js +2 -3
- package/esm/tree/tree-content.type.d.ts +1 -2
- package/esm/tree/tree-content.type.d.ts.map +1 -1
- package/esm/tree/tree-list.type.d.ts +1 -2
- package/esm/tree/tree-list.type.d.ts.map +1 -1
- package/esm/tree/tree-node.type.d.ts +2 -4
- package/esm/tree/tree-node.type.d.ts.map +1 -1
- package/esm/tree/tree-root.type.d.ts +1 -2
- package/esm/tree/tree-root.type.d.ts.map +1 -1
- package/esm/tree/tree-virtual.d.ts.map +1 -1
- package/esm/tree/tree-virtual.js +2 -1
- package/esm/tree/tree.d.ts.map +1 -1
- package/esm/tree/tree.js +4 -1
- package/esm/tree/tree.type.d.ts +3 -3
- package/esm/tree/tree.type.d.ts.map +1 -1
- package/esm/tree-select/tree-select.d.ts.map +1 -1
- package/esm/tree-select/tree-select.js +20 -6
- package/esm/tree-select/tree-select.type.d.ts +25 -2
- package/esm/tree-select/tree-select.type.d.ts.map +1 -1
- package/esm/upload/upload.d.ts.map +1 -1
- package/esm/upload/upload.js +2 -1
- package/esm/virtual-scroll/scroll-table.d.ts +29 -0
- package/esm/virtual-scroll/scroll-table.d.ts.map +1 -0
- package/esm/virtual-scroll/scroll-table.js +149 -0
- package/esm/virtual-scroll/scroll.d.ts.map +1 -1
- package/esm/virtual-scroll/scroll.js +4 -4
- package/package.json +2 -2
package/esm/table/table.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
var _excluded = ["data"];
|
|
2
2
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
3
3
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
4
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
5
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
6
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
9
8
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
17
|
+
import Scroll from "../virtual-scroll/scroll-table";
|
|
12
18
|
import classNames from 'classnames';
|
|
13
19
|
import Spin from "../spin";
|
|
14
20
|
import Pagination from "../pagination";
|
|
@@ -28,19 +34,6 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
28
34
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
29
35
|
var devUseWarning = util.devUseWarning;
|
|
30
36
|
var emptyArr = [];
|
|
31
|
-
var virtualScrollerStyle = {
|
|
32
|
-
flex: 1,
|
|
33
|
-
minWidth: 0,
|
|
34
|
-
minHeight: 0,
|
|
35
|
-
overflow: 'auto',
|
|
36
|
-
width: '100%'
|
|
37
|
-
};
|
|
38
|
-
var scrollWrapperStyle = {
|
|
39
|
-
flex: 1,
|
|
40
|
-
minHeight: 0,
|
|
41
|
-
minWidth: 0,
|
|
42
|
-
display: 'flex'
|
|
43
|
-
};
|
|
44
37
|
var emptyRef = {
|
|
45
38
|
current: null
|
|
46
39
|
};
|
|
@@ -59,18 +52,14 @@ export default (function (props) {
|
|
|
59
52
|
var theadRef = useRef(null);
|
|
60
53
|
var tfootRef = useRef(null);
|
|
61
54
|
var scrollRef = useRef(null);
|
|
62
|
-
var
|
|
55
|
+
var headMirrorScrollRef = useRef(null);
|
|
56
|
+
var bottomMirrorScrollRef = useRef(null);
|
|
63
57
|
var tableRef = useRef(null);
|
|
58
|
+
var _useState = useState(false),
|
|
59
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
60
|
+
scrolling = _useState2[0],
|
|
61
|
+
setScrolling = _useState2[1];
|
|
64
62
|
var browserScrollbarWidth = useScrollbarWidth();
|
|
65
|
-
var emptyStyle = _objectSpread(_objectSpread({}, virtualScrollerStyle), {}, {
|
|
66
|
-
overflow: 'auto hidden',
|
|
67
|
-
position: 'absolute',
|
|
68
|
-
zIndex: 1,
|
|
69
|
-
bottom: 0,
|
|
70
|
-
left: 0,
|
|
71
|
-
right: 0,
|
|
72
|
-
height: browserScrollbarWidth
|
|
73
|
-
});
|
|
74
63
|
if (props.fixed) {
|
|
75
64
|
devUseWarning.deprecated('fixed', 'virtual', 'Table');
|
|
76
65
|
}
|
|
@@ -91,7 +80,9 @@ export default (function (props) {
|
|
|
91
80
|
};
|
|
92
81
|
};
|
|
93
82
|
var _useRef = useRef({
|
|
94
|
-
emptyHeight: 0
|
|
83
|
+
emptyHeight: 0,
|
|
84
|
+
theadAndTfootHeight: 0,
|
|
85
|
+
scrollingTimer: null
|
|
95
86
|
}),
|
|
96
87
|
context = _useRef.current;
|
|
97
88
|
var virtual = ((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
|
|
@@ -140,7 +131,6 @@ export default (function (props) {
|
|
|
140
131
|
floatRight = _useTableLayout.floatRight,
|
|
141
132
|
width = _useTableLayout.width,
|
|
142
133
|
shouldLastColAuto = _useTableLayout.shouldLastColAuto,
|
|
143
|
-
maxScrollLeft = _useTableLayout.maxScrollLeft,
|
|
144
134
|
scrollBarWidth = _useTableLayout.scrollBarWidth,
|
|
145
135
|
scrollWidth = _useTableLayout.scrollWidth,
|
|
146
136
|
resizeFlag = _useTableLayout.resizeFlag;
|
|
@@ -224,6 +214,16 @@ export default (function (props) {
|
|
|
224
214
|
onChange: inputableData.onChange,
|
|
225
215
|
disabled: props.disabled
|
|
226
216
|
});
|
|
217
|
+
useEffect(function () {
|
|
218
|
+
var _theadRef$current, _tfootRef$current;
|
|
219
|
+
var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
|
|
220
|
+
var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
|
|
221
|
+
if (props.sticky) {
|
|
222
|
+
context.theadAndTfootHeight = tfootHeight;
|
|
223
|
+
} else {
|
|
224
|
+
context.theadAndTfootHeight = theadHeight + tfootHeight;
|
|
225
|
+
}
|
|
226
|
+
}, [theadRef.current, tfootRef.current]);
|
|
227
227
|
var virtualInfo = useTableVirtual({
|
|
228
228
|
disabled: !virtual,
|
|
229
229
|
data: treeData,
|
|
@@ -234,27 +234,27 @@ export default (function (props) {
|
|
|
234
234
|
scrollRef: scrollRef,
|
|
235
235
|
innerRef: tbodyRef,
|
|
236
236
|
scrollLeft: props.scrollLeft,
|
|
237
|
-
isRtl: isRtl
|
|
237
|
+
isRtl: isRtl,
|
|
238
|
+
theadAndTfootHeight: context.theadAndTfootHeight
|
|
238
239
|
});
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
245
|
-
var scrollLeft = scrollEl.scrollLeft + e.deltaX;
|
|
246
|
-
if (scrollLeft === scrollEl.scrollLeft) {
|
|
247
|
-
return;
|
|
240
|
+
var syncHeaderScroll = usePersistFn(function (left) {
|
|
241
|
+
var _theadRef$current2;
|
|
242
|
+
if (props.hideHeader || !props.sticky) return;
|
|
243
|
+
if (theadRef && theadRef !== null && theadRef !== void 0 && theadRef.current && theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement) {
|
|
244
|
+
theadRef.current.parentElement.scrollLeft = left;
|
|
248
245
|
}
|
|
249
|
-
e.preventDefault();
|
|
250
|
-
scrollEl.scrollLeft = Math.min(Math.max(scrollLeft, 0), max);
|
|
251
246
|
});
|
|
247
|
+
|
|
248
|
+
// 简单表格的滚动事件
|
|
252
249
|
var handleBodyScroll = usePersistFn(function (e) {
|
|
253
250
|
var target = e.currentTarget;
|
|
254
251
|
if (!target) return;
|
|
255
252
|
layoutFunc.checkFloat();
|
|
256
|
-
if (
|
|
257
|
-
|
|
253
|
+
if (headMirrorScrollRef.current) {
|
|
254
|
+
headMirrorScrollRef.current.scrollLeft = target.scrollLeft;
|
|
255
|
+
}
|
|
256
|
+
if (bottomMirrorScrollRef.current) {
|
|
257
|
+
bottomMirrorScrollRef.current.scrollLeft = target.scrollLeft;
|
|
258
258
|
}
|
|
259
259
|
if (props.onScroll && typeof props.onScroll === 'function') {
|
|
260
260
|
var maxWidth = target.scrollWidth - target.clientWidth;
|
|
@@ -263,22 +263,36 @@ export default (function (props) {
|
|
|
263
263
|
var y = Math.min(target.scrollTop / maxHeight, 1);
|
|
264
264
|
props.onScroll(x, y, target.scrollLeft, target.scrollTop);
|
|
265
265
|
}
|
|
266
|
+
syncHeaderScroll(target.scrollLeft);
|
|
266
267
|
});
|
|
268
|
+
|
|
269
|
+
// 虚拟表格的滚动事件
|
|
267
270
|
var handleVirtualScroll = usePersistFn(function (info) {
|
|
268
271
|
virtualInfo.handleScroll(info);
|
|
269
272
|
layoutFunc.checkFloat();
|
|
270
|
-
if (
|
|
271
|
-
|
|
273
|
+
if (headMirrorScrollRef.current) {
|
|
274
|
+
headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
|
|
275
|
+
}
|
|
276
|
+
if (bottomMirrorScrollRef.current) {
|
|
277
|
+
bottomMirrorScrollRef.current.scrollLeft = info.scrollLeft;
|
|
272
278
|
}
|
|
273
279
|
if (props.onScroll && typeof props.onScroll === 'function') {
|
|
274
280
|
props.onScroll(info.x, info.y, info.scrollLeft, info.scrollTop);
|
|
275
281
|
}
|
|
282
|
+
syncHeaderScroll(info.scrollLeft);
|
|
283
|
+
if (context.scrollingTimer) {
|
|
284
|
+
clearTimeout(context.scrollingTimer);
|
|
285
|
+
}
|
|
286
|
+
setScrolling(true);
|
|
287
|
+
context.scrollingTimer = setTimeout(function () {
|
|
288
|
+
setScrolling(false);
|
|
289
|
+
}, 100);
|
|
276
290
|
});
|
|
277
291
|
var renderEmpty = function renderEmpty() {
|
|
278
292
|
var _props$data2;
|
|
279
293
|
if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
|
|
280
294
|
return /*#__PURE__*/_jsx("div", {
|
|
281
|
-
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper,
|
|
295
|
+
className: classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
|
|
282
296
|
ref: function ref(el) {
|
|
283
297
|
context.emptyHeight = (el === null || el === void 0 ? void 0 : el.clientHeight) || 0;
|
|
284
298
|
},
|
|
@@ -297,6 +311,7 @@ export default (function (props) {
|
|
|
297
311
|
shouldLastColAuto: !!shouldLastColAuto
|
|
298
312
|
});
|
|
299
313
|
var bodyCommonProps = {
|
|
314
|
+
virtual: props.virtual,
|
|
300
315
|
hover: props.hover,
|
|
301
316
|
disabled: props.disabled,
|
|
302
317
|
rowClickAttr: props.rowClickAttr,
|
|
@@ -356,7 +371,6 @@ export default (function (props) {
|
|
|
356
371
|
jssStyle: props.jssStyle,
|
|
357
372
|
colgroup: colgroup
|
|
358
373
|
};
|
|
359
|
-
var fixRightNum = (isRtl ? -1 * maxScrollLeft : maxScrollLeft) - virtualInfo.innerLeft;
|
|
360
374
|
var StickyWrapper = props.sticky ? Sticky : React.Fragment;
|
|
361
375
|
var sticky = _typeof(props.sticky) === 'object' ? props.sticky : {
|
|
362
376
|
top: 0
|
|
@@ -369,8 +383,8 @@ export default (function (props) {
|
|
|
369
383
|
parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
|
|
370
384
|
};
|
|
371
385
|
var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
|
|
372
|
-
var headWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper,
|
|
373
|
-
var footWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper
|
|
386
|
+
var headWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && !isScrollY && tableClasses.scrollX);
|
|
387
|
+
var footWrapperClass = classNames(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
|
|
374
388
|
var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
|
|
375
389
|
var _scrollRef$current, _scrollRef$current2, _scrollRef$current3;
|
|
376
390
|
if (!props.showTopScrollbar) return null;
|
|
@@ -386,7 +400,7 @@ export default (function (props) {
|
|
|
386
400
|
});
|
|
387
401
|
return /*#__PURE__*/_jsx(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? scrollerStickyProps : {}), {}, {
|
|
388
402
|
children: /*#__PURE__*/_jsx("div", {
|
|
389
|
-
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.
|
|
403
|
+
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
|
|
390
404
|
style: {
|
|
391
405
|
height: browserScrollbarWidth,
|
|
392
406
|
width: mirrorScrollRefWidth
|
|
@@ -397,7 +411,7 @@ export default (function (props) {
|
|
|
397
411
|
scrollRef.current.scrollLeft = target.scrollLeft;
|
|
398
412
|
}
|
|
399
413
|
},
|
|
400
|
-
ref:
|
|
414
|
+
ref: headMirrorScrollRef,
|
|
401
415
|
children: /*#__PURE__*/_jsx("div", {
|
|
402
416
|
style: {
|
|
403
417
|
width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth,
|
|
@@ -407,62 +421,97 @@ export default (function (props) {
|
|
|
407
421
|
})
|
|
408
422
|
}));
|
|
409
423
|
};
|
|
410
|
-
|
|
411
|
-
var
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
424
|
+
var renderBottomMirrorScroller = function renderBottomMirrorScroller() {
|
|
425
|
+
var _scrollRef$current4, _scrollRef$current5, _scrollRef$current6;
|
|
426
|
+
if (!props.showBottomScrollbar) return null;
|
|
427
|
+
var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth) || 0;
|
|
428
|
+
var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.scrollWidth) || 0;
|
|
429
|
+
var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
|
|
430
|
+
var showScroll = scrollRefScrollWidth > scrollRefWidth;
|
|
431
|
+
// 开启了双滚,但是没有滚动条,不显示
|
|
432
|
+
if (!scrollRefWidth || !mirrorScrollRefWidth || !showScroll) return null;
|
|
433
|
+
var options = props.showBottomScrollbar === true ? {} : props.showBottomScrollbar;
|
|
434
|
+
var scrollerStickyProps = {
|
|
435
|
+
bottom: options.bottom || 0,
|
|
436
|
+
zIndex: options.zIndex || defaultZIndex + 1,
|
|
437
|
+
parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
|
|
415
438
|
};
|
|
416
|
-
return /*#__PURE__*/
|
|
417
|
-
children:
|
|
439
|
+
return /*#__PURE__*/_jsx(Sticky, _objectSpread(_objectSpread({}, scrollerStickyProps), {}, {
|
|
440
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
441
|
+
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
|
|
442
|
+
style: {
|
|
443
|
+
height: browserScrollbarWidth,
|
|
444
|
+
width: mirrorScrollRefWidth,
|
|
445
|
+
marginTop: -browserScrollbarWidth
|
|
446
|
+
},
|
|
447
|
+
onScroll: function onScroll(e) {
|
|
448
|
+
var target = e.currentTarget;
|
|
449
|
+
if (scrollRef !== null && scrollRef !== void 0 && scrollRef.current && scrollRef.current.scrollLeft !== target.scrollLeft) {
|
|
450
|
+
scrollRef.current.scrollLeft = target.scrollLeft;
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
ref: bottomMirrorScrollRef,
|
|
418
454
|
children: /*#__PURE__*/_jsx("div", {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
transform: "translate3d(-".concat(virtualInfo.innerLeft, "px, 0, 0)")
|
|
424
|
-
}, virtualCssVar),
|
|
425
|
-
ref: theadRef,
|
|
426
|
-
children: [Group, /*#__PURE__*/_jsx(Thead, _objectSpread(_objectSpread({}, headCommonProps), {}, {
|
|
427
|
-
virtual: true
|
|
428
|
-
}))]
|
|
429
|
-
})
|
|
455
|
+
style: {
|
|
456
|
+
width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth,
|
|
457
|
+
height: 1
|
|
458
|
+
}
|
|
430
459
|
})
|
|
431
|
-
})
|
|
432
|
-
|
|
433
|
-
|
|
460
|
+
})
|
|
461
|
+
}));
|
|
462
|
+
};
|
|
463
|
+
var $headTable = /*#__PURE__*/_jsx("div", {
|
|
464
|
+
className: headWrapperClass,
|
|
465
|
+
children: /*#__PURE__*/_jsxs("table", {
|
|
466
|
+
style: {
|
|
467
|
+
width: width
|
|
468
|
+
},
|
|
469
|
+
ref: theadRef,
|
|
470
|
+
children: [Group, /*#__PURE__*/_jsx(Thead, _objectSpread({}, headCommonProps))]
|
|
471
|
+
})
|
|
472
|
+
});
|
|
473
|
+
if (isRenderVirtualTable) {
|
|
474
|
+
var _props$data4;
|
|
475
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
476
|
+
children: [renderHeadMirrorScroller(), !props.hideHeader && props.sticky && /*#__PURE__*/_jsx(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
|
|
477
|
+
children: $headTable
|
|
478
|
+
})), /*#__PURE__*/_jsxs(Scroll, {
|
|
479
|
+
style: {
|
|
480
|
+
display: 'flex',
|
|
481
|
+
minWidth: 0,
|
|
482
|
+
minHeight: 0,
|
|
483
|
+
flex: 1
|
|
484
|
+
},
|
|
434
485
|
wrapperRef: scrollRef,
|
|
435
486
|
scrollWidth: width || 1,
|
|
436
487
|
scrollHeight: virtual ? virtualInfo.scrollHeight : tbodyHeight,
|
|
437
488
|
onScroll: handleVirtualScroll,
|
|
438
489
|
defaultHeight: context.emptyHeight,
|
|
439
490
|
isScrollY: isScrollY,
|
|
440
|
-
|
|
441
|
-
|
|
491
|
+
isScrollX: isScrollX,
|
|
492
|
+
children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/_jsxs("table", {
|
|
493
|
+
style: {
|
|
442
494
|
width: width,
|
|
443
|
-
transform: virtualInfo.
|
|
444
|
-
},
|
|
495
|
+
transform: virtualInfo.translateStyle
|
|
496
|
+
},
|
|
445
497
|
ref: tbodyRef,
|
|
446
498
|
children: [Group, /*#__PURE__*/_jsx(Tbody, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
|
|
447
499
|
currentIndex: virtualInfo.startIndex,
|
|
448
500
|
data: virtualInfo.data,
|
|
449
501
|
setRowHeight: virtualInfo.setRowHeight,
|
|
450
|
-
|
|
451
|
-
}))]
|
|
452
|
-
})
|
|
453
|
-
}), renderEmpty(), showFoot ? /*#__PURE__*/_jsx("div", {
|
|
454
|
-
className: footWrapperClass,
|
|
455
|
-
children: /*#__PURE__*/_jsxs("table", {
|
|
456
|
-
style: _objectSpread({
|
|
457
|
-
width: width,
|
|
458
|
-
transform: "translate3d(-".concat(virtualInfo.innerLeft, "px, 0, 0)")
|
|
459
|
-
}, virtualCssVar),
|
|
460
|
-
ref: tfootRef,
|
|
461
|
-
children: [Group, /*#__PURE__*/_jsx(Tfoot, _objectSpread(_objectSpread({}, footCommonProps), {}, {
|
|
462
|
-
virtual: true
|
|
502
|
+
scrolling: scrolling
|
|
463
503
|
}))]
|
|
464
|
-
})
|
|
465
|
-
|
|
504
|
+
}), showFoot ? /*#__PURE__*/_jsx("div", {
|
|
505
|
+
className: footWrapperClass,
|
|
506
|
+
children: /*#__PURE__*/_jsxs("table", {
|
|
507
|
+
style: {
|
|
508
|
+
width: width
|
|
509
|
+
},
|
|
510
|
+
ref: tfootRef,
|
|
511
|
+
children: [Group, /*#__PURE__*/_jsx(Tfoot, _objectSpread({}, footCommonProps))]
|
|
512
|
+
})
|
|
513
|
+
}) : null, renderEmpty()]
|
|
514
|
+
}), renderBottomMirrorScroller()]
|
|
466
515
|
});
|
|
467
516
|
}
|
|
468
517
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
@@ -479,7 +528,7 @@ export default (function (props) {
|
|
|
479
528
|
children: renderEmpty()
|
|
480
529
|
}) : /*#__PURE__*/_jsx(Tbody, _objectSpread({}, bodyCommonProps)), /*#__PURE__*/_jsx(Tfoot, _objectSpread({}, footCommonProps))]
|
|
481
530
|
})
|
|
482
|
-
})]
|
|
531
|
+
}), renderBottomMirrorScroller()]
|
|
483
532
|
});
|
|
484
533
|
};
|
|
485
534
|
var renderLoading = function renderLoading() {
|
|
@@ -499,27 +548,36 @@ export default (function (props) {
|
|
|
499
548
|
align: "right"
|
|
500
549
|
}, pagination), paginationInfo));
|
|
501
550
|
};
|
|
551
|
+
|
|
552
|
+
// handle head and foot scroll
|
|
553
|
+
var handleHeaderWheel = usePersistFn(function (e) {
|
|
554
|
+
var _theadRef$current3;
|
|
555
|
+
var scrollEl = scrollRef.current;
|
|
556
|
+
if (!scrollEl) return;
|
|
557
|
+
if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current3 = theadRef.current) !== null && _theadRef$current3 !== void 0 && _theadRef$current3.parentElement)) return;
|
|
558
|
+
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
559
|
+
var scrollLeft = scrollEl.scrollLeft + e.deltaX;
|
|
560
|
+
if (scrollLeft === scrollEl.scrollLeft) {
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
e.preventDefault();
|
|
564
|
+
var left = Math.min(Math.max(scrollLeft, 0), max);
|
|
565
|
+
scrollEl.scrollLeft = left;
|
|
566
|
+
theadRef.current.parentElement.scrollLeft = left;
|
|
567
|
+
});
|
|
502
568
|
useEffect(function () {
|
|
503
569
|
// 绑定 wheel 事件
|
|
504
|
-
if (theadRef.current && theadRef.current.parentElement) {
|
|
570
|
+
if (props.sticky && theadRef.current && theadRef.current.parentElement) {
|
|
505
571
|
theadRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
|
|
506
572
|
passive: false
|
|
507
573
|
});
|
|
508
574
|
}
|
|
509
|
-
if (tfootRef.current && tfootRef.current.parentElement) {
|
|
510
|
-
tfootRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
|
|
511
|
-
passive: false
|
|
512
|
-
});
|
|
513
|
-
}
|
|
514
575
|
return function () {
|
|
515
|
-
if (theadRef.current && theadRef.current.parentElement) {
|
|
576
|
+
if (props.sticky && theadRef.current && theadRef.current.parentElement) {
|
|
516
577
|
theadRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
|
|
517
578
|
}
|
|
518
|
-
if (tfootRef.current && tfootRef.current.parentElement) {
|
|
519
|
-
tfootRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
|
|
520
|
-
}
|
|
521
579
|
};
|
|
522
|
-
}, [theadRef.current, isScrollY]);
|
|
580
|
+
}, [theadRef.current, props.sticky, isScrollY]);
|
|
523
581
|
var getRenderIndexByData = function getRenderIndexByData(data) {
|
|
524
582
|
var originKey = typeof data === 'string' ? data : util.getKey(props.keygen, data);
|
|
525
583
|
var index = treeData.findIndex(function (item) {
|
|
@@ -555,7 +613,7 @@ export default (function (props) {
|
|
|
555
613
|
});
|
|
556
614
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
557
615
|
children: [/*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({
|
|
558
|
-
className: classNames(tableWrapperClass,
|
|
616
|
+
className: classNames(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
|
|
559
617
|
style: _objectSpread({
|
|
560
618
|
height: defaultHeight
|
|
561
619
|
}, props.style)
|
|
@@ -18,6 +18,7 @@ import { RadioClasses } from '../radio/radio.type';
|
|
|
18
18
|
import { PopoverClasses } from '../popover/popover.type';
|
|
19
19
|
import { TreeClasses } from '../tree/tree.type';
|
|
20
20
|
import { KeygenResult } from '@sheinx/hooks';
|
|
21
|
+
import { StickyProps } from '../sticky';
|
|
21
22
|
export type ListDatum = ReturnType<typeof useListSelect<any, any>>;
|
|
22
23
|
export type UseTreeResult = ReturnType<typeof useTableTree>;
|
|
23
24
|
export interface TableClasses {
|
|
@@ -26,7 +27,6 @@ export interface TableClasses {
|
|
|
26
27
|
small: string;
|
|
27
28
|
large: string;
|
|
28
29
|
default: string;
|
|
29
|
-
scrollY: string;
|
|
30
30
|
floatLeft: string;
|
|
31
31
|
floatRight: string;
|
|
32
32
|
bordered: string;
|
|
@@ -36,11 +36,14 @@ export interface TableClasses {
|
|
|
36
36
|
simple: string;
|
|
37
37
|
striped: string;
|
|
38
38
|
loading: string;
|
|
39
|
-
|
|
39
|
+
mirrorScroller: string;
|
|
40
40
|
headWrapper: string;
|
|
41
41
|
bodyWrapper: string;
|
|
42
42
|
footWrapper: string;
|
|
43
43
|
emptyWrapper: string;
|
|
44
|
+
emptyNoBorder: string;
|
|
45
|
+
scrollY: string;
|
|
46
|
+
scrollX: string;
|
|
44
47
|
cellAlignLeft: string;
|
|
45
48
|
cellAlignRight: string;
|
|
46
49
|
cellAlignCenter: string;
|
|
@@ -202,9 +205,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
202
205
|
fixed?: TableFix | 'auto';
|
|
203
206
|
/**
|
|
204
207
|
* @en Whether to use virtual list
|
|
205
|
-
* @cn
|
|
208
|
+
* @cn 是否使用虚拟列表,设置为 lazy 时,表示在滚动时不触发 rerender
|
|
206
209
|
*/
|
|
207
|
-
virtual?: boolean;
|
|
210
|
+
virtual?: boolean | 'lazy';
|
|
208
211
|
/**
|
|
209
212
|
* @en The maximum number of rows for a single render. Table uses lazy render to optimize performance under large amounts of data. If your table displays more than 20 rows, you can change the value of rowsInView. Value of 0 render all data.
|
|
210
213
|
* @cn 单次 render的 最大行数。Table 采用了 lazy render 的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整 rowsInView 的值。为 0 表示单次 render 所有数据。
|
|
@@ -333,6 +336,7 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
333
336
|
sticky?: boolean | {
|
|
334
337
|
top?: number;
|
|
335
338
|
css?: boolean;
|
|
339
|
+
target?: Element | null;
|
|
336
340
|
};
|
|
337
341
|
/**
|
|
338
342
|
* @en Whether to show the top scroller
|
|
@@ -341,6 +345,13 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
341
345
|
* @version 3.4.0
|
|
342
346
|
*/
|
|
343
347
|
showTopScrollbar?: boolean;
|
|
348
|
+
/**
|
|
349
|
+
* @en Whether to show the bottom scroller
|
|
350
|
+
* @cn 是否开启底部自定吸附的滚动条
|
|
351
|
+
* @default false
|
|
352
|
+
* @version 3.7.0
|
|
353
|
+
*/
|
|
354
|
+
showBottomScrollbar?: boolean | BottomScrollbarOption;
|
|
344
355
|
/**
|
|
345
356
|
* @en Table instance (please use with caution: only fixed Table)
|
|
346
357
|
* @cn Table 实例(请谨慎使用:仅虚拟列表支持)
|
|
@@ -352,6 +363,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
352
363
|
*/
|
|
353
364
|
onRowSelect?: (rows: Value) => void;
|
|
354
365
|
}
|
|
366
|
+
interface BottomScrollbarOption extends Pick<StickyProps, 'bottom'> {
|
|
367
|
+
zIndex?: number;
|
|
368
|
+
}
|
|
355
369
|
export interface SorterInfo {
|
|
356
370
|
order?: ColumnOrder;
|
|
357
371
|
/**
|
|
@@ -389,4 +403,5 @@ export interface SummaryItem {
|
|
|
389
403
|
* @title TableColumn
|
|
390
404
|
*/
|
|
391
405
|
export type ColumnItem<DataItem> = TableColumnItem<DataItem>;
|
|
406
|
+
export {};
|
|
392
407
|
//# sourceMappingURL=table.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"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"}
|
package/esm/table/tbody.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { TbodyProps } from './tbody.type';
|
|
2
|
-
declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=tbody.d.ts.map
|
package/esm/table/tbody.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,
|
|
1
|
+
{"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAsFE"}
|
package/esm/table/tbody.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useTableRow, useTableExpand, util } from '@sheinx/hooks';
|
|
2
|
+
import { useTableRow, useTableExpand, util, useComponentMemo } from '@sheinx/hooks';
|
|
3
3
|
import Tr from "./tr";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
export default (function (props) {
|
|
@@ -23,7 +23,6 @@ export default (function (props) {
|
|
|
23
23
|
hover: hover
|
|
24
24
|
}),
|
|
25
25
|
rowData = _useTableRow.rowData,
|
|
26
|
-
isCellHover = _useTableRow.isCellHover,
|
|
27
26
|
handleCellHover = _useTableRow.handleCellHover,
|
|
28
27
|
hoverIndex = _useTableRow.hoverIndex,
|
|
29
28
|
rowSelectMergeStartData = _useTableRow.rowSelectMergeStartData;
|
|
@@ -31,9 +30,10 @@ export default (function (props) {
|
|
|
31
30
|
return col.type === 'expand' || col.type === 'row-expand';
|
|
32
31
|
});
|
|
33
32
|
var renderRow = function renderRow(item, index) {
|
|
33
|
+
var _props$rowEvents;
|
|
34
34
|
var rowIndex = index + currentIndex;
|
|
35
35
|
var originKey = util.getKey(props.keygen, item, rowIndex);
|
|
36
|
-
var trRenderKey = props.loader ? originKey : "".concat(originKey, "-").concat(rowIndex);
|
|
36
|
+
var trRenderKey = props.loader || (_props$rowEvents = props.rowEvents) !== null && _props$rowEvents !== void 0 && _props$rowEvents.draggable ? originKey : "".concat(originKey, "-").concat(rowIndex);
|
|
37
37
|
return /*#__PURE__*/_jsx(Tr, {
|
|
38
38
|
originKey: originKey,
|
|
39
39
|
row: rowData[index],
|
|
@@ -58,10 +58,8 @@ export default (function (props) {
|
|
|
58
58
|
isEmptyTree: props.isEmptyTree,
|
|
59
59
|
treeColumnsName: props.treeColumnsName,
|
|
60
60
|
setRowHeight: props.setRowHeight,
|
|
61
|
-
virtual: props.virtual,
|
|
62
61
|
striped: props.striped,
|
|
63
62
|
radio: props.radio,
|
|
64
|
-
isCellHover: isCellHover,
|
|
65
63
|
hover: hover,
|
|
66
64
|
isSelect: props.datum.check(rowSelectMergeStartData[index]),
|
|
67
65
|
handleCellHover: handleCellHover
|
|
@@ -75,12 +73,21 @@ export default (function (props) {
|
|
|
75
73
|
bodyScrollWidth: props.bodyScrollWidth,
|
|
76
74
|
resizeFlag: props.resizeFlag,
|
|
77
75
|
treeCheckAll: props.treeCheckAll,
|
|
78
|
-
onCellClick: props.onCellClick
|
|
76
|
+
onCellClick: props.onCellClick,
|
|
77
|
+
virtual: props.virtual,
|
|
78
|
+
scrolling: props.scrolling
|
|
79
79
|
}, trRenderKey);
|
|
80
80
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
var $tbody = useComponentMemo(function () {
|
|
82
|
+
return /*#__PURE__*/_jsx("tbody", {
|
|
83
|
+
children: (props.data || []).map(function (item, index) {
|
|
84
|
+
return renderRow(item, index);
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}, [props.data, currentIndex], props.virtual === 'lazy' ? function (prev, next) {
|
|
88
|
+
return prev.some(function (_, index) {
|
|
89
|
+
return !util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
|
|
90
|
+
}) || !props.scrolling;
|
|
91
|
+
} : undefined);
|
|
92
|
+
return $tbody;
|
|
86
93
|
});
|
|
@@ -3,7 +3,7 @@ import { TableProps, ListDatum, UseTreeResult } from './table.type';
|
|
|
3
3
|
import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
|
|
4
4
|
export type UseColumnsResult = ReturnType<typeof useTableColumns>;
|
|
5
5
|
export type UseTableRowResult = ReturnType<typeof useTableRow>;
|
|
6
|
-
export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick'> {
|
|
6
|
+
export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'virtual'> {
|
|
7
7
|
columns: TableFormatColumn<any>[];
|
|
8
8
|
data: any[];
|
|
9
9
|
colgroup: (number | string | undefined)[];
|
|
@@ -16,8 +16,8 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
|
|
|
16
16
|
isEmptyTree: boolean | undefined;
|
|
17
17
|
treeColumnsName: string | undefined;
|
|
18
18
|
setRowHeight?: (index: number, height: number) => void;
|
|
19
|
-
virtual?: boolean;
|
|
20
19
|
bodyScrollWidth?: number;
|
|
21
20
|
resizeFlag?: number;
|
|
21
|
+
scrolling?: boolean;
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=tbody.type.d.ts.map
|