@sheinx/base 3.6.4-beta.8 → 3.7.0-beta.10
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/popover/popover.d.ts +1 -1
- package/cjs/popover/popover.d.ts.map +1 -1
- package/cjs/popover/popover.js +10 -8
- package/cjs/popover/popover.type.d.ts +6 -0
- package/cjs/popover/popover.type.d.ts.map +1 -1
- package/cjs/sticky/sticky.d.ts.map +1 -1
- package/cjs/sticky/sticky.js +6 -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 +156 -98
- package/cjs/table/table.type.d.ts +15 -2
- 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 +28 -10
- package/cjs/table/tbody.type.d.ts +2 -3
- package/cjs/table/tbody.type.d.ts.map +1 -1
- package/cjs/table/td.d.ts +21 -0
- package/cjs/table/td.d.ts.map +1 -0
- package/cjs/table/td.js +74 -0
- package/cjs/table/tfoot.d.ts.map +1 -1
- package/cjs/table/tfoot.js +0 -10
- package/cjs/table/tfoot.type.d.ts +0 -2
- 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 -2
- package/cjs/table/thead.type.d.ts.map +1 -1
- package/cjs/table/tr.d.ts +1 -2
- package/cjs/table/tr.d.ts.map +1 -1
- package/cjs/table/tr.js +33 -29
- 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/tag/tag.d.ts.map +1 -1
- package/cjs/tag/tag.js +1 -1
- package/cjs/tooltip/tooltip.d.ts.map +1 -1
- package/cjs/tooltip/tooltip.js +10 -2
- package/cjs/virtual-scroll/scroll-table.d.ts +28 -0
- package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -0
- package/cjs/virtual-scroll/scroll-table.js +155 -0
- package/cjs/virtual-scroll/scroll.d.ts.map +1 -1
- package/cjs/virtual-scroll/scroll.js +4 -4
- package/esm/popover/popover.d.ts +1 -1
- package/esm/popover/popover.d.ts.map +1 -1
- package/esm/popover/popover.js +10 -8
- package/esm/popover/popover.type.d.ts +6 -0
- package/esm/popover/popover.type.d.ts.map +1 -1
- package/esm/sticky/sticky.d.ts.map +1 -1
- package/esm/sticky/sticky.js +6 -3
- 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 +157 -99
- package/esm/table/table.type.d.ts +15 -2
- 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 +29 -11
- package/esm/table/tbody.type.d.ts +2 -3
- package/esm/table/tbody.type.d.ts.map +1 -1
- package/esm/table/td.d.ts +21 -0
- package/esm/table/td.d.ts.map +1 -0
- package/esm/table/td.js +66 -0
- package/esm/table/tfoot.d.ts.map +1 -1
- package/esm/table/tfoot.js +0 -10
- package/esm/table/tfoot.type.d.ts +0 -2
- 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 -2
- package/esm/table/thead.type.d.ts.map +1 -1
- package/esm/table/tr.d.ts +1 -2
- package/esm/table/tr.d.ts.map +1 -1
- package/esm/table/tr.js +33 -29
- 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/tag/tag.d.ts.map +1 -1
- package/esm/tag/tag.js +1 -1
- package/esm/tooltip/tooltip.d.ts.map +1 -1
- package/esm/tooltip/tooltip.js +11 -3
- package/esm/virtual-scroll/scroll-table.d.ts +28 -0
- package/esm/virtual-scroll/scroll-table.d.ts.map +1 -0
- package/esm/virtual-scroll/scroll-table.js +148 -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/cjs/popover/popover.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { PopoverProps } from './popover.type';
|
|
2
|
-
declare const Popover: (props: PopoverProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const Popover: (props: PopoverProps) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
3
3
|
export default Popover;
|
|
4
4
|
//# sourceMappingURL=popover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["popover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM9C,QAAA,MAAM,OAAO,UAAW,YAAY,wDA8LnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
package/cjs/popover/popover.js
CHANGED
|
@@ -39,6 +39,7 @@ var Popover = function Popover(props) {
|
|
|
39
39
|
trigger = _props$trigger === void 0 ? 'hover' : _props$trigger,
|
|
40
40
|
type = props.type,
|
|
41
41
|
destroy = props.destroy,
|
|
42
|
+
disabled = props.disabled,
|
|
42
43
|
_props$popupGap = props.popupGap,
|
|
43
44
|
popupGap = _props$popupGap === void 0 ? 0 : _props$popupGap,
|
|
44
45
|
_props$showArrow = props.showArrow,
|
|
@@ -87,11 +88,11 @@ var Popover = function Popover(props) {
|
|
|
87
88
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
88
89
|
updateKey = _React$useState2[0],
|
|
89
90
|
setUpdateKey = _React$useState2[1];
|
|
90
|
-
var handleUpdateKey =
|
|
91
|
+
var handleUpdateKey = function handleUpdateKey() {
|
|
91
92
|
setUpdateKey(function (prev) {
|
|
92
93
|
return (prev + 1) % 2;
|
|
93
94
|
});
|
|
94
|
-
}
|
|
95
|
+
};
|
|
95
96
|
var bindEvents = function bindEvents() {
|
|
96
97
|
var _window;
|
|
97
98
|
var targetEl = targetRef.current;
|
|
@@ -104,9 +105,9 @@ var Popover = function Popover(props) {
|
|
|
104
105
|
targetEl.addEventListener('click', closePop);
|
|
105
106
|
}
|
|
106
107
|
(_window = window) === null || _window === void 0 || _window.addEventListener('resize', handleUpdateKey);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
|
|
109
|
+
if (scrollContainer) {
|
|
110
|
+
scrollContainer.addEventListener('scroll', handleUpdateKey);
|
|
110
111
|
}
|
|
111
112
|
};
|
|
112
113
|
var unbindEvents = function unbindEvents() {
|
|
@@ -119,9 +120,9 @@ var Popover = function Popover(props) {
|
|
|
119
120
|
if (events.onClick) targetEl.removeEventListener('click', events.onClick);
|
|
120
121
|
targetEl.removeEventListener('click', closePop);
|
|
121
122
|
(_window2 = window) === null || _window2 === void 0 || _window2.removeEventListener('resize', handleUpdateKey);
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
var scrollContainer = (0, _hooks.getClosestScrollContainer)(targetEl);
|
|
124
|
+
if (scrollContainer) {
|
|
125
|
+
scrollContainer.addEventListener('scroll', handleUpdateKey);
|
|
125
126
|
}
|
|
126
127
|
};
|
|
127
128
|
(0, _react.useEffect)(function () {
|
|
@@ -145,6 +146,7 @@ var Popover = function Popover(props) {
|
|
|
145
146
|
}
|
|
146
147
|
};
|
|
147
148
|
});
|
|
149
|
+
if (disabled) return;
|
|
148
150
|
var noRender = props.lazy && !open && !context.rendered;
|
|
149
151
|
if (!targetRef.current || !children || noRender) {
|
|
150
152
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("noscript", {
|
|
@@ -180,5 +180,11 @@ export interface PopoverProps extends Pick<CommonType, 'className' | 'style'> {
|
|
|
180
180
|
* @version 3.6.0
|
|
181
181
|
*/
|
|
182
182
|
popupGap?: number;
|
|
183
|
+
/**
|
|
184
|
+
* @en Whether to disable pop-up
|
|
185
|
+
* @cn 是否禁用弹出
|
|
186
|
+
* @version 3.7.0
|
|
187
|
+
*/
|
|
188
|
+
disabled?: boolean;
|
|
183
189
|
}
|
|
184
190
|
//# sourceMappingURL=popover.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.type.d.ts","sourceRoot":"","sources":["popover.type.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"popover.type.d.ts","sourceRoot":"","sources":["popover.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,aAAa,MAAM,CAAC;AAmBjC,QAAA,MAAM,MAAM,UAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,aAAa,MAAM,CAAC;AAmBjC,QAAA,MAAM,MAAM,UAAW,WAAW,4CAqYjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/cjs/sticky/sticky.js
CHANGED
|
@@ -414,12 +414,15 @@ var Sticky = function Sticky(props) {
|
|
|
414
414
|
pointerEvents: 'none'
|
|
415
415
|
};
|
|
416
416
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
417
|
-
children: [isFixed ? StickyEl : context.target && context.div && /*#__PURE__*/(0, _reactDom.createPortal)(StickyEl, context.div), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
417
|
+
children: [isFixed ? StickyEl : context.target && context.div && /*#__PURE__*/(0, _reactDom.createPortal)(StickyEl, context.div), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
|
|
418
418
|
className: props.className,
|
|
419
419
|
style: _objectSpread(_objectSpread({}, props.style), show && parentVisible ? hideStyle : {}),
|
|
420
|
-
ref: handleElementRef
|
|
420
|
+
ref: handleElementRef
|
|
421
|
+
}, _hooks.util.getDataAttribute({
|
|
422
|
+
sticky: show && parentVisible ? 'true' : 'false'
|
|
423
|
+
})), {}, {
|
|
421
424
|
children: children
|
|
422
|
-
})]
|
|
425
|
+
}))]
|
|
423
426
|
});
|
|
424
427
|
};
|
|
425
428
|
var _default = exports.default = Sticky;
|
|
@@ -21,12 +21,12 @@ export interface StickyProps extends Pick<CommonType, 'className' | 'style'> {
|
|
|
21
21
|
/**
|
|
22
22
|
* @deprecated use scrollContainer
|
|
23
23
|
*/
|
|
24
|
-
target?: string |
|
|
24
|
+
target?: string | Element | null;
|
|
25
25
|
/**
|
|
26
26
|
* @en Custom attachment target. You can pass in HTMLElement or css selector. The target must be an ancestor node of the Sticky component
|
|
27
27
|
* @cn 自定义附着的目标。可以传入 HTMLElement 或者 css selector,target 必须为 Sticky 组件的祖先节点
|
|
28
28
|
*/
|
|
29
|
-
scrollContainer?: string | HTMLElement | null;
|
|
29
|
+
scrollContainer?: string | HTMLElement | Element | null;
|
|
30
30
|
/**
|
|
31
31
|
* @cn sticky 父级元素, 当父元素离开视窗时,sticky 将失效
|
|
32
32
|
* @en sticky parent, when the parent element leaves the viewport, the sticky will be invalid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.type.d.ts","sourceRoot":"","sources":["sticky.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC1E,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IAEF;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"sticky.type.d.ts","sourceRoot":"","sources":["sticky.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC1E,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,aAAa,CAAC;KAC7B,CAAC;IAEF;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC;IAExD;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
|
package/cjs/table/table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAmoBE"}
|
package/cjs/table/table.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
-
var
|
|
8
|
+
var _scrollTable = _interopRequireDefault(require("../virtual-scroll/scroll-table"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _spin = _interopRequireDefault(require("../spin"));
|
|
11
11
|
var _pagination = _interopRequireDefault(require("../pagination"));
|
|
@@ -27,27 +27,20 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
27
27
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
28
28
|
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; }
|
|
29
29
|
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; }
|
|
30
|
-
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); }
|
|
31
30
|
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; }
|
|
32
31
|
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; }
|
|
33
32
|
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; }
|
|
34
33
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
35
34
|
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); }
|
|
35
|
+
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); }
|
|
36
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
37
|
+
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."); }
|
|
38
|
+
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); }
|
|
39
|
+
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; }
|
|
40
|
+
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; } }
|
|
41
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
36
42
|
var devUseWarning = _hooks.util.devUseWarning;
|
|
37
43
|
var emptyArr = [];
|
|
38
|
-
var virtualScrollerStyle = {
|
|
39
|
-
flex: 1,
|
|
40
|
-
minWidth: 0,
|
|
41
|
-
minHeight: 0,
|
|
42
|
-
overflow: 'auto',
|
|
43
|
-
width: '100%'
|
|
44
|
-
};
|
|
45
|
-
var scrollWrapperStyle = {
|
|
46
|
-
flex: 1,
|
|
47
|
-
minHeight: 0,
|
|
48
|
-
minWidth: 0,
|
|
49
|
-
display: 'flex'
|
|
50
|
-
};
|
|
51
44
|
var emptyRef = {
|
|
52
45
|
current: null
|
|
53
46
|
};
|
|
@@ -66,18 +59,14 @@ var _default = exports.default = function _default(props) {
|
|
|
66
59
|
var theadRef = (0, _react.useRef)(null);
|
|
67
60
|
var tfootRef = (0, _react.useRef)(null);
|
|
68
61
|
var scrollRef = (0, _react.useRef)(null);
|
|
69
|
-
var
|
|
62
|
+
var headMirrorScrollRef = (0, _react.useRef)(null);
|
|
63
|
+
var bottomMirrorScrollRef = (0, _react.useRef)(null);
|
|
70
64
|
var tableRef = (0, _react.useRef)(null);
|
|
65
|
+
var _useState = (0, _react.useState)(false),
|
|
66
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
67
|
+
scrolling = _useState2[0],
|
|
68
|
+
setScrolling = _useState2[1];
|
|
71
69
|
var browserScrollbarWidth = (0, _hooks.useScrollbarWidth)();
|
|
72
|
-
var emptyStyle = _objectSpread(_objectSpread({}, virtualScrollerStyle), {}, {
|
|
73
|
-
overflow: 'auto hidden',
|
|
74
|
-
position: 'absolute',
|
|
75
|
-
zIndex: 1,
|
|
76
|
-
bottom: 0,
|
|
77
|
-
left: 0,
|
|
78
|
-
right: 0,
|
|
79
|
-
height: browserScrollbarWidth
|
|
80
|
-
});
|
|
81
70
|
if (props.fixed) {
|
|
82
71
|
devUseWarning.deprecated('fixed', 'virtual', 'Table');
|
|
83
72
|
}
|
|
@@ -98,7 +87,9 @@ var _default = exports.default = function _default(props) {
|
|
|
98
87
|
};
|
|
99
88
|
};
|
|
100
89
|
var _useRef = (0, _react.useRef)({
|
|
101
|
-
emptyHeight: 0
|
|
90
|
+
emptyHeight: 0,
|
|
91
|
+
theadAndTfootHeight: 0,
|
|
92
|
+
scrollingTimer: null
|
|
102
93
|
}),
|
|
103
94
|
context = _useRef.current;
|
|
104
95
|
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');
|
|
@@ -147,7 +138,6 @@ var _default = exports.default = function _default(props) {
|
|
|
147
138
|
floatRight = _useTableLayout.floatRight,
|
|
148
139
|
width = _useTableLayout.width,
|
|
149
140
|
shouldLastColAuto = _useTableLayout.shouldLastColAuto,
|
|
150
|
-
maxScrollLeft = _useTableLayout.maxScrollLeft,
|
|
151
141
|
scrollBarWidth = _useTableLayout.scrollBarWidth,
|
|
152
142
|
scrollWidth = _useTableLayout.scrollWidth,
|
|
153
143
|
resizeFlag = _useTableLayout.resizeFlag;
|
|
@@ -231,6 +221,10 @@ var _default = exports.default = function _default(props) {
|
|
|
231
221
|
onChange: inputableData.onChange,
|
|
232
222
|
disabled: props.disabled
|
|
233
223
|
});
|
|
224
|
+
(0, _react.useEffect)(function () {
|
|
225
|
+
var _theadRef$current, _tfootRef$current;
|
|
226
|
+
context.theadAndTfootHeight = ((theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0) + (((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0);
|
|
227
|
+
}, [theadRef.current, tfootRef.current]);
|
|
234
228
|
var virtualInfo = (0, _hooks.useTableVirtual)({
|
|
235
229
|
disabled: !virtual,
|
|
236
230
|
data: treeData,
|
|
@@ -241,27 +235,26 @@ var _default = exports.default = function _default(props) {
|
|
|
241
235
|
scrollRef: scrollRef,
|
|
242
236
|
innerRef: tbodyRef,
|
|
243
237
|
scrollLeft: props.scrollLeft,
|
|
244
|
-
isRtl: isRtl
|
|
238
|
+
isRtl: isRtl,
|
|
239
|
+
theadAndTfootHeight: context.theadAndTfootHeight
|
|
245
240
|
});
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
252
|
-
var scrollLeft = scrollEl.scrollLeft + e.deltaX;
|
|
253
|
-
if (scrollLeft === scrollEl.scrollLeft) {
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
e.preventDefault();
|
|
257
|
-
scrollEl.scrollLeft = Math.min(Math.max(scrollLeft, 0), max);
|
|
241
|
+
var syncHeaderScroll = (0, _hooks.usePersistFn)(function (left) {
|
|
242
|
+
var _theadRef$current2;
|
|
243
|
+
if (props.hideHeader || !props.sticky) return;
|
|
244
|
+
if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement)) return;
|
|
245
|
+
theadRef.current.parentElement.scrollLeft = left;
|
|
258
246
|
});
|
|
247
|
+
|
|
248
|
+
// 简单表格的滚动事件
|
|
259
249
|
var handleBodyScroll = (0, _hooks.usePersistFn)(function (e) {
|
|
260
250
|
var target = e.currentTarget;
|
|
261
251
|
if (!target) return;
|
|
262
252
|
layoutFunc.checkFloat();
|
|
263
|
-
if (
|
|
264
|
-
|
|
253
|
+
if (headMirrorScrollRef.current) {
|
|
254
|
+
headMirrorScrollRef.current.scrollLeft = target.scrollLeft;
|
|
255
|
+
}
|
|
256
|
+
if (bottomMirrorScrollRef.current) {
|
|
257
|
+
bottomMirrorScrollRef.current.scrollLeft = target.scrollLeft;
|
|
265
258
|
}
|
|
266
259
|
if (props.onScroll && typeof props.onScroll === 'function') {
|
|
267
260
|
var maxWidth = target.scrollWidth - target.clientWidth;
|
|
@@ -270,22 +263,36 @@ var _default = exports.default = function _default(props) {
|
|
|
270
263
|
var y = Math.min(target.scrollTop / maxHeight, 1);
|
|
271
264
|
props.onScroll(x, y, target.scrollLeft, target.scrollTop);
|
|
272
265
|
}
|
|
266
|
+
syncHeaderScroll(target.scrollLeft);
|
|
273
267
|
});
|
|
268
|
+
|
|
269
|
+
// 虚拟表格的滚动事件
|
|
274
270
|
var handleVirtualScroll = (0, _hooks.usePersistFn)(function (info) {
|
|
275
271
|
virtualInfo.handleScroll(info);
|
|
276
272
|
layoutFunc.checkFloat();
|
|
277
|
-
if (
|
|
278
|
-
|
|
273
|
+
if (headMirrorScrollRef.current) {
|
|
274
|
+
headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
|
|
275
|
+
}
|
|
276
|
+
if (bottomMirrorScrollRef.current) {
|
|
277
|
+
bottomMirrorScrollRef.current.scrollLeft = info.scrollLeft;
|
|
279
278
|
}
|
|
280
279
|
if (props.onScroll && typeof props.onScroll === 'function') {
|
|
281
280
|
props.onScroll(info.x, info.y, info.scrollLeft, info.scrollTop);
|
|
282
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);
|
|
283
290
|
});
|
|
284
291
|
var renderEmpty = function renderEmpty() {
|
|
285
292
|
var _props$data2;
|
|
286
293
|
if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
|
|
287
294
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
288
|
-
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper,
|
|
295
|
+
className: (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
|
|
289
296
|
ref: function ref(el) {
|
|
290
297
|
context.emptyHeight = (el === null || el === void 0 ? void 0 : el.clientHeight) || 0;
|
|
291
298
|
},
|
|
@@ -332,7 +339,8 @@ var _default = exports.default = function _default(props) {
|
|
|
332
339
|
bodyScrollWidth: scrollWidth,
|
|
333
340
|
resizeFlag: resizeFlag,
|
|
334
341
|
treeCheckAll: props.treeCheckAll,
|
|
335
|
-
onCellClick: props.onCellClick
|
|
342
|
+
onCellClick: props.onCellClick,
|
|
343
|
+
shouldCellUpdate: props.shouldCellUpdate
|
|
336
344
|
};
|
|
337
345
|
var headCommonProps = {
|
|
338
346
|
disabled: props.disabled,
|
|
@@ -363,7 +371,6 @@ var _default = exports.default = function _default(props) {
|
|
|
363
371
|
jssStyle: props.jssStyle,
|
|
364
372
|
colgroup: colgroup
|
|
365
373
|
};
|
|
366
|
-
var fixRightNum = (isRtl ? -1 * maxScrollLeft : maxScrollLeft) - virtualInfo.innerLeft;
|
|
367
374
|
var StickyWrapper = props.sticky ? _sticky.default : _react.default.Fragment;
|
|
368
375
|
var sticky = _typeof(props.sticky) === 'object' ? props.sticky : {
|
|
369
376
|
top: 0
|
|
@@ -376,8 +383,8 @@ var _default = exports.default = function _default(props) {
|
|
|
376
383
|
parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
|
|
377
384
|
};
|
|
378
385
|
var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
|
|
379
|
-
var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper
|
|
380
|
-
var footWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper
|
|
386
|
+
var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper);
|
|
387
|
+
var footWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
|
|
381
388
|
var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
|
|
382
389
|
var _scrollRef$current, _scrollRef$current2, _scrollRef$current3;
|
|
383
390
|
if (!props.showTopScrollbar) return null;
|
|
@@ -393,7 +400,7 @@ var _default = exports.default = function _default(props) {
|
|
|
393
400
|
});
|
|
394
401
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, props.sticky ? scrollerStickyProps : {}), {}, {
|
|
395
402
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
396
|
-
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.
|
|
403
|
+
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
|
|
397
404
|
style: {
|
|
398
405
|
height: browserScrollbarWidth,
|
|
399
406
|
width: mirrorScrollRefWidth
|
|
@@ -404,7 +411,7 @@ var _default = exports.default = function _default(props) {
|
|
|
404
411
|
scrollRef.current.scrollLeft = target.scrollLeft;
|
|
405
412
|
}
|
|
406
413
|
},
|
|
407
|
-
ref:
|
|
414
|
+
ref: headMirrorScrollRef,
|
|
408
415
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
409
416
|
style: {
|
|
410
417
|
width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth,
|
|
@@ -414,61 +421,103 @@ var _default = exports.default = function _default(props) {
|
|
|
414
421
|
})
|
|
415
422
|
}));
|
|
416
423
|
};
|
|
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
|
+
scrollContainer: options.scrollContainer || document.body,
|
|
436
|
+
bottom: options.bottom || 0,
|
|
437
|
+
zIndex: options.zIndex || _sticky.defaultZIndex + 1,
|
|
438
|
+
parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
|
|
439
|
+
};
|
|
440
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_sticky.default, _objectSpread(_objectSpread({}, scrollerStickyProps), {}, {
|
|
441
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
442
|
+
className: tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.mirrorScroller,
|
|
443
|
+
style: {
|
|
444
|
+
height: browserScrollbarWidth,
|
|
445
|
+
width: mirrorScrollRefWidth,
|
|
446
|
+
marginTop: -browserScrollbarWidth
|
|
447
|
+
},
|
|
448
|
+
onScroll: function onScroll(e) {
|
|
449
|
+
var target = e.currentTarget;
|
|
450
|
+
if (scrollRef !== null && scrollRef !== void 0 && scrollRef.current && scrollRef.current.scrollLeft !== target.scrollLeft) {
|
|
451
|
+
scrollRef.current.scrollLeft = target.scrollLeft;
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
ref: bottomMirrorScrollRef,
|
|
455
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
456
|
+
style: {
|
|
457
|
+
width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth,
|
|
458
|
+
height: 1
|
|
459
|
+
}
|
|
460
|
+
})
|
|
461
|
+
})
|
|
462
|
+
}));
|
|
463
|
+
};
|
|
464
|
+
var $headTable = /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
|
|
465
|
+
style: {
|
|
466
|
+
width: width
|
|
467
|
+
},
|
|
468
|
+
ref: theadRef,
|
|
469
|
+
children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps))]
|
|
470
|
+
});
|
|
417
471
|
if (isRenderVirtualTable) {
|
|
418
472
|
var _props$data4;
|
|
419
473
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
420
|
-
children: [renderHeadMirrorScroller(), !props.hideHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({},
|
|
474
|
+
children: [renderHeadMirrorScroller(), !props.hideHeader && props.sticky && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
|
|
421
475
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
422
476
|
className: headWrapperClass,
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
},
|
|
428
|
-
ref: theadRef,
|
|
429
|
-
children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread(_objectSpread({}, headCommonProps), {}, {
|
|
430
|
-
fixLeftNum: virtualInfo.innerLeft,
|
|
431
|
-
fixRightNum: fixRightNum
|
|
432
|
-
}))]
|
|
433
|
-
})
|
|
477
|
+
style: {
|
|
478
|
+
overflow: 'hidden'
|
|
479
|
+
},
|
|
480
|
+
children: $headTable
|
|
434
481
|
})
|
|
435
|
-
})), /*#__PURE__*/(0, _jsxRuntime.
|
|
436
|
-
style:
|
|
437
|
-
|
|
482
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_scrollTable.default, {
|
|
483
|
+
style: {
|
|
484
|
+
display: 'flex',
|
|
485
|
+
minWidth: 0,
|
|
486
|
+
minHeight: 0,
|
|
487
|
+
flex: 1
|
|
488
|
+
},
|
|
438
489
|
wrapperRef: scrollRef,
|
|
439
490
|
scrollWidth: width || 1,
|
|
440
491
|
scrollHeight: virtual ? virtualInfo.scrollHeight : tbodyHeight,
|
|
441
492
|
onScroll: handleVirtualScroll,
|
|
442
493
|
defaultHeight: context.emptyHeight,
|
|
443
494
|
isScrollY: isScrollY,
|
|
444
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
495
|
+
children: [!props.hideHeader && !props.sticky && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
496
|
+
className: headWrapperClass,
|
|
497
|
+
children: $headTable
|
|
498
|
+
}), !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
|
|
445
499
|
style: {
|
|
446
500
|
width: width,
|
|
447
|
-
transform: virtualInfo.
|
|
501
|
+
transform: virtualInfo.translateStyle
|
|
448
502
|
},
|
|
449
503
|
ref: tbodyRef,
|
|
450
504
|
children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
|
|
451
505
|
currentIndex: virtualInfo.startIndex,
|
|
452
506
|
data: virtualInfo.data,
|
|
453
507
|
setRowHeight: virtualInfo.setRowHeight,
|
|
454
|
-
|
|
455
|
-
fixRightNum: fixRightNum
|
|
456
|
-
}))]
|
|
457
|
-
})
|
|
458
|
-
}), renderEmpty(), showFoot ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
459
|
-
className: footWrapperClass,
|
|
460
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
|
|
461
|
-
style: {
|
|
462
|
-
width: width,
|
|
463
|
-
transform: "translate3d(-".concat(virtualInfo.innerLeft, "px, 0, 0)")
|
|
464
|
-
},
|
|
465
|
-
ref: tfootRef,
|
|
466
|
-
children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread(_objectSpread({}, footCommonProps), {}, {
|
|
467
|
-
fixLeftNum: virtualInfo.innerLeft,
|
|
468
|
-
fixRightNum: fixRightNum
|
|
508
|
+
scrolling: scrolling
|
|
469
509
|
}))]
|
|
470
|
-
})
|
|
471
|
-
|
|
510
|
+
}), showFoot ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
511
|
+
className: footWrapperClass,
|
|
512
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
|
|
513
|
+
style: {
|
|
514
|
+
width: width
|
|
515
|
+
},
|
|
516
|
+
ref: tfootRef,
|
|
517
|
+
children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
|
|
518
|
+
})
|
|
519
|
+
}) : null, renderEmpty()]
|
|
520
|
+
}), renderBottomMirrorScroller()]
|
|
472
521
|
});
|
|
473
522
|
}
|
|
474
523
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -485,7 +534,7 @@ var _default = exports.default = function _default(props) {
|
|
|
485
534
|
children: renderEmpty()
|
|
486
535
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread({}, bodyCommonProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
|
|
487
536
|
})
|
|
488
|
-
})]
|
|
537
|
+
}), renderBottomMirrorScroller()]
|
|
489
538
|
});
|
|
490
539
|
};
|
|
491
540
|
var renderLoading = function renderLoading() {
|
|
@@ -505,27 +554,36 @@ var _default = exports.default = function _default(props) {
|
|
|
505
554
|
align: "right"
|
|
506
555
|
}, pagination), paginationInfo));
|
|
507
556
|
};
|
|
557
|
+
|
|
558
|
+
// handle head and foot scroll
|
|
559
|
+
var handleHeaderWheel = (0, _hooks.usePersistFn)(function (e) {
|
|
560
|
+
var _theadRef$current3;
|
|
561
|
+
var scrollEl = scrollRef.current;
|
|
562
|
+
if (!scrollEl) return;
|
|
563
|
+
if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current3 = theadRef.current) !== null && _theadRef$current3 !== void 0 && _theadRef$current3.parentElement)) return;
|
|
564
|
+
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
565
|
+
var scrollLeft = scrollEl.scrollLeft + e.deltaX;
|
|
566
|
+
if (scrollLeft === scrollEl.scrollLeft) {
|
|
567
|
+
return;
|
|
568
|
+
}
|
|
569
|
+
e.preventDefault();
|
|
570
|
+
var left = Math.min(Math.max(scrollLeft, 0), max);
|
|
571
|
+
scrollEl.scrollLeft = left;
|
|
572
|
+
theadRef.current.parentElement.scrollLeft = left;
|
|
573
|
+
});
|
|
508
574
|
(0, _react.useEffect)(function () {
|
|
509
575
|
// 绑定 wheel 事件
|
|
510
|
-
if (theadRef.current && theadRef.current.parentElement) {
|
|
576
|
+
if (props.sticky && theadRef.current && theadRef.current.parentElement) {
|
|
511
577
|
theadRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
|
|
512
578
|
passive: false
|
|
513
579
|
});
|
|
514
580
|
}
|
|
515
|
-
if (tfootRef.current && tfootRef.current.parentElement) {
|
|
516
|
-
tfootRef.current.parentElement.addEventListener('wheel', handleHeaderWheel, {
|
|
517
|
-
passive: false
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
581
|
return function () {
|
|
521
|
-
if (theadRef.current && theadRef.current.parentElement) {
|
|
582
|
+
if (props.sticky && theadRef.current && theadRef.current.parentElement) {
|
|
522
583
|
theadRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
|
|
523
584
|
}
|
|
524
|
-
if (tfootRef.current && tfootRef.current.parentElement) {
|
|
525
|
-
tfootRef.current.parentElement.removeEventListener('wheel', handleHeaderWheel);
|
|
526
|
-
}
|
|
527
585
|
};
|
|
528
|
-
}, [theadRef.current, isScrollY]);
|
|
586
|
+
}, [theadRef.current, props.sticky, isScrollY]);
|
|
529
587
|
var getRenderIndexByData = function getRenderIndexByData(data) {
|
|
530
588
|
var originKey = typeof data === 'string' ? data : _hooks.util.getKey(props.keygen, data);
|
|
531
589
|
var index = treeData.findIndex(function (item) {
|
|
@@ -561,7 +619,7 @@ var _default = exports.default = function _default(props) {
|
|
|
561
619
|
});
|
|
562
620
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
563
621
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
|
|
564
|
-
className: (0, _classnames.default)(tableWrapperClass,
|
|
622
|
+
className: (0, _classnames.default)(tableWrapperClass, _defineProperty(_defineProperty(_defineProperty({}, tableClasses.sticky, props.sticky), tableClasses.floatLeft, floatLeft), tableClasses.floatRight, floatRight)),
|
|
565
623
|
style: _objectSpread({
|
|
566
624
|
height: defaultHeight
|
|
567
625
|
}, 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,12 @@ 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;
|
|
44
45
|
cellAlignLeft: string;
|
|
45
46
|
cellAlignRight: string;
|
|
46
47
|
cellAlignCenter: string;
|
|
@@ -333,6 +334,7 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
333
334
|
sticky?: boolean | {
|
|
334
335
|
top?: number;
|
|
335
336
|
css?: boolean;
|
|
337
|
+
target?: Element | null;
|
|
336
338
|
};
|
|
337
339
|
/**
|
|
338
340
|
* @en Whether to show the top scroller
|
|
@@ -341,6 +343,13 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
341
343
|
* @version 3.4.0
|
|
342
344
|
*/
|
|
343
345
|
showTopScrollbar?: boolean;
|
|
346
|
+
/**
|
|
347
|
+
* @en Whether to show the bottom scroller
|
|
348
|
+
* @cn 是否开启底部自定吸附的滚动条
|
|
349
|
+
* @default false
|
|
350
|
+
* @version 3.7.0
|
|
351
|
+
*/
|
|
352
|
+
showBottomScrollbar?: boolean | BottomScrollbarOption;
|
|
344
353
|
/**
|
|
345
354
|
* @en Table instance (please use with caution: only fixed Table)
|
|
346
355
|
* @cn Table 实例(请谨慎使用:仅虚拟列表支持)
|
|
@@ -352,6 +361,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
|
|
|
352
361
|
*/
|
|
353
362
|
onRowSelect?: (rows: Value) => void;
|
|
354
363
|
}
|
|
364
|
+
interface BottomScrollbarOption extends Pick<StickyProps, 'scrollContainer' | 'bottom'> {
|
|
365
|
+
zIndex?: number;
|
|
366
|
+
}
|
|
355
367
|
export interface SorterInfo {
|
|
356
368
|
order?: ColumnOrder;
|
|
357
369
|
/**
|
|
@@ -389,4 +401,5 @@ export interface SummaryItem {
|
|
|
389
401
|
* @title TableColumn
|
|
390
402
|
*/
|
|
391
403
|
export type ColumnItem<DataItem> = TableColumnItem<DataItem>;
|
|
404
|
+
export {};
|
|
392
405
|
//# sourceMappingURL=table.type.d.ts.map
|